IP Library Granted Patent US 11,528,486
Granted Patent B2
US 11,528,486 · App. 17/546,665 · Granted Dec 13, 2022

Restrictions on motion vector difference

Inventors: Zhipin Deng (Beijing, CN); Li Zhang (San Diego, CA); Hongbin Liu (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.; BYTEDANCE INC.
H04N19/137H04N19/105H04N19/132H04N19/176
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,528,486
App. No.
17/546,665
Filed
Dec 9, 2021
Granted
Dec 13, 2022
Kind
B2
Art Unit
2486
USPC
375/240.02
Abstract

Restrictions on motion vector difference are disclosed. In one example method of video processing, performing a conversion between a first block of video and a bitstream representation of the first block based on a constrained signaled MVD component associated with the first block, wherein value of the signaled motion vector difference (MVD) component is constrained in a predetermined range.

Claims (52)

1. A method of processing video data, comprising:

determining, for a first conversion between a first block of a video and a bitstream of the video, a first motion vector difference (MVD) component associated with the first block and included in the bitstream; and

performing the first conversion at least based on the first MVD component;

wherein a value of the first MVD component is constrained in a predetermined range, wherein the predetermined range is [−2 M , 2 M −1], where M=17,

wherein the method further comprises:

determining, for a second conversion between a second block of the video and the bitstream, a second MVD component of a first list associated with the second block and included in the bitstream;

determining, based on the second MVD component, a third MVD component of a second list associated with the second block; and

performing the second conversion at least based on the second MVD component and third MVD component, and

wherein the value of the second MVD component is constrained in a predetermined range which has a maximum value 2 M −1, or the value of the third MVD component is constrained in a predetermined range which has a maximum value 2 M −1.

2. The method of claim 1 , wherein the first list is a list X with X=0, and the second list is a list Y with Y=1 correspondingly.

3. The method of claim 1 , wherein the third MVD component is a negative of the second MVD component.

4. The method of claim 1 , wherein the predetermined range of the first MVD component is adapted to an allowable MVD precision and/or allowable motion vector precision of a codec.

5. The method of claim 4 , wherein the allowable MVD precision and/or allowable motion vector precision is 1/16-luma-sample precision.

6. The method of claim 1 , wherein the M=K+L, wherein K=13 and L=4, in which K denotes the number of bits used to represent an integer part of the first MVD component, and L denotes the number of bits used to represent a fractional part of the first MVD component, wherein the first MVD component is represented in ½L-luma-sample precision.

7. The method of claim 1 , wherein the conversion comprises encoding the first block into the bitstream.

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

9. 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 first conversion between a first block of a video and a bitstream of the video, a first motion vector difference (MVD) component associated with the first block and included in the bitstream; and

perform the first conversion at least based on the first MVD component;

wherein a value of the first MVD component is constrained in a predetermined range, wherein the predetermined range is [−2 M , 2 M −1], where M=17,

wherein the instructions further cause the processor to:

determine, for a second conversion between a second block of the video and the bitstream, a second MVD component of a first list associated with the second block and included in the bitstream;

determine, based on the second MVD component, a third MVD component of a second list associated with the second block; and

perform the second conversion at least based on the second MVD component and third MVD component, and

wherein the value of the second MVD component is constrained in a predetermined range which has a maximum value 2 M −1, or the value of the third MVD component is constrained in a predetermined range which has a maximum value 2 M −1.

10. The apparatus of claim 9 , wherein the M=K+L, wherein K=13 and L=4, in which K denotes the number of bits used to represent an integer part of the first MVD component, and L denotes the number of bits used to represent a fractional part of the first MVD component, wherein the first MVD component is represented in ½L-luma-sample precision.

11. The apparatus of claim 9 , wherein the predetermined range of the first MVD component is adapted to an allowable MVD precision and/or allowable motion vector precision of a codec.

12. The apparatus of claim 11 , wherein the allowable MVD precision and/or allowable motion vector precision is 1/16-luma-sample precision.

13. The apparatus of claim 9 , wherein the first list is a list X with X=0, and the second list is a list Y with Y=1 correspondingly.

14. The apparatus of claim 9 , wherein the third MVD component is a negative of the second MVD component.

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

determine, for a first conversion between a first block of a video and a bitstream of the video, a first motion vector difference (MVD) component associated with the first block and included in the bitstream; and

perform the first conversion at least based on the first MVD component;

wherein a value of the first MVD component is constrained in a predetermined range, wherein the predetermined range is [−2 M , 2 M −1], where M=17,

wherein the instructions further cause the processor to:

determine, for a second conversion between a second block of the video and the bitstream, a second MVD component of a first list associated with the second block and included in the bitstream;

determine, based on the second MVD component, a third MVD component of a second list associated with the second block; and

perform the second conversion at least based on the second MVD component and third MVD component, and

wherein the value of the second MVD component is constrained in a predetermined range which has a maximum value 2 M −1, or the value of the third MVD component is constrained in a predetermined range which has a maximum value 2 M −1.

16. The non-transitory computer-readable storage medium of claim 15 , wherein the M=K+L, wherein K=13 and L=4, in which K denotes the number of bits used to represent an integer part of the first MVD component, and L denotes the number of bits used to represent a fractional part of the first MVD component, wherein the first MVD component is represented in ½L-luma-sample precision.

17. The non-transitory computer-readable storage medium of claim 15 , wherein the first list is a list X with X=0, and the second list is a list Y with Y=1 correspondingly.

18. The non-transitory computer-readable storage medium of claim 15 , wherein the third MVD component is a negative of the second MVD component.

19. The non-transitory computer-readable storage medium of claim 15 , wherein the predetermined range of the first MVD component is adapted to an allowable MVD precision and/or allowable motion vector precision of a codec.

20. 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 a first motion vector difference (MVD) component associated with a first block of a video; and

generating the bitstream at least based on the first MVD component;

wherein a value of the first MVD component is constrained in a predetermined range, wherein the predetermined range is [−2 M , 2 M −1], where M=17,

wherein the method further comprises:

determining, for a second conversion between a second block of the video and the bitstream, a second MVD component of a first list associated with the second block and included in the bitstream;

determining, based on the second MVD component, a third MVD component of a second list associated with the second block; and

performing the second conversion at least based on the second MVD component and third MVD component, and

wherein the value of the second MVD component is constrained in a predetermined range which has a maximum value 2 M −1, or the value of the third MVD component is constrained in a predetermined range which has a maximum value 2 M −1.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: ZHANG, LI
To: BYTEDANCE INC.
Reel/Frame 058352/0316 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 9, 2021
From: DENG, ZHIPIN; LIU, HONGBIN
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 058352/0359 →
Continuity (2)
Continuation PCTCN2020098514 · Jun 28, 2020
Related Publication 20220103829A1 · Mar 31, 2022