STUDY AND IMPLEMENTATION OF VIDEO COMPRESSION STANDARDS (H.264/AVC, DIRAC) EE 5359-Multimedia Processing Spring 2012 Dr. K.R Rao By: Sumedha Phatak(1000731131)
OBJECTIVE A study, implementation and comparison of the baseline profiles of H.264/AVC [6] and Dirac [21] For factors like video quality, bit rates, compression ratio, complexity and performance analysis A comparison of these two standards Based on quality parameters like SSIM [13], MSE [13] and PSNR [13] at various bit rates will be done
INTRODUCTION Data compression means bit-rate reduction Compression can be either lossy or lossless [9] Majority of video compression algorithms uselossy compression [1] Video compression uses modern coding techniques to reduce redundancy in video data and combines spatial image compression and temporal motion compensation. [3]
NEED FOR VIDEO COMPRESSION? Mainly because bandwidth is still a valuable commodity Consider a TV picture resolution of 720 480 and a frame rate of 30 fps If represented by 3 bytes per pixel 1 sec of video=31.1 MB and 1 hr of video=112gb BW required to deliver wirelessly will be 124.4 MHz
HISTORY Table 1: History of video compression standards [1]
HISTORY( ( CONTD.) Figure 1: Evolution of video compression standards [2]
H.264 [4] H.264/MPEG-4 Part 10orAVC(Advanced Video Coding) is a standard for video compression [3] Currently one of the most commonly used formats for the recording, compression, and distribution ofhigh definition video [4] Good video quality at substantially lower bit rates than previous standards
H.264 PROFILES AND LEVELS Figure 2: H.264 profiles [3]
H.264 ARCHITECTURE Figure 3: H.264 architecture [2]
H.264 ENCODER Figure 4: H.264 encoder block diagram [4]
H.264 DECODER Figure 5: H.264 decoder block diagram [4]
H.264 IMPLEMENTATION JM 17.2 software [22] Build the solution and run it using Microsoft Visual Studio Generate lencod and ldecod and executable files lencod/ldecod file should then be run from the command prompt Since, baseline profile is being implemented, the encoder_baseline.cfg file should be used. Necessary parameters should be changed along with the required input file and destination to get the output at desired parameters.
COMMAND LINE INTERFACE Figure 6: Command line interface snapshot
ORIGINAL FILE : grandma_qcif.yuv [23] Figure 7: Original video file grandma_qcif.yuv
AT QP=2: Figure 8: At QP=2
AT QP=25: Figure 9: At QP=25
AT QP=50; Figure 10: At QP=50
RESULTS QCIF sequence: grandma_qcif.yuv Height: 176, Width: 144 Total no. of frames: 870 Frames used: 3 Original File size: 32299 KB Frame Rate = 30 fps
BIT RATE, MSE, PSNR, SSIM AT VARIOUS QP QP Bitrate (kbps) MSE (Y-component) PSNR (Y-component) in db SSIM (Y-component) 2 3492.64 0.05136 62.489 0.9997 4 3040.08 0.11979 57.907 0.9992 10 1551.92 0.55156 50.835 0.9963 14 824 1.16527 47.573 0.9933 18 561.6 2.16942 44.793 0.9892 25 295.68 6.9658 39.703 0.9706 30 177.36 16.881 35.857 0.9357 35 101.36 35.03087 32.686 0.8746 40 57.52 61.27304 30.258 0.8082 45 36.72 107.44973 27.819 0.7308 50 24 179.3838 25.593 0.6558 Table 2: Various metrics at different QP values
PLOTS FOR grandma_qcif.yuv: Figure 11: PSNR vs. bit rate
Figure 12:MSE vs. bit rate
Figure 13: SSIM vs. bit rate
ORIGINAL FILE : suzie_qcif.yuv [23] Figure 14: Original video file suzie_qcif.yuv
AT QP=2: Figure 15: At QP=2
AT QP=25: Figure 16: At QP=25
AT QP=50: Figure 17: At QP=50
RESULTS QCIF sequence: suzie_qcif.yuv Height: 176, Width: 144 Total no. of frames: 150 Frames used: 3 Original File size: 5569 KB Frame Rate = 30 fps
BIT RATE, MSE, PSNR, SSIM AT VARIOUS QP QP Bitrate (kbps) MSE (Y-component) PSNR (Y-component) in db SSIM (Y-component) 2 3286.32 0.04647 62.723 0.9997 4 2883.68 0.10518 58.386 0.9993 10 1572.72 0.53919 50.915 0.9965 14 1008.64 1.13392 47.644 0.9936 18 639.92 2.34599 44.464 0.9884 25 275.2 7.18615 39.581 0.9708 30 152.48 15.43 36.248 0.941 35 86.64 29.856 33.381 0.8993 40 53.6 54.14044 30.796 0.8363 45 32.56 95.157 28.347 0.7733 50 19.6 175.72946 25.683 0.6835 Table 3: Various metrics at different QP values
PLOTS FOR suzie_qcif.yuv: MSE vs Bitrate 200 180 160 MSE (Y-component) 140 120 100 80 60 40 20 0 0 500 1000 1500 2000 2500 3000 3500 Bitrate (Kbps) Figure 18: MSE vs. bit rate
PSNR vs Bitrate 70 60 PSNR (Y-component) in db 50 40 30 20 10 0 0 500 1000 1500 2000 2500 3000 3500 Bitrate (Kbps) Figure 19: PSNR vs. bit rate
SSIM v/s Bitrate 1.2 1 SSIM (Y-component) 0.8 0.6 0.4 0.2 0 0 500 1000 1500 2000 2500 3000 3500 Bitrate (Kbps) Figure 20: SSIM vs. bit rate
DIRAC [21] Open and free video compression format developed by BBC research [6] Intended to provide high quality video compression for applications like Ultra HDTV Mainly competes with existing standards like H.264 [5] and VC1 [12] Hybrid video codec because it involves both transform and motion compensation
DIRAC ENCODER BLOCK DIAGRAM Figure 5: Dirac encoder block diagram [5]
DIRAC DECODER BLOCK DIAGRAM Figure 6: Dirac decoder block diagram [5]
THANK YOU.
ABBREVIATIONS AND ACRONYMS AVC: Advanced Video Coding AVS: Audio Video Standard BBC: British Broadcasting Corporation CIF: Common Intermediate Format CABAC: Context Adaptive Binary Arithmetic Coding CODEC: Coder and Decoder DCT: Discrete Cosine Transform HDTV: High-Definition Television IEC: International Electrotechnical Commission ISO: International Organization for Standardization ITU-T: International Telecommunication Union -Telecommunication Standardization sector JPEG: Joint Photographic Experts Group MPEG: Moving Picture Experts Group MSE: Mean Square Error PSNR: Peak Signal to Noise ratio QCIF: Quarter Common Intermediate Format SMPTE: Society of Motion Picture and Television Engineers SSIM: Structural Similarity Metric VQMT: Video Quality Measurement Tool
REFERENCES [1]Video compression standards history: http://en.wikipedia.org/wiki/video_compression#video [2] Video conferencing standards and technology. http://blog.radvision.com/videooverenterprise/2008/06/03/the-babel-fish-proves-video-conferencing-does-exist/ [3] K. R. Rao and D. N. Kim, Current Video Coding Standards: H.264/AVC, Dirac, AVS China and VC-1, IEEE 42nd Southeastern symposium on system theory (SSST), March 7-9 2010, pp. 1-8, March 2010. [4] S. 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. [5]T. Borer and T. Davies, Dirac video compression using open technology, BBC EBU Technical Review, July 2005. [6] A. Ravi, and K.R. Rao, Performance analysis and comparison of the dirac video codec with H.264/MPEG-4 Part 10 AVC, International Journal of Wavelets, Multiresolution and Information Processing, vol.4, pp. 635-654, January 2010. [7] T. Wiegand, and G. Sullivan, Overview of H.264/AVC video coding standards, IEEE Transactions on circuits and systems for video technology, vol. 13, no. 7,pp. 560-576, July 2003. [8]DiracSpecification,Version2.2.3,Available:http://diracvideo.org/download/specification/dirac-spec-latest.pdf [9] General information on Data/ Video compression http://en.wikipedia.org/wiki/data_compression [10] The Dirac web page: http://www.bbc.co.uk/rd/projects/dirac/technology.shtml [11] S.-T. Hsiang, A new sub band/wavelet framework for AVC/H.264 intra frame coding and performance comparison with motion-jpeg 2000", SPIE/VCIP, vol.6822, pp. 68220P-1 through 12, Jan. 2008. [12] VC-1 Compressed video bit stream format and decoding process(smpte 421M-2006), SMPTE standard, pp. 2-9, 2006. [13] Z. Wang, et al, Image quality assessment: From error visibility to structural similarity, IEEE Transactions on Image Processing, vol.13, no.4, pp. 600-612, April 2004. [14] MSU Video quality measurement tool: http://compression.ru/video/quality_measure/video_measurement_tool_en.html#nav [15] G. J. Sullivan and J. Ohm, Recent developments in standardization of high efficiency video coding (HEVC), Proc. SPIE 7798, 77980V (2010)
REFERENCES [16] Dirac developer support documentation: http://dirac.sourceforge.net/documentation/algorithm/algorithm/wlt_transform.xht [17] I. Richardson, The H.264 advanced video compression standard, Wiley, 2nd edition, 2010. [18] C. Christopoulos, A. Skodras, T.Ebrahimi, The JPEG2000 still image coding system: An Overview, IEEE Trans. on Consumer Electronics, vol.46, pp.1103-1127, Nov. 2000 [19] B. Zeng and J. Fu, Directional discrete cosine transforms -A new framework for image coding, IEEE Trans. on Circuits and Systems for Video Technology, vol. 18, no. 3, pp. 305-313, Mar. 2008. [20] K. R. Rao and P. Yip, Discrete Cosine Transform: Algorithms, Advantages, Applications(Academic Press, Boston, 1990). [21] A. Ravi, Performance analysis and comparison of the dirac video codec with H.264/ MPEG 4 Part 10 AVC, M.S thesis, EE dept., UT Arlington, Aug 2009 [22] JM software source code: http://iphome.hhi.de/suehring/tml/ [23]Sample videos in yuv format: http://trace.eas.asu.edu/yuv/