IP Library Granted Patent US 12695866
Granted Patent B2
US 12695866 · App. 18/914,018 · Granted Jul 28, 2026

Intra mode coding based on template

Inventors: Biao Wang (San Jose, CA); Roman Chernyak (Santa Clara, CA); Lien-Fei Chen (Palo Alto, CA); Yonguk Yoon (Palo Alto, CA); Motong Xu (Palo Alto, CA); Xin Zhao (San Jose, CA); Shan Liu (San Jose, CA)
Assignee: TENCENT AMERICA LLC
H04N19/11H04N19/159H04N19/176H04N19/593H04N19/70
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 12695866
App. No.
18/914,018
Granted
Jul 28, 2026
Kind
B2
Abstract

Aspects of the disclosure includes methods and apparatuses for video decoding and encoding and a method of processing visual media data. The method for video decoding includes receiving coded information in a bitstream indicating that a first intra mode coding method using one of (i) a template-based intra prediction mode derivation (TIMD) and (ii) a decoder-side intra mode derivation (DIMD) is not enabled for a current block. The method for video decoding includes determining at least one template-based intra mode with the first intra mode coding method using the one of the TIMD and the DIMD; and when the at least one template-based intra mode is to be excluded from a second intra mode coding method, determining an intra prediction mode of the current block using the second intra mode coding method excluding the at least one template-based intra mode, and reconstructing the current block using the intra prediction mode.

Claims (78)

1 . A method for video decoding, the method comprising:

receiving coded information in a bitstream, the coded information indicating that a first intra mode coding method using one of (i) a template-based intra prediction mode derivation (TIMD) and (ii) a decoder-side intra mode derivation (DIMD) is not enabled for a current block;

determining at least one template-based intra mode with the first intra mode coding method using the one of the TIMD and the DIMD; and

when the at least one template-based intra mode is to be excluded from a second intra mode coding method based on the first intra mode coding method not being enabled for the current block,

determining an intra prediction mode of the current block using the second intra mode coding method that excludes the at least one template-based intra mode, the second intra mode coding method being different from the TIMD and the DIMD, and

reconstructing the current block using the intra prediction mode.

2 . The method of claim 1 , wherein

the at least one template-based intra mode is to be excluded from the second intra mode coding method; and

the second intra mode coding method comprises constructing, from M intra prediction modes, a first most probable mode (MPM) list of the current block that excludes the at least one template-based intra mode.

3 . The method of claim 2 , wherein the constructing the first MPM list of the current block comprises:

constructing an initial first MPM list of the current block from the M intra prediction modes, the initial first MPM list including N intra prediction modes in the M intra prediction modes; and

for each one of the at least one template-based intra mode,

when the respective one of the at least one template-based intra mode is included in the initial first MPM list of the current block, removing the respective one of the at least one template-based intra mode from the initial first MPM list of the current block; and

adding an intra prediction mode from remaining (M-N) intra prediction modes in the M intra prediction modes to the initial first MPM list to construct the first MPM list of the current block.

4 . The method of claim 2 , wherein the constructing the first MPM list of the current block comprises:

when a candidate intra prediction mode to be added to the first MPM list is one of the at least one template-based intra mode, not adding the candidate intra prediction mode to the first MPM list of the current block; and

when the candidate intra prediction mode to be added to the first MPM list is not one of the at least one template-based intra mode, adding the candidate intra prediction mode to the first MPM list of the current block.

5 . The method of claim 2 , wherein the at least one template-based intra mode is not in remaining intra prediction modes in the M intra prediction modes that are not included in the first MPM list, the first MPM list of the current block includes N intra prediction modes in the M intra prediction modes, a number of the at least one template-based intra mode is T, a number of the remaining intra prediction modes in the M intra prediction modes that are not included in the first MPM list is (M−N−T), and the M intra prediction modes include the N intra prediction modes in the first MPM list, the (M−N−T) remaining intra prediction modes, and the T at least one template-based intra mode, each of the (M−N−T) remaining intra prediction modes being excluded from the first MPM list and being excluded from the at least one template-based intra mode.

6 . The method of claim 2 , wherein

a flag in the coded information indicating whether the intra prediction mode of the current block is in the first MPM list of the current block;

when the flag indicating that the intra prediction mode of the current block is in the first MPM list of the current block, determining the intra prediction mode of the current block based on an index indicated by the coded information; and

when the flag indicating that the intra prediction mode of the current block is not in the first MPM list of the current block, determining the intra prediction mode of the current block to be one of remaining intra prediction modes in the M intra prediction modes, each of the remaining intra prediction modes being excluded from the first MPM list and being excluded from the at least one template-based intra mode.

7 . The method of claim 2 , wherein

the second intra mode coding method includes constructing, from (M-N) intra prediction modes in the M intra prediction modes that are outside the first MPM list, a second MPM list of the current block that excludes the at least one template-based intra mode, the second MPM list of the current block including S intra prediction modes, the first MPM list of the current block including N intra prediction modes in the M intra prediction modes;

the constructing the first MPM list of the current block includes:

when a first candidate intra prediction mode to be added to the first MPM list is one of the at least one template-based intra mode, not adding the first candidate intra prediction mode to the first MPM list of the current block; and

when the first candidate intra prediction mode to be added to the first MPM list is not one of the at least one template-based intra mode, adding the first candidate intra prediction mode to the first MPM list of the current block; and

the constructing the second MPM list of the current block includes:

when a second candidate intra prediction mode to be added to the second MPM list is one of the at least one template-based intra mode, not adding the second candidate intra prediction mode to the second MPM list of the current block; and

when the second candidate intra prediction mode to be added to the second MPM list is not one of the at least one template-based intra mode, adding the second candidate intra prediction mode to the second MPM list of the current block.

8 . The method of claim 7 , wherein the at least one template-based intra mode is not in remaining intra prediction modes in the M intra prediction modes that are not included in the first MPM list and the second MPM list, a number of the at least one template-based intra mode is T, a number of the remaining intra prediction modes is (M−N−S−T), and the M intra prediction modes include the N intra prediction modes in the first MPM list, the S intra prediction modes in the second MPM list, the (M−N−S−T) remaining intra prediction modes, and the T at least one template-based intra mode, each of the (M−N−S−T) remaining intra prediction modes being excluded from the first MPM list, being excluded from the second MPM list, and being excluded from the at least one template-based intra mode.

9 . The method of claim 7 , wherein

a first flag in the coded information indicates that the intra prediction mode of the current block is not in the first MPM list of the current block,

when a second flag in the coded information indicates that the intra prediction mode of the current block is in the second MPM list of the current block, determining the intra prediction mode of the current block based on an index indicated by the coded information; and

when the second flag indicates that the intra prediction mode of the current block is not in the second MPM list of the current block, determining the intra prediction mode of the current block to be one of remaining intra prediction modes in the M intra prediction modes, each of the remaining intra prediction modes being excluded from the first MPM list, being excluded from the second MPM list, and being excluded from the at least one template-based intra mode.

10 . The method of claim 1 , wherein

the second intra mode coding method comprises constructing, from M intra prediction modes, a most probable mode (MPM) list of the current block by

excluding a candidate intra prediction mode from the MPM list when the candidate intra prediction mode is one of the at least one template-based intra mode and the candidate intra prediction mode is to be added to an entry after a first entry and a second entry of the MPM list.

11 . The method of claim 1 , wherein the second intra mode coding method comprises a template-based multiple reference line intra prediction (TMRL) mode.

12 . The method of claim 1 , wherein the method further comprises determining whether to include the at least one template-based intra mode in the second intra mode coding method.

13 . A method for video encoding, the method comprising:

determining that a first intra mode coding method using one of (i) a template-based intra prediction mode derivation (TIMD) and (ii) a decoder-side intra mode derivation (DIMD) is not enabled for a current block;

determining at least one template-based intra mode with the first intra mode coding method using the one of (i) the TIMD and (ii) the DIMD;

when the at least one template-based intra mode is to be excluded from a second intra mode coding method based on the first intra mode coding method not being enabled for the current block,

determining an intra prediction mode of the current block using the second intra mode coding method that excludes the at least one template-based intra mode, the second intra mode coding method being different from the TIMD and the DIMD, and

encoding, in a bitstream, the current block using the intra prediction mode; and

encoding, in the bitstream, a syntax element indicating that the first intra mode coding method using the one of the TIMD and the DIMD is not enabled for the current block.

14 . The method of claim 13 , wherein

the at least one template-based intra mode is to be excluded from the second intra mode coding method; and

the second intra mode coding method comprises constructing, from M intra prediction modes, a first most probable mode (MPM) list of the current block that excludes the at least one template-based intra mode.

15 . The method of claim 14 , wherein the constructing the first MPM list of the current block comprises:

constructing an initial first MPM list of the current block from the M intra prediction modes, the initial first MPM list including N intra prediction modes in the M intra prediction modes; and

for each one of the at least one template-based intra mode,

when the respective one of the at least one template-based intra mode is included in the initial first MPM list of the current block, removing the respective one of the at least one template-based intra mode from the initial first MPM list of the current block; and

adding an intra prediction mode from remaining (M−N) intra prediction modes in the M intra prediction modes to the initial first MPM list to construct the first MPM list of the current block.

16 . The method of claim 14 , wherein the constructing the first MPM list of the current block comprises:

when a candidate intra prediction mode to be added to the first MPM list is one of the at least one template-based intra mode, not adding the candidate intra prediction mode to the first MPM list of the current block; and

when the candidate intra prediction mode to be added to the first MPM list is not one of the at least one template-based intra mode, adding the candidate intra prediction mode to the first MPM list of the current block.

17 . The method of claim 14 , wherein the at least one template-based intra mode is not in remaining intra prediction modes in the M intra prediction modes that are not included in the first MPM list, the first MPM list of the current block includes N intra prediction modes in the M intra prediction modes, a number of the at least one template-based intra mode is T, a number of the remaining intra prediction modes in the M intra prediction modes that are not included in the first MPM list is (M−N−T), and the M intra prediction modes include the N intra prediction modes in the first MPM list, the (M−N−T) remaining intra prediction modes, and the T at least one template-based intra mode, each of the (M−N−T) remaining intra prediction modes being excluded from the first MPM list and being excluded from the at least one template-based intra mode.

18 . The method of claim 14 , wherein

the second intra mode coding method includes constructing, from (M−N) intra prediction modes in the M intra prediction modes that are outside the first MPM list, a second MPM list of the current block that excludes the at least one template-based intra mode, the second MPM list of the current block including S intra prediction modes, the first MPM list of the current block including N intra prediction modes in the M intra prediction modes;

the constructing the first MPM list of the current block includes:

when a first candidate intra prediction mode to be added to the first MPM list is one of the at least one template-based intra mode, not adding the first candidate intra prediction mode to the first MPM list of the current block; and

when the first candidate intra prediction mode to be added to the first MPM list is not one of the at least one template-based intra mode, adding the first candidate intra prediction mode to the first MPM list of the current block; and

the constructing the second MPM list of the current block includes:

when a second candidate intra prediction mode to be added to the second MPM list is one of the at least one template-based intra mode, not adding the second candidate intra prediction mode to the second MPM list of the current block; and

when the second candidate intra prediction mode to be added to the second MPM list is not one of the at least one template-based intra mode, adding the second candidate intra prediction mode to the second MPM list of the current block.

19 . The method of claim 13 , wherein

the second intra mode coding method comprises constructing, from M intra prediction modes, a most probable mode (MPM) list of the current block by

excluding a candidate intra prediction mode from the MPM list when the candidate intra prediction mode is one of the at least one template-based intra mode and the candidate intra prediction mode is to be added to an entry after a first entry and a second entry of the MPM list.

20 . A non-transitory computer-readable storage medium storing instructions which when executed by a processor cause the processor to perform a method of encoding a bitstream comprising:

determining that a first intra mode coding method using one of (i) a template-based intra prediction mode derivation (TIMD) and (ii) a decoder-side intra mode derivation (DIMD) is not enabled for a current block;

determining at least one template-based intra mode with the first intra mode coding method using the one of (i) the TIMD and (ii) the DIMD;

when the at least one template-based intra mode is to be excluded from a second intra mode coding method based on the first intra mode coding method not being enabled for the current block,

determining an intra prediction mode of the current block using the second intra mode coding method that excludes the at least one template-based intra mode, the second intra mode coding method being different from the TIMD and the DIMD, and

encoding, in the bitstream, the current block using the intra prediction mode;

encoding, in the bitstream, a syntax element indicating that the first intra mode coding method using the one of the TIMD and the DIMD is not enabled for the current block; and

transmitting the bitstream.