You are on page 1of 4

International Symposium on Communications and Information Technologies 2004 ( ISCIT 2004 ) Sapporo, Japan, October 26- 29, 2004

A Modified Hybrid DCT-SVD Image-Coding System for Color Image


Y. Wongsawat, H. Ochoa, K.R. Rao, S. Oraintara
Department of Electrical Engineering University of Texas at Arlington 416 Yates Street, Arlington, TX 76019, USA E-mail: yxw1769@exchange.uta.edu hdo5294@exchange.uta.edu rao@uta.edu oraintar@uta.edu

Abstract In this paper, we propose a modified hybrid DCT- SVD image-coding system (MHDCTSVD) to encode both monochromatic and color images. The color (RGB) components are transformed into YCbCr. Cb and Cr components are downsampled by a factor of two along both the horizontal and vertical directions. The standard deviation of 88 blocks of the Y component is used to select between DCT and SVD. The DCT is used to transform the highly correlated blocks of the YCbCr components, while the SVD is used to transform the low correlated blocks. The simulation results show good image quality at low bit rates compare with the conventional hybrid DCTSVD image-coding algorithm.

II. THE PROPOSED SYSTEM The pixel domain of the 88 blocks is decomposed in terms of eigenvalues and eigenvectors. In terms of eigenvalues, it is easy to select the required energy. Thus, it is also easy to determine which eigenvalues and corresponding eigenvectors can be discarded. If A is an mn matrix, then the SVD of A can be described as follows: A = U VT (1)

I.

INTRODUCTION

Image compression techniques are experiencing many improvements under the method of transform coding. Many research groups have developed the image-coding algorithms that optimize bit rate and image quality. Image compression is the fundamental knowledge that leads to many advanced technologies, such as digital video, video conferencing, and internet among others. The development of image and video compression standards can help solving the problems between bit rate and image quality, along with computational complexity [7]. The singular value decomposition (SVD) provides optimal energy-packing efficiency for all images [10]. However, the SVD requires high complexity to compute its eigenvalues and eigenvectors. Thus, it is not useful for actual applications to use the SVD. The discrete cosine transform (DCT) [14] performs well for highly correlated images. Hence, both transformations, SVD and DCT, can be combined to obtain a hybrid DCT-SVD image-coding algorithm (HDCTSVD) [9]. This algorithm can reduce a lot of complexity that occurs when using only SVD and also improve the quality of the image when using only DCT. Bit rate and image quality are improved by encoding eigenvectors with adaptive multistage vector quantization (AMVQ). In this paper, we propose a modification of this system for color images and discuss its simulation results.

where U is an mm orthogonal matrix, V is an nn orthogonal matrix, is an mn matrix whose off-diagonal entries are all 0s. The diagonal elements of must satisfy 12n0. The set of is determined by this factorization is unique and is are called the eigenvalues of A.
A modified HDCTSVD image-coding system (MHDCTSVD) is a modification of a HDCTSVD image-coding algorithm proposed in [9]. Standard deviations of the 88 subblocks of the image are used to choose between SVD and DCT. If the DCT is selected, the uniform quantization is used to quantize the DCT coefficients. If the SVD is chosen, the uniform quantization is used to quantize the eigenvalues, and the online adaptive vector quantization (OAVQ) [9] is used to quantize the eigenvectors. However, in MHDCTSVD, adaptive multistage vector quantization (AMVQ) is used to encode the eigenvectors.

A.

Encoder

Initially, the 512512 image is divided into 88 subblocks. Then the decision stage (Fig. 1) decides DCT or SVD. DCT is used when the standard deviation (STD) of an 88 subblock of the image is below the threshold. First, the flag is sent to indicate the use of DCT. After that, the subblocks are subtracted by the offset of 128. Next, DCT is applied to the 88 subblocks followed by quantization using SQ Table [3]. The first three

766

quantized DCT coefficients are sent according to the zigzag scan. The first quantized DCT coefficient is coded using 7-bits. The second and the third quantized DCT coefficients are coded using 6-bits, each. SVD is used when STD of the 88 subblock of the image is above the threshold. The flag is sent to indicate the use of SVD. In the system of Fig. 1, the energy of the subblock is calculated starting with the eighth eigenvalue. If the energy of the eighth eigenvalue exceeds the setting threshold = 0.1, all eigenvalues are retained. However, if the energy of the eighth eigenvalue does not exceed , the energy of the seventh eigenvalue and the eighth eigenvalue are calculated. This process is continued until the energy exceeds . The result yields the number of the eigenvalues to be retained. This also automatically discards the eighth eigenvector and its corresponding eigenvalue. The energy (E) of the reconstructed subblock is defined as

2nd eigenvector is encoded using a 2-stage VQ, with the codebooks of sizes 128, 164. If MSE is greater than 0.1, a 7-bit SQ is selected. 3rd eigenvector is encoded using a 2-stage VQ, with the codebooks of sizes 128, 64. 4th and 5th eigenvectors are encoded using VQ, with the codebook of size 32. 6th eigenvector is encoded using VQ, with the codebook of size 16. 7th eigenvector is encoded using VQ, with the codebook of size 4.

E = ( n) ,
n =1

(2)

Before encoding a color image, the system performs the color transformation from RGB to YCbCr. To achieve better compression, the chrominance components are filtered by a low pass filter [16], and then downsampled by a factor of two, both horizontally and vertically. After that, the Y, Cb and Cr components are encoded separately by the MHDCTSVD (see Fig. 3). Decoder If the tiles belong to monochromatic image, the first bit will indicate which transformation is used. If the SVD is used, the number of the retained eigenvalues will be read. Then, the next bit will indicate that the following 19 bits will be the index of multistage VQ (8 bits + 6 bits + 5 bits) or the following 64 bits (8 bits 8) will be the quantized eigenvector using uniform SQ, after that the first eigenvector is decoded. This process is repeated until the matrices U and VT are recovered. For the eigenvalues, the recovering process uses the inverse SQ. UVT yields the reconstructed 88 block. After completing a SVD block, if the decoder reading the flag indicates the use of DCT, the quantized DCT coefficients will be retrieved (see Fig. 2). If the tiles belong to a color image, the chrominance components are upsampled by a factor of two, and filtered by an interpolation filter [16] to recover the 512512 YCbCr components before transforming to RGB components (see Fig. 3). B.

where q is the number of the retained eigenvalues. The next step is to send this number by using 3 bits. The eigenvalues are encoded using uniform scalar quantization of 8, 7, 7, 6, 4, 4, 4 bits respectively.
Monochromatic or Color Image Tiles Subtract Offset SVD Transform and retain required energy of the 8 x 8 block DCT Transform Eigenvalues SQ Multistage VQ Eigenvectors SQ Zig-Zag Scan Bit Stream

Compute STD of 8 x 8 block

Compute MSE of the output Eigenvectors

SQ

Fig. 1. Encoder part of the MHDCTSVD

The first and the second eigenvectors are encoded using adaptive multistage vector quantization (AMVQ). First, the eigenvectors will be encoded using multistage VQ. After that, the MSE of the recovered eigenvectors will be calculated. If the MSE is above the setting threshold, SQ is used to quantize the eigenvectors instead of multistage VQ. The flag is sent to indicate which type of quantization is used. The third eigenvector is coded using 2-stage VQ, and the other eigenvectors use only VQ. The eigenvectors of matrices U and VT are encoded using the same codebooks trained using LBG algorithm [5]. Procedures to encode when SVD is used : 1st eigenvector is encoded using a 3-stage VQ, with the codebooks of sizes 256, 64, 32. If MSE is greater than 0.01, an 8-bit SQ is selected.

DeZigZag scan Bit Stream SQ-1

SQ-1 Eigenvalues

Inverse DCT Transform

Add Offset Reconstructed Image

Eigenvectors SQ-1 Eigenvectors Multi-stage VQ-1 Code books

Recover the original block

Fig. 2. Decoder part of the MHDCTSVD

767

Original Color Image

Color Transformation RGB to YCbCr

Decimation Filter, Downsampling Cb,Cr and Tile Y,Cb,Cr

MHDCTSVD Encoder

Reconstructed Image

Color Transformation YCbCr to RGB

Reconstructed block processing Y,Cb,Cr , Upsampling and Interpolation Filter Cb,Cr

MHDCTSVD Decoder

image, using the MHDCTSVD at the bit rate of 1.8073 bpp and 1.2925 bpp yields the PSNR of 32.3757 dB and 30.0707 dB respectively. Finally, Fig. 5 illustrates the reconstructed images using the MHDCTSVD for monochromic Airplane images at the bit rates of 0.9296 bpp and 1.0412 bpp, the PSNRs are 29.5928 dB and 29.3730 dB respectively, and the color Airplane images at the bit rates of 0.3575 bpp and 0.4714 bpp, the PSNRs are 29.0820 dB and 29.3309 dB, respectively. IV. CONCLUSION

Fig. 3. Extension of the MHDCTSVD for color images

III. RESULTS In this section, the simulation results are presented. Most of the comparisons are presented by graphs showing distortion versus bit rate. The percentage of SVD and DCT blocks depends on the STD. The DCT is used when the subblocks are highly correlated or low STD. The SVD is used when the subblocks have low correlation or high STD. Using 88 SVD subblocks requires high bit rates, but PSNR is improved. Using 88 DCT subblocks requires lower bit rate, but PSNR is decreased. According to Fig. 4, the MHDCTSVD yields better results than the HDCTSVD in the low bit rate range, but for the high bit rate range, the HDCTSVD gives better results than the MHDCTSVD. The reason is that AMVQ gives better results than OAVQ for low bit rate range, but for high bit rate range AMVQ reaches its limitation, thus OAVQ is better than AMVQ at this range of bit rate. When all of the 88 subblocks are transformed using the DCT, the bit rate and PSNR increase as the number of retained DCT coefficients increases. Although, the MHDCTSVD outperforms the DCT, it is still not as good as JPEG baseline because JPEG baseline uses other techniques to improve the bit rate and the distortion, such as the differential DC encoding along with the variable length coding. For Barbara

This paper proposes a new image-coding algorithm that combines the SVD and the DCT to encode both monochromatic and color images. STD is the criterion to choose whether the DCT or the SVD is used. To achieve better image quality (PSNR), our scheme of AMVQ is applied to the eigenvectors of the subblocks of the images. The MHDCTSVD yields better results than HDCTSVD in the low bit rate range because of using AMVQ. However, for high bit rate range, the OAVQ yields better results than the AMVQ because of the limitation of AMVQ in using fixed codebooks. The MHDCTSVD also outperforms the DCT because of the optimal energy-packing efficiency of SVD. Thus, the ways to tile the images and the combination of SVD and DCT yields the benefits for the compression and the quality of the images. Tiling the image into the appropriate subblocks also yields the great advantages for the implementation. REFERENCES
A.K. Jain, Fundamentals of Digital Image Processing. Englewood Cliffs, NJ: Prentice-Hall, 1989. [2] K. Sayood, Introduction to Data Compression. 2nd Edition. San Francisco, CA. Morgan Kaufmann, 2000. [3] R.C. Gonzalez and R.E. Woods, Digital Image Processing. 2nd Edition. Upper Saddle River, NJ: Prentice Hall, 2002. [4] K.R. Rao and J.J. Hwang, Techniques and Standards for Image, Video and Audio Coding. Upper Saddle River, NJ: Prentice Hall, 1996. [5] Y. Linde, A. Buzo, and R.M. Gray, An Algorithm for Vector Quantizer Design, IEEE Trans on Communications, Vol. 28, pp. 84-95, Jan. 1980. [6] S.J. Leon, Linear Algebra. 6th Edition. Upper Saddle River, NJ: Prentice Hall, 2002. [7] I.E.G. Richardson, Video Codec Design. Chichester, West Sussex: Wiley, 2002. [8] H. Ochoa and K.R. Rao, A Hybrid DWT-SVD Image-Coding System (HDWTSVD) for Monochromatic Images, Proceedings of IS&T/SPIE, vol. 5022, pp.1056-1066, Jan. 2003. [9] A. Dapena and S. Ahalt, A Hybrid DCT-SVD Image-Coding Algorithm, IEEE Trans. CSVT, vol. 12, pp.114-121, Feb. 2002. [10] C.M. Goldrick, W. Dowling, and A. Bury, Image Coding Using the Singular Value Decomposition and Vector Quantization, in Image Processing and its Applications, 5th international conference, pp.296-300, IEE, 1995. [1]

Fig. 4. Comparison of HDCTSVD tiled in 44 block and HDCTSVD tiled in 88 block with MHDCTSVD for the Barbara image. The numbers on the line indicate the values of criterion, STD, used.

768

[11] M. Goldberg, P.R. Boucher, and S. Shlien, Image Compression Using Adaptive Vector Quantization, IEEE Trans. on Communications, vol. Com-34, pp. 180-187, Feb. 1986. [12] http://sipi.usc.edu/services/database/ [13] G.H. Golub, and C.F. Van Loan, Matrix Computations, Baltimore, MD: The Johns Hopkins University Press, 1996. [14] K. R. Rao, and P.C. Yip, The Transform and Data Compression Handbook, Boca Raton: CRC Press, 2001.

[15] B.G. Lee, A new algorithm to compute the discrete cosine transform, IEEE Trans. ASSP, vol. ASSP-32, pp. 1243-1245, Dec. 1984. [16] M. Ghanbari, Standard Codecs: Image compression to Advanced Video Coding. The Institution of Electrical Engineers, London, 2003.

(a)

(b)

(c)

(d)

Fig. 5. Reconstructed images using MHDCTSVD for monochromatic images of (a) 0.9296 bpp, 29.5928 dB and (b) 1.0412 bpp, 29.3730 dB for Airplane image. Reconstructed images using MHDCTSVD for color images of (c) 0.3575 bpp, 29.0820 dB and (d) 0.4714 bpp, 29.3309 dB for Airplane color image.

769

You might also like