IP Library › Granted Patent US 12,289,460
Granted Patent B2
US 12,289,460 · App. 18/544,400 · Granted Apr 29, 2025

Low complexity affine merge mode for versatile video coding

Inventor: Minhua Zhou (San Diego, CA)
Assignee: Avago Technologies International Sales Pte. Limited
H04N19/426H04N19/105H04N19/139H04N19/176H04N19/513
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 12,289,460
App. No.
18/544,400
Granted
Apr 29, 2025
Kind
B2
Abstract

In some aspects, the disclosure is directed to methods and systems for reducing memory utilization and increasing efficiency during affine merge mode for versatile video coding by utilizing motion vectors stored in a motion data line buffer for a prediction unit of a second coding tree unit neighboring a first coding tree unit to derive control point motion vectors for the first coding tree unit.

Claims (27)

1. A method, comprising:

receiving a video bit stream;

deriving a number of motion vectors for a first prediction unit in the video bit stream using an affine motion model, wherein the affine motion model supports different motion vectors at different sample positions inside the first prediction unit, wherein control point motion vectors for the first prediction unit are derived using one or more first motion vectors stored in a motion line data buffer rather than deriving the control point motion vectors for the first prediction unit from motion vectors of one or more second prediction units neighboring the first prediction unit in response to the first prediction unit being at a top boundary of a first coding tree unit, the one or more second prediction units are from one more second coding tree units neighboring the first coding tree unit, wherein the one or more first motion vectors stored in the motion line data buffer are derived by using one or more control point motion vectors of the motion vectors of the one or more second prediction units neighboring the first prediction unit; and

deriving the control point motion vectors for the first prediction unit using the one or more control point motion vectors of the one or more second prediction units neighboring the first prediction unit in response to the first prediction unit not being at the top boundary of the first coding tree unit.

2. The method of claim 1 , wherein the number is four.

3. The method of claim 1 , wherein the different motion vectors are positioned at corners of the first prediction unit.

4. The method of claim 1 , wherein the different motion vectors are differentially coded by taking a difference relative to control point motion vector predictors derived by using spatial and temporal motion data of a neighboring prediction unit.

5. The method of claim 4 , further comprising:

decoding, by a video decoder, one or more sub-blocks of the first prediction unit based on the different motion vectors.

6. The method of claim 1 , wherein the one or more second prediction units are located at the top boundary of the first coding tree unit, the first prediction unit being at a boundary of the first coding tree unit.

7. The method of claim 6 , wherein the motion vectors of the one or more second prediction units are stored in a motion data line buffer during decoding of the first coding tree unit.

8. The method of claim 6 , further comprising deriving the different motion vectors of the first prediction unit proportional to an offset between a sample position of the first prediction unit and a sample position of the one or more second prediction units.

9. The method of claim 1 , wherein the affine motion model uses data in a motion data line buffer and wherein the one or more second prediction units are located at the top boundary of the first coding tree unit.

10. The method of claim 6 , wherein an identification height or width of the one or more second prediction units is stored in an affine motion data line buffer.

11. A device, comprising:

circuitry configured to derive a number of motion vectors for a first prediction unit in a video bit stream using an affine motion model, wherein the affine model supports different motion vectors at different sample positions inside the first prediction unit, wherein the circuitry is configured to derive control point motion vectors for the first prediction unit using one or more control point motion vectors of one or more second prediction units neighboring the first prediction unit in response to the first prediction unit not being at a top boundary of a first coding tree unit, the one or more second prediction units are from a second coding tree unit neighboring the first coding tree unit.

12. The device of claim 11 , wherein the sample positions are at four corner points.

13. The device of claim 12 , wherein the one or more second prediction units are located at the top boundary of the first coding tree unit.

14. The device of claim 13 , wherein motion vectors of the one or more second prediction units are stored in a motion data line buffer of the device during decoding of the first coding tree unit.

15. The device of claim 14 , wherein the circuitry is further configured to determine if the first prediction unit is at the boundary of the first coding tree unit, wherein the one or more second prediction units are from the second coding tree unit neighboring the first coding tree unit.

16. The device of claim 15 , wherein the first prediction unit is determined to be at the boundary of the first coding tree unit using a sum of a y component of a luma location specifying a top-left sample of a neighboring luma coding block relative to a top left luma sample of a current picture and a height of a neighboring luma coding block modulo and vertical array size of a luma coding tree block.

17. The device of claim 16 , wherein the first prediction unit is in the video bit stream and is determined to be at the boundary of the first coding tree unit if the sum is equal to a particular number.

18. The device of claim 17 , wherein the particular number is zero.

19. A device, comprising:

a motion data line buffer; and

a video decoder, configured to derive from an input video bitstream, one or more motion vectors of a first prediction unit of a first coding tree unit using an affine model, based on a plurality of motion vectors of a second one or more prediction units neighboring the first prediction unit stored in the motion data line buffer, and decode one or more sub-blocks of the first prediction unit based on one or more control point motion vectors of the motion vectors of the second one or more prediction units, wherein the video decoder is further configured to derive the control point motion vectors for the first prediction unit using one or more control point motion vectors of one or more second prediction units neighboring the first prediction unit in response to the first prediction unit not being at a top boundary of the first coding tree unit.

20. The device of claim 19 , wherein the motion vectors are derived using an affine motion model and the affine model supports different motion vectors at different sample positions inside the first prediction unit.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 20, 2023
From: ZHOU, MINHUA
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 066079/0736 →
Continuity (7)
Continuation 18155403 · Jan 17, 2023
Continuation 17004782 · Aug 27, 2020
Continuation 16453672 · Jun 26, 2019
Provisional Application 62724464 · Aug 29, 2018
Provisional Application 62694643 · Jul 6, 2018
Provisional Application 62690583 · Jun 27, 2018
Related Publication 20240129502A1 · Apr 18, 2024
References Cited (31)
US 4894774A · McCarthy et al. · 1990 [cited by applicant]
US 4905147A · Logg · 1990 [cited by applicant]
US 4905168A · McCarthy et al. · 1990 [cited by applicant]
US 4930074A · McCarthy · 1990 [cited by applicant]
US 5233421A · Chrisopher · 1993 [cited by applicant]
US 5469223A · Kimura · 1995 [cited by applicant]
US 9088796B2 · Misra et al. · 2015 [cited by applicant]
US 9426498B2 · Zhang · 2016 [cited by examiner]
US 9699456B2 · Chien · 2017 [cited by examiner]
US 10462488B1 · Li et al. · 2019 [cited by applicant]
US 20020075273A1 · Marshall et al. · 2002 [cited by applicant]
US 20130148734A1 · Nakamura · 2013 [cited by examiner]
US 20130188716A1 · Seregin · 2013 [cited by examiner]
US 20130287108A1 · Chen · 2013 [cited by examiner]
US 20130336405A1 · Chen et al. · 2013 [cited by applicant]
US 20140092970A1 · Misra · 2014 [cited by examiner]
US 20140219357A1 · Chuang · 2014 [cited by examiner]
US 20140233651A1 · Nakamura · 2014 [cited by examiner]
US 20140253681A1 · Zhang · 2014 [cited by examiner]
US 20140269916A1 · Lim · 2014 [cited by examiner]
US 20140301463A1 · Rusanovskyy · 2014 [cited by examiner]
US 20140314147A1 · Rusanovskyy · 2014 [cited by examiner]
US 20150172705A1 · Lee et al. · 2015 [cited by applicant]
US 20150195562A1 · Li · 2015 [cited by examiner]
US 20180192069A1 · Chen · 2018 [cited by examiner]
US 20190116376A1 · Chen et al. · 2019 [cited by applicant]
US 20190191171A1 · Ikai · 2019 [cited by examiner]
US 20190394483A1 · Zhou · 2019 [cited by applicant]
US 20200007877A1 · Zhou · 2020 [cited by applicant]
US 20200029089A1 · Xu et al. · 2020 [cited by applicant]
WO WO2017105097A1 · 2017 [cited by examiner]