Bilinear interpolation is often used to improve image quality after performing spatial transformation operations such as digital zooming or rotation. In the traditional case where the input coordinates appear in a raster-based fashion, the required pixel values can be obtained from the previous calculation, the frame buffer and a single line cache. This paper presents a novel approach to performing real-time bilinear interpolation that is useful in applications such as lens distortion correction where the input coordinates follow a curved path that spans multiple rows. To help retrieve the required pixels in a single clock cycle under imposed data bandwidth constraints a unique caching system has been devised. In the event that constraints make it impossible to obtain the four required pixel values, the approach performs a modified three-point interpolation. An example field programmable gate array implementation of the bilinear interpolation method used in conjunction with a lens dis...
K. T. Gribbon, Donald G. Bailey