Introduction: Image interpolation is the process of increasing the number of pixels in an image such that the image is enlarged. Also, interpolation is defined as a process of creating new data pixels by using known data pixels [1].The interpolation is commonly called as image scaling, image zooming, image up sampling or image magnification. The image interpolation should be performed without affecting the quality of the image. Several interpolation algorithms are used to perform interpolation preserving the quality to a maximum extent. Many interpolation algorithms have been developed for image up-scaling. Common interpolation methods can be grouped into two categories. They are Non-adaptive and adaptive interpolation algorithms [2]. The non-adaptive interpolation treats all the pixels equally i.e. fixed operation is performed throughout the pixels. Adaptive methods change depending on what they are interpolating (edges, smooth textures etc.) The architecture corresponding to the non-adaptive interpolation method is simple and requires only low cost to implement it. The non-adaptive interpolation algorithms are conventional nearest-neighbour interpolation, bi-linear interpolation and bi-cubic interpolation. The major characteristics of nearest neighbour interpolation are low complexity and simple to design. However, it produces blocking and aliasing effects [3-4]. Bilinear interpolation utilizes the 2x2 neighbourhood of known pixel to introduce a new pixel values [5-6]. It then takes a weighted average of those four pixels to attain its final interpolated value. This results in much smoother looking images than nearest neighbour. But it makes serious blurring problem.

Commonly, higher order interpolation techniques achieve high quality on interpolated image. Typical example of this approach is bi-cubic interpolation. It reveals high performance accuracy. To enhance the accuracy further, clamp filter and sigmoidal edge detection technique is employed with the Bi-cubic interpolation.

Adaptive Edge based Bi-cubic image interpolation: Bi-cubic interpolation is the higher order polynomial algorithm. The operation of Bi-cubic interpolation utilizes the computation of 16 weighting coefficients along by using 16 pixels of source image. The coefficients of corresponding source pixel can be obtained by equation (1) [6].

Bi-cubic(x) = 1-2x2+x3 for 0'x<1

4-8x+5x2-x3 for 1'x<2 (1)

Fig. 1 describes the block representation of adaptive edge-based Bi-cubic image interpolation algorithm. It consists of clamp filter and edge detector for preserving the edge information of the source images and Bi-cubic interpolator. The clamp filter added prior to the Bi-cubic interpolation to reduce the blocking effects. Edge detector [2] is used to enhance the edge features and it produces the adaptive edge control signal. Depends on this control signal multiplexer can choose either filtered pixels from the clamp filter or original pixels from the source image. The resulting pixels are adaptive edge enhanced pixels which is used for the interpolation technique.

Fig. 1 proposed image interpolation architecture

Clamp filter: Clamp filter acts as a low pass filter for smoothing any unusual discontinuous edge features and reducing block effects of any interpolation method [7-8]. Clamp filter is represented by convolution kernel. This convolution kernel is the combination of matrix coefficients which show the dependence of a filtered element on its neighbours. Additionally, a kernel array typically contains a one positive element at its centre and fully enclosed by ones. The 3x3 kernel representation of the clamp filter is given in equation (2)

Kernel c = (2)

where, F C is a clamp filter variable which can be set as per the image features. The order of clamp filter can be adjusted by varying the clamp variable. The CF gain (clamp filter gain) for a 3x3 kernel can be calculated by using Equation (3).

(3)

where I (i, j) is the representation of the original pixel. To retain the average quality of scaled pixels close to the original pixels, the filtered results should be divided by the CF gain. It is given by the Equation (4).

(4)

The convolution result of a 3x3 kernel clamp filter for each known pixel I (x, y) will be evaluated as shown in Equation (5).

(5)

where, I' (x, y) is the filtered result of pixel I (x, y) for a 3x3 kernel clamp filter.

Edge detecting technique: In this work, sigmoidal edge detecting model [9-10] is chosen due to its low complexity and memory requirement. By using the four nearest neighbouring pixel values I (x'1), I(x), I (x+1), I (x+2), the edge features neighbouring over the target pixel I (k) can be evaluated. The asymmetry of the edge features neighbouring around I (k) can be evaluated by using the equation (6),

Q=|I (x+1) 'I (x'1)| - |I (x+2) 'I (x)| (6)

Where Q is an asymmetry value to evaluate the asymmetry of the pixel in the neighbourhood of I (k). The asymmetry value Q = 0 shows that the variation between I (x+1) and I (x'1) likewise as I (x+2) and I (x), I (x+2), which implies that the edges are symmetry in both sides. Q>0 shows that the difference between I (x+1) and I (x'1) is higher than the difference between I (x+2) and I (x). This suggests that the edge features on the right-hand side are more homogeneous than the left hand side since the difference on the right-hand side is lesser than that on the left-hand side. Conversely, Q<0 indicates the edges on left-hand side are more homogeneous than the right-hand side when the difference between I (x+1) and I (x'1) is lesser than that between I (x+2) and I (x).

The edge characteristics can be summarized based on sigmoidal functions which is shown below,

1. If Q>0 , Edge pixels are I ( x, y), I (x , y+1),

I' (x+1, y), I' (x+1, y+1)

2. If Q<0 , Edge pixels are I'( x, y), I'(x , y+1),

I (x+1, y), I (x+1, y+1)

3. If Q=0, Edge pixels are I( x, y), I (x , y+1),

I (x+1, y), I (x+1, y+1)

Experimental result: Quality measure specifies the performance of the algorithm based on measurements such as SSIM and PSNR. The mean square error (MSE) is used to measure a noisy approximation of the interpolated image and the source image [11]. For testing the quality of the image scaling algorithms, the Kodak images with the size of 768x512 pixels are collected from the Kodak database. Table I shows that the quantitative measurements such as PSNR values (dB) and SSIM values are obtained on 2x enlarged images of various Kodak images for bi-cubic, filter-based bi-cubic and bi-cubic interpolation with clamp filter using sigmoidal edge detection algorithm.

Table 1: Comparison of PSNR of Bi-cubic, clamp filter-based Bi-cubic and edge-based Bi-cubic interpolation on Kodak images (512 x 768)

Images Bi-cubic [12] Proposed work

A B

PSNR

(dB) SSIM PSNR

(dB) SSIM PSNR

(dB) SSIM

Kodim01 21.9022 0.8559 22.2382 0.8525 22.6282 0.8680

Kodim02 28.5664 0.9165 28.7839 0.9160 29.2414 0.9252

Kodim03 28.9454 0.9784 29.1202 0.9788 29.0911 0.9787

Kodim04 28.7014 0.9730 28.4312 0.9703 28.7183 0.9725

Kodim05 21.5766 0.8994 21.6800 0.8923 21.9037 0.9000

Kodim06 23.7047 0.9567 24.0371 0.9589 24.3431 0.9589

Kodim07 27.2806 0.9604 26.8739 0.9539 27.0911 0.9539

Kodim08 19.3951 0.8981 19.6941 0.8966 19.9978 0.8966

Kodim09 27.0688 0.9546 26.9376 0.9509 27.0987 0.9509

Kodim10 27.1067 0.9562 27.2403 0.9558 28.1345 0.9558

Kodim11 24.9753 0.9419 25.2105 0.9423 25.3899 0.9423

Kodim12 27.9624 0.9745 28.0216 0.9743 28.9987 0.9743

Kodim13 20.5108 0.8934 20.7383 0.8916 21.3921 0.8916

Kodim14 24.5084 0.9497 24.5552 0.9480 24.9809 0.9480

Kodim15 26.5359 0.9888 26.6986 0.9891 29.7877 0.9891

Average 25.9384 0.9246 26.4307 0.9317 26.5105 0.9288

A. Bi-cubic with clamp filter

B. Bi-cubic interpolation with clamp filter using sigmoidal edge detection technique

As shown in Table I, the PSNR value of the edge-based Bi-cubic interpolation has high PSNR (26.5105) compared to Bi-cubic and filter-based Bi-cubic interpolation algorithm.

Conclusion: Image interpolation algorithms are widely used in variety of digital image applications. These applications require improved image quality and high performance accuracy. In this work, bi-cubic interpolation algorithm is selected due to its better visual quality. The visual quality is improved by reducing the blocking effect due to the interpolation technique by using clamp filter. In order to preserves the edge information sigmoidal edge detection technique is added with clamp filter. This proposed algorithm is implemented using MATLAB. From the experimental quantitative analysis, bi-cubic interpolation algorithm with clamp filter using sigmoidal edge detection technique has the average PSNR of 26.5105 dB which is higher than the Bi-cubic and clamp filter-based Bi-cubic interpolation algorithm. Further, area efficient hardware architecture of this algorithm can also be implemented by using low complexity kernel filters.

C.J. Moses (St. Xavier's Catholic College of Engineering)

E-mail: [email protected]

D. Selvathi (Mepco Schlenk Engineering College)

**...(download the rest of the essay above)**