Weekly Projects, November 28

As in the last weeks, choose just one of the projects. You are also most welcome to come up with alternative project ideas yourself, as long as they are related to the issues we are currently discussing. In any case, note that it is natural to compare your results to those obtained in previous weeks.

Project 1

Implement hexagonal lattice quantization and compare with uniform scalar quantization (using either entropy coding or fixed length codes of quantized values in both cases) on image and sound files. Can any difference in rate/distortion tradeoff be perceived? Can any difference be measured? For the ambitious: Same experiments for good lattices of higher dimensions; find definitions and/or code for these lattices elsewhere.

Project 2

Implement the generalized Lloyd iteration (the Linde-Buzo-Gray algorithm). Does the local search procedure work well or does it get stuck often in local minima? Can you boost it using standard ways of improving local search procedures (such as repeating the search on several random starting points)? Use it to compress images to less than 1 bit per pixel. Which combinations of parameters (dimension, number of quantization points) yield good/fair rate/distortion tradeoffs (including overhead of transmitting description of the quantization points in the rate)? Which combinations yield good/fair rate/perceived quality tradeoffs? Can you also use the technique to compress sound files to less than 1 bit per pixel?

Project 3

Use a fixed set of quantization points (such as a big downsampled set of photos from your photo album if you have one) to vector-quantize various images (by partitioning the image into blocks and replacing the block with the quantization point of your set yielding minimum distortion). Is this an attractive way of compressing images?

Project 4

The Waterloo Fractal Compression Project Page contains programs implementing fractal compression (follow the link: Material available from this Project). Try to make any of them work and use them to compress images. What are the achieved rate/SNR/perceived quality tradeoffs? What is the speed of compression?