14th LSI Design Contests・in Okinawa Design Specification - 2

2. THE COMPRESSION AND DECOMPRESSION MODULE

In this section, we will explain detail block diagram of the compression and decompression module.

2.1. THE COMPRESSION MODULE

The Compression Module consists of the DCT Transform and the Quantizer block as can be seen in Figure 2. In this module, the input image data will be processed by 8x8 pixels. Therefore 8 points 2-D DCT transform is required. The size of this 8x8 pixels was determined by JPEG and MPEG standard as a balance between image quality and computation complexity.

The DCT transformation sub-block decorrelates the image data by reducing or in some case eliminating inter pixel redundancy. The DCT transform takes some points from spatial domain and transform them into an equivalent representation in the frequency domain. Transformation is a lossless operation, therefore, the inverse of transformation will produce the original image.

At this point, we haven't accomplished any compression. It just replaces 8x8 pixels by 8x8 DCT coefficients. In fact, output of DCT is larger than before. But the important thing is all data has been organized in term of importance. The low frequencies which are the most importance located on the upper-left of DCT coefficients. While the higher frequencies, the one which will be eliminated, are located on the lower-right of DCT coefficients.

Before entering the DCT Transform process, the 8x8 pixels data has to be converted from unsigned integers with range[0,2P-1] to signed integers with range[-2P-1,2P-1-1], where P is the number of bits per pixel value (Y, Cr or Cb). This process can be done by subtracting 2P-1 [0,2P-1]from the pixel value. If we have 8-bit per pixel value, we convert pixel value [0-255] to [-128,127] by subtracting 128.

After all DCT coefficients are organized based on its frequencies, we are ready to the next step of image compression. The next processing is quantization. This is the lossy process of image compression, where we eliminate the least information from image data. The quantization process divides DCT coefficients value by the Quantizer coefficients. Therefore, the Quantizer modules requires pre-defined coefficient that is stored in the Quantization Coefficients Table.

The Quantization block uses the fact that human eye is unable to perceive high frequency data in an image. Some of these data can be discarded without introducing noticeable visual flaw. Thus the goal of quantization is to reduce most of high frequency coefficient to zero. The more zeros we generate the better compression ratio we achieve. But as the consequence, the quality of compressed image will be reduced.

The detail processing of each block in this module will be described in the next section.

Figure2

Figure2  The Image Compression Module

2.2. THE DECOMPRESSION MODULE

In order to decode and reconstruct the original image, the compressed image bitstream data is passed through the decompression module as shown in Figure 3. At the output of decompression module, the output data is added by 128 to convert back to unsigned integer [0-255]. The decompression module consists of blocks that are dual of the compression module.

               
Figure3

Figure3   The Decompression Module

<<Back                 Next>>