# Patent

## Title
Method of frame interpolation for frame rate up-conversion

## Abstract

A method of frame interpolation for frame rate up conversion method is provided. The method includes: determining a first adjusting value and a second adjusting value according to a target pixel in at least one of a first frame and a second frame; determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in one of the first and second frames; and adjusting a pixel value of the target pixel in one of the first and second frames according to the second adjusting value.

## Background
BACKGROUND OF THE INVENTION
1. Field of the Invention
The present invention relates to image processing, and more particularly, to a method of frame interpolation for frame rate up-conversion.
2. Description of the Prior Art
In order to meet low-bandwidth requirements, video display applications such as video players or mobile video systems have been limited to low frame rates. But from these sources, some image quality issues such as motion blur and flicker can be improved by increasing the frame rate. Therefore, increasing the frame rate by way of a method of frame interpolation for frame rate up-conversion (FRUC)—that is, interpolating an image frame between two original image frames—is a useful method of improving image quality from low frame rate sources.
In the prior art method of frame interpolation for frame rate up-conversion, an interpolated pixel value is directly determined to be the same value as that pixel in the previous frame, or is determined as the average of two pixel values from the two adjacent frames. When the prior method of frame interpolation is applied to an LCD display using the pixel value of a previous frame as an interpolated pixel value, however, it is unable to improve motion blur and flicker artifacts, and also fails to shorten the response time of the LCD. When the prior method of frame interpolation is applied to an LCD display using the average pixel value of two adjacent frames as an interpolated pixel value, however, it is capable of improving motion blur and flicker artifacts but still fails to shorten the response time of the LCD.
Therefore, a novel method of frame interpolation for frame rate up-conversion is required to both improve the motion blur and flicker issues and to shorten the LCD's response time.
SUMMARY OF THE INVENTION
It is an objective of the claimed invention to provide a method for performing frame interpolation for frame rate up-conversion to solve the above-mentioned problems and enhance image quality.
According to one embodiment of the claimed invention, a method of frame interpolation for frame rate up-conversion comprises: determining a first adjusting value and a second adjusting value according to a target pixel in at least one of a first frame and a second frame; determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in one of the first and second frames; and adjusting a pixel value of the target pixel in one of the first and second frames according to the second adjusting value.
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 illustrating calculations of the interpolated frame data and the current frame data according to a first embodiment of the present invention.
FIG. 2 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a second embodiment of the present invention.
FIG. 3 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a third embodiment of the present invention.
FIG. 4 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a fourth embodiment of the present invention.
FIG. 5 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a fifth embodiment of the present invention.
FIG. 6 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a sixth embodiment of the present invention.
FIG. 7 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to a seventh embodiment of the present invention.
FIG. 8 is a diagram illustrating calculations of the interpolated frame data and the current frame data according to an eighth embodiment of the present invention.



DETAILED DESCRIPTION
Please refer to FIG. 1. FIG. 1 is a diagram illustrating calculations of an interpolated pixel value Vi—1 and an adjusted pixel value in a current frame Vc—1′ according to a first embodiment of the present invention. As shown in FIG. 1 for a given target pixel, the interpolated pixel value Vc—1 in an interpolated frame is the sum of a pixel value Vc—1 in the current frame and a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor r1—1 and a pixel value difference Vd—1 between the pixel value Vc—1 in the current frame and a pixel value Vp—1 in a previous frame. The calculation is as follows:

Vi—1=Vc—1+(Vc—1−Vp—1)*r1—1  (1)

As shown in FIG. 1 for the given target pixel, the pixel value Vc—1 in the current frame is greater than the pixel value Vp—1 in the previous frame, therefore the interpolated pixel value Vi—1 is greater than the pixel value Vc—1 in the current frame. In this embodiment, the greater interpolated pixel value Vi—1 means that the target pixel is operating similar to an LCD overdrive mode. That is, the greater the pixel value difference between the pixel value Vp—1 in the previous frame and the interpolated pixel value Vi—1, the greater the change in the driving voltage of the target pixel. From this, the liquid crystal in the LCD can rotate more rapidly and lead to a faster response time, and thus LCD motion blur can also be reduced accordingly.
Regarding the given target pixel, however, the above-mentioned interpolated pixel value Vi—1 is greater than the pixel value Vc—1 in the current frame, and the average of the interpolated pixel value Vi—1 and the pixel value in the current frame Vc—1 is greater than the pixel value in the current frame Vc—1, which may result in an improper pixel value displayed on the LCD. To solve this problem, the pixel value Vc—1 in the current frame needs to be reduced to make the average of the interpolated pixel value Vi—1 and the adjusted pixel value in the current frame Vc—1′ closer or equal to the pixel value in the current frame Vc—1. The adjusted pixel value Vc—1′ in the current frame is determined as follows:

Vc—1′=Vc—1−(Vc—1−Vp—1)*r2—1  (2)

In the above formula (2), r2—1 is a second scaling factor and the adjusted pixel value Vc—1′ in the current frame is utilized to replace the original pixel value Vc—1 in the current frame as the output pixel value in the current frame. If the second scaling factor r2—1 is set at the same value as the first scaling factor r1—1, then the average of the interpolated pixel value Vi—1 and the adjusted pixel value Vc—1′ in the current frame is equal to the original pixel value Vc—1 in the current frame.
In practice, the second scaling factor r2—1 can be a product of the first scaling factor r1—1 and a third scaling factor r3—1. The third scaling factor r3—1 is utilized to adjust the pixel value in the current frame and to further control the luminance of the displayed image.
Please refer to FIG. 2. FIG. 2 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a second embodiment of the present invention. The calculations for the interpolated pixel value Vi—1 and the adjusted pixel value in the current frame Vc—1′ shown in FIG. 2 are the same as those shown in FIG. 1, but applied to the condition where the pixel value in the current frame Vc—1 is lower than the pixel value Vp—1 in the previous frame. As shown in FIG. 2, the pixel value Vc—1 in the current frame is lower than the pixel value Vp—1 in the previous frame, and the interpolated pixel value Vi—1 is therefore lower than the pixel value Vc—1 in the current frame. In this embodiment, the greater pixel value difference between the pixel value in the previous frame Vc—1 and an interpolated pixel value Vi—1 indicates that the target pixel is operating similar to an LCD overdrive method.
Additionally, in this embodiment, the adjusted pixel value in the current frame Vc—1′ is set to be greater than the pixel value Vc—1 in the current frame, so as to make the average of the interpolated pixel value Vi—1 and the pixel value Vc—1 in the current frame closer or equal to the original pixel value in the current frame Vc—1.
Please refer to FIG. 3. FIG. 3 is a diagram illustrating calculations for an interpolated pixel value Vi—2 and an adjusted pixel value in a current frame Vc—2′ according to a third embodiment of the present invention. As shown in FIG. 3, for a given target pixel, the interpolated pixel value Vi—2 in an interpolated frame is the difference between a pixel value Vc—2 in the current frame and a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor r1—2 and a pixel value difference Vd—2 between the pixel value Vc—2 in the current frame and a pixel value Vp—2 in the previous frame. The interpolated pixel value Vi—2 is determined as follows:

Vi—2=Vc—2−(Vc—2−Vp—2)*r1—2  (3)

For the given target pixel shown in FIG. 3, the pixel value Vc—2 in the current frame is greater than the pixel value Vp—2 in the previous frame. The interpolated pixel value Vi—2 is between the pixel value Vc—2 in the current frame and the pixel value Vp—2 in the previous frame. In this embodiment, the interpolated pixel value Vi—2 is in the middle of the pixel value VC—2 in the current frame and the pixel value Vp—2 in the previous frame, and the displayed image becomes smoother as a result.
However, the average of the interpolated pixel value Vi—2 and the pixel value Vc—2 in the current frame still may be different from the pixel value Vc—2 in the current frame. Therefore, the pixel value Vc—2 in the current frame needs to be adjusted, and the adjusted pixel value Vc—2′ in the current frame is determined as follows:

Vc—2′=Vc—2+(Vc—2−Vp—2)*r2—2  (4)

In the above formula (4), r2—2 is a second scaling factor, and the adjusted pixel value Vc—2′ in the current frame is utilized to replace the original pixel value Vc—2 in the current frame to act as the output pixel value in the current frame. Similarly, if the second scaling factor r2—2 is set as the same value as the first scaling factor r1—2, the average of the interpolated pixel value Vi—2 and the adjusted pixel value Vc—2′ in the current frame is equal to the pixel value in the current frame Vc—2.
In practice, the second scaling factor r2—2 can be a product of the first scaling factor ri—2 and a third scaling factor r3—2. The third scaling factor r3—2 is utilized to adjust the pixel value in the current frame and to further control the luminance of the image.
Please refer to FIG. 4. FIG. 4 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a fourth embodiment of the present invention. The calculations for the interpolated pixel value Vi—2 and the adjusted pixel value Vc—2′ in the current frame shown in FIG. 4 are the same as those shown in FIG. 3 but applied to a condition whereby the pixel value in the current frame is lower than the pixel value in the previous frame. Further description is omitted here for brevity.
Please refer to FIG. 5. FIG. 5 is a diagram illustrating calculations for an interpolated pixel value Vi—3 and an adjusted pixel value Vc—3′ in a current frame according to a fifth embodiment of the present invention. As shown in FIG. 5, for a given target pixel, the interpolated pixel value Vi—3 in an interpolated frame is set by a pixel value Vc—3 in a previous frame less a first adjusting value. Additionally, the first adjusting value is a product of a first scaling factor ri—3 and a pixel value difference Vd—3 between the pixel value Vc—3 in the current frame and a pixel value Vp—3 in a previous frame. The interpolated pixel value Vi—3 is determined as follows:

Vi—3=Vp—3−(Vc—3−Vp—3)*r1—3  (5)

As shown in FIG. 5, the pixel value Vc—3 in the current frame is greater than pixel value Vp—3 in the previous frame; therefore, the interpolated pixel value Vi—3 is lower than the pixel value Vc—3 in the previous frame.
However, the above-mentioned interpolated pixel value Vi—3 is lower than the pixel value Vp—3 in the current frame, and is also much lower than the pixel value Vc—3 in the current frame. Therefore, the average of the interpolated pixel value Vi—3 and the pixel value Vc—3 in the current frame would also be much lower than the pixel value Vc—3 in the current frame, which may result in an improper pixel value displayed from the LCD. To solve this problem, the pixel value Vc—3 in the current frame needs to be increased to make the average of the interpolated pixel value Vi—3 and the pixel value Vc—3 in the current frame closer or equal to the original pixel value Vc—3 in the current frame. The adjusted pixel value Vc—3′ in the current frame is calculated as follows:

Vc—3′=Vc—3+(Vc—3−Vp—3)*r2—3  (6)

In the above formula (6), r2—3 is a second scaling factor and the adjusted pixel value Vc—3′ in the current frame is utilized to replace the original pixel value Vc—3 in the current frame to act as the output pixel value in the current frame. If the second scaling factor r2—3 is set as the same value as the first scaling factor r1—3, the average of the interpolated pixel value Vi—3 and the adjusted pixel value Vc—3′ in the current frame will be equal to the pixel value Vc—3 in the current frame.
In practice, the second scaling factor r2—3 can be a product of the first scaling factor r1—3 and a third scaling factor r3—3. The third scaling factor r3—3 is utilized to adjust the pixel value in the current frame and to further control the luminance of the image.
According to the calculations for the interpolated pixel value Vi—3 and the adjusted pixel value Vc—3′ in the current frame, the difference between the interpolated pixel value Vi—3 and the adjusted pixel value Vc—3′ in the current frame is greater than the difference between the pixel values Vp—3 and Vc—3 in the previous and current frames, respectively. That is, the change in the driving voltage of the target pixel becomes greater, thereby driving the liquid crystal to rotate more rapidly, resulting in a faster response time.
Please refer to FIG. 6. FIG. 6 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to a sixth embodiment of the present invention. The calculations for the interpolated pixel value Vi—3 and the adjusted pixel value Vc—3′ in the current frame shown in FIG. 6 are the same as the calculations shown in FIG. 5, but applied to the scenario where the pixel value Vc—3 in the current frame is lower than the pixel value Vp—3 in the previous frame.
For the given target pixel shown in FIG. 6, the pixel value Vc—3 in the current frame is lower than the pixel value Vp—3 in the previous frame while the interpolated pixel value Vi—3 is greater than the pixel value Vp—3 in the previous frame, and the adjusted pixel value Vc—3′ in the current frame is lower than the pixel value Vc—3 in the current frame. Thus, the difference between the interpolated pixel value Vi—3 and the adjusted pixel value Vc—3′ in the current frame is greater than the difference between the pixel value Vp—3 in the previous frame and the original pixel value Vc—3 in the current frame, resulting in fast response time.
According to the above-mentioned embodiments of the present invention, the interpolated pixel value and the adjusted pixel value in the current frame are determined by the formulas with fixed parameters (i.e., the first scaling factor r1—1, r1—2, r1—3 and the second scaling factor r2—1, r2—2, r2—3). However, for the varying pixel values in the previous and current frames, the appropriate interpolated pixel values and the adjusted pixel values in the current frame may not be simply determined by the formula with fixed parameters. To solve this problem, the adjusting values can be determined according to a look-up table.
Please refer to FIG. 7. FIG. 7 is a diagram illustrating calculations of an interpolated pixel value Vi—4 and an adjusted pixel value Vc—4′ in a current frame according to a seventh embodiment of the present invention. As shown in FIG. 7, for a given target pixel, the interpolated pixel value Vi—4 in an interpolated frame is a sum of a pixel value Vp—4 in a previous frame and a first adjusting value. The first adjusting value is determined via a look-up table LUT having a plurality of entries. Each entry of the look-up table LUT has two parameters Vp—4 and Vc—4 serving as index parameters, where Vp—4 is a pixel value in the previous frame and Vc—4 is a pixel value in the current frame. The interpolated pixel value Vi—4 is determined as follows:

Vi—4=Vp—4+LUT(Vp—4,Vc—4)  (7)

As shown in FIG. 7 for the given target pixel, the pixel value Vc—4 in the current frame is greater than the pixel value Vp—4 in the previous frame. The interpolated pixel value can be properly determined according to the look-up table to achieve better image quality. Additionally, an adjusted pixel value in the current frame Vc—4′ can be determined using the look-up table similarly:

Vc—4′=Vc—4−LUT(Vp—4,Vc—4)  (8)

The adjusted pixel value Vc—4′ in the current frame is utilized to replace the pixel value in the current frame Vc—4, in order to make the average of the interpolated pixel value Vi—4 and the adjusted pixel value Vc—4′ in the current frame equal to the original pixel value in the current frame Vc—4.
Please refer to FIG. 8. FIG. 8 is a diagram illustrating calculations for the interpolated frame data and the current frame data according to an eighth embodiment of the present invention. The calculations for the interpolated pixel value Vi—4 and the adjusted pixel value Vc—4′ in the current frame shown in FIG. 8 are the same as those shown in FIG. 7, but applied in a scenario where the pixel value in the current frame is lower than the pixel value in the previous frame. Similarly, the interpolated pixel value Vi—4 and the adjusted pixel value Vc—4′ are both determined by using the look-up table LUT. Further description is omitted here for brevity.
Those skilled in the art will readily observe that numerous modifications and alterations of the device and method may be made while retaining the teachings of the invention.

## Claims

1. A method of frame interpolation for frame rate up-conversion, comprising:
determining a first adjusting value and a second adjusting value according to a target pixel in a first frame and a second frame;
determining an interpolated pixel value of the target pixel in an interpolated frame between the first frame and the second frame according to the first adjusting value and a pixel value of the target pixel in the first and second frames, wherein the interpolated pixel value of the target pixel is calculated according to the equation Vi—1=Vc—1+(Vc—1−Vp—1)*ri—1 where Vi—1 represents the interpolated pixel value of the target pixel, Vc—1 represents the pixel value of the target pixel in the second frame, Vp—1 represents the pixel value of the target pixel in the first frame, ri—1 represents a first scaling factor, and the first adjusting value is equal to (Vc—1−Vp—1)*ri—1 and
adjusting a pixel value of the target pixel in the second frame according to the second adjusting value, wherein the second adjusting value is equal to (Vc—1−Vp—1)*r2—1 where r2—1 represents a second scaling factor, and the pixel value of the target pixel in the second frame is calculated according to the equation Vc—1′=Vc—1−(Vc—1−Vp—1)*r2—1 where Vc—1′ represents an adjusted pixel value of the second frame.