IP Library › Granted Patent US 11,582,475
Granted Patent B2
US 11,582,475 · App. 17/028,064 · Granted Feb 14, 2023

History-based motion vector prediction

Inventors: Dmytro Rusanovskyy (San Diego, CA); Marta Karczewicz (San Diego, CA); Yan Zhang (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04N19/513H04N19/159H04N19/176H04N19/56
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,582,475
App. No.
17/028,064
Granted
Feb 14, 2023
Kind
B2
Abstract

Systems, methods, and computer-readable media are provided for updating history-based motion vector tables. In some examples, a method can include obtaining one or more blocks of video data; determining a first motion vector derived from a first control point of a block of the one or more blocks, the block being coded using an affine motion mode; determining a second motion vector derived from a second control point of the block; based on the first motion vector and the second motion vector, estimating a third motion vector for a predetermined location within the block; and populating a history-based motion vector predictor (HMVP) table with the third motion vector.

Claims (56)

1. An apparatus for processing video data, the apparatus comprising:

memory; and

one or more processors coupled to the memory, the one or more processors being configured to:

obtain one or more blocks of video data;

determine a first motion vector derived from a first control point of a block of the one or more blocks, the block being coded using an affine motion mode, wherein the first control point comprises a top-left control point;

determine a second motion vector derived from a second control point of the block, wherein the second control point comprises a top-right control point;

based on the top-left control point and the top-right control point, estimate a third motion vector for a center of the block; and

populate a history-based motion vector predictor (HMVP) table with the third motion vector for the center of the block, wherein the HMVP table is populated with a single translational motion vector for one inter-prediction direction of each block of the one or more blocks, and the single translational motion vector for the block is the third motion vector.

2. The apparatus of claim 1 , wherein to estimate the third motion vector the one or more processors are configured to:

determine, based on a difference between the first motion vector and the second motion vector, a rate of change between the first motion vector and the second motion vector; and

multiply the rate of change by a multiplication factor corresponding to the center of the block.

3. The apparatus of claim 2 , wherein the multiplication factor comprises half of at least one of a width of the block and a height of the block.

4. The apparatus of claim 2 , wherein the rate of change comprises a per unit rate of change, wherein each unit of the per unit rate of change comprises at least one of a sample, a sub-block, and a pixel.

5. The apparatus of claim 2 , wherein the multiplication factor comprises a number of samples between the center of the block and a border of the block.

6. The apparatus of claim 1 , wherein the third motion vector is based on a first change of motion between a horizontal component of the first motion vector and a horizontal component of the second motion vector and a second change of motion between a vertical component of the first motion vector and a vertical component of the second motion vector.

7. The apparatus of claim 1 , wherein the third motion vector comprises motion information associated with one or more sub-blocks of the block, wherein at least one sub-block of the one or more sub-blocks corresponds to the center of the block.

8. The apparatus of claim 1 , wherein at least one of the HMVP table and the third motion vector is used in motion prediction of an additional block.

9. The apparatus of claim 1 , wherein the one or more processors are configured to:

add one or more HMVP candidates from the HMVP table to at least one of an advanced motion vector prediction (AMVP) candidate list, a merge mode candidate list, and a motion vector prediction predictor for coding using the affine motion mode.

10. The apparatus of claim 1 , wherein processing video data comprises encoding video data, wherein the one or more processors are configured to:

generate an encoded video bitstream, the encoded video bitstream including the one or more blocks of video data.

11. The apparatus of claim 10 , wherein the one or more processors are configured to:

transmit the encoded video bitstream, the first control point and the second control point.

12. The apparatus of claim 1 , wherein the one or more processors are configured to:

decode the one or more blocks of video data using the affine motion mode.

13. The apparatus of claim 1 , wherein the apparatus is a mobile device.

14. A method of processing video data, the method comprising:

obtaining one or more blocks of video data;

determining a first motion vector derived from a first control point of a block of the one or more blocks, the block being coded using an affine motion mode, wherein the first control point comprises a top-left control point;

determining a second motion vector derived from a second control point of the block, wherein the second control point comprises a top-right control point;

based on the top-left control point and the top-right control point, estimating a third motion vector for a center of the block; and

populating a history-based motion vector predictor (HMVP) table with the third motion vector for the center of the block, wherein the HMVP table is populated with a single translational motion vector for one inter-prediction direction of each block of the one or more blocks, and the single translational motion vector for the block is the third motion vector.

15. The method of claim 14 , wherein estimating the third motion vector comprises:

determining, based on a difference between the first motion vector and the second motion vector, a rate of change between the first motion vector and the second motion vector; and

multiplying the rate of change by a multiplication factor corresponding to the center of the block.

16. The method of claim 15 , wherein the multiplication factor comprises half of at least one of a width of the block and a height of the block.

17. The method of claim 15 , wherein the rate of change comprises a per unit rate of change, wherein each unit of the per unit rate of change comprises at least one of a sample, a sub-block, and a pixel.

18. The method of claim 15 , wherein the multiplication factor comprises a number of samples between the center of the block and a border of the block.

19. The method of claim 14 , wherein the third motion vector is based on a first change of motion between a horizontal component of the first motion vector and a horizontal component of the second motion vector and a second change of motion between a vertical component of the first motion vector and a vertical component of the second motion vector.

20. The method of claim 14 , wherein the third motion vector comprises motion information associated with one or more sub-blocks of the block, wherein at least one sub-block of the one or more sub-blocks corresponds to the center of the block.

21. The method of claim 14 , wherein at least one of the HMVP table and the third motion vector is used in motion prediction of an additional block.

22. The method of claim 14 , further comprising:

adding one or more HMVP candidates from the HMVP table to at least one of an advanced motion vector prediction (AMVP) candidate list, a merge mode candidate list, and a motion vector prediction predictor for coding using the affine motion mode.

23. The method of claim 14 , wherein the third motion vector comprises a representation of motion information for the block.

24. The method of claim 14 , wherein processing video data comprises encoding video data, the method further comprising:

generating an encoded video bitstream, the encoded video bitstream including the one or more blocks of video data.

25. The method of claim 24 , further comprising:

transmitting the encoded video bitstream, the first control point and the second control point.

26. The method of claim 14 , further comprising:

decoding the one or more blocks of video data using the affine motion mode.

27. A non-transitory computer-readable storage medium having stored thereon instructions which, when executed by one or more processors, cause the one or more processors to:

obtain one or more blocks of video data;

determine a first motion vector derived from a first control point of a block of the one or more blocks, the block being coded using an affine motion mode, wherein the first control point comprises a top-left control point;

determine a second motion vector derived from a second control point of the block, wherein the second control point comprises a top-right control point;

based on top-left control point and the top-right control point, estimate a third motion vector for a center of the block; and

populate a history-based motion vector predictor (HMVP) table with the third motion vector for the center of the block, wherein the HMVP table is populated with a single translational motion vector for one inter-prediction direction of each block of the one or more blocks, and the single translational motion vector for the block is the third motion vector.

Assignments (3)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jan 24, 2022
From: RUSANOVSKYY, DMYTRO; KARCZEWICZ, MARTA; ZHANG, YAN
To: QUALCOMM INCORPORATED
Reel/Frame 058823/0644 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 26, 2021
From: RUSANOVSKYY, DMYTRO; KARCZEWICZ, MARTA; ZHANG, YAN
To: QUALCOMM INCORPORATED
Reel/Frame 056355/0328 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 25, 2021
From: RUSANOVSKYY, DMYTRO; KARCZEWICZ, MARTA; ZHANG, TAN
To: QUALCOMM INCORPORATED
Reel/Frame 056347/0727 →
Continuity (3)
Provisional Application 62905311 · Sep 24, 2019
Provisional Application 62905371 · Sep 24, 2019
Related Publication 20210092432A1 · Mar 25, 2021
Cited By (3)
US 12,238,335 US 12,316,863 US 12,615,374