IP Library › Granted Patent US 12,225,206
Granted Patent B2
US 12,225,206 · App. 17/738,486 · Granted Feb 11, 2025

Affine inter prediction refinement with optical flow

Inventors: Guichun Li (San Jose, CA); Xiang Li (Saratoga, CA); Xiaozhong Xu (State College, PA); Shan Liu (San Jose, CA)
Assignee: Tencent America LLC
H04N19/159H04N19/105H04N19/117H04N19/132H04N19/172H04N19/174H04N19/176H04N19/46H04N19/52H04N19/523H04N19/70
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,225,206
App. No.
17/738,486
Granted
Feb 11, 2025
Kind
B2
Abstract

An apparatus for video decoding includes processing circuitry. The processing circuitry can be configured to determine an intermediate motion vector MV block of a current block having a first precision that is higher than a second precision supported by an interpolation filter. The processing circuitry can be configured to round the intermediate motion vector MV block to generate a rounded motion vector MV round of the current block having the second precision supported by the interpolation filter. The processing circuitry can be configured to generate a prediction block of the current block based on the rounded motion vector MV round and the interpolation filter. The processing circuitry can be configured to determine a prediction refinement offset for a prediction sample of the prediction block, and add the prediction refinement offset to the prediction sample of the prediction block to generate a refined prediction sample.

Claims (53)

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

determining an intermediate motion vector MV block of a current block having a first precision that is higher than a second precision supported by an interpolation filter;

rounding the intermediate motion vector MV block to generate a rounded motion vector MV round of the current block having the second precision supported by the interpolation filter;

generating a prediction block of the current block based on the rounded motion vector MV round and the interpolation filter;

determining a prediction refinement offset for a prediction sample of the prediction block based on gradients of the prediction sample of the prediction block and motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round ; and

adding the prediction refinement offset to the prediction sample of the prediction block to generate a refined prediction sample.

2. The method of claim 1 , wherein the gradients of the prediction sample of the prediction block are calculated with a 3-tap filter [−1, 0, 1].

3. The method of claim 1 , wherein the determining the prediction refinement offset comprises:

determining a prediction refinement offset ΔI (i,j) according to:

Δ I ( i,j )= g x ( i,j )*Δ v x +g y ( i,j )*Δ v y ,

where g x (i,j) and g y (i,j) are gradients of the prediction sample of the prediction block at a location (i,j) along x and y directions, respectively, and Δv x , and Δv y are motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round along x and y directions, respectively.

4. The method of claim 1 , wherein the current block is a block or a sub-block coded with a temporal motion vector prediction mode (TMVP), a sub-block-based TMVP mode (SbTMVP), merge with motion vector difference (MMVD), affine advance motion vector prediction (AMVP), or a spatial motion vector prediction mode where the intermediate motion vector MV block is generated in a motion vector scaling operation.

5. The method of claim 1 , wherein the current block is coded using a motion vector predictor with the first precision.

6. The method of claim 1 , further comprising:

receiving a syntax element indicating the first precision in a sequence parameter set (SPS), picture parameter set (PPS), a slice header, a tile group header.

7. The method of claim 1 , further comprising:

storing the intermediate motion vector MV block having the first precision in a memory; and

coding another block in a current picture including the current block using the intermediate motion vector MV block for spatial motion vector prediction.

8. A method of video encoding by a video encoder, comprising:

determining an intermediate motion vector MV block of a current block having a first precision that is higher than a second precision supported by an interpolation filter;

rounding the intermediate motion vector MV block to generate a rounded motion vector MV round of the current block having the second precision supported by the interpolation filter;

obtaining a prediction block of the current block based on the rounded motion vector MV round and the interpolation filter;

determining a prediction refinement offset for a prediction sample of the prediction block based on gradients of the prediction sample of the prediction block and motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round ; and

adding the prediction refinement offset to the prediction sample of the prediction block to generate a refined prediction sample.

9. The method of claim 8 , wherein the gradients of the prediction sample of the prediction block are calculated with a 3-tap filter [−1, 0, 1].

10. The method of claim 8 , wherein the determining the prediction refinement offset comprises:

determining a prediction refinement offset ΔI (i,j) according to:

Δ I ( i,j )= g x ( i,j )*Δ v x +g y ( i,j )*Δ v y ,

where g x (i,j) and g y (i,j) are gradients of the prediction sample of the prediction block at a location (i,j) along x and y directions, respectively, and Δv x , and Δv y are motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round along x and y directions, respectively.

11. The method of claim 8 , wherein the current block is a block or a sub-block to be coded with a temporal motion vector prediction mode (TMVP), a sub-block-based TMVP mode (SbTMVP), merge with motion vector difference (MMVD), affine advance motion vector prediction (AMVP), or a spatial motion vector prediction mode where the intermediate motion vector MV block is generated in a motion vector scaling operation.

12. The method of claim 8 , further comprising:

encoding the current block in a bitstream using a motion vector predictor with the first precision.

13. The method of claim 8 , further comprising:

encoding a syntax element indicating the first precision in a sequence parameter set (SPS), picture parameter set (PPS), a slice header, a tile group header in a bitstream.

14. The method of claim 8 , further comprising:

storing the intermediate motion vector MV block having the first precision in a memory; and

encoding another block in a current picture including the current block using the intermediate motion vector MV block for spatial motion vector prediction.

15. A method of processing visual media data, the method comprising:

processing a bitstream that includes the visual media data according to a format rule, wherein

the bitstream includes prediction information of a current block; and

the format rule specifies that

when an intermediate motion vector MV block of the current block has a first precision that is higher than a second precision supported by an interpolation filter, the intermediate motion vector MV block is rounded to generate a rounded motion vector MV round of the current block having the second precision supported by the interpolation filter,

a prediction block of the current block is generated based on the rounded motion vector MV round and the interpolation filter,

a prediction refinement offset for a prediction sample of the prediction block is determined based on gradients of the prediction sample of the prediction block and motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round , and

the prediction refinement offset is added to the prediction sample of the prediction block to generate a refined prediction sample.

16. The method of claim 15 , wherein the gradients of the prediction sample of the prediction block are calculated with a 3-tap filter [−1, 0, 1].

17. The method of claim 15 , wherein the format rule specifies that:

a prediction refinement offset ΔI (i,j) is determined according to:

Δ I ( i,j )= g x ( i,j )*Δ v x +g y ( i,j )*Δ v y ,

where g x (i,j) and g y (i,j) are gradients of the prediction sample of the prediction block at a location (i,j) along x and y directions, respectively, and Δv x , and Δv y are motion vector differences between the intermediate motion vector MV block and the rounded motion vector MV round along x and y directions, respectively.

18. The method of claim 15 , wherein the current block is a block or a sub-block coded with a temporal motion vector prediction mode (TMVP), a sub-block-based TMVP mode (SbTMVP), merge with motion vector difference (MMVD), affine advance motion vector prediction (AMVP), or a spatial motion vector prediction mode where the intermediate motion vector MV block is generated in a motion vector scaling operation.

19. The method of claim 15 , wherein the current block is coded using a motion vector predictor with the first precision.

20. The method of claim 15 , wherein the bitstream includes a syntax element indicating the first precision in a sequence parameter set (SPS), picture parameter set (PPS), a slice header, a tile group header.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2022
From: LI, GUICHUN; LI, XIANG; XU, XIAOZHONG; LIU, SHAN
To: TENCENT AMERICA LLC
Reel/Frame 059842/0340 →
Continuity (5)
Continuation 16822075 · Mar 18, 2020
Provisional Application 62838798 · Apr 25, 2019
Provisional Application 62828425 · Apr 2, 2019
Provisional Application 62820196 · Mar 18, 2019
Related Publication 20220264115A1 · Aug 18, 2022
References Cited (86)
US 7991237B2 · Sekiguchi · 2011 [cited by examiner]
US 8724702B1 · Bulusu · 2014 [cited by examiner]
US 9325991B2 · Seregin · 2016 [cited by examiner]
US 9609318B2 · Matsuo · 2017 [cited by examiner]
US 10455253B1 · Vitvitskyy · 2019 [cited by examiner]
US 10631002B2 · Li et al. · 2020 [cited by applicant]
US 11622124B2 · Kim · 2023 [cited by examiner]
US 20040076333A1 · Zhang · 2004 [cited by examiner]
US 20040155894A1 · Van Dijk · 2004 [cited by examiner]
US 20040252766A1 · Lee · 2004 [cited by examiner]
US 20060244819A1 · Pun · 2006 [cited by examiner]
US 20070223585A1 · Fujisawa · 2007 [cited by examiner]
US 20090016634A1 · Cox · 2009 [cited by examiner]
US 20090257503A1 · Ye · 2009 [cited by examiner]
US 20100074332A1 · Karczewicz · 2010 [cited by examiner]
US 20100111182A1 · Karczewicz · 2010 [cited by examiner]
US 20100135394A1 · Valente · 2010 [cited by examiner]
US 20120147967A1 · Panchal · 2012 [cited by examiner]
US 20120163460A1 · Chien · 2012 [cited by examiner]
US 20130121416A1 · He · 2013 [cited by examiner]
US 20130182763A1 · Yasuda · 2013 [cited by examiner]
US 20130242126A1 · Motoda · 2013 [cited by examiner]
US 20140078394A1 · Lou · 2014 [cited by examiner]
US 20140139627A1 · Chen · 2014 [cited by examiner]
US 20140140416A1 · Yamazaki · 2014 [cited by examiner]
US 20150016533A1 · Pang · 2015 [cited by examiner]
US 20160191946A1 · Zhou · 2016 [cited by examiner]
US 20160337649A1 · Chuang · 2016 [cited by examiner]
US 20160337661A1 · Pang · 2016 [cited by examiner]
US 20170188041A1 · Li · 2017 [cited by examiner]
US 20180098063A1 · Chen · 2018 [cited by examiner]
US 20180139468A1 · Lin · 2018 [cited by examiner]
US 20180199057A1 · Chuang et al. · 2018 [cited by applicant]
US 20180262773A1 · Chuang et al. · 2018 [cited by applicant]
US 20180270500A1 · Li et al. · 2018 [cited by applicant]
US 20190028731A1 · Chuang et al. · 2019 [cited by applicant]
US 20190045215A1 · Chen et al. · 2019 [cited by applicant]
US 20190124332A1 · Lim et al. · 2019 [cited by applicant]
US 20190141333A1 · Lee · 2019 [cited by applicant]
US 20190158843A1 · Xu et al. · 2019 [cited by applicant]
US 20190191171A1 · Ikai · 2019 [cited by examiner]
US 20200021837A1 · Ikai · 2020 [cited by examiner]
US 20200057638A1 · Hulton · 2020 [cited by examiner]
US 20200186802A1 · Chuang · 2020 [cited by examiner]
US 20200221122A1 · Ye et al. · 2020 [cited by applicant]
US 20200236362A1 · Lee · 2020 [cited by examiner]
US 20200288150A1 · Jun et al. · 2020 [cited by applicant]
US 20210051342A1 · Galpin et al. · 2021 [cited by applicant]
US 20210136395A1 · Jun et al. · 2021 [cited by applicant]
US 20210136400A1 · Chen et al. · 2021 [cited by applicant]
CA 3118603A1 · 2015 [cited by examiner]
CN 1156167C · 2004 [cited by examiner]
CN 105900425A · 2016 [cited by examiner]
EP 3922025A1 · 2021 [cited by applicant]
JP 2007235456A · 2007 [cited by examiner]
KR 1020110112240A · 2011 [cited by applicant]
KR 1020180019092A · 2018 [cited by applicant]
KR 1020180129860A · 2018 [cited by applicant]
WO WO03001491A2 · 2003 [cited by examiner]
WO 2012035476A1 · 2012 [cited by applicant]
WO 2017133661A1 · 2017 [cited by applicant]
WO 2017171107A1 · 2017 [cited by applicant]
WO 2017188566A1 · 2017 [cited by applicant]
WO 2018048265A1 · 2018 [cited by applicant]
WO 2018084339A1 · 2018 [cited by applicant]
WO 2018124329A1 · 2018 [cited by applicant]
WO 2018171796A1 · 2018 [cited by applicant]
WO WO2019072371A1 · 2019 [cited by examiner]
WO WO2019072372A1 · 2019 [cited by examiner]
Supplementary European Search Report issued in Application No. 20773016.9, mailed Dec. 5, 2022, 20 pages. [cited by applicant]
Chen Jet al: “Algorithm description for Versatile Video Coding and Test Model 4 (VTM 4)”, 13. JVET Meeting; Jan. 9, 2019-Jan. 18, 2019; Marrakech; (The Joint Video Exploration Team of ISO/IEC JTC1/SC29/WG11 and ITU-T SG… [cited by applicant]
Alshin (Samsung) A et al: “Bi-directional optical flow”, 3. JCT-VC Meeting; Oct. 7, 2010-Oct. 15, 2010; Guangzhou; (Joint Collaborative Team on Video Coding of ISO/IEC JTC1/SC29/WG11 and ITU-T SG.16 ), No. JCTVC-C204, O… [cited by applicant]
McCann K et al: “Video coding technology proposal by Samsung (and BBC) ”,1. JCT-VC Meeting; Apr. 15, 2010-Apr. 23, 2010; Dresden; (JOINTCOLLABORATIVE Team on Video Coding of ISO/IEC JTC1/SC29/WG11 ANDITU-TSG.16 ); No. J… [cited by applicant]
Japanese Office Action issued in Application No. 2021-552151, mailed Sep. 13, 2022, with English Translation, 11 pages. [cited by applicant]
Jiancong (Daniel) Luo, and Yuwen He, CE4-2.1: 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 11, JVET-O0070-CE4-2.1_WD_r3, 14th Me… [cited by applicant]
Bross et al., “Versatile Video Coding (Draft 4),” JVET-M1001, 13th Meeting: Marrakech, MA, Jan. 9-18, 2019 (299 pages). [cited by applicant]
Luo et al., “CE2-related: Prediction refinement with optical flow for affine mode,” JVET-N0236, 14th Meeting: Geneva, CH, Mar. 19-27, 2019 (7 pages). [cited by applicant]
High Efficiency Video Coding (HEVC), Rec. ITU-T H.265, International Telecommunication Union, Dec. 2016. (664 pages). [cited by applicant]
Jiancong (Daniel) Luo, 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 11, 14th Meeting: Geneva, CH, Mar. 19-27, 2019… [cited by applicant]
Jianle Chen, et al., Algorithm Description of Joint Exploration Test Model 7 (JEM 7), Joint Video Exploration Team (JVET), of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 7th Meeting: Torino, IT, Jul. 13-21, 2017, Do… [cited by applicant]
Vadim Seregin, et al., CE10-related: Unidirectional illumination compensation, Joint Video Experts Team (JVET), of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 13th Meeting: Marrakech, MA, Jan. 9-18, 2019, Document: … [cited by applicant]
Jiancong Luo, et al, Creating the Living Network, CE2-related: Prediction refinement with optical flow for affine mode, InterDigital Inc., Mar. 2019, 13 pgs. [cited by applicant]
Benjamin Bross, Versatile Video Coding (Draft 3), Joint Video Experts Team (JVET), of ITU-T SG 16 WP 3 and ISO/IEC JTC 1/SC 29/WG 11, 12th Meeting: Macao, CN, Oct. 3-12, 2018, Document: JVET-L1001-v7, 230 pgs. [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, 14th Meeting: Geneva, CH, Mar. 19-27, 2019, Document: JVET-N0171-v2, … [cited by applicant]
International Search Report and Written Opinion issued Aug. 4, 2020 in International Application No. PCT/US 20/23336, 13 pgs. [cited by applicant]
Office Action received for Korean Patent Application No. 10-2021-7029883, mailed on Oct. 29, 2024, 16 pages (8 pages of English Translation and 8 pages of Original Document). [cited by applicant]