מצגת של PowerPoint - igl | Interactive Geometry Lab
Download
Report
Transcript מצגת של PowerPoint - igl | Interactive Geometry Lab
Computer Graphics
Recitation 6
Motivation – Image compression
What linear combination of 8x8 basis signals produces an 8x8 block in the image?
2
The plan today
Fourier Transform (FT).
Discrete Cosine Transform (DCT).
3
What is a transform?
Function: rule that tells how to obtain result y
given some input x
Transform: rule that tells how to obtain a function
G(f) from another function g(t)
Reveal
important properties of g
More compact representation of g
4
Periodic function
Definition: g(t) is periodic if there exists P such
that g(t+P) = g(t)
Period of a function: smallest constant P that
satisfies g(t+P) = g(t)
5
Attributes of periodic function
Amplitude: max value of g(t) in any period
Period: P
Frequency: 1/P, cycles per second, Hz
Phase: position of the function within a period
6
Time and Frequency
example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)
7
Time and Frequency
example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)
=
+
8
Time and Frequency
example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)
=
+
9
Time and Frequency
1, a/2 < t < a/2
example : g(t) = {
0, elsewhere
10
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
=
elsewhere
+
=
11
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
=
elsewhere
+
=
12
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
=
elsewhere
+
=
13
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
=
elsewhere
+
=
14
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
=
elsewhere
+
=
15
Time and Frequency
example : g(t) = { 1, a/2 < t < a/2
0,
elsewhere
1
= A sin(2 kt )
k 1 k
16
Time and Frequency
If the shape of the function is far from regular wave its
Fourier expansion will include infinite num of frequencies.
1
= A sin(2 kt )
k 1 k
17
Frequency domain
Spectrum of freq. domain : range of freq.
Bandwidth of freq. domain : width of the spectrum
DC component (direct current): component of zero freq.
AC – all others
18
Fourier transform
Every periodic function can be represented as
the sum of sine and cosine functions
Transform a function between a time and freq.
domain
G( f )
g (t )[cos(2 ft ) i sin(2 ft )] dt
g (t )
G( f )[cos(2 ft ) i sin(2 ft )] df
19
Fourier transform
Discrete Fourier Transform:
1 n 1
2 ft
2 ft
G ( f ) g (t )[cos(
) i sin(
)] 0 f n 1
n t 0
n
n
1 n 1
2 ft
2 ft
g (t ) G ( f )[cos(
) i sin(
)] 0 t n 1
n t 0
n
n
0
n-1
20
FT for digitized image
Each pixel Pxy = point in 3D (z coordinate is
value of color/gray level
Each coefficient describes the 2D sinusoidal
function needed to
reconstruct the surface
In typical image neighboring
pixels have “close” values
surface is very smooth
most FT coefficients small
21
Sampling theory
Image = continuous signal of intensity function
I(t)
Sampling: store a finite sequence in memory
I(1)…I(n)
The bigger the sample, the better the quality? –
not necessarily
22
Sampling theory
We can sample an image and reconstruct it
without loss of quality if we can :
Transform I(t) function from to freq. Domain
Find the max frequency fmax
Sample I(t) at rate > 2 fmax
Store the sampled values in a bitmap
2fmax is called Nyquist rate
23
Sampling theory
Some loss of image quality because:
fmax can be infinite.
choose a value such that freq. > fmax do not
contribute much (low amplitudes)
may be too small – not enough
samples
Bitmap
24
Fourier Transform
Periodic function can be represented as sum of
sine waves that are integer multiple of
fundamental (basis) frequencies
Frequency domain can be applied to a non
periodic function if it is nonzero over a finite
range
25
Discrete Cosine Transform
A variant of discrete Fourier transform
Real numbers
Fast implementation
Separable (row/column)
26
Discrete Cosine Transform
Definition of 2D DCT:
Image I(i, j) 1 i N1, 1 j N2
Output: a new “image” B(u, v), each pixel stores the
corresponding coefficient of the DCT
Input:
u
v
B(u, v) 4 I (i, j ) cos
(2i 1) cos
(2 j 1)
i 1 j 1
2 N1
2 N2
N1
N2
27
Using DCT in JPEG
DCT on 8x8 blocks
28
Using DCT in JPEG
DCT – basis
29
Using DCT in JPEG
Block size
small block
faster
correlation exists between neighboring pixels
large
block
better compression in smooth regions
Power of 2 – for fast implementation
30
Using DCT in JPEG
For smooth, slowly changing images most
coefficients of the DCT are zero
For images that oscillate – high frequency
present – more coefficients will be non-zero
31
Using DCT in JPEG
The first coefficient B(0,0) is the DC component,
the average intensity
The top-left coeffs represent low frequencies,
the bottom right – high frequencies
32
Image compression using DCT
DCT enables image compression by
concentrating most image information in the low
frequencies
Loose unimportant image info (high frequencies)
by cutting B(u,v) at bottom right
The decoder computes the inverse DCT – IDCT
33
Bye-bye