
Motivation • The main goal of Computer Graphics is to generate 2D images • 2D images are continuous 2D functions (or signals) – monochrome f(x,y) –or color r(x,y), g(x,y), b(x,y) • These functions are represented by a 2D set of discrete samples (pixels) • Sampling can cause artifacts (=Aliasing) 2 7. Anti-Aliasing Examples - Moiré Patterns Examples - Jaggies • Staircase effect at borders 3 4 7. Anti-Aliasing 7. Anti-Aliasing Temporal Aliasing Aliasing in Computer Graphics • Aliasing effects: – loss of detail time –Moirépatterns –jaggies real (continuous) motion • Appear in – texture mapping – scan conversion of geometry sampled (perceived) motion – raytracing 5 6 7. Anti-Aliasing 7. Anti-Aliasing Sampling and Reconstruction Example – Point Sampling 7 8 7. Anti-Aliasing 7. Anti-Aliasing Signal Processing Spectrum of an Image • Aliasing is well understood in signal processing •What is usignal of an image f(x,y)? • Interpret images as 2D signals •Use Fourier analysis (1D first) • Aliasing = sampling of L2-functions below the •Represent f(x) as a sum of harmonic waves: Nyquist frequency uNyquist = 2 usignal ∞ f(x) = ∫ F(u)e j 2πu x du −∞ • The amplitudes F(u) of waves with frequency u (spectrum) are computed as ∞ F{}f(x) = F(u) = f(x)e− j 2πu x dx 9 ∫ 10 −∞ 7. Anti-Aliasing 7. Anti-Aliasing Avoiding Aliasing 1D Fourier Transform •Let W be the maximum u for which |F(u)|>0 • Either choose usampling > 2W • Fourier transform • Or zero all F(u) for u > ½ usampling ∞ F{}f(x) = F(u) = f(x)e− j 2πu x dx • i.e. low pass filter the signal ∫ −∞ • Smoothing of image before sampling! •Inverse transform • e.g. Mip mapping: ∞ F -1{}F(u) = f(x) = ∫ F(u)e j 2πu x du −∞ 11 12 decreasing sampling rate, increased smoothing 7. Anti-Aliasing 7. Anti-Aliasing 1D Discrete Fourier Transform 2D Fourier Transforms ∞ ∞ j 2π k i 1 N −1 − − j 2π(u x+v y) • Discrete transform F(k) = ∑ f(i)e N F{}f(x,y) = F(u,v) = ∫∫f(x,y)e dx dy N i=0 −∞−∞ ∞ ∞ -1 j 2π(u x v y) N −1 j 2π k i F {}F(u,v) = f(x,y) = f(x,y)e + du dv N ∫∫ • Discrete inverse f(i) = ∑ F(k)e −∞−∞ k =0 • Discrete setting x = i ⋅∆x, u x v y u = k ⋅ ∆u 1 M −1N −1 − j 2π( + ) F(u,v) = f(x,y)e M N 1 M N ∑∑ • Heisenberg resolution bounds ∆x ⋅ ∆u ≥ x=0 y=0 4π u x v y M −1 N −1 j 2π( + ) f(x,y) = F(u,v)e M N 13 ∑∑ 14 u=0 v=0 7. Anti-Aliasing 7. Anti-Aliasing Example: Reconstruction 2D Fourier Transforms rect(x,y) sinc(x,y) f(i∆x) g(x) x x ∆x reconstruction filter f(x) N f(x) = ∑ f (i∆x)⋅ g(x − i∆x)⋅∆x sine cardinal: x i=1 ⎧1 x = 0 sinc(x) = ⎨ ⎩sin(x) / x otherwise 15 16 7. Anti-Aliasing 7. Anti-Aliasing Convolutions Convolutions ∞ f(x)*g(x) = ∫ f(α)g(x − α)dα −∞ f(x) δ(x) x x f(x) g(x) ∞ f(x)*δ(x) = f(α)δ(x − α)dα = f(x) x x ∫ −∞ • Discrete setting f(α) g(x-α) M −1 f(x)*g(x) = ∑ f(m)g(x − m) α m=0 x 17 18 7. Anti-Aliasing 7. Anti-Aliasing Convolutions Convolutions •2D convolution as a separable TP-extension • Convolution theorem ∞ ∞ f(x)*g(x) ≡ F(u)G(u) f(x,y)*g(x,y) = ∫∫f(α, β) g(x − α,y − β)dα dβ −∞−∞ f(x)g(x) ≡ F(u)*G(u) • Discrete form • For function of finite energy (L2) M −1N −1 f(x,y)*g(x,y) = f(m,n) g(x − m,y − n) ∞ ∑∑ 2 2 m=0 n=0 f = f,f = ∫ f(x) dx < ∞ −∞ 19 20 7. Anti-Aliasing 7. Anti-Aliasing Aliasing Aliasing • Sampling = multiplication with sequence of • Multiplication converts to convolution in delta functions (impulse train) Fourier domain 21 22 7. Anti-Aliasing 7. Anti-Aliasing Aliasing Aliasing • Convolution with sequence of delta functions • Overlap of Fourier transforms leads to aliasing = periodization 23 24 7. Anti-Aliasing 7. Anti-Aliasing Aliasing Aliasing-free Reconstruction Spatial Domain Frequency Domain Spatial Domain Frequency Domain • Reconstruction = Low pass filtering 25 26 7. Anti-Aliasing 7. Anti-Aliasing Occurrence of Aliasing 2D Sampling Spatial Domain Frequency Domain Spatial Domain Frequency Domain • 2D impulse fields ∞ ∞ f(x,y)δ(x − x ,y − y )dx dy = f(x ,y ) ∫∫ 0 0 0 0 −∞−∞ 27 28 7. Anti-Aliasing 7. Anti-Aliasing Fourier Domain Reconstruction – Antialiasing • Periodic spectrum of band limited sampled function • Windowing spectrum using filters •Simple f(x,y) = G(u,v)[S(u,v)*F(u,v)] where ⎧1 (u,v) within Bounding Box of R G(u,v) = ⎨ ⎩0 else 29 30 7. Anti-Aliasing 7. Anti-Aliasing 2D Sampling Theorem • Sampling rate is bounded by 1 ∆u = N ∆x 1 ∆v = N ∆y • Finite, discrete setting 1 ∆x ≤ 2Wu 1 ∆y ≤ 31 32 2Wv 7. Anti-Aliasing 7. Anti-Aliasing Spectral Analysis Geometry Antialiasing Filters in Practice • Properties of a good low pass filter 33 34 7. Anti-Aliasing 7. Anti-Aliasing Antialiasing Filters Antialiasing Filters • B-Spline filters of order n • Gaussian filters 2 2 G (ω) = e−σ ω / 2 σ 2 1 2 2 ⎧1 x ≤ 1 g (x) = e−x / 2 σ ↔ ⎪ 2 sin ω/ 2 sin π f σ 2 2 π g1(x) = ⎨ ↔ = = sin c f σ 2 π = g (ω) 0 x > 1 ω/ 2 π f 1/σ 2 ⎩⎪ 2 σ • Sinc-filter • Increase order by repeated convolution ωc x sin(ωc x) ω ⎧1 ω ≤ ωc g (x) = g (x)*g (x)*…*g (x) ↔ sin c n f sinc( ) = ↔ g ( ) = ⎨ n 1 1 1 1 0 ω > ω π π x 2ωc ⎩ c 35 36 7. Anti-Aliasing 7. Anti-Aliasing Filtering in Texture Space Filters and Fourier Transforms and Screen Space 37 38 7. Anti-Aliasing 7. Anti-Aliasing The Concept of Resampling Projection and Image Warping Filters Affine Mapping Projective Mapping • Perspective projection of a textured surface • Non-uniform sampling pattern on screen • Optimal resampling filter is spatially variant 39 40 7. Anti-Aliasing 7. Anti-Aliasing Relations between Texture and Spatially Variant Filtering Image Space Texture space Image space warp 1. 4. 2. 3. Screen Space Texture Space 41 42 7. Anti-Aliasing 7. Anti-Aliasing Antialiasing in Raytracing Jittering • Supersampling • Random Perturbation of Sampling Positions Pixel 43 44 7. Anti-Aliasing 7. Anti-Aliasing Poisson Sampling vs. Jittering Supersampling & Jittering 4 Rays/Pixel Jitter=0.3 45 46 7. Anti-Aliasing 7. Anti-Aliasing Supersampling & Jittering Supersampling & Jittering Jitter=0.5 Jitter=1.0 4 Rays/Pixel Jitter=0.3 47 48 7. Anti-Aliasing 7. Anti-Aliasing Supersampling & Jittering Adaptive Supersampling Jitter=0.5 Jitter=1.0 49 50 7. Anti-Aliasing 7. Anti-Aliasing Adaptive Supersampling 51 7. Anti-Aliasing.
Details
-
File Typepdf
-
Upload Time-
-
Content LanguagesEnglish
-
Upload UserAnonymous/Not logged-in
-
File Pages9 Page
-
File Size-