CS6604 - Data Compression
Spring 2008, CRN 16576
MWF 1:25pm, McBryde 316

Class Materials URL: http://pixel.cs.vt.edu/courses/cs6604.html

Instructor

R.W. Ehrich, KW2 129, Office Hours: M, W 2:45 - 3:45 in McB 636, or by appointment (1-5420)

Objectives

We live in a world where data compression is a key part of almost every aspect of computer and communications technology. No matter how much storage we have in our computers we are always concerned with space optimization and the algorithmic aspects of the efficiency we struggle to achive. No matter what the cost of communication links, we are always looking for techniques to achieve better transmission rates. Data compression is grounded in information theory, and there are many fundamental algorithms that we must deal with daily in our information transmission and storage tasks. In this course we discuss the theoretical underpinnings of data compression and cover many fundamental algorithms.

This course differs from previous offerings in that the course text by Sayood is the 3rd revision of a classic text that has been available for a number of years and covers both text and image compression. We may use examples from the information retrieval field to see how text compression has been integrated into retrieval software. The Bell, Cleary, and Witten text, will serve as an important reference for the course.

Grading

The semester grade will be based upon assignments issued in class (20%), one midterm (25%), at least one project (35%), and a comprehensive final examination (20%). Not all homework assignments will be graded, but students will not be told in advance which will be graded. Whenever feasible, solutions will be provided.

Exams

Midterm, Monday, February 18
Final, Friday, May 2, 1:05pm - (NOTE: Classes end Wednesday, April 30)

Ethics

The Honor Code will be strictly enforced. It is a violation to represent joint work as your own; always acknowledge any assistance you received in preparing work that bears your name.

You are expected to work independently unless explicitly permitted to collaborate on a particular assignment. It is not a violation to discuss approaches to programs with others; however, it IS a violation to use code fragments in your program that have been written by others without acknowledging the source.

Please be considerate of your fellow students. In particular, please realize that your classmates will likely need the reserve materials at the same time you do... don't keep these materials out for long periods of time, expecially before exams and assignment due dates.

Prerequisites

Undergraduate calculus, linear algebra, probability theory, and programming competence in C, C++ or Java.

Project

To be determined

Text

Sayood, Khalid, Introduction to Data Compression, 3rd Edition, Morgan Kaufmann, 2006.

References

References on Reserve

Papers in Reserve Collection

Bitplane Coding

Course Outline

Information theoretic foundations15%
Lossless and lossy compression
Modeling and coding
Entropy, conditional entropy, information, channels
Data models: static and adaptive
Coding: Fano, Huffman, Golomb, Rice, Tunstall

Arithmetic coding15%
Encoding
Decoding
Adapatation

Dictionary techniques10%
Static techniques
Adaptive coding: the LZ family

Context modeling10%
PPM
Burrows-Wheeler
Move-to-front
DMC

Lossless image compression10%
Multiresolution
CCITT Group 3 and 4
JBIG, JBIG2

Lossy coding preliminaries10%
Distortion
Rate distortion
Linear system models

Scalar and vector quantization10%
Uniform and nonunform quantizers
Adaptive quantization
Lloyd-Max quantizer
LBG quantizer
Tree-structured quantizers
Trellis-coded quantization

Differential encoding10%
Predictive DPCM
Adaptive DPCM
Delta modulation

Transform coding10%
Bases, inner products, orthogonality and orthonormality
Karhunen-Loéve transform
DCT
Walsh-Hadamard transform
JPEG