Introduction to Multimedia Systems

Download Report

Transcript Introduction to Multimedia Systems

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