IP Library Granted Patent US 11,843,798
Granted Patent B2
US 11,843,798 · App. 17/523,286 · Granted Dec 12, 2023

Motion vector range based on motion vector precision

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Jizheng Xu (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/513H04N19/172H04N19/176H04N19/184H04N19/186H04N19/51H04N19/517
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,843,798
App. No.
17/523,286
Granted
Dec 12, 2023
Kind
B2
Abstract

A method for video processing is provided to include: determining a motion vector precision of one or more motion vectors related to a current video block of a video; selecting, based on the motion vector precision, a motion vector range; and performing, based on the motion vector range, a conversion between the current video block and a bitstream representation of the video.

Claims (41)

1. A method for processing video data, comprising:

deriving, for a conversion between a current video block of a video and a bitstream of the video, at least one temporal collocated motion vector, wherein each of the at least one temporal collocated motion vector is derived at least based on a motion vector associated with a first block which has a temporal reference picture that is different from a target reference picture of the current video block;

scaling each of the at least one temporal collocated motion vector based on a first picture order count difference between the target reference picture and a current picture including the current video block and a second picture order count difference between the temporal reference picture and a first picture including the first block;

performing a first clipping operation on the at least one scaled temporal collocated motion vector to derive at least one clipped temporal collocated motion vector, wherein a clipping range of each component of the at least one clipped temporal collocated motion vector is [−(1<<(M−1)), (1<<(M−1))−1], M is greater than 16 and << is an arithmetic left shift operation; and

performing the conversion based on the at least one clipped temporal collocated motion vector,

wherein the at least one clipped temporal collocated motion vector includes a second temporal collocated motion vector which is used to construct an affine motion candidate list, and wherein the second temporal collocated motion vector is used to derive a temporal-based control point motion vector, and the temporal-based control point motion vector is combined with at least one spatial-based control point motion vector to derive an affine motion vector predictor candidate of the affine motion candidate list.

2. The method of claim 1 , wherein the at least one clipped temporal collocated motion vector is further used to construct a motion candidate list, and at least one motion predictor derived based on the motion candidate list is used in the conversion directly, or is combined with at least one motion vector difference to derive a refined motion vector.

3. The method of claim 2 , wherein each component of the refined motion vector has a bit-depth M-bit.

4. The method of claim 2 , wherein in response to the at least one motion vector difference comprising two motion vector differences and a third picture order count difference between a first reference picture and the current picture being less than a forth picture order count difference between a second reference picture and the current picture, the conversion uses a scaling process to obtain motion vector difference of the first reference picture from the motion vector difference of the second reference picture which is indicated by a filed in the bitstream, and wherein the scaling process uses a second clipping operation to constrain each component of the motion vector difference of the first reference picture to fall in a range [−((1<<(M−1))), (1<<(M−1))−1].

5. The method of claim 1 , wherein the at least one clipped temporal collocated motion vector includes a first temporal collocated motion vector which is used to construct a subblock motion candidate list, and wherein the first temporal collocated motion vector is derived based on a temporal motion shift from a spatial neighboring block of the current video block, and a reference picture related to the temporal motion shift is same as a collocated picture of the current video block.

6. The method of claim 1 , wherein M is 18 and the clipping range is [−131072, 131071].

7. The method of claim 1 , wherein the conversion is performed based on the at least one clipped temporal collocated motion vector for a spatial-temporal motion vector prediction mode of the current video block.

8. The method of claim 1 , wherein the conversion comprises decoding the current video block from the bitstream.

9. The method of claim 1 , wherein the conversion comprises encoding the current video block into the bitstream.

10. 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:

derive, for a conversion between a current video block of a video and a bitstream of the video, at least one temporal collocated motion vector, wherein each of the at least one temporal collocated motion vector is derived at least based on a motion vector associated with a first block which has a temporal reference picture that is different from a target reference picture of the current video block;

scale each of the at least one temporal collocated motion vector based on a first picture order count difference between the target reference picture and a current picture including the current video block and a second picture order count difference between the temporal reference picture and a first picture including the first block;

perform a first clipping operation on the at least one scaled temporal collocated motion vector to derive at least one clipped temporal collocated motion vector, wherein a clipping range of each component of the at least one clipped temporal collocated motion vector is [−(1<<(M−1)), (1<<(M−1))−1], M is greater than 16 and << is an arithmetic left shift operation; and

perform the conversion based on the at least one clipped temporal collocated motion vector,

wherein the at least one clipped temporal collocated motion vector includes a second temporal collocated motion vector which is used to construct an affine motion candidate list, and wherein the second temporal collocated motion vector is used to derive a temporal-based control point motion vector, and the temporal-based control point motion vector is combined with at least one spatial-based control point motion vector to derive an affine motion vector predictor candidate of the affine motion candidate list.

11. The apparatus of claim 10 , wherein the at least one clipped temporal collocated motion vector is further used to construct a motion candidate list, and at least one motion predictor derived based on the motion candidate list is used in the conversion directly, or is combined with at least one motion vector difference to derive a refined motion vector.

12. The apparatus of claim 11 , wherein each component of the refined motion vector has a bit-depth M-bit.

13. The apparatus of claim 11 , wherein in response to the at least one motion vector difference comprising two motion vector differences and a third picture order count difference between a first reference picture and the current picture being less than a forth picture order count difference between a second reference picture and the current picture, the conversion uses a scaling process to obtain motion vector difference of the first reference picture from the motion vector difference of the second reference picture which is indicated by a filed in the bitstream, and wherein the scaling process uses a second clipping operation to constrain each component of the motion vector difference of the first reference picture to fall in a range [−((1<<(M−1))), (1<<(M−1))−1].

14. The apparatus of claim 10 , wherein the at least one clipped temporal collocated motion vector includes a first temporal collocated motion vector which is used to construct a subblock motion candidate list, and wherein the first temporal collocated motion vector is derived based on a temporal motion shift from a spatial neighboring block of the current video block, and a reference picture related to the temporal motion shift is same as a collocated picture of the current video block.

15. The apparatus of claim 10 , wherein M is 18 and the clipping range is [−131072, 131071].

16. The apparatus of claim 10 , wherein the conversion is performed based on the at least one clipped temporal collocated motion vector for a spatial-temporal motion vector prediction mode of the current video block.

17. A non-transitory computer-readable storage medium storing instructions that cause a processor to:

derive, for a conversion between a current video block of a video and a bitstream of the video, at least one temporal collocated motion vector, wherein each of the at least one temporal collocated motion vector is derived at least based on a motion vector associated with a first block which has a temporal reference picture that is different from a target reference picture of the current video block;

scale each of the at least one temporal collocated motion vector based on a first picture order count difference between the target reference picture and a current picture including the current video block and a second picture order count difference between the temporal reference picture and a first picture including the first block;

perform a first clipping operation on the at least one scaled temporal collocated motion vector to derive at least one clipped temporal collocated motion vector, wherein a clipping range of each component of the at least one clipped temporal collocated motion vector is [−(1<<(M−1)), (1<<(M−1))−1], M is greater than 16 and << is an arithmetic left shift operation; and

perform the conversion based on the at least one clipped temporal collocated motion vector,

wherein the at least one clipped temporal collocated motion vector includes a second temporal collocated motion vector which is used to construct an affine motion candidate list, and wherein the second temporal collocated motion vector is used to derive a temporal-based control point motion vector, and the temporal-based control point motion vector is combined with at least one spatial-based control point motion vector to derive an affine motion vector predictor candidate of the affine motion candidate list.

18. The non-transitory computer-readable storage medium of claim 17 , wherein the at least one clipped temporal collocated motion vector is further used to construct a motion candidate list, and at least one motion predictor derived based on the motion candidate list is used in the conversion directly, or is combined with at least one motion vector difference to derive a refined motion vector.

19. The non-transitory computer-readable storage medium of claim 18 , wherein each component of the refined motion vector has a bit-depth M-bit.

20. A method of generating and storing a bitstream of a video to a non-transitory computer-readable recording medium, wherein the method comprises:

deriving at least one temporal collocated motion vector, wherein each of the at least one temporal collocated motion vector is derived at least based on a motion vector associated with a first block of the video which has a temporal reference picture that is different from a target reference picture of a current video block;

scaling each of the at least one temporal collocated motion vector based on a first picture order count difference between the target reference picture and a current picture including the current video block and a second picture order count difference between the temporal reference picture and a first picture including the first block;

performing a first clipping operation on the at least one scaled temporal collocated motion vector to derive at least one clipped temporal collocated motion vector, wherein a clipping range of each component of the at least one clipped temporal collocated motion vector is [−(1<<(M−1)), (1<<(M−1))−1], M is greater than 16 and << is an arithmetic left shift operation;

generating the bitstream based on the at least one clipped temporal collocated motion vector, and

storing the bitstream to a non-transitory computer readable recording medium;

wherein the at least one clipped temporal collocated motion vector includes a second temporal collocated motion vector which is used to construct a affine motion candidate list, and wherein the second temporal collocated motion vector is used to derive a temporal-based control point motion vector, and the temporal-based control point motion vector is combined with at least one spatial-based control point motion vector to derive an affine motion vector predictor candidate of the affine motion candidate list.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: ZHANG, LI; ZHANG, KAI; XU, JIZHENG
To: BYTEDANCE INC.
Reel/Frame 058073/0821 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 10, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 058073/0872 →
Priority Claims (1)
WO PCT/CN2018/122740 · Dec 21, 2018 · international
Continuity (3)
Continuation 17212339 · Mar 25, 2021
Continuation PCTCN2019127011 · Dec 20, 2019
Related Publication 20220070485A1 · Mar 3, 2022