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, wherein 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 processing 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 (CPMVs) of the current video block based on a rule; and
performing the conversion between the current video block and the bitstream based on the CPMVs,
wherein performing the conversion comprises:
determining a motion vector for each sub-block of a multiple sub-blocks of the current video block based on the CPMVs and a specific position of a corresponding sub-block;
rounding the motion vector of each subblock to 1/16 fraction accuracy; and
filtering the rounded motion vector of each subblock with a filter to generate a prediction of each subblock,
wherein a maximum accuracy of the filter is 1/16 fractional pel,
wherein the rule specifies that a CPMV candidate of the current video block is derived from motion vectors from top adjacent blocks coded with an affine mode, and the CPMV candidate is used to derive the CPMVs of the current video block, and
wherein the current video block belongs to a current slice, and a spatial neighboring block of the current video block is invalid for determining CPMVs of the current video block in a case that the spatial neighboring block belongs to a slice different from the current slice.
2. The method of claim 1 , wherein the specific position is a center of the corresponding sub-block.
3. The method of claim 1 , wherein the corresponding sub-block has a size M×N and a center of the corresponding sub-block is defined as [(M>>1)+a, (N>>1)+b], wherein M and N are natural numbers and a, b is 0 or −1.
4. The method of claim 1 , wherein the conversion includes encoding the current video block into the bitstream.
5. The method of claim 1 , wherein the conversion includes decoding the current video block from the bitstream.
6. 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 (CPMVs) of the current video block based on a rule; and
perform the conversion between the current video block and the bitstream based on the CPMVs,
wherein performing the conversion comprises:
determining a motion vector for each sub-block of a multiple sub-blocks of the current video block based on the CPMVs and a specific position of a corresponding sub-block;
rounding the motion vector of each subblock to 1/16 fraction accuracy; and
filtering the rounded motion vector of each subblock with a filter to generate a prediction of each subblock,
wherein a maximum accuracy of the filter is 1/16 fractional pel,
wherein the rule specifies that a CPMV candidate of the current video block is derived from motion vectors from top adjacent blocks coded with an affine mode, and the CPMV candidate is used to derive the CPMVs of the current video block, and
wherein the current video block belongs to a current slice, and a spatial neighboring block of the current video block is invalid for determining CPMVs of the current video block in a case that the spatial neighboring block belongs to a slice different from the current slice.
7. The apparatus of claim 6 , wherein the specific position is a center of the corresponding sub-block.
8. The apparatus of claim 6 , wherein the corresponding sub-block has a size M×N and a center of the corresponding sub-block is defined as [(M>>1)+a, (N>>1)+b], wherein M and N are natural numbers and a, b is 0 or −1.
9. The apparatus of claim 6 , wherein the conversion includes encoding the current video block into the bitstream.
10. The apparatus of claim 6 , wherein the conversion includes decoding the current video block from the bitstream.
11. 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 (CPMVs) of the current video block based on a rule; and
perform the conversion between the current video block and the bitstream based on the CPMVs,
wherein performing the conversion comprises:
determining a motion vector for each sub-block of a multiple sub-blocks of the current video block based on the CPMVs and a specific position of a corresponding sub-block;
rounding the motion vector of each subblock to 1/16 fraction accuracy; and
filtering the rounded motion vector of each subblock with a filter to generate a prediction of each subblock,
wherein a maximum accuracy of the filter is 1/16 fractional pel,
wherein the rule specifies that a CPMV candidate of the current video block is derived from motion vectors from top adjacent blocks coded with an affine mode, and the CPMV candidate is used to derive the CPMVs of the current video block, and
wherein the current video block belongs to a current slice, and a spatial neighboring block of the current video block is invalid for determining CPMVs of the current video block in a case that the spatial neighboring block belongs to a slice different from the current slice.
12. A non-transitory computer-readable recording medium storing a bitstream which is generated by a method performed by a video processing apparatus, wherein the method comprises:
determining, for a conversion between a current video block of a video and the bitstream of the video, motion vectors at control points (CPMVs) of the current video block based on a rule; and
generating the bitstream from the current video block based on the determining,
wherein generating the bitstream from the current video block comprises:
determining a motion vector for each sub-block of a multiple sub-blocks of the current video block based on the CPMVs and a specific position of a corresponding sub-block;
rounding the motion vector of each subblock to 1/16 fraction accuracy; and
filtering the rounded motion vector of each subblock with a filter to generate a prediction of each subblock,
wherein a maximum accuracy of the filter is 1/16 fractional pel,
wherein the rule specifies that a CPMV candidate of the current video block is derived from motion vectors from top adjacent blocks coded with an affine mode, and the CPMV candidate is used to derive the CPMVs of the current video block, and
wherein the current video block belongs to a current slice, and a spatial neighboring block of the current video block is invalid for determining CPMVs of the current video block in a case that the spatial neighboring block belongs to a slice different from the current slice.
13. The non-transitory computer-readable storage medium of claim 11 , wherein the specific position is a center of the corresponding sub-block.
14. The non-transitory computer-readable storage medium of claim 11 , wherein the corresponding sub-block has a size M×N and a center of the corresponding sub-block is defined as [(M>>1)+a, (N>>1)+b], wherein M and N are natural numbers and a, b is 0 or −1.