Usage of converted uni-prediction candidate
Techniques for implementing video processing techniques are described. In one example implementation, a method of video processing includes determining, for a conversion between a current block of a video and a bitstream representation of the video, a modified motion vector set; and performing the conversion based on the modified motion vector set. Due to the current block satisfying a condition, the modified motion vector set is a modified version of a motion vector set associated with the current block.
1. A method for video processing, comprising:
determining a first motion vector set for a current block of a video;
in response to the current block satisfying a condition, modifying the first motion vector set to a second motion vector set,
wherein the condition comprises that a size of a luma component of the current block is same as a predefined size; and
performing a conversion between the current block and a bitstream of the video based on the second motion vector set;
wherein the second motion vector set is used to update a History Motion Vector Prediction table.
2. The method of claim 1 , wherein the first motion vector set is derived using one of: a regular merge coding technique, a sub-block Temporal Motion Vector Prediction coding technique, or a Merge with Motion Vector Difference coding technique.
3. The method of claim 1 , wherein the predefined size comprises at least one of: 8×4, or 4×8.
4. The method of claim 1 , wherein modifying the first motion vector set comprises:
converting the first motion vector set to a uni-directional motion vector, in case the current block is determined to be bi-directional and the first motion vector set comprises a first motion vector referring to a first reference picture in a first reference picture list for a first prediction direction and a second motion vector referring to a second reference picture in a second reference picture list for a second prediction direction.
5. The method of claim 4 , wherein motion information of one of the first prediction direction or the second prediction direction is discarded.
6. The method of claim 5 , wherein discarding the motion information comprises:
modifying a reference index in the discarded prediction direction to −1.
7. The method of claim 5 , wherein the motion information of the second prediction direction is discarded and the second reference picture list is List 1.
8. The method of claim 1 , wherein the second motion vector set is used for a motion compensation operation for the current block.
9. The method of claim 1 , wherein the second motion vector set is used to predict a motion vector of a subsequent block.
10. The method of claim 1 , wherein the second motion vector set is used for a deblocking process for the current block.
11. The method of claim 1 , wherein the second motion vector set is used for a motion refinement operation for the current block.
12. The method of claim 11 , wherein the refinement operation comprises an optical flow coding operation that includes at least a Bi-Directional Optical Flow operation or Prediction Refined with Optical Flow operation.
13. The method of claim 1 , wherein performing the conversion includes generating the bitstream based on the current block of the video.
14. The method of claim 1 , wherein performing the conversion includes generating the current block of the video from the bitstream.
15. 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 a first motion vector set for a current block of a video;
in response to the current block satisfying a condition, modifying the first motion vector set to a second motion vector set,
wherein the condition comprises that a size of a luma component of the current block is same as a predefined size; and
perform a conversion between the current block and a bitstream of the video based on the second motion vector set;
wherein the second motion vector set is used to update a History Motion Vector Prediction table.
16. The apparatus of claim 15 , wherein the predefined size comprises at least one of: 8×4, or 4×8.
17. The apparatus of claim 15 , wherein modifying the first motion vector set comprises:
converting the first motion vector set to a uni-directional motion vector, in case the current block is determined to be bi-directional and the first motion vector set comprises a first motion vector referring to a first reference picture in a first reference picture list for a first prediction direction and a second motion vector referring to a second reference picture in a second reference picture list for a second prediction direction.
18. The apparatus of claim 17 , wherein motion information of one of the first prediction direction or the second prediction direction is discarded.
19. A non-transitory computer-readable storage medium storing instructions that cause a processor to:
determine a first motion vector set for a current block of a video;
in response to the current block satisfying a condition, modifying the first motion vector set to a second motion vector set,
wherein the condition comprises that a size of a luma component of the current block is same as a predefined size; and
perform a conversion between the current block and a bitstream of the video based on the second motion vector set;
wherein the second motion vector set is used to update a History Motion Vector Prediction table.
20. 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 a first motion vector set for a current block of a video;
in response to the current block satisfying a condition, modifying the first motion vector set to a second motion vector set,
wherein the condition comprises that a size of a luma component of the current block is same as a predefined size; and
generating the bitstream based on the second motion vector set;
wherein the second motion vector set is used to update a History Motion Vector Prediction table.