Techniques for motion estimation
First Claim
1. A computer-implemented method comprising:
- specifying, at a video decoder, a search window in a first reference frame;
specifying a search path in the search window of the first 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;
determining a metric for each pair of MV0 and MV1 that is found in the search path, wherein the metric comprises a combination of a first, second, and third metrics and wherein the first metric is based on temporal frame correlation, a second metric based on spatial neighbors of the reference blocks, and a third metric based on the spatial neighbors of the current block;
selecting the MV0 whose corresponding value for the metric is a desirable value, where the selected MV0 is used as a motion vector for the current block; and
providing a picture for display, wherein the picture for display is based in part on the selected MV0.
2 Assignments
0 Petitions
Accused Products
Abstract
Techniques are described that can be used 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. A metric an be used determining a metric for each pair of MV0 and MV1 that is found in the search path, where the metric is based on a combination of a first, second, and third metrics. The first metric is based on temporal frame correlation, a second metric is based on spatial neighbors of the reference blocks, and a third metric is based on the spatial neighbors of the current block.
63 Citations
20 Claims
-
1. A computer-implemented method comprising:
-
specifying, at a video decoder, a search window in a first reference frame; specifying a search path in the search window of the first 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; determining a metric for each pair of MV0 and MV1 that is found in the search path, wherein the metric comprises a combination of a first, second, and third metrics and wherein the first metric is based on temporal frame correlation, a second metric based on spatial neighbors of the reference blocks, and a third metric based on the spatial neighbors of the current block; selecting the MV0 whose corresponding value for the metric is a desirable value, where the selected MV0 is used as a motion vector for the current block; and providing a picture for display, wherein the picture for display is based in part on the selected MV0. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A video decoder comprising:
-
logic to determine each motion vector MV0 in a search path, where each MV0 points from a current block to a reference block in a search window, logic to 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; logic to determine a metric for each pair of MV0 and MV1 that is found in the search path, wherein the metric comprises a combination of a first, second, and third metrics and wherein the first metric is based on temporal frame correlation, a second metric based on spatial neighbors of the reference blocks, and a third metric based on the spatial neighbors of the current block; and logic to select the MV0 whose corresponding value for the metric is a desirable value, where the selected MV0 is used as a motion vector for the current block. - View Dependent Claims (11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
a display; a memory; and a processor communicatively coupled to the display, the processor configured to; determine each motion vector MV0 in a search path, where each MV0 points from a current block to a reference block in a 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, determine a metric for each pair of MV0 and MV1 that is found in the search path, wherein the metric comprises a combination of a first, second, and third metrics and wherein the first metric is based on temporal frame correlation, a second metric based on spatial neighbors of the reference blocks, and a third metric based on the spatial neighbors of the current block, and select the MV0 whose corresponding value for the metric is a desirable value, where the selected MV0 is used as a motion vector for the current block. - View Dependent Claims (18, 19, 20)
-
Specification