Download - Academy Publisher
Download - Academy Publisher
Download - Academy Publisher
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
( n + 1)<br />
f ( ξ )<br />
Rn( x) = f ( x) − Ln( x) = ω<br />
n+<br />
1( x)<br />
( n + 1)!<br />
where ξ∈ [a, b], and<br />
n 1 0 1<br />
(2)<br />
ω +<br />
( x) = ( x− x )( x− x )...( x− x ) (3)<br />
In fact, the n+1 order derivative of image function f(x)<br />
is unavailable and it has to be replaced. It is well known<br />
that adjacent pixels always have similar property and<br />
errors are closely related to each other. Based on this<br />
observation, we propose an error estimation which will<br />
be discussed in section Ⅲ.<br />
III. THE PROPOSED INTERPOLATION ALGORITHM<br />
For a typical image expansion, for example the<br />
magnification factor is 2x2, an image of NxM pixels is<br />
expanded to high resolution 2Nx2M. We can get arbitrary<br />
high resolution image by changing polynomial coefficient<br />
in (1). Two steps are processed to implement 1-D and 2-D<br />
pixels interpolation respectively. As shown in figure 2, the<br />
denotes pixels of original low resolution image, Օ and<br />
⊗ are unknown pixels which are called 1-D and 2-D<br />
signal respectively.<br />
Figure 2. Distribution of 1-D and 2-D pixels<br />
A. 1-D pixels interpolation<br />
First, the interpolation of the Օ position in figure. 2<br />
can be considered as 1-D interpolation of the pixel<br />
between x k and x k+1 , which is denoted as x, as shown in<br />
figure 1. Because the magnification factor is 2x2, the<br />
interpolation problem is converted to figure out the value<br />
of x k+1/2 . According to the values of x k and x k+1 , the<br />
interpolation method is as follows. If y k =y k+1 , we directly<br />
let y k+1/2 =y k , without considering error compensation.<br />
Otherwise we use parabola interpolation introduced in<br />
previous section and an error is compensation which will<br />
be discussed shortly.<br />
For 1-D interpolation, using (1), L 2 (x k+1/2 ) can be<br />
obtained<br />
L ( x ) = y * a+ y * b+ y * c (4)<br />
2 k+ 1/2 k− 1 k k+<br />
1<br />
According to the weight term in (1), we can determine<br />
the coefficients a=-(1/8), b=3/4, c=3/8. These coefficients<br />
take the influence of each adjacent pixel into<br />
consideration. Using equation (2), the interpolation error<br />
can be expressed as<br />
3<br />
f ( ξ )<br />
error _ xk+ 1/2<br />
= ω<br />
3( xk+<br />
1/2)<br />
(5)<br />
6<br />
n<br />
From (3) and (5), we have:<br />
3<br />
f ( ξ ) 3<br />
error _ xk<br />
+ 1/2<br />
= ( − ) (6)<br />
6 8<br />
As said in section II, we must find another way to get<br />
error_x k+1/2 since f (3) ( ξ) cannot be found.<br />
Using (1), the estimated error of x k can be expressed<br />
as :<br />
error _ forward = f ( xk) − L2<br />
( xk)<br />
= f ( xk) − yk−2* d + yk− 1* e+ yk+<br />
1*<br />
f (7)<br />
where d=-(1/3), e=1, f=1/3. From (2) we can also get<br />
another error expression<br />
3<br />
f (1) ξ<br />
error _ forward ω<br />
3( xk<br />
)<br />
6<br />
= (8)<br />
When ξ∈ [x k-2 , x k+2 ], we can assume that f 3 (ξ) varies<br />
little. Then:<br />
f<br />
3 ( ξ )<br />
error _ forw ard = ( − 2) (9)<br />
6<br />
So far, an obvious relation between error_x k+1/2 and<br />
error_forward is available from (6) and (9):<br />
error _ xk<br />
+ 1/2<br />
= (3/16)* error _ forward (10)<br />
The same method can be applied to get the error of<br />
y k+1 . In addition we have the following equation:<br />
error _ xk<br />
+ 1/2<br />
= (3/16)* error _ back (11)<br />
We have two error evaluations which are adaptively<br />
selected. The reason is the following. If y k+1 -yk≥y k -y k-1 , it<br />
indicates that the varying rate tends to get bigger, y k+1/2 is<br />
more likely to approach to y k . So the error of y k is adopted,<br />
and vice versa.<br />
The pseudo code is listed as follow to interpret this<br />
scheme clearly:<br />
If (y k+1 -y k ≥y k -y k-1 )<br />
error_x k+1/2 =(3/16)*error_forward;<br />
else<br />
error_x k+1/2 =(3/16)*error_back;<br />
end<br />
With the above equations, we can predict each 1-D<br />
pixel at horizontal and vertical directions<br />
L ( x ) = y * a+ y * b+ y * c+ error _ x (12)<br />
2 k+ 1/2 k− 1 k k+ 1 k+<br />
1/2<br />
B. 2-D pixels interpolation<br />
In the last subsection, 1-D pixels interpolation was<br />
discussed. In this subsection we will introduce the method<br />
for interpolating the ⊗ shown in figure 2, called 2-D<br />
pixels. We find that the pixels along the direction of local<br />
edge normally have similar values. Therefore, a precise<br />
prediction can be done if we predict the pixels using its<br />
neighboring pixels that are in the same direction of the<br />
edge.<br />
268