Sub-pixel interpolation in motion estimation and compensation
AssigneeMicrosoft Corporation
InventorSridhar Srinivasan
Life of this patent
Estimating the term…
Abstract
Various techniques and tools for motion estimation and compensation (e.g., in a video encoder/decoder) are described. For example, a video encoder or decoder computes a pixel value at a sub-pixel sample position using intermediate pixel values having a dynamic range (in bits) greater than the final value (e.g., 16-bit intermediate values and 8-bit output values). The encoder or decoder may at least partially defer shifting from a first stage to a second stage or skip clamping in a first or other intermediate stage of the multi-stage interpolation.
Claims41
In a computer system, a computer-implemented method comprising:
- computing a final value at a particular sub-sample position based at least in part upon one or more intermediate values at one or more proximate sub-sample positions, wherein the final value has a final dynamic range of x bits, and wherein the one or more intermediate values have an intermediate dynamic range of y bits, and wherein y is greater than x.
In a computer system, a computer-implemented method of exploiting temporal redundancy between plural video frames, the method comprising:
- computing a final pixel value at a fractional pixel position in a reference video frame of the plural video frames using multiple stages of interpolation, wherein the multiple stages include at least a first stage and a last stage, wherein the computing includes skipping of clamping of one or more intermediate pixel values during the first stage, and wherein the computing further includes clamping of the final pixel value at the fractional pixel position in the reference video frame during the last stage.
In a computer system, a computer-implemented method comprising:
- at a particular fractional sample position, computing a value using multiple stages of interpolation, wherein the computing includes deferring bit shifting from a first stage of the multiple stages to a second stage of the multiple stages to increase accuracy of the value.
A system comprising:
- means for computing plural intermediate pixel values at intermediate sub-pixel positions in a reference video frame, wherein each of the plural intermediate pixel values is computed by interpolating along a first dimension between plural integer-pixel values at integer-pixel positions in the reference video frame;
- means for computing a final pixel value at a final sub-pixel position in the reference video frame by interpolating along a second dimension between the plural intermediate pixel values at intermediate sub-pixel positions, wherein the final pixel value has a final dynamic range of x bits, and wherein each of the plural intermediate pixel values has an intermediate dynamic range of more than x bits.
Dependencies are inferred from the claim text.