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, 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.
99 Citations
29 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, and said determination, my calculation, and SR calculation are performed by a processor. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. 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 and β
is a predetermined constant vectors, andSR is used to bound a motion search in performance of motion estimation for the current block. - View Dependent Claims (11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A computer program product including a 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 and β
is a predetermined constant vectors, andSR bounds a motion search in performance of motion estimation for the current block. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29)
-
Specification