# Patent

## Title
Image processing method and related apparatus for generating target image block

## Abstract

An image processing method of generating a target image block of a position to be currently interpolated in an interpolated frame between two frames includes: performing a motion estimation for generating a motion vector by referring to a plurality of image blocks of the two frames and generating a first image block according to the motion vector; generating a second image block according to two image blocks which are respectively in the two frames and both correspond to the position to be currently interpolated; and generating the target image block according to the first image block and the second image block.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to an image processing mechanism, and more particularly, to an image processing method and a related apparatus for interpolating a target image block thereby effectively preventing artifact phenomenon.
2. Description of the Prior Art
In an image interpolation process, a motion vector is determined and utilized to interpolate an image block to the position to be interpolated in order to generate an image block that is required by a position to be interpolated in an interpolated frame between two frames. In some special cases, however, the artifact phenomenon will be visible to the human eye if the motion vector is directly utilized to interpolate corresponded image blocks to the position to be interpolated. Please refer to FIG. 1. FIG. 1 is a diagram of a conventional image processing mechanism for generating an image block required by a position to be interpolated. The frames Fn-1 and Fn are consecutive frames, and the conventional mechanism performs an image interpolation to the frames Fn-1 and Fn so as to generate an interpolated frame F′ (as shown by the dotted line in the figure). For simplicity of illustration, FIG. 1 only shows illustrative patterns of different image blocks on a certain horizontal position of the frames Fn-1 and Fn. In practice, the image blocks A1 and A1′ of the frames Fn-1 and Fn correspond to the same image object moving horizontally, and other image blocks such as A2 and A2′ represent the same background of the horizontal position in the frames Fn-1 and Fn. As shown in FIG. 1, the image object corresponding to the image block A1 moves to the position P1 in the interpolated frame F′. According to the motion estimation result of the conventional image processing mechanism, the image object corresponding to the image block A1 is estimated to move to the position P1 in the interpolated frame F′ by referring to the image blocks A1 and A1′ of the frames Fn-1 and Fn, so the image block A1′′ can be interpolated precisely at the position P1. Similarly, it can also be determined that the image object corresponding to the image blocks A2 and A2′ is supposed to be at the position P2 in the interpolated frame F′ by referring to the positions of the image blocks A2 and A2′ (that is, the background part) in the frames Fn-1 and Fn, so the image block A2′′ can therefore be correctly interpolated at the position P2.
However, when the conventional image processing mechanism is about to interpolate the image at the position P3 in the interpolated frame F′, an artifact phenomenon which may cause a serious image distortion will be possibly generated because an image object corresponding to the image block A1 has moved to the position P1 in the interpolated frame F′ and therefore the position P3 is supposed to show the background part originally covered by the image object. However, when the conventional image processing mechanism calculates the minimum pixel differences to perform motion estimation, an image block which is similar to the image block at the position P3 in the frame Fn-1 cannot be found at the same position P3 in the frame Fn. This is because the background part at the position P3 was covered by the image object corresponding to the image block A1. Even though a motion vector corresponding to a certain minimum sum of absolute difference (SAD) of pixel values can still be found, utilizing the motion vector to generate the image block at the position P3 in the interpolated frame F′ may cause more serious image distortion or the artifact phenomenon; for example, the unwanted image block A′′ may be generated at the position P3 in the interpolated frame F′.
SUMMARY OF THE INVENTION
To solve the above-mentioned problem, it is therefore one of the objectives of the present invention to provide a method and its related apparatus for interpolating a target image block between two frames thereby effectively preventing artifact generation.
According to one embodiment, the present invention discloses an image processing method of generating a target image block of a position to be currently interpolated in an interpolated frame between two frames. The image processing method comprises: performing a motion estimation for generating a motion vector by referring to a plurality of image blocks of the two frames and generating a first image block according to the motion vector; generating a second image block according to two image blocks which are respectively in the two frames and both correspond to the position to be currently interpolated; and generating the target image block according to the first image block and the second image block.
According to one embodiment, the present invention further discloses an image processing apparatus for generating a target image block of a position to be currently interpolated in an interpolated frame between two frames. The image processing apparatus comprises: a motion compensation circuit, an image generation circuit and a decision circuit. The motion compensation circuit performs a motion estimation to generate a motion vector by referring to a plurality of image blocks of the two frames and generating a first image block according to the motion vector; the image generation circuit generates a second image block according to two image blocks which are respectively in the two frames and both correspond to the position to be currently interpolated; and the decision circuit is coupled to the motion compensation circuit and the image generation circuit for generating the target image block according to the first image block and the second image block.
These and other objectives of the present invention will no doubt become obvious to those of ordinary skill in the art after reading the following detailed description of the preferred embodiment that is illustrated in the various figures and drawings.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 is a diagram of a conventional image processing mechanism for generating an image block required by a position to be interpolated.
FIG. 2 is a diagram of the image processing apparatus according to an embodiment of the present invention.
FIG. 3 is an operational diagram illustrating the operation of generating a target image block by the image processing apparatus as shown in FIG. 2 for the position to be interpolated.



DETAILED DESCRIPTION
Please refer to FIG. 2 and FIG. 3 together. FIG. 2 is a diagram of the image processing apparatus 200 according to an embodiment of the present invention. FIG. 3 illustrates the operation of generating a target image block by the image processing apparatus 200 for the position to be interpolated (e.g. the position P1, P2 or P3). As shown in FIG. 2, the image processing apparatus 200 receives input data consisting of a plurality of frames, and generates a target image block required by a position to be currently interpolated in an interpolated frame between two frames, such as the two frames Fn-1 and Fn shown in FIG. 3. The position to be interpolated can be the position P1, P2 or P3 in the interpolated frame F′. To simplify the illustration, only illustrative patterns of different image blocks on a certain horizontal position of the frames Fn-1 and Fn are shown in FIG. 3. The image processing apparatus 200 comprises: a motion compensation circuit 205, an image generation circuit 210, a decision circuit 215 and a low pass filter 220. The motion compensation circuit 205 performs a motion estimation for determining a motion vector mv by calculating block matching differences of a plurality of image blocks in the frames Fn-1 and Fn and then determines an image block B1 according to the motion vector mv, where a block matching difference can be the sum of absolute differences (SAD) of pixel values of two image blocks, and the image block B1 is generated by performing a motion compensation to the position to be interpolated (one of the positions P1, P2 and P3). The image generation circuit 210 generates an image block B2 according to the pixel values of the two image blocks which are respectively in the frames Fn-1 and Fn and both correspond to the position to be interpolated. In this embodiment, the two image blocks corresponding to a certain position to be interpolated are at the same spatial position as the position to be interpolated. The image block B2 is generated by means of direct interpolation of the two image blocks by the image generation circuit 210. In a preferred embodiment the image generation circuit 210 averages the pixel values of the two image blocks directly to generate the image block B2. Then, the decision circuit 215 determines the above-mentioned target image block according to the image blocks B1 and B2, and the determined image block is the final image block required by a position to be interpolated. Here, the image block B2 is a non-motion-compensated image block, which means that there is no need to determine a motion vector in generating the image block B2; on the contrary, the image block B1 is a motion-compensated image block.
The process of determining the target image block according to the image blocks B1 and B2 is illustrated as follows. First, the image processing apparatus 200 determines a target weighting parameter α according to the value of the block matching difference corresponding to the motion vector mv. The decision circuit 215 is an image blending circuit for blending the pixel values of the image blocks B1 and B2 to generate the target image block according to the target weighting parameter α. The target weighting parameter α falls between 0 and 1, and is substantially proportional to the value of the block matching difference. The pixel value of the target image block Ptar is designed to have the following relation with the pixel values P1, P2 of the image blocks B1 and B2: Ptar=(1−α)×P1+α×P2. A larger value of the block matching difference corresponding to the motion vector mv implies that the image block B1 determined by the motion compensation circuit 205 is more unreliable and is therefore less suitable to be directly interpolated to the position to be interpolated to prevent the artifact phenomenon. Therefore, the target weighting parameter α is designed to be closer to the positive integer 1 so that the pixel value Ptar of the target image block is mostly determined by the pixel value P2 of the image block B2 generated by the image generation circuit 210, thus effectively preventing the artifact phenomenon. On the other hand, a smaller value of the block matching difference corresponding to the motion vector mv implies that the image block B1 determined by the motion compensation circuit 205 is more reliable and is therefore more suitable to be directly interpolated to the position to be interpolated to improving the image quality. Therefore, the target weighting parameter α is designed to be closer to 0 so that the pixel value Ptar of the target image block is mostly determined by the pixel value P1 of the image block B1 generated by the motion compensation circuit 205.
Please refer to FIG. 3 again for further explanation. To determine the target image block of the position P1 to be interpolated, the motion compensation circuit 205 will find that the difference between the image block A1 in the frame Fn-1 and the image block A1′ in the frame Fn is a minimum block matching difference. The motion compensation circuit 205 therefore estimates that the image object corresponding to the image block A1 should be at the position P1 to be interpolated in the interpolated frame F′. Because the image block A1 in the frame Fn-1, and the image block A1′ in the frame Fn correspond to the same image object, so the value of the minimum block matching difference will be very small, and a target weighting parameter decided according to the minimum block matching difference is almost zero. As a result, the pixel values of the final image block A1′′ at the position P1 are almost totally determined by the pixel values of the image block A1/A1′ in the frame Fn-1/Fn. In other words, the image processing apparatus 200 can be considered to interpolate the image object of the image block A1/A1′ in the frame Fn-1/Fn to the position P1 to be interpolated in the interpolated frame F′. Similarly, for determining a target image block of the position P2 to be interpolated in the interpolated frame F′, a determined target weighting parameter is almost zero, and the pixel values of a final image block A2′′ at the position P2 are almost totally determined by the pixel values of the image block A2/A2′ in the frame Fn-1/Fn. Therefore, the image processing apparatus 200 can be considered to interpolate the image object of the image block A2/A2′ in the frame Fn-1/Fn to the position P2 to be interpolated in the interpolated frame F′′.
To determine the target image block of the position P3 to be interpolated, the motion compensation circuit 205 also calculates the difference between a certain image block in the frame Fn-1 and another image block in the frame Fn, and a minimum block matching difference can also be found although the value may not be relatively small. The result of the interpolation of the two image blocks is the image block B1 and is output to the decision circuit 215. However, the image at the position P3 to be interpolated is supposed to be the background part covered by the image object corresponding to the image block A1 in the frame Fn-1, but the two image blocks selected by the motion compensation circuit 205 may possibly correspond to different image objects; therefore the value of the minimum block matching difference may be relatively large. The target weighting parameter decided according to the minimum block matching difference is possibly close to the integer 1. As a result, the pixel values of the final target image block A3′′ at the position P3 are almost totally determined by averaging the pixel values of the two image blocks A1 and A3′ at the same position P3 in the frames Fn-1 and Fn by the image generation circuit 210. This method can prevent generating artifact phenomenon.
Moreover, because the target weighting parameter α affects the pixel value Ptar and the image quality, this embodiment further uses the low pass filter 220 to adjust the target weighting parameter α so that the target weighting parameters α respectively corresponding to a plurality of positions to be interpolated in a certain area (e.g., an area comprising 3×3 or 5×5 image blocks) will be more consistent. This can prevent too much difference between the image generated at a certain position to be interpolated and the image generated at its neighboring positions to be interpolated. In detail, the motion compensation circuit 205 determines an initial weighting parameter αinitial at the position to be interpolated according to the value of the block matching difference corresponding to the motion vector mv, and then the image processing apparatus 200 generates the target weighting parameter α of the position to be currently interpolated according to the initial weighting parameters αinitial and the corresponding target weighting parameters used in generating target image blocks of the neighboring positions to be interpolated in the interpolated frame F′. The low pass filter 220 calculates an average value of the corresponding target weighting parameter and the initial weighting parameter αinitial, and the average value is then determined to be the target weighting parameter α. Of course, this embodiment is not meant to limit this method of generating the target weighting parameter α, and any methods of determining the value of the target weighting parameter α falls within the scope of this invention. For example, the target weighting parameter α can be generated by performing a weighted average on the corresponding target weighting parameters and the initial weighting parameter αinitial.
Those skilled in the art will readily observe that numerous modifications and alterations of the apparatus and method may be made while retaining the teachings of the invention.

## Claims

1. An image processing method of generating a target image block of a position to be currently interpolated in an interpolated frame between two frames, comprising:
performing a motion estimation for generating a motion vector by referring to a plurality of image blocks of the two frames, and generating a first image block according to the motion vector;
generating a second image block according to two image blocks which are respectively in the two frames and both correspond to the position to be currently interpolated;
generating a target weighting parameter according to the value of a block matching difference corresponding to the motion vector; and
generating the target image block according to the first image block and the second image block, comprising:
generating the target image block by calculating a weighted average of the first image block and the second image block according to the target weighting parameter.

2. The method of claim 1, wherein the first image block is a motion-compensated image block, and the second image block is a non-motion-compensated image block.

3. The method of claim 1, wherein the target weighting parameter α falls between 0 and 1, and is substantially proportional to the value of the block matching difference, and the pixel value Ptar of the target image block is determined by: Ptar=(1−α)×P1+α×P2.

4. The method of claim 1, wherein generating a target weighting parameter according to the value of the block matching difference corresponding to the motion vector comprises:
generating an initial weighting parameter corresponding to the position to be currently interpolated according to the value of the block matching difference corresponding to the motion vector; and
generating the target weighting parameter corresponding to the position to be currently interpolated according to the initial weighting parameter and a corresponding target weighting parameter used in generating a corresponding image block of a neighboring position to be interpolated in the interpolated frame.

5. The method of claim 4, wherein the step of generating the target weighting parameter corresponding to the position to be currently interpolated comprises:
calculating an average value of the initial weighting parameter and the corresponding target weighting parameter used in generating the corresponding image block of the neighboring position to be interpolated; wherein the average value is the target weighting parameter.

6. An image processing apparatus, for generating a target image block of a position to be currently interpolated in an interpolated frame between two frames, comprising:
a motion compensation circuit, for performing a motion estimation to generate a motion vector by referring to a plurality of image blocks of the two frames, and generating a first image block according to the motion vector;
an image generation circuit, for generating a second image block according to two image blocks which are respectively in the two frames and both correspond to the position to be currently interpolated; and
a decision circuit, coupled to the motion compensation circuit and the image generation circuit, for generating the target image block according to the first image block and the second image block;
wherein the apparatus generates a target weighting parameter according to the value of a block matching difference corresponding to the motion vector, and the decision circuit is an image blending circuit, which generates the target image block by calculating a weighted average of the first image block and the second image block according to the target weighting parameter.

7. The apparatus of claim 6, wherein the first image block is a motion-compensated image block, and the second image block is a non-motion-compensated image block.

8. The method of claim 6, wherein the target weighting parameter α falls between 0 and 1 and is substantially proportional to the value of the block matching difference, and the pixel value Ptar of the target image block is generated by: Ptar=(1−α)×P1+α×P2.

9. The apparatus of claim 6, wherein the motion compensation circuit generates an initial weighting parameter corresponding to the position to be currently interpolated according to the value of the block matching difference corresponding to the motion vector; and the image processing apparatus generates the target weighting parameter corresponding to the position to be currently interpolated according to the initial weighting parameter and the corresponding target weighting parameter used in generating a corresponding image block of a neighboring position to be interpolated in the interpolated frame.

10. The apparatus of claim 9, further comprising:
a low pass filter, coupled to the motion compensation circuit and the image blending circuit, for calculating an average value of the initial weighting parameter and the corresponding target weighting parameter used in generating the corresponding image block of the neighboring position to be interpolated; wherein the average value is the target weighting parameter.