Image resampling operation changes the size of the digital image.
Conventional algorithms include Nearest Neighbor, Bilinear, and Bicubic interpolation.
Other linear filters are also known: Lanczos, Mitchell, Catmull-Rom and other splines.
Here we compare the visual quality of these resampling filters, and also review several
image-adaptive edge-directional approaches to image resampling. Also we introduce one new
method for image resampling, we call it SmartEdge.
SmartEdge algorithm was developed by the Graphics and
Media Lab of a State University of Moscow (MSU) in a joint research project with Samsung
Electronics.
Example
Let's start with some image examples. At the enlarged images we show only
image fragments: click on them to view full enlarged images. Some of the images on this
page are loss-lessly encoded in PNG format, but some larger images were encoded in JPEG
format (at very high quality).
Original low-resolution image - it will be enlarged by 4
times
![lhouse.png (36565 bytes)](img/lhouse.png)
Non-adaptive methods (linear interpolation filters)
![lhouse_nearest_.png (7487 bytes)](img/lhouse_nearest_.png) Nearest neighbor
|
![lhouse_bicubic_.png (31963 bytes)](img/lhouse_bicubic_.png) Bicubic interpolation
|
![lhouse_lanczos_.png (34048 bytes)](img/lhouse_lanczos_.png) Lanczos filter
|
Edge-adaptive methods
![lhouse_ssplinepro_.png (55987 bytes)](img/lhouse_ssplinepro_.png) S-Spline Pro program
(Shortcut software)
|
![lhouse_sar_.png (37354 bytes)](img/lhouse_sar_.png) SAR program
(NEDI + Jensen filter)
|
![lhouse_smartedge_.png (35673 bytes)](img/lhouse_smartedge_.png) Smart-Edge
(our own method)
|
Other methods...
Another example
Original low-resolution image - it will be enlarged by 2
times
![lh_.png (42484 bytes)](img/lh_.png)
Up-scaled images
![lh_nearest_.jpg (55672 bytes)](img/lh_nearest_.jpg) Nearest neighbor
|
![lh_bicubic_.jpg (49047 bytes)](img/lh_bicubic_.jpg) Bicubic interpolation
|
![lh_sar_.jpg (58004 bytes)](img/lh_sar_.jpg) SAR
program (NEDI + Jensen filter)
|
![lh_nedidehaan_.jpg (49173 bytes)](img/lh_nedidehaan_.jpg) NEDI (G.D.Haan improved implementation)
|
![lh_ssplinepro_.jpg (55067 bytes)](img/lh_ssplinepro_.jpg) S-Spline Pro program
|
![lh_smartedge_.jpg (55070 bytes)](img/lh_smartedge_.jpg) Smart-Edge
|
Artifacts
Let's discuss the characteristic artifacts introduced by resampling
methods.
Linear methods
Linear resampling methods are always a tradeoff between 3 artifacts: blur,
aliasing, and ringing.
Blur is a
loss of image sharpness. It can be seen on images up-scaled using bilinear or bicubic
interpolation. |
![blur.jpg (10462 bytes)](img/blur.jpg)
|
Aliasing
appears as jagged edges (during up-scaling) or moire patterns (during down-scaling). It is
present in images up-scaled using all linear methods, but it is most visible with nearest
neighbor, bicubic, and bilinear methods. |
![aliasing.jpg (10620 bytes)](img/aliasing.jpg)
|
Ringing
(also known as Gibbs phenomenon) appears as halo around edges. It is clearly visible with
sinc, Lanczos, and bicubic methods. Some small amount of ringing improves the perceived
sharpness of the image, but high amount of ringing becomes annoying. |
![ringing.jpg (11569 bytes)](img/ringing.jpg)
|
It's important to understand that it's theoretically impossible to eliminate all of
these artifacts simultaneously with linear methods.
Edge-adaptive methods
The most widely known edge-adaptive resampling method is NEDI - New Edge
Directed Interpolation - introduced by Xin Lee. It has several artifacts.