Search

EP-4742674-A2 - ADAPTIVE CONTROL POINT SELECTION FOR AFFINE MOTION MODEL BASED VIDEO CODING

EP4742674A2EP 4742674 A2EP4742674 A2EP 4742674A2EP-4742674-A2

Abstract

Systems, methods, and instrumentalities are disclosed for motion vector clipping when affine motion mode is enabled for a video block. A video coding device may determine that an affine mode for a video block is enabled. The video coding device may determine a plurality of control point affine motion vectors associated with the video block. The video coding device may store the plurality of clipped control point affine motion vectors for motion vector prediction of a neighboring control point affine motion vector. The video coding device may derive a sub-block motion vector associated with a sub-block of the video block, clip the derived sub-block motion vector, and store it for spatial motion vector prediction or temporal motion vector prediction. For example, the video coding device may clip the derived sub-block motion vector based on a motion field range that may be based on a bit depth value.

Inventors

  • HE, YUWEN
  • XIU, Xiaoyu
  • YE, YAN
  • HANHART, Philippe

Assignees

  • InterDigital VC Holdings, Inc.

Dates

Publication Date
20260513
Application Date
20190627

Claims (15)

  1. A method for video decoding, the method comprising: determining that affine mode is enabled for a current block that comprises a plurality of sub-blocks; obtaining a sub-block motion vector associated with a sub-block of the plurality of sub-blocks; clipping the sub-block motion vector based on a bit depth; and decoding the sub-block based on the clipped sub-block motion vector.
  2. The method of claim 1, wherein the sub-block motion vector is based on a control point motion vector associated with the current block.
  3. The method of claim 2, wherein: the control point motion vector is one of a plurality of control point motion vectors of the current block, and the plurality of control point motion vectors is associated with a plurality of control point positions.
  4. The method of claim 3, wherein the plurality of control point positions comprise a top-left control point and a top-right control point based on a width of the current block being greater than a height of the current block.
  5. The method of claim 3, wherein the plurality of control point positions comprise a top-left control point and a bottom-left control point based on a width of the current block being less than a height of the current block.
  6. The method of claim 3, wherein the plurality of control point positions comprise a bottom-left control point and a top-right control point based on a width of the current block being equal to a height of the current block.
  7. The method of claim 1, wherein the bit depth corresponds to a motion field range when storing a motion field in a storage device.
  8. The method of claim 1, further comprising: storing the clipped sub-block motion vector for prediction of a respective sub-block of the plurality of sub-blocks.
  9. The method of claim 3, wherein the bit depth is used for clipping the plurality of control point motion vectors.
  10. A method for video encoding, the method comprising: determining that affine mode is enabled for a current block that comprises a plurality of sub-blocks; obtaining a sub-block motion vector associated with a sub-block of the plurality of sub-blocks; clipping the sub-block motion vector based on a bit depth; and encoding the sub-block based on the clipped sub-block motion vector.
  11. The method of claim 10, wherein the sub-block motion vector is based on a control point motion vector associated with the current block.
  12. The method of claim 11, wherein: the control point motion vector is one of a plurality of control point motion vectors of the current block, and the plurality of control point motion vectors is associated with a plurality of control point positions.
  13. The method of claim 12, wherein the plurality of control point positions comprise: a top-left control point and a top-right control point based on a width of the current block being greater than a height of the current block; or the top-left control point and a bottom-left control point based on the width of the current block being less than the height of the current block; or the bottom-left control point and the top-right control point based on the width of the current block being equal to the height of the current block.
  14. The method of claim 10, wherein the bit depth corresponds to a motion field range when storing a motion field in a storage device.
  15. The method of claim 10, further comprising: storing the clipped sub-block motion vector for prediction of a respective sub-block of the plurality of sub-blocks.

Description

CROSS-REFERENCES TO RELATED APPLICATIONS This application claims the benefit of U.S. Provisional Patent Application Nos. 62/691,770 filed on June 29, 2018, 62/734,728 filed on September 21, 2018, and 62/778,055 filed on December 11, 2018, the contents of which are hereby incorporated by reference herein. BACKGROUND Video coding systems may be used to compress digital video signals, e.g., to reduce the storage and/or transmission bandwidth needed for such signals. Video coding systems may include block-based, wavelet-based, and/or object-based systems. A block-based hybrid video coding system may be deployed. In a block-based video coding system, motion vectors associated with a sub-block of a video block may have values that may be out of a certain range. Using such values may result in unintended consequences. SUMMARY Systems, methods, and instrumentalities are disclosed for motion vector clipping when affine motion mode is enabled for a video block (e.g., a coding unit (CU)). A video coding device may determine that an affine mode for a video block (e.g., a current video block) is enabled. The video block may include a plurality of sub-blocks. The video coding device may determine a plurality of control point affine motion vectors associated with the video block. At least one of the control point affine motion vectors associated with the current video block may be determined using one or more control point affine motion vectors associated with one or more neighboring video blocks. The video coding device may clip the control point affine motion vectors associated with the current video block. For example, the control point affine motion vectors may be clipped based on a bit depth used for motion field storage. The video coding device may store the clipped control point affine motion vectors for motion vector prediction of a neighboring control point affine motion vector. The video coding device may derive a sub-block motion vector associated with a sub-block. The video coding device may derive the sub-block motion vector based on one or more control point affine motion vectors. The video coding device may clip the derived sub-block motion vector. For example, the video coding device may clip the derived sub-block motion vector based on a motion field range. The motion field range may be used for motion field storage. The motion field range may be based on a bit depth value. The video coding device may store the clipped sub-block motion vector for spatial motion vector prediction or temporal motion vector prediction. The video coding device may predict the sub-block using the clipped sub-block motion vector. The video coding device may determine the control point positions associated with the control point affine motion vectors of a video block based on the shape of the video block. For example, the control point positions may be determined based on the length and/or the width of the video block. For example, the control point positions may include a top-left control point and a top-right control point, for example, if the width of the current video block is greater than the length of the current video block. The video coding device may classify such a video block as a horizontal rectangular video block. For example, the control point positions may include a top-left control point and a bottom-left control point, for example, if the width of the current video block is less than the length of the current video block. The video coding device may classify the current video block as a vertical rectangular video block. The control point positions may include a bottom-left control point and a top-right control point, for example, if the width of the current video block is equal to the length of the current video block. The video coding device may classify the current video block as a square video block. BRIEF DESCRIPTION OF THE DRAWINGS FIG. 1A is a system diagram illustrating an example communications system.FIG. 1B is a system diagram illustrating an example wireless transmit/receive unit (WTRU) that may be used within the communications system illustrated in FIG. 1A.FIG. 1C is a system diagram illustrating an example radio access network (RAN) and an example core network (CN) that may be used within the communications system illustrated in FIG. 1A.FIG. 1D is a system diagram illustrating a further example RAN and a further example CN that may be used within the communications system illustrated in FIG. 1A.FIG. 2 shows an example diagram of a block-based video encoder.FIG. 3 shows an example block diagram of a video decoder.FIG. 4 shows example block partitions in a multi-type tree structure.FIG. 5 shows an example of a four-parameter affine mode.FIG. 6 shows an example of affine merge candidates.FIG. 7 shows an example motion vector derivation at control points for an affine motion model.FIG. 8 shows an example of affine motion predictor construction.FIG. 9 shows an example of motion vector (MV) temporal scal