Abstract
Image compression has become one of the most important disciplines in digital electronics because of the ever-growing popularity and usage of the internet and multimedia systems combined with the high requirements of the bandwidth and storage space. Various image compression algorithms exist in today’s commercial market. This project mainly emphasis on the Joint Photographic Experts Group (JPEG) image compression standard, which is currently a worldwide standard for the still image compression. The main aim of the project was to write C codes to implement various steps of JPEG compression on the TI’s Video development Platform DM6437 DVDP. Images were captured using digital camera and the resulting images after each successive step of the JPEG algorithm were displayed on a television. Various JPEG decompression steps such as inverse DCT, dequantization, inverse zigzag and run length decoding were also implemented on the Texas Instrument’s DM6437 board to verify the correctness of the corresponding compression steps by reconstructing the original image and displaying it on the television. In JPEG algorithm, the image is first divided into small 8x8 blocks and DCT and quantization is applied on each individual blocks. DCT is critical part of the JPEG algorithm and hence it is studied extensively over the past two decades. It is very useful to predict the statistical distribution of the DCT coefficients to test quantization effectiveness. Many well-known probability distribution functions such as Gaussian, Gamma, Laplacian and Rayleigh are assumed to model the DCT coefficients according the Kolomogorov-Smirnov (KS) goodness to fit test. In this project, the MATLAB code was written to apply KS test on the DCT- coefficients of five different still images and resulting graphs were used to find out the best Probability Distribution Functions for accurate modeling of DC and some of the high-energy AC coefficients. The lossy compression schemes such as JPEG standard may exhibit unwanted image artifacts to appear in the images and may blur the reconstructed images. This may take form of the ‘blocky’ effect found in an image, which is basically caused by the coarse quantization of DCT coefficients. Many image-filtering approaches have been proposed to smooth out the discontinuities that appear across the DCT block boundaries. While some of these approaches can effectively decrease the severity of these unwanted artifacts to some extent, other approaches may cause excessive blurring of high-contrast edges in the image due to the lack of proper image segmentation methods prior to applying the filtering. The image de-blocking filter presented in this project can reduce these discontinuities by means of employing local segmentation method prior to applying the moving average filter to a local neighborhood of 3x3 DCT coefficients. The de-blocking filter presented in this project can improve the image quality and Peak Signal to Noise Rations (PSNR).