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?