Motion vector prediction

US10602180B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10602180-B2
Application numberUS-201816003269-A
CountryUS
Kind codeB2
Filing dateJun 8, 2018
Priority dateJun 13, 2017
Publication dateMar 24, 2020
Grant dateMar 24, 2020

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 coder may determine a motion vector of a non-adjacent block of a current picture of the video data. The non-adjacent block is non-adjacent to a current block of the current picture. Furthermore, the video coder determines, based on the motion vector of the non-adjacent block, a motion vector predictor (MVP) for the current block. The video coder may determine a motion vector of the current block. The video coder may also determine a predictive block based on the motion vector of the current block.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of decoding video data, the method comprising: storing, by a video decoder, a plurality of non-adjacent motion vector predictor (MVP) candidates in a first-in, first-out (FIFO) buffer; determining, by the video decoder, a motion vector of a non-adjacent block of a current picture of the video data, the non-adjacent block being non-adjacent to a current block of the current picture, wherein the plurality of non-adjacent MVP candidates include a non-adjacent MVP candidate specifying the motion vector of the non-adjacent block; determining, by the video decoder, based on the motion vector of the non-adjacent block, a MVP for the current block; determining, by the video decoder, based on the MVP for the current block, a motion vector of the current block; determining, by the video decoder, a predictive block based on the motion vector of the current block; reconstructing, by the video decoder, based on the predictive block, sample values of the current picture; and updating, by the video decoder, the FIFO buffer to remove an earlier-added, non-adjacent MVP candidate from the FIFO buffer and to add a new MVP candidate to the FIFO buffer. 2. The method of claim 1 , wherein determining the MVP for the current block comprises: generating, by the video decoder, based in part on the motion vector of the non-adjacent block, a list of MVP candidates, wherein the list of MVP candidates includes an MVP candidate that specifies the motion vector of the non-adjacent block; and determining, by the video decoder, from among the MVP candidates in the list of MVP candidates, the MVP for the current block. 3. The method of claim 2 , wherein the non-adjacent block is a first non-adjacent block, the method further comprising: ordering, by the video decoder, a plurality of non-adjacent spatial MVP (NA-SMVP) candidates in the list, wherein, for each respective NA-SMVP candidate of the plurality of NA-SMVP candidates, the respective NA-SMVP candidate corresponds to a respective non-adjacent block of a plurality of non-adjacent blocks, the respective NA-SMVP specifying a motion vector of the respective non-adjacent block, wherein the plurality of non-adjacent blocks includes the first non-adjacent block, and wherein the plurality of NA-SMVP candidates are ordered in the list according to distance of corresponding non-adjacent blocks from the current block. 4. The method of claim 2 , wherein the non-adjacent block is a first non-adjacent block, the method further comprising: determining, by the video decoder, a first plurality of non-adjacent spatial MVP (NA-SMVP) candidates, wherein, for each respective NA-SMVP candidate of the first plurality of NA-SMVP candidates, the respective NA-SMVP candidate corresponds to a respective non-adjacent block of a plurality of non-adjacent blocks, the respective NA-SMVP specifying the motion vector of the respective non-adjacent block, wherein the first plurality of non-adjacent blocks includes the first non-adjacent block; and ordering, by the video decoder, a second plurality of non-adjacent spatial MVP (NA-SMVP) candidates in the list, the second plurality of NA-SMVP candidates comprising non-duplicative NA-SMVP candidates in the first plurality of NA-SMVP candidates, wherein the second plurality of NA-SMVP candidates are ordered in the list according to a frequency with which motion vectors specified by the NA-SMVP candidates in the second plurality of NA-SMVP candidates are specified by NA-SMVP candidates in the first plurality of NA-SMVP candidates. 5. The method of claim 2 , further comprising applying, by the video decoder, a pruning process to the list, wherein the pruning process is adaptive to a block size of the current block. 6. The method of claim 1 , wherein the MVP for the current block is in affine mode. 7. The method of claim 1 , wherein determining the motion vector of the current block comprises: determining, by the video decoder, the motion vector of the current block such that the motion vector of the current block specifies a motion vector of the MVP for the current block. 8. The method of claim 1 , wherein determining the motion vector of the current block comprises: determining, by the video decoder, the motion vector of the current block such that the motion vector of the current block is equal to a motion vector of motion information of the MVP for the current block plus a motion vector difference (MVD). 9. The method of claim 1 , wherein the non-adjacent block is a block in a template that defines a fixed pattern of blocks relative to a position of the current block. 10. The method of claim 1 , further comprising: determining, by the video decoder, a set of coding unit (CU)-level frame-rate up conversion (FRUC) motion vector candidates; selecting, by the video decoder, a CU-level FRUC motion vector candidate from the set of CU-level FRUC motion vector candidates; determining, by the video decoder, a CU-level motion vector at least in part by performing a local search starting from a selected CU-level FRUC motion vector candidate; and refining, by the video decoder, the CU-level motion vector at a sub-CU level with a set of FRUC sub-CU level motion vector candidates, wherein at least one of the set of CU-level FRUC motion vector candidates and the set of FRUC sub-CU level motion vector candidates includes a non-adjacent spatial motion vector predictor (NA-SMVP) that specifies the motion vector of the non-adjacent block. 11. The method of claim 1 , further comprising: prior to determining the motion vector of the non-adjacent block and based on a distance between the non-adjacent block and the current block being greater than a threshold distance, modifying a position of the non-adjacent block. 12. The method of claim 11 , wherein modifying the position of the non-adjacent block comprises rounding a position of the non-adjacent block to a position on a first grid of blocks in the current picture coarser than a second grid of blocks in the current picture. 13. The method of claim 11 , wherein modifying the position of the non-adjacent block comprises clipping a position of the non-adjacent block to the distance threshold. 14. The method of claim 1 , further comprising: prior to determining the motion vector of the non-adjacent block and based on a distance between the non-adjacent block and a current coding tree block being greater than a threshold distance, modifying a position of the non-adjacent block, the current coding tree block containing the current block. 15. A method of encoding video data, the method comprising: storing, by a video encoder, a plurality of non-adjacent motion vector predictor (MVP) candidates in a first-in, first-out (FIFO) buffer; determining, by the video encoder, a motion vector of a non-adjacent block of a current picture of the video data, the non-adjacent block being non-adjacent to a current block of the current picture, wherein the plurality of non-adjacent MVP candidates include a non-adjacent MVP candidate specifying the motion vector of the non-adjacent block; determining, by the video encoder, based on the motion vector of the non-adjacent block, a MVP for the current block; determining, by the video encoder, a motion vector of the current block, wherein the motion vector is equal to a motion vector of the MVP for the current block or is equal to the motion vector of the MVP for the current block plus a motion vector difference (MVD) signaled in a bitstream; determining, by the video encoder, a predictive block based on the motion vector of the current block; generatin

Assignees

Inventors

Classifications

  • Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder · CPC title

  • H04N19/52Primary

    by predictive encoding · CPC title

  • characterised by syntax aspects related to video coding, e.g. related to compression standards · CPC title

  • involving spatial prediction techniques · CPC title

  • the region being a block, e.g. a macroblock · 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 US10602180B2 cover?
A video coder may determine a motion vector of a non-adjacent block of a current picture of the video data. The non-adjacent block is non-adjacent to a current block of the current picture. Furthermore, the video coder determines, based on the motion vector of the non-adjacent block, a motion vector predictor (MVP) for the current block. The video coder may determine a motion vector of the curr…
Who is the assignee on this patent?
Qualcomm Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/52. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 24 2020 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).