Bilinear Accelerated Filter Approximation Josiah Manson and Scott Schaefer Texas A&M University
Motivation Trilinear Interpolation
Motivation Optimized Combination of 2 Bilinear Samples
Mipmap Basis
Filter Approximation Filter to Approximate
Filter Approximation Bilinear Interpolation
Filter Approximation Best fit using 4 samples
Cache Coherence Cardinality-Constrained Texture Filtering
Cache Coherence Bilinear Accelerated Filter Approximation
Freedom in Bilinear Samples 5 degrees of freedom + mipmap levels
Optimization
Filter to approximate
Optimization Filter to approximate Bilinear combination of mipmap filters
Optimization Filter to approximate Bilinear combination of mipmap filters Bilinear parameters Optimize
Optimization Filter to approximate Bilinear combination of mipmap filters Bilinear parameters Relative weights of bilinear probes Optimize
Optimization Filter to approximate Bilinear combination of mipmap filters Bilinear parameters Relative weights of bilinear probes Points in image Optimize
Optimization Filter to approximate Bilinear combination of mipmap filters Bilinear parameters Relative weights of bilinear probes Points in image Scale and translation of input filter Optimize
Discretization of Domain
4x4
Discretization of Domain 4x4x2
Coupled vs. Decoupled
Lanczos 2 Error w.r.t. Discretization
4x4x2
Error w.r.t. Filter Type at 4x4x2
Symmetry of Domain 32 subdomains
Symmetry of Domain 16 subdomains
Symmetry of Domain 8 subdomains
Symmetry of Domain 6 subdomains
Table Sizes 6/8 * 8*(4* ) 6/8 * (5*4*16 + 2*2) 6/8 * (5*4*16 + 2*(4+4+2)) CCTF: Coupled: Decoupled: = 444 bytes = 243 bytes = 255 bytes 6 subdomains, 8 bits per byte Number of parameters and fetches Bits per linear fit of parameter Integer choice of texel/level
Uniform Scaling: Lanczos 2 Trilinear Interpolation
Uniform Scaling: Lanczos 2 Coupled Bilinear
Uniform Scaling: Lanczos 2 Decoupled Bilinear
Uniform Scaling: Lanczos 2 CCTF
3D Rotation: Lanczos 2 Coupled Bilinear
3D Rotation: Lanczos 2 Decoupled Bilinear
3D Rotation: Lanczos 2 CCTF
Speed in FPS
Conclusion Improved quality over trilinear interpolation Almost same quality as CCTF 2x faster than CCTF Decoupling samples removes constraints Small GPU lookup table
Lanczos 2 Error w.r.t. Discretization
Uniform Scaling: Lanczos 2 Exact Evaluation
2D Translation: Lanczos 2 Exact Evaluation
3D Rotation: Lanczos 2 Trilinear Interpolation
2D Translation: Lanczos 2 Trilinear Interpolation
Optimization Cubic
Optimization Cubic Sextic!
Optimization Cubic Sextic! Levenberg-Marquardt
Optimization Cubic Sextic! Levenberg-Marquardt X
Optimization Cubic Sextic! Levenberg-Marquardt X
3D Plane: Lanczos 2 Trilinear Interpolation
3D Plane: Lanczos 2 Coupled Bilinear
3D Plane: Lanczos 2 Decoupled Bilinear
3D Plane: Lanczos 2 CCTF
2D Translation: Lanczos 2 Coupled Bilinear
2D Translation: Lanczos 2 Decoupled Bilinear
2D Translation: Lanczos 2 CCTF
Anisotropic Filtering
Anisotropic Trilinear
Anisotropic Trilinear Anisotropic
Anisotropic Decoupled Anisotropic
Anisotropic CCTF