Image-Processing Homework 3 Solved

30.00 $

Category:

Description

Rate this product

 

The objective of this assignment is for you to experiment with the various components of a JPEG codec. Your implementation should include both an encoder and a decoder. The purpose is the experimentation, so do not attempt to implement a codec that can read/write real JPEG files. It is only required that your decoder can reconstruct an image compressed by your encoder.

There are many components within a JPEG codec. Basically, your codec should consist of components in all the three main blocks: Mapper, Quantizer, and Symbol Coder. Things that you can experiment with include:

  • ï‚Ÿ  Block based transform coding: Different transforms, different block sizes, etc.
  • ï‚Ÿ  Quantization of DCT coefficients: Different quantization schemes (zonal coding, threshold coding, etc.),

    scaling factor to adjust quality, etc.

  • ï‚Ÿ  Predictive coding (between the DC coefficients of adjacent blocks): You can compare the results with and

    without the predictive coding.

  • ï‚Ÿ  Run-length coding of the AC coefficients: You can compare the results with and without the run-length

    coding.

  • ï‚Ÿ  Chromatic subsampling: Compare the results (including subjectively) with and without chromatic

    subsampling.

  • ï‚Ÿ  Huffman coding: (Note: The Huffman code tables in the standard are designed for when all the previous

    components are implemented, so they might not be suitable for you here. The suggestion is that you can go ahead to use Huffman code generated for each individual image.)

    There are many available examples on the Internet, even code samples. You are allowed to use or modify existing codes (give reference) for parts of your system, but you need to be able to modify them and do experiments with them. You can also existing library function or code for Huffman code.

    Try to evaluate your results both objectively (using SNR or RMSE) and subjectively (using examples, preferred with zoomed-in details).

    Start your experiments with gray-scale images. If you are successful at compress and reconstruct gray-scale images, then move on to color images. JPEG use the YCbCr color space for color images.

    The following two tables are quantization tables for luminance (left) and chrominance (right) from the standard documents. To experiment with block sizes other than 8×8, you can just interpolate the tables to your desired size.

    Use at least 4 images from those supplied with the second assignment for your experiments. In addition, it is encouraged that you also find some other types of images to experiment with, such as those with line drawings or text.

    To avoid delaying the decision on your final grades, this assignment will carry only a 3-day grace period (i.e., up to 1/10).

  • HW3-c4hzgu.zip