Implementation and performance analysis of JPEG2000, JPEG, JPEG-LS, JPEG-XR and H.264/AVC Intra frame coding EE5359 Multimedia Processing Project Proposal Spring 2012 The University of Texas at Arlington Department of Electrical Engineering Submitted by : Amee Solanki ID: 1000740226 Email: amee.solanki@mavs.uta.edu To Dr. K.R.Rao 1
TABLE OF ACRONYMS AVC BMP DCT EBCOT FRExt GIF HD-photo HVS I-frame JM JPEG JPEG-LS JPEG-XR LBT LOCO-I MSE PSNR SSIM VLC advanced video coding bit map format discrete cosine transform embedded block coding with optimized truncation fidelity range extensions graphics interchange format high-definition photo human visual system intra frame joint model joint photographic experts group joint photographic experts group lossless and near lossless coding joint photographic experts group extended range lapped bi-orthogonal transform low complexity lossless compression for images mean square error peak signal to noise ratio structural similarity index variable length coding 2
Abstract: This project will make a comparative study of various still image coding techniques like JPEG (Joint Photographic Experts Group) [3], JPEG 2000 [2,24], JPEG-LS (Joint Photographic Experts Group-Lossless and near lossless) [4], JPEG-XR (Joint Photographic Experts Group- Extended Range) and H.264/AVC intra-frame coding [1]. The main idea is to implement the H.264 Intra frame coding using AVC JM software [14] and make its performance analysis compared to JPEG, JPEG2000, JPEG-LS and JPEG-XR. Various properties of compression standards will be studied. Experimental results are measured in terms of compression ratio, PSNR (peak signal to noise ratio), bit-rate (bandwidth), quality- MSE (mean square error), and SSIM [6] (structural similarity index metric). Different software like joint model (JM) software for H.264 [21], JPEG reference software [14] for JPEG, HD-photo reference software [17] for JPEG-XR, JasPer [15] for JPEG2000 and JPEG-LS reference software [16] for JPEG-LS are used for comparison based on image quality (SSIM) [6], bit rates and implementation complexity between different codecs. Coding simulations will be performed on various sets of test images [22] at different bit rates. Introduction: Compression is the process of compacting data and reducing the number of bits while maintaining an acceptable image quality, reduces redundancy of the image or video data in order to be able to store or transmit data in an efficient form. Compression involves a complementary pair of systems, a compressor (encoder) and a decompressor (DECoder) and hence the name CODEC, the system that performs encoding and decoding. 3
Need for Compression: Consider an image of resolution 640 480. To calculate the size of the picture in RAW format, each of the RGB color is represented by 8 bits. Then for each pixel it needs 24 bits. Total number of pixels in the image is 640 480 = 307200 pixels. Therefore, the size of the image turns to 307200 3 bytes = 921600 bytes. But, an image in compressed format with the same resolution takes only 100 KB. Hence, compression is very useful for storage and transfer of images. Compression also removes redundant bit pixels of the image, thereby reducing the size. However, compression comes with a price affecting quality of image. Therefore, various standard image compression methods that make a best tradeoff between these properties and compression are studied and implemented in this project. However, there can be lossy and lossless compression which also affects these properties. Lossy being permanent loss of some image data while lossless means complete retrieval of data after decoding. Evolution of Image Compression Standards: Fig.1 Evolution of compression technology [23] 4
Compression standards Standard Software Main Application Year JPEG JPEG-Baseline Ref. Image 1992-1999 JPEG-LS JPEG-LS DLL *DLL-Dynamic linked library Image 1999-2000 JPEG-2000 JasPer Image 2000 JPEG-XR JPEG-XR Ref. Image 2009 H.264/AVC Intra Coding JM Video 2003 Table 1: Comparison of image compression standards [7] 5
Comparison table for JPEG, JPEG 2000, JPEG-LS and JPEG-XR: Standard Compression ratio Main Compression Technologies Main Target Applications JPEG Compression ratio 2-30 -DCT -Perceptual quantization -Zig zag reordering -Huffman coding -Arithmetic coding -Internet imaging -Digital photography -Image and video editing JPEG-2000 Compression ratio 2-50 -Wavelets EBCOT -Internet imaging -Digital photography -Image and video editing -Printing -Medical imaging -Mobile applications -Color fax -Satellite imaging JPEG-LS Compression Ratio 2:1 -Context Modeling -Prediction -Golomb Codes -Arithmetic coding - Lossless and near lossless coding of continuous tone still images JPEG-XR Higher compression ratio than JPEG Based on HD Photo of Microsoft (Windows media photo) -Storage and Interchange of continuous tone photographic content (lossless and lossy ) Table 2: Comparison of JPEG, JPEG 2000, JPEG-LS and JPEG-XR [7] 6
Baseline JPEG encoder: Fig.2 (a) JPEG encoder block diagram [9] Baseline JPEG decoder: Fig.2 (b) JPEG decoder block diagram [9] JPEG -LS block diagram: Fig.3 JPEG-LS block diagram [11] 7
JPEG 2000 encoder and decoder: Fig.4 (a) Encoder block diagram (b) Decoder block diagram of JPEG 2000 [10] JPEG-XR encoder block diagram: 8x8 blocks Quantization tables Adaptive VLC table switching Original image Reversible integerinteger mapping LBT Scalar quantization VLC encoding Coded image (a) JPEG-XR decoder block diagram: Adaptive VLC table switching Quantization tables Coded image VLC decoding Scalar dequantization Reversible integer-integer mapping inverse Original image (b) Fig.5 (a): Block diagram of JPEG-XR encoder (b): Block diagram of JPEG-XR decoder [12] 8
H.264 Basic encoder and decoder: Fig.6 H.264 encoder and decoder block diagram [13] Spatial Intra prediction: H.264/AVC uses both spatial and temporal predictions to increase its coding gain. The intra-only compression uses spatial prediction and the prediction only occurs within a slice. Fig.7 Examples of spatial intra prediction modes for (8X8) blocks [23] 9
Fig. 8 A 4X4 block and its neighboring pixels [20] Fig. 9 Direction of 9 4X4 intra-predictions [20] Fig.8 shows a 4x4 block containing 16 pixels labeled from a through p. A prediction block p is calculated based on the pixels labeled A-M obtained from the neighboring blocks. A prediction mode is a way to generate these 16 predictive pixel values using some or all of the neighboring pixels in nine different directions as shown in Fig. 9. In some cases, not all of the samples A-M are available within the current slice. In order to preserve independent decoding of slices, only samples within the current slice are used for prediction. Fig.10 Examples of spatial intra prediction modes for (4X4) blocks [20] 1. Mode 0 is the vertical prediction mode in which pixels a, e, i, and m are predicted by A and so on. 2. Mode 1 is the horizontal prediction mode in which pixels a, b, c, and d are predicted by I and so on. 3. Mode 2 is called DC prediction in which all pixels i.e. a to p as shown in fig.8 are predicted by (A+B+C+D+I+J+K+L)/8. 4. For modes 3-8, the predicted samples are formed from a weighted average of the prediction samples A-M. 10
Structural Similarity Index: The structural similarity (SSIM) [6] index is a method for measuring the similarity between two images. SSIM is designed to improve on methods like peak signal-to-noise ratio (PSNR) and mean squared error (MSE), which have proved to be inconsistent with human eye perception. SSIM considers image degradation as perceived change in structural information. Structural information is the idea that the pixels have strong inter-dependencies especially when they are spatially close. where x and y correspond to two different signals that need to be compared for similarity, i.e. two different blocks in two separate images; Fig.11 SSIM index example [19] 11
References: [1] T. Wiegand, G. J. Sullivan, G. Bjontegaard and A. Luthra, Overview of the H.264 / AVC video coding standard IEEE Trans. on Circuits and Systems for Video Technology,vol. 13,pp. 560-576, July 2003. [2] A.Skodras, C. Christopoulos and T. Ebrahimi, The JPEG 2000 still image compression standard, IEEE Trans. on Signal Processing, vol.18, pp.36-58, Aug. 2002. [3] G. K. Wallace, The JPEG still picture compression standard, Communication of the ACM, vol. 34, pp. 31-44, April.1991. [4] M. J. Weinberger, G. Seroussi and G. Sapiro, The LOCO-I lossless image compression algorithm: principles and standardization into JPEG-LS, IEEE Trans. on Image Processing, vol.9, pp.1309-1324, Aug. 2000. [5] C. Christopoulos, A. Skodras and T.Ebrahimi, The JPEG2000 still image coding system: an overview, IEEE Trans. on Consumer Electronics, vol.46, pp.1103-1127, Nov. 2000. [6] Z. Wang, A. C. Bovik, H. R. Sheikh and E. P. Simoncelli, Image quality assessment: From error visibility to structural similarity, IEEE Trans. on Image Processing, vol. 13, no. 4, pp. 600-612, Apr. 2004. [7] T. Ebrahimi and M. Kunt, Visual data compression for multimedia applications, Proc IEEE, vol.86, pp. 1109-1125, June 1998. [8] I. E. Richardson, The H.264 advanced video compression standard, II Edition, Wiley, 2010. [9] JPEG encoder and decoder block diagram: http://www.cmlab.csie.ntu.edu.tw/cml/dsp/training/coding/jpeg/jpeg/decoder.htm [10] JPEG2000 encoder and decoder block diagram: http://eeweb.poly.edu/~yao/ee3414/jpeg.pdf [11] JPEG-LS encoder and decoder block diagram: http://www.hpl.hp.com/loco/hpl-98-193r1.pdf [12]JPEG-XR encoder and decoder block diagram: http://www.microsoft.com/whdc/xps/wmphotoeula.mspx [13] H.264 encoder and decoder block diagram: http://www.drtonygeorge.com/video_codec.htm 12
[14] JPEG reference software: ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip [15] JPEG2000 latest reference software: http://www.ece.uvic.ca/~mdadams/jasper/ [16] JPEG-LS reference software: http://www.hpl.hp.com/loco/ [17] Microsoft HD photo specification: http://www.microsoft.com/whdc/xps/wmphotoeula.mspx [18] Evolution of image compression standards: ftp://ftp.panasonic.com/pub/panasonic/drivers/pbts/papers/wp_avc-intra.pdf [19] SSIM Index example diagram: https://ece.uwaterloo.ca/~z70wang/research/ssim/ [20] Intra-prediction modes image: http://www.atc-labs.com/technology/h264_publication_1.pdf [21] H.264/AVC reference software: http://iphome.hhi.de/suehring/tml/download [22] Test Images for analysis: http://sipi.usc.edu/database/ [23] Evolution of image compression standards: ftp://ftp.panasonic.com/pub/panasonic/drivers/pbts/papers/wp_avc-intra.pdf [24] D. S. Taubman and M. W. Marcellin, "JPEG2000 Image compression fundamentals, standards, and practice," Kluwer, 2001. 13