Methods and apparatus of unified intra merge mode with inheriting decoder side intra mode derivation in video coding systems

By inheriting chroma intra prediction information from neighboring blocks using GLM, CCLM, MMLM, CCCM, and DIMD, the method addresses inefficiencies in chroma block prediction in VVC, enhancing coding efficiency and video quality.

WO2026092425A1PCT designated stage Publication Date: 2026-05-07MEDIATEK INC
View PDF 5 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MEDIATEK INC
Filing Date
2025-10-28
Publication Date
2026-05-07

AI Technical Summary

Technical Problem

Existing video coding systems face challenges in efficiently deriving intra prediction for chroma blocks, particularly in versatile video coding (VVC), where chroma intra prediction information is not effectively inherited from neighboring blocks, leading to suboptimal coding efficiency.

Method used

A method and apparatus for deriving intra prediction for chroma blocks by inheriting chroma intra prediction information from one or more candidates, utilizing techniques such as Gradient Linear Model (GLM), Cross-Component Linear Model (CCLM), Multiple Model CCLM Mode (MMLM), Convolutional Cross-Component Model (CCCM), and Decoder-side Intra Mode Derivation (DIMD) to generate target chroma intra prediction.

Benefits of technology

Enhances coding efficiency by effectively utilizing inherited chroma intra prediction information, improving video quality and reducing bitstream size through optimized intra prediction processes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025130452_07052026_PF_FP_ABST
    Figure CN2025130452_07052026_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus for deriving intra prediction for chroma blocks are disclosed. In particular, the present invention discloses methods of deriving intra prediction for chroma blocks by inheriting chroma intra prediction information from one or more candidates. According to this method, input data associated with a current block comprising a luma block and a chroma 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. One or more candidates are determined for the chroma block in a chroma intra prediction mode. Chroma intra prediction information is inherited from said one or more candidates for the chroma block. Target chroma intra prediction is generated based on prediction information comprising the chroma intra prediction information inherited. The chroma block is encoded or decoded using the target chroma intra prediction.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF UNIFIED INTRA MERGE MODE WITH INHERITING DECODER SIDE INTRA MODE DERIVATION IN VIDEO CODING SYSTEMSCROSS 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 / 713,094, filed on October 29, 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 merge mode for video coding systems. In particular, the present invention relates to unified intra merge mode for intra prediction of chroma blocks. 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] According to VVC, an input picture is partitioned into non-overlapped square block regions referred as CTUs (Coding Tree Units) , similar to HEVC. Each CTU can be partitioned into one or multiple smaller size coding units (CUs) . The resulting CU partitions can be in square or rectangular shapes. Also, VVC divides a CTU into prediction units (PUs) as a unit to apply prediction process, such as Inter prediction, Intra prediction, etc.

[0008] The VVC standard incorporates various new coding tools to further improve the coding efficiency over the HEVC standard. Some tools relevant to the present invention are reviewed as follows.

[0009] In the present invention, methods and apparatus of intra prediction for chroma blocks are disclosed, where chroma intra prediction information is inherited from one or more candidates. BRIEF SUMMARY OF THE INVENTION

[0010] A method and apparatus for deriving intra prediction for chroma blocks are disclosed. In particular, the present invention discloses methods of deriving intra prediction for chroma blocks by inheriting chroma intra prediction information from one or more candidates. According to this method, input data associated with a current block comprising a luma block and a chroma 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. One or more candidates are determined for the chroma block in a chroma intra prediction mode. Chroma intra prediction information is inherited from said one or more candidates for the chroma block. Target chroma intra prediction is generated based on prediction information comprising the chroma intra prediction information inherited. The chroma block is encoded or decoded using the target chroma intra prediction.

[0011] In one embodiment, the chroma intra prediction information inherited comprises the chroma intra prediction mode, Gradient Linear Model (GLM) pattern index, model parameters, prediction fusion modes, prediction fusion weights, classification threshold, or a combination thereof. In one embodiment, the chroma intra prediction mode comprises CCLM (Cross-Component Linear Model) , MMLM (Multiple Model CCLM Mode) , CCCM (Convolutional Cross-Component Model) , variants of CCCM or CCLM, chroma DIMD (Decoder side Intra Mode Derivation) , single chroma DIMD, blending chroma DIMD, variations of chroma DIMD, or a combination thereof.

[0012] In one embodiment, when the chroma block is coded in single chroma DIMD, the chroma intra prediction information associated with chroma DIMD contains only one intra prediction mode, only one reference line information, wide-angle conditions, fusion or not being false, information associated with block vector, or a combination thereof. In one embodiment, when the chroma block is coded in single chroma DIMD, only one intra prediction mode is used for generating predictors without DIMD weight information being inherited or required.

[0013] In one embodiment, when the chroma block is coded in blending chroma DIMD, the chroma intra prediction information associated with chroma DIMD contains multiple intra prediction modes, reference line information, wide-angle conditions, fusion or not being true, DIMD weighting information, location-dependent features, information associated with block vector, or a combination thereof.

[0014] In one embodiment, when the chroma block is coded in blending chroma DIMD, multiple intra prediction modes are used for generating predictors with DIMD weight information inherited. In one embodiment, for inheriting the chroma DIMD information, the chroma intra prediction information is inherited only when information associated with blending chroma DIMD is available. In one embodiment, for inheriting the chroma DIMD information, the chroma intra prediction information is inherited only when information associated with single chroma DIMD is available. In one embodiment, for inheriting the chroma DIMD information, inheriting information associated with single chroma DIMD or blending chroma DIMD is allowed for the chroma block.

[0015] In one embodiment, when a to-be-inherited block uses single chroma DIMD, the chroma intra prediction information inherited will be the single chroma DIMD. In one embodiment, when a to-be-inherited block uses blending chroma DIMD, the chroma intra prediction information inherited will be the blending chroma DIMD.BRIEF DESCRIPTION OF THE DRAWINGS

[0016] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing.

[0017] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.

[0018] Fig. 2A illustrates an example of selected template for a current block, where the template comprises T lines above the current block and T columns to the left of the current block.

[0019] Fig. 2B illustrates an example for T=3 and the HoGs (Histogram of Gradient) are calculated for pixels in the middle line and pixels in the middle column.

[0020] Fig. 2C illustrates an example of the amplitudes (ampl) for the angular intra prediction modes.

[0021] Fig. 3 illustrates three types of filter shapes with fifteen inputs and generates one output for EIP process.

[0022] Figs. 4A-C illustrate three types (Fig. 4A: Left-Above area, Fig. 4B: Above area, and Fig. 4C: Left area) of reconstructed areas used to derive filter coefficients for EIP.

[0023] Fig. 5 illustrates an example of template area with multiple reference lines.

[0024] Fig. 6 shows an example of classifying the neighbouring samples into two groups according to multiple mode CCLM.

[0025] Fig. 7 illustrates the neighbouring blocks used for deriving spatial merge candidates for VVC.

[0026] Fig. 8 illustrates an example of temporal candidate derivation, where a scaled motion vector is derived according to POC (Picture Order Count) distances.

[0027] Fig. 9 illustrates the position for the temporal candidate selected between candidates C0 and C1.

[0028] Fig. 10 illustrates an exemplary pattern of the spatial merge candidates.

[0029] Fig. 11 illustrates a flowchart of an exemplary video coding system where the chroma intra prediction information is inherited from one or more candidates for chroma blocks according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

[0030] 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.

[0031] 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. RELATED ART

[0032] 1.1 Intra Mode Coding with 67 Intra Prediction Modes

[0033] 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. Several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for the non-square blocks.

[0034] 1.2 Decoder-side Intra Mode Derivation (DIMD)

[0035] When DIMD is applied, two intra modes are derived from the reconstructed neighbour samples (template) , and those two predictors are combined with the planar mode predictor with the weights derived from the gradients.

[0036] A texture gradient analysis is performed at both the encoder and decoder sides. This process starts with an empty Histogram of Gradient (HoG) with 65 entries, corresponding to the 65 angular modes. Amplitudes of these entries are determined during the texture gradient analysis.

[0037] Figs. 2A-C show an example of HoG, calculated after applying the above operations on all pixel positions in the template. Fig. 2A illustrates an example of selected template 220 for a current block 210. Template 220 comprises T lines above the current block and T columns to the left of the current block. For intra prediction of the current block, the area 230 at the above and left of the current block corresponds to a reconstructed area and the area 240 below and at the right of the block corresponds to an unavailable area. Fig. 2B illustrates an example for T=3 and the HoGs are calculated for pixels 260 in the middle line and pixels 262 in the middle column. For example, for pixel 252, a 3x3 window 250 is used. Fig. 2C illustrates an example of the amplitudes (ampl) calculated for the angular intra prediction modes (i.e., HoG 270) .

[0038] 1.3 Template-based Intra Mode Derivation (TIMD)

[0039] This mode implicitly derives the intra prediction mode of a CU by a neighbouring template at both the encoder and decoder, instead of signalling exact intra prediction mode bits to the decoder. The prediction samples of the template are generated using the reference samples of the template for each candidate mode. A cost is calculated as the SATD between the prediction and the reconstruction samples of the template. First two intra prediction modes with the minimum SATD are selected as the TIMD modes. These two TIMD modes are fused with the weights to generate the prediction for the current CU.

[0040] 1.4 Extrapolation filter-based Intra Prediction (EIP) mode

[0041] In the EIP mode, the samples in a CU are predicted from the top-left position to the bottom-right position by applying an extrapolation filter to neighbouring reconstructed samples or predicted samples. The EIP mode uses a 15-tap filter for prediction as below: where pred (x, y) is the predicted value at position (x, y) in the CU, ci is the filter coefficient, and the  is the reconstructed samples or predicted samples.

[0042] The EIP filter can be derived from the neighbouring reconstructed samples or inherited from the previous EIP coded blocks. There are three EIP filter shapes and three types of reconstructed area supported in ECM as shown in Fig. 3 and Fig. 4, respectively. In Fig. 3, the three filter shapes correspond to square 310, horizontal strip 320, and vertical strip 330. In Fig. 4, the three reconstructed areas correspond to Left-Above area (Fig. 4A) , Above area (Fig. 4B) , and Left area (Fig. 4C) .

[0043] For a CU coded in the EIP mode, an EIP merge flag is signalled to indicate whether the EIP filter is inherited from previous blocks coded in EIP mode. When the EIP merge flag is true, an EIP merge list is constructed from the spatial adjacent, spatial non-adjacent, temporal and history candidates. The position and inclusion order of these candidates are the same as those used in CCP merge candidate list. An EIP merge index is further signalled to indicate which EIP merge candidate is selected. The filter shape and the filter coefficients of the selected candidate are then inherited to code the CU.

[0044] When the EIP merge flag is false, the EIP filter is derived from the neighbouring reconstructed samples and the relevant syntax element is signalled to indicate which one of the three types of reconstructed area and which one of the three filter shapes are used for the CU.

[0045] 1.5 Template-Based Multiple Reference Line Intra Prediction

[0046] Template-based multiple reference line intra prediction (TMRL) mode combines reference lines and prediction mode together and uses a template matching method to construct a list of candidate combinations. An index to the candidate combination list is signalled.

[0047] The extended reference line starts from reference line 1. Reference line 0 is used for template matching. The SAD costs (TMRL costs) over the template area (see Fig. 5) are calculated between the predictions (generated by 50 combinations) and the reconstructions. The 20 combinations with the least SAD cost are selected in an ascending order to form the TMRL candidate list.

[0048] 1.6 Cross-Component Linear Model (CCLM) Prediction

[0049] To reduce the cross-component redundancy, a cross-component linear model (CCLM) prediction mode is used in the VVC, for which the chroma samples are predicted based on the reconstructed luma samples of the same CU by using a linear model as follows: predC (i, j) =α·recL′ (i, j) + β           (1) where predC (i, j) represents the predicted chroma samples in a CU and recL′ (i, j) represents the downsampled reconstructed luma samples of the same CU.

[0050] The CCLM parameters (α and β) are derived with at most four neighbouring chroma samples and their corresponding down-sampled luma samples.

[0051] This parameter computation is performed as part of the decoding process, and is not just as an encoder search operation. As a result, no syntax is used to convey the α and β values to the decoder.

[0052] 1.6.1 Multiple model CCLM

[0053] Multiple Model CCLM Mode (MMLM) is proposed for using two models for predicting the chroma samples from the luma samples for the whole CU. In MMLM, neighbouring luma samples and neighbouring chroma samples of the current block are classified into two groups, each group is used as a training set to derive a linear model (i.e., a particular α and β are derived for a particular group) . Furthermore, the samples of the current luma block are also classified based on the same rule for the classification of neighbouring luma samples. Three MMLM model modes (MMLM_LT, MMLM_T, and MMLM_L) are allowed for choosing the neighbouring samples from left-side and above-side, above-side only, and left-side only, respectively.

[0054] Fig. 6 shows an example of classifying the neighbouring samples into two groups. Threshold is calculated as the average value of the neighbouring reconstructed luma samples. A neighbouring sample with Rec′L [x, y] <= Threshold is classified into group 1; while a neighbouring sample with Rec′L [x, y] > Threshold is classified into group 2.

[0055] 1.7 Convolutional Cross-Component Model (CCCM)

[0056] In CCCM, a convolutional model is applied to improve the chroma prediction performance. The convolutional model has 7-tap filter consisting of a 5-tap plus sign shape spatial component, a nonlinear term and a bias term. The input to the spatial 5-tap component of the filter consists of a centre (C) luma sample which is collocated with the chroma sample to be predicted and its above / north (N) , below / south (S) , left / west (W) and right / east (E) neighbours.

[0057] The nonlinear term (denoted as P) is represented as power of two of the centre luma sample C and scaled to the sample value range of the content: P = (C*C + midVal ) >> bitDepth.

[0058] For example, for 10-bit contents, the nonlinear term is calculated as: P = (C*C + 512 ) >> 10

[0059] The bias term (denoted as B) represents a scalar offset between the input and output (similarly to the offset term in CCLM) and is set to the middle chroma value (512 for 10-bit content) .

[0060] Output of the filter is calculated as a convolution between the filter coefficients ci and the input values and clipped to the range of valid chroma samples: predChromaVal = c0C + c1N + c2S + c3E + c4W + c5P + c6B

[0061] The filter coefficients ci are calculated by minimising MSE between predicted and reconstructed chroma samples in the reference area.

[0062] 1.8 Gradient Linear Model (GLM)

[0063] For YUV 4: 2: 0 colour format, a gradient linear model (GLM) method can be used to predict the chroma samples from luma sample gradients. Two modes are supported: a two-parameter GLM mode and a three-parameter GLM mode.

[0064] Compared with the CCLM, instead of down-sampled luma values, the two-parameter GLM utilizes luma sample gradients to derive the linear model. Specifically, when the two-parameter GLM is applied, the input to the CCLM process, i.e., the down-sampled luma samples L, are replaced by luma sample gradients G. The other parts of the CCLM (e.g., parameter derivation, prediction sample linear transform) are kept unchanged. C=α·G+β

[0065] In the three-parameter GLM, a chroma sample can be predicted based on both the luma sample gradients and down-sampled luma values with different parameters. The model parameters of the three-parameter GLM are derived from 6 rows and columns adjacent samples by the LDL decomposition based MSE minimization method as used in the CCCM. C=α0·G+α1·L+α2·β

[0066] For signalling, when the CCLM mode is enabled for the current CU, one flag is signalled to indicate whether GLM is enabled for both Cb and Cr components; if the GLM is enabled, another flag is signalled to indicate which of the two GLM modes is selected and one syntax element is further signalled to select one of 4 gradient filters for the gradient calculation.

[0067] 1.9 Inter prediction (More details can be from JVET-T2002. )

[0068] 1.9.1 Spatial candidate derivation

[0069] Spatial merge candidates are selected among candidates located in the positions depicted in Fig. 7.

[0070] 1.9.2 Temporal candidate derivation

[0071] In the derivation of this temporal merge candidate for a current CU 810, a scaled motion vector is derived based on the co-located CU 820 belonging to the collocated reference picture as shown in Fig. 8. The reference picture list and the reference index to be used for the derivation of the co-located CU is explicitly signalled in the slice header. The scaled motion vector 830 for the temporal merge candidate is obtained as illustrated by the dashed line in Fig. 8, which is scaled from the motion vector 840 of the co-located CU using the POC (Picture Order Count) distances, tb and td, where tb is defined to be the POC difference between the reference picture of the current picture and the current picture and td is defined to be the POC difference between the reference picture of the co-located picture and the co-located picture. The reference picture index of temporal merge candidate is set equal to zero.

[0072] The position for the temporal candidate is selected between candidates C0 and C1, as depicted in Fig. 9. If CU at position C0 is not available, is intra coded, or is outside of the current row of CTUs, position C1 is used. Otherwise, position C0 is used in the derivation of the temporal merge candidate.

[0073] 1.9.3 Non-adjacent Spatial Candidate

[0074] The pattern of spatial merge candidates is shown in Fig. 10. The distances between non-adjacent spatial candidates and current coding block are based on the width and height of current coding block. The line buffer restriction is not applied.

[0075] PROPOSED METHOD

[0076] A unified intra merge mode is proposed to jointly inherit the luma and chroma intra prediction information from neighbouring positions / blocks to the current block. First, one or more merge lists are created by including candidates associated with both luma and chroma intra prediction information (abbreviated as jointIntraInfo) from neighbouring reference positions / blocks. At least one of the candidates in the merge list is selected, and jointIntraInfo associated with the selected candidates are inherited by the current block. The current block generates the prediction of the current block and performs the coding process based on the inherited jointIntraInfo.

[0077] Some embodiments in Section 2.1 “The Position / Block Setting of Candidates” describe proposed methods of locating the positions / blocks to retrieve candidates.

[0078] Some embodiments in Section 2.2 “Retrieving jointIntraInfo from Candidates” disclose proposed methods on how to associate / determine candidates with jointIntraInfo. The associated / determined jointIntraInfo can be retrieved from candidates to be inherited by the current block.

[0079] Some embodiments in Section 2.3 “Reordering the Merge List” disclose proposed methods of reordering the candidates in the merge list.

[0080] Some embodiments in Section 2.4 “Syntax Setting” disclose proposed methods associated with enabling the unified intra merge mode.

[0081] In one embodiment, the inherited luma intra prediction information includes, but not limited to, intra luma prediction mode (e.g. DIMD, TIMD, TMRL, EIP, matrix-based intra prediction (MIP) , spatial geometric partitioning mode (SGPM) , intra template matching prediction (IntraTMP) , and / or matrix based position dependent intra prediction (PDP, which can reference, but not limited to, the method in JVET-AH0209 and / or JVET-AI0208) ) , sub-mode flags (e.g. a flag signalled depending on whether a prediction mode flag is true) , intra prediction directions, intra prediction blending weights, intra prediction blending modes, intra interpolation filter shape, intra interpolation filter parameters, multiple reference line indices, classification threshold, and / or transform kernel types (e.g., DCT2, DST7, and / or DCT8) .

[0082] In one embodiment, the inherited chroma intra prediction information includes, but not limited to, intra chroma prediction mode (e.g. CCLM, MMLM, CCCM, variants of CCCM or CCLM, and / or chroma DIMD) , GLM pattern index, model parameters, prediction fusion modes, prediction fusion weights, and / or classification threshold.

[0083] In one embodiment, the inherited chroma intra prediction information includes, but not limited to, intra chroma prediction mode (e.g. CCLM, MMLM, CCCM, variants of CCCM or CCLM, and / or chroma DIMD (including single chroma DIMD and / or blending chroma DIMD) , and / or variations of chroma DIMD) , GLM pattern index, model parameters, prediction fusion modes, prediction fusion weights, and / or classification threshold.

[0084] In one sub-embodiment, for the chroma intra prediction information associated with chroma DIMD, the information includes list items (a) and / or (b) and / or (c) and / or (d) and / or (e) . (a) one or more histogram (bar) values for the available DIMD intra prediction modes (e.g. DC, planar, and / or directional prediction modes) (b) the N intra prediction modes (for example, the modes with the highest N histogram bars) which may be suggested by the histogram values (c) DIMD weighting information and / or fusion or not and / or location-dependent features (e.g. the weighting for samples changing in a horizontal direction, in a vertical direction, or independent of location / direction) (d) reference line information and / or wide-angle conditions (e) information associated with block vector, such as the information shown in Note A Note A: “using block vector information or not” and / or “block vector information” wherein the block vector information can be any information associated with prediction generation for an intra block copy (IBC) or intraTMP mode

[0085] For single chroma DIMD, the chroma intra prediction information associated with chroma DIMD contains only one intra prediction mode, only one reference line information, wide-angle conditions, fusion or not being false, and / or information associated with block vector. That is, only one intra prediction mode will be used for generating predictors and the DIMD weight information is not inherited / required.

[0086] For blending chroma DIMD, the chroma intra prediction information associated with chroma DIMD includes multiple intra prediction modes, one or more reference line information, wide-angle conditions, fusion or not being true, DIMD weighting information and / or location-dependent features, and / or information associated with block vector. In other words, multiple intra prediction modes are used for generating predictors and the DIMD weight information is inherited.

[0087] In another sub-embodiment, when inheriting chroma intra prediction information associated with chroma DIMD, only blending chroma DIMD is allowed. In other words, single chroma DIMD is not allowed for inheriting.

[0088] In another sub-embodiment, when inheriting chroma intra prediction information associated with chroma DIMD, only single chroma DIMD is allowed. In other words, blending chroma DIMD is not allowed for inheriting.

[0089] In another sub-embodiment, when inheriting chroma intra prediction information associated with chroma DIMD, either single or blending chroma DIMD is allowed. When the to-be-inherited block (e.g. one previous-coded block) uses single chroma DIMD, the inheriting information will be single chroma DIMD. When the to-be-inherited block uses blending chroma DIMD, the inheriting information will be blending chroma DIMD.

[0090] In another embodiment, the inherited chroma intra prediction information comes from luma. For example, when inheriting from a neighbouring position / block, if the luma prediction information from the neighbouring position / block is associated with DIMD, the inherited chroma intra prediction information is set as or generated using the luma prediction information from the neighbouring position / block. For example, when determining the inherited chroma intra prediction information, if the luma prediction information for the current block is associated with DIMD, the inherited chroma intra prediction information is set as or generated using the luma prediction information for the current block.

[0091] In another embodiment, a validity checking is needed when inheriting the chroma intra prediction information associated with chroma DIMD. Only when the validity checking is satisfied, the chroma intra prediction information associated with chroma DIMD can be inherited. For example, the validity checking is to check the block width, block height, or block area satisfying the size constraint to chroma DIMD.

[0092] In another embodiment, a priority checking is needed when inheriting the chroma intra prediction information. When inheriting from a neighbouring position / block, which contains both cross-component information (e.g. information associated with CCLM, MMLM, CCCM, and / or variants of CCCM or CCLM) and chroma DIMD information, a priority checking is applied to decide which information will be inherited. For example, the priority checking is to inherit the cross-component information. For another example, the priority checking is to inherit the chroma DIMD information. For another example, the priority checking is adaptive depending on the block width, block height, and / or block area of the current block. For another example, the priority checking is adaptive depending on the coding information for the neighbouring coding modes. In one embodiment, when both the above and left neighbouring blocks utilize cross-component coding modes (e.g. CCLM, MMLM, or CCCM, or their variants) , the priority check involves inheriting the cross-component information. In another embodiment, when both the above and left neighbouring blocks utilize non-cross-component coding modes (e.g. chroma DIMD) , the priority checking involves inheriting the chroma DIMD information.

[0093] In another embodiment, when inheriting from a neighbouring position / block, which contains both cross-component information (e.g. information associated with CCLM, MMLM, CCCM, and / or variants of CCCM or CCLM) and chroma DIMD information, both cross-component information and chroma DIMD information are inherited.

[0094] In one sub-embodiment, both cross-component information and chroma DIMD information can be used for the current block.

[0095] In another sub-embodiment, chroma DIMD information can be used for the current block only when cross-component information is not available.

[0096] In another sub-embodiment, chroma DIMD information can be used for the current block regardless of whether cross-component information is available.

[0097] In another sub-embodiment, cross-component information can be used for the current block only when chroma DIMD information is not available.

[0098] In another sub-embodiment, cross-component information can be used for the current block regardless of whether chroma DIMD information is available.

[0099] In another embodiment, which information in the inherited intra prediction information is used for the current block depends on the block width, block height, and / or block area of the current block. For example, when the inherited chroma intra prediction information contains both cross-component information and chroma DIMD information, if the current block’s width, height, or area is smaller than a predefined threshold, the chroma DIMD information is used for the current block; otherwise, the cross-component information is used for the current block.

[0100] In another embodiment, which information in the inherited intra prediction information is used for the current block depends on the explicit signalling. For example, when the inherited chroma intra prediction information contains both cross-component information and chroma DIMD information, if the syntax (such as a flag) indicates that chroma DIMD should be used for the current block, the chroma DIMD information is used for the current block; otherwise, the cross-component information is used for the current block.

[0101] In one embodiment, luma and chroma intra prediction information of a candidate comes from the same neighbouring positions / block.

[0102] In one embodiment, intra luma and chroma prediction modes are specified in each candidate. The prediction of the current block is generated based on the specified prediction modes. The coding process of the current block also follows the specified prediction modes.

[0103] In one embodiment, a merge list is constructed by including candidates in a pre-defined order until the maximum number of candidates is reached. The candidates added can be all or subsets of candidates described in Section 2.1 “The Position / Block Setting of Candidates” .

[0104] 2.1 The Position / Block Setting of Candidates

[0105] 2.1.1 Spatial adjacent and non-adjacent candidates

[0106] The spatial adjacent candidates are from the adjacent neighbouring blocks of the current block. The inclusion order and the positions of the adjacent neighbouring blocks can be the same as those of spatial candidates of regular inter merge mode (as depicted in Fig. 7 in Section 1.9.1 “Spatial candidate derivation” ) . The positions of the adjacent neighbouring blocks can be any subset of the adjacent neighbouring blocks of the current block.

[0107] The spatial non-adjacent candidates are from a search range around (but not adjacent to) the current block. The search range can be the same as or can be different from the search range of non-adjacent candidates of regular inter merge mode. The inclusion order and the positions of spatial non-adjacent candidates can be the same as those of spatial non-adjacent candidates of regular inter merge mode.

[0108] 2.1.2 Temporal candidates

[0109] In one embodiment, if the current slice / picture is a non-intra slice / picture, the jointIntraInfo can be from blocks at pre-defined positions in previously coded slices / pictures.

[0110] In one embodiment, the rules to determine the previous coded slices / pictures from which the jointIntraInfo is retrieved can be the same as those of regular inter merge mode.

[0111] In one embodiment, the previous coded slices / pictures from which the jointIntraInfo is retrieved are signalled in sequence parameter set (SPS) , picture parameter set (PPS) , picture header (PH) or slice header (SH) .

[0112] In one embodiment, the inclusion order and the pre-defined position from which the jointIntraInfo is retrieved can be the same as those of regular inter merge mode.

[0113] In one embodiment, if the current block position is at (x, y) and the block size is w×h, the pre-defined positions are inside the corresponding area of the current block. For example, the inherited jointIntraInfo can be from the block at position (x, y) , (x, y + h / 2) , (x + w / 2, y) , (x + w / 2, y + h / 2) , (x + w, y) , (x, y + h) , or (x + w, y + h) of the previous coded slices / picture.

[0114] 2.2 Retrieving jointIntraInfo from Candidates

[0115] In one embodiment, if the prediction modes of both the luma and chroma intra prediction information associated with a neighbouring block at a candidate position are in the allowed intra luma and chroma prediction modes respectively, the neighbouring block (i.e., the luma and chroma intra prediction information of this neighbouring block) is allowed to be added into the merge list of the current block as a candidate.

[0116] In one embodiment, the allowed intra luma prediction modes include DIMD, TIMD, TMRL, and / or EIP. The allowed chroma intra prediction modes include cross-component prediction modes (e.g. CCLM, MMLM, CCCM, variants of CCCM and CCLM, inter CCCM, and / or cross-component merge mode (including intra cross-component merge mode and / or inter cross-component merge mode) ) , and / or chroma DIMD mode.

[0117] In one embodiment, for all blocks in the coding process, after finishing coding a block, if the luma component of a block is coded in allowed intra luma prediction modes, the luma intra prediction information is stored in a buffer associated with this block. Later, if this block is at a candidate position of the current block, the associated luma intra prediction information can be added into the merge list as a part of jointIntraInfo.

[0118] In one embodiment, for all blocks in the coding process, after finishing coding a block, if the chroma component of a block is coded in allowed intra chroma prediction modes, the chroma intra prediction information is stored in a buffer associated with this block. Later, if this block is at a candidate position of the current block, the associated chroma intra prediction information can be added into the merge list as a part of jointIntraInfo.

[0119] In one embodiment, for all blocks in the coding process, after finishing coding a block, only if both the luma and chroma components of a block are coded in allowed intra luma and chroma prediction modes respectively, both the luma and chroma intra prediction information is stored in a buffer associated with this block. Later, if this block is at a candidate position of the current block, the associated luma and chroma intra prediction information can be added into the merge list.

[0120] In one embodiment, for all blocks in the coding process, after finishing coding a block, if the block is coded in inter mode, or the block is associated with motion information, one or more reference blocks can be located based on the motion information of this block. The reference block is in a reference picture indicated by the motion information of this block. If the reference block is associated with (or has) luma intra prediction information, chroma intra prediction information, or jointIntraInfo, the luma intra prediction information, chroma intra prediction information, or jointIntraInfo of the reference block can be copied or stored in a buffer associated with this block.

[0121] In one embodiment, for all blocks in the coding process, after finishing coding a block, if the block is coded in a mode associated with block vectors (e.g. IBC or IntraTMP) , or the block is associated with block vectors (e.g. for a chroma block, the collocated luma block is coded in IBC or IntraTMP mode) , one or more reference blocks can be located based on the block vectors of this block. If the reference block is associated with (or has) luma intra prediction information, chroma intra prediction information or jointIntraInfo, the luma intra prediction information, chroma intra prediction information or jointIntraInfo of the reference block can be copied or stored in a buffer associated with this block.

[0122] 2.3 Reordering the Merge List

[0123] The candidates in the merge list can be reordered to reduce the syntax overhead when signalling the index of the selected candidate.

[0124] In one embodiment, the reordering rule is based on template cost of each candidate. The candidates are reordered according to their template costs in an ascending order. The template cost is a difference metric between reconstruction samples and prediction samples in the neighbouring templates of the current block. The prediction samples are generated by utilizing the jointIntraInfo of a candidate on the neighbouring templates of the current block. The template cost can be computed based on the sum of differences between reconstruction samples and prediction samples. For example, the template cost can be SAD (Sum of Absolute Differences) or SATD (Sum of Absolute Transformed Differences) .

[0125] In one embodiment, both the luma and chroma samples in the neighbouring templates are used to calculate the template cost.

[0126] In one embodiment, only the luma samples in the neighbouring template are used to calculate the template cost.

[0127] 2.4 Syntax Setting

[0128] In one embodiment, a flag is signalled to indicate whether the current block inherits the luma and chroma intra prediction information jointly from previously coded blocks. The flag can be signalled per CU / CB, per PU, per TU / TB, or per colour component, or per chroma colour component.

[0129] In one embodiment, a high-level syntax can be signalled in SPS, PPS, PH or SH to indicate whether the proposed methods are allowed for the current sequence, picture, or slice.

[0130] In one embodiment, if the current block inherits the luma and chroma intra prediction information jointly from neighbouring blocks, the index of the inherited / selected candidate is signalled to indicate the position of the inherited / selected candidate in the merge list.

[0131] In one embodiment, when signalling intra prediction mode of the current block, a syntax is firstly signalled to indicate whether the current block is predicted by the proposed unified intra merge mode. If the syntax indicates that the current block is predicted by the proposed unified intra merge mode, syntax indicating the selected candidate in the merge list follows, and syntax related to chroma intra prediction is not signalled. Otherwise, the luma and chroma intra prediction modes of the current block are indicated.

[0132] Any of the foregoing proposed methods can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in an inter / intra / prediction module of an encoder, and / or an inter / intra / prediction module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the inter / intra / prediction module of the encoder and / or the inter / intra / prediction module of the decoder, so as to provide the information needed by the inter / intra / prediction module.

[0133] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods of inheriting chroma intra prediction information from one or more candidates can be implemented in an Intra coding module (e.g. Intra Pred. 150 in Fig. 1B) in a decoder or an Intra coding module in an encoder (e.g. Intra Pred. 110 in Fig. 1A) . However, the decoder or encoder may also use additional processing unit to implement the required processing. While the Intra units are shown as individual processing units, they may correspond to executable software or firmware codes for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array)) .

[0134] Fig. 11 illustrates a flowchart of an exemplary video coding system where the chroma intra prediction information is inherited from one or more candidates for chroma blocks 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 and / or the decoder side. The steps shown in the flowchart may also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with a current block comprising a luma block and a chroma block is received in step 1110, 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. One or more candidates are determined for the chroma block in a chroma intra prediction mode in step 1120. Chroma intra prediction information is inherited from said one or more candidates for the chroma block in step 1130. Target chroma intra prediction is generated based on prediction information comprising the chroma intra prediction information inherited in step 1140. The chroma block is encoded or decoded using the target chroma intra prediction in step 1150.

[0135] 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.

[0136] 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.

[0137] 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.

[0138] 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

A method of video coding, the method comprising:receiving input data associated with a current block comprising a luma block and a chroma 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;determining one or more candidates for the chroma block in a chroma intra prediction mode;inheriting chroma intra prediction information from said one or more candidates for the chroma block;generating target chroma intra prediction based on prediction information comprising the chroma intra prediction information inherited; andencoding or decoding the chroma block using the target chroma intra prediction.The method of Claim 1, wherein the chroma intra prediction information inherited comprises the chroma intra prediction mode, Gradient Linear Model (GLM) pattern index, model parameters, prediction fusion modes, prediction fusion weights, classification threshold, or a combination thereof.The method of Claim 1, wherein the chroma intra prediction mode comprises CCLM (Cross-Component Linear Model) , MMLM (Multiple Model CCLM Mode) , CCCM (Convolutional Cross-Component Model) , variants of CCCM or CCLM, chroma DIMD (Decoder side Intra Mode Derivation) , single chroma DIMD, blending chroma DIMD, variations of chroma DIMD, or a combination thereof.The method of Claim 1, wherein when the chroma block is coded in single chroma DIMD, the chroma intra prediction information associated with chroma DIMD contains only one intra prediction mode, only one reference line information, wide-angle conditions, fusion or not being false, information associated with block vector, or a combination thereof.The method of Claim 1, wherein when the chroma block is coded in single chroma DIMD, only one intra prediction mode is used for generating predictors without DIMD weight information being inherited or required.The method of Claim 1, wherein when the chroma block is coded in blending chroma DIMD, the chroma intra prediction information associated with chroma DIMD contains multiple intra prediction modes, reference line information, wide-angle conditions, fusion or not being true, DIMD weighting information, location-dependent features, information associated with block vector, or a combination thereof.The method of Claim 1, wherein when the chroma block is coded in blending chroma DIMD, multiple intra prediction modes are used for generating predictors with DIMD weight information inherited.The method of Claim 1, wherein for inheriting the chroma DIMD information, the chroma intra prediction information is inherited only when information associated with blending chroma DIMD is available.The method of Claim 1, wherein for the inheriting chroma DIMD information, the chroma intra prediction information is inherited only when information associated with single chroma DIMD is available.The method of Claim 1, wherein for inheriting the chroma DIMD information, inheriting information associated with single chroma DIMD or blending chroma DIMD is allowed for the chroma block.The method of Claim 1, wherein when a to-be-inherited block uses single chroma DIMD, the chroma intra prediction information inherited will be the single chroma DIMD.The method of Claim 1, wherein when a to-be-inherited block uses blending chroma DIMD, the chroma intra prediction information inherited will be the blending chroma DIMD.An apparatus for video coding, the apparatus comprising one or more electronic circuits or processors arranged to:receive input data associated with a current block comprising a luma block and a chroma 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;determine one or more candidates for the chroma block in a chroma intra prediction mode;inherit chroma intra prediction information from said one or more candidates for the chroma block;generate target chroma intra prediction based on prediction information comprising the chroma intra prediction information inherited; andencode or decode the chroma block using the target chroma intra prediction.

Citation Information

Patent Citations

  • Chroma block prediction mode acquisition method and device, codec and storage device

    CN109862353A

  • Video Encoding and Decoding Using Intra Prediction

    KR1020180075422A

  • Method and apparatus of inheriting shared cross-component models in video coding systems

    WO2024093785A1

  • Method and apparatus of inheriting cross-component models with cross-component information propagation in video coding system

    WO2024109618A1

  • Image encoding / decoding method based on intra prediction, method for transmitting bitstream, and recording medium storing bitstream

    WO2024151023A1