A modified advanced image coding

Zhengbing Zhang1,2, Radhika Veerla2,K.R. Rao2, IEEE Fellow

1Electronics and InformationCollege, YangtzeUniversity

Jingzhou, Hubei 434023, China

2Elec. Engineering Department, University of Texas at Arlington

416 Yates, 530 Nedderman Hall, Arlington, TX76019-0016, USA

e-mail: (zhangz, radhika.veerla, rao)@uta.edu

Abstract: Advanced Image Coding (AIC) combines intra frame block prediction from H.264 with a JPEG-style DCT, followed by context adaptive binary arithmetic coding (CABAC) used in H.264. It performs much better than JPEG and close to JPEG2000. In this paper, we propose a modified AIC (M-AIC) by replacing the CABAC with a Huffman coder and an adaptive arithmetic coder. The simulation results demonstrate that M-AIC performs much better than JPEG, close to JPEG-2000and AIC, and a little bit better than AIC in some low bit rate range.

Keywords: advanced image coding, JPEG, block prediction, DCT, Huffman, adaptive arithmetic coding

  1. Introduction

JPEG [1] is a popular DCT-based still image compression standard that provides very good quality of reconstructed images at low or medium compression, but it suffers fromblocking artifacts at high compression. Several papers [2]-[7] have been published to improve the performance of DCT-based image compression. Bilsen [8] provides an Advanced Image Coding (AIC) that performs much better than JPEG and close to JPEG-2000 [10].AIC combines intra frame block prediction from H.264 [11] with a JPEG-style DCT, followed by context adaptive binary arithmetic coding (CABAC) used in H.264. In this paper, we propose a modified AIC by replacing the CABAC with a Huffman coder and an adaptive arithmetic coder.

  1. M-AIC algorithm

The proposed M-AICencoder is based on JPEG structure, to which a predictor is added.The predictor is composed of five parts including IDCT, Q1, Mode Select and Store, Block Predict and an Adder. The function of the predictor is to predict the current block to be encoded with the previously decoded blocks. The R (Red), G (Green) and B (Blue) components of the original image are converted to three channelsof Y (luminance), Cb and Cr (chrominances) without downsampling using the color conversion method in JPEG reference software[9]. The three channels of Y, Cb and Cr are compressed one after another with Y being the first and Cr being the last. Every channelis divided into non-overlapping 88 blocks which are encoded block by blockfrom left to right and top to bottom.While encoding each block in Y channel, the first thing to do is to select a block prediction mode, which minimizesthe prediction error, by full search among the predefined 9 modes in [8]. The selected prediction mode is stored and is used to predict not only the current block in Y but also the 2 blocks in Cb and Cr with same block index. The prediction residual (Res) of each blockis transformed into DCT coefficients with a fast floating point DCT algorithm. Then the DCT coefficients are uniformly scalar-quantized with the same quantization parameter for the entire image. After Zig-Zag scanning, all the 64 coefficients including both DC coefficient and AC coefficients are encoded with thealgorithm that encodes the AC coefficients in JPEG standard. The Huffman table used in the proposed algorithm for all channels of Y, Cb and Cr is the Huffman table for AC coefficients of chrominances in baseline JPEG[1][9]. The selected prediction modes are encoded by the ModeEnc module with a variable length code. To form a compressed stream, 11 bytes are used to construct a stream header including QP, image width, image height, pixel bit-count of the original image. The compressed bitstream is orderly composed of the header, the code of the prediction modes, the Huffman codes of Y-Res, Cb-Res and Cr-Res. At the end of the proposed encoderis an adaptive arithmetic coder(AAC). The source code of the AACadapted from the program in [12]is downloaded from [13]. The AAC is fed with 8-bit symbolsextracted byte-by-byte from the compressed stream (the header, the code of the prediction modes, the Huffman codes of Y-Res, Cb-Res and Cr-Res).The output of AAC is stored as the finally compressed result.The decoding process is the inversion of the encoding. The encoder and the decoder of M-AIC are shown in two figures in the paper.

  1. Simulation results

A simulation platform of M-AIC hasbeen implemented in this paper. Several test images including Lena, Airplane, Couple, Peppers, Splash and Sailboat have been tested. The results are compared with those obtained with the AIC software [8], the baseline JPEG reference software [9], and the JPEG-2000 reference software known as JasPer[10] respectively. Performance comparisons with bit-rate vs PSNR for Lena and Airplane are shown in Figure 1, which demonstrates that in the case of Lena M-AIC is a little bit better than AIC between about 0.2bpp and 0.5bpp, and very close to AIC between 0.5bpp and 1.0bpp; in the case of Airplane M-AIC is a little bit better than AIC between about 0.2bpp and 0.6bpp, and very close to AIC between 0.6bpp and 1.1bpp. The reconstructed Lena images at 0.22bpp compressed with AIC [8], JPEG-2000 [10], M-AIC and JPEG [9] are shown in Fig.2 (b), (c), (d), and (e) respectively. The results at 0.15bpp with AIC, M-AIC and JPEG are shown in Fig. 2 (f), (g) and (h) respectively. Fig. 2 shows that M-AIC performs much better than baseline JPEG, and close to AIC as well as JPEG-2000.

  1. Conclusion

A modified advanced image coding method (M-AIC) is proposed in this paper.The simulation results demonstrate that M-AIC performs much better than JPEG, close to JPEG-2000 and AIC, and a little bit better than AIC in some low bit rate range.

References

[1]W. B. Pennebaker and J. L. Mitchell, JPEG still image data compression standard, Van Nostrand Reinhold, New York, 1993.

[2]A. Guptaet al., “Modified runlength coding for improved JPEG performance,”Intl. Conf. on Information and Communication Technology,2007, pp. 235 – 237, Dhaka, Bangladesh, March 2007.

[3]G. Lakhani, “DCT coefficient prediction for JPEG image coding,”IEEE Int. Conf. Image Processing, 2007, vol. 4,pp. IV-189 – IV-192, Oct. 2007.

[4]C. Wang, et al., “An improved JPEG compression algorithm based on sloped-facet model of image segmentation,”Intl. Conf. on Wireless Communications, Networking and Mobile Computing, 2007, WiCom 2007, pp. 2893 – 2896, Sept. 2007.

[5]K. Lee, D.S. Kim, and T. Kim, “Regression-based prediction for blocking artifact reduction in JPEG-compressed images,” IEEE Trans. Image Processing, Vol. 14,pp. 36 – 48, Jan. 2005.

[6]E. Yang and L. Wang,“Joint optimization of run-length coding, Huffman coding and quantization table with complete baseline JPEG compatibility,” IEEE Int. Conf. Image Processing, 2007, vol. 3,pp.III-181 – III-184, Oct.2007.

[7]J. Huang and S. Liu, “Block predictive transform coding of still images,” in Proc. IEEE ICASSP-94, vol.5, pp.III-181 – III-184,April 1994.

[8]AIC website:

[9]JPEG reference software website:

ftp://ftp.simtel.net/pub/simtelnet/msdos/graphics/jpegsr6.zip

[10]JPEG 2000 reference software: “JasPer version 1.900.1” on

[11]J. Ostermann et al., “Video coding with H.264/AVC: tools, performance, and complexity,”IEEE Circuits and Systems Magazine, vol. 4, issue 1, pp. 7-28, first quarter 2004.

[12]I. H. Witten, R. M. Neal, and J. G. Cleary, “Arithmetic coding for data compression,”Communications of the ACM, vol. 30, pp. 520-540, June 1987.

[13]Adaptive arithmetic coding source code:

[14]

(a) Lena 51251224

(b) Airplane 51251224

Figure. 1Performance comparisons with bit-rate vs PSNR

(a) Original Lena (b) AIC: 0.22bpp (c) JPEG2000: 0.22bpp

(51251224) PSNR=28.84dB PSNR=29.57dB

(d) M-AIC: 0.22bpp (e) JPEG: 0.22bpp

PSNR=29.02dB PSNR=24.29dB

(f) AIC: 0.15bpp (g) M-AIC: 0.15bpp (h) JPEG: 0.16bpp

PSNR=27.29dB PSNR=27.43dB PSNR=14.05dB

Figure. 2Original and compressed Lena image with different methods