This relates to frame rate conversion which changes the frame rate of an input video stream. To increase the frame rate, missing frames are reconstructed when needed by duplicating existing frames or interpolating from existing frames.
When a video scene includes significant moving objects, the human visual system tracks their motion. When the frame rate conversion operation uses frame duplication, the location of the objects in consecutive frames does not change smoothly, interfering with the human visual tracking system. This interference causes a sense of jumpy, non-continuous motion called “judder.”
A significant motion causes a larger gap between the expected position and the actual position of the image in the series of frames, producing a larger judder artifact. Motion compensated frame rate conversion uses motion analysis of the video sequence to achieve high quality interpolation. Motion estimation involves analyzing previous frames and next frames to identify areas that have not moved. The accuracy of motion estimation is important for the quality of the output video stream. Motion compensation involves using motion vectors to predict picture element values. However, motion estimation algorithms are not perfect and motion compensation needs to have a mechanism to measure the quality of motion estimation and to be able to handle motion estimation errors.
Referring to
As shown in
Motion field error estimation unit 14 then receives the output from the dense motion field estimation unit 12. The motion field error is estimated by applying warping or a motion compensated image using inverted motion vectors, on the original previous image 26 and current image 30 and then calculating pixel variation or the absolute value of differences. Thus, the local motion field error estimation is equal to the motion compensated image created from the previous frame and the corresponding motion field, It-1MF
The global motion field error estimation is calculated from local motion field error estimations from unit 14. The local motion field error picture is divided into overlapping regions. Statistical information about the error in each region is collected. Additional statistic methods are applied to this information in order to calculate the global motion field error G which is used by the compensation decision unit 18. As shown in
Also contributing to the compensation decision 18 is the static error estimation 22 (
The compensation decision unit 18 uses not only the local motion field confidence, but also uses the global estimation of the motion field quality. The higher value of global motion field quality may boost the local confidence values of the motion field, in some embodiments. In this way, the new output images may be smoother than the output image that uses only the local confidence measure.
The decision function is based on motion and static errors that were calculated for each pixel. The global motion field error value is used for motion field confidence adaptation. The local decision function is given by the following equation and is calculated per each pixel in a frame:
α(x,y)=f(e0(x,y),e1(x,y),G),
where e0 is a local motion field error value, e1 is the local static error value, and G is the global estimation of motion field quality. The global motion field confidence G sets the final threshold values of a two-dimensional blending function.
Motion estimation methods have estimation errors due to occlusions and motion discontinuities. Therefore, a reliable compensation method should be applied during new frame construction. In this method, the pixels in an output frame are calculated by a weighted sum of the motion compensated and the static pixel values. The weights α(x,y) of the motion compensated and static pixels are based on two-dimensional blending function and calculated by the compensation decision 18. The motion compensated pixel value is a pixel value that is calculated under the assumption that the motion estimation at the given pixel is correct. The static pixel value is a pixel value that is calculated under the assumption of no motion of the given pixel. The chosen reference image is the one closest in time to the target image 28 in one embodiment. The target image pixels are calculated by one of the following equations, depending on the reference image:
It-α(x,y)=α(x,y)×It-1MF
It-α(x,y)=α(x,y)×ItMF
Thus, as shown in
Thus, referring to
As shown in
The motion estimation result, shown in block 54, then creates the corrected image which is intermediate between the image at time zero and the image at time one in block 50. The output produced with the standard algorithm results in the artifacts shown on the left, as indicated in block 54. The output produced by the invention is on the right. The output at any given position ‘i’, OUTPUT(i), is equal to the reference image I1 at the position ‘i’ plus the offset given by the motion estimation at position ‘i’ or output[i]=I1[i+ME[i]].
Thus, in some embodiments, the present invention may provide better occlusion handling by using the bidirectional motion field and static information. It may provide a better solution for static text handling like titles. Visual artifacts caused by invalid static text handling may be reduced in some embodiments.
In some embodiments of the present invention, a dense motion estimation is calculated from the target unknown image located between two input images, whereas conventional approaches may calculate motion estimation from one input image to another. In addition, by considering motion estimation quality estimation over all images during the weighted interpolation of motion compensation, smoother outputs may be produced compared to standard motion compensation methods, in some embodiments.
The frame rate conversion depicted in
The graphics processing techniques described herein may be implemented in various hardware architectures. For example, graphics functionality may be integrated within a chipset. Alternatively, a discrete graphics processor may be used. As still another embodiment, the graphics functions may be implemented by a general purpose processor, including a multicore processor.
References throughout this specification to “one embodiment” or “an embodiment” mean that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one implementation encompassed within the present invention. Thus, appearances of the phrase “one embodiment” or “in an embodiment” are not necessarily referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be instituted in other suitable forms other than the particular embodiment illustrated and all such forms may be encompassed within the claims of the present application.
While the present invention has been described with respect to a limited number of embodiments, those skilled in the art will appreciate numerous modifications and variations therefrom. It is intended that the appended claims cover all such modifications and variations as fall within the true spirit and scope of this present invention.
Number | Name | Date | Kind |
---|---|---|---|
7548276 | Mizuhashi et al. | Jun 2009 | B2 |
7586540 | Ogino et al. | Sep 2009 | B2 |
7609763 | Mukerjee et al. | Oct 2009 | B2 |
7630438 | Mukerjee et al. | Dec 2009 | B2 |
20020036705 | Lee et al. | Mar 2002 | A1 |
20030081144 | Mohsenian | May 2003 | A1 |
20030095205 | Orlick et al. | May 2003 | A1 |
20040208384 | Lin et al. | Oct 2004 | A1 |
20040252759 | John Winder et al. | Dec 2004 | A1 |
20060291561 | Seong et al. | Dec 2006 | A1 |
20070183497 | Luo et al. | Aug 2007 | A1 |
20070237225 | Luo et al. | Oct 2007 | A1 |
20080165851 | Shi et al. | Jul 2008 | A1 |
20080240241 | Mishima et al. | Oct 2008 | A1 |
20080284908 | Chang | Nov 2008 | A1 |
20090059068 | Hanaoka et al. | Mar 2009 | A1 |
20090268088 | Zhou | Oct 2009 | A1 |
20090316789 | Sasai et al. | Dec 2009 | A1 |
20110051003 | Zhou et al. | Mar 2011 | A1 |
20120169927 | Miki | Jul 2012 | A1 |
Entry |
---|
“YUV Frame Rate Conversion (FRC) Technology”, YUVsoft Corporation. |
“Twixtor intelligently slows down, speeds up or changes the frame rate of your image sequences”, Vision Effects, Inc. 2008. |
Number | Date | Country | |
---|---|---|---|
20090324115 A1 | Dec 2009 | US |