EE 5359 Project Report Spring 2010 Performance Analysis and Comparison of H 264 and VP6 Siddhartha Mukkamala 1000571314 Siddhartha mukkamala mavs uta edu Under guidance of Dr K R Rao Abstract VP6 is a video coding standard developed by On2 Technologies Inc It is the preferred video codec for Macromedia Flash 8 and for higher versions H 264 MPEG4 part 10 is developed by JVT and is the widely used video coding standard H 264 performs better among all its predecessors like MPEG2 and MPEG4 part 2 The object of this project is to study the VP6 simple profile and the baseline profile in H 264 in detail and compare them based on PSNR MSE and SSIM JM software is used to implement H 264 and On2 technologies provided the necessary code required to implement VP6 What is H 264 H 264 is a video compression scheme 1 that is becoming the new worldwide digital video standard for consumer electronics and personal computers It was developed by ITU T Video Coding Experts Group together with the ISO IEC Moving Picture Experts Group in 2003 It is the key video compression codec scheme in MPEG 4 format for digital media exchange H 264 has the flexibility to support a wide variety of applications with very different bitrate requirements H 264 will be able to deliver a performance of between 1 to 10 Mbit s with high latency for video applications like broadcast satellite and cable while for telecom services it can deliver bit rates of below 1 Mbit s with low latency 1 H 264 introduces many new features that are significantly different from the previous generation codecs These new features make it much more effective Given below is an overview of the features of H 264 video codec 1 Overview of H 264 Why H 264 H 264 provides better image quality compared to previous standards when reaching its limits It does not break into blocks but degrades much more smoothly making the image softer At a given date rate it effectively reduces the artifacts such as blockiness color bands etc 2 11 12 H 264 attains the MPEG 2 quality compression at a lower bit rate but with increased computational effort which is not a big deal in modern super computers age It will provide the same quality as MPEG 2 at half the date rate as shown in Figure 1 2 High compression rates of H 264 efficiently minimize the requirements of storage media and also it provides high resolution as required for HD transmission All these qualities make H 264 as the primary standard for HD transmission 2 Figure 1 Video quality MPEG 2 Vs H 264 2 H 264 Profiles and Levels H 264 has seven profiles each targeting a specific class of applications Each profile defines what feature set the encoder may use and limits the decoder implementation complexity A Profile is set of coding tools or algorithms that can be used in generating a bit stream A Level places constraints on certain key parameters of the bit stream 1 It includes 6 profiles as show in Figure 2 1 Baseline Profile BP Primarily for lower cost applications with limited computer resources In BP macro blocks need not be in raster scan order this profile is used for real time conversational services such as video conferencing and videophone Main Profile MP Originally intended as the mainstream consumer profile for broadcast and storage applications the importance of this profile faded when the high profile was developed for these applications Extended Profile XP Intended as the streaming video profile this profile has relatively high compression capability and some extra tricks for robustness to data losses and server stream switching High Profile HiP This is the primary profile for broadcast and disc storage applications particularly for high definition television applications High 10 Profile Hi10P Going beyond today s mainstream consumer product capabilities this profile builds on top of the High Profile adding support for up to 10 bits per sample of decoded picture precision High 4 2 2 Profile Hi422P Primarily targeting professional applications that use interlaced video this profile builds on top of the High 10 profile adding support for the 4 2 2 Chroma subsampling format while using up to 10 bits per sample of decoded picture precision High 4 4 4 Predictive Profile Hi444PP This profile builds on top of the High 4 2 2 profile supporting up to 4 4 4 Chroma sampling up to 14 bits per sample and additionally supporting efficient lossless region coding and the coding of each picture as three separate color planes Figure 2 H 264 Profiles 1 3 All profiles have I Slice P Slice and CAVLC in common Table 1 explains the requirements and applications of each profile 1 Understanding H 264 Frames Different types of frames such as I frames P frames and B frames can be used by an encoder depending on the H 264 profile An I frame or intra frame is a self contained frame that can be independently decoded without any reference to other images The first image in a video sequence is always an I frame I frames are needed as starting points for new viewers or resynchronization points if the transmitted bit stream is damaged I frames can be used to implement fastforward rewind and other random access functions An encoder will automatically insert I frames at regular intervals or on demand if new clients are expected to join in viewing a stream as shown in Figure 3 The drawback of I frames is that they consume much more bits but on the other hand they do not generate many artifacts 4 11 12 A P frame which stands for predictive inter frame makes references to parts of earlier I and or P frame s to code the frame P frames usually require fewer bits than I frames but a drawback is that they are very sensitive to transmission errors because of the complex dependency on earlier P and I reference frames 4 A B frame or bi predictive inter frame is a frame that makes references to both an earlier reference frame and a future frame as shown in Figure 3 4 Figure 3 Characteristics of I B and P frames 4 I Slice Also known as Intra coded slice predicted by using only decoded slices within the same slice P Slice Also known as Predictive coded slice predicted by using inter prediction from previously decoded reference frames CAVLC Also known as Context based Adaptive Variable Length Coding used for entropy coding Table 2 H 264 Profile Specifications 1 13 The coding parts for the baseline profile are Common parts I slice P slice CAVLC FMO Flexible macro block order macro blocks may not necessarily be in the raster scan order The map
View Full Document