Presentation is loading. Please wait.

Presentation is loading. Please wait.

CMPT 365 Multimedia Systems

Similar presentations


Presentation on theme: "CMPT 365 Multimedia Systems"— Presentation transcript:

1 CMPT 365 Multimedia Systems
Lossy Compression Spring 2015

2 Lossless vs Lossy Compression
If the compression and decompression processes induce no information loss, then the compression scheme is lossless; otherwise, it is lossy. Why is lossy compression possible ? Original Compression Ratio: 7.7 Compression Ratio: 12.3 Compression Ratio: 33.9

3 Outline Quantization Uniform Non-uniform Transform coding DCT

4 Quantization The process of representing a large (possibly infinite) set of values with a much smaller set. Example: A/D conversion An efficient tool for lossy compression Review … Encoder Entropy coding Transform Quantization channel Decoder Entropy decoding Inverse Transform Inverse Quantization

5 Review: Basic Idea x x Bin 4 Bin 4 index index Input Values Bin 3
Entropy Coding Entropy Decoding Bin 2 Bin 2 Reconstruction Values x Bin 1 Bin 1 Bin 0 Bin 0 Quantizer Dequantizer (Inverse Quantizer) Quantization is a function that maps an input interval to one integer Can reduce the bits required to represent the source. Reconstructed result is generally not the original input Terminologies: Decision boundaries bi: bin boundaries Reconstruction levels yi: output value of each bin by the dequantizer.

6 Uniform Quantizer All bins have the same size except possibly for the two outer intervals: bi and yi are spaced evenly The spacing of bi and yi are both ∆ (step size) for inner intervals. Uniform Midrise Quantizer -2.5∆ -1.5∆ -0.5∆ Reconstruction 3∆ 2∆ -∆ -2∆ -3∆ Uniform Midtread Quantizer 0.5∆ 1.5∆ 2.5∆ Input Odd number of reconstruction levels 0 is a reconstruction level Reconstruction 3.5∆ 2.5∆ 1.5∆ 0.5 ∆ -3∆ -2∆ -∆ -0.5∆ ∆ 2∆ 3∆ Input -1.5∆ -2.5∆ -3.5∆ Even number of reconstruction levels 0 is not a reconstruction level

7 Midtread Quantizer Quantization mapping: Output is an index Example:
-2.5∆ -1.5∆ -0.5∆ Reconstruction 3∆ 2∆ -∆ -2∆ -3∆ 0.5∆ 1.5∆ 2.5∆ Input Example: x = -1.8∆, q = -2. De-quantization mapping:

8 Model of Quantization A B - e(x) Q Quantization: q = A(x)
Inverse Quantization: B(x) is not exactly the inverse function of A(x), because Quantization error: Q Combining quantizer and de-quantizer: - e(x) or

9 Rate-Distortion Tradeoff
Things to be determined: Number of bins Bin boundaries Reconstruction levels Rate Distortion A B A tradeoff between rate and distortion: To reduce the size of the encoded bits, we need to reduce the number of bins Less bins  More reconstruction errors

10 Measure of Distortion MSE: Quantization error:
Mean Squared Error (MSE) for Quantization Average quantization error of all input values Need to know the probability distribution of the input Number of bins: M Decision boundaries: bi, i = 0, …, M Reconstruction Levels: yi, i = 1, …, M Reconstruction: MSE: Same as the variance of e(x) if μ = E{e(x)} = 0 (zero mean). Definition of Variance:

11 Rate-Distortion Optimization
Two Scenarios: Given M, find bi and yi that minimize the MSE. Given a distortion constraint D, find M, bi and yi such that the MSE ≤ D.

12 Outline Quantization Transform coding Uniform Non-uniform
Vector quantization Transform coding DCT

13 Uniform Quantization of a Uniformly Distributed Source
Input X: uniformly distributed in [-Xmax, Xmax]: f(x)= 1 / (2Xmax) Number of bins: M (even for midrise quantizer) Step size is easy to get: ∆ = 2Xmax / M. bi = (i – M/2) ∆ b4 b3 -∆ b2 -2∆ b1 -3∆ b0 -4∆ b5 b6 2∆ b7 3∆ b8 4∆ -Xmax Xmax y4 -0.5 ∆ y3 -1.5∆ y2 -2.5∆ y1 -3.5∆ y5 0. 5∆ y6 1.5∆ y7 2.5∆ y8 3.5∆ x  e(x) is uniformly distributed in [-∆/2, ∆/2]. x 0.5 ∆ -0.5 ∆ 2∆ 3∆ 4∆ -∆ -2∆ -3∆ -4∆

14 Uniform Quantization of a Uniformly Distributed Source
MSE M increases, ∆ decreases, MSE decreases Variance of a random variable uniformly distributed in [- ∆/2, ∆/2]: Optimization: Find M such that MSE ≤ D

15 Signal to Noise Ratio (SNR)
Variance is a measure of signal energy Let M = 2n Each bin index is represented by n bits If nn+1, ∆ is halved, noise variance reduces to 1/4, and SNR increases by 6 dB.

16 Outline Quantization Uniform Non-uniform Transform coding DCT

17 Non-uniform Quantization
Uniform quantizer is not optimal if source is not uniformly distributed For given M, to reduce MSE, we want narrow bin when f(x) is high and wide bin when f(x) is low f(x) x

18 Lloyd-Max Quantizer f(x) yi Also known as pdf-optimized quantizer
Given M, the optimal bi and yi that minimize MSE, satisfying f(x) x yi is the centroid of interval [bi-1, bi]. 0 bi bi yi

19 Lloyd-Max Quantizer f(x) If f(x) = c (uniformly distributed source):
 bi is the midpoint of yi and yi+1 x f(x) 0 bi bi bi+1 yi yi+1

20 Lloyd-Max Quantizer Summary of conditions for optimal quantizer:
Given bi, can find the corresponding optimal yi Given yi, can find the corresponding optimal bi How to find optimal bi and yi simultaneously? A deadlock: Reconstruction levels depend on decision levels Decision levels depend on reconstruction levels Solution: iterative method !

21 Lloyd Algorithm (Sayood pp. 267)
Start from an initial set of reconstruction values yi. Find all decision levels Computer MSE: Stop if MSE changes little from last time. Otherwise, update yi, go to step 2.

22 Outline Quantization Transform coding Uniform quantization
Non-uniform quantization Transform coding Discrete Cosine Transform (DCT)

23 Why Transform Coding ? Transform Purpose of transform
From one domain/space to another space Time -> Frequency Spatial/Pixel -> Frequency Purpose of transform Remove correlation between input samples Transform most energy of an input block into a few coefficients Small coefficients can be discarded by quantization without too much impact to reconstruction quality Encoder Entropy coding Transform Quantization

24 1-D Example Fourier Transform

25 1-D Example Application (besides compression)
Boost bass/audio equalizer Noise cancellation

26 1-D Example Sine wave/sound/piano An electronic instrument that allows direct control of pitch and amplitude

27 1-D Example Smooth signals have strong DC (direct current, or zero frequency) and low frequency components, and weak high frequency components Sample Index DC High frequency High frequency DC

28 2-D Example Apply transform to each 8x8 block
Histograms of source and DCT coefficients Most transform coefficients are around 0. Desired for compression

29 Rationale behind Transform
If Y is the result of a linear transform T of the input vector X in such a way that the components of Y are much less correlated, then Y can be coded more efficiently than X. If most information is accurately described by the first few components of a transformed vector, then the remaining components can be coarsely quantized, or even set to zero, with little signal distortion.

30 Matrix Representation of Transform
Linear transform is an N x N matrix: T X y Inverse Transform: T X y x -1 Unitary Transform (aka orthonormal): T X y x For unitary transform: rows/cols have unit norm and are orthogonal to each others

31 Discrete Cosine Transform (DCT)
DCT – close to optimal (known as KL Transform) but much simpler and faster Definition: Matlab function: dct(eye(N));

32 DCT Definition: N = 2 (Haar Transform):
y0 captures the mean of x0 and x1 (low-pass) x0 = x1 = 1  y0 = sqrt(2) (DC), y1 = 0 y1 captures the difference of x0 and x1 (high-pass) x0 = 1, x1 = -1  y0 = 0 (DC), y1 = sqrt(2).

33 DCT Magnitude Frequency Responses of 2-point DCT:
Can be obtained by freqz( ) in Matlab. x 2π DC Low pass High pass

34 4-point DCT Four subbands 0.5000 0.5000 0.5000 0.5000
Four subbands x 2π

35 8-point DCT Eight subbands x 2π

36 Example x = [100 110 120 130 140 150 160 170]T; 8-point DCT:
[ , , , , 0.0, , 0.0, ] Most energy are in the first 2 coefficients.

37 Block Transform Divide input data into blocks (2D)
Encode each block separately (sometimes with information from neighboring blocks) Examples: Most DCT-based image/video coding standards

38 2-D DCT Basis For 2-point DCT For 4-point DCT

39 2-D Separable DCT Inverse Transform: X: N x N input block
T: N x N transform A = TX: Apply T to each column of X B=XTT: Apply T to each row of X 2-D Separable Transform: Apply T to each row Then apply T to each column Inverse Transform:

40 2-D 8-point DCT Example Original Data:
2-D DCT Coefficients (after rounding to integers): Most energy is in the upper- left corner

41 Interpretation of Transform
Forward transform y = Tx (x is N x 1 vector) Let ti be the i-th row of T  yi = ti x = <tiT, x> (Inner product) yi measures the similarity between x and ti Higher similarity  larger transform coefficient x is the weighted combination of ti. Rows of T are called basis vectors. Inverse transform:

42 Interpretation of 2-D Transform
2-D basis matrices: Outer products of basis vectors Proof: X is the weighted combination of basic matrices.

43 2-D DCT Basis Matrices For 2-point DCT For 4-point DCT

44 2-D DCT Basis Matrices: 8-point DCT

45 Further Exploration Textbook 8.1-8.5 Other sources
Introduction to Data Compression by Khalid Sayood Vector Quantization and Signal Compression by Allen Gersho and Robert M. Gray Digital Image Processing by Rafael C. Gonzales and Richard E.Woods Probability and Random Processes with Applications to Signal Processing by Henry Stark and John W. Woods A Wavelet Tour of Signal Processing by Stephane G. Mallat


Download ppt "CMPT 365 Multimedia Systems"

Similar presentations


Ads by Google