Report

Losslessy Compression of Multimedia Data Hao Jiang Computer Science Department Sept. 25, 2007 Lossy Compression Apart from lossless compression, we can further reduce the bits to represent media data by discarding “unnecessary” information. Media such as image, audio and video can be “modified” without seriously affecting the perceived quality. Lossy multimedia data compression standards include JPEG, MPEG, etc. Methods of Discarding Information Reducing resolution Original image 1/2 resolution and zoom in Reduce pixel color levels Original image ½ color levels For audios and videos we can similarly reduce the sampling rate, the sample levels, etc. These methods usually introduce large distortion. Smarter schemes are necessary! 2.3bits/pixel (JPEG) Distortion Distortion: the amount of difference between the encoded media data and the original one. Distortion measurement – Mean Square Error (MSE) mean( ||xorg – xdecoded||2) – Signal to Noise Ratio (SNR) SNR = 10log10 (Signal_Power)/(MSE) – Peak Signal to Noise Ratio PSNR = 10log10(255^2/MSE) (dB) (dB) The Relation of Rate and Distortion The lowest possible rate (average codeword length per symbol) is correlated with the distortion. Bit Rate H 0 D_max D Quantization Maps a continuous or discrete set of values into a smaller set of values. The basic method to “throw away” information. Quantization can be used for both scalars (single numbers) or vectors (several numbers together). After quantization, we can generate a fixed length code directly. Uniform Scalar Quantization Assume x is in [xmin, xmax]. We partition the interval uniformly into N nonoverlapping regions. Quantization step D =(xmax-xmin)/N xmin Quantization value xmax Decision boundaries A quantizer Q(x) maps x to the quantization value in the region where x falls in. Quantization Example Q(x) = [floor(x/D) + 0.5] D Q(x)/ D 2.5 1.5 0.5 -3 -2 -1 0 1 -0.5 -1.5 -2.5 2 3 Midrise quantization x/D Quantization Example Q(x) = [round(x/D)] D Q(x)/ D 3 2 1 -3 -2 -1 0 1 -1 2 3 -2 -3 Midrise quantization x/D Quantization Error To minimize the possible maximum error, the quantization value should be at the center of each decision interval. If x randomly occurs, Q(x) is uniformly distributed in [-D/2, D/2] Quantization error xn x Quantization value xn+1 Quantization and Codewords 000 xmin 001 010 011 100 101 xmax Each quantization value can be associated with a binary codeword. In the above example, the codeword corresponds to the index of each quantization value. Another Coding Scheme Gray code 000 001 011 010 110 111 xmin • The above codeword is different in only 1bit for each neighbors. • Gray code is more resistant to bit errors than the natural binary code. xmax Bit Assignment If the # of quantization interval is N, we can use log2(N) bits to represent each quantized value. For uniform distributed x, The SNR of Q(x) is proportional to 20log(N) = 6.02n, where N=2n dB About 6db gain 1 more bit bits Non-uniform Quantizer For audio and visual, the tolerance of a distortion is proportional to the signal size. Perceived distortion ~ D / s So, we can make quantization step D proportional to the signal level. 0 If signal is not uniformly distributed, we also prefer non-uniform quantization. Vector Quantization Decision Region Quantization Value Predictive Coding Lossless difference coding revisited 0 1 4 5 - - 0 3 + + 1 2 + + 1 3 decoder 3 2 1 0 3 4 encoder 5 1 + -2 -1 -1 -1 3 1 1 1 … 4 5 3 7 - … 1 6 1 + 2 1 0 3 4 5 6 7 Predictive Coding in Lossy Compression Encoder 0 - 1 3 + + 5 3 + Q Q Q 1 + 0 4 1 1 1 2 1 0 3 6 1 4 -1 -1 -1 -1 3 2 7 + - 1 1 0 1 1 1 … Local decoder 3 5 … + 2 4 1 2 1 + 3 4 Q(x) = 1 if x > 0, 0 if x == 0 and –1 if x < 0 5 A Different Notation Audio samples or image pixels + - Entropy coding Buffer Lossless Predictive Encoder Diagram 0101… A Different Notation Code stream Entropy decoding Reconstructed audio samples or image pixels + + Buffer Lossless Predictive Decoder Diagram A different Notation Lossy Predictive Coding 0101… Audio samples or image pixels + Q Coding - + Buffer Local Decompression General Prediction Method For image: C B A X A X For Audio: D C B Issues with Predictive Coding – Not resistant to bit errors. – Random access problem. Transform Coding 1 3 4 + ½ 2 1 3 + ½ -1 4 - 5 3 2 1 0 3 4 5 6 + + + + + ½ ½ ½ ½ ½ 4.5 2.5 0.5 3.5 5.5 5 + 3 - 2 + 1 - 0 + 3 - 4 + - 5 6 + ½ ½ ½ ½ ½ -0.5 0.5 0.5 -0.5 0.5 - Transform and Inverse Transform We did a transform for a block of input data using y1 y2 = ½ ½ ½ -½ x1 x2 The inverse transform is: x1 x2 = 1 1 1 -1 y1 y2 Transform Coding A proper transform focuses the energy into small number of numbers. We can then quantize these values differently and achieve high compression ratio. Useful transforms in compressing multimedia data: – Fourier Transform – Discrete Cosine Transform