Sampling and Aliasing

advertisement
Sampling and Aliasing
Kurt Akeley
CS248 Lecture 3
2 October 2007
http://graphics.stanford.edu/courses/cs248-07/
Aliasing
Aliases are low frequencies in a rendered
image that are due to higher frequencies
in the original image.
CS248 Lecture 3
Kurt Akeley, Fall 2007
Jaggies
Original:
Rendered:
Are jaggies due to aliasing? How?
CS248 Lecture 3
Kurt Akeley, Fall 2007
Demo
CS248 Lecture 3
Kurt Akeley, Fall 2007
What is a point sample (aka sample)?
An evaluation

At an infinitesimal point (2-D)

Or along a ray (3-D)
What is evaluated

Inclusion (2-D) or intersection (3-D)

Attributes such as distance and color
CS248 Lecture 3
Kurt Akeley, Fall 2007
Why point samples?
Clear and unambiguous semantics
Matches theory well (as we’ll see)
Supports image assembly in the framebuffer

will need to resolve visibility based on distance,
and this works well with point samples
Anything else just puts the problem off

Exchange one large, complex scene for many
small, complex scenes
CS248 Lecture 3
Kurt Akeley, Fall 2007
Fourier theory
“Fourier’s theorem is not only one of the most
beautiful results of modern analysis, but it
may be said to furnish an indispensable
instrument in the treatment of nearly every
recondite question in modern physics.”
-- Lord Kelvin
CS248 Lecture 3
Kurt Akeley, Fall 2007
Reference sources
Marc Levoy’s notes
Ronald N. Bracewell, The Fourier Transform and its
Applications, Second Edition, McGraw-Hill, Inc.,
1978.
Private conversations with Pat Hanrahan
MATLAB
CS248 Lecture 3
Kurt Akeley, Fall 2007
Ground rules
You don’t have to be an engineer to get this

We’re looking to develop instinct / understanding

Not to be able to do the mathematics
We’ll make minimal use of equations

No integral equations

No complex numbers
Plots will be consistent

Tick marks at unit distances

Signal on left, Fourier transform on the right
CS248 Lecture 3
Kurt Akeley, Fall 2007
Dimensions
1-D

Audio signal (time)

Generic examples (x)

Image (x and y)

Animation (x, y, and time)
2-D
3-D
All examples in this presentation are 1-D
CS248 Lecture 3
Kurt Akeley, Fall 2007
Fourier series
Any periodic function can be exactly
represented by a (typically infinite) sum
of harmonic sine and cosine functions.
Harmonics are integer multiples of the
fundamental frequency
CS248 Lecture 3
Kurt Akeley, Fall 2007
Fourier series example: sawtooth wave
1
…
-1
1
¥
n+ 1
(- 1)
2
f (x)= å
p n= 1
n
CS248 Lecture 3
…
sin (np x)
Kurt Akeley, Fall 2007
Sawtooth wave summation
1
2
3
n
CS248 Lecture 3
Harmonics
Harmonic sums
Kurt Akeley, Fall 2007
Sawtooth wave summation (continued)
5
10
50
n
CS248 Lecture 3
Harmonics
Harmonic sums
Kurt Akeley, Fall 2007
Fourier integral
Any function (that matters in graphics)
can be exactly represented by an
integration of sine and cosine functions.
Continuous, not harmonic
But the notion of harmonics will
continue to be useful
CS248 Lecture 3
Kurt Akeley, Fall 2007
Basic Fourier transform pairs
d (s)
1
cos (p x)
f(x)
CS248 Lecture 3
II(s)
F(s)
Kurt Akeley, Fall 2007
Reciprocal property
d (s)
1
Swapped
left/right from
previous slide
cos (p x)
II(s)
f(x)
CS248 Lecture 3
F(s)
Kurt Akeley, Fall 2007
Scaling theorem
æp x ÷
ö
ç
cos ç ÷
çè 2 ÷
ø
II(2s)
cos (2p x)
f(x)
CS248 Lecture 3
II(s/2)
F(s)
Kurt Akeley, Fall 2007
Band-limited transform pairs
sin (p x)
sinc(x)
Õ (s)
sinc2(x)
Ù(s )
px
f(x)
CS248 Lecture 3
F(s)
Kurt Akeley, Fall 2007
Finite / infinite extent
If one member of the transform pair is finite, the other
is infinite

Band-limited  infinite spatial extent

Finite spatial extent  infinite spectral extent
CS248 Lecture 3
Kurt Akeley, Fall 2007
Convolution
¥
f (x)* g (x) =
ò
f (u )g (x - u )du
- ¥
CS248 Lecture 3
Kurt Akeley, Fall 2007
Convolution example
*
=
CS248 Lecture 3
Kurt Akeley, Fall 2007
Convolution theorem
Let f and g be the transforms of f and g. Then
f * g = f ×g
f * g = f ×g
f ×g = f * g
f ×g = f * g
Something difficult to do in one domain
(e.g., convolution) may be easy to do in the
other (e.g., multiplication)
CS248 Lecture 3
Kurt Akeley, Fall 2007
Sampling theory
x
CS248 Lecture 3
*
=
=
f(x)
F(s)
Spectrum is
replicated an
infinite number of
times
Kurt Akeley, Fall 2007
Reconstruction theory
*
CS248 Lecture 3
x
sinc
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Sampling at the Nyquist rate
CS248 Lecture 3
x
*
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstruction at the Nyquist rate
CS248 Lecture 3
*
x
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Sampling below the Nyquist rate
CS248 Lecture 3
x
*
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstruction below the Nyquist rate
CS248 Lecture 3
*
x
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstruction error
Original Signal
CS248 Lecture 3
Undersampled
Reconstruction
Kurt Akeley, Fall 2007
Reconstruction with a triangle function
CS248 Lecture 3
*
x
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstruction error
Original Signal
CS248 Lecture 3
Triangle
Reconstruction
Kurt Akeley, Fall 2007
Reconstruction with a rectangle function
CS248 Lecture 3
*
x
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstruction error
Original Signal
CS248 Lecture 3
Rectangle
Reconstruction
Kurt Akeley, Fall 2007
Sampling a rectangle
CS248 Lecture 3
x
*
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Reconstructing a rectangle (jaggies)
CS248 Lecture 3
*
x
=
=
f(x)
F(s)
Kurt Akeley, Fall 2007
Sampling and reconstruction
Aliasing is caused by

Sampling below the Nyquist rate,

Improper reconstruction, or

Both
We can distinguish between

Aliasing of fundamentals (demo)

Aliasing of harmonics (jaggies)
CS248 Lecture 3
Kurt Akeley, Fall 2007
Summary
Jaggies matter

Create false cues

Violate rule 1
Sampling is done at points (2-D) or along rays (3-D)

Sufficient for depth sorting

Matches theory
Fourier theory explains jaggies as aliasing. For correct
reconstruction:

Signal must be band-limited

Sampling must be at or above Nyquist rate

Reconstruction must be done with a sinc function
CS248 Lecture 3
Kurt Akeley, Fall 2007
Assignments
Before Thursday’s class, read

FvD 3.17 Antialiasing
Project 1:

Breakout: a simple interactive game

Demos Wednesday 10 October
CS248 Lecture 3
Kurt Akeley, Fall 2007
End
CS248 Lecture 3
Kurt Akeley, Fall 2007
Download