IP Library › Granted Patent US 11,930,182
Granted Patent B2
US 11,930,182 · App. 17/359,890 · Granted Mar 12, 2024

Motion vector derivation between dividing patterns

Inventors: Kai Zhang (San Diego, CA); Li Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/137H04N19/105H04N19/119H04N19/176H04N19/186
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,930,182
App. No.
17/359,890
Granted
Mar 12, 2024
Kind
B2
Abstract

A method for processing video data, including: deriving one or more motion vectors for a first set of sub-blocks belonging to a first dividing pattern of a current video block of a video; and performing, based on the one or more motion vectors, a conversion between the current video block and a bitstream of the video.

Claims (42)

1. A method for processing video data, comprising:

deriving one or more motion vectors for a first set of sub-blocks belonging to a first dividing pattern of a current video block of a video; and

performing, based on the one or more motion vectors, a conversion between the current video block and a bitstream of the video,

wherein the deriving the one or more motion vectors for the first set of sub-blocks is based on motion vectors of a second set of sub-blocks, wherein the second set of sub-blocks has a second dividing pattern different from the first dividing pattern;

wherein the one or more motion vectors for the first set of sub-blocks comprises MV 1 and the motion vectors of the second set of sub-blocks comprise MV 01 , MV 02 , MV 03 , . . . and MV 0K , and wherein K is a positive integer; and

wherein MV 1 is derived by one of:

MV 1 =max (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein max(⋅) is an operation that selects a maximum value from a plurality of input values;

MV 1 =min (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein min(⋅) is an operation that selects a minimum value from a plurality of input values;

MV 1 =MaxAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MaxAbs(⋅) is an operation that selects a maximum absolute value from a plurality of input values; or

MV 1 =MinAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MinAbs(⋅) is an operation that selects a minimum absolute value from a plurality of input values.

2. The method of claim 1 , wherein the deriving the one or more motion vectors is based on an affine model.

3. The method of claim 1 , wherein the second set of sub-blocks overlaps with the first set of sub-blocks.

4. The method of claim 1 , wherein MV 1 =ƒ(MV 01 , MV 02 , MV 03 , . . . , MV 0K ).

5. The method of claim 4 , wherein ƒ(⋅) is a linear function.

6. The method of claim 4 , wherein ƒ(⋅) is a non-linear function.

7. The method of claim 1 , wherein the performing of the conversion includes generating the bitstream from the current video block.

8. The method of claim 1 , wherein the performing of the conversion includes generating the current video block from the bitstream.

9. 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 one or more motion vectors for a first set of sub-blocks belonging to a first dividing pattern of a current video block of a video; and

perform, based on the one or more motion vectors, a conversion between the current video block and a bitstream of the video,

wherein the one or more motion vectors are derived based on motion vectors of a second set of sub-blocks, wherein the second set of sub-blocks has a second dividing pattern different from the first dividing pattern;

wherein the one or more motion vectors for the first set of sub-blocks comprises MV 1 and the motion vectors of the second set of sub-blocks comprise MV 01 , MV 02 , MV 03 , . . . and MV 0K , and wherein K is a positive integer; and

wherein MV 1 is derived by one of:

MV 1 =max (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein max(⋅) is an operation that selects a maximum value from a plurality of input values;

MV 1 =min (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein min(⋅) is an operation that selects a minimum value from a plurality of input values;

MV 1 =MaxAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MaxAbs(⋅) is an operation that selects a maximum absolute value from a plurality of input values; or

MV 1 =MinAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MinAbs(⋅) is an operation that selects a minimum absolute value from a plurality of input values.

10. The apparatus of claim 9 , wherein the one or more motion vectors are derived based on an affine model.

11. The apparatus of claim 9 , wherein the second set of sub-blocks overlaps with the first set of sub-blocks.

12. A method for storing a bitstream of a video,

wherein the method comprises:

deriving one or more motion vectors for a first set of sub-blocks belonging to a first dividing pattern of a current video block of the video;

generating the bitstream from the current video block based on the one or more motion vectors; and

storing the bitstream in a non-transitory computer-readable recording medium, wherein the deriving the one or more motion vectors for the first set of sub-blocks is based on motion vectors of a second set of sub-blocks, wherein the second set of sub-blocks has a second dividing pattern different from the first dividing pattern;

wherein the one or more motion vectors for the first set of sub-blocks comprises MV 1 and the motion vectors of the second set of sub-blocks comprise MV 01 , MV 02 , MV 03 , . . . and MV 0K , and wherein K is a positive integer; and

wherein MV 1 is derived by one of:

MV 1 =max (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein max(⋅) is an operation that selects a maximum value from a plurality of input values;

MV 1 =min (MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein min(⋅) is an operation that selects a minimum value from a plurality of input values;

MV 1 =MaxAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MaxAbs(⋅) is an operation that selects a maximum absolute value from a plurality of input values; or

MV 1 =MinAbs(MV 01 , MV 02 , MV 03 , . . . , MV 0K ), wherein MinAbs(⋅) is an operation that selects a minimum absolute value from a plurality of input values.

13. The method of claim 12 , wherein the second set of sub-blocks overlaps with the first set of sub-blocks.

14. The method of claim 12 , wherein the deriving the one or more motion vectors is based on an affine model.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: ZHANG, KAI; ZHANG, LI
To: BYTEDANCE INC.
Reel/Frame 056685/0026 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 28, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 056685/0063 →
Priority Claims (1)
WO PCT/CN2019/070058 · Jan 2, 2019 · international
Continuity (2)
Continuation PCTCN2020070113 · Jan 2, 2020
Related Publication 20210329250A1 · Oct 21, 2021