Method of Adaptive Motion Vector Resolution for Video Coding
US-2017295370-A1 · Oct 12, 2017 · US
US2016337662A1 · US · A1
| Field | Value |
|---|---|
| Publication number | US-2016337662-A1 |
| Application number | US-201615151429-A |
| Country | US |
| Kind code | A1 |
| Filing date | May 10, 2016 |
| Priority date | May 11, 2015 |
| Publication date | Nov 17, 2016 |
| Grant date | — |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
An example method of decoding video data includes obtaining, from a video bitstream, a representation of a difference between a motion vector (MV) predictor and a MV that identifies a predictor block for a current block of video data in a current picture; obtaining, from the video bitstream, a syntax element indicating whether adaptive motion vector resolution (AMVR) is used for the current block; determining, based on the representation of the difference between the MV predictor and the MV that identifies the predictor block, a value of the MV; storing the value of the MV at fractional-pixel resolution regardless of whether AMVR is used for the current block and regardless of whether the predictor block is included in the current picture; determining, based on the value of the stored MV, pixel values of the predictor block; and reconstructing the current block based on the pixel values of the predictor block.
Opening claim text (preview).
What is claimed is: 1 . A method of decoding video data, the method comprising: obtaining, from a coded video bitstream, a representation of a difference between a motion vector predictor and a motion vector that identifies a predictor block for a current block of video data in a current picture; obtaining, from the coded video bitstream, a syntax element that indicates whether adaptive motion vector resolution is used for the current block of video data; determining, based on the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block, a value of the motion vector; storing the value of the motion vector at fractional-pixel resolution regardless of whether adaptive motion vector resolution is used for the current block of video data and regardless of whether the predictor block is included in the current picture; determining, based on the value of the stored motion vector, pixel values of the predictor block; and reconstructing the current block based on the pixel values of the predictor block. 2 . The method of claim 1 , wherein determining the pixel values of the predictor block based on the value of the motion vector comprises: identifying, without scaling the value of the stored motion vector and regardless of whether the predictor block is included in the current picture, the predictor block. 3 . The method of claim 2 , wherein, where the syntax element indicates that adaptive motion vector resolution is used for the current block of video data or the predictor block is included in the current picture, and wherein determining the value of the motion vector comprises: right-shifting the motion vector predictor by N; and left-shifting the sum of the right-shifted motion vector predictor and the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block by N. 4 . The method of claim 3 , wherein N is two. 5 . The method of claim 3 , wherein, where the syntax element indicates that adaptive motion vector resolution is not used for the current block of video data and the predictor block is not included in the current picture, and wherein determining the value of the motion vector comprises: adding the motion vector predictor to the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block. 6 . The method of claim 1 , wherein storing the value of the motion vector at fractional-pixel resolution comprises storing the value of the motion vector at quarter-pixel resolution regardless of whether adaptive motion vector resolution is used for the current block of video data and regardless of whether the predictor block is included in the current picture. 7 . A method of encoding video data, the method comprising: selecting a predictor block for a current block of video data in a current picture of video data; determining a value of a motion vector that identifies the selected predictor block for the current block; encoding, in a coded video bitstream, a representation of a difference between a motion vector predictor and the value of the motion vector; encoding, in the coded video bitstream, a syntax element that indicates whether adaptive motion vector resolution is used for the current block of video data; storing the value of the motion vector at fractional-pixel resolution regardless of whether adaptive motion vector resolution is used for the current block of video data and regardless of whether the predictor block is included in the current picture; determining, based on the value of the stored motion vector, pixel values of the predictor block; and reconstructing the current block based on the pixel values of the predictor block. 8 . The method of claim 7 , wherein determining the pixel values of the predictor block based on the value of the motion vector comprises: identifying, without scaling the value of the stored motion vector and regardless of whether the predictor block is included in the current picture, the predictor block. 9 . The method of claim 8 , wherein, where adaptive motion vector resolution is used for the current block of video data or the predictor block is included in the current picture, and wherein determining the value of the motion vector comprises: right-shifting the motion vector predictor by N; and left-shifting the sum of the right-shifted motion vector predictor and the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block by N. 10 . The method of claim 9 , wherein N is two. 11 . The method of claim 9 , wherein, where adaptive motion vector resolution is not used for the current block of video data and the predictor block is not included in the current picture, and wherein determining the value of the motion vector comprises: adding the motion vector predictor to the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block. 12 . The method of claim 7 , wherein storing the value of the motion vector at fractional-pixel resolution comprises storing the value of the motion vector at quarter-pixel resolution regardless of whether adaptive motion vector resolution is used for the current block of video data and regardless of whether the predictor block is included in the current picture. 13 . A device for decoding video data, the device comprising: a memory configured to store a portion of the video data; and one or more processors configured to: obtain, from a coded video bitstream, a representation of a difference between a motion vector predictor and a motion vector that identifies a predictor block for a current block of video data in a current picture; obtain, from the coded video bitstream, a syntax element that indicates whether adaptive motion vector resolution is used for the current block of video data; determine, based on the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block, a value of the motion vector; store the value of the motion vector at fractional-pixel resolution regardless of whether adaptive motion vector resolution is used for the current block of video data and regardless of whether the predictor block is included in the current picture; determine, based on the value of the stored motion vector, pixel values of the predictor block; and reconstruct the current block based on the pixel values of the predictor block. 14 . The device of claim 13 , wherein, to determine the pixel values of the predictor block based on the value of the motion vector, the one or more processors are configured to: identify, without scaling the value of the stored motion vector and regardless of whether the predictor block is included in the current picture, the predictor block. 15 . The device of claim 14 , wherein, where the syntax element indicates that adaptive motion vector resolution is used for the current block of video data or the predictor block is included in the current picture, and wherein, to determine the value of the motion vector, the one or more processors are configured to: right-shift the motion vector predictor by N; and left-shift the sum of the right-shifted motion vector predictor and the representation of the difference between the motion vector predictor and the motion vector that identifies the predictor block by N. 16 . The device of claim 15 , wherein
the unit being a pixel · CPC title
by predictive encoding · CPC title
the region being a block, e.g. a macroblock · CPC title
characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title
characterised by implementation details or hardware specially adapted for video compression or decompression, e.g. dedicated software implementation (H04N19/635 takes precedence) · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.