Method and apparatus of video coding with affine motion compensation
US-2019058896-A1 · Feb 21, 2019 · US
US10602180B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-10602180-B2 |
| Application number | US-201816003269-A |
| Country | US |
| Kind code | B2 |
| Filing date | Jun 8, 2018 |
| Priority date | Jun 13, 2017 |
| Publication date | Mar 24, 2020 |
| Grant date | Mar 24, 2020 |
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.
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.
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
Decoders specially adapted therefor, e.g. video decoders which are asymmetric with respect to the encoder · CPC title
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
Related publications grouped by family.
Answers are generated from the same data shown on this page.