US 12,225,206 B2
Affine inter prediction refinement with optical flow
Guichun Li, San Jose, CA (US); Xiang Li, Saratoga, CA (US); Xiaozhong Xu, State College, PA (US); and Shan Liu, San Jose, CA (US)
Assigned to Tencent America LLC, Palo Alto, CA (US)
Filed by Tencent America LLC, Palo Alto, CA (US)
Filed on May 6, 2022, as Appl. No. 17/738,486.
Application 17/738,486 is a continuation of application No. 16/822,075, filed on Mar. 18, 2020, granted, now 11,350,108.
Claims priority of provisional application 62/838,798, filed on Apr. 25, 2019.
Claims priority of provisional application 62/828,425, filed on Apr. 2, 2019.
Claims priority of provisional application 62/820,196, filed on Mar. 18, 2019.
Prior Publication US 2022/0264115 A1, Aug. 18, 2022
Int. Cl. H04N 19/159 (2014.01); H04N 19/105 (2014.01); H04N 19/117 (2014.01); H04N 19/132 (2014.01); H04N 19/172 (2014.01); H04N 19/174 (2014.01); H04N 19/176 (2014.01); H04N 19/46 (2014.01); H04N 19/52 (2014.01); H04N 19/523 (2014.01); H04N 19/70 (2014.01)
CPC H04N 19/159 (2014.11) [H04N 19/105 (2014.11); H04N 19/117 (2014.11); H04N 19/132 (2014.11); H04N 19/172 (2014.11); H04N 19/174 (2014.11); H04N 19/176 (2014.11); H04N 19/46 (2014.11); H04N 19/52 (2014.11); H04N 19/523 (2014.11); H04N 19/70 (2014.11)] 20 Claims
OG exemplary drawing
 
1. A method of video decoding by a video decoder, comprising:
determining an intermediate motion vector MVblock 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 MVblock to generate a rounded motion vector MVround 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 MVround 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 MVblock and the rounded motion vector MVround; and
adding the prediction refinement offset to the prediction sample of the prediction block to generate a refined prediction sample.