Programming Assignment 1
Due Date: January 30, 2019 (Wednesday)
Objective:
Learn essential parts of Hierarchical JPEG and some multimedia
programming skills.
Assignment:
- Write your own code to implement chroma subsampling, transform coding,
quantization, and hierarchical coding
for the encoder and decoder of the Hierarchical JPEG.
- Do not implement the entropy (lossless) coding part.
Optionally, you may include any publicly available code for this.
- Create a minimal graphical user interface for the purpose of
demonstrating your results.
Minimum Requirements:
- For color, use YUV and do 4:2:0 chroma subsampling.
  ( ** A note on RGB-YUV conversion.)
- Use matrix multiplication for the 2D DCT/IDCT
- Do a minimum of 3 levels for the Hierarchical JPEG.
- Use different quantization matrices to show the effect of lossy
compression.
- You may use any programming language of your choice, C++ or Java
is recommended.
What to hand in:
(a) Submit your source and executable files on line by the due date.
(b) Hand in a short (3-4 pages) written report summarizing what you
have done for your assignment in class on the due date.
(c) Have a demo to the instructor.