IP Library › Granted Patent US 12,425,604
Granted Patent B2
US 12,425,604 · App. 18/755,672 · Granted Sep 23, 2025

Methods and apparatuses 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/137H04N19/105H04N19/132H04N19/176
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,425,604
App. No.
18/755,672
Granted
Sep 23, 2025
Kind
B2
Abstract

Methods, apparatuses, and non-transitory computer-readable storage mediums are provided for encoding a video signal. A method includes obtaining a first reference picture associated with a video block in a current picture within the video signal and a first motion vector (MV) from the video block to a reference block; obtaining first prediction samples of the video block generated from samples of the reference block; controlling internal bit-depths of internal prediction refinement with optical flow (PROF) parameters by performing a shift operation; obtaining a prediction refinement value for the first prediction sample based on the horizontal and vertical gradient values and the horizontal and vertical motion differences; obtaining second prediction samples associated with a second MV and a prediction refinement value for a second prediction sample; and obtaining a final prediction sample of the video block based on the first prediction sample, the second prediction sample, and the prediction refinement values.

Claims (74)

1. A method for coding a video signal, comprising:

obtaining a first reference picture associated with a video block in a current picture within the video signal and a first motion vector (MV) from the video block in the current picture to a reference block in the first reference picture, wherein the first reference picture comprises multiple non-overlapped video blocks and at least one video block is associated with at least one MV;

obtaining first prediction samples of the video block generated from samples of the reference block in the first reference picture;

controlling internal bit-depths of internal prediction refinement with optical flow (PROF) parameters by performing a shift operation according to shift values, wherein the shift values comprise a first shift value for calculation of gradient values that are used in a bi-directional optical flow (BDOF) process, and wherein the internal PROF parameters comprise a horizontal gradient value, a vertical gradient value, a horizontal motion difference, and a vertical motion difference derived for a first prediction sample;

obtaining a prediction refinement value for the first prediction sample based on the horizontal and vertical gradient values and the horizontal and vertical motion differences;

obtaining second prediction samples associated with a second MV and a corresponding prediction refinement value for a second prediction sample; and

obtaining a final prediction sample of the video block based on the first prediction sample, the second prediction sample, and the prediction refinement values.

2. The method of claim 1 , wherein controlling the internal bit-depths of the internal PROF parameters comprises, for one sample in the video block:

obtaining a horizontal gradient value based on prediction samples of two samples adjacent to said one sample in a horizontal direction and the first shift value; and

obtaining a vertical gradient value based on prediction samples of two samples adjacent to said one sample in a vertical direction and the first shift value.

3. The method of claim 2 , wherein the first shift value is equal to a maximum of 6 and a value of coding bit-depth minus 6.

4. The method of claim 2 , further comprising, for said one sample in the video block:

obtaining control point MVs of a coding block which contains the video block, wherein the control point MVs comprises MVs of top-left, top-right, and bottom-left corner blocks of the coding block;

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

obtaining a horizontal MV difference and a vertical MV difference based on the affine parameters, the horizontal offset, and the vertical offset;

right shifting the horizontal MV difference by a second shift value; and

right shifting the vertical MV difference by the second shift value.

5. The method of claim 4 , wherein the second shift value is equal to 13 minus a precision bit-depth of gradient values.

6. The method of claim 5 , wherein the precision bit-depth of gradient values is equal to a maximum of 6 and a value of coding bit-depth minus 6.

7. The method of claim 4 , wherein obtaining the final prediction sample of the video block comprises:

obtaining first prediction refinement values based on horizontal gradient values, horizontal MV differences, vertical gradient values, and vertical MV differences that are generated for the first prediction sample;

obtaining second prediction refinement values based on horizontal gradient values, horizontal motion differences, vertical gradient values, and vertical motion differences that are generated for the second prediction sample;

obtaining the prediction refinement values by averaging the first prediction refinement values and the second prediction refinement values;

obtaining a bi-prediction sample based on a sum of the first prediction sample, the second prediction sample, the prediction refinement values; and

right shifting the sum by a third shift value.

8. The method of claim 2 , wherein obtaining the horizontal and vertical gradient values of the first prediction sample further comprises:

deriving an additional row or column of prediction samples outside the video block which is adjacent to each of top, left, bottom and right boundaries of the video block for the first prediction sample.

9. The method of claim 8 , wherein deriving the additional row or column of the prediction samples further comprises:

deriving prediction samples outside the video block which are adjacent to the left and right boundaries from integer reference samples in the first reference picture left to a fractional sample position; and

deriving prediction samples outside the video block which are adjacent to the top and bottom boundaries from integer reference samples in the first reference picture above the fractional sample position.

10. The method of claim 8 , wherein deriving the additional row or column of the prediction samples further comprises:

deriving prediction samples outside the video block which are adjacent to the left and right boundaries from integer reference samples in the first reference picture that are closest to respective fractional sample positions in a horizontal direction; and

deriving prediction samples outside the video block which are adjacent to the top and bottom boundaries from integer reference samples in the first reference picture that are closest to the respective fractional sample positions in a vertical direction.

11. A computing device for coding a video signal, 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 associated with a video block in a current picture within the video signal and a first motion vector (MV) from the video block in the current picture to a reference block in the first reference picture, wherein the first reference picture comprises multiple non-overlapped video blocks and at least one video block is associated with at least one MV;

obtain first prediction samples of the video block generated from samples of the reference block in the first reference picture;

control internal bit-depths of internal prediction refinement with optical flow (PROF) parameters by performing a shift operation according to shift values, wherein the shift values comprise a first shift value for calculation of gradient values that are used in a bi-directional optical flow (BDOF) process, and wherein the internal PROF parameters comprise a horizontal gradient value, a vertical gradient value, a horizontal motion difference, and a vertical motion difference derived for a first prediction sample;

obtain a prediction refinement value for the first prediction sample based on the horizontal and vertical gradient values and the horizontal and vertical motion differences;

obtain second prediction samples associated with a second MV and a corresponding prediction refinement value for a second prediction sample; and

obtain a final prediction sample of the video block based on the first prediction sample, the second prediction sample, and the prediction refinement values.

12. The computing device of claim 11 , wherein the one or more processors configured to control the internal bit-depths of the internal PROF parameters are further configured to, for one sample in the video block:

obtain a horizontal gradient value based on prediction samples of two samples adjacent to said one sample in a horizontal direction and the first shift value; and

obtain a vertical gradient value based on prediction samples of two samples adjacent to said one sample in a vertical direction and the first shift value.

13. The computing device of claim 12 , wherein the first shift value is equal to a maximum of 6 and a value of coding bit-depth minus 6.

14. The computing device of claim 12 , wherein the one or more processors are further configured to, for said one sample in the video block:

obtain control point MVs of a coding block which contains the video block, wherein the control point MVs comprises MVs of top-left, top-right, and bottom-left corner blocks of the coding block;

obtain affine model parameters derived based on the control point MVs;

obtain a horizontal MV difference and a vertical MV difference based on the affine parameters, the horizontal offset, and the vertical offset;

right shift the horizontal MV difference by a second shift value; and

right shift the vertical MV difference by the second shift value.

15. The computing device of claim 14 , wherein the second shift value is equal to 13 minus a precision bit-depth of gradient values.

16. The computing device of claim 14 , wherein the one or more processors configured to obtain the final prediction sample of the video block are further configured to:

obtain first prediction refinement values based on horizontal gradient values, horizontal MV differences, vertical gradient values, and vertical MV differences that are generated for the first prediction sample;

obtain second prediction refinement values based on horizontal gradient values, horizontal motion differences, vertical gradient values, and vertical motion differences that are generated for the second prediction sample;

obtain the prediction refinement values by averaging the first prediction refinement values and the second prediction refinement values;

obtain a bi-prediction sample based on a sum of the first prediction sample, the second prediction sample, the prediction refinement values; and

right shift the sum by a third shift value.

17. The computing device of claim 12 , wherein the one or more processors configured to obtain the horizontal and vertical gradient values of the first prediction sample are further configured to:

derive an additional row or column of prediction samples outside the video block which is adjacent to each of top, left, bottom and right boundaries of the video block for the first prediction sample.

18. The computing device of claim 17 , wherein the one or more processors configured to derive the additional row or column of the prediction samples are further configured to:

derive prediction samples outside the video block which are adjacent to the left and right boundaries from integer reference samples in the first reference picture left to a fractional sample position; and

derive prediction samples outside the video block which are adjacent to the top and bottom boundaries from integer reference samples in the first reference picture above the fractional sample position.

19. The computing device of claim 17 , wherein the one or more processors configured to derive the additional row or column of the prediction samples are further configured to:

derive prediction samples outside the video block which are adjacent to the left and right boundaries from integer reference samples in the first reference picture that are closest to respective fractional sample positions in a horizontal direction; and

derive prediction samples outside the video block which are adjacent to the top and bottom boundaries from integer reference samples in the first reference picture that are closest to the respective fractional sample positions in a vertical direction.

20. A non-transitory computer readable storage medium comprising a bitstream to be decoded by a method for coding a video signal comprising:

obtaining a first reference picture associated with a video block in a current picture within the video signal and a first motion vector (MV) from the video block in the current picture to a reference block in the first reference picture, wherein the first reference picture comprises multiple non-overlapped video blocks and at least one video block is associated with at least one MV;

obtaining first prediction samples of the video block generated from samples of the reference block in the first reference picture;

controlling internal bit-depths of internal prediction refinement with optical flow (PROF) parameters by performing a shift operation according to shift values, wherein the shift values comprise a first shift value for calculation of gradient values that are used in a bi-directional optical flow (BDOF) process, and wherein the internal PROF parameters comprise a horizontal gradient value, a vertical gradient value, a horizontal motion difference, and a vertical motion difference derived for a first prediction sample;

obtaining a prediction refinement value for the first prediction sample based on the horizontal and vertical gradient values and the horizontal and vertical motion differences;

obtaining second prediction samples associated with a second MV and a corresponding prediction refinement value for a second prediction sample; and

obtaining a final prediction sample of the video block based on the first prediction sample, the second prediction sample, and the prediction refinement values.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 8, 2024
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 067929/0522 →
Continuity (4)
Continuation 17510328 · Oct 25, 2021
Continuation PCTUS2020030155 · Apr 27, 2020
Provisional Application 62838939 · Apr 25, 2019
Related Publication 20240348793A1 · Oct 17, 2024
References Cited (53)
US 20120031477A1 · Fogel et al. · 2012 [cited by applicant]
US 20140092968A1 · Guillemot et al. · 2014 [cited by applicant]
US 20150249825A1 · Kim et al. · 2015 [cited by applicant]
US 20160316217A1 · Hatakeyama · 2016 [cited by applicant]
US 20170150178A1 · Nam et al. · 2017 [cited by applicant]
US 20170238011A1 · Pettersson · 2017 [cited by examiner]
US 20180192072A1 · Chen et al. · 2018 [cited by applicant]
US 20180199057A1 · Chuang · 2018 [cited by examiner]
US 20180255298A1 · Lee · 2018 [cited by applicant]
US 20180262773A1 · Chuang · 2018 [cited by examiner]
US 20180270500A1 · Li · 2018 [cited by applicant]
US 20180376147A1 · Iwamura et al. · 2018 [cited by applicant]
US 20180376166A1 · Chuang et al. · 2018 [cited by applicant]
US 20190045214A1 · Ikai et al. · 2019 [cited by applicant]
US 20200221122A1 · Ye · 2020 [cited by examiner]
US 20200296405A1 · Huang · 2020 [cited by examiner]
US 20200382795A1 · Zhang · 2020 [cited by examiner]
CN 1856106A · 2006 [cited by applicant]
CN 101584210A · 2009 [cited by applicant]
CN 101795409A · 2010 [cited by applicant]
CN 106664416A · 2017 [cited by applicant]
CN 106664423A · 2017 [cited by applicant]
CN 107925775A · 2018 [cited by applicant]
CN 108496367A · 2018 [cited by applicant]
CN 109496430A · 2019 [cited by applicant]
EP 3357241A1 · 2018 [cited by applicant]
JP 2022523795A · 2022 [cited by applicant]
JP 7269371B2 · 2023 [cited by applicant]
JP 7559132B2 · 2024 [cited by applicant]
KR 20180107761A · 2018 [cited by applicant]
KR 20180119084A · 2018 [cited by applicant]
KR 20190024553A · 2019 [cited by applicant]
WO 2016056782A1 · 2016 [cited by applicant]
WO 2017036399A1 · 2017 [cited by applicant]
WO 2017195914A1 · 2017 [cited by applicant]
WO 2018131832A1 · 2018 [cited by applicant]
WO 2018113658A1 · 2018 [cited by applicant]
WO 2018166357A1 · 2018 [cited by applicant]
WO 2018237303A1 · 2018 [cited by applicant]
WO 2019072371A1 · 2019 [cited by applicant]
WO 2019010156A1 · 2019 [cited by applicant]
WO 2020211867A1 · 2020 [cited by applicant]
Xiaoyu Xiu et al., “CE4-related: Harmonization of BDOF and PROF”, oint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, JVET-00593, 15th Meeting: Gothenburg, SE, Jul. 3-12, 2019, (5p). [cited by applicant]
EP Office Action of European Patent Application No. 20795945.3 dated Mar. 4, 2025, (7p). [cited by applicant]
Bross, Benjamin et al., Versatile Video Coding (Draft 5), Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 14th Meeting: Geneva, CH, [Document: VET-N1001-v101, Mar. 27, 2019, (407p). [cited by applicant]
Yan-fei Shen et al. “High Efficiency Video Coding”, Chinese Journal of Computer, vol. 36 No. 1 dated on Nov. 2013 (16p). [cited by applicant]
Yu-jiao Wang, “Study On Motion Blurred Video Images' Restoration”, Xia'n University of Technology, Student No. 2140920003, dated on Jun. 2017 (58p). [cited by applicant]
Luo, et al, CE2-related: Prediction refinement whti optical flow for affine mode, Joint Video Experts Team (JVET) of ITU-T SG 61 WP 3and ISO/IEC JC 1/SC 29/WG 1, JVET-N0236-15, 14th Meeting: Geneva, CH, Mar. 19-27, 2019… [cited by applicant]
Yang, Haito, “Description of Core Experiment 4(CE4): Inter prediction”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/EC JTC 1/SC 29/WG11, JVET-N1024-v3, 14th Meeting: Geneva, CH, Mar. 19-27, 2019, (11p). [cited by applicant]
Supplementary EP Search Report of EP Application No. 20795945.3 dated Nov. 25, 2022, (4p). [cited by applicant]
Bross, Benjamin et al., “Versatile Video Coding (Draft 4)”, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/EC JTC 1/SC 29/WG11, JVET-M1001-v-7, 13th Meeting: Marrakech, MA Jan. 9-18, 2019, (299p). [cited by applicant]
International Search Report of International Application No. PCT/US2020/030155 dated Jul. 30, 2020, (3p). [cited by applicant]
Luo, Jiancong (Daniel) et al., CE2-Related: Prediction refinement with optical flow for affine mode, Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 1, 14th Meeting: Geneva, CH [Document: … [cited by applicant]