System and method for motion compensation using a set of candidate motion vectors obtained from digital video
First Claim
Patent Images
1. A method of video frame interpolation, comprising:
- receiving first motion data based on a first video frame and a second video frame;
receiving second motion data based on the second video frame and a third video frame;
estimating a block of an interpolated frame based on the second motion data and the first motion data with the interpolated frame between the second video frame and the third video frame;
selecting a motion vector of the first motion data associated with a portion of the first video frame corresponding to the block to be estimated;
calculating a specified confidence value based on a time associated with the interpolated frame and a time associated with the third video frame; and
wherein;
estimating the block comprises selectively using the second motion data based on the first motion and selecting motion vectors from the second motion data, and estimating the block based on a weighted average of the motion vectors, and the weighted average is weighted;
based on at least one motion vector of the first motion data,based at least in part on a difference between each of the motion vectors and the motion vector of the first motion data, andbased at least in part on the specified confidence value; and
calculating the specified confidence value includes calculating the specified confidence value based at least in part on (α
−
α
adj)/α
, wherein α
is the time associated with the third video frame and wherein α
adj is the time associated with the interpolated frame.
1 Assignment
0 Petitions
Accused Products
Abstract
Embodiments include systems and methods for interpolating frames. In one embodiment, a system and method provides reduced halo and consequently a higher degree of accuracy/fidelity. In one embodiment, a method of video frame interpolation includes receiving first motion data based on a first video frame and a second video frame, receiving second motion data based on the second video frame and a third video frame, and estimating a block of an interpolated frame based on the second motion data and the first motion data. In one embodiment, the estimating comprises selectively using the second motion data based on the first motion data.
19 Citations
13 Claims
-
1. A method of video frame interpolation, comprising:
-
receiving first motion data based on a first video frame and a second video frame; receiving second motion data based on the second video frame and a third video frame; estimating a block of an interpolated frame based on the second motion data and the first motion data with the interpolated frame between the second video frame and the third video frame; selecting a motion vector of the first motion data associated with a portion of the first video frame corresponding to the block to be estimated; calculating a specified confidence value based on a time associated with the interpolated frame and a time associated with the third video frame; and wherein; estimating the block comprises selectively using the second motion data based on the first motion and selecting motion vectors from the second motion data, and estimating the block based on a weighted average of the motion vectors, and the weighted average is weighted; based on at least one motion vector of the first motion data, based at least in part on a difference between each of the motion vectors and the motion vector of the first motion data, and based at least in part on the specified confidence value; and calculating the specified confidence value includes calculating the specified confidence value based at least in part on (α
−
α
adj)/α
, wherein α
is the time associated with the third video frame and wherein α
adj is the time associated with the interpolated frame.- View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A system for video frame interpolation, comprising:
-
a memory configured to store first motion data based on a first video frame and a second video frame and second motion data based on the second video frame and a third video frame; and at least one processor configured to; estimate a block of an interpolated frame based on selective use of the second motion data based on the first motion data and the interpolated frame is between the second video frame and the third video frame, select a motion vector of the first motion data associated with a portion of the first video frame corresponding to the block to be estimated, select motion vectors from the second motion data, and estimate the block based on a weighted average of the motion vectors, and the weighted average is weighted; based on at least one motion vector of the first motion data, based at least in part on a difference between each of the selected motion vectors and the motion vector of the first motion data, and based at least in part on a specified confidence value, calculate the specified confidence value based on a time associated with the interpolated frame and a time associated with the third video frame, and calculate the specified confidence value based at least in part on (α
−
α
adj)/α
, wherein a is the time associated with the third video frame and wherein α
adj is the time associated with the interpolated frame. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
Specification