Download - Bilinear Accelerated Filter Approximation
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
Mipmap Basis
Mipmap Basis
Mipmap Basis
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
Optimization
Filter to approximate
Optimization
Filter to approximateBilinear combination of mipmap filters
Optimization
Filter to approximateBilinear combination of mipmap filtersBilinear parameters
Optimize
Optimization
Filter to approximateBilinear combination of mipmap filtersBilinear parametersRelative weights of bilinear probes
Optimize
Optimization
Filter to approximateBilinear combination of mipmap filtersBilinear parametersRelative weights of bilinear probesPoints in image
Optimize
Optimization
Filter to approximateBilinear combination of mipmap filtersBilinear parametersRelative weights of bilinear probesPoints in imageScale and translation of input filter
Optimize
Discretization of Domain
Discretization of Domain
4x4
Discretization of Domain
4x4x2
Coupled vs. Decoupled
Coupled vs. Decoupled
Coupled vs. Decoupled
Lanczos 2 Error w.r.t. Discretization
Lanczos 2 Error w.r.t. Discretization
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*16 + 4+4+2)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 byteNumber of parameters and fetchesBits per linear fit of parameterInteger 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 Filtering
Anisotropic Filtering
Anisotropic
Trilinear
Anisotropic
Trilinear Anisotropic
Anisotropic
Decoupled Anisotropic
Anisotropic
CCTF