An frame rate up-conversion (FRC) apparatus and method are provided. The motion vector generating circuit compares a previous original frame with a current original frame to obtain the first motion vectors of the blocks of the current original frame, and compares the current original frame and a posterior original frame to obtain the second motion vectors of the blocks of the current original frame. The motion vector correction circuit checks whether the blocks of the second original frame are located in an occlusion area, and corrects the motion vectors of the blocks in the occlusion area based on the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame. The interpolation frame generating circuit creates at least one interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
|
8. A frame rate up-conversion (FRC) method, comprising:
comparing a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame;
comparing the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame;
based on the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, checking whether the blocks of the second original frame are located in an occlusion area and correcting the motion vectors of the blocks in the occlusion area to obtain corrected motion vectors of the blocks of the first original frame and the second original frame; and
creating at least one interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
21. A frame rate up-conversion (FRC) method, comprising:
comparing a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame;
comparing the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame;
based on the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, when a current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, selecting a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame to obtain corrected motion vectors of the blocks of the interpolation frame; and
creating the interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
1. A frame rate up-conversion (FRC) apparatus, comprising:
a motion vector generating circuit, configured to compare a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame and compare the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame;
a motion vector correction circuit, coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, and configured to check whether the blocks of the second original frame are located in an occlusion area and correct the motion vectors of the blocks in the occlusion area based on the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame; and
an interpolation frame generating circuit, coupled to the motion vector correction circuit to receive the corrected motion vectors of the blocks of the first original frame and the second original frame, and configured to create at least one interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
16. A frame rate up-conversion (FRC) apparatus, comprising:
a motion vector generating circuit, configured to compare a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame and compare the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame;
a motion vector correction circuit, coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, wherein when a current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, the motion vector correction circuit selects a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame based on the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame; and
an interpolation frame generating circuit, coupled to the motion vector correction circuit to receive the corrected motion vectors of the blocks of the interpolation frame, and configured to create the interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
2. The FRC apparatus according to
the motion vector correction circuit starts from a current block among the blocks of the second original frame to search for a first matched block among the blocks of the first original frame by using the first motion vector of the current block of the second original frame,
the motion vector correction circuit starts from the current block of the second original frame to search for a second matched block among the blocks of the first original frame by using the second motion vector of the first matched block of the first original frame,
the motion vector correction circuit starts form the current block of the second original frame to search for a third matched block among the blocks of the third original frame by using the second motion vector of the current block of the second original frame,
the motion vector correction circuit starts from the current block of the second original frame to search for a fourth matched block among the blocks of the third original frame by using the first motion vector of the third matched block of the third original frame,
the motion vector correction circuit determines whether to correct the first motion vector of the current block of the second original frame by using the second motion vector of the current block of the second original frame based on the second motion vector of the first matched block and the second motion vector of the second matched block, and
the motion vector correction circuit determines whether to correct the second motion vector of the current block of the second original frame by using the first motion vector of the current block of the second original frame based on the first motion vector of the third matched block and the first motion vector of the fourth matched block.
3. The FRC apparatus according to
when a difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, the motion vector correction circuit determines that the current block of the second original frame is located in the occlusion area, and
when a difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, the motion vector correction circuit determines that the current block of the second original frame is located in the occlusion area.
4. The FRC apparatus according to
when the difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than the first threshold, the motion vector correction circuit uses the second motion vector of the current block of the second original frame to replace the first motion vector of the current block of the second original frame, and
when the difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than the second threshold, the motion vector correction circuit uses the first motion vector of the current block of the second original frame to replace the second motion vector of the current block of the second original frame.
5. The FRC apparatus according to
an occlusion determination circuit, coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame, and configured to decide whether the current block of the second original frame is located in a de-covered area based on the second motion vector of the first matched block and the second motion vector of the second matched block and decide whether the current block of the second original frame is located in a covered area based on the first motion vector of the third matched block and the first motion vector of the fourth matched block;
a foreground flag circuit, coupled to the occlusion determination circuit to receive a determination result, wherein the foreground flag circuit starts from the current block of the second original frame to search for a first foreground block among the blocks of the first original frame by using the second motion vector of the current block of the second original frame and set a foreground flag to the first foreground block when the current block of the second original frame is located in the de-covered area, and the foreground flag circuit starts form the current block of the second original frame to search for a second foreground block among the blocks of third original frame by using the first motion vector of the current block of the second original frame and set a foreground flag to the second foreground block when the current block of the second original frame is located in the covered area; and
a correction circuit, coupled to the foreground flag circuit to receive the foreground flag, wherein when the current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, the correction circuit selects a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame according to the foreground flag and provides the corrected motion vector to the interpolation frame generating circuit to create the interpolation frame.
6. The FRC apparatus according to
when a difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, the occlusion determination circuit determines that the current block of the second original frame is located in the de-covered area, and
when a difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, the occlusion determination circuit determines that the current block of the second original frame is located in the covered area.
7. The FRC apparatus according to
9. The FRC method according to
using the first motion vector of a current block among the blocks of the second original frame to start from the current block of the second original frame to search for a first matched block among the blocks of the first original frame;
using the second motion vector of the first matched block of the first original frame to start from the current block of the second original frame to search for a second matched block among the blocks of the first original frame;
using the second motion vector of the current block of the second original frame to start from the current block of the second original frame to search for a third matched block among the blocks of the third original frame;
using the first motion vector of the third matched block of the third original frame to start from the current block of the second original frame to search for a fourth matched block among the blocks of the third original frame;
deciding whether to correct the first motion vector of the current block of the second original frame by using the second motion vector of the current block of the second original frame based on the second motion vector of the first matched block and the second motion vector of the second matched block; and
deciding whether to correct the second motion vector of the current block of the second original frame by using the first motion vector of the current block of the second original frame based on the first motion vector of the third matched block and the first motion vector of the fourth matched block.
10. The FRC method according to
when a difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, determining that the current block of the second original frame is located in the occlusion area; and
when a difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, determining that the current block of the second original frame is located in the occlusion area.
11. The FRC method according to
when the difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than the first threshold, using the second motion vector of the current block of the second original frame to replace the first motion vector of the current block of the second original frame; and
when the difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than the second threshold, using the first motion vector of the current block of the second original frame to replace the second motion vector of the current block of the second original frame.
12. The FRC method according to
deciding whether the current block of the second original frame is located in a de-covered area based on the second motion vector of the first matched block and the second motion vector of the second matched block; and
deciding whether the current block of the second original frame is located in a covered area based on the first motion vector of the third matched block and the first motion vector of the fourth matched block.
13. The FRC method according to
when the difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, determining that the current block of the second original frame is located in the de-covered area; and
when the difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, determining that the current block of the second original frame is located in the covered area.
14. The FRC method according to
when the current block of the second original frame is located in the de-covered area, using the second motion vector of the current block of the second original frame to start form the current block of the second original frame to search for a first foreground block among the blocks of the first original frame, so as to set a foreground flag to the first foreground block;
when the current block of the second original frame is located in the covered area, using the first motion vector of the current block of the second original frame to start form the current block of the second original frame to search for a second foreground block among the blocks of third original frame, so as to set a foreground flag to the second foreground block; and
when the current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, selecting a foreground block motion vector from the projection motion vectors according to the foreground flag as a corrected motion vector of the current block of the interpolation frame.
15. The FRC method according to
17. The FRC apparatus according to
the motion vector correction circuit starts from a current block among the blocks of the second original frame to search for a first matched block among the blocks of the first original frame by using the first motion vector of the current block of the second original frame,
the motion vector correction circuit starts from the current block of the second original frame to search for a second matched block among the blocks of the first original frame by using a second motion vector of the first matched block of the first original frame,
the motion vector correction circuit starts from the current block of the second original frame to search for a third matched block among the blocks of the third original frame by using the second motion vector of the current block of the second original frame,
the motion vector correction circuit starts from the current block of the second original frame to search for a fourth matched block among the blocks of the third original frame by using the first motion vector of the third matched block of the third original frame,
the motion vector correction circuit determines whether the current block of the second original frame is located in a de-covered area based on the second motion vector of the first matched block and the second motion vector of the second matched block, and
the motion vector correction circuit determines whether the current block of the second original frame is located in a covered area based on the first motion vector of the third matched block and the first motion vector of the fourth matched block.
18. The FRC apparatus according to
an occlusion determination circuit, coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame, and configured to decide whether the current block of the second original frame is located in the de-covered area based on the second motion vector of the first matched block and the second motion vector of the second matched block and decide whether the current block of the second original frame is located in the covered area based on the first motion vector of the third matched block and the first motion vector of the fourth matched block;
a foreground flag circuit, coupled to the occlusion determination circuit to receive a determination result, wherein the foreground flag circuit starts from the current block of the second original frame to search for a first foreground block among the blocks of the first original frame by using the second motion vector of the current block of the second original frame and set a foreground flag to the first foreground block when the current block of the second original frame is located in the de-covered area, and the foreground flag circuit starts from the current block of the second original frame to search for a second foreground block among the blocks of third original frame by using the first motion vector of the current block of the second original frame and set a foreground flag to the second foreground block when the current block of the second original frame is located in the covered area; and
a correction circuit, coupled to the foreground flag circuit to receive the foreground flag, wherein when the current block of the interpolation frame between the first original frame and the second original frame encounters the multi-match and has the projection motion vectors, the correction circuit selects the foreground block motion vector from the projection motion vectors as the corrected motion vector of the current block of the interpolation frame according to the foreground flag and provides the corrected motion vector to the interpolation frame generating circuit to create the interpolation frame.
19. The FRC apparatus according to
when a difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, the occlusion determination circuit determines that the current block of the second original frame is located in the de-covered area, and
when a difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, the occlusion determination circuit determines that the current block of the second original frame is located in the covered area.
20. The FRC apparatus according to
22. The FRC method according to
using the first motion vector of a current block among the blocks of the second original frame to start from the current block of the second original frame to search for a first matched block among the blocks of the first original frame;
using the second motion vector of the first matched block of the first original frame to start from the current block of the second original frame to search for a second matched block among the blocks of the first original frame;
using the second motion vector of the current block of the second original frame to start from the current block of the second original frame to search for a third matched block among the blocks of the third original frame;
using the first motion vector of the third matched block of the third original frame to start from the current block of the second original frame to search for a fourth matched block among the blocks of the third original frame;
determining whether the current block of the second original frame is located in a de-covered area based on the second motion vector of the first matched block and the second motion vector of the second matched block; and
determining whether the current block of the second original frame is located in a covered area based on the first motion vector of the third matched block and the first motion vector of the fourth matched block.
23. The FRC method according to
when a difference between the second motion vector of the first matched block and the second motion vector of the second matched block is greater than a first threshold, determining that the current block of the second original frame is located in the de-covered area; and
when a difference between the first motion vector of the third matched block and the first motion vector of the fourth matched block is greater than a second threshold, determining that the current block of the second original frame is located in the covered area.
24. The FRC method according to
when the current block of the second original frame is located in the de-covered area, using the second motion vector of the current block of the second original frame to start from the current block of the second original frame to search for a first foreground block among the blocks of the first original frame, so as to set a foreground flag to the first foreground block;
when the current block of the second original frame is located in the covered area, using the first motion vector of the current block of the second original frame to start from the current block of the second original frame to search for a second foreground block among the blocks of third original frame, so as to set a foreground flag to the second foreground block; and
when the current block of the interpolation frame between the first original frame and the second original frame encounters the multi-match and has the projection motion vectors, selecting the foreground block motion vector from the projection motion vectors as the corrected motion vector of the current block of the interpolation frame according to the foreground flag.
25. The FRC method according to
|
The invention is directed to a video apparatus and more particularly, to an apparatus and a method for frame rate up-conversion (FRC).
A frame rate up-conversion (FRC) operation can facilitate increasing an image display frequency, for example, a display frequency may be increased from 30 frames/second to 60 frames/second.
In the embodiment illustrated in
When the frame interpolation is performed, a de-halo algorithm is generally performed in order to solve the issue that “no similar block can be found in the second original frame F2 for the blocks in the occlusion area 131” and the issue that “no similar block can be found in the first original frame F1 for the blocks in the occlusion area 132”. Accordingly, it can be considered that after the ME operation is performed, the motion vectors of the blocks in the occlusion areas 131 and 132 are usually unstable (incorrect). The de-halo algorithm is performed for detecting the occlusion areas 131 and 132 in the condition that the motion vectors are unstable, and thus, the detection result of the de-halo algorithm is not satisfactory.
Furthermore, in some conditions, a plurality of best vectors may be calculated for some blocks of the interpolation frame Fint by the 3DRS motion estimation algorithm. Such issue that a block has a plurality of best vectors is referred to as a multi-match issue or a temporal aperture issue. For example,
The invention provides an apparatus and a method for frame rate up-conversion (FRC) for detecting an occlusion area and correcting the motion vectors of the blocks in the occlusion area.
According to an embodiment of the invention, an FRC apparatus is provided. The FRC apparatus includes a motion vector generating circuit, a motion vector correction circuit and an interpolation frame generating circuit. The motion vector generating circuit is configured to compare a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame and compare the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame. The motion vector correction circuit is coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame. The motion vector correction circuit is configured to check whether the blocks of the second original frame are located in an occlusion area and correct the motion vectors of the blocks in the occlusion area based on the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame. The interpolation frame generating circuit is coupled to the motion vector correction circuit to receive the corrected motion vectors of the blocks of the first original frame and the second original frame. The interpolation frame generating circuit is configured to create at least one interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
According to an embodiment of the invention, an FRC method is provided. The FRC method includes: comparing a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame; comparing the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame; based on the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, checking whether the blocks of the second original frame are located in an occlusion area and correcting the motion vectors of the blocks in the occlusion area to obtain corrected motion vectors of the blocks of the first original frame and the second original frame; and creating at least one interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
According to an embodiment of the invention, an FRC apparatus is provided. The FRC apparatus includes a motion vector generating circuit, a motion vector correction circuit and an interpolation frame generating circuit. The motion vector generating circuit is configured to compare a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame and compare the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame. The motion vector correction circuit is coupled to the motion vector generating circuit to receive the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame. When a current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, the motion vector correction circuit selects a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame based on the first motion vectors and the second motion vectors of the first original frame, the second original frame and the third original frame. The interpolation frame generating circuit is coupled to the motion vector correction circuit to receive corrected motion vectors of the blocks of the interpolation frame. The interpolation frame generating circuit is configured to create the interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
According to an embodiment of the invention, an FRC method is provided. The FRC method includes: comparing a previous original frame with a current original frame to obtain first motion vectors of a plurality of blocks of the current original frame; comparing the current original frame with a posterior original frame to obtain second motion vectors of the blocks of the current original frame; based on the first motion vectors and the second motion vectors of a first original frame, a second original frame and a third original frame, when a current block of an interpolation frame between the first original frame and the second original frame encounters multi-match and has a plurality of projection motion vectors, selecting a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame to obtain corrected motion vectors of the blocks of the interpolation frame; and creating the interpolation frame between the first original frame and the second original frame based on the corrected motion vectors.
To sum up, in the FRC apparatus and the FRC method provided by the embodiments of the invention, based on the motion vectors of the first original frame, the second original frame and the third original frame, the blocks in the occlusion area can be effectively detected, and the motion vectors of the blocks in the occlusion area can be corrected.
In order to make the aforementioned and other features and advantages of the invention more comprehensible, several embodiments accompanied with figures are described in detail below.
The accompanying drawings are included to provide a further understanding of the invention, and are incorporated in and constitute a part of this specification. The drawings illustrate embodiments of the invention and, together with the description, serve to explain the principles of the invention.
A term “couple” used in the full text of the disclosure (including the claims) refers to any direct and indirect connections. For instance, if a first device is described to be coupled to a second device, it is interpreted as that the first device is directly coupled to the second device, or the first device is indirectly coupled to the second device through other devices or connection means. Moreover, wherever possible, components/members/steps using the same referral numerals in the drawings and description refer to the same or like parts. Components/members/steps using the same referral numerals or using the same terms in different embodiments may cross-refer related descriptions.
In the embodiment illustrated in
In the exemplary embodiment illustrated in
With the use of the first motion vector of a current block among the blocks of the second original frame F2, the motion vector correction circuit 220 may start from the current block of the second original frame F2 to search for a first matched block among the blocks of the first original frame F1. With the use of the second motion vector of the first matched block of the first original frame F1, the motion vector correction circuit 220 may start from the current block of the second original frame F2 to search for a second matched block among the blocks of the first original frame F1. The motion vector correction circuit 220 may decide whether to use the second motion vector of the current block of the second original frame F2 to correct the first motion vector of the current block of the second original frame F2 based on the second motion vector of the first matched block and the second motion vector of the second matched block.
Taking a current block blk21 illustrated in
For instance (but not limited to), when a difference between the second motion vector 414 of the first matched block blk11 and the second motion vector 433 of the second matched block blk12 is greater than the first threshold TH1, the motion vector correction circuit 220 may determine that the current block blk21 of the second original frame F2 is located in the occlusion area 452. Otherwise, when the different between the motion vector 414 and the motion vector 433 is less than the first threshold TH1, the current block blk21 may be determined as not in the occlusion area. The first threshold TH1 may be decided according to a design demand. The “difference between the motion vector 414 and the motion vector 433” may be expressed by a formula, (MV414−MV433|=|X414−X433|+|Y414−Y433|, wherein MV414 represents the motion vector 414, MV433 represents the motion vector 433, X414 represents a X-axial component of the motion vector 414, Y414 represents a Y-axial component of the motion vector 414, X433 represents an X-axial component of the motion vector 433, and Y433 represents a Y-axial component of the motion vector 433. When |MV414−MV433|>TH1, the motion vector correction circuit 220 may determine that the current block blk21 of the second original frame F2 is located in a de-covered area (i.e., the occlusion area 452 illustrated in
In addition, with the use of the second motion vector of the current block of the second original frame F2, the motion vector correction circuit 220 may start from the current block of the second original frame F2 to search for a third matched block among the blocks of the third original frame F3. With the use of the first motion vector of the third matched block of the third original frame F3, the motion vector correction circuit 220 may start from the current block of the second original frame F2 to search for a fourth matched block among the blocks of the third original frame F3. According to the first motion vector of the third matched block and the first motion vector of the fourth matched block, the motion vector correction circuit 220 may decide whether to use the first motion vector of the current block of the second original frame F2 to correct the second motion vector of the current block of the second original frame F2.
Refer to
For instance (but not limited to), when a difference between the first motion vector 524 of the third matched block blk31 and the first motion vector 443 of the fourth matched block blk32 is greater than a second threshold TH2, the motion vector correction circuit 220 determines that the current block blk22 of the second original frame F2 is located in the occlusion area 451. Otherwise, when the difference between the motion vector 524 and the motion vector 443 is less than second threshold TH2, the current block blk22 may be determined as not in the occlusion area. The second threshold TH2 may be decided according to a design demand. The “difference between the motion vector 524 and the motion vector 443 may be expressed by a formula, |MV524−MV443|=|X524−X443|+|Y524−Y443|, wherein MV524 represents the motion vector 524, MV443 represents the motion vector 443, X524 represents an X-axial component of the motion vector 524, Y524 represents a Y-axial component of the motion vector 524, X443 represents an X-axial component of the motion vector 443, and Y443 represents a Y-axial component of the motion vector 443. When |MV524−MV443|>TH2, the motion vector correction circuit 220 may determine that the current block blk22 of the second original frame F2 is located in a covered area (i.e., the occlusion area 451 illustrated in
Refer to
In light of the foregoing, in the present embodiment, the occlusion area 451 and/or the occlusion area 452 may be effectively detected by using the motion vectors of the first original frame F1, the second original frame F2 and the third original frame F3, so as to correct the motion vectors of the blocks in the occlusion area. Based on the stable (correct) corrected motion vectors, the interpolation frame generating circuit 230, in step S330, may de-halo and create the interpolation frame, thereby obtaining a more stable effect.
Refer to
Specifically, the motion vector correction circuit 220, in step S620, may check whether the blocks of the second original frame F2 are located in the occlusion area based on the first motion vectors and the second motion vectors of the first original frame F1, the second original frame F2 and the third original frame F3. For instance, by deriving from the description related to the operation illustrated in
When the current block of the second original frame F2 is located in the de-covered area 752, the motion vector correction circuit 220, in step S620, may use the second motion vector of the current block of the second original frame F2 to start from the current block of the second original frame F2 to search for a first foreground block in the first original frame F1, so as to set a foreground flag to the first foreground block. For instance, it is assumed that a block blk23 of the second original frame F2 illustrated in
When the current block of the second original frame F2 is located in the covered area 751, the motion vector correction circuit 220, in step S620, may use the first motion vector of the current block of the second original frame F2 to start from the current block of the second original frame F2 to search for a second foreground block of the third original frame F3, so as to set a foreground flag to the second foreground block. For instance, it is assumed that a block blk24 of the second original frame F2 illustrated in
When a current block of the interpolation frame Fint between the first original frame F1 and the second original frame F2 encounters multi-match and has a plurality of projection motion vectors, the motion vector correction circuit 220, in step S620, may select a foreground block motion vector from the projection motion vectors as the corrected motion vector of the current block blki of the interpolation frame Fint according to the foreground flag. For instance,
By deriving from the description related to
The occlusion determination circuit 221 is coupled to the motion vector generating circuit 210 to receive the first motion vectors and the second motion vectors of the first original frame F1, the second original frame F2 and the third original frame F3. The occlusion determination circuit 221 may perform the related operation illustrated in
The foreground flag circuit 222 is coupled to the occlusion determination circuit 221 to receive the determination result. When the current block of the second original frame F2 is located in the de-covered area 752, the foreground flag circuit 222 may use the second motion vector of the current block of the second original frame F2 to start from the current block of the second original frame F2 to search for a first foreground block of the first original frame F1 and set a foreground flag to the first foreground block. For instance, it is assumed that the block blk23 of the second original frame F2 illustrated in
When the current block of the second original frame F2 is located in the covered area 751, the foreground flag circuit 222 may use the first motion vector of the current block of the second original frame F2 to start from the current block of the second original frame F2 to search for a second foreground block of the third original frame F3 and set a foreground flag to the second foreground block. For instance, it is assumed that the block blk24 of the second original frame F2 illustrated in
The correction circuit 223 is coupled to foreground flag circuit 222 to receive information related to the foreground flag. When the current block of the interpolation frame Fint between the first original frame F1 and the second original frame F2 encounters multi-match and has a plurality of projection motion vectors, the correction circuit 223 may select a foreground block motion vector from the projection motion vectors as a corrected motion vector of the current block of the interpolation frame Fint according to the foreground flag. Then, the correction circuit 223 provides the corrected motion vector to the interpolation frame generating circuit 230 to create the interpolation frame Fint. Namely, when two blocks in the first original frame F1 and the second original frame F2 pointed by a specific vector among the projection motion vectors are both set with the foreground flag, the correction circuit 223 may select the specific vector as the foreground block motion vector.
For instance, it is assumed that the block blki of the interpolation frame Fint illustrated in
It should be noted that in various application scenarios, related functions of the FRC apparatus 200, the motion vector generating circuit 210, the motion vector correction circuit 220, the occlusion determination circuit 221, the foreground flag circuit 222, the correction circuit 223 and/or the interpolation frame generating circuit 230 may be implemented in a form of software, firmware or hardware by employing general programming languages (e.g., C or C++), hardware description languages (e.g., Verilog HDL or VHDL) or other suitable programming languages. The programming languages capable of executing the related functions may be deployed in any computer-accessible media, such as magnetic tapes, semiconductor memories, magnetic disks or compact disks (e.g., CD-ROM or DVD-ROM) or may be delivered through the Internet, wired communication, wireless communication or other communication media. The programming languages may be stored in the computer-accessible media for a processor of the computer to access/execute the programming codes of the software (or firmware). In terms of hardware implementation, by being combined with the aspects disclosed by the embodiments described herein, the functions described herein may be implemented or executed by various exemplary logics, logic blocks, modules and circuits in one or more controllers, microcontrollers, microprocessors, application-specific integrated circuits (ASIC), digital signal processors (DSPs), field programmable gate arrays (FPGAs) and/or other processing units. Moreover, the apparatus and the method of the invention may be implemented by means of a combination of hardware and software.
To summarize, the FRC apparatus and method provided by the embodiments of the invention, the occlusion area and/or the occlusion area can be effectively detected based on the motion vectors of the first original frame, the second original frame and the third original frame to correct the motion vectors of the blocks in the occlusion area. Based on the stable (correct) corrected motion vector, the interpolation frame generating circuit can de-halo and create the interpolation frame, thereby obtaining a more stable effect. In some other embodiments, based on the determined occlusion areas, the FRC apparatus can correctly set the foreground flag to all the foreground blocks in the foreground FG of each original frame. According to the foreground flag, the FRC apparatus can select a foreground block motion vector from a plurality of best vectors of the current block encountering the multi-match as the corrected motion vector of the current block of the interpolation frame. Thereby, the issue of multi-match can be effectively improved.
Although the invention has been described with reference to the above embodiments, it will be apparent to one of the ordinary skill in the art that modifications to the described embodiment may be made without departing from the spirit of the invention. Accordingly, the scope of the invention will be defined by the attached claims not by the above detailed descriptions.
Chen, Chun-Wei, Chang, Hsiao-En, Chou, Cheng-Wei
Patent | Priority | Assignee | Title |
10602177, | Oct 01 2018 | Novatek Microelectronics Corp. | Frame rate up-conversion apparatus and operation method thereof |
11533451, | Aug 21 2020 | BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD | System and method for frame rate up-conversion of video data |
11889227, | Oct 05 2020 | Samsung Electronics Co., Ltd. | Occlusion processing for frame rate conversion using deep learning |
Patent | Priority | Assignee | Title |
5021881, | Apr 27 1989 | Sony Corporation | Motion dependent video signal processing |
20110255004, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Jul 28 2017 | CHOU, CHENG-WEI | Novatek Microelectronics Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043150 | /0181 | |
Jul 28 2017 | CHANG, HSIAO-EN | Novatek Microelectronics Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043150 | /0181 | |
Jul 28 2017 | CHEN, CHUN-WEI | Novatek Microelectronics Corp | ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS | 043150 | /0181 | |
Aug 01 2017 | Novatek Microelectronics Corp. | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Aug 04 2021 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Feb 20 2021 | 4 years fee payment window open |
Aug 20 2021 | 6 months grace period start (w surcharge) |
Feb 20 2022 | patent expiry (for year 4) |
Feb 20 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Feb 20 2025 | 8 years fee payment window open |
Aug 20 2025 | 6 months grace period start (w surcharge) |
Feb 20 2026 | patent expiry (for year 8) |
Feb 20 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Feb 20 2029 | 12 years fee payment window open |
Aug 20 2029 | 6 months grace period start (w surcharge) |
Feb 20 2030 | patent expiry (for year 12) |
Feb 20 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |