You are on page 1of 40

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)
2-D
 Image (x and y)
3-D
 Animation (x, y, and time)

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

n+ 1
2 ¥
(- 1)
f ( x) = å sin (np x )
p n= 1 n

CS248 Lecture 3 Kurt Akeley, Fall 2007


Sawtooth wave summation

n Harmonics Harmonic sums


CS248 Lecture 3 Kurt Akeley, Fall 2007
Sawtooth wave summation (continued)

10

50

n Harmonics Harmonic sums


CS248 Lecture 3 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

1 d(s)

cos (p x ) II(s)

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reciprocal property

d(s) 1

Swapped
left/right from
previous slide
II(s) cos (p x )

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Scaling theorem
æp x ö÷
cos çç ÷ II(2s)
çè 2 ø÷

cos (2p x) II(s/2)

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Band-limited transform pairs

sin (p x)
sinc(x) Õ (s)
px

sinc2(x) Ù( s )

f(x) F(s)
CS248 Lecture 3 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
*
Spectrum is
replicated an

= =
infinite number
of times

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction theory

x
* sinc

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Sampling at the Nyquist rate

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction at the Nyquist rate

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Sampling below the Nyquist rate

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction below the Nyquist rate

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction error

Original Signal

Undersampled
Reconstruction
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction with a triangle function

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction error

Original Signal

Triangle
Reconstruction
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction with a rectangle function

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstruction error

Original Signal

Rectangle
Reconstruction
CS248 Lecture 3 Kurt Akeley, Fall 2007
Sampling a rectangle

x
*

= =

f(x) F(s)
CS248 Lecture 3 Kurt Akeley, Fall 2007
Reconstructing a rectangle (jaggies)

x
*

= =

f(x) F(s)
CS248 Lecture 3 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

You might also like