Quantcast

Direction-adaptive image upsampling system and method using double interpolation

Imported: 17 Feb '17 | Published: 23 Sep '14

USPTO - Utility Patents

Abstract

A direction-adaptive image upsampling system and method using double interpolation is disclosed. Each of double interpolation (DI) units with different interpolation functions receives an input image and generates a corresponding double-interpolated image and an associated double-interpolated difference. A decision unit receives the double-interpolated differences from the DI units for deciding the DI unit that has an optimal interpolation around a pixel under process. An adaptive selector selects the double-interpolated image associated with the DI unit having the optimal interpolation as an output image.

Description

BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention generally relates to image interpolation, and more particularly to a direction-adaptive image upsampling system and method using double interpolation.

2. Description of Related Art

Image upsampling, or image interpolation, is a process of increasing the resolution of an image. It has become an essential technique in many applications, such as image editing software, TV scaler and surveillance systems, and particularly in real-time applications.

Image upsampling may be performed either based on multiple input images or on a single input image. The former one, i.e., the multi-image upsampling, needs long computation time and is thus not suitable for real-time applications.

The latter one, i.e., the single-image upsampling, may be generally classified into three categories: the interpolation-based scheme, the statistic-based scheme and the learning-based scheme. Bilinear and bicubic are commonly used interpolation-based methods, but usually produce zigzagging artifact on the edges. Although further methods have been proposed to solve the zigzagging artifacts, time-consuming edge detection, however, is required. The statistic-based scheme employs edge statistics to reconstruct high-resolution images, but requires several iterations to arrive at a good result. The learning-based scheme predicts high-frequency details by database that requires high computation time.

For the foregoing reasons, a need has arisen to propose a novel interpolation-based scheme that has a simple and robust algorithm with high image quality suitable for real-time applications.

SUMMARY OF THE INVENTION

In view of the foregoing, it is an object of the embodiment of the present invention to provide a direction-adaptive image upsampling system and method using double interpolation such that the edge can be interpolated along the right direction without performing any time-consuming edge detection.

According to one embodiment, the direction-adaptive image upsampling system using double interpolation includes a plurality of double interpolation (DI) units with different interpolation functions, a decision unit and an adaptive selector. Each DI unit is coupled to receive an input image and generate a corresponding double-interpolated image and an associated double-interpolated difference, wherein, for each pixel and each said DI unit, the double-interpolated difference is a pixel value difference between the input image and the associated double-interpolated image. The decision unit is coupled to receive the double-interpolated differences from the plurality of DI units for deciding the DI unit that has an optimal interpolation around a pixel under process. The adaptive selector, for each pixel, is configured to select the double-interpolated image associated with the DI unit having the optimal interpolation as an output image.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 shows a block diagram illustrative of a direction-adaptive image upsampling system and method using double interpolation according to one embodiment of the present invention.

In the embodiment, an input image is first interpolated by several double interpolating (DI) units 10 with different interpolation functions HI (e.g., H0, H1, etc.). For example, a preferred embodiment adopts five interpolation functions, which includes a bicubic interpolation and four bilinear interpolations with directions of about 27°, −27°, 63° and −63°, respectively. Each DI unit 10 accordingly generates a corresponding double-interpolated image GI (e.g., G0, G1, etc.) and an associated double-interpolated difference DI (e.g., D0, D1, etc.). For each pixel, the double-interpolated difference DI is a pixel value difference between the input image and the double-interpolated image GI.

Subsequently, for each pixel, a decision unit 12 is coupled to receive the double-interpolated differences DI: in order to decide the DI unit 10 (or its associated interpolation function) that has an optimal interpolation around the pixel under process. In the embodiment, with respect to each DI unit 10 with the interpolation function HI, a cost function CI is calculated in the decision unit 12 by summing the associated double-interpolated differences DI of the pixel (x,y) under process and its neighboring pixels:

C I ( x , y ) = u , v N D I ( x + u , y + v )
where (u,v) belongs to a neighbored window N (e.g., a 7×7 (pixels) window) made of the neighboring pixels.

Among the calculated cost functions CI with respect to the interpolation functions HI of the DI units 10, the cost function CI with the least value (i.e., the minimum cost function) is determined, and the associated interpolation function HI is then determined as the interpolation function that has an optimal interpolation around the pixel under process.

Finally, for each pixel, an adaptive selector 14 is coupled to receive the double-interpolated images GI from the DI units 10, and the double-interpolated image GI corresponding to the minimum cost function CI is selected as an output image. According to the embodiment, by employing the double-interpolated difference as a quality measurement of an interpolation algorithm and locally choosing the minimum difference, the best prediction of pixel value among different interpolation algorithms can be chosen and the advantages of all the interpolation functions can be combined. That is, the edge can be interpolated along the right direction without performing any edge detection or calculating the orientation of gradient. Therefore, the embodiment can provide an artifact-free output in short computation time and can thus be suitable for real time applications.

FIG. 2 shows a detailed block diagram of the DI unit 10 of FIG. 1. In the embodiment, the input image is first interpolated by a first upsampling unit 100 with an interpolation function H, therefore resulting in an interpolated image. For example, if the upsampling factor is 2, a pixel in the input image may correspond to 2×2 pixels in the interpolated image as shown in FIG. 3, where P denotes the original pixel, and A, B and C denote the interpolated pixels. The interpolated image is then down sampled (or sub-sampled) by a down-sampling unit 102, therefore resulting in several down-sampled images (e.g., L1, L2 and L3). In the embodiment, the down-sampling of the down-sampling unit 102 is performed by pixel shifting. Regarding the example as shown in FIG. 3, the down-sampled images L1, L2 and L3 corresponding to the pixels A, B and C may be expressed follows:
L1(x,y)=H(2x+1,2y)
L2(x,y)=H(2x,2y+1)
L3(x,y)=H(2x+1,2y+1).

Afterwards, the down-sampled images are second interpolated by second upsampling units 104 with the interpolation function H, respectively, therefore resulting in double-interpolated images G (e.g., G1, G2 and G3 corresponding to L1, L2 and L3 respectively).

The double-interpolated images G are respectively compared with the input image by difference units 106, each of which generates an associated double-interpolated difference D (e.g., D1, D2 or D3) that is the pixel value difference between the input image and the corresponding double-interpolated image G. Regarding the example as shown in FIG. 3, for each pixel in the input image L, the double-interpolated differences D1, D2 and D3 corresponding to the pixels A, B and C may be expressed follows:
D(2x,2y)=0
D(2x+1,2y)=|L(x,y)−G1(2x−1,2y)|
D(2x,2y+1)=|L(x,y)−G2(2x,2y−1)|
D(2x+1,2y+1)=|L(x,y)−G3(2x−1,2y−1)|

Subsequently, a double-interpolated (DI) image selector 108 is configured to select the double-interpolated image G that has the associated minimum double-interpolated difference D. Both the double-interpolated image G and its associated minimum double-interpolated difference D are thus provided, as the outputs of each DI unit 10 (FIG. 1). According to the embodiment, by means of the double-interpolated differences (within a DI unit 10), wrongly interpolated area can thus be highlighted and prevented.

Although specific embodiments have been illustrated and described, it will be appreciated by those skilled in the art that various modifications may be made without departing from the scope of the present invention, which is intended to be limited solely by the appended claims.

Claims

1. A direction-adaptive image upsampling system using double interpolation performed by a processor, the system comprising:
a plurality of double interpolation (DI) units with different interpolation functions, said DI units being concurrently coupled to receive an input image and respectively generate corresponding double-interpolated images and associated double-interpolated differences at the same time, wherein, for each pixel and each said DI unit, the double-interpolated difference is a pixel value difference between the input image and the associated double-interpolated image;
a decision unit coupled to receive the double-interpolated differences from the plurality of DI units at the same time for deciding the DI unit that has an optimal interpolation around a pixel under process; and
an adaptive selector, for each pixel, configured to select the double-interpolated image associated with the DI unit having the optimal interpolation as an output image;
wherein each said DI unit comprises the following elements that are connected in the specified order:
a first upsampling unit with the associated interpolation function configured to first interpolate the input image, thereby resulting in an interpolated image;
a down-sampling unit configured to down sample the interpolated image, thereby resulting in a plurality of down-sampled images;
a plurality of second upsampling units with the same associated interpolation function configured to second interpolate the down-sampled images respectively, thereby resulting in a plurality of the double-interpolated images;
a plurality of difference units, each of which being configured to generate the associated double-interpolated difference that is the pixel value difference between the input image and the corresponding double-interpolated image; and
a double-interpolated image selector configured to select the double-interpolated image that has the associated double-interpolated difference having least value.
a plurality of double interpolation (DI) units with different interpolation functions, said DI units being concurrently coupled to receive an input image and respectively generate corresponding double-interpolated images and associated double-interpolated differences at the same time, wherein, for each pixel and each said DI unit, the double-interpolated difference is a pixel value difference between the input image and the associated double-interpolated image;
a decision unit coupled to receive the double-interpolated differences from the plurality of DI units at the same time for deciding the DI unit that has an optimal interpolation around a pixel under process; and
an adaptive selector, for each pixel, configured to select the double-interpolated image associated with the DI unit having the optimal interpolation as an output image;
wherein each said DI unit comprises the following elements that are connected in the specified order:
a first upsampling unit with the associated interpolation function configured to first interpolate the input image, thereby resulting in an interpolated image;
a down-sampling unit configured to down sample the interpolated image, thereby resulting in a plurality of down-sampled images;
a plurality of second upsampling units with the same associated interpolation function configured to second interpolate the down-sampled images respectively, thereby resulting in a plurality of the double-interpolated images;
a plurality of difference units, each of which being configured to generate the associated double-interpolated difference that is the pixel value difference between the input image and the corresponding double-interpolated image; and
a double-interpolated image selector configured to select the double-interpolated image that has the associated double-interpolated difference having least value.
2. The system of claim 1, wherein the interpolation functions include a bicubic interpolation and four bilinear interpolations with directions of about 27° , −27° , 63° and −63° , respectively.
3. The system of claim 1, wherein the decision unit uses a cost function that is calculated by summing the associated double-interpolated differences of the pixel under process and its neighboring pixels, wherein the decision unit decides that the interpolation function associated with the cost function having least value has the optimal interpolation around the pixel under process.
4. The system of claim 3, wherein the adaptive selector selects the double-interpolated image associated with the cost function having least value as the output image.
5. The system of claim 1, wherein the interpolated image is down-sampled by pixel shifting.
6. A direction-adaptive image upsampling method using double interpolation, comprising a processor that performs the following steps:
a plurality of double interpolation (DI) steps with different interpolation functions, said DI steps being concurrently performed by receiving an input image and respectively generating corresponding double-interpolated images and associated double-interpolated differences at the same time, wherein, for each pixel and each said DI step, the double-interpolated difference is a pixel value difference between the input image and the associated double-interpolated image;
a decision step performed by receiving the double-interpolated differences from the plurality of DI steps at the same time for deciding the DI step that has an optimal interpolation around a pixel under process; and
an adaptive select step, for each pixel, for selecting the double-interpolated image associated with the DI step having the optimal interpolation as an output image;
wherein each said DI step comprises the following sub-steps that are performed in the specified order:
a first upsampling step with the associated interpolation function for first interpolating the input image, thereby resulting in an interpolated image;
a down-sampling step for down sampling the interpolated image, thereby resulting in a plurality of down-sampled images;
a plurality of second upsampling steps with the same associated interpolation function for second interpolating the down-sampled images respectively, thereby resulting in a plurality of the double-interpolated images;
a plurality of difference steps, each of which being performed to generate the associated double-interpolated difference that is the pixel value difference between the input image and the corresponding double-interpolated image; and
a double-interpolated image select step for selecting the double-interpolated image that has the associated double-interpolated difference having least value.
a plurality of double interpolation (DI) steps with different interpolation functions, said DI steps being concurrently performed by receiving an input image and respectively generating corresponding double-interpolated images and associated double-interpolated differences at the same time, wherein, for each pixel and each said DI step, the double-interpolated difference is a pixel value difference between the input image and the associated double-interpolated image;
a decision step performed by receiving the double-interpolated differences from the plurality of DI steps at the same time for deciding the DI step that has an optimal interpolation around a pixel under process; and
an adaptive select step, for each pixel, for selecting the double-interpolated image associated with the DI step having the optimal interpolation as an output image;
wherein each said DI step comprises the following sub-steps that are performed in the specified order:
a first upsampling step with the associated interpolation function for first interpolating the input image, thereby resulting in an interpolated image;
a down-sampling step for down sampling the interpolated image, thereby resulting in a plurality of down-sampled images;
a plurality of second upsampling steps with the same associated interpolation function for second interpolating the down-sampled images respectively, thereby resulting in a plurality of the double-interpolated images;
a plurality of difference steps, each of which being performed to generate the associated double-interpolated difference that is the pixel value difference between the input image and the corresponding double-interpolated image; and
a double-interpolated image select step for selecting the double-interpolated image that has the associated double-interpolated difference having least value.
7. The method of claim 6, wherein the interpolation functions include a bicubic interpolation and four bilinear interpolations with directions of about 27° , −27° , 63° and −63° , respectively.
8. The method of claim 6, wherein the decision step uses a cost function that is calculated by summing the associated double-interpolated differences of the pixel under process and its neighboring pixels, wherein the decision step decides that the interpolation function associated with the cost function having least value has the optimal interpolation around the pixel under process.
9. The method of claim 8, wherein the adaptive select step selects the double-interpolated image associated with the cost function having least value as the output image.
10. The method of claim 6, wherein the interpolated image is down-sampled by pixel shifting.