Sub-region based determination of motion information refinement
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.
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.