EE398A - Image and Video Compression
Term Project - Compression of Stereo Image Pairs
1. Project groups
Your task is to compress stereo image pairs and develop and implement the most efficient algorithm that you can think of. You can apply things that you have learned in class, adopt any ideas from the literature, or incorporate techniques that have found their way into standards. The only rule is that you must implement everything from scratch in MATLAB or C. We also encourage you to be original and explore new ideas that will probably occur to you while working on the project.
3. Starter kit
Download the starter kit here
Download the test images here
In the starter kit, you will find the following MATLAB files:
The file ee398aproject.m contains a basic framework for opening stereo images, calling encode and decode functions and testing the quality of output images. The starter kit also contains 14 training images that you can use to design your algorithms and choose values for any parameters, create tables, etc.
4. Algorithm evaluation
The project goal is to compress stereo image pairs to the smallest average number of bits while maintaining a quality of 37dB PSNR or better for each image pair. The exact measurement of bitrate and quality is described in the following in detail.
The test setup expects input left and right images in an RGB color format, concatenated side-by-side, similar to the training images. RGB format is useful for viewing the images on a standard display. PSNR measurement is performed in YCbCr color format. The conversion from RGB to YCbCr is done in the provided wrapper file. Note that the Cb and Cr components are down-sampled by a factor of two before measuring PSNR. The encoder must generate an output bitstream that contains all the necessary information required for decoding. In order to view the decoded file, a routine is provided to double the resolution of the decoded Cb and Cr components and convert to RGB format.
a) Bitrate measurement
The size of the bitstream file is measured in terms of bits. This is also printed by the provided wrapper code in ee398aproject.m. The objective is to minimize the average bitrate over a set of stereo image pairs. When we evaluate your algorithm, we will average the bitrate across 7 test image pairs which are not part of the training set. While developing your algorithm, we suggest that you consider the bitrate averaged over the training set, or a part of the training set. For example, you might want to divide the training set into a set of image pairs for training code books and parameters and another set to test the performance. The images in the training set are representative of the images in the test set that we will use for the ultimate evaluation of your algorithm.
b) PSNR measurement
We define the sum of squared differences (SSD) between two images X1 and X2 as,
SSD is first computed for each component Y,Cb and Cr for the left and right images.
Denoting the number of pixels of the left and right images as MxN, we compute the mean squared error per sample as,
The mean squared error for the stereo image is then computed as,
Finally, the PSNR of the decoded stereo image is computed as,
For any image pair in the test set that does not pass the PSNR threshold of 37 dB, we will include the number of bits of the uncompressed image pair during the bitrate measurements.
c) Time limits
We will be using SCIEN machines to test your program. The total run time for encoding and decoding 7 test images is limited to 14 min. We will abort your program if it takes longer. Please make sure that your program runs without problems on the SCIEN machines.
5. Project Submission
a) Project report:
b) MATLAB code: You must implement your encoder and decoder in MATLAB or C. You can use any function in any MATLAB toolbox, but no software from other sources may be incorporated into your algorithm. We encourage you to compare your performance against popular coding softwares, and you can use open source code for that purpose. However, your own algorithm must be implemented from scratch. Submission includes
c) Electronic slides of your talk (e.g. powerpoint or pdf)
Should be submitted ahead of the talk by the deadline below. We will add a slide showing the performance of your codec to the end of your slide deck.
6. Submission procedure
Last modified: 23-Mar-2012