Chroma motion vector derivation
AssigneeMicrosoft Corporation
InventorsKunal Mukerjee, Pohsiang Hsu
Life of this patent
Estimating the term…
Abstract
A decoder receives luma motion vector information for plural luma motion vectors for a macroblock (e.g., a 4:2:0 macroblock). The decoder derives a chroma motion vector for each of the plural luma motion vectors by performing at least one calculation on the luma motion vector information, maintaining a 1:1 ratio of chroma motion vectors to luma motion vectors for the macroblock. For example, the decoder receives four luma (frame or field) motion vectors for a macroblock and derives four chroma motion vectors for the macroblock. The deriving can comprise sub-sampling and/or rounding (e.g., using a field-based rounding table).
Claims22
In a video encoder, a method comprising:
- encoding video data, wherein the encoding includes:
- receiving luma motion vector information for more than two luma motion vectors for one macroblock, each of the more than two luma motion vectors associated with at least part of the macroblock;
- and
- deriving a chroma motion vector associated with at least part of the macroblock for each of the more than two luma motion vectors, the deriving comprising performing at least one calculation involving a field-based rounding table on the luma motion vector information, wherein the at least one calculation comprises rounding at least a portion of the luma motion vector information using the field-based rounding table;
- and
- outputting the encoded video data in a bitstream.
In a video decoder, a method comprising:
- receiving luma motion vector information for one or more luma motion vectors, each of the one or more luma motion vectors associated with at least part of a macroblock in an interlaced P-frame;
- and
- deriving a chroma motion vector associated with at least part of the macroblock for each of the one or more luma motion vectors, the deriving based at least in part on the motion vector information for the one or more luma motion vectors, wherein the deriving comprises applying a field-based rounding lookup table to at least a portion of the luma motion vector information;
- wherein the video decoder is operable to decode macroblocks predicted using four luma field motion vectors in an interlaced P-frame.
A computer-readable storage medium storing computer-executable instructions for causing a computer to perform a method comprising:
- receiving luma motion vector information for one or more luma field motion vectors, each of the one or more luma field motion vectors associated with at least part of a macroblock in an interlaced frame coded picture;
- and
- deriving a chroma motion vector associated with at least part of the macroblock for each of the one or more luma field motion vectors, the deriving based at least in part on the motion vector information for the one or more luma field motion vectors, the deriving the chroma motion vector comprising:
- rounding a luma field motion vector component using a field-based rounding table;
- and
- sub-sampling the luma field motion vector component.
In a video decoder, a method of decoding encoded video data comprising:
- receiving luma motion vector information for one or more luma field motion vectors, each of the one or more luma field motion vectors associated with at least part of a macroblock in an interlaced frame coded picture;
- and
- deriving a chroma motion vector associated with at least part of the macroblock for each of the one or more luma field motion vectors, the deriving based at least in part on the motion vector information for the one or more luma field motion vectors, the deriving the chroma motion vector comprising:
- rounding a luma field motion vector component using a field-based rounding table;
- and
- sub-sampling the luma field motion vector component.
In a video decoder, a method of decoding encoded video data comprising:
- receiving luma motion vector information for one or more luma motion vectors, each of the one or more luma motion vectors associated with at least part of a macroblock in an interlaced frame coded picture;
- and
- for each of the one or more luma motion vectors, deriving a chroma motion vector based at least in part on the luma motion vector information for the luma motion vector, wherein the deriving the chroma motion vector comprises:
- rounding a horizontal component of the chroma motion vector using a first rounding table;
- determining if the luma motion vector is a luma field motion vector;
- if the luma motion vector is a luma field motion vector, rounding a vertical component of the chroma motion vector using a second rounding table different than the first rounding table, wherein the second rounding table is a field-based rounding table;
- and
- otherwise, rounding the vertical component of the chroma motion vector using the first rounding table.
Dependencies are inferred from the claim text.