## CSCE 5683 - Homework 5

Due Date - 11/30/2010

### Problem Statement:

The goal of this assignment is to learn about a variety of
image compression techniques. This assignment has two parts:

**Part 1:**
Write a short description (two page maximum length) of **two**
of the eight image compression techniques below, using at least five
technical resources for information. In many cases, two pages will
not be enough to fully describe the method, so focus on the basic
idea behind the compression algorithm, and include figures/diagrams
if possible. Be sure to include the five references at the bottom
of your report.

- Huffman coding
- Arithmetic coding
- Golomb coding
- Run length coding
- Predictive coding
- Lempel-Ziv-Welch coding
- Discrete cosine transform coding (JPEG)
- Any other image compression method

**Part 2:**
Your second task is to demonstrate your two image compression techniques
on a small synthetic image with a limited pixel intensity range. For
example, a 16x16 image with values between 0..15. This should give you
enough bits to compress. Once you have converted your image into its
compressed form, calculate the overall image compression ratio. Which
method performed better? How does this compare to the entropy for the image?

Once you have selected your two methods, read about it in the textbook
and online resources compiled above to understand the details. If you
have questions, talk to the instructor after class or in office hours.
Since your second task is to demonstrate the method, you may need to
use a spreadsheet or small program to perform some of the calculations
for you. In the case of JPEG compression, this method is too large/complex
to do fully by hand, so pick one part of the process to demonstrate.
For example, you could borrow the sample code to calculate the DCT on your
input values, and then do the quantization phase by hand, and calculate
the resulting entropy.