Decoder side motion vector refinement in video coding

US10477237B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10477237-B2
Application numberUS-201815970150-A
CountryUS
Kind codeB2
Filing dateMay 3, 2018
Priority dateJun 28, 2017
Publication dateNov 12, 2019
Grant dateNov 12, 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 method of coding is provided. The method includes comparing a cost between a bilateral reference block and each of a plurality of first and second reference block candidates in the first and second reference pictures to determine first and second refined motion vectors. The first and second reference block candidates are determined based on a step size selected from a plurality of available step sizes. The method also includes selecting a first refined reference block in the first reference picture based on the first refined motion vector and a second refined reference block in the second reference picture based on the second refined motion vector, determining a prediction block based on the first refined reference block and the second refined reference block, and displaying an image generated using the prediction block.

First claim

Opening claim text (preview).

What is claimed is: 1. A method of coding implemented by a decoding device, comprising: determining a first reference block in a first reference picture based on a first motion vector corresponding to a current block in a current picture; determining a second reference block in a second reference picture based on a second motion vector corresponding to the current block in the current picture; generating a bilateral reference block based on the first reference block and the second reference block; comparing a cost between the bilateral reference block and each of a plurality of first reference block candidates in the first reference picture to determine a first refined motion vector, wherein the first reference block candidates are determined based on a step size selected from a plurality of available step sizes; comparing a cost between the bilateral reference block and each of a plurality of second reference block candidates in the second reference picture to determine a second refined motion vector, wherein the second reference block candidates are determined based on the step size selected from the plurality of available step sizes; selecting a first refined reference block in the first reference picture based on the first refined motion vector and a second refined reference block in the second reference picture based on the second refined motion vector; determining a prediction block based on the first refined reference block and the second refined reference block; and displaying, on a display of an electronic device, an image generated using the prediction block. 2. The method of claim 1 , wherein the plurality of available step sizes includes two or more luma sample offsets, wherein the luma sample offsets comprise fractional offsets, integer offsets, or a combination of fractional and integer offsets. 3. The method of claim 1 , wherein the plurality of available step sizes comprises ⅛, ¼, ½, 1, and N luma sample offsets, where N is any positive integer. 4. The method of claim 1 , wherein the step size is any one of ⅛, ¼, ½, 1, and N luma sample offsets, where N is any positive integer. 5. The method of claim 1 , wherein the step size is obtained from a codec default. 6. The method of claim 1 , wherein the step size is configured to be obtained from any one of a sequence parameter set (SPS) level of a bitstream, a picture parameter set (PPS) level of the bitstream, a slice header, coding tree unit (CTU) syntax, or coding unit (CU) syntax. 7. The method of claim 1 , wherein the plurality of first reference block candidates and the plurality of second reference block candidates are determined as follows: MV0 x ′=MV0 x+k *step_size; MV0 y ′=MV0 y+k *step_size; MV1 x ′=MV1 x+k *step_size; MV1 y ′=MV1 y+k *step_size; where MV0x and MV1x indicate a motion vector in an x-direction, MV0y and MV1y indicate the motion vector in a y-direction, k is an integer used to represent coordinates, and step_size is the step size. 8. The method of claim 1 , wherein one or more of the first motion vector and the second motion vector are rounded prior to the first refined motion vector and the second refined motion vector being determined. 9. A method of coding implemented by a decoding device, comprising: receiving a first motion vector and a second motion vector from an encoding device; determining a first precision based on the first motion vector and a second precision based on the second motion vector; setting a first step size based on the first precision and a second step size based on the second precision; comparing a cost between a bilateral reference block and each of a plurality of first reference block candidates in a first reference picture to determine a first refined motion vector, wherein the plurality of first reference block candidates are determined based on the first step size; comparing a cost between the bilateral reference block and each of a plurality of second reference block candidates in a second reference picture to determine a second refined motion vector, wherein the plurality of second reference block candidates are determined based on the second step size; selecting a first refined reference block in a first reference picture based on the first refined motion vector and a second refined reference block in a second reference picture based on the second refined motion vector; determining a prediction block based on the first refined reference block and the second refined reference block; and displaying, on a display of an electronic device, an image generated using the prediction block. 10. The method of claim 9 , wherein the first precision is a finest precision of the first motion vector and the second precision is a finest precision of the second motion vector. 11. The method of claim 9 , wherein the first precision is a coarsest precision of the first motion vector and the second precision is a coarsest precision of the second motion vector. 12. The method of claim 9 , wherein the first precision is a finest precision of the first motion vector and the second motion vector, and wherein the second precision is the finest precision of the first motion vector and the second motion vector. 13. The method of claim 9 , wherein the first precision is a coarsest precision of the first motion vector and the second motion vector, and wherein the second precision is the coarsest precision of the first motion vector and the second motion vector. 14. The method of claim 9 , wherein the first step size and the second step size are both one of ⅛, ¼, ½, 1, and N luma sample offsets, where N is any positive integer. 15. The method of claim 14 , wherein the first step size and the second step size correspond to a finest precision of the first motion vector and the second motion vector in both an x-direction and a y-direction. 16. The method of claim 14 , wherein the first step size and the second step size correspond to a coarsest precision of the first motion vector and the second motion vector in both an x-direction and a y-direction. 17. A coding device, comprising: a memory storing instructions; and a processor coupled to the memory, the processor configured to execute the instructions stored in the memory to cause the processor to: determine a first reference block in a first reference picture based on a first motion vector corresponding to a current block in a current picture; determine a second reference block in a second reference picture based on a second motion vector corresponding to the current block in the current picture; generate a bilateral reference block based on the first reference block and the second reference block; compare a cost between the bilateral reference block and each of a plurality of first reference block candidates in the first reference picture to determine a first refined motion vector, wherein the first reference block candidates are determined based on a step size selected from a plurality of available step sizes; compare a cost between the bilateral reference block and each of a plurality of second reference block candidates in the second reference picture to determine a second refined motion vector, wherein the second reference block candidates are determined based on the step size selected from the plurality of available step sizes; select a first refined reference block in the first reference picture based on the first refined motion vector and a second refined reference block in the second reference picture based on the second refined motion vector; determine a prediction block based on

Assignees

Inventors

Classifications

  • H04N19/573Primary

    Motion compensation with multiple frame prediction using two or more reference frames in a given prediction direction · CPC title

  • the unit being a colour or a chrominance component · CPC title

  • H04N19/513Primary

    Processing of motion vectors · CPC title

  • in combination with predictive 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 US10477237B2 cover?
A method of coding is provided. The method includes comparing a cost between a bilateral reference block and each of a plurality of first and second reference block candidates in the first and second reference pictures to determine first and second refined motion vectors. The first and second reference block candidates are determined based on a step size selected from a plurality of available s…
Who is the assignee on this patent?
Futurewei Technologies Inc
What technology area does this patent fall under?
Primary CPC classification H04N19/573. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Nov 12 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 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).