IP Library Granted Patent US 11,889,110
Granted Patent B2
US 11,889,110 · App. 17/556,919 · Granted Jan 30, 2024

Methods and apparatus for prediction refinement with optical flow

Inventors: Xiaoyu Xiu (San Diego, CA); Yi-Wen Chen (San Diego, CA); Xianglin Wang (San Diego, CA); Shuiming Ye (San Diego, CA); Tsung-Chuan Ma (San Diego, CA); Hong-Jheng Jhu (Beijing, CN)
Assignee: Beijing Dajia Internet Information Technology Co., Ltd.
H04N19/577H04N19/105H04N19/132H04N19/139H04N19/149H04N19/159H04N19/176H04N19/184H04N19/196H04N19/44H04N19/513
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,889,110
App. No.
17/556,919
Granted
Jan 30, 2024
Kind
B2
Abstract

Methods, apparatuses, and non-transitory computer-readable storage mediums are provided for decoding a video signal. The method includes obtaining a first reference picture I associated with a video block, obtaining control point motion vectors (CPMVs) of an affine coding block based on the video block, obtaining prediction samples I(i, j) of the affine coding block, deriving PROF prediction sample refinements of the affine coding block based on the PROF, receiving an LIC flag that indicates whether the LIC is applied to the affine coding block, deriving, and when the LIC is applied, LIC weight and offset based on neighboring reconstructed samples of the affine coding block and their corresponding reference samples in the first reference picture, and obtaining final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset.

Claims (72)

1. A method of local illumination compensation (LIC) and prediction refinement with optical flow (PROF) for decoding a video signal, comprising:

obtaining, at a decoder, a first reference picture I associated with a video block that is coded by affine mode within the video signal;

obtaining, at the decoder, control point motion vectors (CPMVs) of an affine coding block based on the video block;

obtaining, at the decoder, prediction samples I(i, j) of the affine coding block from reference samples in the first reference picture I based on the CPMVs, wherein i and j represent a coordinate of one sample within the video block;

deriving, at the decoder, PROF prediction sample refinements of the affine coding block based on the PROF;

receiving, at the decoder, an LIC flag that indicates whether the LIC is applied to the affine coding block;

deriving, at the decoder and in response to determining that the LIC is applied, LIC weight and offset based on neighboring reconstructed samples of the affine coding block and their corresponding reference samples in the first reference picture; and

obtaining, at the decoder, final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset.

2. The method of claim 1 , wherein obtaining, at the decoder, the final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset comprises:

applying, at the decoder, either the PROF or the LIC to the affine coding block based on the LIC flag.

3. The method of claim 2 , wherein applying either the PROF or the LIC to the affine coding block based on the LIC flag comprises:

determining, at the decoder, the value of the LIC flag on the affine coding block; and

applying, at the decoder and in response to determining that the LIC flag is equal to one, the LIC to the affine coding block by adjusting the prediction samples I(i, j) based on LIC weight and offset.

4. The method of claim 2 , wherein applying either the PROF or the LIC to the affine coding block based on the LIC flag comprises:

determining, at the decoder, the value of the LIC flag on the affine coding block; and

applying, at the decoder and in response to determining that the LIC flag is equal to zero, the PROF to the affine coding block by adding the PROF prediction sample refinements to the prediction samples I(i, j) of the affine coding block.

5. The method of claim 1 , wherein obtaining, at the decoder, final prediction samples of the affine coding block based on the PROF prediction samples refinement and the LIC weight and offset comprises:

receiving, at the decoder, the LIC flag equal to one; and

applying, at the decoder, the LIC after the PROF.

6. The method of claim 5 , wherein applying the LIC after the PROF comprises:

refining, at the decoder, the prediction samples I(i, j) based on PROF sample refinement; and

adjusting, at the decoder, the refined prediction samples I(i, j) based on the LIC weight and offset.

7. The method of claim 1 , wherein deriving the LIC weight and offset by applying the LIC to the affine coding block comprises:

applying, at the decoder, the PROF and the LIC at a high precision.

8. The method of claim 7 , wherein applying the PROF and the LIC at the high precision comprises:

right-shifting, at the decoder, the final prediction samples after the PROF and the LIC is applied to the original bit-depth of the prediction samples I(i, j) by a first bit-shift value.

9. A bit-depth representation method of prediction refinement with optical flow (PROF) for decoding a video signal, comprising:

obtaining, at the decoder, a first reference picture I associated with a video block within the video signal;

obtaining, at the decoder, prediction samples I(i, j) of the video block from a reference block in the first reference picture I, wherein i and j represent a coordinate of one sample within the video block;

controlling, at the decoder, internal bit-depths of a PROF derivation process for various representation precisions of internal PROF parameters by applying right-shifting to the internal PROF parameters based on a first bit-shift value n a , wherein the internal PROF parameters comprise horizontal gradient values, vertical gradient values, horizontal motion difference values, and vertical motion difference values derived for the prediction samples I(i, j);

obtaining, at the decoder, prediction refinement values for samples in the video block based on the PROF derivation process being applied to the video block based on the prediction samples I(i, j); and

obtaining, at the decoder, final prediction samples of the video block based on the combination of the prediction samples I(i, j) and the prediction refinement values.

10. The method of claim 9 , wherein controlling the internal bit-depths of the PROF derivation process for various representation precisions of internal PROF parameters by applying right-shifting to the internal PROF parameters comprises:

obtaining, at the decoder, a horizontal gradient value of a first prediction sample I(i, j) based on a difference between a first prediction sample I(i+1,j) and a first prediction sample I(i−1,j);

obtaining, at the decoder, a vertical gradient value of the first prediction sample I(i, j) based on a difference between a first prediction sample I(i, j+1) and a first prediction sample I(i, j−1);

obtaining, at the decoder, control point motion vectors (MVs) of the first prediction sample I(i, j), wherein the control point MVs comprise the MVs of top-left, top-right, and bottom-left corner blocks of one block that contains the video block;

obtaining, at the decoder, affine model parameters derived based on the control point MVs;

obtaining, at the decoder, a horizontal MV difference Δv x (i, j) and a vertical MV difference Δv y (i, j) for the first prediction sample I(i, j) based on the affine model parameters;

right shifting, at the decoder, the horizontal MV difference Δv x (i, j) by 14 minus the first bit-shift value n a ; and

right shifting, at the decoder, the vertical MV difference Δv y (i, j) by 14 minus the first bit-shift value n a .

11. The method of claim 10 , further comprising:

clipping, at the decoder, the horizontal MV difference Δv x (i, j) based on a motion refinement threshold; and

clipping, at the decoder, the vertical MV difference Δv y (i, j) based on the motion refinement threshold.

12. The method of claim 11 , wherein the motion refinement threshold equal to 2 n b , wherein nb is equal to the coding bit-depth minus 7.

13. The method of claim 11 , wherein obtaining the prediction refinements for samples in the video block comprises:

obtaining, at the decoder, the prediction refinement values based on the horizontal gradient values, the horizontal MV difference Δv x (i, j), the vertical gradient values, and vertical MV difference Δv y (i, j).

14. A computing device comprising:

one or more processors;

a non-transitory computer-readable storage medium storing instructions executable by the one or more processors, wherein the one or more processors are configured to:

obtain a first reference picture I associated with a video block that is coded by affine mode within the video signal;

obtain control point motion vectors (CPMVs) of an affine coding block based on the video block;

obtain prediction samples I(i, j) of the affine coding block from reference samples in the first reference picture I based on the CPMVs, wherein i and j represent a coordinate of one sample within the video block;

derive prediction refinement with optical flow (PROF) prediction sample refinements of the affine coding block based on PROF;

receive a local illumination compensation (LIC) flag that indicates whether an LIC is applied to the affine coding block;

derive, in response to determining that the LIC is applied, LIC weight and offset based on neighboring reconstructed samples of the affine coding block and their corresponding reference samples in the first reference picture; and

obtain final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset.

15. The computing device of claim 14 , wherein the one or more processors configured to obtain the final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset are further configured to:

apply either the PROF or the LIC to the affine coding block based on the LIC flag.

16. The computing device of claim 15 , wherein the one or more processors configured to apply either the PROF or the LIC to the affine coding block based on the LIC flag are further configured to:

determine the value of the LIC flag on the affine coding block; and

apply, in response to determining that the LIC flag is equal to one, the LIC to the affine coding block by adjusting the prediction samples I(i, j) based on LIC weight and offset.

17. The computing device of claim 15 , wherein the one or more processors configured to apply either the PROF or the LIC to the affine coding block based on the LIC flag are further configured to:

determine the value of the LIC flag on the affine coding block; and

apply, in response to determining that the LIC flag is equal to zero, the PROF to the affine coding block by adding the PROF prediction sample refinements to the prediction samples I(i, j) of the affine coding block.

18. The computing device of claim 14 , wherein the one or more processors configured to obtain final prediction samples of the affine coding block based on the PROF prediction samples refinement and the LIC weight and offset are further configured to:

receive the LIC flag equal to one; and

apply the LIC after the PROF.

19. The computing device of claim 18 , wherein the one or more processors configured to apply the LIC after the PROF are further configured to:

refine the prediction samples I(i, j) based on PROF sample refinement; and

adjust the refined prediction samples I(i, j) based on the LIC weight and offset.

20. The computing device of claim 14 , wherein the one or more processors configured to derive the LIC weight and offset by applying the LIC to the affine coding block are further configured to:

apply the PROF and the LIC at a high precision.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 22, 2021
From: XIU, XIAOYU; CHEN, YI-WEN; WANG, XIANGLIN; YE, SHUIMING; MA, TSUNG-CHUAN; JHU, HONG-JHENG
To: BEIJING DAJIA INTERNET INFORMATION TECHNOLOGY CO., LTD.
Reel/Frame 058455/0446 →
Continuity (3)
Continuation PCTUS2020038701 · Jun 19, 2020
Provisional Application 62863830 · Jun 19, 2019
Related Publication 20220116655A1 · Apr 14, 2022