Вы находитесь на странице: 1из 2

2017-18

EL-447: Multimedia Systems and Networks


Programming Based Home Assignment Sheet

Note: Students are needed to form a group of 5 students and each group has to attempt one
problem, as per the problem allotment policy. Each group is required to submit one report
that will include problem statement, C/MATLAB program and simulation results along with a
brief discussion on the report. Marks will be awarded only after the viva voce of all group
members.

1. Create a half page document (unformatted text) using notepad. Write a C/C++ code to
implement dynamic Huffman encoding and decoding algorithms to compress this text.
Assuming 8 bit/character, calculate the average no. of bits/character in the coded
bitstream and compression ratio achieved. What are the limitations of dynamic Huffman
coding algorithm?

2. Create a half page document (unformatted text) using notepad. Write a C/C++ code to
implement binary Arithmetic encoding and decoding algorithms to compress this text.
Assuming 8 bit/character, calculate the average no. of bits/character in the coded
bitstream and compression ratio achieved. Why adaptive binary arithmetic coding is
required?

3. Write C/C++ code to implement LZ77 algorithm (sliding window). You may assume a
suitable window size (but specify it in your report). Test the performance of the algorithm
by considering one page unformatted text and calculate the compression ratio? How LZW
algorithm differs (from implementation point of view) to that of LZ77?

4. Write C/C++ code to implement LZ78 algorithm. Test the performance of the algorithm
by considering one page unformatted text and calculate the compression ratio? How LZW
algorithm differs (from implementation point of view) to that of LZ78?

5. Write C/C++ codes to read a .ppm image file (format used for colour RGB images). Also
write codes to convert RGB images to YUV and HSI colour formats. Display the
resulting three planes separately. Highlight the merits and demerits of these formats.
What is the need of different colour formats?

6. Write C/C++/MATLAB codes to implement JPEG image compression algorithm for a


gray-scale image. Implement all steps of JPEG encoder and decoder, however, you may
use standard quantization table and standard Huffman tables for entropy coding. Test the
performance of coder in terms of compression ratio and PSNR for at least 5 test images of
size at lest 256x256.
7. Write a C/C++ code to read .wav audio files. Consider a mono-channel audio file and
read it using your program. Study the Aliasing effect on the audio signal by down-
sampling the audio signal at rates 2:1, 5:1, 10:1, 20:1, and measure the quality of down-
sampled audio signals in terms of signal to noise ratio (SNR). Consider original signal as
a reference to calculate SNR.

8. Write MATLAB codes to implement DPCM speech encoder and decoder using first order
predictor. Use a uniform mid-tread quantizer (no. of quantization levels L= 8, 16, 32, 64)
to quantize prediction errors. Compare the quality of DPCM coded signals with that of
original signal in terms of rate-distortion performance. What is your observation about the
effect of quantization on the quality of audio signals?

9. Write C/C++ code to implement Full Search motion estimation (ME). Note that ME
generates a motion vector (MV_x, MV_y) for a 16x16 macroblock and use search range
[-16, 16]. The Sum of Absolute Error/Difference (SAE/SAD) can be used as the block
matching criteria. Construct at least five motion compensated (MC) frames. To test your
programme, you may consider any CIF 4:2:0 sequence in YUV format and apply motion
estimation and compensation only on Y-components. Write your comments on the need
of motion estimation and compensation in video coders.

10. Consider a CIF resolution video sequence in YUV 4:2:0 colour format having at least 10
frames. Implement Intra-coding mode only (M-JPEG), i.e. treat each frame as an image
and apply JPEG coding scheme to encode the video. Also, implement corresponding
decoder. You can use C/C++/MATLAB for implementation. What is your comment on
the coding performance of this coder? Which redundancy has not been exploited in this
implementation?

11. Write C-code to implement 2-D wavelet and inverse wavelet transform. Apply it on a
grey-scale image and show the transformed (after appropriate scaling) and reconstructed
images and highlight the advantages of DWT over DCT.

Вам также может понравиться