IP Library › Granted Patent US 11,758,177
Granted Patent B2
US 11,758,177 · App. 16/796,708 · Granted Sep 12, 2023

Concept of using one or multiple look up tables to store motion information of previously coded in order and use them to code following blocks

Inventors: Li Zhang (San Diego, CA); Kai Zhang (San Diego, CA); Hongbin Liu (Beijing, CN); Yue Wang (Beijing, CN)
Assignees: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD; BYTEDANCE INC.
H04N19/52H04N19/159H04N19/176H04N19/184
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,758,177
App. No.
16/796,708
Granted
Sep 12, 2023
Kind
B2
Abstract

Devices, systems and methods for coding video using one or more tables to store motion information and process subsequent blocks are described. In one aspect, a video coding method is provided to include deriving motion information for a first video block which is coded using an intra block copy mode, wherein one or more candidates of one or more tables are selectively checked during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block; and coding, based on the motion information, the first video block.

Claims (44)

1. A video coding method, comprising:

deriving motion information for a first video block which is coded using an intra block copy (IBC) mode, wherein one or more motion candidates of one or more tables are selectively checked in an order during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block and coded with the IBC mode, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;

coding, based on the motion information, the first video block;

adding, in a case of a size of the first video block satisfying a predefined condition and the first video block being coded with the IBC mode, a new motion candidate related to the motion information of the first video block into the one or more tables, wherein at least one motion candidate in the table is deleted when the table is full before the new motion candidate is added to the table, and not adding, in a case of the size of the first video block not satisfying the predefined condition or the first video block not being coded with the IBC mode, the new motion candidate related to the motion information of the first video block into the one or more tables,

wherein the new motion candidate has a maximum index in the table.

2. The method of claim 1 , wherein in the intra block copy mode, reference samples from a video region including the first video block are used.

3. The method of claim 1 , wherein the method further comprises:

determining whether to use the motion information of the first video block to update the one or more tables.

4. The method of claim 3 , wherein the determining comprises:

determining, based on properties of the first video block, whether to use the motion information of the first video block to update the one or more tables.

5. The method of claim 3 , further comprising deriving, based on the updated one or more tables, motion information for a subsequent video block to code the subsequent video block.

6. The method of claim 1 , wherein checking the one or more candidates of the one or more tables is determined at least based on a number of motion candidates in the motion candidate list not reaching a maximally allowed number.

7. The method of claim 1 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.

8. The method of claim 1 , wherein the motion information includes at least one of: a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, filter parameters, motion vector difference value, or indications of blocks where the motion information is coming from.

9. The method of claim 1 , further comprising checking partial or all of motion candidates from one table of the one or more tables in order and adding one or more candidates selectively to the motion candidate list based on a checking result.

10. The method of claim 1 , wherein a table of the one or more tables is updated with motion information from AMVP and merge coded blocks.

11. The method of claim 1 , wherein the coding process includes encoding the first video block into a video bitstream.

12. The method of claim 1 , wherein the coding process includes decoding the first video block from a video bitstream.

13. The method of claim 1 , wherein the table is reset at a beginning of coding a new coding Tree Unit which comprises one or more blocks.

14. The method of claim 1 , wherein in a case of the size of the first video block being at least equal to one of at least one predetermined size and the first video block being coded with the IBC mode, the new motion candidate related to the motion information of the first video block is added into the one or more tables.

15. A video coding apparatus comprising a processor and a non-transitory memory with instructions thereon, wherein the instructions upon execution by the processor, cause the processor to:

derive motion information for a first video block which is coded using an intra block copy (IBC) mode, wherein one or more motion candidates of one or more tables are selectively checked in an order during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block and coded with the IBC mode, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;

code, based on the motion information, the first video block; and

add, in a case of a size of the first video block satisfying a predefined condition and the first video block being coded with the IBC mode, a new motion candidate related to the motion information of the first video block into the one or more tables, wherein at least one motion candidate in the table is deleted when the table is full before the new motion candidate is added to the table, and not add, in a case of the size of the first video block not satisfying the predefined condition or the first video block not being coded with the IBC mode, the new motion candidate related to the motion information of the first video block into the one or more tables,

wherein the new motion candidate has a maximum index in the table.

16. The apparatus of claim 15 , wherein, wherein in the intra block copy mode, reference samples from a video region including the first video block are used.

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

determine whether to use the motion information of the first video block to update the one or more tables.

18. The apparatus of claim 15 , wherein the motion candidate list is one of a merge candidate list and an Advanced Motion Vector Prediction (AMVP) candidate list.

19. The apparatus of claim 15 , wherein the motion information includes at least one of: a prediction direction, a reference picture index, motion vector values, intensity compensation flag, affine flag, motion vector difference precision, filter parameters, motion vector difference value or indications of blocks where the motion information is coming from.

20. The apparatus of claim 15 , wherein the instructions, upon execution by the processor, further cause the processor to check partial or all of motion candidates from one table of the one or more tables in order and adding one or more candidates selectively to the motion candidate list based on a checking result.

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

derive motion information for a first video block which is coded using an intra block copy (IBC) mode, wherein one or more motion candidates of one or more tables are selectively checked in order during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block and coded with the IBC mode, and arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;

code, based on the motion information, the first video block; and

add, in a case of a size of the first video block satisfying a predefined condition and the first video block being coded with the IBC mode, a new motion candidate related to the motion information of the first video block into the one or more tables, wherein at least one motion candidate in the table is deleted when the table is full before the new motion candidate is added to the table, and not add, in a case of the size of the first video block not satisfying the predefined condition or the first video block not being coded with the IBC mode, the new motion candidate related to the motion information of the first video block into the one or more tables,

wherein the new motion candidate has a maximum index in the table.

22. A method for storing a bitstream, comprising:

generating the bitstream of a first video block; and

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

wherein the generating the bitstream includes:

deriving motion information for a first video block which is coded using an intra block copy (IBC) mode, wherein one or more motion candidates of one or more tables are selectively checked in an order during a motion candidate list construction process which is used to derive the motion information for the first video block, wherein each table of the one or more tables includes motion candidates derived from previously coded video blocks that are coded prior to the first video block and coded with the IBC mode, and an arrangement of the motion candidates in the table is based on a sequence of addition of the motion candidates into the table;

encoding, based on the motion information, the first video block; and

adding, in a case of a size of the first video block satisfying a predefined condition and the first video block being coded with the IBC mode, a new motion candidate related to the motion information of the first video block into the one or more tables, wherein at least one motion candidate in the table is deleted when the table is full before the new motion candidate is added to the table, and not adding, in a case of the size of the first video block not satisfying the predefined condition or the first video block not being coded with the IBC mode, the new motion candidate related to the motion information of the first video block into the one or more tables,

wherein the new motion candidate has a maximum index in the table.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 051882/0174 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 051882/0219 →
Continuity (2)
Continuation In Part PCTIB2019055587 · Jul 1, 2019
Related Publication 20200195960A1 · Jun 18, 2020