H.265 (Hevc) Bitstream to H.264 (Mpeg 4 Avc)
Total Page:16
File Type:pdf, Size:1020Kb
H.265 (HEVC) BITSTREAM TO H.264 (MPEG 4 AVC) BITSTREAM TRANSCODER by DEEPAK HINGOLE Presented to the Faculty of the Graduate School of The University of Texas at Arlington in Partial Fulfillment of the Requirements for the Degree of MASTER OF SCIENCE IN ELECTRICAL ENGINEERING THE UNIVERSITY OF TEXAS AT ARLINGTON December 2015 Copyright © by Deepak Hingole 2015 All Rights Reserved ACKNOWLEDGEMENTS I would like to express my heartfelt gratitude to my advisor Dr. K. R. Rao for his unwavering support, encouragement, supervision and valuable inputs throughout this research work. He has been a constant source of inspiration for me to pursue this research work. I would also like to extend my gratitude to my colleagues in Adobe Systems Incorporated for their invaluable industrial insight and experience to help me understand and grow in the field of digital video processing. Additionally I would like to thank Dr. Schizas and Dr. Dillon for serving as members of my graduate committee. A big thank you to Vasavee, Rohith, Maitri, Shwetha, Srikanth and Uma, my Multimedia Processing Lab mates for providing valuable suggestions during the course of my research work. Last but not the least; I would like to thank my parents, my siblings and my close friends for believing in me and supporting me in this undertaking. I wish for your continued support in future. November 25, 2015 ABSTRACT H.265 (HEVC) BITSTREAM TO H.264 (MPEG 4 AVC) BITSTREAM TRANSCODER Deepak Hingole, MS The University of Texas at Arlington, 2015 Supervising Professor: K. R. Rao With every new video coding standard the general rule of thumb has been to maintain same video quality at a reduced bit rate of about 50% as compared to the previous standard. H.265 is the latest video coding standard with support for encoding videos with wide range of resolutions, starting from low resolution to beyond High Definition i.e. 4k or 8k. H.265 also known as HEVC was preceded by H.264 which is very well established and widely used standard in industry and finds its applications in broadcast, storage, multimedia telephony. Currently almost all devices including low power handheld mobile devices have capabilities to decode H.264 encoded bitstream. HEVC achieves high coding efficiency at the cost of increased implementation complexity and not all devices have hardware powerful enough to process (decode) this HEVC bitstream. In order for HEVC coded content to be played on devices with support for H.264, transcoding of HEVC bitstream to H.264 bitstream is necessary. Different transcoding architectures will be investigated and an easy to implement scheme will be studied as part of this research. TABLE OF CONTENTS ACKNOWLEDGEMENTS ...................................................................................................iii ABSTRACT ........................................................................................................................ iv LIST OF ILLUSTRATIONS ............................................................................................... viii LIST OF TABLES ................................................................................................................ x Chapter 1 Introduction......................................................................................................... 1 1.1. Basics of Video Compression ............................................................................ 1 1.2. Need for Video Compression ............................................................................ 2 1.3. Video Coding Standards .................................................................................... 2 1.4. Thesis Outline .................................................................................................... 3 Chapter 2 Overview Of H.264 ............................................................................................. 4 2.1. Introduction ........................................................................................................ 4 2.2. Profiles and Levels in H.264 .............................................................................. 5 2.2.1. Profiles in H.264 ............................................................................................ 6 2.2.1.1. Baseline profile ..................................................................................... 7 2.2.1.2. Main profile ........................................................................................... 7 2.2.1.3. Extended profile .................................................................................... 7 2.2.1.4. High profile ............................................................................................ 8 2.2.2. Levels in H.264 .............................................................................................. 8 2.3. H.264 Encoder ................................................................................................. 10 2.4. H.264 Decoder................................................................................................. 12 Chapter 3 Overview Of HEVC .......................................................................................... 13 3.1 Introduction ...................................................................................................... 13 3.2 Profiles and levels in H.265 ............................................................................. 14 3.3 H.265 Encoder and Decoder ........................................................................... 16 3.3.1 Coding Tree Units (CTU) and Coding Tree Block (CTB) ............................ 18 3.3.2 Coding Units (CU) and Coding Blocks (CB) ................................................ 18 3.3.3 Prediction Units (PU) and Prediction Blocks (PB) ....................................... 19 3.3.4 Transform Units (TU) and Transform Blocks (TB) ...................................... 19 3.3.5 Motion Vector Signaling .............................................................................. 19 3.3.6 Motion Compensation ................................................................................. 20 3.3.7 Intra-picture prediction ................................................................................. 20 3.3.8 Quantization Control .................................................................................... 21 3.3.9 Entropy Coding ............................................................................................ 21 3.3.10 In-loop Deblocking Filtering .................................................................... 22 3.3.11 Sample Adaptive Offset (SAO) ............................................................... 22 3.4 High-Level Syntax Architecture ....................................................................... 22 3.4.1 Parameter Set Structure .............................................................................. 22 3.4.2 NAL unit syntax structure ............................................................................ 23 3.4.3 Slices ........................................................................................................... 23 3.4.4 Supplemental Enhancement Information (SEI) and Video Usability Information (VUI) metadata ....................................................................... 24 3.5 Parallel Processing Features ........................................................................... 24 3.5.1 Tiles ............................................................................................................. 24 3.5.2 Wavefront Parallel Processing (WPP) ........................................................ 25 3.5.3 Dependent slices ......................................................................................... 26 Chapter 4 Transcoding...................................................................................................... 27 4.1 Introduction ...................................................................................................... 27 4.2 Transcoding Architectures ............................................................................... 28 4.2.1. Open Loop Transcoding Architecture ......................................................... 28 4.2.2. Closed-loop Transcoding Architecture ........................................................ 29 4.2.3. Cascaded Pixel-domain architecture .......................................................... 30 4.2.4. Motion Compensation in the DCT Domain .................................................. 30 4.3. Choice of Transcoding Architecture ................................................................ 31 Chapter 5 Results ............................................................................................................. 33 5.1 Quality Metrics For Cascaded Implementation ............................................... 33 5.2 Peak-Signal-To-Noise-Ratio (PSNR) versus Quantization Parameter (QP) ............................................................................................................ 38 5.3 Bitrate versus Quantization Parameter ........................................................... 41 5.4 Rate Distortion (R-D) Plot ................................................................................ 44 Chapter 6 Conclusion and Future Work ............................................................................ 47 APPENDIX A Test Sequences ......................................................................................... 48 APPENDIX B Test Conditions .........................................................................................