METHODS AND SYSTEMS TO ESTIMATE MOTION BASED ON RECONSTRUCTED REFERENCE FRAMES AT A VIDEO DECODER
First Claim
1. A method, comprising:
- specifying, at a video decoder, a search window in a first forward reference frame;
specifying a search path in the search window of the first forward reference frame;
for each motion vector MV0 in the search path, where each MV0 points from a current block to a reference block in the search window, determining a corresponding second motion vector MV1 that points to a reference block in a second reference frame, where the corresponding second motion vector MV1 is a function of MV0;
calculating a metric for each pair of MV0 and MV1 that is found in the search path; and
selecting the MV0 whose corresponding value for the metric is closest to an optimal value for the metric, where the selected MV0 is used as a motion vector for the current block.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems to apply motion estimation (ME) based on reconstructed reference pictures in a B frame or in a P frame at a video decoder. For a P frame, projective ME may be performed to obtain a motion vector (MV) for a current input block. In a B frame, both projective ME and mirror ME may be performed to obtain an MV for the current input block. The ME process can be performed on sub-partitions of the input block, which may reduce the prediction error without increasing the amount of MV information in the bitstream. Decoder-side ME can be applied for the prediction of existing inter frame coding modes, and traditional ME or the decoder-side ME can be adaptively selected to predict a coding mode based on a rate distribution optimization (RDO) criterion.
-
Citations
20 Claims
-
1. A method, comprising:
-
specifying, at a video decoder, a search window in a first forward reference frame; specifying a search path in the search window of the first forward reference frame; for each motion vector MV0 in the search path, where each MV0 points from a current block to a reference block in the search window, determining a corresponding second motion vector MV1 that points to a reference block in a second reference frame, where the corresponding second motion vector MV1 is a function of MV0; calculating a metric for each pair of MV0 and MV1 that is found in the search path; and selecting the MV0 whose corresponding value for the metric is closest to an optimal value for the metric, where the selected MV0 is used as a motion vector for the current block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 15, 19)
-
-
10. A computer program product including a computer readable medium having computer program logic stored therein, the computer program logic including:
motion estimation logic to cause a processor to determine a motion vector MV1 for each motion vector MV0 that is found in a search path in a search window of a first forward reference frame, where each MV0 points from a current block to a reference block in the search window, and where the MV1 is a function of the MV0; further cause the processor to calculate a metric for each pair of MV0 and MV1; and further cause the processor to select the MV0 whose corresponding value for the metric is closest to an optimal value for the metric, where the selected MV0 is used as a motion vector for the current block. - View Dependent Claims (11, 12, 13, 14)
-
16. A system, comprising:
-
a processor; and a memory in communication with said processor, said memory for storing a plurality of processing instructions for directing said processor to specify, at a video decoder, a search window in a first forward reference frame; specify a search path in a search window of the first forward reference frame; for each motion vector MV0 in the search path, where each MV0 points from a current block to a reference block in the search window, determine a corresponding second motion vector MV1 that points to a reference block in a second reference frame, where the corresponding second motion vector MV1 is a function of MV0; calculate a metric for each pair of MV0 and MV1 that is found in the search path; and select the MV0 whose corresponding value for the metric is closest to an optimal value for the metric, where the selected MV0 is used as a motion vector for the current block. - View Dependent Claims (17, 18, 20)
-
Specification