IP Library › Granted Patent US 12,022,087
Granted Patent B2
US 12,022,087 · App. 17/490,806 · Granted Jun 25, 2024

Mode dependent motion vector difference precision set

Inventors: Hongbin Liu (Beijing, CN); Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/139H04N19/107H04N19/176H04N19/52H04N19/521H04N19/523
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 12,022,087
App. No.
17/490,806
Granted
Jun 25, 2024
Kind
B2
Abstract

A method of processing a video bitstream includes determining a motion precision set based on coding information of a current block. A conversion between a video block and a coded representation of the video block is performed based on the motion precision set. The conversion corresponds to a reconstruction of the current block. In some example aspects, a motion vector difference (MVD) precision of a current block from a motion precision set is determined based on a selected motion precision set and a MVD precision index. A conversion between a video block and a coded representation of the video block using an MVD is performed based on the MVD precision. The MVD represents a difference between a predicted motion vector and an actual motion vector used during motion compensation processing.

Claims (63)

1. A method of video processing, comprising:

determining a coding mode of a current block, wherein the coding mode of the current block is an affine mode;

determining, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode; and

coding the current block using the coding mode;

wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine motion vectors, and

wherein a candidate list is constructed for the current block based on a motion vector of two or three neighboring blocks and comprises a constructed affine control point motion vector prediction candidate;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with a non-affine mode;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with an intra block copy (IBC); and

the affine mode and the IBC mode are not used simultaneously;

wherein coding the current block using the coding mode is performed further based on the motion precision,

wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block.

2. The method of claim 1 , wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

3. The method of claim 1 , wherein motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

4. The method of claim 1 , wherein the motion precision set for blocks coded with the IBC mode is different from the motion precision set for blocks coded with a non-IBC mode.

5. The method of claim 1 , wherein determining, for motion information of the current block, a motion precision from a set of allowed multiple motion precisions comprises:

determining, based on a signaled motion precision index, the motion precision from the motion precision set.

6. The method of claim 1 , wherein coding the current block comprises: decoding the current block from a bitstream.

7. The method of claim 1 , wherein coding the current block comprises: encoding the current block into a bitstream.

8. An apparatus for video processing 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 coding mode of a current block, wherein the coding mode of the current block is an affine mode;

determine, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode; and

code the current block using the coding mode;

wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine motion vectors;

wherein a candidate list is constructed for the current block based on a motion vector of two or three neighboring blocks and comprises a constructed affine control point motion vector prediction candidate;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with a non-affine mode;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with an intra block copy (IBC); and

the affine mode and the IBC mode are not used simultaneously;

wherein coding the current block using the coding mode is performed further based on the motion precision,

wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block.

9. The apparatus of claim 8 , wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

10. The apparatus of claim 8 , wherein the motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

11. The apparatus of claim 8 , wherein the motion precision set for blocks coded with the IBC is different from the motion precision set for blocks coded with a non-IBC mode.

12. The apparatus of claim 8 , wherein the instructions upon execution by the processor, cause the processor further to:

determine, based on a signaled motion precision index, the motion precision from the motion precision set.

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

determine a coding mode of a current block, wherein the coding mode of the current block is an affine mode;

determine, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode; and

code the current block using the coding mode;

wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine motion vectors;

wherein a candidate list is constructed for the current block based on a motion vector of two or three neighboring blocks and comprises a constructed affine control point motion vector prediction candidate;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with a non-affine mode;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with an intra block copy (IBC); and

the affine mode and the IBC mode are not used simultaneously;

wherein coding the current block using the coding mode is performed further based on the motion precision,

wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block.

14. The non-transitory computer-readable storage medium of claim 13 , wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

15. The non-transitory computer-readable storage medium of claim 13 , wherein the motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

16. The non-transitory computer-readable storage medium of claim 13 , wherein the motion precision set for blocks coded with the IBC mode is different from the motion precision set for blocks coded with a non-IBC mode.

17. A method for storing a bitstream of a video comprises:

determining a coding mode of a current block, wherein the coding mode of the current block is an affine mode;

determining, for motion information of the current block, a motion precision from a motion precision set comprising multiple motion precisions; wherein the motion precision set is based on the coding mode;

generating the bitstream using the coding mode; and

storing the bitstream in a non-transitory computer-readable recording medium,

wherein responsive to the coding mode of the current block being the affine mode, a coding tool is disabled, wherein the coding tool is used for bi-prediction with a motion vector from a previous reference picture and another motion vector from a future reference picture to refine motion vectors;

wherein a candidate list is constructed for the current block based on a motion vector of two or three neighboring blocks and comprises a constructed affine control point motion vector prediction candidate;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with a non-affine mode;

wherein the motion precision set for blocks coded with the affine mode is different from a motion precision set for blocks coded with an intra block copy (IBC); and

the affine mode and the IBC mode are not used simultaneouslys;

wherein coding the current block using the coding mode is performed further based on the motion precision,

wherein the motion precision set for blocks coded with the affine mode comprises only 1/16-pel, ¼-pel and 1-pel, wherein 1/16-pel is a precision of motion vectors stored for prediction of other blocks than the current block.

18. The method of claim 17 , wherein the motion information comprises at least one of a motion vector difference (MVD), a motion vector predictor (MVP), or a motion vector (MV).

19. The method of claim 17 , wherein the motion precision set corresponds at least one of a precision set of MVDs, a precision set of MVPs, or a precision set of MVs.

20. The method of claim 17 , wherein the motion precision set for blocks coded with the IBC mode is different from the motion precision set for blocks coded with a non-IBC mode.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 057661/0719 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 30, 2021
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 057661/0758 →
Priority Claims (1)
WO PCT/CN2018/091792 · Jun 19, 2018 · international
Continuity (3)
Continuation 16940959 · Jul 28, 2020
Continuation PCTIB2019055135 · Jun 19, 2019
Related Publication 20220021885A1 · Jan 20, 2022
Cited By (1)
US 12,666,047