IP Library › Granted Patent US 11,985,354
Granted Patent B2
US 11,985,354 · App. 17/676,966 · Granted May 14, 2024

Affine motion model restrictions reducing number of fetched reference lines during processing of one block row with enhanced interpolation filter

Inventors: Timofey Mikhailovich Solovyev (Moscow, RU); Maxim Borisovitch Sychev (Moscow, RU); Huanbang Chen (Shenzhen, CN); Alexander Alexandrovich Karabutov (Moscow, RU); Roman Igorevich Chernyak (Moscow, RU); Sergey Yurievich Ikonin (Moscow, RU); Haitao Yang (Shenzhen, CN); Elena Alexandrovna Alshina (Munich, DE)
Assignee: HUAWEI TECHNOLOGIES CO., LTD.
H04N19/615H04N19/105H04N19/132H04N19/139H04N19/172H04N19/176H04N19/80
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,354
App. No.
17/676,966
Granted
May 14, 2024
Kind
B2
Abstract

A method for coding a video implemented in an encoder or a decoder, comprising: determining control point motion vectors, CPMVs, for a block according to affine inter-prediction, according to a preselected affine motion model, the block being an affine block; performing motion compensation for the block using a pixel-based motion vector field according to values of the CPMVs, upon fulfilling at least one of the following conditions: A) for a predefined size of a sub-block of M×M, during processing of one line, respectively, of the sub-block the number of lines of the reference picture is less than N, where N is an integer and N is larger than 2.

Claims (51)

1. A method for coding a video implemented in an encoder or a decoder, the method comprising:

determining control point motion vectors (CPMVs) for a block according to affine inter-prediction, according to a preselected affine motion model, the block being an affine block;

performing motion compensation for the block using a pixel-based motion vector field according to values of the CPMVs, upon fulfilling at least one of the following conditions:

A) the number of lines of the reference picture is less than N, where N is a predefined value and N is larger than 2; or

B) fetching of lines during processing of one sub-block is sequential, respectively, such that if for an i th line of the current block the j th line of the reference picture is fetched, then for the (i+1) th line of the current block only lines higher than j are fetched; or

C) for a predefined size of a sub-block of M×M, only one additional line is fetched for each line of the sub-block except for the first line of the sub-block;

wherein the following inequalities hold:

d Ver Y ≥−1;

(max(0, d Ver Y )+| d Hor Y |)( W+ 1)+2≤ N;

where dHorY is the difference of the vertical part of a motion vector between each sample in horizontal direction according to the affine motion model for the current affine block; dVerY is the difference of the vertical part of the motion vector between each sample in vertical direction according to the affine motion model for the current affine block.

2. The method of claim 1 , wherein performing motion compensation for the block using a pixel-based motion vector field according to values of the CPMVs further comprises:

deriving the pixel-based motion vector field for the block;

obtaining interpolated samples in a reference picture based on the derived motion vector field using bilinear interpolation; and

applying a high-pass filter to the interpolated samples.

3. The method of claim 1 , wherein condition C) is fulfilled and condition C) further comprises: if for the previous lines of the sub-block, lines j, j+1, j+2, . . . , j+k−1 were fetched from the reference picture, where the number k is equal to N, then for the current line only line j+k lines are fetched additionally from the reference picture.

4. The method of claim 1 , wherein condition B) is fulfilled and condition B) further comprises:

for two sequential lines (i th and (i+1) th ) the difference in y-coordinate between corresponding lines in the reference picture is equal to the difference in y-coordinate between samples corresponding to the first samples of these lines, the difference given by d=1+dVerY; wherein:

dVerY≥−1, where dVerY is the difference of the vertical part of a motion vector between each sample in vertical direction according to the affine motion model for the current affine block.

5. The method of claim 1 , wherein conditions A) and C) are fulfilled and for conditions A) and C), the following inequality holds:

(max(0, dVerY)+|dHorY|)(W+1)+2≤N, dHorY is the difference of the vertical part of a motion vector per one sample in horizontal direction according to the affine motion model for the current affine block; dVerY is the difference of the vertical part of the motion vector between each sample in vertical direction according to the affine motion model for the current affine block.

6. The method of claim 1 , wherein the size of the sub-block is equal to 4×4, where A) is fulfilled and N is equal to 3; where dX[0] corresponds to dHorX, dX[1] corresponds to dHorY, dY[0] corresponds to dVerX and dY[1] corresponds to dVerY; where dHorY is the difference of the vertical part of a motion vector between each sample in horizontal direction according to the affine motion model for the current affine block; dVerY is the difference of the vertical part of the motion vector between each sample in vertical direction according to the affine motion model for the current affine block; wherein the method further comprises

setting the value of a variable eifSubblockSize equal to 4;

deriving a variable eifCanBeApplied as follows:

setting the value of eifCanBeApplied to TRUE;

If dY[1] is less than ((−1)<<K), then a value of the variable eifCanBeApplied is set equal to FALSE;

If (max(0, dY[1])+Abs(dX[1]))*(1+eifSubblockSize) is greater than (1<<K) then the value of the variable eifCanBeApplied is set equal to FALSE;

where K is an integer number greater than or equal to 0 and K corresponds to a precision of dX[0], dX[1], dY[0], dY[1].

7. The method of claim 1 , wherein the affine inter-prediction comprises bi-prediction, and the constraint is symmetrically applied for both lists corresponding to the bi-prediction.

8. The method of claim 1 , wherein performing block-based affine transform prediction on the block further comprises: calculating a motion vector for the center of the sub-block and performing translational motion compensation for each sub-block of the block.

9. A decoder, comprising:

one or more processors; and

a non-transitory computer-readable storage medium coupled to the one or more processors and storing instructions for execution by the one or more processors, wherein the instructions, when executed by the one or more processors, configure the decoder to carry out the operations of:

determining control point motion vectors (CPMVs) for a block according to affine inter-prediction, according to a preselected affine motion model, the block being an affine block;

performing motion compensation for the block using a pixel-based motion vector field according to values of the CPMVs, upon fulfilling at least one of the following conditions:

A) the number of lines of the reference picture is less than N, where N is a predefined value and N is larger than 2; or

B) fetching of lines during processing of one sub-block is sequential, respectively, such that if for an i th line of the current block the j th line of the reference picture is fetched, then for the (i+1) th line of the current block only lines higher than j are fetched; or

C) for a predefined size of a sub-block of M×M, only one additional line is fetched for each line of the sub-block except for the first line of the sub-block;

wherein the following inequalities hold:

d Ver Y≥− 1;

(max(0 ,d Ver Y )+| d Hor Y |)( W+ 1)+2 ≤N;

where dHorY is the difference of the vertical part of a motion vector between each sample in horizontal direction according to the affine motion model for the current affine block; dVerY is the difference of the vertical part of the motion vector between each sample in vertical direction according to the affine motion model for the current affine block.

10. The decoder of claim 9 , wherein performing motion compensation for the block using a pixel-based motion vector field according to values of the CPMVs further comprises:

deriving the pixel-based motion vector field for the block;

obtaining interpolated samples in a reference picture based on the derived motion vector field using bilinear interpolation; and

applying a high-pass filter to the interpolated samples.

11. The decoder of claim 9 , wherein condition C) further comprises: if for the previous lines of the sub-block, lines j, j+1, j+2, . . . , j+k−1 were fetched from the reference picture, where the number k is equal to N, then for the current line only line j+k lines are fetched additionally from the reference picture.

12. The decoder of claim 9 , wherein condition B) further comprises: for two sequential lines (i th and (i+1) th ) the difference in y-coordinate between corresponding lines in the reference picture is equal to the difference in y-coordinate between samples corresponding to the first samples of these lines, the difference given by d=1+dVerY; wherein:

dVerY≥−1, where dVerY is the difference of the vertical part of a motion vector between each one sample in vertical direction according to the affine motion model for the current affine block.

13. The decoder of claim 9 , wherein for conditions A) and C), the following inequality holds:

(max(0, dVerY)+|dHorY|)(W+1)+2≤N, dHorY is the difference of the vertical part of a motion vector per one sample in horizontal direction according to the affine motion model for the current affine block; dVerY is the difference of the vertical part of the motion vector between each sample in vertical direction according to the affine motion model for the current affine block.

14. The decoder of claim 9 , wherein in case the affine inter-prediction comprises bi-prediction, the constraint is symmetrically applied for both lists corresponding to the bi-prediction.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 6, 2024
From: SOLOVYEV, TIMOFEY MIKHAILOVICH; SYCHEV, MAXIM BORISOVITCH; CHEN, HUANBANG; KARABUTOV, ALEXANDER ALEXANDROVICH; CHERNYAK, ROMAN IGOREVICH; IKONIN, SERGEY YURIEVICH; YANG, HAITAO; ALSHINA, ELENA ALEXANDROVNA
To: HUAWEI TECHNOLOGIES CO., LTD.
Reel/Frame 066659/0274 →
Priority Claims (2)
WO PCT/RU2019/000690 · Sep 30, 2019 · international
WO PCT/RU2019/000691 · Sep 30, 2019 · international
Continuity (2)
Continuation PCTRU2020050257 · Sep 30, 2020
Related Publication 20220182678A1 · Jun 9, 2022