

Study with the several resources on Docsity
Earn points by helping other students or get them with a premium plan
Prepare for your exams
Study with the several resources on Docsity
Earn points to download
Earn points by helping other students or get them with a premium plan
Problem set 5 for the digital image processing course (ece 6258) at the georgia institute of technology, issued in fall 2003. The problem set includes instructions for implementing a discrete cosine transform (dct) of block size 8 Ć 8 and its inverse, quantizing dct coefficients using a uniform quantizer, determining the entropy of dct coefficients, and producing a graph showing the rate-distortion function.
Typology: Assignments
1 / 2
This page cannot be seen from the preview
Don't miss anything!


School of Electrical and Computer Engineering
ECE 6258 Digital Image Processing Fall 2003
Problem Set #
Issued: Monday, October 20, 2003 Due (live): Wednesday, October 29, 2003 Due (video): Wednesday, November 10, 2003
Problem 5.1 (Blockwise DCT) The DCT-II is a separable unitary transform, so that the DCT of an image block of size M Ć M is X = AT^ xA, where x is the M Ć M image block and A is the M Ć M transform matrix containing elements
aik = αi cos
( (2k + 1)iĻ 2 M
) for i, k = 0, 1 ,... , M ā 1
with
α 0 =
ā 1 M αi =
ā 2 M
āi > 0.
Implement a DCT of block size 8 Ć 8 and its inverse. Print out the values of the matrix A. Since we do not care about fast algorithms here, you can simply use matrix multiplications in Matlab.
Problem 5.2 (Uniform Quantizer) Implement quantization of the coefficients by a uni- form (mid-tread) quantizer with for an arbitrary step size Q. Use the same step-size for all coefficients. Using the boats image on the class website (āboats.gifā), measure the mean-squared quantization error for Q = 2^0 , 21 , 22 , 23 , 24 , ..., 27.
Problem 5.3 (Entropy of the DCT coefficients) To estimate the bit-rate required to encode the coefficients, we will assume that each coefficient is coded at a bit-rate equal to its entropy, but that each of the 64 DCT coefficients has a different en- tropy (fractions are OK). Thus we need to determine the entropy for coefficient (0,0), the entropy for coefficient (1,0), etc. These entropies will vary with the amount of quantization that is applied to the DCTs. The average number of bits/pixel is then equal to 1/64*sum(entropy of each coefficient). Determine the bit-rate for Q = 2^0 , 21 , 22 , 23 , 24 , ..., 29 , using block DCTs from the images boats, mandrill, and peppers, which are available on the web site. (It is OK to use the Matlab function dct2 instead of your function in Problem 5.1 to speed up the program.)
Problem 5.4 (Rate-distortion Function) The PSNR will be used to measure the qual- ity of the reconstructed images. It is defined for 8-bit images as follows:
P SN R = 10 log 10
( 2552 d
) [dB]
The average distortion, d is the mean-squared error between the original and recon- structed images. Using the same quantizers and the same images that you used in the previous problem, produce a graph showing distortion as a function of bit-rate. This graph should show the PSNR we should expect as a function of bit-rate. (Hint: Since the DCT is unitary, you can use Parsevalās relation to compute the distortion directly from the DCT coefficients.)