cmsc 635 sampling and antialiasing. aliasing in images
TRANSCRIPT
![Page 1: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/1.jpg)
CMSC 635CMSC 635
Sampling and AntialiasingSampling and Antialiasing
![Page 2: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/2.jpg)
Aliasing in imagesAliasing in images
![Page 3: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/3.jpg)
QuickTime™ and aBMP decompressorare needed to see this picture.
Aliasing in animationAliasing in animation
![Page 4: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/4.jpg)
AliasingAliasing
High frequencies alias as low frequencies
High frequencies alias as low frequencies
![Page 5: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/5.jpg)
Abstract Vector SpacesAbstract Vector Spaces
Addition C = A + B = B + A (A + B) + C = A + (B + C) given A, B, A + X = B for only one X
Scalar multiply C = a A a (A + B) = a A + a B (a+b) A = a A + b A
Addition C = A + B = B + A (A + B) + C = A + (B + C) given A, B, A + X = B for only one X
Scalar multiply C = a A a (A + B) = a A + a B (a+b) A = a A + b A
![Page 6: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/6.jpg)
Abstract Vector SpacesAbstract Vector Spaces
Inner or Dot Product b = a (A • B) = a A • B = A • a B A • A ≥ 0; A • A = 0 iff A = 0 A • B = (B • A)*
Inner or Dot Product b = a (A • B) = a A • B = A • a B A • A ≥ 0; A • A = 0 iff A = 0 A • B = (B • A)*
![Page 7: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/7.jpg)
Vectors and Discrete FunctionsVectors and Discrete Functions
Geometric Vector Discrete Function
Vector V = (1, 2, 4) V[I] = {1, 2, 4}
Interpretation
Linearity a V + b U a V[I] + b U[I]
Dot Product V • U ∑ (V[I] U*[I])
![Page 8: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/8.jpg)
Vectors and Discrete FunctionsVectors and Discrete Functions 2t in terms of t0, t1, t2 = [1,.5,.5] 2t in terms of t0, t1, t2 = [1,.5,.5]
2t
1 t t2
![Page 9: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/9.jpg)
Vectors and Discrete FunctionsVectors and Discrete Functions 2t in terms of t0, t0.5, t1, t1.5, t2 2t in terms of t0, t0.5, t1, t1.5, t2
2t
1 t0.5 t t1.5 t2
![Page 10: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/10.jpg)
Vectors and FunctionsVectors and Functions
Vector Discrete Continuous
V V[I] V(x)
a V + b U a V[I] + b U[I] a V(x) + b U(x)
V • U ∑ V[I] U*[I] ∫ V(x) U*(x) dx
![Page 11: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/11.jpg)
Vectors and FunctionsVectors and Functions
2t projected onto 1, t, t2 2t projected onto 1, t, t2
2t
1 t t2
![Page 12: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/12.jpg)
Function BasesFunction Bases
Time: Polynomial / Power Series: Discrete Fourier:
integers (where )
Continuous Fourier:
Time: Polynomial / Power Series: Discrete Fourier:
integers (where )
Continuous Fourier:
![Page 13: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/13.jpg)
Fourier TransformsFourier Transforms
Discrete Time
ContinuousTime
DiscreteFrequency
Discrete Fourier Transform
Fourier Series
ContinuousFrequency
Discrete-time Fourier Transform
Fourier Transform
![Page 14: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/14.jpg)
ConvolutionConvolution
Where
Dot product withshifted kernel
Where
Dot product withshifted kernel
![Page 15: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/15.jpg)
FilteringFiltering
Filter in frequency domain FT signal to frequency domain Multiply signal & filter FT signal back to time domain
Filter in time domain FT filter to time domain Convolve signal & filter
Filter in frequency domain FT signal to frequency domain Multiply signal & filter FT signal back to time domain
Filter in time domain FT filter to time domain Convolve signal & filter
![Page 16: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/16.jpg)
IdealIdeal
Low pass filter eliminates all high freq box in frequency domain sinc in spatial domain ( ) Possible negative results Infinite kernel
Exact reconstruction to Nyquist limit Sample frequency ≥ 2x highest frequency Exact only if reconstructing with sync
Low pass filter eliminates all high freq box in frequency domain sinc in spatial domain ( ) Possible negative results Infinite kernel
Exact reconstruction to Nyquist limit Sample frequency ≥ 2x highest frequency Exact only if reconstructing with sync
![Page 17: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/17.jpg)
SamplingSampling
Multiply signal by pulse train Multiply signal by pulse train
![Page 18: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/18.jpg)
ReconstructionReconstruction
Convolve samples & reconstruction filter
Sum weighted kernel functions
Convolve samples & reconstruction filter
Sum weighted kernel functions
![Page 19: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/19.jpg)
Filtering, Sampling, ReconstructionFiltering, Sampling, Reconstruction Steps
Ideal continuous image Filter
Filtered continuous image Sample
Sampled image pixels Reconstruction filter
Continuous displayed result
Steps Ideal continuous image
Filter
Filtered continuous image Sample
Sampled image pixels Reconstruction filter
Continuous displayed result
![Page 20: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/20.jpg)
Filtering, Sampling, ReconstructionFiltering, Sampling, Reconstruction Combine filter and sample
Ideal continuous image Sampling filter
Sampled image pixels Reconstruction filter
Continuous displayed result
Combine filter and sample Ideal continuous image
Sampling filter
Sampled image pixels Reconstruction filter
Continuous displayed result
![Page 21: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/21.jpg)
AntialiasingAntialiasing
Blur away frequencies that would alias Blur preferable to aliasing Can combine filtering and sampling
Evaluate convolution at sample points
Filter kernel size IIR = infinite impulse response FIR = finite impulse response
Blur away frequencies that would alias Blur preferable to aliasing Can combine filtering and sampling
Evaluate convolution at sample points
Filter kernel size IIR = infinite impulse response FIR = finite impulse response
![Page 22: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/22.jpg)
Analytic higher order filteringAnalytic higher order filtering Fold better filter into rasterization
Can make rasterization much harder Usually just done for lines
Draw with filter kernel “paintbrush”
Only practical for finite filters
Fold better filter into rasterization Can make rasterization much harder Usually just done for lines
Draw with filter kernel “paintbrush”
Only practical for finite filters
![Page 23: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/23.jpg)
Analytic Area SamplingAnalytic Area Sampling
Compute “area” of pixel covered Box in spatial domain
Nice finite kernel easy to compute
sinc in freq domain Plenty of high freq still aliases
Compute “area” of pixel covered Box in spatial domain
Nice finite kernel easy to compute
sinc in freq domain Plenty of high freq still aliases
![Page 24: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/24.jpg)
SupersamplingSupersampling
Numeric integration of filter Grid with equal weight = box filter Unequal weights Priority sampling Push up Nyquist frequency
Edges: ∞ frequency, still alias
Numeric integration of filter Grid with equal weight = box filter Unequal weights Priority sampling Push up Nyquist frequency
Edges: ∞ frequency, still alias
![Page 25: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/25.jpg)
Adaptive samplingAdaptive sampling
Numerical integration with varying step More samples in high contrast areas Easy with ray tracing, harder for others Possible bias
Numerical integration with varying step More samples in high contrast areas Easy with ray tracing, harder for others Possible bias
![Page 26: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/26.jpg)
Stochastic samplingStochastic sampling
Monte-Carlo integration of filter Sample distribution
Poisson disk Jittered grid
Aliasing Noise
Monte-Carlo integration of filter Sample distribution
Poisson disk Jittered grid
Aliasing Noise
![Page 27: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/27.jpg)
Which filter kernel?Which filter kernel?
Finite impulse response Finite filter Windowed filter
Positive everywhere? Ringing?
Finite impulse response Finite filter Windowed filter
Positive everywhere? Ringing?
![Page 28: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/28.jpg)
Which filter kernel?Which filter kernel?
Windowed sync Windowed Gaussian (~0 @ 6) Box, tent, cubic
Windowed sync Windowed Gaussian (~0 @ 6) Box, tent, cubic
![Page 29: CMSC 635 Sampling and Antialiasing. Aliasing in images](https://reader035.vdocuments.mx/reader035/viewer/2022062722/56649f315503460f94c4caa8/html5/thumbnails/29.jpg)
ResamplingResampling
Image samples Reconstruction filter
Continuous image Sampling filter
Image samples
Image samples Reconstruction filter
Continuous image Sampling filter
Image samples