Methods and apparatus for adaptively choosing a search range for motion estimation
First Claim
1. A machine-implemented method, comprising:
- computing a motion estimation search window for a first block of a first frame of a video based on a mean of motion vectors associated with other blocks of the video;
selecting a second block of a second frame of the video within the motion estimation search window and a third block within a third frame of the video based on a motion vector from the first block to the second block and a measure of visual similarity between the second and third blocks; and
deriving a motion vector for the first block based on one or more of the motion vector from the first block to the second block and a motion vector from the first block to the third block.
1 Assignment
0 Petitions
Accused Products
Abstract
Systems, methods, and computer program products that can be used to determine a search range (SR) when performing motion estimation at, for example, a video encoder or decoder. Determining a motion vector for a current block during motion estimation may involve searching within a search window that may reside in a reference frame, or in a previously decoded block that spatially or temporally neighbors the current block. Such a search seeks a motion vector that minimizes a metric, such as a sum of absolute differences between corresponding blocks of reference frames. A motion vector that minimizes such a metric may be a good candidate for use in motion estimation. The search may become more efficient if a search range is determined such that the extent of the search is bounded. A search range may be determined at the block level or at the picture level.
-
Citations
24 Claims
-
1. A machine-implemented method, comprising:
-
computing a motion estimation search window for a first block of a first frame of a video based on a mean of motion vectors associated with other blocks of the video; selecting a second block of a second frame of the video within the motion estimation search window and a third block within a third frame of the video based on a motion vector from the first block to the second block and a measure of visual similarity between the second and third blocks; and deriving a motion vector for the first block based on one or more of the motion vector from the first block to the second block and a motion vector from the first block to the third block. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. An apparatus, comprising a processor and memory configured to:
-
compute a motion estimation search window for a first block of a first frame of a video based on a mean of motion vectors associated with other blocks of the video; select a second block of a second frame of the video within the motion estimation search window and a third block within a third frame of the video based on a motion vector from the first block to the second block and a measure of visual similarity between the second and third blocks; and deriving a motion vector for the first block based on one or more of the motion vector from the first block to the second block and a motion vector from the first block to the third block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A non-transitory computer readable medium encoded with a computer program that includes instructions to cause a processor to:
-
compute a motion estimation search window for a first block of a first frame of a video based on a mean of motion vectors associated with other blocks of the video; select a second block of a second frame of the video within the motion estimation search window and a third block within a third frame of the video based on a motion vector from the first block to the second block and a measure of visual similarity between the second and third blocks; and deriving a motion vector for the first block based on one or more of the motion vector from the first block to the second block and a motion vector from the first block to the third block. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification