    Inverse B-spline interpolation  Next: 2-D example Up: Forward Interpolation Previous: Interpolation and convolution

## B-splines

B-splines represent a particular example of a convolutional basis. Because of their compact support and other attractive numerical properties, B-splines are a good basis choice for the forward interpolation problem and related signal processing problems (Unser, 1999).

B-splines of the order 0 and 1 coincide with the nearest neighbor and linear interpolants (2) and (3) respectively. B-splines of a higher order can be defined by a repetitive convolution of the zeroth-order spline (the box function) with itself: (10)

There is also the explicit expression (11)

which can be proved by induction. Here are the binomial coefficients, and the function is defined as follows: (12)

As follows from formula (11), the most commonly used cubic B-spline has the expression (13)

The corresponding discrete filter is a centered 3-point filter with coefficients 1/6, 2/3, and 1/6. According to the traditional method, a deconvolution with this filter is performed as a tridiagonal matrix inversion (de Boor, 1978). One can accomplish it more efficiently by spectral factorization and recursive filtering (Unser et al., 1993a). The recursive filtering approach generalizes straightforwardly to B-splines of higher orders.

Both the support length and the smoothness of B-splines increase with the order. In the limit, B-slines converge to the Gaussian function. Figures 11 and 12 show the third- and seventh-order splines and and their continuous spectra. splint3
Figure 11.
Third-order B-spline (left) and its spectrum (right).    splint7
Figure 12.
Seventh-order B-spline (left) and its spectrum (right).   It is important to realize the difference between B-splines and the corresponding interpolants , which are sometimes called cardinal splines. An explicit computation of the cardinal splines is impractical, because they have infinitely long support. Typically, they are constructed implicitly by the two-step interpolation method, outlined in the previous subsection. The cardinal splines of orders 3 and 7 and their spectra are shown in Figures 13 and 14. As B-splines converge to the Gaussian function, the corresponding interpolants rapidly converge to the sinc function (4). A good convergence is achieved with the help of the infinitely long support, which results from recursive filtering at the first step of the interpolation procedure. crdint3
Figure 13.
Effective third-order B-spline interpolant (left) and its spectrum (right).    crdint7
Figure 14.
Effective seventh-order B-spline interpolant (left) and its spectrum (right).   In practice, the recursive filtering step adds only marginally to the total interpolation cost. Therefore, an -th order B-spline interpolation is comparable in cost with any other method with an -point interpolant. The comparison in accuracy usually turns out in favor of B-splines. Figures 15 and 16 compare interpolation errors of B-splines and other similar-cost methods on the example from Figure 4.

cubspl4
Figure 15.
Interpolation error of the cubic convolution interpolant (dashed line) compared to that of the third-order B-spline (solid line).    kaispl8
Figure 16.
Interpolation error of the 8-point windowed sinc interpolant (dashed line) compared to that of the seventh-order B-spline (solid line).    Similarly to Figures 8 and 9, we can also compare the discrete responses of B-spline interpolation with those of other methods. The right plots in Figures 17 and 18 show that the discrete spectra of the effective B-spline interpolants are genuinely flat at low frequencies and wider than those of the competitive methods. Although the B-spline responses are infinitely long because of the recursive filtering step, they exhibit a fast amplitude decay.

speccubspl4
Figure 17.
Discrete interpolation responses of cubic convolution and third-order B-spline interpolants (left) and their discrete spectra (right) for .    speckaispl8
Figure 18.
Discrete interpolation responses of 8-point windowed sinc and seventh-order B-spline interpolants (left) and their discrete spectra (right) for .        Inverse B-spline interpolation  Next: 2-D example Up: Forward Interpolation Previous: Interpolation and convolution

2014-02-15