HOME

IMAGES

FINAL REPORT
DCT Transform
Haar Wavelet Transform

quantization methods
results
conclusions

REFERENCES/LINKS

MATLAB CODE
DCT Code:
total.m
scale.m
Haar Wavelet Code:
h_transform.m
nrmlMat2.m
inrmlMat2.m
Quntze.m
IQuntze.m
BinOut.m
makeImage.m
makeBitMask.m
haar_col.m
haar_row.m
ihaar_col.m
ihaar_row.m
statcom2.m



flash.gif (80595 bytes)

ELEC301 Project Home Page

 wpe67.jpg (2127 bytes)

Digital images inherently take up a great deal of space. For purposes of transmitting files containing images or for storing image files, it is desirable to somehow decrease the size of the image files.  There are various methods of image compression that can be employed to provide savings in data size.   These methods can be evaluated using two criteria:  a) quantification of the savings achieved and b) whether or not they retain enough information to recreate the original image within some acceptable error margin.

 With regard to these criteria, image compression methods can be classified into two categories: lossy and lossless.  Lossy methods allow error into the recreated image because they use various approximation techniques to achieve high compression rates.  JPEG is an example of a popular lossy compression technique.  Lossless compression reduces image files by identifying redundancies in the data allowing for perfect recreation of the original image but delivering low compression rates.  GIF is an example of a frequently used lossless compression method.

There are several different classifications of coding techniques that are used to facilitate compression.  Pixel coding, as the name implies, codes each pixel in the image separately. When a pixel value occurs frequently, it gets a "short" encoding, (i.e. small number of bits), while the more exotic pixel values receive larger encodings. Predictive coding takes advantage of the fact that in most images, the value of one pixel is likely to be similar to the values of the pixels around it. In predictive coding quantized post values are used to predict future values. The most commonly used coding technique and the technique of interest in this project is called transform coding. 

When performing image compression using transform coding, the first step in the compression routine is to take an image represented by x by y pixels of data and transform the representation of the image into some new x by y pixels of data.  The original image typically has its energy, or important information, scattered throughout the image.  When the energy is randomly distributed, compression is difficult.  The objective of the transformation is to relocate a large percentage of the images energy into a specific region.  For our project we have chosen to concentrate on two methods of transform compression: the discrete cosine transform (DCT) and the Haar wavelet transform.

After the image transformation routine has been completed, the next step in the image compression process is amplitude digitization also known as quantization.  During quantization each pixel of the transformed digital image is mapped to a discrete number.  Each integer in range of numbers used in the mapping symbolize a color.  In this project we explored different types of quantization routines.

 wpe67.jpg (2127 bytes)

This project was completed as a portion of Richard Baraniuk's
1999 class on Signals and Systems at Rice University.

wpe67.jpg (2127 bytes)

Contact the authors:
nofences@rice.edu
heidit@caam.rice.edu
hard@rice.edu
bwang@rice.edu