Adaptive motion vector resolution signaling for video coding

US10327008B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10327008-B2
Application numberUS-201113247785-A
CountryUS
Kind codeB2
Filing dateSep 28, 2011
Priority dateOct 13, 2010
Publication dateJun 18, 2019
Grant dateJun 18, 2019

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 be configured to adaptively select a sub-pixel precision for motion vectors used to encode video data. The video encoder may further entropy encode an indication of the sub-pixel precision using context adaptive binary arithmetic coding, where the context may correspond to the size of a block of video data for the motion vector. For example, the size may correspond to the depth of a coding unit, the size of a prediction unit of the coding unit, and/or a type for the prediction unit. The video encoder may also interpolate values for one-sixteenth pixel positions of chrominance data using bilinear interpolation. The video encoder may further encode a motion vector difference value for the motion vector using an encoding scheme corresponding to the sub-pixel precision of the motion vector. A video decoder may use similar, reciprocal techniques for decoding the video data.

First claim

Opening claim text (preview).

The invention claimed is: 1. A method of encoding video data, the method comprising: encoding a prediction unit of a coding unit of video data using a motion vector having one of a first sub-pixel precision or a second, different sub-pixel precision; determining a context for encoding an indication of whether the motion vector has the first sub-pixel precision or the second sub-pixel precision using context adaptive binary arithmetic coding, wherein determining the context comprises determining the context from at least one of a depth of the coding unit or a size of the prediction unit; and entropy encoding the indication using the determined context in accordance with context adaptive binary arithmetic coding. 2. The method of claim 1 , wherein the first sub-pixel precision comprises one-quarter pixel precision, and wherein the second sub-pixel precision comprises one-eighth pixel precision. 3. The method of claim 1 , wherein the coding unit has a size of 2N×2N pixels, and wherein the type for the prediction unit corresponds to the prediction unit having a size of one of 2N×2N pixels, 2N×N pixels, N×2N pixels, and N×N pixels, wherein N is an integer value greater than zero. 4. The method of claim 1 , wherein encoding the prediction unit comprises calculating the motion vector for luminance data of the coding unit, the luminance data corresponding to the prediction unit, and wherein the motion vector has one-eighth pixel precision for the luminance data, the method further comprising: calculating, using bilinear interpolation, values of one-sixteenth pixel positions of chrominance data of a reference block identified by the motion vector; and encoding chrominance data of the coding unit based on the bilinear interpolated values of the reference block. 5. The method of claim 1 , wherein the prediction unit comprises a first prediction unit, the method further comprising: calculating a first motion vector difference value when encoding the first prediction unit, the first motion vector difference value having the first sub-pixel precision; encoding the first motion vector difference value using a first motion vector difference encoding scheme, wherein the first motion vector difference encoding scheme is associated with the first sub-pixel precision; calculating a second motion vector difference value when encoding a second prediction unit of the video data, the second motion vector difference value having the second sub-pixel precision; and encoding the second motion vector difference value using a second motion vector difference encoding scheme, wherein the second motion vector difference encoding scheme is associated with the second sub-pixel precision. 6. The method of claim 5 , wherein encoding the first motion vector difference value using the first motion vector difference encoding scheme comprises: comparing the first motion vector difference value to a first threshold value defined by the first encoding scheme: encoding the first motion vector difference value using a first unary codeword when the first motion vector difference value is less than the first threshold; and encoding the first motion vector difference value using a first golomb codeword when the first motion vector difference value is greater than or equal to the first threshold, and wherein encoding the second motion vector difference value using the second motion vector difference encoding scheme comprises: comparing the second motion vector difference value to a second threshold value defined by the second encoding scheme; encoding the second motion vector difference value using a second unary codeword when the second motion vector difference value is less than the second threshold; and encoding the second motion vector difference value using u second golomb codeword when the second motion vector difference value is greater than or equal to the second threshold. 7. The method of claim 5 , wherein the first motion vector difference encoding scheme is associated with one-quarter pixel precision, and wherein the second motion vector difference encoding scheme is associated with one-eighth pixel precision. 8. The method of claim 5 , wherein encoding the first motion vector difference value using the first motion vector difference encoding scheme comprises selecting a first context model to use to entropy encode the first motion vector difference value, wherein the first context model is associated with the first sub-pixel precision, and wherein encoding the second motion vector difference value using the second motion vector difference encoding scheme comprises selecting a second context model to use to entropy encode the second motion vector difference value, wherein the second context model is associated with the second sub-pixel precision. 9. An apparatus for encoding video data, the apparatus comprising: a memory configured to store video data; and a video encoder configured to: encode a prediction unit of a coding unit of the video data using a motion vector having one of a first sub-pixel precision or a second, different sub-pixel precision, determine a context for encoding an indication of whether the motion vector has the first sub-pixel precision or the second sub-pixel precision using context adaptive binary arithmetic coding, wherein the video encoder is configured to determine the context from at least one of a depth of the coding unit or a size of the prediction unit, and entropy encode the indication using the determined context in accordance with context adaptive binary arithmetic coding. 10. The apparatus of claim 9 , wherein the video encoder is configured to calculate the motion vector for luminance data of the coding unit, the luminance data corresponding to the prediction unit, and wherein the motion vector has one-eighth pixel precision for the luminance data, and wherein the video encoder is configured to calculate, using bilinear interpolation, values of one-sixteenth pixel positions of chrominance data of a reference block identified by the motion vector, and encode chrominance data of the coding unit based on the bilinear interpolated values of the reference block. 11. The apparatus of claim 9 , wherein the prediction unit comprises a first prediction unit, and wherein the video encoder is configured to calculate a first motion vector difference value when encoding the first prediction unit, the first motion vector difference value having the first sub-pixel precision, encode the first motion vector difference value using a first motion vector difference encoding scheme, wherein the first motion vector difference encoding scheme is associated with the first sub-pixel precision, calculate a second motion vector difference value when encoding a second prediction unit of the video data, the second motion vector difference value having the second sub-pixel precision, and encode the second motion vector difference value using a second motion vector difference encoding scheme, wherein the second motion vector difference encoding scheme is associated with the second sub-pixel precision. 12. The apparatus of claim 11 , wherein to encode the first motion vector difference value using the first motion vector difference encoding scheme, the video encoder is configured to compare the first motion vector difference value to a first threshold value defined by the first encoding scheme, encode the first motion vector difference value using a first unary codeword when the first motion vector difference value is less than the first threshold, and encode the first motion vector difference value using a first golomb codeword when the first motion vector difference value is greater

Assignees

Inventors

Classifications

  • Adaptive entropy coding, e.g. adaptive variable length coding [AVLC] or context adaptive binary arithmetic coding [CABAC] · CPC title

  • the region being a block, e.g. a macroblock · CPC title

  • by compressing encoding parameters before transmission · CPC title

  • Entropy coding, e.g. variable length coding [VLC] or arithmetic coding · CPC title

  • Analysis of motion vectors, e.g. their magnitude, direction, variance or reliability · 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 US10327008B2 cover?
A video encoder may be configured to adaptively select a sub-pixel precision for motion vectors used to encode video data. The video encoder may further entropy encode an indication of the sub-pixel precision using context adaptive binary arithmetic coding, where the context may correspond to the size of a block of video data for the motion vector. For example, the size may correspond to the de…
Who is the assignee on this patent?
Chien Wei Jung, Chen Peisong, Karczewicz Marta, and 1 more
What technology area does this patent fall under?
Primary CPC classification H04N19/523. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jun 18 2019 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).