IP Library Granted Patent US 11,503,328
Granted Patent B2
US 11,503,328 · App. 17/256,769 · Granted Nov 15, 2022

Adaptive control point selection for affine motion model based video coding

Inventors: Yuwen He (San Diego, CA); Xiaoyu Xiu (San Diego, CA); Yan Ye (San Diego, CA); Philippe Hanhart (La Conversion, CH)
Assignee: VID SCALE, Inc.
H04N19/52H04N19/54
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 11,503,328
App. No.
17/256,769
Granted
Nov 15, 2022
Kind
B2
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.

Claims (52)

1. A method implemented by a video decoding device for performing video decoding, the method comprising:

determining that affine mode is enabled for a current video block, wherein the current video block comprises a plurality of sub-blocks;

determining a length of the current video block and a width of the current video block;

determining a plurality of control point positions associated with a plurality of control point affine motion vectors of the current video block based on the length of the current video block and the width of the current video block;

a obtaining the plurality of control point affine motion vectors associated with the video block;

deriving a sub-block motion vector associated with a sub-block of the plurality of sub-blocks based on at least one of the plurality of control point affine motion vectors;

clipping the sub-block motion vector based on a motion field range; and

predicting the sub-block using the clipped sub-block motion vector vector for motion compensation.

2. The method of claim 1 further comprising storing the clipped sub-block motion vector for spatial motion vector prediction or temporal motion vector prediction.

3. The method of claim 1 , wherein at least one of the plurality of control point affine motion vectors associated with the current video block is determined using one or more control point affine motion vectors associated with one or more neighboring video blocks.

4. The method of claim 1 further comprising clipping the plurality of control point affine motion vectors associated with the current video block based on a bit depth used for motion field storage.

5. The method of claim 4 further comprising storing the plurality of clipped control point affine motion vectors for motion vector prediction of a neighboring control point affine motion vector.

6. The method of claim 1 , wherein the motion field range is used for motion field storage.

7. The method of claim 1 , wherein the motion field range is based on a bit depth value.

8. The method of claim 1 , wherein the plurality of control point positions is determined to comprise a top-left control point and a top-right control point, on a condition that the width of the current video block is greater than the length of the current video block.

9. The method of claim 1 , wherein the plurality of control point positions is determined to comprise a top-left control point and a bottom-left control point, on a condition that the width of the current video block is less than the length of the current video block.

10. The method of claim 1 , wherein the plurality of control point positions is determined to a bottom-left control point and a top-right control point, on a condition that the width of the current video block is equal to the length of the current video block.

11. A video decoding device comprising:

a processor configured to at least:

determine that affine mode is enabled for a current video block, wherein the current video block comprises a plurality of sub-blocks;

determine a length of the current video block and a width of the current video block:

determine a plurality of control point positions associated with a plurality of control point affine motion vectors of the current video block based on the length of the current video block and the width of the current video block;

a obtain the plurality of control point affine motion vectors associated with the video block; derive a sub-block motion vector associated with a sub-block of the plurality of sub-blocks based on at least one of the plurality of control point affine motion vectors;

clip the sub-block motion vector based on a motion field range; and

predict the sub-block using the clipped sub-block motion vector for motion compensation.

12. The video decoding device of claim 11 , wherein the processor is further configured to store the clipped sub-block motion vector for spatial motion vector prediction or temporal motion vector prediction.

13. The video decoding device of claim 11 , wherein at least one of the plurality of control point affine motion vectors associated with the current video block is determined using one or more control point affine motion vectors associated with one or more neighboring video blocks.

14. The video decoding device of claim 11 , wherein the processor is further configured to clip the plurality of control point affine motion vectors associated with the current video block based on a bit depth used for motion field storage.

15. The video decoding device of claim 14 , wherein the processor is further configured to store the plurality of clipped control point affine motion vectors for motion vector prediction of a neighboring control point affine motion vector.

16. The video decoding device of claim 11 , wherein the plurality of control point positions is determined to comprise a top-left control point and a top- right control point, on a condition that the width of the current video block is greater than the length of the current video block.

17. The video decoding device of claim 11 , wherein the plurality of control point positions is determined to comprise a top-left control point and a bottom-left control point, on a condition that the width of the current video block is less than the length of the current video block.

18. The video decoding device of claim 11 , wherein the plurality of control point positions is determined to a bottom-left control point and a top-right control point, on a condition that the width of the current video block is equal to the length of the current video block.

19. A method for video encoding, the method comprising:

determining that affine mode is enabled for a current video block, wherein the current video block comprises a plurality of sub-blocks;

determining a length of the current video block and a width of the current video block;

determining a plurality of control point positions associated with a plurality of control point affine motion vectors of the current video block based on the length of the current video block and the width of the current video block;

obtaining the plurality of control point affine motion vectors associated with the video block;

deriving a sub-block motion vector associated with a sub-block of the plurality of sub- blocks based on at least one of the plurality of control point affine motion vectors;

clipping the sub-block motion vector based on a motion field range; and

encoding the sub-block using the clipped sub-block motion vector for motion compensation.

20. The method of claim 19 , further comprising storing the clipped sub-block motion vector for spatial motion vector prediction or temporal motion vector prediction.

21. The method of claim 19 , wherein the motion field range is used for motion field storage.

22. A video encoding device comprising:

a processor configured to at least:

determine that affine mode is enabled for a current video block, wherein the current video block comprises a plurality of sub-blocks;

determine a length of the current video block and a width of the current video block;

determine a plurality of control point positions associated with a plurality of control point affine motion vectors of the current video block based on the length of the current video block and the width of the current video block;

obtain the plurality of control point affine motion vectors associated with the video block; derive a sub-block motion vector associated with a sub-block of the plurality of sub-blocks based on at least one of the plurality of control point affine motion vectors;

clip the sub-block motion vector based on a motion field range; and

encode the sub-block using the clipped sub-block motion vector for motion compensation.

23. The video encoding device of claim 22 , wherein the processor is further configured to store the clipped sub-block motion vector for spatial motion vector prediction or temporal motion vector prediction.

24. The video encoding device of claim 22 , wherein the motion field range is used for motion field storage.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2024
From: HE, YUWEN; XIU, XIAOYU; YE, YAN; HANHART, PHILIPPE
To: VID SCALE, INC.
Reel/Frame 068570/0881 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 11, 2024
From: VID SCALE, INC.
To: INTERDIGITAL VC HOLDINGS, INC.
Reel/Frame 068284/0031 →
Continuity (4)
Provisional Application 62778055 · Dec 11, 2018
Provisional Application 62734728 · Sep 21, 2018
Provisional Application 62691770 · Jun 29, 2018
Related Publication 20210274209A1 · Sep 2, 2021