LOW COMPLEXITY H.264 to VC-1 TRANSCODER by VIDHYA
Total Page:16
File Type:pdf, Size:1020Kb
LOW COMPLEXITY H.264 TO VC-1 TRANSCODER by VIDHYA VIJAYAKUMAR 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 AUGUST 2010 Copyright © by Vidhya Vijayakumar 2010 All Rights Reserved ACKNOWLEDGEMENTS As true as it would be with any research effort, this endeavor would not have been possible without the guidance and support of a number of people whom I stand to thank at this juncture. First and foremost, I express my sincere gratitude to my advisor and mentor, Dr. K.R. Rao, who has been the backbone of this whole exercise. I am greatly indebted for all the things that I have learnt from him, academically and otherwise. I thank Dr. Ishfaq Ahmad for being my co-advisor and mentor and for his invaluable guidance and support. I was fortunate to work with Dr. Ahmad as his research assistant on the latest trends in video compression and it has been an invaluable experience. I thank my mentor, Mr. Vishy Swaminathan, and my team members at Adobe Systems for giving me an opportunity to work in the industry and guide me during my internship. I would like to thank the other members of my advisory committee Dr. W. Alan Davis and Dr. William E Dillon for reviewing the thesis document and offering insightful comments. I express my gratitude Dr. Jonathan Bredow and the Electrical Engineering department for purchasing the software required for this thesis and giving me the chance to work on cutting edge technologies. I also extend my thanks to SMPTE for providing the VC- 1 test materials (sample encoder, reference decoder and bitstream). I would like to thank all my good friends and fellow graduate students for their friendship and support during my stay at University of Texas at Arlington. Finally, I thank my family for their constant motivation, support and wishes. I thank my husband, Balaji Nagarajan, especially, without whom I would not be what I am right now. His dreams and support towards my graduate studies has been special. July 19, 2010 iii ABSTRACT LOW COMPLEXITY H.264 TO VC-1 TRANSCODER Vidhya Vijayakumar, MS The University of Texas at Arlington, 2010 Supervising Professor: K.R.Rao The high definition video adoption has been growing rapidly for the last five years. The H.264 and VC-1 coding standards are two of the recent and dominant coding standards. Compared to H.264, VC-1 is less complex but capable of achieving the same visual quality as H.264. Hence there is increasing importance of techniques which can convert video from H.264 to VC-1 and thereby enable mobile devices to work with less complex codecs. While there has been recent work on VC-1 to H.264 transcoding, the published work on H.264 to VC-1 transcoding is nearly non-existent. This has created the motivation to develop a transcoder that can efficiently transcode a H.264 bitstream into a VC-1 bitstream. A low complex H.264 to VC-1 transcoder is proposed and developed in this research. The proposed architecture is similar to the cascaded transcoder architecture but with important changes. It consists of a complexity reduction module which is the key in this research. The aim of the complexity reduction module is to completely by-pass the motion estimation process, the mode decision process and also the transform size selection process. This is achieved by firstly extracting re-usable data from the incoming H.264 bitstream. Secondly, efficient re-use of mode decisions, macroblock partition size and motion vector are employed. The proposed transcoder was implemented in C programming language and was tested with video sequences at various bit rates and motion activity. The performance of the proposed transcoder is comparable to the reference cascaded iv transcoder in subjective quality and is about 80% faster. This translates to memory and power savings in mobile devices which is the ultimate aim of this research. v TABLE OF CONTENTS ABSTRACT ............................................................................................................................. iv LIST OF ILLUSTRATIONS..................................................................................................... xii LIST OF TABLES ................................................................................................................ xviii LIST OF ACRONYMS ............................................................................................................ xx Chapter Page 1 INTRODUCTION .................................................................................................................. 1 1.1 Significance of video ..................................................................................................... 1 1.2 Significance of video compression and its standardization .......................................... 2 1.3 Why is video transcoding important? ............................................................................ 4 1.4 Requirement and usefulness of H.264 to VC-1 transcoder .......................................... 4 1.4.1 Comparison of VC-1 with other codecs ............................................................. 6 1.4.1.1 Quality Comparison .................................................................................. 6 1.4.1.2 Complexity Comparison ............................................................................ 9 1.4.1.3 VC-1 Adoption ........................................................................................... 9 1.5 Summary ..................................................................................................................... 11 2 H.264 VIDEO CODING STANDARD ................................................................................. 12 2.1 Introduction ................................................................................................................. 12 2.2 Profiles and levels of H.264 ........................................................................................ 14 2.2.1 Profiles in H.264 .............................................................................................. 14 2.2.1.1 Baseline Profile ....................................................................................... 15 2.2.1.2 Main Profile ............................................................................................. 16 2.2.1.3 Extended Profile ...................................................................................... 16 2.2.1.4 High Profiles defined in the FRExts amendment .................................... 16 2.2.1.5 Overview of Scalable Video Coding ....................................................... 18 2.2.1.5.1 Spatial scalability ............................................................................... 19 2.2.1.5.1.1 Inter-layer intra prediction .................................................... 20 vi 2.2.1.5.2 SNR Scalability .................................................................................. 21 2.2.1.5.2.1 Coarse-Grain Scalability ...................................................... 21 2.2.1.5.2.2 Fine-Grain Scalability .......................................................... 21 2.2.1.5.2.3 Medium-Grain Scalability ..................................................... 22 2.2.1.5.3 Temporal scalability ........................................................................... 22 2.2.2 Levels in H.264 ................................................................................................ 23 2.3 H.264 Encoder ............................................................................................................ 23 2.3.1 Intra-prediction ................................................................................................. 25 2.3.2 Inter-prediction ................................................................................................. 27 2.3.3 Transform coding ............................................................................................. 30 2.3.4 Deblocking filter ............................................................................................... 31 2.3.5 Entropy Coding ................................................................................................ 32 2.3.6 B-slices and adaptive weighted prediction ...................................................... 33 2.4 H.264 Decoder ............................................................................................................ 35 2.5 Summary ..................................................................................................................... 35 3 VC-1 VIDEO CODING STANDARD ................................................................................... 36 3.1 Introduction ................................................................................................................. 36 3.2 Profiles and levels in VC-1 .......................................................................................... 37 3.2.1 Profiles in VC-1 ................................................................................................ 37 3.2.2 Levels in VC-1 ................................................................................................. 38 3.3 VC-1 Codec structure ................................................................................................. 39 3.4 Coding concepts of VC-1 ...........................................................................................