GPU Prefilter for Accurate Cubic B-spline Interpolation

Achieving accurate interpolation is an important requirement for many signal-processing applications. While nearest-neighbor and linear interpolation methods are popular due to their native GPU support, they unfortunately result in severe undesirable artifacts. Better interpolation methods are known but lack a native GPU support. Yet, a particularly attractive one is prefiltered cubic-spline interpolation. The signal it reconstructs from discrete samples has a much higher fidelity to the original data than what is achievable with nearest-neighbor and linear interpolation. At the same time, its computational load is moderate, provided a sequence of two operations is applied: first, prefilter the samples, and only then reconstruct the signal with the help of a B-spline basis. It has already been established in the literature that the reconstruction step can be implemented efficiently on a GPU. This article focuses on an efficient GPU implementation of the prefilter, on how to apply it to multidimensional samples (e.g. RGB color images), and on its performance aspects.

[1]  P. A. Lynn,et al.  Recursive digital filters with linear-phase characteristics , 1972, Comput. J..

[2]  Ian Buck GPU Computing: Programming a Massively Parallel Processor , 2007, International Symposium on Code Generation and Optimization (CGO'07).

[3]  Balázs Csébfalvi,et al.  An Evaluation of Prefiltered Reconstruction Schemes for Volume Rendering , 2008, IEEE Transactions on Visualization and Computer Graphics.

[4]  M. Unser,et al.  Interpolation Revisited , 2000, IEEE Trans. Medical Imaging.

[5]  Mathieu Lagrange,et al.  Long Interpolation of Audio Signals Using Linear Prediction in Sinusoidal Modeling , 2005 .

[6]  Matt Pharr,et al.  Gpu gems 2: programming techniques for high-performance graphics and general-purpose computation , 2005 .

[7]  Michael Unser,et al.  A pyramid approach to subpixel registration based on intensity , 1998, IEEE Trans. Image Process..

[8]  Ronald Fedkiw,et al.  Visual simulation of smoke , 2001, SIGGRAPH.

[9]  Markus Hadwiger,et al.  Fast Third-Order Texture Filtering , 2005 .

[10]  Paul Suetens,et al.  Efficient GPU-Based Texture Interpolation using Uniform B-Splines , 2008, J. Graph. Tools.

[11]  I. J. Schoenberg Contributions to the Problem of Approximation of Equidistant Data by Analytic Functions , 1988 .

[12]  R. Keys Cubic convolution interpolation for digital image processing , 1981 .

[13]  Michael Unser,et al.  Splines: a perfect fit for signal and image processing , 1999, IEEE Signal Process. Mag..

[14]  Paul Suetens,et al.  Efficient GPU-accelerated elastic image registration , 2008 .