24
Antialiasing Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Embed Size (px)

Citation preview

Page 1: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

AntialiasingAntialiasing

CptS 548

Advanced Computer Graphics

John C. Hart

Page 2: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

AliasingAliasing

Aliasing occurs when signals are poorly sampled, giving the illusion of a lower frequency signal

Page 3: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

ImagesImages

• Analog image– 2-D region of varying color– e.g. optical image, electrical monitor signal

• Symbolic image– Any function of two real variables– e.g. sin(x2 + y2)

• Digital image– 2-D array of uniformly spaced color values– e.g. framebuffer

Page 4: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Image TransformationsImage Transformations

SymbolicImage

RenderingDigitalImage

AnalogImage

DisplaySystem

AnalogImage

ScanningDigitalImage

AnalogImage

DisplaySystem

Page 5: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Sampling and ReconstructionSampling and Reconstruction

SymbolicImage

SamplingContinuous

ImageDiscreteSamples

Reconstruction

Page 6: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

1-D Fourier1-D FourierTransformTransform• Makes any signal I(x)

out of sine waves• Converts time domain

into frequency domain• Yields spectrum F(u)

of frequencies• F(0) = “DC term,”

average of signal• F(-u) = F(u)

dujuxuFxI

dxjuxxIuF

)exp()(2

1)(

)exp()(2

1)(

)/arctan(arg

sincos)exp(

1

22

2

abbja

babja

uxjuxjux

j

I

x

F

u0

p 1/p

Page 7: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

ConvolutionConvolution

• Convolution of square wave with square wave yields triangle wave

• f*g FG

• fg F*G

dssthsgthg )()())(*(

Page 8: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Low Pass FilteringLow Pass Filtering

• Fourier transform of a box function is a sinc function

• Convolution with a sinc function is an ideal low pass filter

• Multiplies high frequencies by zero

Page 9: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

SamplingSampling

p 1/p

I(x)

s(x)

(Is)(x)

(Is’)(x)

s’(x)

F(u)

S(u)

(F*S)(u)

S’(u)

(F*S’)(u)

Page 10: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Shannon Sampling TheoremShannon Sampling Theorem

A signal whose spectrum has no energy above frequency f can be recovered with samples

at a rate of 2f or more

Page 11: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

2-D Fourier Transform2-D Fourier Transform

dxdyvyuxjvuFyxI

dxdyvyuxjyxIvuF

))(exp(),(2

1),(

))(exp(),(2

1),(

fy

fx

I(x,y)

Page 12: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Perfect SamplingPerfect Sampling

Page 13: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Imperfect SamplingImperfect Sampling

Page 14: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Antialiasing StrategiesAntialiasing Strategies

• Prefiltering– Decrease the image frequency

– Remove image frequencies higher than one-half the sampling frequency

– Blur the image before sampling

• Postfiltering– Increase the sampling frequency

– Take more samples than pixels

– Blur the image after sampling

Page 15: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Antialiased Ray TracingAntialiased Ray Tracing

• Cast a fat ray

• Cast a ray into a blurred object

• Cast lots of rays

Page 16: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Cone TracingCone Tracing

• Amanatides SIGGRAPH 84

• Replace rays with cones

• Cone samples pixel area

• Intersect cone with objects

• Analytic solutions similar to ray tracing

• Expensive

Page 17: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Beam TracingBeam Tracing

• Heckbert & Hanrahan SIGGRAPH 84• Replace rays with pyramids• Intersection with polygonal scenes

– Plane-plane intersections easy, fast– Existing scan conversion antialiasing

• Can perform some recursive beam tracing– Scene transformed to new viewpoint– Result clipped to reflective polygon

Page 18: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

CoversCovers

Page 19: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Uniform SamplingUniform Sampling

• Trace at higher resolution, average results

• Does not eliminate Moire patterns

• Pushed aliases into higher frequencies

Page 20: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Jitter SamplingJitter Sampling

• Pick n random points in pixel

• Disguises aliases as noise

• Inhibits Moire patterns

• Distribution uneven, biased

• Reintroduces high frequencies

• Sampling function adds energy to spectum

Page 21: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Uniform JitterUniform Jitter

• Subdivide pixel into uniform regions

• Pick random location within region

• Sampling function adds little energy to spectrum

• Distribution retains some order

• Reintroduces some Moire effects

Page 22: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

PoissonPoisson

• Random points a given distance (or farther) apart

• Inhibits Moire patterns

• Sampling function adds little energy to spectrum

• Works well for the monkeys

• Poisson disk – use dart throwing algorithm

Page 23: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

Adaptive Stochastic SamplingAdaptive Stochastic Sampling

• Add more samples in high variance regions

• Add any number of jitter samples

• Uniform jitter a quadtree

• Uniform jitter a k-d tree (subdivide larger region)

• Add Poisson samples (slow)

• Precompute multiple-res Poisson patterns

Page 24: Antialiasing CptS 548 Advanced Computer Graphics John C. Hart

ReconstructionReconstruction

nn

nnn

xxk

xgxxkxg

)(

)()()(

g(x1)

g(x2)g(x3)

g(x4)

k

Sampled image product ofsampling function and imagefunction

Convolve a kernel functionwith the sampled image