IP Library Granted Patent US 12713037
Granted Patent B2
US 12713037 · App. 18/805,299 · Granted Aug 18, 2026

Overlapped optical flow-based motion vector refinement with adaptive subblock size

Inventors: Han Gao (Palo Alto, CA); Xin Zhao (Palo Alto, CA); Liang Zhao (Palo Alto, CA); Shan Liu (Palo Alto, CA)
Assignee: TENCENT AMERICA LLC
H04N19/176H04N19/513H04N19/563
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 12713037
App. No.
18/805,299
Granted
Aug 18, 2026
Kind
B2
Abstract

An example method of video coding includes receiving a video bitstream comprising a plurality of blocks. The method also includes deriving a set of subblock motion vectors for a current block of the plurality of blocks and deriving a set of refined subblock motion vectors for the current block by applying an optical flow refinement on a set of subblocks of the current block. The respective sizes of the set of subblocks are adaptively selected for the optical flow refinement. The method further includes reconstructing the current block using the set of refined subblock motion vectors.

Claims (48)

1 . A method of video decoding performed at a computing system having memory and one or more processors, the method comprising:

receiving a video bitstream comprising a plurality of blocks;

deriving a set of subblock motion vectors for a current block of the plurality of blocks;

adaptively selecting respective sizes of a set of subblocks for optical flow refinement by extending a first subblock of the set of subblocks according to a first size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, extending one or more first sides of the first subblock by N samples and padding one or more second sides of the first subblock; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples;

deriving a set of refined subblock motion vectors for the current block by applying the optical flow refinement on the set of subblocks of the current block; and

reconstructing the current block using the set of refined subblock motion vectors.

2 . The method of claim 1 , wherein the respective sizes of the set of subblocks are predefined.

3 . The method of claim 1 , wherein the respective sizes of the set of subblocks are derived or signaled.

4 . The method of claim 1 , wherein the respective sizes comprise a base size and a second size, wherein the second size corresponds to the base size with N additional columns and rows, N being a non-negative integer.

5 . The method of claim 4 , wherein a value for N is selected from the group consisting of: 1, 2, 3, and 4.

6 . The method of claim 4 , wherein a value for N is based on a position of a subblock within the current block.

7 . The method of claim 1 , further comprising padding one or more values for an extended size of a subblock located at a boundary of the current block.

8 . The method of claim 1 , wherein the respective sizes of the set of subblocks are adaptively selected for the optical flow refinement by extending the first subblock of the set of subblocks according to a second size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, extending one or more first sides of the first subblock by M samples and padding one or more second sides of the first subblock; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples, wherein N is different than M.

9 . The method of claim 1 , wherein the respective sizes of the set of subblocks are adaptively selected for the optical flow refinement by further comprising extending the first subblock of the set of subblocks according to a first second size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, not extending the first subblock; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples.

10 . The method of claim 1 , wherein the respective sizes of the set of subblocks are adaptively selected for the optical flow refinement by extending the first subblock of the set of subblocks according to a second size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, extending sides of the first subblock that are on an interior of the current block and not extending sides of the first subblock that are on the boundary of the current block; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples.

11 . A computing system, comprising:

control circuitry;

memory; and

one or more sets of instructions stored in the memory and configured for execution by the control circuitry, the one or more sets of instructions comprising instructions for:

receiving video data comprising a plurality of blocks, including a current block;

identifying a set of subblock motion vectors for the current block;

identifying a set of refined subblock motion vectors for the current block by applying an optical flow refinement on a set of subblocks of the current block, where respective sizes of the set of subblocks are adaptively selected for the optical flow refinement by extending a first subblock of the set of subblocks according to a first size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, extending one or more first sides of the first subblock by N samples and padding one or more second sides of the first subblock; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples; and

encoding the current block using the set of refined subblock motion vectors.

12 . The computing system of claim 11 , wherein the respective sizes of the set of subblocks are predefined.

13 . The computing system of claim 11 , wherein the respective sizes of the set of subblocks are derived or signaled.

14 . The computing system of claim 11 , wherein the respective sizes comprise a base size and a second size, wherein the second size corresponds to the base size with N additional columns and rows, N being a non-negative integer.

15 . The computing system of claim 11 , wherein the one or more sets of instructions further comprise instructions for padding one or more values for an extended size of a subblock located at a boundary of the current block.

16 . A non-transitory computer-readable storage medium storing a video bitstream that is generated by a video encoding method and one or more instructions, the instructions when executed by a processor, cause a computing system to generate the video bitstream, the video bitstream comprising:

coded information for a plurality of blocks; and

wherein the video encoding method comprises:

identifying a set of subblock motion vectors for the current block;

identifying a set of refined subblock motion vectors for the current block by applying an optical flow refinement on a set of subblocks of the current block, where respective sizes of the set of subblocks are adaptively selected for the optical flow refinement by extending a first subblock of the set of subblocks according to a first size of the respective sizes, including:

when the first subblock is located at a boundary of the current block, extending one or more first sides of the first subblock by N samples and padding one or more second sides of the first subblock; and

when the first subblock is not located at the boundary of the current block, extending each side of the first subblock by N samples; and

encoding the current block using the set of refined subblock motion vectors.

17 . The non-transitory computer-readable storage medium of claim 16 , wherein the respective sizes of the set of subblocks are predefined.

18 . The non-transitory computer-readable storage medium of claim 16 , wherein the respective sizes of the set of subblocks are derived or signaled.

19 . The non-transitory computer-readable storage medium of claim 16 , wherein the respective sizes comprise a base size and a second size, wherein the second size corresponds to the base size with N additional columns and rows, N being a non-negative integer.