IP Library › Granted Patent US 11,134,262
Granted Patent B2
US 11,134,262 · App. 16/800,867 · Granted Sep 28, 2021

Method and apparatus for video coding

Inventors: Guichun Li (Milpitas, CA); Xiang Li (Saratoga, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/52H04N19/105H04N19/176H04N19/189H04N19/577
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,134,262
App. No.
16/800,867
Granted
Sep 28, 2021
Kind
B2
Abstract

Aspects of the disclosure provide a method and an apparatus for video coding. In some examples, an apparatus includes processing circuitry that obtains a plurality of control point motion vectors for a current block, determines first motion vectors and second motion vectors for a plurality of sub-blocks of the current block according to the plurality of control point motion vectors. The first motion vectors correspond to a first relative position in each sub-block. At least one first motion vector is different from a corresponding second motion vector. The processing circuitry obtains a first set of predicted samples according to the first motion vectors, obtains a second set of predicted samples according to the second motion vectors, and obtains a third set of predicted samples for the current block based on the first set of predicted samples and the second set of predicted samples.

Claims (60)

1. A method of video decoding in a decoder, comprising:

obtaining a plurality of control point motion vectors for a current block, the current block being divided into a plurality of sub-blocks, one of the plurality of sub-blocks having a size of 4×4 pixels;

determining first motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, the first motion vectors corresponding to a first relative position in each sub-block;

determining second motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, at least one first motion vector from the first motion vectors being different from a corresponding second motion vector from the second motion vectors;

obtaining a first set of predicted samples for the current block according to the first motion vectors and the plurality of sub-blocks;

obtaining a second set of predicted samples for the current block according to the second motion vectors and the plurality of sub-blocks; and

obtaining a third set of predicted samples for the current block based on the first set of predicted samples and the second set of predicted samples, the third set of predicted samples being calculated as a weighted average of the first set of predicted samples and the second set of predicted samples, wherein a pixel in the first set of predicted samples for the one of the plurality of sub-blocks has

a weight of 3/4 for calculating the weighted average when the pixel is located less than three pixels away from the first relative position along a horizontal direction or a vertical direction, and

a weight of 1/4 for calculating the weighted average when the pixel is located three or more pixels away from the first relative position along the horizontal direction or the vertical direction.

2. The method of claim 1 , wherein

the second motion vectors correspond to a second relative position in each sub-block, the first relative position being different from the second relative position.

3. The method of claim 2 , wherein the first relative position is a center of each sub-block.

4. The method of claim 3 , wherein the second relative position is a particular corner of each sub-block.

5. The method of claim 2 , wherein the first relative position and the second relative position are symmetric with respect to one of a vertical line, a horizontal line, and a diagonal line intersecting a center of each sub-block.

6. The method of claim 2 , wherein

the first relative position is a center of a left edge of each sub-block, and

the second relative position is a center of a right edge of each sub-block.

7. The method of claim 1 , wherein

the second motion vectors are obtained by applying a motion vector offset to the first motion vectors.

8. The method of claim 1 , wherein

a first pixel in the first set of predicted samples for a particular one of the sub-blocks is located at a first position in the sub-block and has a first weight for calculating the weighted average,

a second pixel in the first set of predicted samples for the particular one of the sub-blocks is located at a second position in the sub-block and has a second weight for calculating the weighted average, and

the first weight is greater than the second weight, and the first position is closer to the first relative position of the sub-block than the second position.

9. The method of claim 1 , wherein

weights for calculating the weighted average for a particular one of the plurality of sub-blocks are derived according to a generalized bi-prediction (GBi) index for the particular one of the sub-blocks.

10. The method of claim 1 , wherein

the current block is a uni-predicted block.

11. The method of claim 1 , wherein

a de-blocking process is not performed on the current block.

12. The method of claim 1 , further comprising:

determining whether a stacked affine mode is enabled in a coding region of a particular level according to a flag signaled at the particular level, the current block being included in the coding region of the particular level,

wherein

the particular level corresponds to one of a slice, title, title-group, picture, and sequence level,

the determining the second motion vectors for the plurality of sub-blocks and the obtaining the second set of predicted samples for the current block are performed when the stacked affine mode is enabled, and

the determining the second motion vectors for the plurality of sub-blocks and the obtaining the second set of predicted samples for the current block are not performed when the stacked affine mode is not enabled.

13. The method of claim 12 , wherein

when the flag that is applicable to the coding region indicates that the stacked affine mode is enabled, the determining the second motion vectors for the plurality of sub-blocks and the obtaining the second set of predicted samples for the current block are not performed on any bi-predicted block in the coding region.

14. An apparatus, comprising:

processing circuitry configured to:

obtain a plurality of control point motion vectors for a current block, the current block being divided into a plurality of sub-blocks, one of the plurality of sub-blocks having a size of 4×4 pixels;

determine first motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, the first motion vectors corresponding to a first relative position in each sub-block;

determine second motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, at least one first motion vector from the first motion vectors being different from a corresponding second motion vector from the second motion vectors;

obtain a first set of predicted samples for the current block according to the first motion vectors and the plurality of sub-blocks;

obtain a second set of predicted samples for the current block according to the second motion vectors and the plurality of sub-blocks; and

obtain a third set of predicted samples for the current block based on the first set of predicted samples and the second set of predicted samples, the third set of predicted samples being calculated as a weighted average of the first set of predicted samples and the second set of predicted samples, wherein a pixel in the first set of predicted samples for the one of the plurality of sub-blocks has

a weight of 3/4 for calculating the weighted average when the pixel is located less than three pixels away from the first relative position along a horizontal direction or a vertical direction, and

a weight of 1/4 for calculating the weighted average when the pixel is located three or more pixels away from the first relative position along the horizontal direction or the vertical direction.

15. The apparatus of claim 14 , wherein

the second motion vectors correspond to a second relative position in each sub-block, the first relative position being different from the second relative position.

16. The apparatus of claim 14 , wherein

the second motion vectors are obtained by applying a motion vector offset to the first motion vectors.

17. A non-transitory computer-readable medium storing instructions which when executed by a computer for video decoding cause the computer to perform:

obtaining a plurality of control point motion vectors for a current block, the current block being divided into a plurality of sub-blocks, one of the plurality of sub-blocks having a size of 4×4 pixels;

determining first motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, the first motion vectors corresponding to a first relative position in each sub-block;

determining second motion vectors for the plurality of sub-blocks, respectively, according to the plurality of control point motion vectors, at least one first motion vector from the first motion vectors being different from a corresponding second motion vector from the second motion vectors;

obtaining a first set of predicted samples for the current block according to the first motion vectors and the plurality of sub-blocks;

obtaining a second set of predicted samples for the current block according to the second motion vectors and the plurality of sub-blocks; and

obtaining a third set of predicted samples for the current block based on the first set of predicted samples and the second set of predicted samples, the third set of predicted samples being calculated as a weighted average of the first set of predicted samples and the second set of predicted samples, wherein a pixel in the first set of predicted samples for the one of the plurality of sub-blocks has

a weight of 3/4 for calculating the weighted average when the pixel is located less than three pixels away from the first relative position along a horizontal direction or a vertical direction, and

a weight of 1/4 for calculating the weighted average when the pixel is located three or more pixels away from the first relative position along the horizontal direction or the vertical direction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 1, 2020
From: LI, GUICHUN; LI, XIANG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 052544/0346 →
Continuity (2)
Provisional Application 62812221 · Feb 28, 2019
Related Publication 20200280733A1 · Sep 3, 2020