340 likes | 464 Views
Computer Graphics. Recitation 6. Motivation – Image compression. What linear combination of 8x8 basis signals produces an 8x8 block in the image?. The plan today. Fourier Transform (FT). Discrete Cosine Transform (DCT). What is a transform?.
E N D
Computer Graphics Recitation 6
Motivation – Image compression What linear combination of 8x8 basis signals produces an 8x8 block in the image?
The plan today • Fourier Transform (FT). • Discrete Cosine Transform (DCT).
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 functionG(f) from another function g(t) • Reveal important properties of g • More compact representation of g
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)
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
Time and Frequency • example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t)
Time and Frequency • example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t) = +
Time and Frequency • example : g(t) = sin(2pf t) + (1/3)sin(2p(3f) t) = +
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ = + =
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ = + =
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ = + =
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ = + =
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ = + =
Time and Frequency 1, a/2 < t < a/20, elsewhere • example : g(t) ={ =
Time and Frequency • If the shape of the function is far from regular wave its Fourier expansion will include infinite num of frequencies. =
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
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
Fourier transform Discrete Fourier Transform: 0 n-1
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
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
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 > 2fmax • Store the sampled values in a bitmap 2fmax is called Nyquist rate
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) • Bitmap may be too small – not enough samples
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
Discrete Cosine Transform • A variant of discrete Fourier transform • Real numbers • Fast implementation • Separable (row/column)
Discrete Cosine Transform • Definition of 2D DCT: • Input: 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
Using DCT in JPEG • DCT on 8x8 blocks
Using DCT in JPEG • DCT – basis
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
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
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
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