Comparative Analysis of Image Interpolation Algorithms
Comparative Analysis of Image Interpolation Algorithms
net/publication/294738469
CITATIONS READS
59 8,423
2 authors:
All content following this page was uploaded by Pankaj Parsania on 29 August 2018.
Abstract: Image interpolation is the most basic requirement for many image processing task such as computer
graphics, gaming, medical image processing, virtualization, camera surveillance and quality control. Image
interpolation is a technique used in resizing images. To resize an image, every pixel in the new image must be mapped
back to a location in the old image in order to calculate a value of new pixel. There are many algorithms available for
determining new value of the pixel, most of which involve some form of interpolation among the nearest pixels in the
old image. In this paper, we used Nearest-neighbor, Bilinear, Bicubic, Bicubic B-spline, Catmull-Rom, Mitchell-
Netravali and Lanzcos of order three algorithms for image interpolation. Each algorithms generates varies artifact such
as aliasing, blurring and moiré. This paper presents, quality and computational time consideration of images while
using these interpolation algorithms.
I. INTRODUCTION
Image interpolation is a term used for image processing, Interpolation using Shape-Preserving Approach [4],
but is often used with different terminologies in literature classification and stitching [5], grid based image
like image scaling, image resampling and image resize. interpolation [6], auto-regression based method [7], fuzzy
There are many algorithms currently in use for the resizing area-based scaling [8] and interpolation used with
of digital images. Most of them attempt to reproduce a Artificial Neural Networks [9] are some of the novel
visually attractive replica of the original. Now a days the techniques used for interpolating images. Although these
technology for smaller display area for viewing on algorithms perform well, they require a lengthy processing
varieties of device, image size is generally down sampled time due to their complexity. This is intolerable for real-
(or sub sampled or decreased) in order to produce time image scaling. Hence, these algorithms have not been
thumbnails. Up sampling an image (or enlarging or considered for the comparative analysis in this paper.
interpolating) is most common for viewing on large In this paper, various interpolation algorithms are used for
display size monitor or television [1]. While enlarging an image interpolation with translation parameters in x and y
image it is not possible to discover any more information directions. The result obtained is presented and
in the image than already exists, and image quality summarized with quality and time complexity parameters.
inevitably suffers. However, there are several methods of
increasing the number of pixels that an image contains, II. INTERPOLATION ALGORITHMS
which can be created out of original pixels. These methods
are often termed as image interpolation algorithms. Digital image interpolation is the process of generating a
continuous intensity surface from discrete image data
There are various algorithms currently in use for image samples. There are many different types of interpolation
interpolation of digital images. Some of the common methods, each resulting in a different look to final image.
interpolation algorithms are the nearest neighbor, bilinear, Thus, it is best if the quality, or visible distinction for each
and bicubic [2]. Other interpolation algorithms such as pixel, is retained throughout the interpolation function
Catmull-Rom and the Mitchell-Netravali generates better [10].
image quality. Lanczos algorithm utilizes 2- lobed, 3-
lobed or 4-lobes sinc window function to implement Generally, almost every geometric transformation like
interpolation [3]. These algorithms uses higher order translating, rotating, scaling, and warping requires
interpolators which take more surrounding pixels into interpolation to be performed on an image. Such
consideration, and thus also require more computation transformations are essential to any commercial digital
time, and retain the most of image details after an image processing software. The perceived quality of the
interpolation. They are extremely useful when the image interpolated images is affected by several issues such as
requires multiple translation, rotations or distortions in sharpness of edges, freedom from artifacts and
separate steps. However, for single-step enlargements or reconstruction of high frequency details etc. [11]
image operations, these higher- order algorithms provide Interpolation function is performed by convolution
diminishing visual improvement and processing time operation which involves a large number of addition and
increases significantly. multiplication operations. Hence, a trade-off is required
between computation complexity and quality of the next point on the spline. The results are similar to ones
interpolated image [12]. Various interpolation algorithms produced by bicubic interpolation with regards to
discussed in this paper are Nearest-neighbor, Bilinear, sharpness, But the Catmull-Rom reconstruction is clearly
Bicubic, Cubic B-spline, Catmull-Rom, Mitchell-Netravali superior in smooth signal region [3].
and Lanzcos.
F. Mitchell-Netravali approximation
A. Nearest Neighbour This function is the weighted sum of Catmull-Rom spline
This is the simplest and requires the least processing time and cubic B-spline. This method is compromise,
of all the interpolation algorithms. Nearest neighbor producing little overshoot, high edge sharpness, and good
selects the value of the nearest pixel by rounding the signal continuity in smooth region. Since the resulting
coordinates of the desired interpolation point. Using this function does not pass through the original sample points,
method one finds the closest corresponding pixel in the the Mitchell-Netravali method is an approximation and not
source (original) image for each pixel in the destination an interpolation [3].
image [13]. New pixels are made the same as others close-
G. Lanczos interpolation
by. The pixels or dots of color are duplicated to create new
Lanczos interpolation function is a mathematical formula
pixels as the image grows. It creates pixilation or edges
used to smoothly interpolate the value of a digital
that break up curves into steps or jagged edges. This form
image between its samples. It maps each sample of the
of interpolation suffers from normally unacceptable effects
given image to a translated and scaled copy of the Lanczos
for both enlarging and reduction of images [10].
kernel, which is a sinc function windowed by the central
B. Bilinear Interpolation hump of a dilated sinc function. The sum of these
Bilinear interpolation takes a weighted average of the four translated and scaled kernels is then evaluated at the
neighborhood pixels to calculate its final interpolated desired pixel [16]. Lanczos interpolation has the best
value. The result is much smoother image than the original properties in terms of detail preservation and minimal
image. When all known pixel distances are equal, then the generation of aliasing artifacts for geometric
interpolated value is simply their sum divided by four. transformations not involving strong down sampling. The
This technique performs interpolation in both directions, number of neighboring pixels for consideration varies as
horizontal and vertical. This technique gives better result the order of the kernel. If the order is chosen to be 2, 16
than nearest neighbor interpolation and take less pixels are considered while if the order is 3, 36
computation time compare to bicubic interpolation [14]. neighboring pixels are utilized for interpolation. However
the higher order Lanczos interpolation require high
C. Bicubic Interpolation
computational time, which make them not suitable for
Bicubic goes one step beyond bilinear by considering the
many commercial software [12].
closest 4x4 neighborhood of known pixels for a total of 16
pixels. Since these are at various distances from the
III. RESULT ANALYSIS
unknown pixel, closer pixels are given a higher weighting
in the calculation. Bicubic produces noticeably sharper All seven algorithms are implemented in java language.
images than the previous two methods, and is perhaps the ImageJ 1.50b with java 1.6.0_24 (64bit) an open source
ideal combination of processing time and output quality. java software developed by Wayne Rasband at National
For this reason it is a standard in many image editing Institute for Health (NIH) is used for image read, write and
programs including Adobe Photoshop, printer drivers and display. The software installed on a standard Window 8
in-camera interpolation [15]. Enterprise machine having Intel® Core i3 CPU @ 3.07
Ghz and installed DDR3 RAM of 4GB, is used for
D. Cubic B-Spline compilation and execution of java programs. Two input
As bicubic interpolation, the cubic B-spline interpolation test image of size 256x256 (Lena and Peppers) and
algorithm also interpolates from the nearest sixteen source corresponding interpolated output images of size 256x256
pixels. However, this algorithm uses B-spline interpolating produced by seven implementations are shown in Fig. 1.
functions instead of cubic splines, which in general yield During the interpolation of different images, translation
quite smooth results. It performs a convolution with a two- parameters (in pixel) dx = 10.5 and dy = -3.25 is used in x
dimensional non separable filter, so its complexity is and y direction respectively. As the images are translated,
increased. In contrast, bicubic interpolation uses a in this paper for display, we cropped and scaled images
convolution with a separable filter, and hence its size to 256x256 pixel resolution.
complexity is less. Despite of this performance difference, While dealing with different algorithms it generates
bicubic B-spline has interesting characteristics of number of artifact such as aliasing, moiré and blurring.
smoothness that make it a good option in some cases [3]. Nearest neighbour interpolation produces a high aliasing
E. Catmull-Rom Interpolation effect resulting in jagged edges. Bilinear interpolation
Catmull-Rom is a local interpolating spline developed for reduces the aliasing effect but causes a moderate blurring
computer graphics purposes. Its initial use was in design of the edges. Bicubic and Cubic B-spline interpolation
of curves and surfaces, and has recently been used in produces a moderate aliasing, blurring and an edge halo
several applications. Catmull-Rom splines are a family of effect. Catmull-Rom interpolation is superior in smooth
cubic interpolating splines formulated such that the signal region and provides the sharpness as Bicubic and
tangent at each point is calculated using the previous and Cubic B-spline algorithms. Mitchell-Netravali provides
high edge sharpness and good signal continuity in smooth Table1: Time complexity of interpolation algorithms
region. Lanczos interpolation delivers an image quality Interpolation Algorithm Time in Second(s)
very similar to that of Bicubic, but also utilizes the sine
function repeatedly which itself requires a large number of Nearest neighbour 0.081
addition and multiplication operations according to Taylor
Bilinear 0.140
series approximation.
Comparison of time complexity of all seven image Bicubic 0.169
interpolation algorithms is shown in Table 1 for Lena Cubic B-Spline 0.174
image. Computationally, nearest neighbour interpolation is
the least intensive as it considers only one pixel for Cutmull-Rom 0.156
interpolation and Lanczos order 3 uses the maximum time Mitchell-Netravali 0.172
of all the seven algorithms due to more number of pixel
consideration Lanczos order 3 1.094
(a) (a)
(b) (b)
(c) (c)
(d) (d)
(e) (e)
(f) (f)
(g) (g)
(h) (h)
Fig. 1 (a) Input image (Lena and Peppers), (b) Nearest-neighbour, (c) Bilinear, (d) Bicubic, (e) Cubic B-spline,
(f) Catmull-Rom, (g) Mitchell-Netravali, (h) Lanczos order 3