IP Library Granted Patent US 12,439,078
Granted Patent B2
US 12,439,078 · App. 18/541,701 · Granted Oct 7, 2025

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 (San Diego, CA)
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 12,439,078
App. No.
18/541,701
Granted
Oct 7, 2025
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 (83)

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

partitioning a video frame of the video signal into a plurality of video blocks;

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

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

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

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

determining whether to apply the LIC and generating an LIC flag that indicates whether the LIC is applied to the affine coding block;

deriving, 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 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 the final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset comprises:

applying 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 the value of the LIC flag on the affine coding block; and

applying, 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 the value of the LIC flag on the affine coding block; and

applying, 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:

generating, the LIC flag equal to one; and

applying the LIC after the PROF.

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

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

adjusting 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 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 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 encoding a video signal, comprising:

partitioning a video frame of the video signal into a plurality of video blocks;

determining a first reference picture/associated with a video block within the video signal;

determining, 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, 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, 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, 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 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 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 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 affine model parameters derived based on the control point MVs;

obtaining, 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, the horizontal MV difference Δv x (i, j) by 14 minus the first bit-shift value n a ; and

right shifting, 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, the horizontal MV difference Δv x (i, j) based on a motion refinement threshold; and

clipping, 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 nb , wherein nb is equal to the coding bit-depth minus 7, and

wherein obtaining the prediction refinements for samples in the video block comprises:

obtaining, 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).

13. 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:

partitioning a video frame of a video signal into a plurality of video blocks; determine 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;

determine 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;

determine whether to apply the LIC and generate 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.

14. The computing device of claim 13 , 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.

15. The computing device of claim 14 , 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.

16. The computing device of claim 14 , 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.

17. The computing device of claim 13 , 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:

generate the LIC flag equal to one; and

apply the LIC after the PROF.

18. The computing device of claim 17 , 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.

19. The computing device of claim 13 , 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.

20. A non-transitory computer readable storage medium storing a bitstream generated by an encoding method, the method comprising:

partitioning a video frame of the video signal into a plurality of video blocks;

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

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

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

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

determining whether to apply the LIC and generating an LIC flag that indicates whether the LIC is applied to the affine coding block;

deriving, 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 final prediction samples of the affine coding block based on the PROF prediction sample refinements and the LIC weight and offset.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 15, 2023
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 065886/0101 →
Continuity (4)
Continuation 17556919 · Dec 20, 2021
Continuation PCTUS2020038701 · Jun 19, 2020
Provisional Application 62863830 · Jun 19, 2019
Related Publication 20240121431A1 · Apr 11, 2024
References Cited (13)
US 12069297B2 · Xiu · 2024 [cited by examiner]
US 20200296405A1 · Huang et al. · 2020 [cited by applicant]
US 20220210439A1 · Lai et al. · 2022 [cited by applicant]
US 20230396780A1 · Wang · 2023 [cited by examiner]
WO 2018064492A1 · 2018 [cited by applicant]
WO 2019010156A1 · 2019 [cited by applicant]
WO 2020191034A1 · 2020 [cited by applicant]
Extended European Search Report issued in Application No. 20825996.0, dated Apr. 13, 2023,(16p). [cited by applicant]
International Search Report issued to PCT/US2020/038701 dated Sep. 28, 2020, (3p). [cited by applicant]
Philippe Bordes et al., CE1-related: Combination of post-reconstruction filtering and bi-directional LIC mutually exclusive, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IC JTC 1/SC 29/WG 11, [Document: J… [cited by applicant]
Benjaminbross, et al., Versatile Video Coding (Draft 5), Joint Video Experts Team (JVET) of ITU-T SG16 WP3 and ISO/IEC JTC 1/SC 29 WG 11, [Document: JVET-N1001-7 (Version7)], 14th Meeting: Geneva, CH, May 29, 2019 (384p… [cited by applicant]
Jiancong (Daniel) Luo et al.. “CE2-related: Prediction refinement with optical flow for affine mode”. Joint Video Experts Team (JVET)o f ITU-T SG 16 WP 3 andISO/IEC JTC 1/SC29/WG 11, [Document: JVET-N0236-r5 (Version 7)… [cited by applicant]
Huanbang Chen et al., “CE1-related: Combination of LIC and affine”, Joint Video Experts Team (JVET)of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, [Document: JVET-N0171-v2 (Version 2)1, 14th Meeting: Geneva, CH, Mar.… [cited by applicant]