- Bicubic interpolation
In
mathematics , bicubic interpolation is an extension ofcubic interpolation for interpolating data points on atwo dimensional regular grid . The interpolated surface is smoother than corresponding surfaces obtained bybilinear interpolation ornearest-neighbor interpolation . Bicubic interpolation can be accomplished using either Lagrange polynomials, cubic splines or cubic convolution algorithm.In
image processing , bicubic interpolation is often chosen over bilinear interpolation or nearest neighbor in imageresampling , when speed is not an issue. Images resampled with bicubic interpolation are smoother and have fewer interpolation artifacts.Bicubic spline interpolation
Suppose the function values and the derivatives , and are known at the four corners , , , and of the unit square. The interpolated surface can then be written:
The interpolation problem consists of determining the 16 coefficients .Matching with the function values yields four equations,
#
#
#
#Likewise, eight equations for the derivatives in the -direction and the -direction
#
#
#
#
#
#
#
#And four equations for the cross derivative .
#
#
#
#where the expressions above have used the following identities,:
:
:.This procedure yields a surface on the unit square which is continuous and with continuous derivatives. Bicubic interpolation on an arbitrarily sized
regular grid can then be accomplished by patching together such bicubic surfaces, ensuring that the derivatives match on the boundaries.If the derivatives are unknown, they are typically approximated from the function values at points neighbouring the corners of the unit square, ie. using
finite differences .Bicubic convolution algorithm
Bicubic spline interpolation requires the solution of the linear system described above for each grid cell. An interpolator with similar properties can be obtained by applying
convolution with the following kernel in both dimensions::where is usually set to -0.5 or -0.75. Note that and for all nonzero integers .This approach was proposed by Keys who showed that (which corresponds to
cubic Hermite spline ) produces the best approximation of the original functioncite journal
author = R. Keys,
year = 1981
title = Cubic convolution interpolation for digital image processing
journal = IEEE Transactions on Signal Processing, Acoustics, Speech, and Signal Processing
doi = 10.1109/TASSP.1981.1163711
volume = 29
pages = 1153] .If we use the matrix notation for the common case , we can express the equation in a more friendly manner::for between 0 and 1 for one dimension (must be applied once in and again in )
Use in computer graphics
The bicubic algorithm is frequently used for scaling images and video for display (see bitmap resampling). It preserves fine detail better than the common bilinear algorithm.
References
ee also
*
Anti-aliasing
*Bézier surface
*Bilinear interpolation
*Cubic Hermite spline , the one-dimensional analogue of bicubic spline
*Lanczos resampling
*Sinc filter
*Spline interpolation External links
* [http://www.geovista.psu.edu/sites/geocomp99/Gc99/082/gc_082.htm Application of interpolation to elevation samples]
* [http://www.all-in-one.ee/~dersch/interpolator/interpolator.html Comparison of interpolation functions]
* [http://sepwww.stanford.edu/public/docs/sep107/paper_html/node20.html Interpolation theory]
* [http://www.npac.syr.edu/projects/nasa/MILOJE/final/node36.html Lagrange interpolation]
Wikimedia Foundation. 2010.