Constant-time filtering with space-variant kernels

A Fournier, E Fiume - ACM SIGGRAPH Computer Graphics, 1988 - dl.acm.org
A Fournier, E Fiume
ACM SIGGRAPH Computer Graphics, 1988dl.acm.org
Filtering is an essential but costly step in many computer graphics applications, most notably
in texture mapping. Several techniques have been previously developed which allow
prefiltering of a texture (or in general an image) in time that is independent of the number of
texture elements under the filter kernel. These are limited, however, to space-invariant
kernels whose shape in texture space is the same independently of their positions, and
usually are also limited to a small range of filters. We present here a technique that permits …
Filtering is an essential but costly step in many computer graphics applications, most notably in texture mapping. Several techniques have been previously developed which allow prefiltering of a texture (or in general an image) in time that is independent of the number of texture elements under the filter kernel. These are limited, however, to space-invariant kernels whose shape in texture space is the same independently of their positions, and usually are also limited to a small range of filters.We present here a technique that permits constant-time filtering for space-variant kernels. The essential step is to approximate a filter surface in texture space by a sum of suitably-chosen basis functions. The convolution of a filter with a texture is replaced by the weighted sum of the convolution of the basis functions with the texture, which can be precomputed. To achieve constant time, convolutions with the basis functions are computed and stored in a pyramidal fashion, and the right level of the pyramid is selected so that only a constant number of points on the filter kernel need be evaluated.The technique allows the use of arbitrary filters, and as such is useful to explore interesting mappings and special filtering techniques. We give examples of applications to perspective and conformal mappings, and to the use of filters such as gaussians and sinc functions.
ACM Digital Library