Method and apparatus of prioritized intra coding mode in most probable mode list construction for video coding
By prioritizing MPM candidates based on predefined conditions, the method addresses inefficiencies in MPM list construction, enhancing encoding efficiency and reducing complexity in video coding, particularly in VVC.
Patent Information
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- MEDIATEK INC
- Filing Date
- 2025-10-23
- Publication Date
- 2026-05-07
AI Technical Summary
Existing video coding technologies face challenges in efficiently constructing Most Probable Mode (MPM) lists, leading to suboptimal encoding efficiency and increased computational complexity, particularly in versatile video coding (VVC) due to the large number of intra prediction modes and varying block shapes.
A method and apparatus for deriving prioritized MPM candidates by applying priority conditions based on pre-defined intra prediction mode indexes, angles, decoder-side statistics, and template costs to reorder and prioritize MPM candidates within the MPM list, ensuring efficient encoding and reduced complexity.
The proposed method enhances encoding efficiency by prioritizing MPM candidates that meet specific conditions, resulting in improved compression performance and reduced computational overhead.
Smart Images

Figure CN2025129464_07052026_PF_FP_ABST
Abstract
Description
METHOD AND APPARATUS OF PRIORITIZED INTRA CODING MODE IN MOST PROBABLE MODE LIST CONSTRUCTION FOR VIDEO CODINGCROSS REFERENCE TO RELATED APPLICATIONS
[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 714,960, filed on November 1, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION
[0002] The present invention relates to video coding. In particular, the present invention relates to schemes to derive prioritized intra prediction candidates for MPM (Most Probable Mode) list. BACKGROUND AND RELATED ART
[0003] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.
[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing. For Intra Prediction 110, the prediction data is derived based on previously coded video data in the current picture. For Inter Prediction 112, Motion Estimation (ME) is performed at the encoder side and Motion Compensation (MC) is performed based on the result of ME to provide prediction data derived from other picture (s) and motion data. Switch 114 selects Intra Prediction 110 or Inter Prediction 112 and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion and coding modes associated with Intra prediction and Inter prediction, and other information such as parameters associated with loop filters applied to underlying image area. The side information associated with Intra Prediction 110, Inter prediction 112 and in-loop filter 130, is provided to Entropy Encoder 122 as shown in Fig. 1A. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.
[0005] As shown in Fig. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, in-loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, deblocking filter (DF) , Sample Adaptive Offset (SAO) and Adaptive Loop Filter (ALF) may be used. The loop filter information may need to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is also provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1A, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1A is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H. 264 or VVC.
[0006] The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.
[0007] Intra Mode Coding with 67 Intra Prediction Modes
[0008] To capture the arbitrary edge directions presented in natural video, the number of directional intra modes in VVC is extended from 33, as used in HEVC, to 65. The new directional modes not in HEVC are depicted as dotted arrows in Fig. 2, and the planar and DC modes remain the same. These denser directional intra prediction modes apply for all block sizes and for both luma and chroma intra predictions.
[0009] In VVC, several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for the non-square blocks.
[0010] In HEVC, every intra-coded block has a square shape and the length of each of its side is a power of 2. Thus, no division operations are required to generate an intra-predictor using DC mode. In VVC, blocks can have a rectangular shape that necessitates the use of a division operation per block in the general case. To avoid division operations for DC prediction, only the longer side is used to compute the average for non-square blocks.
[0011] Wide-Angle Intra Prediction for Non-Square Blocks
[0012] Conventional angular intra prediction directions are defined from 45 degrees to -135 degrees in clockwise direction. In VVC, several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for non-square blocks. The replaced modes are signalled using the original mode indexes, which are remapped to the indexes of wide angular modes after parsing. The total number of intra prediction modes is unchanged, i.e., 67, and the intra mode coding method is unchanged.
[0013] To support these prediction directions, the top reference with length 2W+1, and the left reference with length 2H+1, are defined as shown in Fig. 3A and Fig. 3B respectively.
[0014] The number of replaced modes in wide-angular direction mode depends on the aspect ratio of a block. The replaced intra prediction modes are illustrated in Table 1. Table 1 - Intra prediction modes replaced by wide-angular modes
[0015] As shown in Fig. 4, two vertically-adjacent predicted samples (samples 410 and 412) may use two non-adjacent reference samples (samples 420 and 422) in the case of wide-angle intra prediction. Hence, low-pass reference samples filter and side smoothing are applied to the wide-angle prediction to reduce the negative effect of the increased gap Δpα. If a wide-angle mode represents a non-fractional offset. There are 8 modes in the wide-angle modes satisfy this condition, which are [-14, -12, -10, -6, 72, 76, 78, 80] . When a block is predicted by these modes, the samples in the reference buffer are directly copied without applying any interpolation. With this modification, the number of samples needed to be smoothing is reduced. Besides, it aligns the design of non-fractional modes in the conventional prediction modes and wide-angle modes.
[0016] In VVC, 4: 2: 2 and 4: 4: 4 chroma formats are supported as well as 4: 2: 0. Chroma derived mode (DM) derivation table for 4: 2: 2 chroma format was initially ported from HEVC extending the number of entries from 35 to 67 to align with the extension of intra prediction modes. Since HEVC specification does not support prediction angle below -135° and above 45°, luma intra prediction modes ranging from 2 to 5 are mapped to 2. Therefore, chroma DM derivation table for 4: 2: 2 chroma format is updated by replacing some values of the entries of the mapping table to convert prediction angle more precisely for chroma blocks.
[0017] Most Probable Mode (MPM) List Generation
[0018] To keep the complexity of the most probable mode (MPM) list generation low, an intra mode coding method with 6 MPMs is used by considering two available neighbouring intra modes. The following three aspects are considered to construct the MPM list: a) Default intra modes b) Neighbouring intra modes c) Derived intra modes
[0019] A unified 6-MPM list is used for intra blocks irrespective of whether MRL and ISP coding tools are applied or not. The MPM list is constructed based on intra modes of the left and above neighbouring block. Suppose the mode of the left is denoted as Left and the mode of the above block is denoted as Above, the unified MPM list is constructed as follows: d) When a neighbouring block is not available, its intra mode is set to Planar by default. e) If both modes Left and Above are non-angular modes: – MPM list → {Planar, DC, V, H, V -4, V + 4} f) If one of modes Left and Above is angular mode, and the other is non-angular: – Set a mode Max as the larger mode in Left and Above – MPM list → {Planar, Max, Max -1, Max + 1, Max ––2, Max + 2} g) If Left and Above are both angular and they are different: – Set a mode Max as the larger mode in Left and Above – Set a mode Min as the smaller mode in Left and Above – If Max –Min is equal to 1: – MPM list → {Planar, Left, Above, Min –1, Max + 1, Min –2} – Otherwise, if Max –Min is greater than or equal to 62: – MPM list → {Planar, Left, Above, Min + 1, Max –1, Min + 2} – Otherwise, if Max –Min is equal to 2: – MPM list → {Planar, Left, Above, Min + 1, Min –1, Max + 1} – Otherwise: – MPM list → {Planar, Left, Above, Min –1, Min + 1, Max –1} h) If Left and Above are both angular and they are the same: – MPM list → {Planar, Left, Left -1, Left + 1, Left –2, Left + 2}
[0020] Besides, the first bin of the MPM index codeword is CABAC context coded. In total three contexts are used, corresponding to whether the current intra block is MRL enabled, ISP enabled, or a normal intra block.
[0021] During 6 MPM list generation process, pruning is used to remove duplicated modes so that only unique modes can be included into the MPM list. For entropy coding of the 61 non-MPM modes, a Truncated Binary Code (TBC) is used.
[0022] Intra Prediction in Enhanced Compression Model (ECM)
[0023] Decoder Side Intra Mode Derivation (DIMD)
[0024] When DIMD is applied, up to five intra modes are derived from the reconstructed neighbour samples, and those five predictors are combined with the planar mode predictor with the weights derived from the histogram of gradients as described in JVET-O0449 (Mohsen Abdoli, et al., “Non-CE3: Decoder-side Intra Mode Derivation with Prediction Fusion Using Planar” , Joint Video Exploration Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11, 15th Meeting: Gothenburg, SE, 3–12 July 2019, Document JVET-O0449) . The division operations in weight derivation are performed utilizing the same lookup table (LUT) based integerization scheme used by the CCLM. For example, the division operation in the orientation calculation, Orient=Gy / Gxis computed by the following LUT-based scheme: x = Floor (Log2 (Gx) ) normDiff = ( (Gx<< 4) >> x) &15 x += (3 + (normDiff ! =0) ? 1: 0) Orient = (Gy* (DivSigTable [normDiff ] | 8) + (1<< (x-1) ) ) >> x, where DivSigTable
[0016] = {0, 7, 6, 5 , 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0 } .
[0025] For a block of size W×H, the weight for each of the five derived modes is modified if the above or left histogram magnitudes is twice larger than the other one. In this case, the weights are location dependent and computed as follows.
[0026] If the above histogram is twice the left, then:
[0027] If the left histogram is twice the above, then: where wDimdi is the unmodified uniform weight of the DIMD selected as in JVET-O0449, Δi is pre-defined and set to 10.
[0028] Derived intra modes are included into the primary list of intra most probable modes (MPM) , so the DIMD process is performed before the MPM list is constructed. The primary derived intra mode of a DIMD block is stored with a block and is used for MPM list construction of the neighbouring blocks.
[0029] Finally, note the region of neighbouring reconstructed samples used for computing the histogram of gradients is modified compared to JVET-O0449 method, depending on reconstructed samples availability. The region of decoded reference samples of current WxH luma CB is extended towards the above-right side if available, up to W additional columns. It is extended towards the bottom-left side if available, up to H additional rows.
[0030] DIMD Chroma Mode
[0031] The DIMD chroma mode uses the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y, Cb and Cr samples in the second neighbouring row and column as shown in Figs. 5A-C for Y, Cb and Cr components (Fig. 5A, Fig. 5B and Fig. 5C) respectively. Specifically, a horizontal gradient and a vertical gradient are calculated for each collocated reconstructed luma sample of the current chroma block 510, as well as the reconstructed Cb and Cr samples, to build a HoG. Then the intra prediction mode with the largest histogram amplitude values is used for performing chroma intra prediction of the current chroma blocks 520 and 530.
[0032] When the intra prediction mode derived from the DIMD chroma mode is the same as the intra prediction mode derived from the DM mode, the intra prediction mode with the second largest histogram amplitude value is used as the DIMD chroma mode. A CU level flag is signalled to indicate whether the proposed DIMD chroma mode is applied.
[0033] Finally, the luma region of reconstructed samples used for computing the histogram of gradients for chroma DIMD mode is modified compared to JVET-O0449. For a WxH pair of chroma CBs to predict, to build the histogram of gradients associated to the collocated luma CB, the pairs of a vertical gradient and a horizontal gradient are extracted from the second and third lines in this luma CB instead of being extracted from the regular set of DIMD decoded reference samples around this luma CB.
[0034] Fusion of Chroma Intra Prediction Modes
[0035] In ECM, two chroma intra prediction signals can be fused together. One of the two chroma intra prediction signals is predicted using one of the DM mode, DIMD chroma mode and the four default modes (non-LM mode) . The other chroma intra prediction signal is predicted using cross-component linear prediction modes (LM mode) . Two different methods are supported.
[0036] In the first method, the LM mode is fixed to MMLM_LT mode, and the final predictor is derived as follows: predC (i, j) = (w0×pred0 (i, j) +w1×pred1 (i, j) + (1<< (shift-1) ) ) >>shift where pred0 (i, j) is the predictor obtained by applying the non-LM mode, pred1 (i, j) is the predictor obtained by applying the MMLM_LT mode and predC (i, j) is the final predictor of the current chroma block. The two weights, w0 and w1 are determined by the intra prediction mode of adjacent chroma blocks and shift is set equal to 2. Specifically, when the above and left adjacent blocks are both coded with LM modes, {w0, w1} = {1, 3} ; when the above and left adjacent blocks are both coded with non-LM modes, {w0, w1} = {3, 1} ; otherwise, {w0, w1} = {2, 2} .
[0037] In the second method, the LM mode can be either MMLM or CCLM mode, and the final predictor is derived as follows: predC (i, j) = α0×pred0 (i, j) + α1×recL′ (i, j) +α2×β where pred0 (i, j) is the predictor obtained by applying the non-LM mode, recL′ (i, j) is the set of downsampled reconstructed luma samples at co-located positions and predC (i, j) is the final predictor of the current chroma block. β is a fixed value and is set equal to 512 for 10-bit contents. The three weights, α0, α1 and α2 are derived from the adjacent luma and chroma samples using the same LDL derivation method as in CCCM.
[0038] For the syntax design, one index is signalled to indicate whether fusion is applied and which method is used as shown in Table 2. It is noted that for I slices, the non-LM mode can be DM mode, DIMD chroma mode and the four default modes. For non-I slices, only DIMD chroma mode is allowed to be fused with LM modes. Table 2. Index signalled for indicating whether fusion is applied and which method being used
[0039] Secondary MPM
[0040] Secondary MPM lists is introduced as described in JVET-D0114. The existing primary MPM (PMPM) list consists of 6 entries and the secondary MPM (SMPM) list includes 16 entries. A general MPM list with 22 entries is constructed first, and then the first 6 entries in this general MPM list are included into the PMPM list, and the rest of entries form the SMPM list. The first entry in the general MPM list is the Planar mode. The remaining entries are composed of the intra modes of the left (L) , above (A) , below-left (BL) , above-right (AR) , and above-left (AL) neighbouring blocks of a current block 610 as shown in Fig. 6, the directional modes with added offset from the first two available directional modes of neighbouring blocks, and the default modes.
[0041] If a CU block is vertically oriented, the order of neighbouring blocks is A, L, BL, AR, AL; otherwise, the order of neighbouring blocks is L, A, BL, AR, AL.
[0042] A PMPM flag is parsed first, if equal to 1 then a PMPM index is parsed to determine which entry of the PMPM list is selected, otherwise the SPMPM flag is parsed to determine whether to parse the SMPM index or the remaining modes.
[0043] JVET-AG0141 AHG 12: Occurrence-Based Intra Coding (OBIC)
[0044] The Occurrence-Based Intra Coding (OBIC) method derives the intra prediction modes of the current block based on the sample-wise occurrence of the intra modes in the spatial neighbourhood of the block. For this, adjacent and non-adjacent spatial neighbouring blocks are checked and the intra prediction modes of the blocks are collected into an occurrence histogram. The occurrence histogram consists of the intra modes and their sample-wise occurrences. The occurrence values are calculated based on the number of samples that are coded in a certain intra prediction mode in that neighbourhood. For example, if a uiWidth × uiHeight block is coded with an IPM mode, the occurrence of the mode in that particular block is calculated as: Histogram [IPM] += uiWidth *uiHeight; where uiWidth and uiHeight are the width and height of a spatial neighbouring block.
[0045] The occurrences of the existing modes from the spatial neighbourhood blocks are aggregated into the histogram. Fig. 7 shows the non-adjacent spatial neighbouring blocks that are used in OBIC mode’s histogram generation. An example of the histogram of occurrences of IPM modes in the spatial neighbourhood of a CU is shown in Fig. 8.
[0046] Up to 5 angular modes with the highest occurrence along with the planar mode are selected from the histogram and used for final prediction by blending the prediction of the selected modes.
[0047] Some blocks, mentioned below, use more than one intra mode for prediction. In such cases, all the intra modes of such blocks are selected and used when creating the OBIC histogram: · DIMD: up to 5 angular modes ● TIMD: up to 2 modes · SGPM: 2 modes · OBIC: up to 5 angular modes
[0048] Moreover, the intra modes of following blocks are not considered when creating the histogram of OBIC mode: · MIP block · IntraTMP block · IBC block
[0049] The blending weights are calculated similar to the DIMD mode, but instead of using gradient values from the template, the occurrence values are used for OBIC. Moreover, the planar mode’s weight is also decided similarly to DIMD mode.
[0050] The OBIC mode is only used in luma blocks.
[0051] Bitstream Signalling
[0052] Usage of the mode is signalled with a CABAC coded PU level flag. The OBIC mode is used as a sub-mode of DIMD and its flag is signalled after DIMD flag.
[0053] Moreover, the OBIC mode accounts for one additional RD check at the encoder side.
[0054] JVET-AG0084 DIMD Merge Mode
[0055] DIMD merge mode includes a step of merging the HoG of neighbouring blocks to derive DIMD information. The DIMD information in the surroundings can be used to derive the merged HoG (MHoG) . The MHoG from up to 13 CUs is used to derive intra prediction modes and weights, as in conventional DIMD. The directional modes and the respective weights corresponding to the five highest amplitudes in the MHoG are selected, and the corresponding predictors are blended as in conventional DIMD. In JVET-AF012 (S. Blasi, I. Zupancic, J. Lainema, “EE2-2.1 DIMD merge, ” JVET-AF0120, October 2023) , a reduced storage version of the DIMD merge is proposed where the five highest amplitudes of the histograms are stored and averaged.
[0056] In JVET-AF0106 (J. Huo, J. Fan, Z. Zhang, Y. Ma, F. Yang, M. Li, “EE2-related: Non-adjacent spatial candidates for DIMD merge, ” JVET-AF0106, October 2023) , the DIMD merge mode is extended to include up to 31 surrounding CUs to derive the MHoG. Indeed, on top of the original 13 CUs, non-adjacent spatial candidates are considered as in Fig. 7.
[0057] A new flag is introduced and is signalled just after the DIMD flag if the DIMD merge mode is true.
[0058] DIMD Merge Mode List
[0059] This contribution proposes to create a DIMD merge list from neighbouring blocks’ DIMD information, which includes: · DIMD information from spatial neighbours (as in Fig. 6) , · DIMD information from non-adjacent neighbours (as in Fig. 7) , · DIMD information derived from the MHoG.
[0060] Two redundancy checks (pruning stage) are applied: one comparing the DIMD merge candidates, and one comparing the DIMD information derived from the current block. Thus, a DIMD merge candidate is added to the DIMD merge list when the associated DIMD information is different from the existing information in DIMD merge candidates and the current block DIMD information.
[0061] Two additional flags are added conditionally to the DIMD flag, i.e., the DIMD Merge is considered as a sub-mode of DIMD. The two flags are: · The DIMD merge mode flag · The DIMD merge mode index representative of the DIMD merge candidate.
[0062] DIMD Merge Candidates’ Evaluation
[0063] DIMD merge is only available as an option if the current block has at least one neighbour coded with DIMD or DIMD merge modes using the same method as proposed in JVET-AE0071 (S. Blasi, I. Zupancic, J. Lainema, “AHG12 -Decoder-side Intra Mode Derivation Merge, ” JVET-AE0071, July 2023) . Besides, the neighbouring positions or neighbouring blocks are extended to include part of the non-adjacent candidates.
[0064] When the DIMD merge is available, the DIMD merge list candidate is derived both at the encoder and decoder sides. On the encoder side, each candidate is evaluated using an Hadamard pass, then in the RDO loop if the associated Hadamard-based cost is competitive.
[0065] A DIMD merge candidate may be discarded if the associated cost is not competitive compared to other modes.
[0066] JVET-AG0078 AHG12: Intra-Prediction Using Merged Histogram of Gradients
[0067] This contribution proposes to add a new intra prediction mode, referred to as Merged Intra Mode Derivation (MIMD) , based on the computation of a Merged Histogram of Gradients (MHoG) . Similar to DIMD, up to five MIMD modes are derived from the MHoG and are then blended together. The derivation of the modes and blending weights follows the same process to derive DIMD modes and blending weights from the HoG. But differently than DIMD, the MHoG is not computed directly analysing the template samples, but rather is computed based on information extracted from neighbouring blocks.
[0068] In particular, a number of N neighbouring blocks is considered. A neighbouring block is considered if it is encoded with at least one directional intra-prediction mode. In case the neighbouring block i is encoded using DIMD or MIMD, then its HoG or MHoG is directly considered as Hi, where Hi (m) refers to the amplitude of directional mode m in the HoG, where m can take values from 0 to M where M is the maximum number of intra-prediction modes. A normalisation process can be used when considering Hi.
[0069] In case the neighbouring block i is instead encoded using a non-DIMD intra-prediction directional mode m, then an HoG Hi is derived for that neighbouring block, where Hi (k) =0 for k= 0, 1, …M, k≠m and Hi (m) =A, where value A depends on the size of the current block. For neighbouring blocks encoded using SGPM or TIMD (Template-based Intra Mode Derivation) where more than one directional intra prediction modes may be available, both directional modes can be considered in the derivation of Hi.
[0070] Then, the MHoG can be computed using all the HoGs extracted from available
[0071] Finally, the MHoG is used to compute MIMD modes and weights. The directional modes and their weights corresponding to the five highest amplitudes in the MHoG are selected as directional modes and weights for MIMD.
[0072] Integration in ECM
[0073] MIMD is signalled as a sub-mode of DIMD. In order to speed-up the encoding process, MIMD is only signalled for blocks with an area larger than 4x4 samples. Also, MIMD is only signalled for blocks that have one immediate neighbour above or on the left that is encoded using DIMD or MIMD. Under these conditions, MIMD is then signalled with a CABAC coded CU level flag. One new CABAC context was included to support coding of the MIMD flag. As a further complexity optimisation, the planar prediction used within the DIMD and MIMD blending process was modified to make use of PDPC (Position Dependent Prediction Combination) . This allows the intra-prediction blocks computed during the SATD stage at the encoder side to be reused to form the DIMD and MIMD final predictors.
[0074] JVET-AH0209 EE2-2.13: Matrix Based Intra Prediction
[0075] In JVET-AH0209, Matrix Based Intra Prediction (i.e., Position Dependent intra Prediction (PDP) ) is proposed to replace conventional intra modes. In this test, a matrix of weights, which are defined for a block shape and intra mode, is introduced, those weights are multiplied by the neighbour reference template to derive the prediction samples replacing conventional intra prediction. The weights are applied to the reference samples of the L shaped causal neighbourhood template as shown in the Fig. 9.
[0076] The reference samples in the causal neighbourhood are denoted as r, and F (x, y) is the matrix of weights. Then, the prediction P (x, y) can be derived as: P (x, y) = ∑k F (x, y, k) *r (k) , where k denotes the index of the reference sample in the template.
[0077] In the test, this prediction is used for block size with both width and height up to 32 (except for 4x32, 32x4, 8x32 and 32x8) . The template size is 2 for blocks with both width and height up to 16 and it is only used for mode 0, 1, and (2+2*k) . For other blocks, template size is set to 1; is used for mode 0, 1, and (2+4*k) ; prediction is only performed for 16x16 positions, and the rest of the samples are generated by bilinear interpolation. For all block sizes, block shape and mode-based symmetry is used. Reference length is set to W and H for modes greater than 18 and less than 50 and set to 2*W and 2*H otherwise.
[0078] The filters are trained with BVI sequences composing of 800 sequences with diverse resolutions.
[0079] MAC (Multiply-Accumulate) for per block shape for reference length 2*W and 2*H is provided in Table 3. Note, MAC numbers for reference length W and H are roughly half of it. Total number of coefficients are approximately 1.8M. Table 3. MAC for per block shape for reference length 2*W and 2*H.
[0080] JVET-AJ0169 Non-EE2: Improvement on Non-MPM
[0081] In this proposal, the non-MPM list are constructed as follows: 1. The first angular mode in the SMPM list is chosen as the starting intra mode. 2. From the starting intra mode, fill the non-MPM list in turns with one forward mode and then one backward with the same step, where the step increases by one in each turn. Skip the mode which has already been included in the PMPM list or the SMPM list. 3. If a mode satisfies the PDP mode condition, swap it with the previous filled non-PDP mode.
[0082] In the present invention, techniques to derive prioritized MPM candidates for MPM list are disclosed. BRIEF SUMMARY OF THE INVENTION
[0083] A method and apparatus for deriving MPM list in video coding are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and wherein the current block is coded in an intra prediction mode. Whether one or more target MPM (Most Probable Mode) candidates from a plurality of MPM candidates meet one or more priority conditions are determined, wherein said one or more priority conditions comprise one or more pre-defined intra prediction mode indexes or angles. Generate an MPM list depending on whether said one or more priority conditions are met, wherein said generating the MPM list comprises at least one of following operations: inserting said one or more target MPM candidates into the MPM list, removing said one or more target MPM candidates from the MPM list, moving said one or more target MPM candidates backward or forward within the MPM list. The current block is encoded or decoded by using the generated MPM list.
[0084] In one embodiment, the intra prediction mode corresponds to regular intra prediction mode, GPM-intra prediction mode or spatial-GPM (Geometric Partition Mode) prediction mode.
[0085] In one embodiment, said one or more priority conditions further comprise costs derived using a template or statistics derived using a decoder-side derived method. In one embodiment, whether said one or more target MPM candidates meet said one or more priority conditions is determined by comparing the costs or the statistics with a threshold. In one embodiment, when TIMD (Template-based Intra Mode Derivation) is enabled for the current block, the costs of one or more TIMD MPM candidates in TIMD mode satisfying said one or more priority conditions are adjusted or reduced to less values for having higher priority to be selected as final modes in TIMD. In one embodiment, said one or more priority conditions further comprise a use condition of Position Dependent intra Prediction (PDP) .
[0086] In one embodiment, said one or more target MPM candidates are inserted into the MPM list before other candidates when said one or more target MPM candidates meet said one or more priority conditions.
[0087] In one embodiment, said one or more target MPM candidates in the MPM list are moved to front of the MPM list when said one or more target MPM candidates meet said one or more priority conditions.
[0088] In one embodiment, said one or more target MPM candidates in the MPM list are moved to back of the MPM list when said one or more target MPM candidates do not meet said one or more priority conditions.
[0089] In one embodiment, said one or more target MPM candidates are inserted into the MPM list firstly when said one or more target MPM candidates meet said one or more priority conditions and the MPM list is not full. In one embodiment, said one or more target MPM candidates have higher priority to be inserted into the MPM list than derived MPM candidates when said one or more target MPM candidates meet said one or more priority conditions. In one embodiment, said one or more target MPM candidates have higher priority to be inserted into the MPM list than neighbouring MPM candidates in one or more neighbouring blocks when said one or more target MPM candidates meet said one or more priority conditions. In one embodiment, said one or more target MPM candidates have higher priority to be inserted into the MPM list than default MPM when said one or more target MPM candidates meet said one or more priority conditions.
[0090] In one embodiment, a syntax element is used to indicate whether a target TIMD or DIMD MPM candidate selected to insert into the MPM list is based on whether said one or more priority conditions are met.
[0091] In one embodiment, a non-MPM list is derived for one or more second MPM candidates, wherein said one or more second MPM candidates do not meet said one or more priority conditions.BRIEF DESCRIPTION OF THE DRAWINGS
[0092] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing.
[0093] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.
[0094] Fig. 2 shows the intra prediction modes as adopted by the VVC video coding standard.
[0095] Figs. 3A-B illustrate examples of wide-angle intra prediction a block with width larger than height (Fig. 3A) and a block with height larger than width (Fig. 3B) .
[0096] Fig. 4 illustrate examples of two vertically-adjacent predicted samples using two non-adjacent reference samples in the case of wide-angle intra prediction.
[0097] Figs. 5A-C illustrate an example of the DIMD chroma mode using the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y (Fig. 5A) , Cb (Fig. 5B) and Cr (Fig. 5C) samples in the second neighbouring row and column.
[0098] Fig. 6 illustrates the locations of the neighbouring blocks (L, A, BL, AR, AL) used in the derivation of a general MPM list.
[0099] Fig. 7 illustrates an example of non-adjacent spatial neighbouring candidates for OBIC mode.
[0100] Fig. 8 illustrates an example of the histogram of occurrences of IPM modes in the spatial neighbourhood of a CU.
[0101] Fig. 9 illustrates an example of L-shaped neighbourhood for a given predicted block.
[0102] Fig. 10 illustrates a flowchart of an exemplary video coding system that derives prioritized MPM candidates depending on whether MPM candidates meet priority condition including pre-defined intra prediction mode indexes or angles according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION
[0103] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this specification to “one embodiment, ” “an embodiment, ” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.
[0104] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.
[0105] In ECM, MPM lists for regular intra prediction consist of primary MPM list (PMPM) and secondary MPM list (SMPM) . For all 67 intra prediction modes, planar and 5 intra prediction modes can be put into PMPM and 16 intra prediction modes can be inserted into SMPM. The remaining 45 intra prediction modes can be viewed as non-MPM candidates in non-MPM list. In JVET-AJ0169, it was proposed to modify the non-MPM list to prioritize some candidates. In ECM, in addition to MPM list for regular intra prediction, there are also MPM lists for GPM-intra and spatial-GPM prediction mode, which include up to 3 intra prediction mode candidates. It is proposed to extend the concept of prioritized candidates in other MPM lists.
[0106] Prioritized Candidates in MPM List
[0107] In the proposed method, when an MPM candidate meets some priority conditions, the MPM candidate is regarded as prioritized candidate and can be moved or be reordered according to some adjustment rules. The priority condition can be PDP conditions (i.e., conditions to allow PDP) , pre-defined intra prediction mode index or angle, decoder-side derived statistic method, template cost, etc. For the decoder-side derived statistic method or template cost, a threshold can be pre-defined or set adaptively. Or, statistic results or template costs from MPM candidates are compared. The adjustment rules can be moving forward in the list, moving backward in the list, reordering according to cost or statistic data, etc. The prioritized MPM candidates can be inserted earlier than some other MPM candidates in the MPM list construction, such as MPM candidates from neighbouring blocks, derived MPM candidates based on existing MPM candidates or default MPM candidates.
[0108] In one embodiment, MPM candidates, which satisfy PDP conditions in GPM-intra MPM list can be swapped to the front of the list.
[0109] In another embodiment, MPM candidates, which satisfy PDP conditions in spatial-GPM MPM list can be swapped to the front of the list.
[0110] In another embodiment, MPM candidates, which do not satisfy PDP conditions in GPM-intra MPM list can be moved to the back of the list.
[0111] In another embodiment, MPM candidates that do not satisfy PDP conditions in spatial-GPM MPM list can be moved to the back of the list.
[0112] In one embodiment, MPM candidates that satisfy priority condition in GPM-intra MPM list can be swapped to the front of the list.
[0113] In another embodiment, MPM candidates that satisfy priority condition in spatial-GPM MPM list can be swapped to the front of the list.
[0114] In another embodiment, MPM candidates that do not satisfy priority condition in GPM-intra MPM list can be moved to the back of the list.
[0115] In another embodiment, MPM candidates that do not satisfy priority condition in spatial-GPM MPM list can be moved to the back of the list.
[0116] In another embodiment, MPM candidates in the GPM-intra MPM list and spatial-GPM MPM list are adjusted or reordered according to the histogram of gradient, occurrence, or template cost. For example, the MPM candidates with higher histogram values or with higher occurrence values or with smaller template costs are prioritized.
[0117] In another embodiment, MPM candidates are regarded as prioritized candidates when MPM candidates meet pre-defined intra prediction mode index or angle and can be adjusted in the MPM list for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode. For example, when MPM candidates are horizontal mode, vertical mode and those MPM candidates can be moved forward in the MPM list.
[0118] In another embodiment, MPM candidates that satisfy priority conditions can be firstly inserted into MPM list for regular intra predictor mode, GPM-intra prediction mode and spatial-GPM prediction mode. Then, derived MPM candidates based on existing MPM candidates in the partial MPM list are derived and inserted into MPM list. After that, MPM candidates do not meet priority conditions are inserted into MPM list.
[0119] In another embodiment, MPM list for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode are firstly constructed and derived MPM candidates based on existing MPM candidates in the partial MPM list are derived and inserted into MPM list. If MPM list is not yet full, the MPM candidates that meet priority conditions are firstly inserted into MPM list. After that, default MPM candidates are inserted into MPM list if the list is not yet full.
[0120] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than derived MPM candidates in MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0121] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than MPM candidates from neighbouring blocks in MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0122] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than derived MPM candidates (or neighbouring intra prediction modes) from decoder-side derived intra prediction mode in MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0123] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than default MPM candidates in MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0124] In another embodiment, suppose PDP modes (i.e., intra prediction modes allow to apply PDP) are allowed to be selected as candidate modes in TIMD, when calculating the template cost of candidate modes in TIMD, the template cost of a candidate mode satisfied PDP condition is adjusted or reduced to a less value for having higher priority to be selected as the final modes in TIMD.
[0125] In another embodiment, a syntax is used to indicated if the intra prediction modes selected by TIMD or DIMD are PDP modes (i.e., intra prediction modes allow to apply PDP) or not. For example, if the syntax is equal to a target value (e.g. true or false) , only the intra prediction modes allowed to apply PDP are selected as the final intra modes (e.g. non-planar intra modes) for prediction fusion in TIMD or DIMD. Otherwise, the intra prediction modes not allowed to apply PDP are selected as the final intra modes for prediction fusion in TIMD or DIMD.
[0126] Prioritized Non-MPM Candidates in Non-MPM List
[0127] In the proposed method, non-MPM candidates may form as one or more lists. The non-MPM list can be for regular intra prediction, GPM-intra prediction or spatial-GPM prediction. When a non-MPM candidate meets some priority conditions, the non-MPM candidate is regarded as a prioritized non-MPM candidate and can be moved, reordered, or put into one list according to some adjustment rules. The priority condition can be PDP conditions, pre-defined intra prediction mode index or angle, decoder-side derived statistic method, template cost, etc. For the decoder-side derived statistic method or template cost, a threshold can be pre-defined or set adaptively. Or, statistic results or template costs from non-MPM candidates are compared. The adjustment rules can be moving forward in the list, moving backward in the list, reordering according to cost or statistic data, etc. The prioritized non-MPM candidates can be inserted earlier than some other non-MPM candidates in the non-MPM list construction, such as derived non-MPM candidates based on existing MPM candidates or existing non-MPM candidates, or default non-MPM candidates.
[0128] In one embodiment, non-MPM candidates in GPM-intra prediction mode form another list, called GPM-intra non-MPM list, and those non-MPM candidates in GPM-intra non-MPM list can be moved forward when those non-MPM candidates meet PDP condition.
[0129] In another embodiment, non-MPM candidates in spatial-GPM prediction mode form another list, called spatial-GPM non-MPM list, and those non-MPM candidates in spatial-GPM non-MPM list can be moved forward when those non-MPM candidates meet PDP condition.
[0130] In another embodiment, non-MPM candidates in GPM-intra prediction mode form another list, called GPM-intra non-MPM list, and those non-MPM candidates in GPM-intra non-MPM list can be moved backward when those non-MPM candidates do not meet PDP condition.
[0131] In another embodiment, non-MPM candidates in spatial-GPM prediction mode form another list, called spatial-GPM non-MPM list, and those non-MPM candidates in spatial-GPM non-MPM list can be moved backward when those non-MPM candidates do not meet PDP condition.
[0132] In one embodiment, non-MPM candidates in GPM-intra prediction mode form another list, called GPM-intra non-MPM list, and those non-MPM candidates in GPM-intra non-MPM list can be moved forward when those non-MPM candidates meet priority condition.
[0133] In another embodiment, non-MPM candidates in spatial-GPM prediction mode form another list, called spatial-GPM non-MPM list, and those non-MPM candidates in spatial-GPM non-MPM list can be moved forward when those non-MPM candidates meet priority condition.
[0134] In another embodiment, non-MPM candidates in GPM-intra prediction mode form another list, called GPM-intra non-MPM list, and those non-MPM candidates in GPM-intra non-MPM list can be moved backward when those non-MPM candidates do not meet priority condition.
[0135] In another embodiment, non-MPM candidates in spatial-GPM prediction mode form another list, called spatial-GPM non-MPM list, and those non-MPM candidates in spatial-GPM non-MPM list can be moved backward when those non-MPM candidates do not meet priority condition.
[0136] In another embodiment, non-MPM candidates that meet priority conditions (PDP conditions, pre-defined intra prediction mode index or angle, decoder-side derived statistic method, template cost) are firstly inserted into non-MPM lists for regular intra prediction, GPM-intra prediction and spatial-GPM prediction. Then non-MPM candidates that do not satisfy priority conditions are inserted after those prioritized candidates.
[0137] In another embodiment, non-MPM candidates that meet priority conditions (PDP conditions, pre-defined intra prediction mode index or angle, decoder-side derived statistic method, template cost) are firstly inserted into non-MPM list for regular intra prediction, GPM-intra prediction and spatial-GPM prediction. Then, derived non-MPM candidates based on existing MPM candidates or existing non-MPM candidates are derived and inserted into non-MPM list. If the non-MPM list is not yet full, non-MPM candidates that do not satisfy priority conditions are inserted afterward.
[0138] In another embodiment, non-MPM list for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode are firstly constructed and derived MPM candidates based on existing MPM candidates in the MPM list or existing non-MPM candidates in the non-MPM list are derived and inserted into non-MPM list. If non-MPM list is not yet full, the non-MPM candidates that meet priority conditions are firstly inserted into non-MPM list. After that, default non-MPM candidates are inserted into non-MPM list if the list is not yet full.
[0139] In another embodiment, non-MPM candidates that satisfy priority conditions have higher priority than derived non-MPM candidates in non-MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0140] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than derived non-MPM candidates (or neighbouring intra prediction modes) from decoder-side derived intra prediction mode in non-MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0141] In another embodiment, MPM candidates that satisfy priority conditions have higher priority than default non-MPM candidates in non-MPM list construction for regular intra prediction mode, GPM-intra prediction mode and spatial-GPM prediction mode, and can be inserted firstly.
[0142] Any of the foregoing proposed methods of deriving prioritized MPM candidates can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in predictor derivation module of an encoder, and / or a predictor derivation module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the predictor derivation module of the encoder and / or the predictor derivation module of the decoder, so as to provide the information needed by the predictor derivation module.
[0143] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods can be implemented in an Intra prediction module (e.g. Intra Pred. 150 in Fig. 1B) in a decoder or an Intra prediction module in an encoder (e.g. Intra Pred. 110 in Fig. 1A) . Any of the proposed methods can also be implemented as a circuit coupled to the intra coding module at the decoder or the encoder. However, the decoder or encoder may also use additional processing unit to implement the required processing. While the Intra prediction units (e.g. unit 110 in Fig. 1A and unit 150 in Fig. 1B) are shown as individual processing units, they may correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) . Fig. 10 illustrates a flowchart of an exemplary video coding system that derives prioritized MPM candidates depending on whether MPM candidates meet priority condition including pre-defined intra prediction mode indexes or angles according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a current block is received in step 1010, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and wherein the current block is coded in an intra prediction mode. Whether one or more target MPM (Most Probable Mode) candidates from a plurality of MPM candidates meet one or more priority conditions are determined in step 1020, wherein said one or more priority conditions comprise one or more pre-defined intra prediction mode indexes or angles. An MPM list is generated depending on whether said one or more priority conditions are met in step 1030, wherein said generating the MPM list comprises at least one of following operations: inserting said one or more target MPM candidates into the MPM list, removing said one or more target MPM candidates from the MPM list, moving said one or more target MPM candidates backward or forward within the MPM list. The current block is encoded or decoded by using the MPM list in step 1040.
[0144] The flowchart shown is intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.
[0145] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.
[0146] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.
[0147] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.
Claims
1.A method of video coding, the method comprising:receiving input data associated with a current block, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and wherein the current block is coded in an intra prediction mode;determining whether one or more target MPM (Most Probable Mode) candidates from a plurality of MPM candidates meet one or more priority conditions, wherein said one or more priority conditions comprise one or more pre-defined intra prediction mode indexes or angles;generating an MPM list depending on whether said one or more priority conditions are met, wherein said generating the MPM list comprises at least one of following operations: inserting said one or more target MPM candidates into the MPM list, removing said one or more target MPM candidates from the MPM list, moving said one or more target MPM candidates backward or forward within the MPM list; andencoding or decoding the current block by using the MPM list.2.The method of Claim 1, wherein the intra prediction mode corresponds to regular intra prediction mode, GPM-intra prediction mode or spatial-GPM (Geometric Partition Mode) prediction mode.3.The method of Claim 1, wherein said one or more priority conditions further comprise costs derived using a template or statistics derived using a decoder-side derived method.4.The method of Claim 3, wherein whether said one or more target MPM candidates meet said one or more priority conditions is determined by comparing the costs or the statistics with a threshold.5.The method of Claim 3, wherein when TIMD (Template-based Intra Mode Derivation) is enabled for the current block, the costs of one or more TIMD MPM candidates in TIMD mode satisfying said one or more priority conditions are adjusted or reduced to less values for having higher priority to be selected as final modes in TIMD.6.The method of Claim 1, wherein said one or more priority conditions further comprise a use condition of Position Dependent intra Prediction (PDP) .7.The method of Claim 1, wherein said one or more target MPM candidates are inserted into the MPM list before other candidates when said one or more target MPM candidates meet said one or more priority conditions.8.The method of Claim 1, wherein said one or more target MPM candidates in the MPM list are moved to front of the MPM list when said one or more target MPM candidates meet said one or more priority conditions.9.The method of Claim 1, wherein said one or more target MPM candidates in the MPM list are moved to back of the MPM list when said one or more target MPM candidates do not meet said one or more priority conditions.10.The method of Claim 1, wherein said one or more target MPM candidates are inserted into the MPM list firstly when said one or more target MPM candidates meet said one or more priority conditions and the MPM list is not full.11.The method of Claim 1, wherein said one or more target MPM candidates have higher priority to be inserted into the MPM list than derived MPM candidates when said one or more target MPM candidates meet said one or more priority conditions.12.The method of Claim 1, wherein said one or more target MPM candidates have higher priority to be inserted into the MPM list than neighbouring MPM candidates in one or more neighbouring blocks when said one or more target MPM candidates meet said one or more priority conditions.13.The method of Claim 1, wherein said one or more target MPM candidates have higher priority to be inserted into the MPM list than default MPM when said one or more target MPM candidates meet said one or more priority conditions.14.The method of Claim 1, wherein a syntax element is used to indicate whether a target TIMD or DIMD MPM candidate selected to insert into the MPM list is based on whether said one or more priority conditions are met.15.The method of Claim 1, wherein a non-MPM list is derived for one or more second MPM candidates, wherein said one or more second MPM candidates do not meet said one or more priority conditions.16.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and wherein the current block is coded in an intra prediction mode;determine whether one or more target MPM (Most Probable Mode) candidates from a plurality of MPM candidates meet one or more priority conditions, wherein said one or more priority conditions comprise one or more pre-defined intra prediction mode indexes or angles;generate an MPM list depending on whether said one or more priority conditions are met, wherein generating the MPM list comprises at least one of following operations: inserting said one or more target MPM candidates into the MPM list, removing said one or more target MPM candidates from the MPM list, moving said one or more target MPM candidates backward or forward within the MPM list; andencode or decode the current block by using the MPM list.
Citation Information
Patent Citations
Method and apparatus of intra prediction with MPM generation in image and video processing
CN112585964A
Method for processing image on basis of intra prediction mode, and device therefor
CN112689999A
Method for coding / decoding of intra prediction mode and apparatus thereof
KR1020130027975A
Devices and methods for image and video coding
US20210176493A1