PERFORMANCE ANALYSIS AND COMPARISON OF DIRAC VIDEO CODEC WITH H

Slides:



Advertisements
Similar presentations
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
Advertisements

INTERNATIONAL CONFERENCE ON TELECOMMUNICATIONS, ICT '09. TAREK OUNI WALID AYEDI MOHAMED ABID NATIONAL ENGINEERING SCHOOL OF SFAX New Low Complexity.
-1/20- MPEG 4, H.264 Compression Standards Presented by Dukhyun Chang
Technion - IIT Dept. of Electrical Engineering Signal and Image Processing lab Transrating and Transcoding of Coded Video Signals David Malah Ran Bar-Sella.
1 Video Coding Concept Kai-Chao Yang. 2 Video Sequence and Picture Video sequence Large amount of temporal redundancy Intra Picture/VOP/Slice (I-Picture)
Implementation and Study of Unified Loop Filter in H.264 EE 5359 Multimedia Processing Spring 2012 Guidance : Prof K R Rao Pavan Kumar Reddy Gajjala
SWE 423: Multimedia Systems
Ch. 6- H.264/AVC Part I (pp.160~199) Sheng-kai Lin
Overview of the H.264/AVC Video Coding Standard
BY AMRUTA KULKARNI STUDENT ID : UNDER SUPERVISION OF DR. K.R. RAO Complexity Reduction Algorithm for Intra Mode Selection in H.264/AVC Video.
An Introduction to H.264/AVC and 3D Video Coding.
HARDEEPSINH JADEJA UTA ID: What is Transcoding The operation of converting video in one format to another format. It is the ability to take.
EE 5359 H.264 to VC 1 Transcoding Vidhya Vijayakumar Multimedia Processing Lab MSEE, University of Arlington Guided.
PROJECT PROPOSAL HEVC DEBLOCKING FILTER AND ITS IMPLIMENTATION RAKESH SAI SRIRAMBHATLA UTA ID: EE 5359 Under the guidance of DR. K. R. RAO.
IMPLEMENTATION AND PERFOMANCE ANALYSIS OF H
IMPLEMENTATION AND PERFORMANCE ANALYSIS of Dirac VIDEO CODING STANDARD AND COMPARISON WITH AVS CHINA Under the guidance of Dr. K R. Rao Electrical Engineering.
By Sudeep Gangavati ID EE5359 Spring 2012, UT Arlington
MPEG: (Moving Pictures Expert Group) A Video Compression Standard for Multimedia Applications Seo Yeong Geon Dept. of Computer Science in GNU.
Comparative study of various still image coding techniques. Harish Bhandiwad EE5359 Multimedia Processing.
Priyadarshini Anjanappa UTA ID:
Windows Media Video 9 Tarun Bhatia Multimedia Processing Lab University Of Texas at Arlington 11/05/04.
Vineeth Shetty Kolkeri University of Texas, Arlington
Outline JVT/H.26L: History, Goals, Applications, Structure
EE 5359 PROJECT PROPOSAL FAST INTER AND INTRA MODE DECISION ALGORITHM BASED ON THREAD-LEVEL PARALLELISM IN H.264 VIDEO CODING Project Guide – Dr. K. R.
IMPLEMENTATION AND PERFOMANCE ANALYSIS OF H.264 INTRA FRAME CODING, JPEG, JPEG-LS, JPEG-2000 AND JPEG-XR 1 EE 5359 Multimedia Project Amee Solanki ( )
STUDY AND IMPLEMENTATION OF VIDEO COMPRESSION STANDARDS (H.264/AVC, DIRAC) EE 5359-Multimedia Processing Spring 2012 Dr. K.R Rao By: Sumedha Phatak( )
MULTIMEDIA PROCESSING (EE 5359) SPRING 2011 DR. K. R. RAO PROJECT PROPOSAL Error concealment techniques in H.264 video transmission over wireless networks.
By, ( ) Low Complexity Rate Control for VC-1 to H.264 Transcoding.
Implementation, Performance Analysis & Comparison of H.264 and VP8 Submitted by: Keyur Shah ( ) Under guidance of Dr.
Comparison and Performance Analysis of H.264, AVS-China, VC-1 and Dirac - by Jennie G. Abraham EE5359 – Multimedia Processing, Fall 2009 EE Dept., University.
- By Naveen Siddaraju - Under the guidance of Dr K R Rao Study and comparison of H.264/MPEG4.
8. 1 MPEG MPEG is Moving Picture Experts Group On 1992 MPEG-1 was the standard, but was replaced only a year after by MPEG-2. Nowadays, MPEG-2 is gradually.
Video Compression Standards for High Definition Video : A Comparative Study Of H.264, Dirac pro And AVS P2 By Sudeep Gangavati EE5359 Spring 2012, UT Arlington.
EE 5359 TOPICS IN SIGNAL PROCESSING PROJECT ANALYSIS OF AVS-M FOR LOW PICTURE RESOLUTION MOBILE APPLICATIONS Under Guidance of: Dr. K. R. Rao Dept. of.
Sub pixel motion estimation for Wyner-Ziv side information generation Subrahmanya M V (Under the guidance of Dr. Rao and Dr.Jin-soo Kim)
Outline Kinds of Coding Need for Compression Basic Types Taxonomy Performance Metrics.
Implementation and comparison study of H.264 and AVS China EE 5359 Multimedia Processing Spring 2012 Guidance : Prof K R Rao Pavan Kumar Reddy Gajjala.
- By Naveen Siddaraju - Under the guidance of Dr K R Rao Study and comparison between H.264.
Figure 1.a AVS China encoder [3] Video Bit stream.
IMPLEMENTATION OF H.264/AVC, AVS China Part 7 and Dirac VIDEO CODING STANDARDS Under the guidance of Dr. K R. Rao Electrical Engineering Department The.
-BY KUSHAL KUNIGAL UNDER GUIDANCE OF DR. K.R.RAO. SPRING 2011, ELECTRICAL ENGINEERING DEPARTMENT, UNIVERSITY OF TEXAS AT ARLINGTON FPGA Implementation.
Advances in digital image compression techniques Guojun Lu, Computer Communications, Vol. 16, No. 4, Apr, 1993, pp
Vineeth Shetty Kolkeri University of Texas, Arlington
Vamsi Krishna Vegunta University of Texas, Arlington
UNDER THE GUIDANCE DR. K. R. RAO SUBMITTED BY SHAHEER AHMED ID : Encoding H.264 by Thread Level Parallelism.
EE 5359 Multimedia Project -Shreyanka Subbarayappa
Study and Performance Comparison of H.264/AVC, Dirac and AVS China Part 7 EE5359 Project Fall 2010 Touseef Khan
Porting of Fast Intra Prediction in HM7.0 to HM9.2
Transcoding from H.264/AVC to HEVC
Video Compression—From Concepts to the H.264/AVC Standard
COMPARATIVE STUDY OF HEVC and H.264 INTRA FRAME CODING AND JPEG2000 BY Under the Guidance of Harshdeep Brahmasury Jain Dr. K. R. RAO ID MS Electrical.
UNDER THE GUIDANCE DR. K. R. RAO SUBMITTED BY SHAHEER AHMED ID : Encoding H.264 by Thread Level Parallelism.
Study and Comparison of H.264, AVS- China and Dirac - by Jennie G. Abraham EE5359 – Multimedia Processing, Fall 2009 EE Dept., University of Texas at Arlington.
By: Santosh Kumar Muniyappa ( ) Guided by: Dr. K. R. Rao Final Report Multimedia Processing (EE 5359)
- Aruna Ravi MS-EE Student, UTA July 17 th 2009.
Implementation and comparison study of H.264 and AVS china EE 5359 Multimedia Processing Spring 2012 Guidance : Prof K R Rao Pavan Kumar Reddy Gajjala.
EE 5359 MULTIMEDIA PROCESSING PROJECT PROPOSAL SPRING 2016 STUDY AND PERFORMANCE ANALYSIS OF HEVC, H.264/AVC AND DIRAC By ASHRITA MANDALAPU
Multi-Frame Motion Estimation and Mode Decision in H.264 Codec Shauli Rozen Amit Yedidia Supervised by Dr. Shlomo Greenberg Communication Systems Engineering.
EE 5359 MULTIMEDIA PROCESSING INTERIM PRESENTATION SPRING 2016 STUDY AND PERFORMANCE ANALYSIS OF HEVC, H.264/AVC AND DIRAC By ASHRITA MANDALAPU
Introduction to H.264 / AVC Video Coding Standard Multimedia Systems Sharif University of Technology November 2008.
CSI-447: Multimedia Systems
Quality Evaluation and Comparison of SVC Encoders
Overview of the Scalable Video Coding
Video Compression - MPEG
Research Topic Error Concealment Techniques in H.264/AVC for Wireless Video Transmission Vineeth Shetty Kolkeri EE Graduate,UTA.
PROJECT PROPOSAL HEVC DEBLOCKING FILTER AND ITS IMPLIMENTATION RAKESH SAI SRIRAMBHATLA UTA ID: EE 5359 Under the guidance of DR. K. R. RAO.
Fast Decision of Block size, Prediction Mode and Intra Block for H
Standards Presentation ECE 8873 – Data Compression and Modeling
Comparative study of various still image coding techniques.
MPEG4 Natural Video Coding
Presentation transcript:

PERFORMANCE ANALYSIS AND COMPARISON OF DIRAC VIDEO CODEC WITH H PERFORMANCE ANALYSIS AND COMPARISON OF DIRAC VIDEO CODEC WITH H.264 / MPEG-4 PART 10 AVC - Aruna Ravi MS-EE Student , UTA aruna.ravi@mavs.uta.edu July 17th 2009

Overview Dirac - overview H.264/MPEG-4 AVC - overview Dirac performance analysis based on quality factor Performance comparison of Dirac with H.264 at constant bit rates Results Conclusions Future research References

What is Dirac? Motion-compensated state-of-the-art hybrid video codec developed by BBC. Uses modern techniques - wavelet transforms, arithmetic coding. Open technology – no license fees. Easily recreated for new platforms. Applications - HDTV to web streaming.

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Architecture Vin : Input video frame; P: Previous frame; Motion compensated prediction error (MCPE): e = Vin – P; eTQ : MCPE after wavelet transformation and quantization; e’ : MCPE after inverse transformation; Vlocal = P + e’

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Wavelet Transform More efficient than block transforms with still images. Operates on entire picture. Flexible – operates at a range of resolutions. Repeated filtering of signals into low- and high-frequency parts. Horizontal and vertical filtering for 2D signals. Logarithmic frequency decomposition into sub-bands at each stage. Daubechies wavelet filters

Wavelet Transform contd.. Packs most information into low frequency sub-bands - compression achieved. Process repeated to achieve higher levels of wavelet transform. Coded picture free from block artifacts, superior moving images.

Stages of wavelet transform

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Scaling and Quantization Scaling - Extracting frame data after wavelet transform, scaling the coefficients to perform quantization. Quantization - rate distortion optimization, strip information from frame data that results in as little visual distortion as possible. Dead-zone quantization - coarser quantization on smaller values.

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Motion Estimation Exploits temporal redundancy in video streams. Hierarchical motion estimation - three stages. Stage I: Pixel accurate MV determined for each block, reference frame by hierarchical block matching. Stage II: Pixel-accurate vectors refined. Stage III: Mode decisions made for each macro-block.

Intra & Inter prediction Three types of frames : I (Intra), L1 (Level 1) and L2 (Level 2). I frames coded without reference. Inter frames - L1, L2 frames coded with reference to previously coded frames. L1 frames used as temporal references for other frames, L2 frames are not. Each frame predicted from up to two reference frames. Prediction modes: Intra, Reference 1 only, Reference 2 only, Bi-directional.

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Motion Compensation Overlapped block-based motion compensation - good compression, prevents blocky edges. Interaction of neighboring blocks. Basic blocks arranged into macro-blocks (4x4). Data padding for exact number of horizontal and vertical macro-blocks. Smaller blocks selected for lower resolution frames. Linear ramp mask - weight function on predicting block.

Motion Compensation contd.. Splitting of macro-blocks Default (streaming, SD) -12x12 blocks, overlapped at intervals of 8 pixels vertically and horizontally. Sub-pixel MC with MV - 1/8th pixel accuracy. MV predicts current frame identical to previous frame at low bit rates, minimizes cost of encoding residual data.

Dirac encoder / decoder blocks Transform: 2D discrete wavelet transform Scaling and Quantization: Dead zone quantization Motion estimation: Hierarchical motion estimation Motion compensation: Overlapped block-based motion compensation (OBMC) Entropy coding: Arithmetic coding

Dirac - Entropy Coding Three stages: binarization, context modeling and arithmetic coding. First stage provides bit stream with easily analyzable statistics, encoded using arithmetic coding. Context modeling - coefficient is small or not, well-predicted by its neighbors and parents. Arithmetic coding performs lossless compression - flexible and efficient.

Advantages of Dirac Open technology - no licensing costs. Flexible, ease of operation over many applications. Capable of compressing high resolution files. Exploits lossy compression using long group of picture (GOP) formats for broadcasting and other distribution outlets. Quality similar to that of AVC/H.264. More freedom for future implementations, more scope to improve performance Comparable to other codecs despite simple toolset. Relative simplicity and clean architecture supports high performance. Good quality at low bit rates, lower costs.

Applications of Dirac Broadcasting Clip distribution Live streaming video Pod casting Creative archive Peer to peer transfers HDTV with SD (standard definition) simulcast capability Higher density channel packing Desktop production News links Archive storage PVRs (personal video recorder) Multilevel Mezzanine coding (aka SMPTE VC-2)

Overview of H.264 / AVC Open, licensed standard, latest block-oriented motion-compensation-based codec. Good video quality at substantially lower bit rates. Better rate-distortion performance and compression efficiency without increasing design complexity. Simple syntax specifications, very flexible. Wide variety of applications such as video broadcasting, video streaming, video conferencing, D-Cinema, HDTV. Network friendly; demonstrates a balance between coding efficiency, implementation complexity and cost. Layered structure - consists of two layers: Network Abstraction Layer (NAL) and Video Coding Layer (VCL); supports 4:2:0 chroma sampling picture format including QCIF and CIF formats.

Overview of H.264 contd.. Uses hybrid block based video compression techniques such as: Transformation - reduction of spatial correlation Quantization - bit-rate control Motion compensated prediction - reduction of temporal correlation Entropy coding - reduction in statistical correlation Includes the following features: Intra-picture prediction 4x4 integer transform Multiple reference pictures Variable block sizes Quarter pel precision for motion compensation In-loop de-blocking filter Improved entropy coding

H.264 / MPEG-4 AVC architecture

Algorithmic Element Comparison

Quality factor in Dirac Overall trade-off factor derived from value termed “QF” - quality/quantization factor. Picture lambda values used for rate-distortion control of quantization and motion estimation Initially derived from picture QF: Set directly on command line, used for all pictures Determined by means of Rate Control algorithm

Dirac Performance Analysis based on Quality Factor

Dirac Performance Analysis based on QF contd..

Dirac Performance Analysis based on QF contd..

Dirac Performance Analysis based on QF contd..

Dirac Performance Analysis based on QF contd..

Dirac Performance Analysis based on QF contd..

Dirac performance analysis test results

Dirac performance analysis test results contd..

Dirac performance analysis test results contd.. Point of lossless coding Good SSIM even at lower QF for CIF !

Dirac performance analysis test results contd..

Dirac performance analysis test results contd..

Performance comparison of Dirac with H.264 at constant bit rates (CBR) Test sequence: “Miss-america.yuv”, QCIF (150 frames) Dirac performs better than H.264 at lower bit rates!

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Results comparable to H.264

Test sequence: “Stefan.yuv”, CIF (90 frames) Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Test sequence: “Stefan.yuv”, CIF (90 frames)

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd..

Test sequence: “Susie.yuv”, SDTV (25 frames) Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Test sequence: “Susie.yuv”, SDTV (25 frames)

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd..

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Almost similar compression achieved !

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Note the scale of difference!

Consistent performance Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd.. Consistent performance over large range of bit rates

Performance comparison of Dirac with H Performance comparison of Dirac with H.264 at constant bit rates (CBR) contd..

Conclusions Dirac is very comparable to H.264. Dirac achieves slightly higher compression ratios for lower bitrates than H.264 in case of QCIF sequences. At higher QCIF bitrates both Dirac and H.264 achieve similar compression. H.264 provides slightly better compression especially for CIF, SD media. H.264 has slightly better SSIM than Dirac for all the test sequences. H.264 achieves better PSNR and lower MSE than Dirac. Dirac’s encoder is less complex and fast encoding (about 5-10 minutes) is possible. H.264 takes a longer time (around 25 minutes) to encode the same video sequence. Decoder complexity of Dirac and H.264 is nearly the same. Both codecs require about the same time to perform decoding. Dirac is simple yet robust codec, nearly equaling H.264 in performance, sans the cost of royalty fees.

Future Research Dirac video codec can be further improved by integrating it with audio codecs such as AAC/ MP2/ Vorbis/ FLAC. According to Dr. T. Borer, Dirac team leader, BBC: Dirac wrapped in container format can be used with audio Put into transport streams with MPEG-TS supported audio format Transcoding possible by: Multiplexing video and audio coded bit streams to create a single bit stream for transmission and de-multiplexing streams at receiving end. Synchronization of audio and video during playback. DiracPRO / SMPTE VC-2: Intra frame version of Dirac Non proprietary, royalty free, open technology Intended for high quality applications with lower compression ratios Optimized for professional production , archiving applications More significant transcoding long GOP from H.264

REFERENCES [1] T. Borer, and T. Davies, “Dirac video compression using open technology”, BBC EBU Technical Review, July 2005 [2] BBC Research on Dirac: http://www.bbc.co.uk/rd/projects/dirac/index.shtml [3] H. Eeckhaut, et al, “Speeding up Dirac’s entropy coder”, Proc. 5th WSEAS Int. Conf. on Multimedia, Internet and Video Technologies, pp. 120-125, Greece, Aug. 2005. [4] The Dirac web page: http://dirac.sourceforge.net [5] K. Onthriar, K. K. Loo and Z. Xue, “Performance comparison of emerging Dirac video codec with H.264/AVC”, IEEE International Conference on Digital Telecommunications, 2006, ICDT; Vol. 06, Page: 22, Issue: 29-31, Aug. 2006. [6] T.Davies , “The Dirac Algorithm” http://dirac.sourceforge.net/documentation/algorithm/, 2005. [7] M. Tun and W. A. C. Fernando, “An error-resilient algorithm based on partitioning of the wavelet transform coefficients for a DIRAC video codec” , Tenth International Conference on Information Visualization, 2006, IV, Vol. 5-7 , pp.: 615 – 620, Issue : July 2006. [8] T. Davies, “A modified rate-distortion optimization strategy for hybrid wavelet video coding” , IEEE International Conference on Acoustics, Speech and Signal Processing, 2006. ICASSP 2006 Proceedings. 2006, Vol.: 2, pp.: II, Publication Date: 14-19 May 2006. [9] M. Tun, K. K. Loo and J. Cosmas, “Semi-hierarchical motion estimation for the Dirac video codec”, 2008 IEEE International Symposium on Broadband Multimedia Systems and Broadcasting, pp.: 1-6, Publication Date: March 31 2008-April 2 2008. [10] /CMPT 365 Course Slides/, School of Computing Science, Simon Fraser University, fig3: http://www.cs.sfu.ca/CourseCentral/365/li/material/notes/Chap4/Chap4.3/Chap4.3.html [11] Dirac developer support: Overlapped block-based motion compensation : http://dirac.sourceforge.net/documentation/algorithm/algorithm/toc.htm [12] S.K.Kwon, A.Tamhankar and K.R.Rao, “Overview of H.264 / MPEG-4 Part 10” J. Visual Communication and Image Representation, Vol 17, pp.186-216, April 2006. [13] T.Wiegand, et al “Overview of the H.264/AVC video coding standard”, IEEE Trans. CSVT, Vol.13, pp 560-576, July 2003.

REFERENCES contd.. [14] T. Wiegand and G. J. Sullivan, “The H.264 video coding standard”, IEEE Signal Processing Magazine, vol. 24, pp. 148-153, March 2007. [15] D. Marpe, T. Wiegand and G. J. Sullivan, “The H.264/MPEG-4 AVC standard and its applications”, IEEE Communications Magazine, vol. 44, pp. 134-143, Aug. 2006. [16] I. Richardson, “The H.264 AVC standard”, to be published in late 2009. [17]  C. Gargour et al, “A short introduction to wavelets and their applications”, IEEE Circuits and Systems Magazine, vol. 9, pp. 57-68, II Quarter, 2009. [18] “Dirac Pro to bolster BBC HD links”: http://www.broadcastnow.co.uk/news/multi-platform/news/dirac-pro-to-bolster-bbc-hd-links/1732462.article [19] “And now, Dirac from the Olympics, a new free codec!”: http://www.videsignline.com/210601739 [20] ‘Dirac codec’: http://en.wikipedia.org/wiki/Dirac_(codec) [21] ‘Video encoding’: http://www.webopedia.com/TERM/V/video_encoding.html [22] “Video encoding and bandwidth requirements”: http://www.cybertechmedia.com/videoencoding.html [23] Z. Wang, et al “Image quality assessment: From error visibility to structural similarity”, IEEE Trans. on Image Processing, vol. 13, pp. 600-612, Apr. 2004. http://www.ece.uwaterloo.ca/~z70wang/ [24] http://en.wikipedia.org/wiki/Windows_Media_Video [25] Microsoft Windows Media: http://www.microsoft.com/windows/windowsmedia [26] MPEG-4 Part 2, ISO/IEC 14496-2, International Organization for Standardization, http://www.iso.ch [27] http://en.wikipedia.org/wiki/MPEG-4_Part_2 [28] Dirac software and source code: http://diracvideo.org/download/dirac-research/ [29] http://en.wikipedia.org/wiki/VC-1

REFERENCES contd.. [30] Dirac video codec - A programmer's guide: http://dirac.sourceforge.net/documentation/code/programmers_guide/toc.htm [31] H. Jia and L. Zhang, “Directional diamond search pattern for fast block motion estimation”, IEE Electronics Letters, Vol. 39, No. 22, pp. 1581-1583, 30th October 2003. [32] Video test sequences (YUV 4:2:0): http://trace.eas.asu.edu/yuv/index.html [33] Video test sequences ITU601: http://www.cipr.rpi.edu/resource/sequences/itu601.html [34] MPEG–2 advanced audio coding, AAC. International Standard IS 13818–7, ISO/IEC JTC1/SC29 WG11, 1997 [35] G. A. Davidson, et al “ATSC video and audio coding”, Proceedings of IEEE, vol. 94, pp. 60-76, Jan. 2006 [36] A. Puri, X. Chen and A. Luthra, “Video coding using the H.264/MPEG-4 AVC compression standard”, Signal Processing: Image Communication Magazine, vol. 19, pp. 793-849, Oct. 2004 [37] H.264 AVC JM software: http://iphome.hhi.de/suehring/tml/ [38] SSIM: http://en.wikipedia.org/wiki/SSIM [39] Daubechies wavelet: http://en.wikipedia.org/wiki/Daubechies_wavelet [40] Daubechies wavelet filter design: http://cnx.org/content/m11159/latest/ [41] Dirac developer support: Wavelet transform: http://dirac.sourceforge.net/documentation/algorithm/algorithm/wlt_transform.xht [42] Dirac developer support: RDO motion estimation metric: http://dirac.sourceforge.net/documentation/algorithm/algorithm/rdo_mot_est.xht [43] Digital down converter: http://en.wikipedia.org/wiki/Digital_down_converter [44] T. Jacob, K. R. Rao and D. N. Kim, “Image Mirroring, Rotation and Interpolation in Wavelet Domain”, Applications of Digital Image Processing XXXII conference, SPIE symposium on Optical Engineering, 2-6 Aug. 2009. [45] H.264/MPEG-4 AVC: http://en.wikipedia.org/wiki/H.264

REFERENCES contd.. [46] M.Fieldler, “Implementation of basic H.264/AVC Decoder”, seminar paper at Chemnitz University of Technology, June 2004. [47] H.264 encoder and decoder: http://www.adalta.it/Pages/407/266881_266881.jpg [48] “H.264 video compression standard”, White paper, Axis communications. [49] MPEG-4: ISO/IEC JTC1/SC29 14496-10: Information technology – Coding of audio-visual objects - Part 10: Advanced Video Coding, ISO/IEC, 2005. [50] D. Kumar, P. Shastry and A. Basu, “Overview of the H.264 / AVC”, 8th Texas Instruments Developer Conference India, 30 Nov – 1 Dec 2005, Bangalore. [51] R. Schäfer, T. Wiegand and H. Schwarz, “The emerging H.264/AVC standard”, EBU Technical Review, Jan. 2003. [52] Joint Photographic Experts Group, JPEG: http://www.jpeg.org/ [53] FLAC - Free Lossless Audio Codec: http://flac.sourceforge.net/ [54] Vorbis: http://www.vorbis.com/ [55] MPEG Layer II: http://en.wikipedia.org/wiki/MPEG-1_Audio_Layer_II [56] MPEG-TS / MPEG transport stream: http://en.wikipedia.org/wiki/MPEG_transport_stream [57] MP3 / MPEG Layer III: http://en.wikipedia.org/wiki/MP3 [58] Dirac Pro: http://www.bbc.co.uk/rd/projects/dirac/diracpro.shtml [59] T. Borer, “Dirac coding: Tutorial & Implementation”, EBU Networked Media Exchange seminar, June 2009. [60] DiracPRO software: http://dirac.kw.bbc.co.uk/download/

Thank You!

Performance metrics Compression ratio quantifies reduction in data size due to data compression. Bitrate refers to the number of bits used per unit of playback time to represent a continuous medium such as video after data compression.

Performance metrics contd.. Mean squared error (MSE) for two m×n monochrome images I and K (one considered a noisy approximation of the other) is given by: Peak signal-to-noise ratio (PSNR): Ratio between maximum possible power of a signal and power of corrupting noise that affects the fidelity of its representation. Expressed in terms of the logarithmic decibel scale. where MAXI is the maximum possible pixel value of the image

Performance metrics contd.. Structural Similarity (SSIM) index is a method for measuring similarity between two images. Compares local patterns of pixel intensities normalized for luminance and contrast. Full reference metric, measurement of image quality based on original uncompressed image as reference. SSIM between two windows of size N x N x and y is given by:

H.264 profiles

H.264 encoder / decoder architecture

H.264 - Transform 4x4 multiplier-free integer transform Transform coefficients perfectly invertible Hierarchical structure - 4 x 4 Integer DCT, Hadamard transform Hadamard transform applied when (16x16) intra prediction mode is used with (4x4) integer DCT MB size for chroma depends on 4:2:0, 4:2:2 and 4:4:4 formats

H.264 - Scaling and Quantization Multiplication operation for exact transform combined with multiplication of scalar quantization Scale factor for each element in each sub-block varies as a function of quantization parameter associated with macro-block that contains sub block; position of element within sub-block Rate-control algorithm in encoder controls value of quantization parameter Encoder performs post-scaling and quantization

H.264 – Entropy Coding CAVLC (Context-based Adaptive Variable Length Coding). CABAC (Context-based Adaptive Binary Arithmetic Coding). CAVLC makes use of run-length encoding. CABAC utilizes arithmetic coding; codes both MV and residual transform coefficients. Typically CABAC provides 10-15 % reduction in bit rate compared to CAVLC, for the same PSNR. All syntax elements are encoded by Exp-Golomb codes (Universal Variable Length Codes (UVLC)).

H.264 – Deblock filtering In-Loop deblock filter – smoothes blocky edges; increases rate-distortion performance. Frame decode process - top/left neighbors fully reconstructed and available as inputs for de-blocking current MB. Applied to all 4x4 blocks except at picture boundaries. Vertical edges filtered first (left to right) followed by horizontal edges (top to bottom).

H.264 – Intra Prediction Spatial domain prediction Uses reconstructed data from neighboring macro-blocks to predict current macro-block coefficients. Prediction from samples in pixel domain; flexible bit-rate control; eliminates redundancies across multiple directions.

Intra Prediction: Mode decisions for 4x4 blocks For Luminance pixels: 4x4 partition: 9 intra-prediction modes 16x16 partition: 4 intra-prediction modes 16 x 16 mode - better compression for flat regions of picture, lower costs. Avoids gradients in flat regions with high quantization parameters

H.264 – Inter Prediction Motion estimation, Motion compensation included. Generates predicted version of a rectangular array of pixels. Similar sized rectangular arrays of pixels chosen from previously decoded reference pictures. Reference arrays translated to current rectangular array positions. Half-pel interpolated using a 6-tap FIR filter with weights (1, -5, 20, 20, -5, 1)/32. Quarter-pel produced using bilinear interpolation between neighboring half- or integer-pel samples.

H.264 – Motion Compensation Predicted rectangular arrays of pixels: 4x4, 4x8, 8x4, 8x8, 16x8, 8x16, and 16x16. Translation from other array positions in reference picture specified with quarter pixel precision. In case of 4:2:0 format, the chroma MVs have a resolution of 1/8 of a pixel, derived from transmitted luma MVs of 1/4 pixel resolution.

H.264 – Multi-Picture Motion Compensation More than one prior-coded picture used as a reference for motion-compensated prediction. Encoder, decoder store reference pictures in a multi-picture buffer. Decoder replicates multi-picture buffer of the encoder, according to reference picture buffering type specified in the bit stream.