You are on page 1of 19

Multimedia Systems

Chapter 7: Data Compression (3)


Outline
• Transform Coding
– Discrete Cosine Transform
Transform Coding
⎡x1⎤

⎢⎢x2⎥⎥

• Let be a vector of samples. There is a X =⎢ .



⎢⎥
.
⎢⎥
⎢⎣xk⎥⎦ good chance that a substantial amount
of correlation is inherent among neighboring
samples xi. The rational behind transform coding is
that if Y is the result of a linear transform T of X in
such a way that the components of Y are much less
correlated, then Y can be coded more efficiently than
X
Transform Coding
• In dimensions higher than 3, if most information is
accurately described in the first few components of
a transformed vector, the remaining components
can be coarsely quantized or even set to zero with
little signal distortion.
– The less effect one dimension has on another, the more
chance we have of dealing differently with axes that
store relatively minor amounts of information without
affecting reasonably accurate reconstruction of the
signal from its quantized or truncated transform
coefficients.
– Therefore, compression comes from the quantization of
the components of Y.
Discrete Cosine Transform
• 2D DCT: Given a function f(i, j) over two integer
variables i and j (e.g. a piece of an image), the 2D
DCT transforms it into a new function F(u, v), with
integers u and v running over the same range as i
and j such that
2C (u )C (v) M −1 N −1 (2i +1)uπ (2 j +1)vπ
∑∑
(u , v) = cos cos Ff (i, j)
MN i=0 j=0 2M 2N

where i,u = 0, ..., M – 1 and j,v = 0, ..., N – 1 and

⎧⎪ 1
if x =0
Discrete Cosine Transform
C(x)=⎨ 2
⎪⎩1 otherwise
• For N = M = 8 (used for JPEG Standard), the 2D
DCT is ...

• The inverse DCT (2D-IDCT) is

∑∑
~ 77
C(u)C(v) (2i+1)uπ (2 j +1)vπ f (i, j) = u= =0 v 0

4 cos 16 cos 16 F(u,v)


Discrete Cosine Transform
• 1D DCT: Given a function f(i) over integer variable
i, the 1D DCT transforms it into a new function
F(u), with integer u running over the same range as i
such that (M=8)

where i,u = 0, ..., 7 and

⎧⎪ 1
if x =0

C(x)=⎨ 2
Discrete Cosine Transform
⎪⎩1 otherwise
• The inverse 1D-DCT is defined by

~ C(u) (2i+1)uπ f (i)=
7
=

2 cos 16 F(u)
u0

where i,u = 0, ..., 7 and

⎧⎪ 1
if x =0

C(x)=⎨ 2
Discrete Cosine Transform
⎪⎩1 otherwise
• An electrical signal with constant magnitude is known as a
DC signal (Direct Current) – For example, a 9-volts battery.
• An electrical signal that changes its magnitude periodically
at a certain frequency is known as an AC signal (alternating
Current)
– For example, household electric power circuit (110 volts, 60Hz vs.
220 volts 50Hz)
• Although most signals are complex, any signal can be
expressed as a sum of multiple signals that are sine or cosine
waveforms at various amplitudes and frequencies.
– This is known as Fourier Analysis
Discrete Cosine Transform
• If a cosine function is used, the process of
determining the amplitudes of the AC and
DC components of the signal is called a
Cosine Transform, and the integer indices
make it a Discrete Cosine Transform.
– When u=0, F(u) yields the DC coefficient
– When u = 1, 2, ..., 7, F(u) yields the first,
second, ..., seventh AC coefficient.
• The inverse transform uses a sum of the
products of the DC or AC coefficients and the
Discrete Cosine Transform
cosine functions to reconstruct the function
f(i), now known as f~(i).
• Both DCT and IDCT use the same set of
cosine functions, known as basis functions.
• The idea behind Transform Coding is to use
only a few coefficients that result in the
highest energy
Examples (1D-DCT)
Examples (1D-DCT)
Discrete Cosine Transform
• Approximation of the ramp function using a
3-term DCT approximation vs. a 3-term
DFT approximation.

You might also like