Methods and apparatus of retrieving LUMA and chroma intra prediction information for candidates in unified intra merge mode in video coding systems

The unified intra merge mode in video coding systems addresses inefficiencies in luma and chroma prediction by jointly inheriting information from neighboring blocks, enhancing coding efficiency and video quality.

WO2026086926A1PCT designated stage Publication Date: 2026-04-30MEDIATEK 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-24
Publication Date
2026-04-30

AI Technical Summary

Technical Problem

Existing video coding systems, such as VVC, face challenges in efficiently handling luma and chroma intra prediction information, leading to suboptimal coding efficiency and quality due to separate processing of luma and chroma components.

Method used

A unified intra merge mode that jointly inherits luma and chroma intra prediction information from neighboring spatial or temporal blocks, using methods like DIMD, TIMD, EIP, and CCLM to create a merge list for improved prediction accuracy and efficiency.

Benefits of technology

Enhances coding efficiency by reducing redundancy and improving prediction accuracy through joint luma and chroma intra prediction, leading to better video quality and compression performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025129840_30042026_PF_FP_ABST
    Figure CN2025129840_30042026_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus of deriving unified luma / chroma candidates are disclosed. According to this method, one or more reference blocks in previously coded slices or pictures are located based on a position of the current block if the current block is in a non-intra slice or picture. Whether a target reference block is associated with joint luma and chroma intra prediction information and whether both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively are determined. If the conditions are satisfied: the joint luma and chroma intra prediction information from the target reference block is copied; and the joint luma and chroma intra prediction information is stored in a buffer at a location for the current block.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF RETRIEVING LUMA AND CHROMA INTRA PREDICTION INFORMATION FOR CANDIDATES IN UNIFIED INTRA MERGE MODE 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 / 711,743, filed on October 25, 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 a new mode -Unified Intra Merge Mode, which jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block. 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, 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] In the present invention, methods and apparatus of a new mode -Unified Intra Merge Mode, which jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block are disclosed. BRIEF SUMMARY OF THE INVENTION

[0009] A method and apparatus of deriving a new merge list are disclosed. According to this method, input data associated with a current block comprising a luma component and one or more chroma components 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. The current block is encoded or decoded. One or more reference blocks in previously coded slices or pictures are located based on a position of the current block if the current block is in a non-intra slice or picture. Whether a target reference block is associated with joint luma and chroma intra prediction information and whether both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively are determined. If the target reference block is associated with the joint luma and chroma intra prediction information and both the luma component and said one or more chroma components of the target reference block are coded in the allowed or supported intra luma and chroma prediction modes respectively: the joint luma and chroma intra prediction information from the target reference block is copied; and the joint luma and chroma intra prediction information is stored in a buffer at a location for the current block, wherein the joint luma and chroma intra prediction information of the target reference block is used by one or more subsequent blocks.

[0010] In one embodiment, the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if the target reference block is associated with the joint luma and chroma intra prediction information.

[0011] In one embodiment, the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively.

[0012] In one embodiment, the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if origin of luma intra prediction information and origin of chroma intra prediction information of the target reference block are the same.

[0013] In one embodiment, said locating said one or more reference blocks in the previously coded slices or pictures and said copying the joint luma and chroma intra prediction information from the target reference block are performed if the target reference block is at a candidate position of the current block. In one embodiment, said locating said one or more reference blocks in the previously coded slices or pictures and said copying the joint luma and chroma intra prediction information from the target reference block are performed when during coding process of the current block.

[0014] In one embodiment, said one or more reference blocks in the previously coded slices or pictures are located based on motion vector of the current.

[0015] In one embodiment, if the current block is associated with one or more block vectors or is coded in a mode associated with said one or more block vectors of the current block, said one or more reference blocks are located based on said one or more block vectors of the current block. In one embodiment, the mode associated with said one or more block vectors of the current block comprise IBC (Intra Block Copy) mode, IntraTMP (Intra Template Matching Prediction) mode, or both.

[0016] In one embodiment, the allowed or supported intra luma prediction modes comprise DIMD (Decoder-side Intra Mode Derivation) , TIMD (Template-based Intra Mode Derivation) , TMRL (Template-based Multiple Reference Line intra prediction) , and EIP (Extrapolation filter-based Intra Prediction) .

[0017] In one embodiment, the allowed or supported chroma intra prediction modes comprise cross-component prediction modes, chroma DIMD mode, or a combination thereof.

[0018] In one embodiment, if the luma component of the target reference block is coded in the allowed or supported intra luma prediction modes, the luma intra prediction information is stored in the buffer at the location for the target reference block. In one embodiment, if one chroma component of the target reference block is coded in the allowed or supported intra chroma prediction modes, the chroma intra prediction information is stored in the buffer at the location for the target reference block.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

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

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

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

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

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

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

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

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

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

[0031] Fig. 10 illustrates an exemplary pattern of the non-adjacent spatial merge candidates.

[0032] Fig. 11 illustrates an examples of luma and chroma intra prediction information propagation, where the blocks with dash line (i.e., A, C, F) are predicted by the allowed or supported luma and chroma intra prediction modes.

[0033] Fig. 12 illustrates a flowchart of an exemplary video coding system that uses Unified Intra Merge Mode, which jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block, according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

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

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

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

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

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

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

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

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

[0042] 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) .

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

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

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

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

[0047] 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) .

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

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

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

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

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

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

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

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

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

[0057] 1.6.1 Multiple model CCLM

[0058] In the JEM (J. Chen, E. Alshina, G. J. Sullivan, J. -R. Ohm, and J. Boyce, Algorithm Description of Joint Exploration Test Model 7, document JVET-G1001, ITU-T / ISO / IEC Joint Video Exploration Team (JVET) , Jul. 2017) , 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_LA, 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.

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

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

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

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

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

[0064] 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) .

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

[0066] The filter coefficients ci are calculated by minimising MSE between predicted and reconstructed chroma samples in the reference area. The reference area consists of 6 lines of chroma samples above and left of the PU. Reference area extends one PU width to the right and one PU height below the PU boundaries.

[0067] 1.8 Gradient Linear Model (GLM)

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

[0069] Compared with the CCLM, instead of down-sampled luma values, the GLM utilizes luma sample gradients to derive the linear model. Specifically, when the 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+β

[0070] 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·β

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

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

[0073] 1.9.1 Spatial candidate derivation

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

[0075] 1.9.2 Temporal candidate derivation

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

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

[0078] 1.9.3 Non-adjacent Spatial Candidate

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

[0080] Proposed Method

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

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

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

[0084] In one embodiment, the inherited luma intra prediction information includes , but not limited to, intra luma prediction mode (e.g., DIMD, TIMD, TMRL, EIP, MIP, SGPM, IntraTMP (Intra Template Matching Prediction) , PDP, …) , sub-mode flags (e.g. a flag is 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, DCT8) .

[0085] 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, chroma DIMD) , GLM pattern index, model parameters, prediction fusion modes, prediction fusion weights, or classification threshold.

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

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

[0088] 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” .

[0089] 2.1 The Position / Block Setting of Candidates

[0090] 2.1.1 Spatial adjacent and non-adjacent candidates

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

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

[0093] 2.1.2 Temporal candidates

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

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

[0096] In one embodiment, the previous coded slices / pictures from which the jointIntraInfo is retrieved are signalled in SPS, PPS, PH or SH.

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

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

[0099] 2.2 Retrieving jointIntraInfo from Candidates

[0100] 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 or supported 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.

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

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

[0103] In one embodiment, for all blocks in the coding process, before, after or concurrently with finishing coding a block, if the chroma component of a block is coded in allowed or supported 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.

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

[0105] In one embodiment, for all blocks in the coding process, before, after or concurrently with 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 (or called the current 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 to be stored in a buffer associated with / at this block.

[0106] In one embodiment, for all blocks in the coding process, before, after or concurrently with 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 (or called the current 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 to be stored in a buffer associated with / at this block.

[0107] In one embodiment, for all blocks in the coding process, before, after or concurrently with finishing coding a block, if the block is in a non intra slice / picture, one or more reference blocks in previously coded slices / pictures can be located based on the position of this block (or called the current 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 to be stored in a buffer associated with / at this block.

[0108] In one embodiment, only if the reference block is associated with (or has) both luma and chroma intra prediction information, the jointIntraInfo of the reference block can be copied to be stored in a buffer associated with this block.

[0109] In one embodiment, only if both the luma and chroma components of the reference block are coded in allowed or supported intra luma and chroma prediction modes respectively, the jointIntraInfo of the reference block can be copied to be stored in a buffer associated with this block.

[0110] In one embodiment, only if the origin of the luma intra prediction information and the origin of the chroma intra prediction information of the reference block are the same, the jointIntraInfo of the reference block can be copied to be stored in a buffer associated with this block. For example, as depicted in Fig. 11, since block A and block C are both coded in the allowed or supported intra prediction modes, the luma and chroma intra prediction information associated with block A and block C is originated from themselves respectively. For block D, the luma and chroma intra prediction information is copied from block A and block C respectively, hence the origins of the luma and chroma intra prediction information are different. For block B, both luma and chroma intra prediction information is copied from block A and hence the origins are the same. However, for block E, although the luma and chroma intra prediction information is copied from block D and block B respectively, since the origin of the luma intra prediction information of block D is block A, and the origin of the chroma intra prediction information of block B is also block A, the origins of luma and chroma intra prediction information of block C are the same.

[0111] In one embodiment, the action of locating one or more reference blocks and copying the luma intra prediction information, chroma intra prediction information, or jointIntraInfo from the reference blocks to a block is performed right after finishing coding this block.

[0112] In one embodiment, the action of locating one or more reference blocks and copying the luma intra prediction information, chroma intra prediction information, or joingIntraInfo from the reference blocks to this block is performed when this block is at a candidate position of the current block and during the coding of the current block.

[0113] 2.3 Reordering the Merge List

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

[0115] In one embodiment, the reordering rule is based on template cost of each candidate. The candidates are reordered according to their template cost 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) .

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

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

[0118] 2.4 Syntax Setting

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

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

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

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

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

[0124] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods of merge list derivation with candidate diversity can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / MC 152 in Fig. 1B) in a decoder or an Intra / Inter coding module is an encoder (e.g. Intra Pred. 110 / Inter Pred. in Fig. 1A) . However, the decoder or encoder may also use additional processing unit to implement the required cross-component prediction processing. While the Intra / Inter Pred. 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) ) .

[0125] Fig. 12 illustrates a flowchart of an exemplary video coding system that uses Unified Intra Merge Mode, which jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block, 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 comprising a luma component and one or more chroma components is received in step 1210, 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. The current block is encoded or decoded in step 1220. One or more reference blocks in previously coded slices or pictures are located based on a position of the current block if the current block is in a non-intra slice or picture in step 1230. In some embodiments, step 1230 may be performed before, after or concurrently with finishing coding the current block (for example, step 1220) . Whether a target reference block is associated with joint luma and chroma intra prediction information and whether both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively are determined in step 1240. If the results are asserted (i.e., the “Yes” path from step 1240) , steps 1250 and 1260 are performed. Otherwise (i.e., the “No” path from step 1240) , steps 1250 and 1260 are skipped. In step 1250, the joint luma and chroma intra prediction information from the target reference block is copied. In step 1260, the joint luma and chroma intra prediction information is stored in a buffer at a location for the current block, wherein the joint luma and chroma intra prediction information of the target reference block is used by one or more subsequent blocks.

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

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

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

[0129] 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 comprising a luma component and one or more chroma components, 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;encoding or decoding the current block;locating one or more reference blocks in previously coded slices or pictures based on a position of the current block if the current block is in a non-intra slice or picture;determining whether a target reference block is associated with joint luma and chroma intra prediction information and both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively;in response the target reference block being associated with the joint luma and chroma intra prediction information and both the luma component and said one or more chroma components of the target reference block being coded in the allowed or supported intra luma and chroma prediction modes respectively:copying the joint luma and chroma intra prediction information from the target reference block; andstoring the joint luma and chroma intra prediction information in a buffer at a location for the current block, wherein the joint luma and chroma intra prediction information of the target reference block is used by one or more subsequent blocks.2.The method of Claim 1, wherein the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if the target reference block is associated with the joint luma and chroma intra prediction information.3.The method of Claim 1, wherein the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if both the luma component and said one or more chroma components of the target reference block are coded in allowed or supported intra luma and chroma prediction modes respectively.4.The method of Claim 1, wherein the joint luma and chroma intra prediction information of the target reference block is stored in the buffer at the location for the current block only if origin of luma intra prediction information and origin of chroma intra prediction information of the target reference block are the same.5.The method of Claim 1, wherein said locating said one or more reference blocks in the previously coded slices or pictures and said copying the joint luma and chroma intra prediction information from the target reference block are performed if the target reference block is at a candidate position of the current block.6.The method of Claim 5, wherein said locating said one or more reference blocks in the previously coded slices or pictures and said copying the joint luma and chroma intra prediction information from the target reference block are performed when during coding process of the current block.7.The method of Claim 1, wherein said one or more reference blocks in the previously coded slices or pictures are located based on motion vector of the current block.8.The method of Claim 1, wherein if the current block is associated with one or more block vectors or is coded in a mode associated with said one or more block vectors of the current block, said one or more reference blocks are located based on said one or more block vectors of the current block.9.The method of Claim 8, wherein the mode associated with said one or more block vectors of the current block comprise IBC (Intra Block Copy) mode, IntraTMP (Intra Template Matching Prediction) mode, or both.10.The method of Claim 1, wherein the allowed or supported intra luma prediction modes comprise DIMD (Decoder-side Intra Mode Derivation) , TIMD (Template-based Intra Mode Derivation) , TMRL (Template-based Multiple Reference Line intra prediction) , and EIP (Extrapolation filter-based Intra Prediction) .11.The method of Claim 1, wherein the allowed or supported chroma intra prediction modes comprise cross-component prediction modes, chroma DIMD mode, or a combination thereof.12.The method of Claim 1, wherein if the luma component of the target reference block is coded in the allowed or supported intra luma prediction modes, the luma intra prediction information is stored in the buffer at a location for the target reference block.13.The method of Claim 1, wherein if one chroma component of the target reference block is coded in the allowed or supported intra chroma prediction modes, the chroma intra prediction information is stored in the buffer at a location for the target reference block.14.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block comprising a luma component and one or more chroma components, 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;encode or decode the current block;locate one or more reference blocks in previously coded slices or pictures based on a position of the current block if the current block is in a non-intra slice or picture;determine whether a target reference block is associated with joint luma and chroma intra prediction information;in response the target reference block being associated with the joint luma and chroma intra prediction information:copy the joint luma and chroma intra prediction information from the target reference block; andstore the joint luma and chroma intra prediction information in a buffer associated with the current block, wherein the joint luma and chroma intra prediction information of the target reference block is used by one or more subsequent blocks.

Citation Information

Patent Citations

  • Luma chroma prediction based on merged chroma blocks

    CN117693934A

  • Method and apparatus for cross-component linear model for video coding system inter prediction

    CN118435599A

  • Shelf structure for wheelchair

    KR102932506B1

  • Video coding method of applying bit depth reduction to cross-component prediction parameters before storing cross-component prediction parameters into buffer and associated apparatus

    WO2024149338A1

  • Applications of intra block copy and intra template matching with fractional-PEL block vector

    WO2024186450A2