IP Library Granted Patent US 12695878
Granted Patent B2
US 12695878 · App. 18/448,591 · Granted Jul 28, 2026

Sub-region based determination of motion information refinement

Inventors: Hongbin Liu (Beijing, CN); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/137H04N19/132H04N19/159H04N19/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 12695878
App. No.
18/448,591
Granted
Jul 28, 2026
Kind
B2
Abstract

Devices, systems, and methods for video processing are described. In one aspect, a video processing method is provided to include determining, for a conversion between a current video block of a video and a coded representation of the video, that a motion information of the current video block is refined using an optical flow-based method in which at least one motion vector offset is derived for a region within the current video block; clipping the at least one motion vector offset to a range [−N,M], where N and M are integers based on a rule; and performing the conversion based on at least one clipped motion vector offset.

Claims (51)

1 . A method of processing video data, comprising:

determining, for a first conversion between a first bi-predicted video block of a video and a bitstream of the video, that a first optical flow-based method is performed on the first bi-predicted video block, wherein at least one first motion vector offset is derived to refine prediction samples of a region within the first bi-predicted video block in the first optical flow-based method;

clipping the at least one first motion vector offset to a first range;

performing the first conversion based on at least one clipped first motion vector offset;

determining, for a second conversion between a second affine video block of the video and the bitstream, that a second optical flow-based method different from the first optical flow-based method is performed on the second affine video block, wherein at least one second motion vector offset is derived to refine prediction samples of a region within the second affine video block in the second optical flow-based method;

clipping the at least one second motion vector offset to a second range; and

performing the second conversion based on at least one clipped second motion vector offset,

wherein the first range is different from the second range,

wherein the first range is [−N0, M0] and the second range is [−N1, M1], wherein N0, M0, N1 and M1 are integers, and

wherein N0 and M0 have a same value which is unequal to 2 K0 and equal to 2 K0 −1, and N1 and M1 have a same value which is unequal to 2 K1 and equal to 2 K1 −1, wherein K0 and K1 are different integers.

2 . The method of claim 1 , wherein [−N0, M0] is [−15, 15].

3 . The method of claim 1 , wherein [−N1, M1] is [−31, 31].

4 . The method of claim 1 , wherein the region within the first bi-predicted video block is a whole first bi-predicted video block or a sub-block within the first bi-predicted video block, and the region within the second affine video block is a whole second affine video block or a sub-block within the second affine video block.

5 . The method of claim 1 , wherein the first motion vector offset comprises a horizontal component and a vertical component, and wherein the clipping comprises clipping the horizontal component and/or the vertical component of the first motion vector offset to the first range; and/or

wherein the second motion vector offset comprises a horizontal component and a vertical component, and wherein the clipping comprises clipping the horizontal component and/or the vertical component of the second motion vector offset to the second range.

6 . The method of claim 1 , wherein the first conversion comprises encoding the first bi-predicted video block into the bitstream and the second conversion comprises encoding the second affine video block into the bitstream.

7 . The method of claim 1 , wherein the first conversion comprises decoding the first bi-predicted video block from the bitstream and the second conversion comprises decoding the second affine video block from the bitstream.

8 . An apparatus for processing video data comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:

determine, for a first conversion between a first bi-predicted video block of a video and a bitstream of the video, that a first optical flow-based method is performed on the first bi-predicted video block, wherein at least one first motion vector offset is derived to refine prediction samples of a region within the first bi-predicted video block in the first optical flow-based method;

clip the at least one first motion vector offset to a first range;

perform the first conversion based on at least one clipped first motion vector offset;

determine, for a second conversion between a second affine video block of the video and the bitstream, that a second optical flow-based method different from the first optical flow-based method is performed on the second affine video block, wherein at least one second motion vector offset is derived to refine prediction samples of a region within the second affine video block in the second optical flow-based method;

clip the at least one second motion vector offset to a second range; and

perform the second conversion based on at least one clipped second motion vector offset,

wherein the first range is different from the second range,

wherein the first range is [−N0, M0] and the second range is [−N1, M1], wherein N0, M0, N1 and M1 are integers, and

wherein N0 and M0 have a same value which is unequal to 2 K0 and equal to 2 K0 −1, and N1 and M1 have a same value which is unequal to 2 K1 and equal to 2 K1 −1, wherein K0 and K1 are different integers.

9 . The apparatus of claim 8 , wherein [−N0, M0] is [−15, 15].

10 . The apparatus of claim 8 , wherein [−N1, M1] is [−31, 31].

11 . A non-transitory computer-readable storage medium storing instructions that cause a processor to:

determine, for a first conversion between a first bi-predicted video block of a video and a bitstream of the video, that a first optical flow-based method is performed on the first bi-predicted video block, wherein at least one first motion vector offset is derived to refine prediction samples of a region within the first bi-predicted video block in the first optical flow-based method;

clip the at least one first motion vector offset to a first range; and

perform the first conversion based on at least one clipped first motion vector offset;

determine, for a second conversion between a second affine video block of the video and the bitstream, that a second optical flow-based method different from the first optical flow-based method is performed on the second affine video block, wherein at least one second motion vector offset is derived to refine prediction samples of a region within the second affine video block in the second optical flow-based method;

clip the at least one second motion vector offset to a second range; and

perform the second conversion based on at least one clipped second motion vector offset,

wherein the first range is different from the second range,

wherein the first range is [−N0, M0] and the second range is [−N1, M1], wherein N0, M0, N1 and M1 are integers, and

wherein N0 and M0 have a same value which is unequal to 2 K0 and equal to 2 K0 −1, and N1 and M1 have a same value which is unequal to 2 K1 and equal to 2 K1 −1, wherein K0 and K1 are different integers.

12 . The non-transitory computer-readable storage medium of claim 11 , wherein [−N0, M0] is [−15, 15].

13 . The non-transitory computer-readable storage medium of claim 11 , wherein [−N1, M1] is [−31, 31].

14 . A non-transitory computer-readable recording medium storing a bitstream of a video which is generated by a method performed by a video processing apparatus, wherein the method comprises:

determining, for a first bi-predicted video block of the video that a first optical flow-based method is performed on the first bi-predicted video block, wherein at least one first motion vector offset is derived to refine prediction samples of a region within the first bi-predicted video block in the first optical flow-based method;

clipping the at least one first motion vector offset to a first range; and

generating the bitstream based on at least one clipped first motion vector offset;

determining, for a second affine video block of the video, that a second optical flow-based method different from the first optical flow-based method is performed on the second affine video block, wherein at least one second motion vector offset is derived to refine prediction samples of a region within the second affine video block in the second optical flow-based method;

clipping the at least one second motion vector offset to a second range; and

generating the bitstream based on at least one clipped second motion vector offset,

wherein the first range is different from the second range,

wherein the first range is [−N0, M0] and the second range is [−N1, M1], wherein N0, M0, N1 and M1 are integers, and

wherein N0 and M0 have a same value which is unequal to 2 K0 and equal to 2 K0 −1, and N1 and M1 have a same value which is unequal to 2 K1 and equal to 2 K1 −1, wherein K0 and K1 are different integers.