Efficient affine merge motion vector derivation
A video processing method for efficient affine merge motion vector derivation is disclosed. In one aspect, a video processing method is provided to include partitioning a current video block into sub-blocks; deriving, for each sub-block, a motion vector, where the motion vector for each sub-block is associated with a position for that sub-block according to a position rule; and processing a bitstream representation of the current video block using motion vectors for the sub-blocks.
1 . A method of coding video data, comprising:
determining, for a conversion between a current video block of a video and a bitstream of the video, motion vectors at control points (CPMV) of the current video block based on a rule, wherein the rule specifies to exclude using of a non-adjacent neighboring block from one or more neighboring blocks of the current video block; and
performing the conversion between the current video block and the bitstream based on the motion vectors,
wherein the rule further specifies to exclude using of an invalid neighboring block from the one or more neighboring blocks based on positions of the one or more neighboring blocks,
wherein the current video block belongs to a current tile, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a tile different from the current tile, and
wherein the rule specifies that for a merge affine mode, one CPMV candidate of the current video block is derived from motion vectors from top-left adjacent blocks coded with an affine mode without considering left adjacent blocks coded with the affine mode, and the one CPMV candidate is used to derive the CPMVs of the current video block.
2 . The method of claim 1 , wherein the current video block belongs to a current slice, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a slice different from the current slice.
3 . The method of claim 1 , wherein the current video block includes multiple sub-blocks, and performing the conversion comprises determining a motion vector for each sub-block of the multiple sub-blocks based on the CPMV and a specific position of the corresponding sub-block.
4 . The method of claim 3 , wherein the specific position is a center of the corresponding sub-block.
5 . The method of claim 4 , wherein the corresponding sub-block has a size M×N and the center is defined as [(M>>1)+a, (N>>1)+b], wherein M and N are natural numbers and a, b is 0 or −1.
6 . The method of claim 1 , wherein the conversion includes encoding the current video block into the bitstream.
7 . The method of claim 1 , wherein the conversion includes decoding the current 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 conversion between a current video block of a video and a bitstream of the video, motion vectors at control points (CPMV) of the current video block based on a rule, wherein the rule specifies to exclude using of a non-adjacent neighboring block from one or more neighboring blocks of the current video block; and
perform the conversion between the current video block and the bitstream based on the motion vectors,
wherein the rule further specifies to exclude using of an invalid neighboring block from the one or more neighboring blocks based on positions of the one or more neighboring blocks,
wherein the current video block belongs to a current tile, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a tile different from the current tile, and
wherein the rule specifies that for a merge affine mode, one CPMV candidate of the current video block is derived from motion vectors from top-left adjacent blocks coded with an affine mode without considering left adjacent blocks coded with the affine mode, and the one CPMV candidate is used to derive the CPMVs of the current video block.
9 . The apparatus of claim 8 , wherein the current video block belongs to a current slice, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a slice different from the current slice.
10 . The apparatus of claim 8 , wherein the current video block includes multiple sub-blocks, and performing the conversion comprises determining a motion vector for each sub-block of the multiple sub-blocks based on the CPMV and a specific position of the corresponding sub-block.
11 . The apparatus of claim 10 , wherein the specific position is a center of the corresponding sub-block.
12 . The apparatus of claim 11 , wherein the corresponding sub-block has a size M×N and the center is defined as [(M>>1)+a, (N>>1)+b], wherein M and N are natural numbers and a, b is 0 or −1.
13 . A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine, for a conversion between a current video block of a video and a bitstream of the video, motion vectors at control points (CPMV) of the current video block based on a rule, wherein the rule specifies to exclude using of non-adjacent neighboring block from one or more neighboring blocks of the current video block; and
perform the conversion between the current video block and the bitstream based on the motion vectors,
wherein the rule further specifies to exclude using of an invalid neighboring block from the one or more neighboring blocks based on positions of the one or more neighboring blocks,
wherein the current video block belongs to a current tile, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a tile different from the current tile, and
wherein the rule specifies that for a merge affine mode, one CPMV candidate of the current video block is derived from motion vectors from top-left adjacent blocks coded with an affine mode without considering left adjacent blocks coded with the affine mode, and the one CPMV candidate is used to derive the CPMVs of the current video block.
14 . The non-transitory computer-readable storage medium of claim 13 , wherein the current video block includes multiple sub-blocks, and performing the conversion comprises determining a motion vector for each sub-block of the multiple sub-blocks based on the CPMV and a specific position of the corresponding sub-block.
15 . The non-transitory computer-readable storage medium of claim 14 , wherein the specific position is a center of the corresponding sub-block.
16 . A method for storing bitstream of a video, comprising:
determining, for a current video block of a video, motion vectors at control points (CPMV) of the current video block based on a rule, wherein the rule specifies to exclude using of non-adjacent neighboring block from one or more neighboring blocks of the current video block;
generating the bitstream from the current video block based on the determining, and
storing the bitstream in a non-transitory computer-readable recording medium,
wherein the rule further specifies to exclude using of an invalid neighboring block from the one or more neighboring blocks based on positions of the one or more neighboring blocks,
wherein the current video block belongs to a current tile, and a neighboring block of the one or more neighboring blocks is invalid in a case that the neighboring block belongs to a tile different from the current tile, and
wherein the rule specifies that for a merge affine mode, one CPMV candidate of the current video block is derived from motion vectors from top-left adjacent blocks coded with an affine mode without considering left adjacent blocks coded with the affine mode, and the one CPMV candidate is used to derive the CPMVs of the current video block.
17 . The method of claim 16 , wherein the current video block includes multiple sub-blocks, and the generating comprises determining a motion vector for each sub-block of the multiple sub-blocks based on the CPMV and a specific position of the corresponding sub-block.
18 . The method of claim 17 , wherein the specific position is a center of the corresponding sub-block.