Scalable motion estimation
AssigneeMicrosoft Corporation
InventorThomas Holcomb
Life of this patent
Estimating the term…
Abstract
A number of features allow scaling complexity of motion estimation. These features are used alone or in combination with other features. A variable number of search seeds in a downsampled domain are searched in a reference frame dependent upon desirable complexity. A zero motion threshold value eliminates some searches in a downsampled domain. A ratio threshold value reduces the number of search seeds from a downsampled domain that would otherwise be used in an upsampled domain. Seeds searched in an original domain are reduced as required by complexity. Various sub-pixel search configurations are described for varying complexity. These features provide scalable motion estimation for downsampled, original, or sub-pixel search domains.
Claims20
A video encoder adapted to perform a method comprising:
- performing scalable motion estimation according to values for plural scalability parameters, the plural scalability parameters including two or more of:
- a first parameter indicating a seed count, a second parameter indicating a zero motion threshold, a third parameter indicating a fitness ratio threshold, a fourth parameter indicating an integer pixel search point count, or a fifth parameter indicating a sub-pixel search point count.
A method of performing motion estimation in video encoding, the method comprising:
- comparing reduced blocks of video data in a reduced search area of a downsampled reference picture to a specific reduced block in a downsampled predicted picture and identifying a number of candidate blocks in a downsampled domain;
- upsampling indicators for the blocks in the downsampled domain to identify corresponding candidate blocks in an original domain;
- comparing blocks at integer offsets around the candidate blocks in the original domain to a specific block in a predicted picture and identifying a closest candidate block among the blocks at integer offsets, and
- upon identifying the closest candidate block, identifying a next closest candidate block within one pixel adjacency of the closest candidate block;
- and
- determining a sub-pixel search configuration along a gradient between the closest candidate block and the next closest candidate block, wherein the sub-pixel search configuration is based at least in part on the gradient and a scalable motion estimation complexity level indication.
A computer readable medium having instructions stored thereon for performing a method of scalable motion estimation, the method comprising:
- downsampling video data from an original domain to a downsampled domain;
- searching a reduced search area in the downsampled domain in order to identify one or more seeds each representing a candidate blocks in the downsampled domain;
- upsampling the identified one or more seeds to obtain one or more upsampled seeds in the original domain;
- searching one or more blocks at integer pixel offsets in the original domain around the one or more upsampled seeds in order to identify one or more candidate blocks at integer pixel offsets in the original domain;
- determining a gradient between a closest candidate block of the one or more candidate blocks at integer pixel offsets and a second closest candidate block around the closest candidate block;
- interpolating sub-pixel sample values of the video data;
- and
- searching one or more blocks at sub-pixel offsets along the determined gradient in order to determine a closest candidate block among the one or more blocks at the sub-pixel offsets.
Dependencies are inferred from the claim text.