Post on 21-Dec-2015
Losslessy Compression of Multimedia Data
Hao JiangComputer 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
½ color levelsOriginal image
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) (dB)
– Peak Signal to Noise Ratio PSNR = 10log10(255^2/MSE) (dB)
The Relation of Rate and Distortion
The lowest possible rate (average codeword length per symbol) is correlated with the distortion.
D
Bit Rate
0 D_max
H
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
xmin xmax
Quantization step =(xmax-xmin)/N
Decision boundaries
Quantization value
Assume x is in [xmin, xmax]. We partition the intervaluniformly into N nonoverlapping regions.
A quantizer Q(x) maps x to the quantization value in the regionwhere x falls in.
Quantization ExampleQ(x) = [floor(x/) + 0.5]
Q(x)/
x/0 1 2 3-3 -2 -1
0.5
1.5
-0.5
-1.5
-2.5
2.5
Midrise quantization
Quantization ExampleQ(x) = [round(x/)]
Q(x)/
x/0 1 2 3-3 -2 -1
1
2
-1
-2
-3
3
Midrise quantization
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 [-/2, /2]
xnxn+1
Quantization error
x Quantization value
Quantization and Codewords
xmin xmax
Each quantization value can be associated with a binarycodeword.
In the above example, the codeword corresponds to theindex of each quantization value.
000 001 010 011 100 101
Another Coding Scheme
Gray code
xmin xmax
000 001 011 010 110 111
• The above codeword is different in only 1bit for each neighbors.
• Gray code is more resistant to bit errors than the natural binary code.
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
bits
dB
1 more bit
About 6db gain
Non-uniform Quantizer For audio and visual, the tolerance of a
distortion is proportional to the signal size.
So, we can make quantization step proportional to the signal level.
If signal is not uniformly distributed, we also prefer non-uniform quantization.
0
Perceived distortion ~ / s
Vector Quantization
Decision Region
Quantization Value
Predictive Coding
Lossless difference coding revisited
1 3 4 5 3 2 1 0 3 4 5 6 70
1 2 1 1 -2 -1 -1 -1 3 1 1 1 10
1 3 4 5 3 2 1 0 3 4 5 6 7
+ + … +
+-
+-
+-…+
-
encoder
decoder
Local decoder
Predictive Coding in Lossy Compression
1 3 4 5 3 2 1 0 3 4 5 6 70
1 1 1 1 -1 -1 -1 -1 1 1 1 1 1
0 1 2 3 4 3 2 1 0 1 2 3 4 5
Q
+-
Q
+ +
+ +
+
- …
Encoder
…
-+-
Q
Q(x) = 1 if x > 0, 0 if x == 0 and –1 if x < 0
A Different Notation
Buffer
+Audio samples or image pixels
Entropycoding
0101…
Lossless Predictive Encoder Diagram
-
A Different Notation
Buffer
+Reconstructedaudio samples or image pixels+
Entropydecoding
Lossless Predictive Decoder Diagram
Codestream
Local Decompression
A different Notation
Buffer
+Audio samples or image pixels
-
Coding
0101…
Q
+
Lossy Predictive Coding
General Prediction Method For image:
For Audio:
Issues with Predictive Coding– Not resistant to bit errors.– Random access problem.
C B
A X
ABCD X
Transform Coding
1 3 4 5 3 2 1 0 3 4 5 6
2 4.5 2.5 0.5 3.5 5.5
+ + + + + +
1 3 4 5 3 2 1 0 3 4 5 6
+ + + + + +- - - - - -
½ ½ ½ ½ ½ ½
-1 -0.5 0.5 0.5 -0.5 0.5
½ ½ ½ ½ ½ ½
Transform and Inverse Transform
y1y2
= ½ ½½ -½
x1x2
We did a transform for a block of input data using
The inverse transform is:
x1x2
= 1 11 -1
y1y2
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