Methods and apparatus for adaptively choosing a search range for motion estimation
First Claim
1. A method, comprising:
- determining a set of motion vectors related to blocks associated with a current block;
calculating a mean value (mv) of the related motion vectors; and
calculating a search range vector SR, according to a formula
SR=(α
*mv)+β
where α
is a predetermined constant scalar and β
is a predetermined constant vector, SR bounds a motion search in performance of motion estimation for the current block, α
=1.1, β
=(4,
4), and said determination, my calculation, and SR calculation are performed by a processor.
2 Assignments
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.
62 Citations
26 Claims
-
1. A method, comprising:
-
determining a set of motion vectors related to blocks associated with a current block; calculating a mean value (mv) of the related motion vectors; and calculating a search range vector SR, according to a formula
SR=(α
*mv)+βwhere α
is a predetermined constant scalar and β
is a predetermined constant vector, SR bounds a motion search in performance of motion estimation for the current block, α
=1.1, β
=(4,
4), and said determination, my calculation, and SR calculation are performed by a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system, comprising:
-
a processor; and a memory in communication with said processor, for storing a plurality of processing instructions for directing said processor to determine a set of motion vectors related to blocks associated with a current block; calculate a mean value (mv) of the related motion vectors; and calculate a search range vector SR, according to a formula
SR=(α
*mv)+βwhere α
is a predetermined constant scalar, β
is a predetermined constant vector, α
=1.1, β
=(4,
4), and SR is used to bound a motion search in performance of motion estimation for the current block. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16, 17, 18)
-
-
19. A computer program product including a non-transitory computer readable medium having computer program logic stored therein, the computer program logic comprising:
-
logic to cause a processor to determine a set of motion vectors related to blocks associated with a current block; logic to further cause the processor to calculate a mean value (mv) of the related motion vectors; and logic to further cause the processor to calculate a search range vector SR, according to a formula
SR=(α
*mv)+βwhere α
is a predetermined constant scalar, β
is a predetermined constant vector, α
=1.1, β
=(4,
4), and SR bounds a motion search in performance of motion estimation for the current block. - View Dependent Claims (20, 21, 22, 23, 24, 25, 26)
-
Specification