Overlapped optical flow-based motion vector refinement with adaptive subblock size
AssigneeTencent America LLC
InventorsHan Gao, Xin Zhao, Liang Zhao, Shan Liu
Life of this patent
Estimating the term…
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.
Claims19
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.
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.
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.
Dependencies are inferred from the claim text.