A frame rate conversion (FRC) method using motion interpolation is disclosed. The FRC method includes checking the position of a motion vector intersecting an interpolated frame for each block of the interpolated frame, performing motion interpolation by acquiring a motion vector of each vertex of each block using motion vectors adjacent to each vertex, and performing motion interpolation on pixels of each block using the motion vector of each vertex.
|
1. A frame rate conversion (FRC) method using motion interpolation, the FRC method comprising the steps of:
checking the position of a motion vector intersecting an interpolated frame for each block of the interpolated frame;
performing motion interpolation by acquiring a motion vector of each vertex of each block using motion vectors adjacent to each vertex, wherein acquiring the motion vector comprises the steps of: checking the motion vectors that are adjacent to each vertex of each block, measuring distances between each vertex and its adjacent motion vectors for each block, and calculating a motion vector of each vertex by applying weights to the adjacent motion vectors for motion interpolation, in which the weights are inversely proportional to the measured distances; and
performing motion interpolation on pixels of each block using the motion vector of each vertex.
5. A frame rate conversion (FRC) apparatus comprising:
a processor in communication with a memory, the processor executing code for:
checking the position of a motion vector intersecting an interpolated frame for each block of an interpolated frame;
performing motion interpolation by acquiring a motion vector of each vertex of each block using motion vectors adjacent to each vertex, wherein acquiring of the motion vector comprises the step of: checking the motion vectors that are adjacent to each vertex of each block, measuring distances between each vertex and its adjacent motion vectors for each block, and calculating a motion vector of each vertex by applying weights to the adjacent motion vectors for motion interpolation, in which the weights are inversely proportional to the measured distances; and
performing motion interpolation on pixels of each block using the motion vector of each vertex.
8. A computer program product, comprising non-transitory recoding medium, providing code, which when loaded into a processor causes the processor to execute the steps of:
checking the position of a motion vector intersecting an interpolated frame for each block of an interpolated frame;
performing motion interpolation by acquiring a motion vector of each vertex of each block using motion vectors adjacent to each vertex wherein acquiring the motion vector comprises the steps of: checking the motion vectors that are adjacent to each vertex of each block, measuring distances between each vertex and its adjacent motion vectors for each block, and calculating a motion vector of each vertex by applying weights to the adjacent motion vectors for motion interpolation, in which the weights are inversely proportional to the measured distances; and
performing motion interpolation on pixels of each block using the motion vector of each vertex.
4. A frame rate conversion (FRC) apparatus using motion interpolation, which receives a motion vector, a previous frame, and a current frame of video data that undergoes decoding from an external decoder, the FRC apparatus comprising:
a vector smoothing unit for smoothing the received motion vector; and
a motion interpolation unit for performing motion interpolation using the smoothed motion vector, the previous frame, and the current frame,
wherein the motion interpolation unit checks the position of a motion vector intersecting an interpolated frame for each block of the interpolated frame, performs motion interpolation by acquiring a motion vector associated with each vertex of each block using motion vectors that are adjacent to each vertex, checks the adjacent motion vectors, measures distances between each vertex and its adjacent motion vectors for each block, and calculates the motion vector of each vertex by applying weights to the adjacent motion vectors for motion interpolation, in which the weights are inversely proportional to the measured distances, and performs motion interpolation on each pixel of each block using a motion vector of each vertex of each block.
MV1, MV2, MV3, MV4, . . . , MVn indicate the adjacent motion vectors, and d1, d2, d3, d4, . . . , dn indicate distances between each vertex and its adjacent motion vectors.
3. The FRC method of
where MVa, MVb, MVc, and MVd indicate motion vectors of vertices A, B, C, and D of each block, and da, db, dc, and dd, indicate distances between a specific pixel P and the vertices A, B, C, and D.
MV1, MV2, MV3, MV4, . . . , MVn indicate the adjacent motion vectors, and d1, d2, d3, d4, . . . , dn indicate distances between each vertex and its adjacent motion vectors.
7. The apparatus of
where MVa, MVb, MVc, and MVd indicate motion vectors of vertices A, B, C, and D of each block, and da, db, dc, and dd, indicate distances between a specific pixel P and the vertices A, B, C, and D.
MV1, MV2, MV3, MV4, . . . , MVn indicate the adjacent motion vectors, and d1, d2, d3, d4, . . . , dn indicate distances between each vertex and its adjacent motion vectors.
10. The product of
where MVa, MVb, MVc, and MVd indicate motion vectors of vertices A, B, C, and D of each block, and da, db, dc, and dd, indicate distances between a specific pixel P and the vertices A, B, C, and D.
|
This application claims the benefit of the earlier filing date, under 35 U.S.C. §119(a), to that patent application filed in the Korean Intellectual Property Office on Oct. 31, 2006 and assigned Serial No. 2006-106402, the entire disclosure of which is hereby incorporated by reference.
1. Field of the Invention
The present invention generally relates to video processing and in particular, to H.264 and Moving Picture Experts Group (MPEG)-4 Frame Rate Conversion (FRC) using motion interpolation that uses motion estimation and motion compensation.
2. Description of the Related Art
Frame Rate Conversion (FRC) refers to converting a number of frames output per second, and generally to a technique for converting the frame rate of a video sequence that has been compressed at a low frame rate into a high frame rate. FRC is usually applied when a video transmission signal and a display have different frame rates and a Personal Computer (PC), a High-Definition Television (HDTV), and the like exchange programs in various signal formats.
In the early stage of FRC, various methods for converting the frame rate of an uncompressed video signal were developed and used. However, as video compression methods of the SIO/IEC JTC1 group or the ITU-T group have been developed with the sharp increase in the volume of video data, FRC is now also applied to a compressed video signal and a video system using the compressed video signal during video compression and transmission.
A motion estimation unit 120 performs motion estimation for each block using a Block Matching Algorithm (BMA). A vector smoothing unit 130 smoothes a motion vector acquired in the previous stage. A Motion Compensated Interpolation (MCI) unit 140 then completes an interpolated frame through MCI.
Conventional MCI first performs motion estimation and then generates an interpolated frame using a unidirectional or bidirectional motion vector between a previous frame and a current frame. In
However, motion estimation and MCI using a bidirectional motion vector require a large amount of computational effort. Such computational effort is limited in mobile devices. To solve the problem of performing motion estimation and MCI in mobile devices, a method in which motion estimation is skipped and motion information is input from a decoder is under development. However, the use of MCI still requires a large amount of computation effort.
An aspect of the present invention is to address at least the above problems and/or disadvantages and to provide at least the advantages described below. Accordingly, an aspect of the present invention is to provide a method for implementing motion interpolation to make FRC suitable for a mobile device.
Another aspect of the present invention is to provide a method for interpolating a frame using motion information closer to true motion than in the case with motion estimation and motion compensation using a Blocking Matching Algorithm (BMA).
According to another aspect of the present invention, there is provided an FRC method using motion interpolation. The FRC method includes checking the position of a motion vector intersecting an interpolated frame for each of blocks of the interpolated frame, performing motion interpolation by acquiring a motion vector associated with each vertex of each block using motion vectors adjacent to each vertex, and performing motion interpolation on pixels of each block using the motion vector of each vertex.
According to another aspect of the present invention, there is provided an FRC apparatus using motion interpolation, which receives a motion vector, a previous frame, and a current frame of video data that undergoes decoding from an external decoder. The FRC apparatus includes a vector smoothing unit for smoothing the received motion vector and a motion interpolation unit for performing motion interpolation using the smoothed motion vector, the previous frame, and the current frame. The motion interpolation unit checks the position of a motion vector intersecting an interpolated frame for each block of the interpolated frame, performs motion interpolation by acquiring a motion vector of each vertex of each block using motion vectors that are adjacent to each vertex, and performs motion interpolation on each pixel of each block using a motion vector associated with each vertex of each block.
The above and other features and advantages of an exemplary embodiment of the present invention will be more apparent from the following detailed description taken in conjunction with the accompanying drawings, in which:
The matters defined in the description such as a detailed construction and elements are provided to assist in a comprehensive understanding of an exemplary embodiment of the invention. Accordingly, those of ordinary skill in the art will recognize that various changes and modifications of the embodiment described herein can be made without departing from the scope and spirit of the invention.
First, initialization of the position of a motion vector of an interpolated frame includes initializing the motion vector of the interpolated frame (step 502) and setting a block of the interpolated frame (step 504).
In FIG. 6(1), a motion vector passing through the I frame and an intersection between the motion vector and the I frame are acquired. In other words, intersections between motion vectors and the I frame are marked with dots in the I frame in FIG. 6(1). After motion vectors of the interpolated frame are initialized in this way, the interpolated frame is expressed at a block level as in FIG. 6(2).
Motion interpolation performed by acquiring motion vectors of vertices of each block using motion vectors adjacent to the vertices of the block includes checking motion vectors adjacent to vertices of each block (step 506,
In FIG. 6(2) and FIG. 7(1), one of the vertices of various blocks included in a frame is shown in a circle and is indicated by the letter “A.” To search for motion vectors adjacent to the vertex A, points included in a circular search range with the same diameter as the block are searched for. Here, it is assumed that four points indicating motion vectors are included in the search range as illustrated in FIG. 6(2) and in
As illustrated in FIG. 7(2), the four motion vectors are represented as MV1, MV2, MV3, and MV4 and distances between vertex A and the motion vectors are d1, d2, d3, and d4, respectively. Using the fact that the vertex A is affected more by a closer motion vector, a motion vector MV of the vertex A is calculated by applying weights to the four motion vectors MV1, MV2, MV3, and MV4 in which the weights are inversely proportional to the distances d1, d2, d3, and d4. The calculation can be expressed as follows:
where d is a sum of the distances d1, d2, d3, and d4.
When regard to vertices located to the right, and below, vertex A, which are represented as B, C, and D, their motion vectors can be calculated as illustrated in FIG. 8(1).
After the motion vectors of the four vertices of the block are calculated, motion interpolation is performed on pixels of the block in step 512. As illustrated in FIG. 8(2), motion vectors are sequentially calculated in the order from the start pixel to the last pixel in the block by using distances between the vertices and the pixels. For example, where the motion vectors of the vertices A, B, C, and D are MVa, MVb, MVc, and MVd and distances between a specific point (pixel) P and the vertices A, B, C, and D are da, db, dc, and dd, respectively, a motion vector MVP of the pixel P can be calculated as follows:
In this way, motion vectors of all the pixels in each block are calculated, thereby interpolated pixels of the interpolated frame from the previous frame are acquired.
As described above, an FRC method using motion interpolation can implement motion interpolation of FRC with simplicity and high speed to make FRC suitable for a mobile device. Furthermore, interpolation of a frame using motion information closer to true motion than in the case with motion estimation and motion compensation using a Block Matching Algorithm (BMA) is performed.
The above-described methods according to the present invention can be realized in hardware or as software or computer code that can be stored in a recording medium such as a CD ROM, an RAM, a floppy disk, a hard disk, or a magneto-optical disk or downloaded over a network, so that the methods described herein can be rendered in such software using a general purpose computer, or a special processor or in programmable or dedicated hardware, such as an ASIC or FPGA. As would be understood in the art, the computer, the processor or the programmable hardware include memory components, e.g., RAM, ROM, Flash, etc. that may store or receive software or computer code that when accessed and executed by the computer, processor or hardware implement the processing methods described herein.
While the invention has been shown and described with reference to an exemplary embodiment thereof, it will be understood by those skilled in the art that various changes in form and details may be made therein without departing from the spirit and scope of the invention.
Oh, Yun-Je, Joo, Young-Hun, Jeon, Sun-young, Lim, Yong-hyun, Kim, Bong-Gon
Patent | Priority | Assignee | Title |
9602763, | Dec 16 2010 | Pixelworks, Inc. | Frame interpolation using pixel adaptive blending |
Patent | Priority | Assignee | Title |
20030086498, | |||
20030156641, | |||
20040047415, | |||
JP10243401, | |||
JP8116541, | |||
KR1020060016960, | |||
KR200520287, | |||
KR200581730, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Sep 04 2007 | JEON, SUN-YOUNG | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019922 | /0879 | |
Sep 04 2007 | JOO, YOUNG-HUN | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019922 | /0879 | |
Sep 04 2007 | LIM, YONG-HYUN | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019922 | /0879 | |
Sep 04 2007 | KIM, BONG-GON | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019922 | /0879 | |
Sep 04 2007 | OH, YUN-JE | SAMSUNG ELECTRONICS CO , LTD | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 019922 | /0879 | |
Sep 20 2007 | Samsung Electronics Co., Ltd. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Sep 12 2012 | ASPN: Payor Number Assigned. |
Aug 26 2015 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Nov 04 2019 | REM: Maintenance Fee Reminder Mailed. |
Apr 20 2020 | EXP: Patent Expired for Failure to Pay Maintenance Fees. |
Date | Maintenance Schedule |
Mar 13 2015 | 4 years fee payment window open |
Sep 13 2015 | 6 months grace period start (w surcharge) |
Mar 13 2016 | patent expiry (for year 4) |
Mar 13 2018 | 2 years to revive unintentionally abandoned end. (for year 4) |
Mar 13 2019 | 8 years fee payment window open |
Sep 13 2019 | 6 months grace period start (w surcharge) |
Mar 13 2020 | patent expiry (for year 8) |
Mar 13 2022 | 2 years to revive unintentionally abandoned end. (for year 8) |
Mar 13 2023 | 12 years fee payment window open |
Sep 13 2023 | 6 months grace period start (w surcharge) |
Mar 13 2024 | patent expiry (for year 12) |
Mar 13 2026 | 2 years to revive unintentionally abandoned end. (for year 12) |