CS384M: Multimedia Systems

Fall 2001

 

Project 1

Layered Coding Techniques

 

Due: Tuesday, October 2, 2001

Time: In Class

 

 

 


Objective of this project

 

The objective of this project is to provide you some hands-on experience with layered codecs, and explore some of the important properties of these codecs.

 

Project Details

 

The project has two parts.

 

*   Part I: Gain familiarity with a layered codec or implement your own

 

You need to become familiar with an existing codec that either supports layered coding or extend a single-layer codec (e.g., MPEG-1 codec) to support scalable compression (i.e., add support for multiple layering).

 

We have compiled a list of public domain codecs; source code for some of these codecs is available. You may use one of these codecs for your project. You are free to choose other ones if you like.

 

*   Part II: Experiment with the layered codec and analyze its properties

 

Use the codec implementation to answer the following questions.

 

1.       How does the bit rate required for the full-resolution video change with increase in the number of layers (i.e., what is the overhead of layering on compression efficiency)? Plot a graph of bit rate requirement with increase in the number of layers. Does the variation depend on the video being encoded?

 

2.       What is the relationship between the bit rate requirement and PSNR (signal-to-noise ratio) for layered codecs with variation in number of layers? To answer this question, analyze the performance of your codec to understand the PSNR that the codec can support for a given value of bandwidth (or bit rate) availability. Further, analyze the dependence of PSNR on bit rate with variation in the number of layers. Plot a graph of PSNR vs. bit rate, with one curve each for different settings of number of layers.

 

3.       What is the effect of packet losses on the PSNR of decoded video stream? You should experiment with isolated and bursty packet losses. Further, you should experiment with the case when the packet losses are uniformly spread across all layers and when the losses are observed only in the enhancement layers. Plot graphs to demonstrate your results.

 

NOTE: It is possible that your public-domain implementation of the codec may not handle data loss. So, you may need to enhance your codecs to conduct this experiment.

 

4.       Can you increase arbitrarily the number of layers for a video stream that your codec produces? Can you control the bandwidth levels for each of the layers? If not, why not and what is the distribution of bit rate requirements of the layers?

 

5.       Will the compression algorithm support dynamic changes in the number of layers or the bit rate requirement of layers? Are there any inherent reasons why you may not be able to support this capability for your codec?  

 

 

Submission Requirements

 

You will need to submit a report describing your results as well as show a demo of your codec.

 

Your report should contain the following.

 

*   A clear description of your selected compression/decompression algorithm.

*   Answers to each of the above questions.

*   Explanation/justification for your answers.

 

You must typeset your report and include graphs for your results.

 

Grading

 

Both your report and the demo will be graded. In the report, it is not only important to “have the right answer” but to also explain your answer crisply. Don’t include a lot of graphs. Include a few graphs with an explanation of why those graphs are important and a crisp explanation of what they show.

 

Here is the breakdown of the grades.

 

75%

Answers to the above 5 questions (15% for each question)

25%

Demo

 

Good luck!!