TABLE OF CONTENTS1.1 Significance2.1 Introduction2.3 H.264 EncoderEntropy Coding2.4 Summary5.1 Conclusions5.2 Future WorkLOW COMPLEXITY ENCODER USING MACHINE LEARNINGbyTHEJASWINI PURUSHOTHAMPresented to the Faculty of the Graduate School ofThe University of Texas at Arlington in Partial Fulfillmentof the Requirementsfor the Degree ofMASTER OF SCIENCE IN ELECTRICAL ENGINEERINGTHE UNIVERSITY OF TEXAS AT ARLINGTONDecember 2010Copyright © by Thejaswini Purushotham 2010All Rights ReservedACKNOWLEDGEMENTSMultitudes of pixels come together to form a lovely portrait. Similarly, the fruitionof a thesis happens because of the encouragement and guidance of numerous people. Thus, Iwould like to take this opportunity to thank everyone who invested their precious time on me inthe last two years.In the fall of 2008, I walked into the room of Dr.K.R. Rao with the hopes of learning fromthe master of video coding. Though we were total strangers, he immediately put me at ease bycreating a very positive working atmosphere which entails my sincere appreciation. Hismentoring has undoubtedly had a profound impact on me. I am greatly indebted to him.I am deeply grateful to Dr. Dongil Han for always being available in the lab andproviding me with continued financial support and technical advice. I would like to thank theother members of my advisory committee Dr. W. Alan Davis and Dr. Jonathan Bredow forreviewing this thesis document and offering insightful comments. My sincere thanks toPragnesh and Suchethan. The love, affection and encouragement of Bhumika, Bhavana,Gunpreet, Thara, Srikanth and all my friends who kept me going through the trying times of myMasters.Finally, my sincere gratitude and love goes out to my mom Ms. N. Pushpalatha and my dad Mr.M. Purushotham. They have been my role models and have shaped me to be the positive andindependent person that I am today. My brother Arvind has been very loving and supportivethroughout and this thesis is dedicated to my family. September 8, 2010iiiABSTRACTLOW COMPLEXITY H.264 ENCODER USING MACHINE LEARNINGThejaswini Purushotham, M.SThe University of Texas at Arlington, 2010Supervising Professor: K.R. Rao H.264 is currently one of the most widely accepted video coding standards inthe industry. Several software and hardware solutions for the H.264 video encoder exist in themarket at present. H.264 is used in such applications as Blu-ray Disc, videos on the internet,digital video broadcast, direct-broadcast satellite television service, cable television services,and real-time videoconferencing. This thesis uses the WEKA (Waikato Environment forKnowledge Analysis) tool to generate the classification rule. WEKA is detailed in Chapter 3. Theinput attributes to the WEKA have been calculated from the video sequence to be encoded. Theprocedure has been elaborated in Chapter 4.For real time applications like videoconferencing it is essential that the encoding time taken bythe video codec be as low as possible. In the H.264 video codec, the macroblock mode decisionin inter frames is computationally the most expensive process since it uses such features asvariable block size, motion estimation and quarter pixel motion compensation in H.264 encoder.Hence, the goal of this thesis is to reduce the encoding time while conserving the quality andcompression ratio. ivMachine learning has been used to decide the mode decisions and hence reduce the motionestimation time. The proposed machine learning method on an average decreases theencoding time by 42.86405% for mode decisions in H.264 encoder with a loss of only .01070%decrease in structural similarity index metric (SSIM).Motion Estimation is the most time consuming part of the encoder. An average of 60 -70 % ofthe total encoding time is taken for motion estimation. The time consuming sum of absolutedifferences(SAD) method adopted in the H.264 encoder in JM 16.2 software has been replacedwith a classification rule. Assuming FS (Full Search) and P block types, Q reference frames anda search range of MxN, MxNxPxQ computations are needed.The classification rule has been implemented as a series of if-else statements. The time takento execute the if-else statements is lesser than the time taken to execute the SAD. Hence thisthesis describes a reduction in the H.264 encoder execution time. vTABLE OF CONTENTSACKNOWLEDGEMENTS............................................................................................................... iiiABSTRACT.................................................................................................................................... ivLIST OF ILLUSTRATIONS............................................................................................................. ixLIST OF TABLES........................................................................................................................... xiChapter Page1. INTRODUCTION……………………………………..………..….......................................11.1 Significance..................................................................................................... 11.2 Summary......................................................................................................... 42. H.264 VIDEO CODEC.................................................................................................. 52.1 Introduction..................................................................................................... 52.2 Profiles and Levels..........................................................................................82.2.1 Baseline Profile................................................................................82.2.2 Main Profile.....................................................................................82.2.3 High Profile...................................................................................... 82.2.4 Extended Profile..............................................................................82.2.5 High Profiles defined in FRexts amendments..................................92.2.6 Overview of Scalable Video Codec...............................................122.2.6.1 Spatial Scalability...........................................................142.2.6.2 Inter-layer intra
View Full Document