IP Library › Granted Patent US 11,871,022
Granted Patent B2
US 11,871,022 · App. 16/951,137 · Granted Jan 9, 2024

Concept of interweaved prediction

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/513H04N19/105H04N19/176H04N19/573
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,871,022
App. No.
16/951,137
Granted
Jan 9, 2024
Kind
B2
Abstract

Methods, systems, and devices related to sub-block based motion prediction in video coding are described. In one representative aspect, a video processing method includes partitioning a video block into a first set of sub-blocks according to a first pattern, partitioning the video block into a second set of sub-blocks according to a second pattern, wherein at least one sub-block in the second set has a different size than a sub-block in the first set, and determining a prediction block corresponding to a combination of a first intermediate prediction block that is predictively generated from the first set of sub-blocks and a second intermediate prediction block that is predictively generated from the second set of sub-blocks.

Claims (42)

1. A method of video processing, comprising:

partitioning a video block of a current picture into a first set of sub-blocks according to a first pattern;

partitioning the video block into a second set of sub-blocks according to a second pattern, wherein at least one sub-block in the second set has a different dimension than a sub-block in the first set; and

determining a prediction block for the video block, wherein the prediction block is a combination of a first intermediate prediction block generated from the first set of sub-blocks and a second intermediate prediction block generated from the second set of sub-blocks,

wherein the partitioning the video block into the first set of sub-blocks is performed for a motion compensation of the video block based on a reference picture in a first reference picture list, and the partitioning the video block into the second set of sub-blocks is performed for the motion compensation of the video block based on a reference picture in a second reference picture list, wherein reference pictures in the first reference picture list are temporally at a different side of the current picture than reference pictures in the second reference picture list.

2. The method of claim 1 , wherein the first intermediate prediction block or the second intermediate prediction block is generated using at least one of (1) an affine prediction method, (2) an alternative temporal motion vector prediction method, (3) a spatial-temporal motion vector prediction method, (4) a bi-directional optical flow method, or (5) a frame-rate up conversion method.

3. The method of claim 1 , wherein the sub-blocks in the first or the second set have a rectangular shape.

4. The method of claim 1 , wherein the sub-blocks in the first or the second set have non-uniform shapes.

5. The method of claim 1 , comprising:

determining the first pattern or the second pattern based on a dimension of the video block.

6. The method of claim 1 , wherein the partitioning the video block into the first set of sub-blocks is performed for a motion compensation of the video block based on a reference picture in a first reference picture list, and the partitioning the video block into the second set of sub-blocks is performed for a motion compensation of the video block from a reference picture in a second reference picture list that is same as the first reference picture list.

7. The method of claim 6 , wherein the motion compensation of the video block from a reference picture in the second reference picture list is performed by:

partitioning the video block into a third set of sub-blocks according to a third pattern;

generating a third intermediate prediction block based on the third set of sub-blocks;

partitioning the video block into a fourth set of sub-blocks according to a fourth pattern, wherein at least one sub-block in the fourth set has a different dimension than a sub-block in the third set;

generating a fourth intermediate prediction block based on the fourth set of sub-blocks;

determining a second prediction block based on the third intermediate prediction block and the fourth intermediate prediction block; and

determining a third prediction block based on the prediction block and the second prediction block.

8. The method of claim 1 , wherein the prediction block is determined as a weighted combination of the first intermediate prediction block weighted using a first set of weights and the second intermediate prediction block weighted using a second set of weights.

9. The method of claim 8 , wherein the first set of weights or the second set of weights includes fixed-weight values.

10. The method of claim 9 , wherein at least one value in the first set of weights is different than another value in the first set of weights.

11. The method of claim 10 , wherein at least one value in the second set of weights is different than another value in the second set of weights.

12. The method of claim 1 , comprising:

performing a prediction for each sub-block in the first set of sub-blocks to determine the first intermediate prediction block.

13. The method of claim 1 , comprising:

performing a prediction for each sub-block in the second set of sub-blocks to determine the second intermediate prediction block.

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

partition a video block of a current picture into a first set of sub-blocks according to a first pattern;

partition the video block into a second set of sub-blocks according to a second pattern, wherein at least one sub-block in the second set has a different dimension than a sub-block in the first set; and

determine a prediction block for the video block, wherein the prediction block is a combination of a first intermediate prediction block generated from the first set of sub-blocks and a second intermediate prediction block generated from the second set of sub-blocks,

wherein the partitioning the video block into the first set of sub-blocks is performed for a motion compensation of the video block based on a reference picture in a first reference picture list, and the partitioning the video block into the second set of sub-blocks is performed for the motion compensation of the video block based on a reference picture in a second reference picture list, wherein reference pictures in the first reference picture list are temporally at a different side of the current picture than reference pictures in the second reference picture list.

15. The video processing apparatus of claim 14 , wherein the first intermediate prediction block or the second intermediate prediction block is generated using at least one of (1) an affine prediction method, (2) an alternative temporal motion vector prediction method, (3) a spatial-temporal motion vector prediction method, (4) a bi-directional optical flow method, or (5) a frame-rate up conversion method.

16. The video processing apparatus of claim 14 , wherein the sub-blocks in the first or the second set have a rectangular shape.

17. The video processing apparatus of claim 14 , wherein the sub-blocks in the first or the second set have non-uniform shapes.

18. The video processing apparatus of claim 14 , wherein the instructions upon execution by the processor, further cause the processor to:

determine the first pattern or the second pattern based on a dimension of the video block.

19. The video processing apparatus of claim 14 , wherein the prediction block is determined as a weighted combination of the first intermediate prediction block weighted using a first set of weights and the second intermediate prediction block weighted using a second set of weights.

20. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

partition a video block of a current picture into a first set of sub-blocks according to a first pattern;

partition the video block into a second set of sub-blocks according to a second pattern, wherein at least one sub-block in the second set has a different dimension than a sub-block in the first set; and

determine a prediction block for the video block, wherein the prediction block is a combination of a first intermediate prediction block generated from the first set of sub-blocks and a second intermediate prediction block generated from the second set of sub-blocks,

wherein the partitioning the video block into the first set of sub-blocks is performed for a motion compensation of the video block based on a reference picture in a first reference picture list, and the partitioning the video block into the second set of sub-blocks is performed for the motion compensation of the video block based on a reference picture in a second reference picture list, wherein reference pictures in the first reference picture list are temporally at a different side of the current picture than reference pictures in the second reference picture list.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: ZHANG, KAI; ZHANG, LI
To: BYTEDANCE INC.
Reel/Frame 054424/0452 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 19, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 054424/0501 →
Priority Claims (1)
WO PCT/CN2018/089242 · May 31, 2018 · international
Continuity (2)
Continuation PCTIB2019054467 · May 30, 2019
Related Publication 20210092431A1 · Mar 25, 2021
Cited By (2)
US 12,225,185 US 12,695,863