sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8...

17
Page 1 CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction The sampling and reconstruction process Real world: continuous Digital world: discrete Basic signal processing Fourier transforms The convolution theorem The sampling theorem Aliasing and antialiasing Uniform supersampling Nonuniform supersampling CS348B Lecture 8 Pat Hanrahan, Spring 2002 Imagers = Signal Sampling All imagers convert a continuous image to a discrete sampled image by integrating over the active “area” of a sensor. Examples: Retina: photoreceptors CCD array Virtual CG cameras do not integrate, they simply sample radiance along rays … (, , ) ( ) ()cos T A R Lx tPxSt dAd dt ω θ ω = ∫∫∫∫∫

Transcript of sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8...

Page 1: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 1

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling and Reconstruction

The sampling and reconstruction process

Real world: continuous

Digital world: discrete

Basic signal processing

Fourier transforms

The convolution theorem

The sampling theorem

Aliasing and antialiasing

Uniform supersampling

Nonuniform supersampling

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Imagers = Signal Sampling

All imagers convert a continuous image to a discrete sampled image by integrating over the active “area” of a sensor.

Examples:

Retina: photoreceptors

CCD array

Virtual CG cameras do not integrate,

they simply sample radiance along rays …

( , , ) ( ) ( )cosT A

R L x t P x S t dAd dtω θ ωΩ

= ∫∫∫∫∫

Page 2: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 2

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Displays = Signal Reconstruction

All physical displays recreate a continuous image from a discrete sampled image by using a finite sized source of light for each pixel.

Examples:

DACs: sample and hold

Cathode ray tube: phosphor spot and grid

DAC CRT

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling in Computer Graphics

Artifacts due to sampling - Aliasing

Jaggies

Moire

Flickering small objects

Sparkling highlights

Temporal strobing

Preventing these artifacts - Antialiasing

Page 3: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 3

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Jaggies

Retort sequence by Don Mitchell

Staircase pattern or jaggies

Basic Signal Processing

Page 4: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 4

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Fourier Transforms

Spectral representation treats the function as a weighted sum of sines and cosines

Each function has two representations

Spatial domain - normal representation

Frequency domain - spectral representation

The Fourier transform converts between the spatial and frequency domain

SpatialDomain

FrequencyDomain

( ) ( )

1( ) ( )

2

i x

i x

F f x e dx

f x F e d

ω

ω

ω

ω ωπ

∞−

−∞

−∞

=

=

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Spatial and Frequency Domain

Spatial Domain Frequency Domain

Page 5: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 5

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Convolution

Definition

Convolution Theorem: Multiplication in the frequency domain is equivalent to convolution in the space domain.

Symmetric Theorem: Multiplication in the space domain is equivalent to convolution in the frequency domain.

f g F G⊗ ↔ ×

f g F G× ↔ ⊗

( ) ( ) ( )h x f g f x g x x dx′ ′ ′= ⊗ = −∫

The Sampling Theorem

Page 6: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 6

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling: Spatial Domain

× =

III( ) ( )n

n

x x nTδ=∞

=−∞

= −∑

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling: Frequency Domain

III( ) ( )n

sn

nω δ ω ω=∞

=−∞

= −∑

=

1 22s s sf f

T T

πω π= = =

Page 7: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 7

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Reconstruction: Frequency Domain

× =

12

12

1II( )

0

xx

x

≤= >

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Reconstruction: Spatial Domain

=⊗

sinsinc

xx

x

ππ

=

Page 8: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 8

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling and Reconstruction

×⊗

= =

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling Theorem

This result if known as the Sampling Theorem and is due to Claude Shannon who first discovered it in 1949

A signal can be reconstructed from its samples

without loss of information, if the original

signal has no frequencies above 1/2 the

Sampling frequency

For a given bandlimited function, the rate at which it must be sampled is called the NyquistFrequency

Page 9: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 9

Aliasing

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Undersampling: Aliasing

⊗ ×

= =

Page 10: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 10

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling a “Zone Plate”

2 2sin x y+y

x

Zone plate:

Sampled at 128x128Reconstructed to 512x512Using a 30-wideKaiser windowed sinc

Left rings: part of signalRight rings: prealiasing

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Ideal Reconstruction

Ideally, use a perfect low-pass filter - the sincfunction - to bandlimit the sampled signal and thus remove all copies of the spectra introduced by sampling

Unfortunately,

The sinc has infinite extent and we must use simpler filters with finite extents. Physical processes in particular do not reconstruct with sincs

The sinc may introduce ringing which are perceptually objectionable

Page 11: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 11

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Sampling a “Zone Plate”

2 2sin x y+y

x

Zone plate:

Sampled at 128x128Reconstructed to 512x512Using optimal cubic

Left rings: part of signalRight rings: prealiasingMiddle rings: postaliasing

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Mitchell Cubic Filter

3 2

3 2

(12 9 6 ) ( 18 12 6 ) (6 2 ) 11

( ) ( 6 ) (6 30 ) ( 12 48 ) (8 24 ) 1 26

0

B C x B C x B x

h x B C x B C x B C x B C x

otherwise

− − + − + + + − <= − − + + + − − + + < <

Properties:

( ) 1n

n

h x=∞

=−∞

=∑

From Mitchell and Netravali

B-spline: (1,0)

Catmull-Rom: (0,1/ 2)

Good: (1/ 3,1/ 3)

Page 12: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 12

Antialiasing

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Antialiasing

Antialiasing = Preventing aliasing

1. Analytically prefilter the signalSolvable for points, lines and polygonsNot solvable in generale.g. procedurally defined images

2. Uniform supersampling and resample3. Nonuniform or stochastic sampling

Page 13: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 13

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Antialiasing by Prefiltering

⊗ ×

= =

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Uniform Supersampling

Increasing the sampling rate moves each copy of the spectra further apart, potentially reducing the overlap and thus aliasing

Resulting samples must be resampled (filtered) to image sampling rate

Samples Pixel

s ss

Pixel w Sample= ⋅∑

Page 14: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 14

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Point vs. Supersampled

Point 4x4 Supersampled

Checkerboard sequence by Tom Duff

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Analytic vs. Supersampled

Exact Area 4x4 Supersampled

Page 15: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 15

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Distribution of Extrafoveal Cones

Monkey eye cone distribution

Fourier transform

Yellot theoryAliases replaced by noiseVisual system less sensitive to high freq noise

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Non-uniform Sampling

Intuition

Uniform sampling

The spectrum of uniformly spaced samples is also a set of uniformly spaced spikes

Multiplying the signal by the sampling pattern corresponds to placing a copy of the spectrum at each spike (in freq. space)

Aliases are coherent, and very noticable

Non-uniform sampling

Samples at non-uniform locations have a different spectrum; a single spike plus noise

Sampling a signal in this way converts aliases into broadband noise

Noise is incoherent, and much less objectionable

Page 16: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 16

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Jittered Sampling

Add uniform random jitter to each sample

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Jittered vs. Uniform Supersampling

4x4 Jittered Sampling 4x4 Uniform

Page 17: sampling - graphics.stanford.edugraphics.stanford.edu/.../lecture8/sampling.pdf · CS348B Lecture 8 Pat Hanrahan, Spring 2002 Sampling and Reconstruction ⊗ × = = CS348B Lecture

Page 17

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Analysis of Jitter

( ) ( )n

nn

s x x xδ=∞

=−∞

= −∑

n nx nT j= +

~ ( )

1 1/ 2( )

0 1/ 2

( ) sinc

nj j x

xj x

x

J ω ω

≤= >=

2 2

2

2

1 2 2( ) 1 ( ) ( ) ( )

11 sinc ( )

n

n

nS J J

T T T

T

π πω ω ω δ ω

ω δ ω

=−∞

=−∞

= − + −

= − +

Non-uniform sampling Jittered sampling

CS348B Lecture 8 Pat Hanrahan, Spring 2002

Poisson Disk Sampling

Dart throwing algorithm