EE372: Quantization and Compression
Spring 2006-2007
Class Projects

April 4, 2007

As a final requirement for this class, each student is expected to do a project on data compression which uses or develops techniques, theory, or algorithms introduced in the class. In previous years, a number of class projects have resulted in conference publications, especially at the IEEE Data Compression Conference (DCC). Students are encouraged to develop a project that has some relationship to their own research interests, but a list of suggested projects is attached to help get started. Some are general and vague, some specific. Part of the creative process is finding a good project, there are no complete recipes for an acceptable project. The Web and the literature can be a big help for tracking down ideas.

Project proposals are due on Wednesday 3 May 2007 (whether or not the project is on the list), and projects themselves are due on Wednesday 6 June (by arrangement this can be extended to noon Wednesday 13 June). Oral presentations will be 4,6 June. Students are encouraged to work in pairs, but working alone is fine. (Groups of three or more are discouraged.) If two students wish to work together on a project, they must submit a joint project proposal with the individual assignments specified. All final reports should include a self contained description of the project (in readable English with appendices including any code written for the project). Each student should submit their own written report, although project partners may share "boiler plate" common material. Individual contributions should be emphasized in the reports.

A course project will typically consist of the design, programming, and simulation of one or more compression. clustering, or classification algorithms or of compression together with other signal processing. Algorithms can be applied to random process models, where mathematical performance bounds can be used for comparison, or to real data such as speech, audio, and images. Ideally algorithms should be tried on both. The reports and accompanying Web pages will be graded collectively by the TA and the instructor. The report should provide appropriate references to the literature and a comparative discussion with existing methods. The projects may be developed for any available platforms, but common languages such as C/C++, Java, Perl, and Matlab are encouraged. Projects fall within the Stanford Honor Code and all material taken from the other sources must be completely and properly acknowledged and cited.

The key idea is to be creative either in developing a new algorithm or in implementing an existing one in a novel way. Results whether good or bad should be compared and contrasted with the literature.

Some possibilities are listed below. You can pick a project from the list, or modify a project to suit your interests, or invent your own. Homework will be significantly reduced following the midterm to allow more time for project work.

You are encouraged to take advantage of special resources such as the scanners, super high resolution printers, etc. in the Image Systems Engineering Lab. These can be used to acquire data and display both originals and compressed reproductions.

There is code for compression system design and simulation available on the Web, e.g., Eve Riskin's C code at the University of Washington. Other resources exist on the Web and there is some local matlab code available. It is permitted to use and modify such code provided suitable acknowledgements and citations are made.

Project Tips and Guidance

  1. Try to select a project that is suitable to your interests or previous experiences.
  2. Once you choose your project, make a plan of how to attack the problem and apply.
  3. Be aware of the all resources that you can use during your project: