Adaptive motion resolution for video coding

US9237355B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9237355-B2
Application numberUS-94517010-A
CountryUS
Kind codeB2
Filing dateNov 12, 2010
Priority dateFeb 19, 2010
Publication dateJan 12, 2016
Grant dateJan 12, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A video encoder may encode video data by adaptively selecting between one-eighth-pixel and one-quarter-pixel precision motion vectors, and signal the selected precision. In one example, an apparatus includes a video encoder to encode a block of video data using a one-eighth-pixel precision motion vector when use of the one-eighth-pixel precision motion vector is determined to be preferable for the block over a one-quarter-pixel precision motion vector, and to generate a signal value indicative of the use of the one-eighth-pixel precision motion vector for the block, and an output interface to output the encoded block and the signal value. A video decoder may be configured to receive the signal value and the encoded block, analyze the signal value to determine whether the block was encoded using one-eighth-pixel precision or one-quarter-pixel precision, and decode the block based on the determination.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of encoding video data, the method comprising: encoding a block of video data relative to a portion of a reference frame using a first precision motion vector when use of the first precision motion vector is determined to be preferable for the block over the use of a second precision motion vector; determining an encoding context for the block based, at least in part, on whether neighboring blocks to the block are encoded using motion vectors having the same sub-integer precision of the first precision motion vector or the second precision motion vector; generating, based on selecting a variable length code, a signal value indicative of both the use of the first precision motion vector for the block and a reference frame index value that identifies the reference frame, the variable length code being selected from a set of codes corresponding to the determined encoding context, a length of the selected code being shorter than a length of another code in the set of codes that is indicative of the use of the second precision motion vector with respect to the reference frame, and the use of the first precision motion vector being determined to be preferable for the block based, at least in part, on whether the reference frame is a latest reference frame from a list of reference frames as indicated by the reference frame index value; and outputting the encoded block and the signal value. 2. The method of claim 1 , wherein generating the signal value comprises setting a value for a flag associated with the block to indicate the use of the first precision motion vector. 3. The method of claim 1 , wherein the block comprises a partition of a macroblock, and wherein generating the signal value comprises setting a value for a flag associated with the macroblock to indicate the use of the first precision motion vector, the method further comprising encoding each of the partitions of the macroblock using a respective motion vector having the same sub-integer pixel precision as the first precision motion vector when the flag indicates the use of the first precision motion vector for the block. 4. The method of claim 1 , wherein encoding the block comprises: calculating the first precision motion vector for the block; and calculating a motion vector difference value comprising a difference between the first precision motion vector and a motion predictor for the block. 5. The method of claim 4 , wherein calculating the motion vector difference value comprises: quantizing the motion predictor to have the same sub-integer pixel precision as the first precision motion vector; and calculating the difference between the first precision motion vector for the block and the quantized motion predictor. 6. An apparatus for encoding video data, the apparatus comprising: a video encoder configured to: encode a block of video data relative to a portion of a reference frame using a first precision motion vector when use of the first precision motion vector is determined to be preferable for the block over the use of a second precision motion vector, determine an encoding context for the block based, at least in part, on whether neighboring blocks to the block are encoded using motion vectors having the same sub-integer pixel precision as the first precision motion vector or the second precision motion vector, generate, based on selecting a variable length code, a signal value indicative of both the use of the first precision motion vector for the block and a reference frame index value that identifies the reference frame, the variable length code being selected from a set of codes corresponding to the determined encoded context, a length of the selected code being shorter that a length of another code in the set of codes that is indicative of the use of the second precision motion vector with respect to the reference frame, and the use of the first precision motion vector being determined to be preferable for the block based, at least in part, on whether the reference frame is a latest reference frame from a list of reference frames as indicated by the reference frame index value; and a transmitter configured to output the encoded block and the signal value. 7. The apparatus of claim 6 , wherein to generate the signal value, the video encoder is configured to set a value for a flag associated with the block to indicate the use of the first precision motion vector. 8. The apparatus of claim 6 , wherein the block comprises a partition of a macroblock, and wherein to generate the signal value, the video encoder is configured to set a value for a flag associated with the macroblock to indicate the use of the first precision motion vector, and wherein the video encoder is configured to encode each of the partitions of the macroblock using a respective motion vector having the same sub-integer pixel precision as the first precision motion vector when the flag indicates the use of the first precision motion vector for the block. 9. An apparatus for encoding video data, the apparatus comprising: means for encoding a block of video data relative to a portion of a reference frame using a first precision motion vector when use of the first precision motion vector is determined to be preferable for the block over the use of a second precision motion vector; means for determining an encoding context for the block based on whether neighboring blocks to the block are encoded using motion vectors having the same sub-integer pixel precision as the first precision motion vector or the second precision motion vector; means for generating, based on selecting a variable length code, a signal value indicative of both the use of the first precision motion vector for the block and a reference frame index value that identifies the reference frame, the variable length code being selected from a set of codes corresponding to the determined encoded context, and the use of the first precision motion vector being determined to be preferable for the block based, at least in part, on whether the reference frame is a latest reference frame from a list of reference frames as indicated by the reference frame index value; and means for outputting the encoded block and the signal value. 10. The apparatus of claim 9 , wherein the block comprises a partition of a macroblock, wherein the means for generating the signal value comprises means for setting a value for a flag associated with the macroblock to indicate the use of the first precision motion vector, and wherein the means for encoding the block further comprises means for encoding each of the partitions of the macroblock using a respective motion vector having the same sub-integer pixel precision as the first precision motion vector when the flag indicates the use of the first precision motion vector for the block. 11. The apparatus of claim 9 , wherein the means for encoding the block comprises: means for calculating the first precision motion vector for the block; and means for calculating a motion vector difference value comprising a difference between the first precision motion vector and a motion predictor for the block. 12. The apparatus of claim 11 , wherein the means for calculating the motion vector difference value comprises: means for quantizing the motion predictor to have the same sub-integer pixel precision as the first precision motion vector; and means for calculating the difference between the first precision motion vector for the block and the quantized motion predictor. 13. A non-transitory computer-readable storage medium comprising instructions that, when executed, cause a processor to: encod

Assignees

Inventors

Classifications

  • in combination with predictive coding · CPC title

  • Embedding additional information in the video signal during the compression process (H04N19/517, H04N19/68, H04N19/70 take precedence) · CPC title

  • H04N19/58Primary

    Motion compensation with long-term prediction, i.e. the reference frame for a current frame not being the temporally closest one (H04N19/23 takes precedence) · CPC title

  • characterised by the element, parameter or selection affected or controlled by the adaptive coding · CPC title

  • with sub-pixel accuracy · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9237355B2 cover?
A video encoder may encode video data by adaptively selecting between one-eighth-pixel and one-quarter-pixel precision motion vectors, and signal the selected precision. In one example, an apparatus includes a video encoder to encode a block of video data using a one-eighth-pixel precision motion vector when use of the one-eighth-pixel precision motion vector is determined to be preferable for …
Who is the assignee on this patent?
Chien Wei-Jung, Karczewicz Marta, Chen Peisong, and 1 more
What technology area does this patent fall under?
Primary CPC classification H04N19/58. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 12 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).