IP Library Granted Patent US 11,985,340
Granted Patent B2
US 11,985,340 · App. 17/319,909 · Granted May 14, 2024

History-based affine parameters inheritance

Inventors: Kai Zhang (San Diego, CA); Li Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Jizheng Xu (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/423H04N19/105H04N19/137H04N19/159H04N19/167H04N19/176H04N19/196H04N19/30H04N19/513H04N19/52
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,985,340
App. No.
17/319,909
Granted
May 14, 2024
Kind
B2
Abstract

History-based affine parameters inheritance is described. In an exemplary aspect, a method for video processing includes deriving, for a conversion between a current block of video and a bitstream representation of the current block, affine related information associated with an affine model to be used by the current block based on affine related information associated with an affine model used by a first block stored in a buffer, wherein the first block is affine coded prior to the current block; and performing the conversion by using the derived affine related information.

Claims (195)

1. A method of processing video data, comprising:

deriving, for a conversion between a current block of a video and a bitstream of the video, affine related information associated with an affine model to be used by the current block based on affine related information associated with an affine model used by a first block stored in a buffer, wherein the first block is affine coded prior to the current block; and

performing the conversion based on the derived affine related information,

wherein the buffer is an affine history-based motion vector prediction (HMVP) buffer,

wherein the affine related information associated with the affine model used by the first block includes:

a first set of control point motion vectors (CPMVs) associated with the affine model for the first block, or

a base motion vector (MV) (mv 0 h , mv 0 v ) associated with the affine model for the first block, and

wherein the method further comprises:

storing, in case a 4-parameter affine model is applied to the conversion of the first block, the base MV together with two parameters related to the 4-parameter affine model in the buffer.

2. The method of claim 1 , wherein the affine related information stored in the buffer includes a first set of affine parameters associated with the affine model for the first block.

3. The method of claim 2 , wherein a second number of parameters related to a 6-parameter affine model are stored.

4. The method of claim 2 , further comprising:

determining a characteristic of the first block of video, wherein the characteristic including one or more of: affine mode, a use of inter or merge mode, a size of the first block, a picture type, wherein the first set of affine parameters to be stored in the buffer are determined based on the characteristic of the first block of video.

5. The method of claim 2 , wherein side information and/or affine model type including 4-parameter affine model or 6-parameter affine model associated with the first set of affine parameters for affine model is stored in the buffer, the side information includes at least one of: inter prediction direction including list 0 or list 1 or Bi-direction and reference index for list 0 and/or list 1 .

6. The method of claim 1 , further comprising:

storing a coordinate of the base MV together with the two parameters related to the 4-parameter affine model in the buffer, or

storing, in case a 6-parameter affine model is applied to the conversion of the first block, the base MV together with four parameters related to the 6-parameter affine model in the buffer.

7. The method of claim 6 , further comprising:

storing a coordinate of the base MV together with the four parameters related to the 6-parameter affine model in the buffer.

8. The method of claim 1 , wherein a set of stored affine parameters and their associated base MV refer to a same reference picture in case they refer to a same reference picture list.

9. The method of claim 1 , further comprising:

determining, whether to store the affine related information associated with affine model for the first block based on a characteristic of the first block, the characteristic including one or more of: a coded affine mode including affine advanced motion vector prediction (AMVP) and/or affine merge, a number of affine-coded video blocks, a position of the first block, or a dimension of the first block.

10. The method of claim 1 , further comprising:

storing, for every Kth block of the video, affine related information associated with affine model for a Kth block after decoding or encoding the Kth block, wherein K is an integer, and wherein K is 2 or 4.

11. The method of claim 1 , wherein a number of sets of affine related information stored in the buffer is less than or equal to a preset maximum M, M is an integer, the method further comprising:

removing, in case the number of sets of affine related information stored in the buffer is equal to the preset maximum M, an entry for storing a set of affine related information stored in the buffer; and

storing a new set of affine related information to be stored in the buffer.

12. The method of claim 11 , wherein removing the entry comprises removing an earliest entry stored in the buffer.

13. The method of claim 1 , wherein the buffer is at least one of: a table, or lookup table, or a First-In-First-Out (FIFO) table, or a stack, or a queue, or a list, or a link, or an array, or any other storage with any data structure.

14. The method of claim 2 , wherein:

for a 4-parameter affine model, the first set of affine parameters includes at least one variable of a, b, c, d,

a

=

(

m

v

1

h

-

m

v

0

h

)

w

,

b

=

(

m

v

1

v

-

m

v

0

v

)

w

,

c

=

(

m

v

2

h

-

m

v

0

h

)

h

,

d

=

(

m

v

2

v

-

m

v

0

v

)

h

,

where (mv h 0 , mv v 0 ) is motion vector of a top-left corner control point, (mv h 1 , mv v 1 ) is motion vector of a top-right corner control point and (mv h 2 , mv v 2 ) is motion vector of a bottom-left corner control point, w and h are width and height of the first block, or

for a 6-parameter affine model, the first set of affine parameters includes at least one variable of a, b, c, d, e, f,

a

=

(

m

v

1

h

-

m

v

0

h

)

w

,

b

=

(

m

v

1

v

-

m

v

0

v

)

w

,

c

=

(

m

v

2

h

-

m

v

0

h

)

h

,

d

=

(

m

v

2

v

-

m

v

0

v

)

h

,

e=mv 0 h , f=mv 0 v , or (e, f)=(mv x , mv y ), where (mv x , mv y ) is any MV used for coding the first block, where (mv h 0 , mv v 0 ) is motion vector of a top-left corner control point, (mv h 1 , mv v 1 ) is motion vector of a top-right corner control point and (mv h 2 , mv v 2 ) is motion vector of a bottom-left corner control point, w and h are width and height of the first block.

15. The method of claim 1 , wherein the conversion includes encoding the current block into the bitstream.

16. The method of claim 1 , wherein the conversion includes decoding the current block from the bitstream.

17. An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:

derive, for a conversion between a current block of a video and a bitstream of the video, affine related information associated with an affine model to be used by the current block based on affine related information associated with an affine model used by a first block stored in a buffer, wherein the first block is affine coded prior to the current block; and

perform the conversion based on the derived affine related information,

wherein the buffer is an affine history-based motion vector prediction (HMVP) buffer,

wherein the affine related information associated with the affine model used by the first block includes:

a first set of control point motion vectors (CPMVs) associated with the affine model for the first block, or

a base motion vector (MV) (mv 0 h , mv 0 v ) associated with the affine model for the first block, and

wherein the instructions upon execution by the processor, further cause the processor to:

store, in case a 4-parameter affine model is applied to the conversion of the first block, the base MV together with two parameters related to the 4-parameter affine model in the buffer.

18. A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:

deriving, for a conversion between a current block of the video and a bitstream of the video, affine related information associated with an affine model to be used by the current block based on affine related information associated with an affine model used by a first block stored in a buffer, wherein the first block is affine coded prior to the current block; and

generating the bitstream based on the derived affine related information,

wherein the buffer is an affine history-based motion vector prediction (HMVP) buffer,

wherein the affine related information associated with the affine model used by the first block includes:

a first set of control point motion vectors (CPMVs) associated with the affine model for the first block, or

a base motion vector (MV) (mv 0 h , mv 0 v ) associated with the affine model for the first block, and

wherein the method further comprises:

storing, in case a 4-parameter model is applied to the conversion of the first block, the base MV together with two parameters related to the 4-parameter affine model in the buffer.

19. The apparatus of claim 17 , wherein the instructions upon execution by the processor, further cause the processor to:

store a coordinate of the base MV together with the two parameters related to the 4-parameter affine model in the buffer, or

store, in case a 6-parameter affine model is applied to the conversion of the first block, the base MV together with four parameters related to the 6-parameter affine model in the buffer.

20. The apparatus of claim 19 , wherein the instructions upon execution by the processor, further cause the processor to:

store a coordinate of the base MV together with the four parameters related to the 6-parameter affine model in the buffer.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: ZHANG, KAI; ZHANG, LI; XU, JIZHENG
To: BYTEDANCE INC.
Reel/Frame 056236/0117 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 13, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 056236/0140 →
Priority Claims (5)
WO PCT/CN2018/115935 · Nov 16, 2018 · international
WO PCT/CN2019/070003 · Jan 1, 2019 · international
WO PCT/CN2019/071221 · Jan 10, 2019 · international
WO PCT/CN2019/074600 · Feb 2, 2019 · international
WO PCT/CN2019/075867 · Feb 22, 2019 · international
Continuity (2)
Continuation PCTCN2019119281 · Nov 18, 2019
Related Publication 20210266577A1 · Aug 26, 2021
Cited By (4)
US 12,200,244 US 12,413,714 US 12,513,291 US 12,621,450