IP Library Granted Patent US 11,323,694
Granted Patent B2
US 11,323,694 · App. 17/019,753 · Granted May 3, 2022

LUTS with intra prediction modes and intra mode prediction from non-adjacent 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/105G06F1/03H04N19/137H04N19/139H04N19/159H04N19/176H04N19/184H04N19/186H04N19/513H04N19/52H04N19/70H04N19/96H04N19/11H04N19/117
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,323,694
App. No.
17/019,753
Granted
May 3, 2022
Kind
B2
Abstract

Devices, systems and methods for encoding and decoding digital video are described. In a representative aspect, a method for video processing includes maintaining one or more tables of intra prediction mode candidates based on one or more previous video blocks of a video and performing a conversion between a current video block of the video and a bitstream representation of the video using the one or more tables of intra prediction mode candidates.

Claims (67)

1. A method of coding video data, comprising:

maintaining one or more first tables based on one or more previous video blocks of a video, wherein each first table of the one or more first tables comprises intra prediction mode candidates, each of which corresponds to an intra prediction mode and comprises a variable indicating a number of times the corresponding intra prediction mode is used in previously coded video blocks, the variable of the intra prediction mode candidate is incremented when a first table of the one or more first tables is updated based on the corresponding intra prediction mode;

performing a conversion between a first video block of the video and a bitstream of the video using the one or more first tables, wherein the performing the conversion comprises: determining an intra prediction mode of the first video block based on the one or more first tables and performing the conversion based on the determined intra prediction mode, wherein a checking operation is performed to determine the intra prediction mode, and the checking operation is performed both by an encoder side and a decoder side and comprises checking the one or more first tables according to the variables of the intra prediction mode candidates; and

wherein the method further comprises:

maintaining one or more second tables of motion candidates during a conversion between a second video block and the bitstream including the second video block, wherein each second table of the one or more second tables comprises one or more motion candidates derived from one or more previous blocks;

deriving motion information of the second video block using a second table of the one or more second tables; and

performing, based on the derived motion information of the second video block, the conversion between the second video block and the bitstream;

wherein the one or more first tables are updated based on the intra prediction mode of the first video block and are not updated based on the motion information of the second video block; and

the one or more second tables are updated based on the motion information of the second video block and are not updated based on the intra prediction mode of the first video block,

wherein if the second video block is coded with a non-affine inter mode, the one or more second tables are updated using the motion information of the second video block and if the second video block is coded with an affine inter mode, the one or more second tables are not updated using the motion information of the second video block.

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

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

4. The method of claim 1 , wherein a size of each first table of the one or more first tables is equal to a total number of supported types of intra prediction modes.

5. The method of claim 1 , further comprising:

performing a second conversion between a subsequent video block of the video and the bitstream of the video using the updated one or more first tables.

6. The method of claim 1 , wherein the performing the conversion comprises:

constructing a candidate list based on the one or more first tables; and

performing the conversion based on the candidate list.

7. The method of claim 6 , wherein the candidate list is a Most Probable Mode (MPM) list.

8. The method of claim 1 , wherein the performing the conversion comprises:

re-ordering non-Most Probable Mode (MPM) intra prediction modes based on intra prediction mode candidates of the one or more first tables; and

performing the conversion based on the re-ordered MPM intra prediction modes.

9. The method of claim 1 , wherein the one or more previous video blocks comprises a non-adjacent video block of the first video block.

10. The method of claim 1 , wherein a size of each first table of the one or more first tables is identical.

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

maintain one or more first tables based on one or more previous video blocks of a video, wherein each first table of the one or more first tables comprises intra prediction mode candidates, each of which corresponds to an intra prediction mode and comprises a variable indicating a number of times the corresponding intra prediction mode is used in previously coded video blocks, the variable of the intra prediction mode candidate is incremented when a first table of the one or more first tables is updated based on the corresponding intra prediction mode;

perform a conversion between a first video block of the video and a bitstream of the video using the one or more first tables, wherein the conversion comprises:

determining an intra prediction mode of the first video block based on the one or more first tables and performing the conversion based on the determined intra prediction mode, wherein a checking operation is performed to determine the intra prediction mode, and the checking operation is performed both by an encoder side and a decoder side and comprises checking the one or more first tables according to the variables of the intra prediction mode candidates; and

wherein the instructions upon execution by the processor, further cause the processor to:

maintain one or more second tables of motion candidates during a conversion between a second video block and the bitstream including the second video block, wherein each second table of the one or more second tables comprises one or more motion candidates derived from one or more previous blocks;

derive motion information of the second video block using a second table of the one or more second tables; and

perform, based on the derived motion information of the second video block, the conversion between the second video block and the bitstream;

wherein the one or more first tables are updated based on the intra prediction mode of the first video block and are not updated based on the motion information of the second video block; and

the one or more second tables are updated based on the motion information of the second video block and are not updated based on the intra prediction mode of the first video block,

wherein if the second video block is coded with a non-affine inter mode, the one or more second tables are updated using the motion information of the second video block and if the second video block is coded with an affine inter mode, the one or more second tables are not updated using the motion information of the second video block.

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

encode the first video block into the bitstream.

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

decode the first video block from the bitstream.

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

maintain one or more first tables based on one or more previous video blocks of a video, wherein each first table of the one or more first tables comprises intra prediction mode candidates, each of which corresponds to an intra prediction mode and comprises a variable indicating a number of times the corresponding intra prediction mode is used in previously coded video blocks, the variable of the intra prediction mode candidate is incremented when a first table of the one or more first tables is updated based on the corresponding intra prediction mode;

perform a conversion between a first video block of the video and a bitstream of the video using the one or more first tables, wherein the conversion comprises:

determining an intra prediction mode of the first video block based on the one or more first tables and performing the conversion based on the determined intra prediction mode, wherein a checking operation is performed to determine the intra prediction mode, and the checking operation is performed both by an encoder side and a decoder side and comprises checking the one or more first tables according to the variables of the intra prediction mode candidates; and

wherein the instructions further cause the processor to:

maintain one or more second tables of motion candidates during a conversion between a second video block and the bitstream including the second video block, wherein each second table of the one or more second tables comprises one or more motion candidates derived from one or more previous blocks;

derive motion information of the second video block using a second table of the one or more second tables; and

perform, based on the derived motion information of the second video block, the conversion between the second video block and the bitstream;

wherein the one or more first tables are updated based on the intra prediction mode of the first video block and are not updated based on the motion information of the second video block; and

the one or more second tables are updated based on the motion information of the second video block and are not updated based on the intra prediction mode of the first video block,

wherein if the second video block is coded with a non-affine inter mode, the one or more second tables are updated using the motion information of the second video block and if the second video block is coded with an affine inter mode, the one or more second tables are not updated using the motion information of the second video block.

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

maintaining one or more first tables for a first video block based on one or more previous video blocks of a video, wherein each first table of the one or more first tables comprises intra prediction mode candidates, each of which corresponds to an intra prediction mode and comprises a variable indicating a number of times the corresponding intra prediction mode is used in previously coded video blocks, the variable of the intra prediction mode candidate is incremented when a first table of the one or more first tables is updated based on the corresponding intra prediction mode;

generating the bitstream from the first video block using the one or more first tables, wherein generating the bitstream comprises: determining an intra prediction mode of the first video block based on the one or more first tables and generating the bitstream based on the determined intra prediction mode, wherein a checking operation is performed to determine the intra prediction mode, and the checking operation comprises checking the one or more first tables according to the variables of the intra prediction mode candidates; and

wherein the method further comprises:

maintaining one or more second tables of motion candidates for a second video block, wherein each second table of the one or more second tables comprises one or more motion candidates derived from one or more previous blocks;

deriving motion information of the second video block using a second table of the one or more second tables; and

generating the bitstream based on the derived motion information of the second video block;

wherein the one or more first tables are updated based on the intra prediction mode of the first video block and are not updated based on the motion information of the second video block; and

the one or more second tables are updated based on the motion information of the second video block and are not updated based on the intra prediction mode of the first video block,

wherein if the second video block is coded with a non-affine inter mode, the one or more second tables are updated using the motion information of the second video block and if the second video block is coded with an affine inter mode, the one or more second tables are not updated using the motion information of the second video block.

16. The method of claim 1 , wherein the one or more first tables and the one or more second tables are not updated using information derived for blocks coded with an affine inter mode.

17. The method of claim 1 , wherein the one or more first tables and the one or more second tables are not used for conversion between blocks coded with an affine inter mode and the bitstream.

18. The method of claim 1 , wherein whether to use the second table for the second video block is based on a coding characteristic of the second video block, and whether to update the one or more second tables using the motion information of the second video block is based on the coding characteristic of the second video block, wherein in a case that the second table is not used based on the coding characteristic, updating of the one or more second tables with the motion information of the second video block is skipped based on the coding characteristic, and wherein the coding characteristic comprises whether a coding mode of the second video block is an affine inter mode.

19. The non-transitory computer-readable storage medium of claim 14 , wherein the conversion between the first video block of the video and the bitstream of the video comprises:

encoding the first video block into the bitstream; and/or

decoding the first video block from the bitstream.

20. The non-transitory computer-readable recording medium of claim 15 , wherein whether to use the second table for the second video block is based on coding characteristic of the second video block, and whether to update the one or more second tables using the motion information of the second video block is based on the coding characteristic of the second video block, wherein in a case that the second table is not used based on the coding characteristic, updating of the one or more second tables with the motion information of the second video block is skipped based on the coding characteristic, and wherein the coding characteristic comprises whether a coding mode of the second video block is an affine inter mode.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: ZHANG, LI; ZHANG, KAI
To: BYTEDANCE INC.
Reel/Frame 053765/0331 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 14, 2020
From: LIU, HONGBIN; WANG, YUE
To: BEIJING BYTEDANCE NETWORK TECHNOLOGY CO., LTD.
Reel/Frame 053765/0358 →
Priority Claims (1)
WO PCT/CN2018/093987 · Jul 2, 2018 · international
Continuity (2)
Continuation PCTIB2019055623 · Jul 2, 2019
Related Publication 20200413045A1 · Dec 31, 2020