Application of self-guided cross-component model for lifting inter-frame chroma in video coding
By using a self-guided cross-component prediction model to encode color video using luminance and chrominance information, the problem of high redundancy in chrominance component prediction in existing technologies is solved, and more efficient coding performance is achieved.
Patent Information
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- MEDIATEK INC
- Filing Date
- 2024-10-18
- Publication Date
- 2026-06-05
AI Technical Summary
Existing video coding technologies suffer from high redundancy and low coding efficiency when processing color video, especially in chrominance component prediction. In particular, in the Multifunctional Video Coding Standard (VVC), existing cross-component models fail to fully utilize luminance and chrominance information for efficient prediction.
A self-directed cross-component prediction model is adopted, which determines the prediction type and model of self-directed cross-components through explicit signaling or implicit rules. It uses the luminance and chrominance information of the current block for prediction, including self-directed cross-component prediction in inter-frame and intra-frame modes, thereby improving the coding efficiency of chrominance components.
It improves the coding efficiency of color video coding, especially in inter-frame prediction. By using a self-guided cross-component prediction model, it reduces the redundancy of chroma components and improves prediction accuracy and coding performance.
Smart Images

Figure CN122162370A_ABST
Abstract
Description
[0001] Cross-references This invention is a non-provisional application and claims priority to U.S. Provisional Patent Application No. 63 / 591,471, filed October 19, 2023. This U.S. Provisional Patent Application is incorporated herein by reference in its entirety. Technical Field
[0002] This invention relates to a video encoding / decoding system using encoding / decoding tools, which include one or more cross-component model correlation modes. In particular, this invention relates to encoding / decoding chroma components using self-directed cross-component prediction candidates based on the type of self-directed cross-component prediction, the model of self-directed cross-component prediction, or both. Background Technology
[0003] Versatile Video Coding (VVC) is the latest international video coding standard developed by the ITU-T Video Coding Experts Group (VCEG) and the Joint Video Experts Team (JVET) of the ISO / IEC Moving Picture Experts Group (MPEG). This standard has been published as an ISO standard: ISO / IEC 23090-3:2021, Information technology—Coding representation of immersive media—Part 3: Versatile Video Coding, published in February 2021. VVC was developed based on its predecessor, High Efficiency Video Coding (HEVC), by adding more encoding and decoding tools to improve coding efficiency and enabling it to handle various types of video sources, including 3D video signals.
[0004] Figure 1AAn example adaptive inter-frame / intra-frame video coding system incorporating loop processing is illustrated. For intra-frame prediction 110, the prediction data is derived from previously encoded video data in the current image. For inter-frame prediction 112, motion estimation (ME) is performed at the encoder, and motion compensation (MC) is performed based on the result of ME to provide prediction data derived from other images and motion data. Switch 114 selects either intra-frame prediction 110 or inter-frame prediction 112, and the selected prediction data is provided to adder 116 to form a prediction error, also known as a residual. The prediction error is then processed by transform (T) 118, followed by quantization (Q) 120. The transformed and quantized residual is then encoded by entropy encoder 122 to be included in the video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packaged with side information, such as the motion and coding modes associated with intra-frame and inter-frame prediction, and other information such as parameters associated with loop filters applied to the underlying image regions. Side information related to intra-frame prediction 110, inter-frame prediction 112, and loop filter 130, such as Figure 1A The reference image is provided to the entropy encoder 122. When using inter-frame prediction mode, the reference image must also be reconstructed at the encoder. Therefore, the transformed and quantized residuals are processed by inverse quantization (IQ) 124 and inverse transformation (IT) 126 to recover the residuals. The residuals are then added back to the prediction data 136 at reconstruction (REC) 128 to reconstruct the video data. The reconstructed video data can be stored in the reference image buffer 134 and used for prediction of other frames.
[0005] like Figure 1A As shown, the input video data undergoes a series of processes in the encoding system. The reconstructed video data from REC128 may be subject to various impairments due to these processes. Therefore, a loop filter 130 is typically applied to the reconstructed video data before it is stored in the reference image buffer 134 to improve video quality. For example, a deblocking filter (DF), sample adaptive offset (SAO), and adaptive loop filter (ALF) can be used. Loop filter information may need to be incorporated into the bitstream so that the decoder can correctly recover the required information. Therefore, loop filter information is also provided to the entropy encoder 122 for incorporation into the bitstream. Figure 1AIn the process, the loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference image buffer 134. Figure 1A The system described here is intended to demonstrate an example architecture of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H.264, or VVC.
[0006] like Figure 1B As shown, the decoder can use the same or partially the same functional modules as the encoder, except for transform 118 and quantization 120, because the decoder only needs to perform inverse quantization 124 and inverse transform 126. The decoder uses entropy decoder 140 to decode the video bitstream into quantized transform coefficients and the required coding information (e.g., ILPF information, intra-frame prediction information, and inter-frame prediction information), instead of entropy encoder 122. Intra-frame prediction 150 at the decoder end does not require mode search. The decoder only needs to generate intra-frame predictions based on the intra-frame prediction information received from entropy decoder 140. Furthermore, for inter-frame prediction, the decoder only needs to perform motion compensation (MC 152) based on the inter-frame prediction information received from entropy decoder 140, without performing motion estimation.
[0007] Cross-component linear model (CCLM) prediction To reduce cross-component redundancy, the Cross-Component Linear Model (CCLM) prediction mode is adopted in VVC. Here, chroma samples are reconstructed luminance samples based on the same coding unit (CU) and predicted using a linear model, as shown below: (1) in This represents the predicted chromaticity samples in the CU. This represents the downsampled reconstructed luminance samples from the same CU.
[0008] CCLM parameters ( and The formula is derived using at most four adjacent chroma samples and their corresponding downsampled luminance samples. Assuming the current chroma block size is W×H, then W' and H' are set as follows: When applying LM_LA mode, W'=W, H'=H; When applying LM_A mode, W' = W + H; When the LM_L mode is applied, H' = H + W.
[0009] In this specification, the terms {LM_LA, LM_A, LM_L} and {CCLM_LT, CCLM_T, CCLM_L} are used interchangeably.
[0010] Multi-model CCLM (MMLM) In JEM (J. Chen, E. Alshina, GJ 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), a Multiple Model CCLM (MMLM) mode was proposed to predict chrominance samples from luminance samples using two models across the entire CU. In MMLM, neighboring luminance and chrominance samples of the current block are divided into two groups, each serving as a training set to derive a linear model (i.e., deriving specific α and β for a specific group). Furthermore, samples from the current luminance block are also classified according to the classification rules of neighboring luminance samples.
[0011] The threshold is calculated as the average of adjacent reconstructed brightness samples. For Rec′ L Neighboring samples with [x,y] <= the threshold are grouped into group 1; for Rec′ L The adjacent samples of [x,y]>threshold are classified into group 2.
[0012] (2) In this specification, the terms {MMLM_LA, MMLM_A} and {MMLM_LT, MMLM_T} are used interchangeably.
[0013] Convolutional Cross-Component Model (CCCM) In CCCM, a convolutional model is applied to improve chromaticity prediction performance. The convolutional model has a 7-tap filter, including a 5-tap plus sign spatial component, a nonlinear term, and a bias term.
[0014] The filter output is calculated by convolving the filter coefficients with the input values and then cropping it to the range of valid chromaticity samples.
[0015] The filter coefficients are calculated by minimizing the mean square error (MSE) between the predicted chromaticity samples and the reconstructed chromaticity samples in the reference region.
[0016] Gradient Linear Model (GLM) Compared to CCLM, GLM does not use downsampled luminance values, but instead uses the gradient of luminance samples to derive a linear model. Specifically, when applying GLM, the input to the CCLM process is the downsampled luminance samples... The gradient of the brightness sample Replacement. Other parts of CCLM (such as parameter derivation and linear transformation of predicted samples) remain unchanged: .
[0017] Figure 2 Sixteen gradient filters (210-240) are shown for gradient calculation.
[0018] Intra-block copy Intra Block Copy (IBC) is a tool used in Screen Content Coding (SCC) in HEVC Extensions. It is well known for significantly improving the encoding and decoding efficiency of screen content materials. Since IBC mode is implemented as a block-level coding mode, the encoder performs block matching (BM) to find the optimal block vector (or motion vector) for each CU. The block vector indicates the displacement of the current block to a reference block that has been reconstructed within the current image. The luma block vector of an IBC-coded CU is integer-precision, and the chroma block vector is also rounded to integer precision. When combined with AMVR, IBC mode can switch between 1-pixel and 4-pixel motion vector precision. IBC-coded CUs are considered a third prediction mode besides intra-frame or inter-frame prediction modes. IBC mode is suitable for CUs with a width and height of 64 luma samples or less.
[0019] CCCM uses non-downsampled brightness samples The CCCM mode, using a 3x2 filter and employing non-downsampled luminance samples, includes a 6-tap spatial term, four nonlinear terms, and one bias term. The 6-tap spatial term corresponds to the six adjacent luminance samples (L0, L1, ..., L5) surrounding the chrominance sample to be predicted (C). The four nonlinear terms are derived from samples L0, L1, L2, and L3, as shown below, where the positions of the non-downsampled luminance samples are as follows. Figure 3 As shown.
[0020] .
[0021] Cross-Component Residual Model (CCRM) As described in JVET-AD0108 (Pekka Astola et al., “AHG12: Cross Component Residual Model (CCRM) for Inter-Frame Prediction”, Joint Video Experts Group (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, 30th Meeting, Antalya, Turkey, 21–28 April 2023, document: JVET-AD0108), when inter-frame prediction or intra-block copy (IBC) is used for blocks, the cross component residual model (CCRM) is applied to predict chroma samples from reconstructed luminance samples. Figure 4 The decoder side of the method is shown. The cross-component filter is derived from the predicted signals of luminance and chrominance. The derived filter is applied to reconstruct the luminance signal to generate the final chrominance prediction. In step 420, the filter coefficients are derived for each chrominance component using the predicted signals (i.e., predY 410, and predCb 412 or predCr 414), and in step 430, the filter is applied to the reconstructed luminance signal, as shown... Figure 4 As shown. The reconstructed luminance signal is formed by combining the luminance prediction (PredY) 410 with the residual luminance signal (resY) using adder 422. After the filter is applied, step 430 generates filtered prediction Cb 440 and filtered prediction Cr 450. The reconstructed Cb signal is formed by combining the filtered prediction Cb 440 with the residual Cb signal (i.e., resCb) using adder 442. Similarly, the reconstructed Cr signal is formed by combining the filtered prediction Cr 450 with the residual Cr signal (i.e., resCr) using adder 452.
[0022] The proposed 8-tap filter includes six spatial luminance samples, one nonlinear term, and one bias term. The spatial luminance samples (L0,…,L5) are selected from the luminance grid, choosing the six luminance samples closest to the chromaticity position C, without downsampling. Figure 5 As shown. The predicted chromaticity values are obtained as follows: predChromaVal = c0L0+ c1L1 + c2L2 + c3L3 + c4L4 + c5L5 + c6nonlinear((L0+L3+1)>>1) + c7B, Where nonlinear is the nonlinear operator of CCCM, and B is the bias.
[0023] The filter coefficients are derived using the division-free Gaussian elimination method of ECM, and the samples are subjected to necessary offsets before the filter derivation.
[0024] When there are fewer than 64 chroma samples within a block, intra-frame reference samples are used as additional input samples for filter derivation. The CCCM design uses a maximum of 6 rows and 6 columns of intra-frame reference samples.
[0025] Intra-frame template matching Intra-Template Matching Prediction (IntraTMP) is a special intra-prediction mode that copies the best prediction block from the current frame's reconstructed portion that matches the current template. For a predefined search range, the encoder searches for the template most similar to the current template in the current frame's reconstructed portion and uses the corresponding block as the prediction block. The encoder then signals the use of this mode, and the decoder performs the same prediction operation.
[0026] Extended merge forecast In VVC, the merge candidate list contains the following five types of candidates in order: 1) Spatial MVP from the spatial neighborhood CU; 2) Time MVP from the same position CU; 3) History-based MVP from FIFO table; 4) Paired average MVP; 5) Zero motion vector (MV).
[0027] Spatial candidate derivation The derivation of spatial merge candidates in VVC is the same as in HEVC, the only difference being that the positions of the first two merge candidates are swapped. Currently, CU 610 can select a maximum of four merge candidates (B... 0, A 0, B1 and A1), these candidates are located in Figure 6 The position shown. The derivation order is B. 0, A 0, B 1, A1 and B2. Position B2 is considered only if one or more neighboring CUs of positions B0, A0, B1, and A1 are unavailable (e.g., belonging to other slices or partitions) or if it is intra-coded. After adding a candidate for position A0, the addition of the remaining candidates requires a redundancy check to ensure that candidates with the same motion information are excluded, thereby improving coding efficiency.
[0028] In addition to the spatial candidates mentioned above, non-adjacent spatial merge candidates in JVET-L0399 (Yu Han et al., “CE4.4.6: Improvement of Merge / Skip Modes”, ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 Joint Video Exploration Group (JVET), 12th Meeting: Macau, China, October 3–12, 2018, Document: JVET-L0399) are inserted after the TMVP in the regular merge candidate list. Examples of spatial merge candidate modes are shown below. Figure 7 As shown. The distance between non-adjacent space candidates and the current coding block is based on the width and height of the current coding block. Line buffer constraints do not apply.
[0029] Time Candidate Derivation In this step, only one candidate is added to the list. Specifically, in the temporal merging candidate derivation of the current CU 810, the scaling motion vector is derived based on the CU 820 at the same location, which belongs to the same location reference image, such as... Figure 8 As shown. The list of reference images and the reference indices used to derive the co-located CUs are explicitly signaled in the slice header. The scaled motion vectors of the time-merging candidates are shown in Figure 830. Figure 8 As shown by the dashed line, the motion vector 840 of the CU at the same location is obtained by scaling the POC (Image Order Count) distances tb and td, where tb is defined as the POC difference between the reference image and the current image, and td is defined as the POC difference between the reference image and the image at the same location. The reference image index of the temporal merging candidate is set to zero.
[0030] Historical Merger Candidate Derivation Historically based MVP (HMVP) merging candidates are added to the merging list after the spatial MVP and TMVP. In this method, motion information from previous coded blocks is stored in a table and used as the MVP of the current CU. The table containing multiple HMVP candidates is maintained during encoding / decoding. The table is reset (cleared) when a new CTU row is encountered. Whenever a non-subblock inter-coded CU exists, the relevant motion information is added as the last item in the table as a new HMVP candidate.
[0031] Derivation of Pairwise Average Merge Candidates Pairwise averaging candidates are generated by averaging predefined candidate pairs from an existing list of merged candidates, using the first two merged candidates. The first merged candidate is defined as p0Cand, and the second merged candidate is defined as p1Cand. The average motion vector is calculated for each reference list based on the availability of motion vectors for p0Cand and p1Cand. If both motion vectors in a list are available, they are averaged even if they point to different reference images, and their reference image is set as the reference image for p0Cand; if only one motion vector is available, that vector is used directly; if no motion vector is available, the list remains invalid. Furthermore, if the half-pixel interpolation filter indices of p0Cand and p1Cand are different, they are set to 0.
[0032] After adding pairwise average merge candidates, if the merge list is not full, insert zero MVP at the end until the maximum number of merge candidates is reached.
[0033] To improve the coding performance of the system when using the cross-component model, a method and apparatus for using self-guided cross-component prediction candidates based on self-guided cross-component prediction type, self-guided cross-component prediction model, or both are disclosed. Summary of the Invention
[0034] A method and apparatus for encoding and decoding color images or videos using an encoding / decoding tool, the encoding / decoding tool including one or more cross-component model-related modes, are disclosed. According to the method, input data associated with a current block is received, the current block including a current first color block and a current second color block, wherein the input data includes pixel data to be encoded at the encoder end, or data associated with the current block to be decoded at the decoder end, and the current block is encoded in a non-intra-frame mode. If guided cross-component prediction is applied to the current block, explicit signaling or one or more first implicit rules are applied to determine the type of guided cross-component prediction, one or more models of guided cross-component prediction, or both. Based on the type of guided cross-component prediction, one or more models of guided cross-component prediction, or both, one or more guided cross-component prediction target models are determined. The current second color block is encoded or decoded using the one or more guided cross-component prediction target models, wherein the prediction data for the current second color block is generated by applying the cross-component target models to the current first color block.
[0035] In one embodiment, for the type of the self-guided cross-component prediction, the model of the one or more self-guided cross-component predictions is identified. In one embodiment, the model of the one or more self-guided cross-component predictions is identified according to one or more second implicit rules, or according to explicit signaling at the block level, CU level, SPS level, PPS level, image level, slice level, partition level, sequence level, CTU level, or a combination thereof.
[0036] In one embodiment, the one or more self-guided cross-component prediction target models are used to generate one or more cross-component prediction hypotheses, and to generate cross-component predictions based on the one or more cross-component prediction hypotheses.
[0037] In one embodiment, after determining the type of the self-guided crossover component prediction, the one or more self-guided crossover component prediction target models are selected from the one or more models of the self-guided crossover component prediction.
[0038] In one embodiment, a type of homed cross-component prediction refers to a model that derives the one or more homed cross-component predictions based on input reference samples that include only neighboring samples of the current block, neighboring samples of the same-position luminance block of the current block, or both. In one embodiment, samples within the current block, the same-position luminance block of the current block, or both are not referenced. In one embodiment, the input reference samples include only neighboring samples of the current block, neighboring samples of the same-position luminance block of the current block, or both, with one or more exceptions. In one embodiment, the selected homed cross-component prediction type corresponds to using only or primarily using input reference samples from neighboring regions of the current block, neighboring regions of the same-position luminance block of the current block, or both. In one embodiment, the one or more homed cross-component prediction models have the same filtering term as some intra-frame cross-component models, and the filtering term is derived using only or primarily using the input reference samples from neighboring regions of the current block, neighboring regions of the same-position luminance block of the current block, or both.
[0039] In one embodiment, a type of homed cross-component prediction refers to deriving the model of one or more homed cross-component predictions based on input reference samples that include only those within the current block, the co-located luminance blocks of the current block, or both, or input reference samples that include only those within the current block, the co-located luminance blocks of the current block, or both, with one or more exceptions. In one embodiment, the selected homed cross-component prediction type corresponds to using only or primarily the input reference samples within the current block, the co-located luminance blocks of the current block, or both. In one embodiment, the model of one or more homed cross-component predictions has the same filtering term as some intra-frame cross-component models, and the filtering term is derived using only or primarily the input reference samples within the current block, the co-located luminance blocks of the current block, or both. In one embodiment, the model of one or more homed cross-component predictions includes a Cross-Component Residual Model (CCRM).
[0040] In one embodiment, the type of self-guided cross-component prediction is indicated by signaling or parsing flags.
[0041] In one embodiment, for the determined self-guided cross-component prediction type, if multiple self-guided cross-component prediction models are defined, these multiple self-guided cross-component prediction models are inserted into a candidate list in a predefined order, and the candidate list contains only self-guided models. Alternatively, one or more models are selected from the multiple self-guided cross-component prediction models as the one or more self-guided cross-component prediction target models according to predefined rules. In one embodiment, the size of the candidate list is predefined as any positive integer, or adaptively determined based on the availability of the multiple self-guided cross-component prediction models. In one embodiment, the availability of single-model cross-component residual models (CCCM) and multi-model CCCM candidate models depends on the model parameters or scaling parameters of the single-model CCCM.
[0042] In one embodiment, the predefined rule corresponds to implicitly selecting one or more models from the candidate list as the target models for the one or more self-guided cross-component predictions, or the predefined rule corresponds to selecting one or more models from the candidate list as the target models for the one or more self-guided cross-component predictions by signaling one or more explicit indices. In one embodiment, a cost is calculated for each candidate model in the candidate list, and one or more candidate models with the lowest cost are selected from the candidate list. Attached Figure Description
[0043] Figure 1A An adaptive inter-frame / intra-frame video codec system incorporating loop processing is illustrated as an example.
[0044] Figure 1B Explanation Figure 1A The decoder corresponding to the encoder.
[0045] Figure 2 The 16 gradient modes of GLM are shown.
[0046] Figure 3 This describes the 6-tap space terms corresponding to the 6 adjacent luminance samples (L0, L1, ..., L5) used to predict the chromaticity sample (C) in CCCM mode.
[0047] Figure 4 An exemplary system block diagram of the Cross Component Residual Model (CCRM) is shown.
[0048] Figure 5 The relationship between luminance samples L0, ..., L5 and chromaticity sample C is explained.
[0049] Figure 6 This describes the five adjacent blocks used to derive the VVC space merge candidate.
[0050] Figure 7 An exemplary pattern for merging adjacent and non-adjacent spaces is illustrated.
[0051] Figure 8 An example of temporal candidate derivation is illustrated, in which the scaling motion vector is derived from the POC (Picture Order Count) distance.
[0052] Figure 9 This illustrates an example of performing type flag signaling or parsing according to an embodiment of the present invention when the current block uses a re-derived CCP mode.
[0053] Figures 10A-10B This describes the derivation of the n-tap pattern of sourceTermSet0(i, j) within / around the window region M x N, at positions (iL, jL), where only the center ( Figure 10A ) and using 5x5 cross ( Figure 10B ).
[0054] Figure 11 This illustrates an example of using a Sobel filter to derive gradient information from the predicted and / or reconstructed samples of the source.
[0055] Figures 12A-12B This describes the derivation of the m-tap pattern of sourceTermSet1(i, j) within / around the window region M2 x N2, where only the center ( Figure 12A ) and using 5x5 cross ( Figure 12B ).
[0056] Figure 13 An example of an adjacent spatial region used as a reference region for the weighting setting of the self-guided cross component model is illustrated.
[0057] Figure 14 A flowchart illustrating a video codec system using self-directed cross-component prediction candidates based on the type of self-directed cross-component prediction, the model of self-directed cross-component prediction, or both, according to an embodiment of the present invention, is provided. Detailed Implementation
[0058] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures, can be arranged and designed in a variety of different configurations. Therefore, the following more detailed description of embodiments of the system and method of the present invention, as shown in the figures, is not intended to limit the scope of the invention as described in the claims, but only represents selected embodiments of the invention. References to "an embodiment," "one embodiment," or similar terms in this specification mean that a particular feature, structure, or characteristic described in relation to that embodiment may be included in at least one embodiment of the invention. Therefore, "in one embodiment" or "in one embodiment" appearing in different places in this specification do not necessarily refer to the same embodiment.
[0059] Furthermore, the described features, structures, or characteristics can be combined in any suitable manner in one or more embodiments. Those skilled in the art will recognize that the invention can be practiced without one or more specific details, or using other methods, components, etc. In other instances, well-known structures or operations are not shown or described in detail to avoid obscuring certain aspects of the invention. Embodiments of the invention can be best understood by referring to the accompanying drawings, wherein like parts are designated with the same numerals throughout the drawings. The following description is merely illustrative, briefly illustrating certain selected apparatus and method embodiments consistent with the claims of this invention.
[0060] To improve the encoding and decoding performance of cross-component prediction, methods and devices for using self-directed cross-component prediction candidates are disclosed, based on the type of self-directed cross-component prediction, the model of self-directed cross-component prediction, or both.
[0061] Cross-component information is used to improve the prediction accuracy of inter-frame blocks. To improve the prediction accuracy of the chroma components of inter-frame blocks, luminance information from the corresponding luminance component of the current chroma block, and / or chroma information from the current chroma block, and / or chroma information from previously coded chroma components are used.
[0062] The first approach is to improve the prediction of Cb and / or Cr for coding units containing luminance (Y) and chrominance (Cb and / or Cr) components (under single-tree segmentation) by applying a cross-component model to the information from Y (current reconstruction or prediction).
[0063] The second approach is to improve the prediction of Cr by applying a cross-component model to information from Cb (current reconstruction or prediction) for coding units containing luminance (Y) and chrominance (Cb and / or Cr) components (under single-tree segmentation) or for coding units containing chrominance (Cb and / or Cr) components (under chrominance dual-tree segmentation).
[0064] The following are several embodiments related to the first scheme, which use the inherited cross component mode for the current chroma block. The steps are as follows: Step (1) Construct a candidate list (modelList) for the current block, which contains cross component models; Step (2) Select one or more sets of model information from the list; Step (3) Use the model information (similar to the intra-frame chroma cross component mode) to generate one or more prediction hypotheses for the current chroma component (Cb or Cr) by applying and / or modifying the selected model information to the reconstructed or predicted samples of the corresponding luminance component.
[0065] When the selected model information refers to the traditional cross-component linear model, the proposed method is called the inter-CCLM (inter-cross-component linear model) mode. When the selected model information refers to the convolutional cross-component model derived through regression methods (such as CCCM), the proposed method is called the inter-CCCM (inter-cross-component convolutional model) mode.
[0066] Furthermore, in some embodiments, a self-derived (also known as re-derived) cross-component pattern is proposed and may be added to the candidate list in step (1). In some embodiments, the self-derived cross-component pattern is not added to the list, and the selection to use the proposed inheritance pattern and / or the proposed self-derived pattern is designed. In some embodiments, the selection to use the proposed inheritance pattern and / or the proposed self-derived pattern is determined according to explicit rules, implicit rules, or both. For more details, see the section “IV. Selection to use the proposed inheritance pattern and / or the proposed self-derived pattern”. In this description, the terms “self-derived” and “re-derived” are used interchangeably.
[0067] In one embodiment, the proposed embodiment can also be used in a second scheme, i.e., using the previously encoded chroma component (Cb) as the luminance component in the first scheme.
[0068] Model storage and inheritance In another embodiment, when the current inter-frame block uses model parameters of the self-directed cross-component mode, the model parameters used can be saved and / or referenced by subsequent coding blocks. Taking the self-directed cross-component as a cross-component residual model (CCRM) as an example, all or any subset of the model parameters can be saved. In one embodiment, if the subsequent coding block is in intra-frame mode, the saved model parameters are allowed to be used. If the subsequent coding block is in inter-frame mode or any mode type (e.g., IBC), the saved model parameters are allowed to be used. In another embodiment, if the subsequent coding block has a different mode type than the current block (e.g., one is an inter-frame block and the other is not), the saved model parameters are not allowed to be used.
[0069] In another embodiment, when the current inter-frame block uses inherited cross-component mode, the model parameters used can be saved and / or referenced by subsequent coding blocks. Taking inherited CCCM as an example, all or any subset of model parameters can be saved. In one embodiment, if the subsequent coding block is in intra-frame mode, the saved model parameters are allowed to be used. If the subsequent coding block is in inter-frame mode or any mode type (e.g., IBC), the saved model parameters are allowed to be used. In another embodiment, if the subsequent coding block has a different mode type (e.g., not an inter-frame block), the saved model parameters are not allowed to be used.
[0070] In another embodiment, when the current inter-frame block uses any cross-component model (e.g., inherited cross-component model, self-directed cross-component model, cross-component model for chroma fusion, i.e., chroma prediction based on adding one or more cross-component prediction hypotheses to one or more existing non-cross-component prediction hypotheses, or any combination thereof), the model parameters used can be saved and / or referenced by subsequent coding blocks. Taking inherited CCCM as an example, all or any subset of model parameters can be saved. In one embodiment, if the subsequent coding block is in intra-frame mode, the saved model parameters are allowed to be used. If the subsequent coding block is in inter-frame mode or any mode type (e.g., IBC), the saved model parameters are allowed to be used. In another embodiment, if the subsequent coding block has a different mode type (e.g., is not an inter-frame block), the saved model parameters are not allowed to be used.
[0071] I. Construct a candidate list containing cross-component models In one embodiment, when constructing a merged candidate model list (modelList), it includes one or more sets of candidate model information. Each candidate in the list refers to a candidate model information. The definition of model information is given in the "V.1. Inheriting CCM Information" section.
[0072] Spatial model information from spatially neighboring blocks (corresponding to "spatial MVP from spatially neighboring CUs" between frames) Temporal model information from the same location block (corresponding to the "temporal MVP from the same location CU" between frames) Historical model information from the FIFO table (corresponding to "historical MVP from the FIFO table" between frames) Pairwise average model information (corresponding to the "pairwise average MVP" between frames) Default model information (corresponding to "zero MV" between frames) In the candidate type list above, in one sub-implementation of "spatial model information from spatial neighboring blocks," a valid spatial neighboring block can come from either a spatially adjacent or non-adjacent neighboring block (or any subset within the current block's neighborhood search area), provided a predefined condition is met. For the example of a non-adjacent neighboring block, the predefined condition (e.g., validity / availability check) refers to the non-adjacent neighboring block being located within the available area of a non-adjacent spatial candidate. For example, the predefined condition is that the neighboring block is encoded using a cross-component mode or in combination with a cross-component mode. A cross-component mode refers to modes such as CCLM, MMLM, CCCM, GLM, modes that inherit mode information from a similar merged candidate list, MH CCLM, and / or any cross-component mode that belongs to a cross-component branch (containing multiple cross-component modes) and does not belong to a traditional intra-prediction mode. Combining with a cross-component mode refers to modes such as chroma fusion (or LM-assisted angle / plane mode), inter-frame CCLM, inter-frame CCCM, and / or any traditional mode whose syntax does not belong to a cross-component branch but uses cross-component information to generate predictions. In another sub-implementation, when checking the validity of neighboring coded blocks, if the validity check (e.g., the neighboring block is not in a cross-component mode or the neighboring block does not use / does not combine with a cross-component mode) is performed, the motion vector and / or block vector of the neighboring block can be used to find the cross-component model. Variations on how to use motion vectors and / or block vectors to find models can be found in the description of "Temporal Model Information from Co-location Blocks" in the candidate type list above. If a model is found, the second round of validity checks for the neighboring block is satisfied, and the found model can be inserted into the list; otherwise, the neighboring block is not suitable for insertion. When scanning spatial neighboring blocks, if a candidate is valid, the candidate is added to the list.
[0073] In another sub-implementation where the candidate type is "temporal model information from co-location blocks," in a first case, the co-location block comes from a block in a reference image or a predefined co-location image, as an inter-frame mode, using the current block position and / or the current block motion; in a second case, the co-location block comes from a block in a reference image or a predefined co-location image, as an inter-frame mode, using the current block position and / or the motion of neighboring blocks. In the first case, for example, when the current block is encoded using an inter-frame prediction mode, the co-location block is pointed to by the motion information of the current block (including motion vectors and a reference image indicated by a reference index). If the current block is a sub-block motion mode (e.g., an affine mode), each sub-block in the current block has its own co-location temporal model information. The co-location temporal model information of all or any subset pointed to by the co-location temporal information of different sub-block motions (each sub-block) is added to a list. Another example is that when the reference image indicated by the reference index differs from a predefined co-location image (which can be used for temporal motion vector prediction in inter-frame mode, or any co-location image specified in a video codec standard to store and provide motion or cross-component model information for the current block), the temporal information of the reference image is prohibited. Another example is that when the reference image indicated by the reference index differs from a predefined co-location image (which can be used for temporal motion vector prediction in inter-frame mode, or any co-location image specified in a video codec standard to store and provide motion or cross-component model information for the current block), the motion vector is scaled to point to the predefined co-location image, and the scaled motion vector is used to find the co-location block in the co-location image to obtain the cross-component model in the co-location block. The scaling process is described in the "Temporal Candidate Derivation" section. A partial example of the second case is described below. For example, the temporal model information may come from the co-location block pointed to by the motion information of neighboring blocks. Similar to the first case, either a prohibition method or a scaling method can be used. If the proposed method is applied to an IBC block or any pattern that uses block vectors (the first case is that the current block is IBC, and the second case is that the neighboring blocks are IBC), the block vector information is used as a motion vector, wherein the block vector information is determined by signaling and / or template matching (such as intraTMP) within a predefined search range and / or any implicit or explicit predefined rules.
[0074] In another sub-implementation where the candidate type is "history-based model information," a history-based table (FIFO table) is created to store model information from previous encoded blocks. This table can be reset at the beginning and / or end of a CTU, slice, image, partition, and / or sequence. One or more history-based candidates can be added to the candidate list in either head-to-tail or tail-to-head order.
[0075] In another sub-implementation where the candidate type is "pairwise averaged model information," the model information for this candidate is derived based on the model information of multiple previous candidates in the list. For example, the model parameters of multiple candidates can be averaged and / or modified as the model parameters to be applied. Another example is that multiple predictions can be combined into a final prediction, where each prediction is generated by applying a model from the candidate list.
[0076] In another sub-implementation, if the list is not full after inserting all predefined candidates, default model information is added. For example, the default model could be a CCLM model. The default alpha (or...) The value (or scaling parameter) is selected from {0, 1 / 8, -1 / 8, 2 / 8, -2 / 8, 3 / 8, -3 / 8, …}, where beta (or beta) is the scaling parameter. (b or offset parameter) is based on the selected default alpha, average neighborhood reconstructed luminance sample value, and average neighborhood reconstructed chromaticity (Cb / Cr) sample value.
[0077] In another implementation, the `modelList` is constructed to include one or more self-directed cross-component candidates. These self-directed cross-component candidates are described in the section entitled "Self-Directed Cross-Component Model". In another sub-implementation, a self-directed cross-component candidate is added only if the list does not contain enough inherited candidates. For example, a self-directed candidate is added before a default candidate or treated as a default candidate. In another sub-implementation, a self-directed cross-component candidate can be added at any predefined position in the `modelList`. For example, it can be placed after spatially adjacent candidates. Another example is placed after spatially non-adjacent candidates. Another example is placed at the beginning of the `modelList`. Another example is placed after all or any subset of temporal candidates.
[0078] After the list is constructed, in one implementation, the list is reordered according to the method defined in the "Candidate Reordering in List" section.
[0079] II. If enabled, signaling will enable or disable and select one or more model information from the list. In this section, "inter-frame CCLM" refers to "inter-frame CCLM or inter-frame CCCM".
[0080] When the proposed inter-frame CCLM (or inter-frame CCCM) is not applied, the prediction for the current block comes from the original inter-frame prediction.
[0081] In another implementation, whether or not inter-frame CCLM is applied depends on the signaling.
[0082] In another sub-implementation, when signaling instructs the application of inter-frame CCLM (or inter-frame CCCM), additional signaling is used to select one or more models from all candidates. The candidate index is referred to as modelIdx in this specification. If modelList contains all candidates (e.g., the candidates described in the section entitled "Constructing a Candidate List Containing Cross-Component Models," CCLM_LT, CCLM_L, CCLM_T, MMLM_LT, MMLM_L, MMLM_T), or any subset of candidates is reordered according to the method described in the "Reordering Candidates in the List" section, the additional signaling specifies the candidate index in the reordered list. For example, if an LM mode is selected, the LM prediction is generated from the selected LM. As another example, if multiple LM modes are selected, the LM prediction is generated by fusing the prediction hypotheses of the multiple LM modes.
[0083] In another sub-implementation, no additional signal is required, and one or more models are selected according to implicit rules. For example, the first candidate in the list is used. If the list is reordered by template cost, the first candidate is the one with the lowest template cost.
[0084] In another implementation, the original inter-frame prediction (generated by motion compensation) is used for the luminance component, and the prediction for the chrominance component is generated by CCLM and / or any other LM mode.
[0085] In another embodiment, one or more LM modes (i.e., cross-component modes) used to generate one or more prediction hypotheses for LM-assisted angle / plane mode / inter-frame CCLM / inter-frame CCCM / MH CCLM are selected from a predefined merge candidate list (i.e., modelList). A candidate is selected from the candidate list (modelList) by signaling a modelIdx, and the selected candidate is used for the current block. modelList contains one or more candidates, where each candidate refers to a model (or cross-component mode) information. If there is only one candidate in the list (i.e., the list size is 1), modelIdx is not signaled, and / or can be inferred to be 0 or a default value. In one embodiment, modelIdx is implicitly determined, or one or more models used for the current block are determined without signaling modelIdx. For example, the first candidate in the list is used. If the list is reordered according to template cost, the first candidate is the candidate with the lowest template cost. Another example is that the candidate / model to be used is implicitly selected from the list based on the encoding and decoding information of the block to be used, using predefined rules. This embodiment is referred to as "noteA".
[0086] The method described above can also be applied to IBC blocks or blocks with any IBC sub-mode (e.g., IBC merging, IBCAMVP, or any IBC mode under an IBC syntax). The term "inter-frame" in this invention can be changed to IBC. That is, for chroma components, block vector prediction can be combined with or replaced by cross-component prediction.
[0087] III. Use model information to generate one or more prediction hypotheses for the current chromaticity component. III.1. Concept In one embodiment, a predictive hypothesis is generated for the current chromaticity component using a prediction- or reconstruction-based model.
[0088] In one sub-implementation of the prediction-based linear model, the derived model parameters are applied to the predicted samples of the first component (Y) to obtain the predicted samples of the second or third component.
[0089] The predicted sample of the first component is downsampled by a downsampling filter, which can be fixed to a predefined filter or selected from some candidate filters.
[0090] In another sub-implementation of the reconstruction-based linear model, the derived model parameters are applied to the reconstructed samples of the first component (Y) to obtain predicted samples of the second or third component.
[0091] The reconstructed sample of the first component is downsampled by a downsampling filter, which can be fixed to a predefined filter or selected from some candidate filters.
[0092] The prediction- or reconstruction-based convolutional model is similar to the proposed prediction- or reconstruction-based linear model method. The main difference is that the model coefficient pattern follows the cross-component convolutional model (CCCM) (rather than the cross-component linear model (CCLM)), and the brightness samples can be downsampled or not.
[0093] In another embodiment, multiple cross-component prediction hypotheses (MHs) are fused, or multiple models are used to generate a single prediction hypothesis for the current block. A multi-hypothesis cross-component linear model (MH CCLM) is proposed to fuse predictions from multiple cross-component linear model (CCLM) methods. "CCLM method" can refer to all cross-component modes. The CCLM methods to be fused can be derived from (but are not limited to) the CCLM methods mentioned above (e.g., CCLM, MMLM, CCCM, GLM, CCRM, etc.) and / or models defined in the embodiments described in note A. A weighted scheme is used for fusion.
[0094] III.2. CCLM of Inter-Frame Blocks "Inter-block CCLM" can also be called "inter-frame CCLM", and "CCLM" can be extended to any LM mode (or any cross component mode) or replaced with any LM mode (or any cross component mode). When a convolutional cross component model derived by regression methods is used, inter-block CCLM can also be called inter-frame CCCM.
[0095] In one embodiment, for the chroma component, in addition to the original inter-frame prediction (generated by motion compensation, which may be a single prediction and / or a dual prediction, derived from multiple prediction hypotheses from multiple motion candidates, which may refer to one or more merge candidates, one or more AMVP candidates, any combination of the above, or just a single prediction), one or more prediction hypotheses (generated by CCLM and / or any other LM mode, CIIP, regular inter-frame merge mode, GPM, or GPM variants) are used to generate the current prediction.
[0096] In one sub-implementation, the current prediction is a weighted sum of inter-frame prediction and CCLM prediction.
[0097] In another embodiment, inter-frame CCLM is supported only when the current block uses one or more predefined inter-frame modes, or when the enable flag of one (or more) predefined inter-frame modes is indicated as enabled. Supporting inter-frame CCLM means that the prediction of the current block can choose whether or not to apply inter-frame CCLM.
[0098] Another example is that if a CCLM mode is used to generate chroma prediction samples, and luma prediction comes from inter-frame encoding / decoding tools, a flag is used to indicate whether the CCLM model used for chroma prediction is inherited from a CCLM model used in a previous coded block, or whether the CCLM model is from a predetermined CCLM mode. If the CCLM model is inherited from a CCLM model used in a previous coded block, an index is used to indicate the inherited or modified model in the list. Otherwise, the CCLM model for the current chroma prediction is implicitly derived using a predetermined CCLM mode.
[0099] IV. Choose to use the proposed inheritance pattern and / or the proposed self-guided pattern. In one embodiment, a flag can be signaled to indicate / select whether to use a re-derived model. If the flag is 0, the cross-component model used to encode neighbor merge candidates is inherited. If the flag is 1, the re-derived method is used.
[0100] In another embodiment, if it is determined that a re-derivation method is to be used, additional syntax elements (such as an additional flag) and / or some implicit rules are used to determine the type of the re-derivation method and / or one or more models of the re-derivation method.
[0101] - One candidate type of re-derivation method might correspond to the input reference sample (used in the model derivation process of the re-derivation method) being only the neighboring samples of the current block and / or the neighboring samples of the same-position luminance block in the current block, without referencing sample information within the current block and / or sample information within the same-position luminance block in the current block. In other words, the input reference sample only includes the neighboring samples of the current block and / or the same-position luminance block in the current block.
[0102] - Another candidate type of re-derivation method may correspond to the input reference sample (the model derivation process used for the re-derivation method) being sample information located only within the current block and / or within the same position brightness block of the current block.
[0103] - Another candidate type of re-derivation method might correspond to the input reference sample (used in the model derivation process of the re-derivation method) including only samples within the current block and / or within the same-position luminance block of the current block, with some exceptions (i.e., the input reference sample is primarily located within the current block and / or within the same-position luminance block of the current block). Only in certain special cases (i.e., these exceptions) will the input reference sample include neighboring samples of the current block and / or its same-position luminance blocks. Special cases may refer to the current block's width, height, and / or area being less than a predefined threshold. In other words, if the current block's width, height, and / or area is less than a predefined threshold, then neighboring samples of the current block and / or its same-position luminance blocks will be included. Another special case may refer to downsampled luminance at the boundary of the same-position luminance block of the current block. In other words, downsampled luminance samples at the outer boundary of the same-position luminance block of the current block will be included.
[0104] - Another candidate type of re-derivative method is where the input reference samples (used in the model derivation process of the re-derivative method) only include neighboring samples of the current block and / or neighboring samples of the same-position luminance block of the current block, with some exceptions (i.e., the input reference samples (used in the model derivation process of the re-derivative method) are primarily located in the neighboring samples of the current block and / or neighboring samples of the same-position luminance block of the current block). Only in certain special cases (i.e., as these exceptions) will the input reference samples (used in the model derivation process of the re-derivative method) include samples within the current block and / or within the same-position luminance block of the current block. Special cases can refer to the position, width, height, and / or area of the current block. In other words, if the width, height, and / or area of the current block is less than a predefined threshold, then samples within the current block and / or within the same-position luminance block of the current block are included. A special case can also be that the position of the current block results in insufficient available reference samples in its neighboring regions and / or in the neighboring regions of the same-position luminance block of the current block. In other words, if sufficient neighboring region reference samples cannot be obtained due to the current block's location (e.g., the current block's x-position, y-position, or distance to (0,0) is less than a threshold), then samples within the current block and / or within the same-location luminance block of the current block are included. A special case may also refer to downsampled luminance at the boundary of the same-location luminance block of the current block. That is, downsampled luminance samples at the boundary of the same-location luminance block of the current block will be included.
[0105] All candidate types of the re-derived method (i.e., all candidate types of the re-derived method) can be all or any subset / extension / combination of the above candidate types.
[0106] After the type is determined, multiple candidate models (i.e., cross-component models) are fixed (defined) for that type. These candidate models are defined according to implicit rules and / or explicit signaling definitions at the block, CU, SPS, PPS, image, slice, partition, sequence, and / or CTU levels. The determined type can correspond to one or more candidate models. In other words, after determining the type of the re-derivation method, one or more models can be selected from multiple candidate models. After selecting one or more models from the candidate models, one or more cross-component prediction hypotheses are generated using the selected models. The final prediction for the current block will be formed using one or more cross-component prediction hypotheses. The final prediction for the current block can be a weighted average prediction of a motion-compensated predictor (generated using motion vector information and / or block vector information) and a cross-component predictor generated based on one or more cross-component prediction hypotheses. The final prediction for the current block can also be a weighted average prediction based solely on one or more cross-component prediction hypotheses.
[0107] In one sub-implementation, signaling is performed via explicit syntax elements (e.g., flags) to indicate the selected type. For example, the selected type corresponds to the input reference sample (used in the model derivation process for the re-derivation method) originating only (or primarily) from the current block and / or its co-located luminance blocks (within the current block). As another example, the selected type corresponds to the input reference sample (used in the model derivation process for the re-derivation method) originating only (or primarily) from the current block and / or its co-located luminance blocks, adjacent to the current block. Figure 9 An example according to the above embodiment is shown, wherein in step 910, the type flag of the current block using the re-derived CCP mode is resolved. When the type is "current", the corresponding index is resolved in step 920. Step 940 shows multiple candidate models defined for the "current" type. The multiple candidate models are derived by input reference samples that include only or mainly samples within the current block and / or within co-located luminance blocks of the current block. In step 950, one or more self-guided cross component models are selected from the multiple candidate models shown in step 940. When the type is "adjacent", the corresponding index is resolved in step 930. Step 970 shows multiple candidate models defined for the "adjacent" type. The multiple candidate models are derived by input reference samples that include only or mainly samples within the current block and / or adjacent regions of co-located luminance blocks of the current block. In step 960, one or more self-guided cross component models are selected from the multiple candidate models shown in step 970.
[0108] For examples where the model derivation uses only (or primarily) input reference samples within the current block and / or within the same location brightness block of the current block: - One candidate model is the Cross Component Residual (CCRM) model, whose filtering terms include 6 spatial brightness samples, a nonlinear term, and a bias term.
[0109] Other candidate models can be those with a uniform filter term that is identical to all or any subset of available models of the intra-frame cross-component model. When performing model derivation (compiling filter coefficient values), the input reference samples used for model derivation are derived only (or primarily) from the current block and / or its co-located luma blocks (following the defined type). That is, other candidate models can have the same filter term as certain intra-frame cross-component models, such as CCLM, CCCM, MMLM, GLM, and MDF-CCCM. The filter term is derived using only or primarily the input reference samples within the current block and / or its co-located luma blocks, and is constrained by the selected re-derivation method type.
[0110] - All candidate models here (i.e. all defined candidate models) can be all or any subset / extension / combination of the candidate models mentioned above.
[0111] Another example of model derivation using reference samples from adjacent regions of the current block and / or the same-position brightness block of the current block only (or primarily): One or more candidate models may have filter terms consistent with all or any subset of available intra-frame cross-component models. When performing model derivation (compiling filter coefficient values), the input reference samples used for model derivation are derived only (or primarily) from the adjacent regions of the current block and / or the same luma blocks in the current block (following the determined type). In other words, one or more candidate models may have the same filter terms as certain intra-frame cross-component models, such as CCLM, CCCM, MMLM, GLM, and MDF-CCCM. The filter terms are derived using only or primarily from the input reference samples of the adjacent regions of the current block and / or the same luma blocks in the current block, and are constrained by the selected re-derivation method type.
[0112] - All candidate models here (i.e. all defined candidate models) can be all or any subset / extension / combination of the candidate models mentioned above.
[0113] In another sub-implementation, where the determined type contains only one model, that model is used to generate a cross-component prediction hypothesis.
[0114] In another sub-implementation, if the determined type contains multiple candidate models, one or more models are selected according to predefined rules.
[0115] In one sub-implementation, multiple candidate models can be placed in a list in any predefined order, containing only the re-derived models. For example, the predefined order is single-model CCCM, multi-model CCCM, CCLM, and then MMLM.
[0116] In one sub-implementation, the size of the list can be fixed (i.e. predefined) to any positive integer, or adaptively determined based on the availability check of the candidate model.
[0117] In one sub-implementation, the availability checks for single-model CCCM, multi-model CCCM, CCLM, and MMLM are described below: The availability of candidate models for single-model CCCM and multi-model CCCM depends on the model parameters of the single-model CCCM. Single-model and multi-model CCCM candidate models are available in the CCP merge list only if any one of the first six parameters of the single-model CCCM is non-zero for Cb or any one of the first six parameters of the single-model CCCM is non-zero for Cr.
[0118] Similarly, the availability of candidate models for both single-model CCLM and multi-model CCLM depends on the scaling parameters of the single-model CCLM. Single-model and multi-model CCLM candidate models are available in the CCP merge list only if the scaling parameters for Cb or Cr of the single-model CCLM are non-zero.
[0119] In another sub-implementation, predefined rules select one or more models from a list by signaling one or more explicit indexes.
[0120] Indexes can be encoded using variable-length encoding. In one example, an index can use truncated unary encoding. For instance, an index with the shortest codeword points to the model at the beginning of the list, while an index with the longest codeword points to the model at the end of the list.
[0121] In another example, a cost (e.g., template cost) is calculated for each candidate in the list, and the list is reordered based on the cost. The model with the shortest codeword index pointing to the front of the list and the lowest cost is selected. The model with the longest codeword index pointing to the end of the list and the highest cost is selected.
[0122] In another example, a cost (e.g., template cost) is calculated for a subset of candidates in the list, and the candidates in that subset are reordered based on their costs, while the remaining candidates in the list are not reordered. The model with the shortest codeword index points to the front of the list. The model with the longest codeword index points to the end of the list.
[0123] In another example, when calculating costs, preference settings can be used to adjust the costs. In yet another example, preference settings correspond to certain preferred models (e.g., CCCM-related models or any preferred definition in any video codec standard) that can reduce the costs of these models, making the preferred model have a lower cost.
[0124] In another sub-implementation, predefined rules implicitly select one or more models from a list. A cost (e.g., template cost) is calculated for each candidate in the list. One or more models with lower costs are selected from the list. Preference settings can be used to adjust the costs when calculating them. For certain preferred models (e.g., CCCM-related models or any preferred definition in any video codec standard), the costs of these models can be reduced, resulting in preferred models with lower costs.
[0125] In another sub-implementation, when it is determined that a (selected) type is to be used, one or more predefined models from another (unselected) type can still be used to generate one or more cross-component prediction hypotheses, and these hypotheses can be combined with those of one or more selected models belonging to the selected type. For example, when the selected type indicates that model derivation uses only (or primarily) reference samples from adjacent regions of the current block and / or co-located luminance blocks of the current block, the predefined model from another type could be a Cross-Component Residual Model (CCRM), and CCRM predictions can be generated using the CCRM. The CCRM predictions will be combined with the prediction hypotheses of the selected models belonging to the type that indicates that model derivation uses only (or primarily) reference samples from adjacent regions of the current block and / or co-located luminance blocks of the current block. When performing combination, the weights can be fixed (e.g., equal weights and / or any non-equal fixed values to prioritize any predefined model), and / or the weights can vary according to implicit rules (e.g., the cost of the model, storage model information of any predefined coding block, block width, block height and / or block area) and / or explicit rules (e.g., signaling information of any predefined coding block and / or signaling syntax elements of the current block).
[0126] In another implementation, a list containing only the re-derived model is constructed.
[0127] In one implementation, the list contains several candidates that use only (or primarily) input reference samples from the current block and / or the co-located luminance blocks of the current block for model derivation, and / or several candidates use only (or primarily) input reference samples from adjacent regions of the current block and / or the co-located luminance blocks of the current block for model derivation.
[0128] In one sub-implementation, all or any subset of the methods for `modelList` can be applied here. For example, a cost is calculated for each candidate in the list. When calculating the cost, preference settings can be used to adjust the cost. For certain preferred models (e.g., CCCM-related models or any preferred definition in any video codec standard), the cost of these models can be reduced, resulting in preferred models with lower costs. One or more candidates with lower costs can be implicitly selected, or one or more candidates can be selected from the cost reordering list by signaling one or more explicit indices. After selecting one or more models from the candidate list, one or more cross-component prediction hypotheses are generated using the selected one or more models respectively. The final prediction for the current block will be formed using one or more cross-component prediction hypotheses. The final prediction for the current block can be a weighted average prediction of a motion-compensated predictor (using motion vector information and / or block vector information) and a cross-component predictor based on one or more cross-component prediction hypotheses. The final prediction for the current block can also be a weighted average prediction based solely on one or more cross-component prediction hypotheses. In one sub-implementation, CCRM predictions will be combined with prediction assumptions of a selected model that uses only (or primarily) reference samples from neighboring regions for model derivation, and / or CCRM predictions will be combined with prediction assumptions of a selected model that does not belong to CCRM.
[0129] In another implementation, if a re-derivative candidate model requires neighboring samples for model derivation, the re-derivative candidate model is invalid, not added to the candidate list, or not allowed to be selected if the required neighboring samples are unavailable or inaccessible. For example, if a re-derivative candidate model requires neighboring samples for model derivation, but the left and top neighboring samples are outside the current image / slice boundaries, the re-derivative candidate model is invalid, not added to the candidate list, or not allowed to be selected. Another example is if a re-derivative candidate model requires neighboring samples for model derivation, but the neighboring samples are outside the reference buffer or adjacent reconstruction buffer, the re-derivative candidate model is invalid, not added to the candidate list, or not allowed to be selected. Yet another example is if a re-derivative candidate model requires neighboring samples for model derivation, but the required neighboring samples are unavailable or inaccessible, the re-derivative candidate model is replaced by another candidate model.
[0130] In another implementation, if it is determined that a re-derivation method is used, the first model type derived using the current reference sample and the second model type derived using adjacent reference samples are not the same. For example, the first model type and the second model type are a single-model LM and a multi-model LM, or a multi-model LM and a single-model LM, respectively. Another example is that the first model type and the second model type are a two-parameter LM model (e.g., the model parameters consist of scaling and offset parameters) and a convolutional LM model (e.g., CCCM, GL-CCCM, NS-CCCM, MDF-CCCM), or a convolutional LM model and a two-parameter LM model, respectively.
[0131] In another implementation, implicit rules (without additional flags) are used to determine whether to use a re-derived model.
[0132] In another implementation, if no model can be inherited during the construction of modelList, or if spatially adjacent / non-adjacent candidates, historical candidates, temporal candidates, or all or any subset of those mentioned in this invention (e.g., prior to the default candidate) are unavailable, then a re-derived model is used.
[0133] In another implementation, when employing the proposed inheritance method, the candidate with the lowest cost (e.g., the first candidate in the modelList) is implicitly selected to generate cross-component predictions. Another example is selecting one or more candidates from the modelList via signaling indexing. Further details can be found in Section 2.
[0134] V. Details of the cross-component patterns (including model information) in the candidate list V.1. Inheriting CCM Information In one implementation, inherited cross-component model (CCM) information can be stored along with inherited model parameters. CCM information can be inherited along with the inherited model parameters. Prediction for the current block can be generated based on the inherited CCM information and the inherited model parameters. CCM information may include, but is not limited to, prediction patterns (e.g., CCLM, MMLM, CCCM, two-parameter GLM, three-parameter GLM (GLM model with a luminance term), model indices indicating which model shape is used in the convolutional model, classification thresholds for multiple models, information indicating the use of non-downsampled samples in the convolutional model, downsampling filter flags (whether downsampling is performed), downsampling filter indices when multiple downsampling filters are used, adjacent row numbers for deriving the model, template types for deriving the model, post-filter flags, and model parameters.
[0135] In one embodiment, a hybrid cross-component residual model (CCCM) consisting of various terms (e.g., spatial, gradient, positional, nonlinear, and bias terms) can be inherited. In addition to storing model parameters, prediction patterns can be stored in the CCM information to indicate that the inherited model is a hybrid CCCM model composed of various terms. If multiple types of hybrid CCCM models exist, model indexes can also be stored in the CCM information to indicate which type of hybrid CCCM model is being inherited. For example, the gradient and location-based convolutional cross-component model (GL-CCCM) for intraprediction, proposed in JVET-AB0119 (Ramin G. Youvalari et al., “Non-EE2: Gradient and location based convolutional cross-component model (GL-CCCM) for intraprediction”, ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29 / WG 11 Joint Video Exploration Group (JVET), 28th Meeting, Mainz, Germany, October 20-28, 2022, document: JVET-AB0119), is a hybrid CCCM model that includes a spatial term for the central location, two gradient terms for the horizontal and vertical directions, two location terms X and Y for the relative horizontal and vertical locations, a nonlinear term, and a bias term. Predictive patterns can be stored in the CCM information to indicate that the inherited model is a GL-CCCM model.
[0136] VI. Constructing the Candidate List VI.1. Reorder the candidates in the list. Candidates in the list can be reordered to reduce the syntax overhead of the signaling selected candidate index, or the syntax of the signaling selected candidate index can be bypassed by using implicit rules to select one or more candidates.
[0137] In one embodiment, the reordering rule may rely on the encoding information or model error of adjacent blocks. For example, if the adjacent upper or left block is encoded using a multi-model luminance model (MMLM), then an MMLM candidate in the list may be moved to the head of the current list.
[0138] In one embodiment, the reordering rule is based on model error, which is achieved by applying a candidate model to the neighboring templates of the current block and then comparing the error with the reconstructed samples of the neighboring templates.
[0139] VII. Self-guided cross-component model In one embodiment, an example of a self-guided cross-component model is the Cross-Component Residual Model (CCRM). When self-guided, the model (filter shape / mode, parameter terms) is unified with the cross-component model in a regular intra-frame mode. For example, the CCRM model can be unified with any predefined existing intra-frame cross-component model (e.g., CCCM using non-downsampled luma samples, Gradient Luma Model (GLM), Multi-Model Luma Model (MMLM)), and / or self-guided simply means that the inputs for deriving the model parameters come from the current chroma and luma samples at the same location (e.g., motion compensation results if the current block is inter-frame).
[0140] In another embodiment, the self-guided cross-component candidate refers to one or more models used to generate cross-component predictions for the current block, as shown below. The cross-component predictions for the current block (used to generate target prediction samples) are formed by combining one or more proposed source terms and models (referring to the proposed weighting settings). As shown in Equation (3), pred(i, j) is the target (predicted) sample in the current block, which can be obtained through our proposed mechanism, sourceTermSet0 includes one or more source terms from the luma component, sourceTermSet1 includes one or more source terms from the chroma component, and biasTermSet includes one or more bias terms.
[0141] Equation (3) is merely an example; our proposed mechanism can use any subset or extension of sourceTermSet0, sourceTermSet1, and biasTermSet. Each sample or arbitrary subset of samples in the current block obtains its target (predicted) sample according to Equation (3). Hereinafter, the contents of sourceTermSet0 are described in Section VII.1 “Contents of sourceTermSet0(i, j),” the contents of sourceTermSet1 are described in Section VII.2 “Contents of sourceTermSet1(i, j),” the contents of biasTermSet are described in Section VII.3 “Contents of biasTermSet,” and the predictor derivation using the proposed source terms and weighting settings is described in Section VII.4 “Predictor Derivation for Sample (i, j). Several examples employing our proposed mechanism are shown in Section VII.4 “Predictor Derivation for Sample (i, j).”
[0142] pred(i, j) = (sourceTermSet0(i, j) + sourceTermSet1(i, j) + … + biasTermSet) with the proposed weights, where (i, j) is the sample position of the current block. (3) VII.1. Contents of sourceTermSet0(i, j) `sourceTermSet0(i, j)` includes one or more luminance source terms, denoted as `sourceTerm00`, `sourceTerm01`, ..., and / or `sourceTerm0n-1`. The value of `n` represents the number of taps in the source term set.
[0143] In one embodiment, the source term can be a linear term and / or a nonlinear term, a linear term only, and / or a nonlinear term only.
[0144] In another embodiment, n is a predefined value, such as 1, 2, ... or any positive integer. For example, the predefined value is fixed.
[0145] In another embodiment, n is determined by the encoding information of the current block and / or the sample position (i, j). For example, when the current block is encoded using a specific codec tool, n can be a predefined value for that specific codec tool.
[0146] In another embodiment, the pattern of n taps refers to any subset of the M x N window region surrounding / containing the position (iL, jL), such as Figure 10A As shown. If the target sample is luminance, then (iL, jL) is (i, j). If the target sample is chrominance (e.g., Cb or Cr), then (iL, jL) is the luminance position of (i, j) at the same location.
[0147] In one example, only the window center (iL, jL) is used, such as Figure 10A As shown.
[0148] In another example, the pattern is a 5x5 intersection, including or excluding (iL, jL), such as Figure 10B As shown.
[0149] For a source item in the source item set, the following examples are used to determine the generation of source content.
[0150] In one embodiment, the source content is based on a prediction sample generated by a prediction model and / or a reconstruction sample generated based on the prediction sample, the prediction model, and the reconstruction residual.
[0151] In another sub-implementation, the source content is a filtered source or a source that has undergone arbitrary preprocessing. For example, the source content is a predicted / reconstructed sample filtered by a predefined model or filter.
[0152] In another sub-implementation, the source content is gradient information from the predicted and / or reconstructed samples. If the target sample (i, j) belongs to chroma, and the brightness sample at the same location (as the center circle) uses... Figure 11 The gradient information is calculated using any Sobel filter (1110-1140) or any predefined filter. Each value around the central circle is multiplied by the corresponding predicted / reconstructed sample in the brightness block at the same location, and then summed to form the gradient information of the source term of the target sample (i, j).
[0153] In another sub-implementation, since the target sample is a chroma sample (e.g., Cb or Cr), the predicted and / or reconstructed samples are located within the same (luminance) block as the current (chroma) block. The predicted and / or reconstructed samples serve as initial samples, used as source content to generate the target sample.
[0154] In another embodiment, the source item may also include position information. For example, if the target sample refers to luminance, then the horizontal position (i) of (i, j) is used for the source item, and the vertical position (j) of (i, j) is used for the source item; otherwise, the horizontal position of the luminance block at the same position as (i, j) is used for the source item, and the vertical position of the luminance block at the same position as (i, j) is used for the source item.
[0155] In another embodiment, the source term may also include positional information. For example, if the target sample refers to chromaticity, then the horizontal position of the luminance at the same position (i, j) is used as the source term, and the vertical position of the luminance at the same position (i, j) is used as the source term.
[0156] VII.2. Contents of sourceTermSet1(i, j) SourceTermSet1(i, j) contains one or more chromaticity (Cb or Cr) source terms, denoted as sourceTerm00, sourceTerm01, ..., and / or sourceTerm0m-1. The value of m represents the number of taps in the source term set. In one embodiment, a source term can be a linear term and / or a non-linear term, only a linear term, and / or only a non-linear term. In another embodiment, m is a predefined value, such as 1, 2, ..., or any positive integer. For example, the predefined value is fixed.
[0157] In another embodiment, m is determined based on the encoding / decoding information of the current block and / or the sample position (i, j). For example, when the current block is encoded by a specific encoding / decoding tool, m is fixed to a predefined value for that specific tool.
[0158] In another embodiment, the pattern of the m-tap refers to the pattern defined by any subset of the M2 x N2 window region surrounding / containing position (iC, jC), such as Figure 12A As shown. If the target sample is chromaticity (Cb or Cr), then (iC,jC) is (i, j). If the target sample is luminance, then (iC, jC) is the chromaticity position obtained from (i, j).
[0159] For example, such as Figure 12A As shown, only the center (iC, jC) of the window is used.
[0160] Another example of a 5x5 cross pattern: (containing or not containing (iC, jC)), such as Figure 12B As shown.
[0161] For a source item in the source item set, the following examples are used to determine the generation of source content.
[0162] In one embodiment, the source content is based on a prediction sample generated by a prediction model and / or a reconstruction sample generated based on the prediction sample, the prediction model, and the reconstruction residual.
[0163] In another sub-implementation, the source content is a filtered source or a source that has undergone arbitrary preprocessing. For example, the source content is a predicted / reconstructed sample filtered by a predefined model or filter.
[0164] In another sub-implementation, the source content is gradient information from the predicted and / or reconstructed samples. If the target sample (i, j) belongs to luminance, the gradient information of the chrominance sample at the same location is calculated using an arbitrary Sobel filter or an arbitrary predefined filter.
[0165] In another sub-implementation, if the target sample is a chroma sample, the predicted and / or reconstructed samples are located within the current block. The predicted and / or reconstructed samples are treated as initial samples and used as source content to generate the target sample.
[0166] In another embodiment, the source item may also include location information. For example, if the target sample refers to chroma, then the horizontal position (i) of (i, j) is used for the source item, and the vertical position (j) is used for the source item.
[0167] VII.3. Contents of the Bias Term Set The bias term is a predefined value. In one embodiment, the bias term is the midValue based on the bit depth (bitDepth). For example, the bias term is set to... In another embodiment, the bias term is the same for each sample in the current block. That is, the bias term is independent of the position (i, j).
[0168] VII.4. Derivation of the predictor for sample (i, j) VII.4.1. Suggested Weighting Settings The proposed weighting setting estimates the relationship between "predicted and / or reconstructed samples on the current (chroma) block reference region" and "predicted and / or reconstructed samples on the corresponding luma block reference region" using a predefined regression method (e.g., minimizing distortion), and generates weights (referring to model parameters) based on the regression method. The derived weights are then applied to the source terms to obtain the target (predicted) samples in the current block. In one embodiment, the predefined regression method may be a linear minimum mean square error (LMMSE) method for a cross-component linear model (CCLM), or any method uniform with the regression method used for CCLM. In another embodiment, the predefined regression method may be an LDL decomposition method for a cross-component convolutional model (CCCM), or any method uniform with the regression method used for CCCM. In yet another embodiment, the predefined regression method may be Gaussian elimination.
[0169] In one embodiment, the reference region of the current block is the spatial neighborhood region 1310 of the current block, such as... Figure 13 As shown. The spatial neighborhood of the current block includes the upper reference region 1320, the left reference region 1330, the upper left reference region 1340, and / or any subset thereof. The size of the upper reference region is A. w xA H The size of the reference region on the left is L. w xL H The size of the upper left reference region is AL. W xAL H ,in A w = Current block width (W), k*W, W + current block height (H), any predefined value, or any adaptive value based on the current block's position, block width, block height, and / or block area.
[0170] A H or AL H = H, any predefined value (1, 2, 4, ...), or any adaptive value based on the current block's position, block width, block height, and / or block area.
[0171] L W or AL W = W, any predefined value (1, 2, 4, ...), or any adaptive value based on the current block's position, block width, block height, and / or block area.
[0172] L H= H, k*H, H + W, any predefined value, or any adaptive value based on the current block's position, block width, block height, and / or block area.
[0173] The reference area for a corresponding luminance block is the spatial neighborhood of that luminance block.
[0174] In another embodiment, the reference region of the current block is the vector co-location region of the current block, and the reference region of the corresponding luma block is the vector co-location region of the corresponding luma block. For an inter-frame coding unit containing luma and chroma blocks, the vector co-location region of the current block refers to the motion compensation result obtained using the motion information (motion vector and reference image) of the current block, and the vector co-location region of the corresponding luma block refers to the motion compensation result obtained using the motion information (motion vector and reference image) of the corresponding luma block. For IBC or intra-frame TMP, the vector co-location region of the current block refers to the motion compensation result obtained using the motion information (e.g., block vector and current image) of the current block, and the vector co-location region of the corresponding luma block refers to the motion compensation result obtained using the motion information (e.g., block vector and current image) of the corresponding luma block.
[0175] In another embodiment, the two current block reference regions proposed above can be used simultaneously. For example, typically when deriving model parameters, samples in the vector-location region of the current block are used as input samples; however, for smaller blocks, samples in the spatial neighborhood reference region are used as additional input samples when deriving model parameters.
[0176] In this invention, "block" can refer to transform unit / transform block (TU / TB), coding unit / coding block (CU / CB), prediction unit / prediction block (PU / PB), or coding tree unit / coding tree block (CTU / CTB).
[0177] In this invention, "LM" can be considered a cross-component linear model / multi-model linear model (CCLM / MMLM) mode, or any other extension / variation of CCLM (such as the CCLM extension / variation proposed in this invention). One variant is the multi-model linear model (MMLM), which uses thresholds for different samples of the current chroma component to determine different models. Another variant, for Cb (or Cr), derives model parameters from multiple co-located luminance blocks. More possible variants are shown below. The CCLM variant here means that when a block indicates the use of one of the cross-component modes (e.g., CCLM_LT, MMLM_LT, CCLM_L, CCLM_T, MMLM_L, MMLM_T, and / or an intra-prediction mode that is not one of the traditional DC, planar, and angular modes), several optional modes can be selected for the current block. An example of using the convolutional cross-component mode (CCCM) as an optional mode is shown below. When this optional mode is applied to the current block, chroma predictions are generated using the cross-component information of the model containing nonlinear terms. Optional modes can follow the template selection of CCLM, so the CCCM family includes CCCM_LT, CCCM_L, and / or CCCM_T.
[0178] The method proposed in this invention (for CCLM) can be used for any other cross component mode.
[0179] Any combination of the methods proposed in this invention can be applied.
[0180] Any of the above-described methods using homed cross-component prediction candidates, based on the type of homed cross-component prediction, the model of homed cross-component prediction, or both, can be implemented in the encoder and / or decoder. For example, any proposed method can be implemented in the inter-frame, intra-frame, prediction, IBC, transform, quantization modules or combinations thereof at the encoder end, and / or in the inter-frame, intra-frame / prediction, IBC, transform, quantization modules or combinations thereof at the decoder end. Alternatively, any proposed method can also be implemented as circuitry connected to the inter-frame, intra-frame, prediction, transform, quantization modules or combinations thereof at the encoder end, and the inter-frame, intra-frame, prediction, IBC, transform, quantization modules at the decoder end, to provide the necessary information to the inter-frame / intra-frame / prediction / IBC / transform / quantization modules.
[0181] As described above, methods using voluntary cross-component prediction candidates, based on the type of voluntary cross-component prediction, the model of voluntary cross-component prediction, or both, can be implemented at the encoder or decoder level. For example, any proposed method can be implemented in the intra / inter-frame coding module of the decoder (e.g., Figure 1B Intra-prediction 150 / MC 152 in the encoder or intra / inter-coding modules in the encoder (e.g. Figure 1AThe intra-frame prediction 110 / inter-frame prediction 112 is implemented in the code. Any proposed propagation cross-component prediction can also be implemented as circuitry connected to the intra-frame / inter-frame coding modules of the decoder or encoder. However, the decoder or encoder can also implement propagation cross-component prediction processing using additional processing units. While the intra-frame prediction / motion compensation unit (e.g.) Figure 1A Units 110 / 112 and Figure 1B Units 150 / 152 in the diagram are shown as independent processing units, which may also correspond to executable software or firmware code stored on a medium, such as a hard disk or flash memory, for a central processing unit (CPU) or a programmable device (e.g., a digital signal processor (DSP) or a field programmable gate array (FPGA)).
[0182] Figure 14 A flowchart illustrating a video codec system using steered cross-component prediction (SCR) candidates based on a type of SCR, a model of SCR, or both, according to embodiments of the present invention is presented. The steps shown in the flowchart can be executed as program code on one or more processors (e.g., one or more CPUs) at the encoder or decoder. The steps shown in the flowchart can also be implemented in hardware, such as one or more electronic devices or processors arranged to execute the steps in the flowchart. According to the method, in step 1410, input data associated with the current block is received, the current block including a current first color block and a current second color block, wherein the input data includes pixel data to be encoded at the encoder or data associated with the current block to be decoded at the decoder, and the current block is encoded in a non-intra-frame mode. If SCR is applied to the current block, in step 1420, explicit signaling or one or more implicit rules are applied to determine the type of SCR, one or more models of SCR, or both. In step 1430, one or more target models of SCR are determined based on the type of SCR, one or more models of SCR, or both. In step 1440, the current second color block is encoded or decoded using one or more self-guided cross component prediction target models, wherein when a target cross component prediction candidate is selected to encode the current second color block, the prediction data of the current second color block is generated by applying the corresponding cross component model to the current first color block.
[0183] The flowchart shown is intended to illustrate a video encoding / decoding example according to the present invention. Those skilled in the art can modify each step, rearrange the steps, split the steps, or combine the steps to implement the invention without departing from the spirit of the invention. Specific syntax and semantics are used in this specification to illustrate examples of implementing embodiments of the invention. Those skilled in the art can implement the invention by replacing these syntax and semantics with equivalent syntax and semantics without departing from the spirit of the invention.
[0184] The foregoing description is intended to enable those skilled in the art to practice the invention in the context of specific applications and their requirements. Various modifications to the described embodiments will be apparent to those skilled in the art, and the general principles defined herein can be applied to other embodiments. Therefore, the invention is not intended to be limited to the specific embodiments shown and described, but should be given the maximum scope consistent with the principles and novel features disclosed herein. In the foregoing detailed description, various specific details have been shown to provide a full understanding of the invention. However, those skilled in the art will understand that the invention can be practiced.
[0185] The embodiments of the present invention described above can be implemented in various hardware, software code, or combinations thereof. For example, one embodiment of the invention may be one or more circuits integrated into a video compression chip, or program code integrated into video compression software, to perform the processes described herein. Another embodiment of the invention may be program code executable on a digital signal processor (DSP) to perform the processes described herein. The invention may also relate to multiple functions performed by a computer processor, digital signal processor, microprocessor, or field-programmable gate array (FPGA). These processors can be configured to implement the specific methods embodied in the invention by executing machine-readable software code or firmware code. The software code or firmware code can be developed in different programming languages and different formats or styles. The software code can also be compiled for different target platforms. However, different software code formats, styles, and languages, as well as other configuration codes in order to perform tasks according to the invention, do not depart from the spirit and scope of the invention.
[0186] This invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The examples described are for illustrative purposes only and not for limitation. Therefore, the scope of this invention is defined by the appended claims rather than the foregoing description. All variations within the meaning and equivalence of the claims should be included within their scope.
Claims
1. A method for encoding and decoding a color image using an encoding / decoding tool, the encoding / decoding tool comprising one or more cross-component model correlation modes, including: Receive input data related to the current block, the current block including the current first color block and the current second color block, wherein the input data includes pixel data to be encoded at the encoder end, or data related to the current block to be decoded at the decoder end, and the current block is encoded in non-intra-frame mode; If a self-guided crossover component prediction is applied to the current block, then explicit signaling or one or more first implicit rules are used to determine the type of the self-guided crossover component prediction, one or more models of the self-guided crossover component prediction, or both. Based on the type of the self-guided crossover component prediction, one or more models of the self-guided crossover component prediction, or both, determine one or more target models for the self-guided crossover component prediction. The current second color block is encoded or decoded using one or more self-guided cross-component prediction target models, wherein the prediction data for the current second color block is generated by applying the cross-component target model to the current first color block.
2. The method of claim 1, wherein, for the type of the self-guided cross-component prediction, the model of the one or more self-guided cross-component predictions is identified.
3. The method of claim 2, wherein the model for predicting one or more self-guided cross-components is identified according to one or more second implicit rules, or according to explicit signaling at the block level, CU level, SPS level, PPS level, image level, slice level, partition level, sequence level, CTU level, or a combination thereof.
4. The method of claim 1, wherein the one or more self-guided cross-component prediction target models are used to generate one or more cross-component prediction hypotheses, and cross-component predictions are generated based on the one or more cross-component prediction hypotheses.
5. The method of claim 1, wherein after determining the type of the self-guided crossover prediction, the one or more self-guided crossover prediction target models are selected from the one or more models of the self-guided crossover prediction.
6. The method of claim 1, wherein one of the self-guided cross-component prediction types refers to a model that derives the one or more self-guided cross-component predictions based on input reference samples that include only neighboring samples of the current block, neighboring samples of the same brightness block of the current block, or both.
7. The method of claim 6, wherein no reference is made to the current block, the brightness block at the same position of the current block, or samples within both.
8. The method of claim 6, wherein the input reference sample includes only the neighboring samples of the current block, the neighboring samples of the brightness blocks at the same position of the current block, or both, with one or more exceptions.
9. The method of claim 8, wherein the selected self-guided cross component prediction type corresponds to using only or primarily using input reference samples from neighboring regions of the current block, neighboring regions of the same-position brightness block of the current block, or both.
10. The method of claim 6, wherein the model of one or more of the self-guided cross component predictions has the same filtering term as the intra-frame cross component model, and the filtering term is derived using only or primarily the input reference sample derived from the neighboring regions of the current block, the neighboring regions of the same positional luminance block of the current block, or both.
11. The method of claim 1, wherein the self-guided cross-component prediction type refers to deriving the one or more self-guided cross-component prediction models based on input reference samples that include only those within the current block, the same-position luminance block of the current block, or both, or only those within the current block, the same-position luminance block of the current block, or both, but with one or more exceptional input reference samples.
12. The method of claim 11, wherein the selected self-guided cross component prediction type corresponds to using only or primarily the current block, the same-position luminance block of the current block, or an input reference sample within both.
13. The method of claim 11, wherein the model of one or more of the self-guided cross component predictions has the same filtering term as some intra-frame cross component models, and the filtering term is derived using only or primarily the input reference sample of the current block, the same-position luminance block of the current block, or both.
14. The method of claim 11, wherein the model for one or more of the self-guided cross-component predictions includes a cross-component residual model (CCRM).
15. The method of claim 1, wherein the type of the self-guided cross-component prediction is indicated by signaling or parsing flags.
16. The method of claim 1, wherein for the determined self-guided cross-component prediction type, if multiple self-guided cross-component prediction models are defined, the multiple self-guided cross-component prediction models are inserted into a candidate list in a predefined order, and the candidate list contains only self-guided models, or one or more models are selected from the multiple self-guided cross-component prediction models as the one or more self-guided cross-component prediction target models according to predefined rules.
17. The method of claim 16, wherein the size of the candidate list is predefined as any positive integer, or adaptively determined based on the availability of the model predicted by the plurality of self-guided cross components.
18. The method of claim 17, wherein the availability of single-model CCCM and multi-model CCCM candidate models depends on the model parameters or scaling parameters of the single-model CCCM.
19. The method of claim 16, wherein the predefined rule corresponds to implicitly selecting the one or more models from the candidate list as the one or more self-guided cross-component prediction target models, or the predefined rule corresponds to selecting the one or more models from the candidate list as the one or more self-guided cross-component prediction target models by signaling one or more explicit indices.
20. The method of claim 19, wherein a cost is calculated for each candidate model in the candidate list, and one or more candidate models with the lowest cost are selected from the candidate list.
21. An apparatus for encoding and decoding a color image or video using an encoding / decoding tool comprising one or more modes associated with cross-component models, the apparatus comprising one or more electronic circuits or processors configured to: receive input data associated with a current block, the current block comprising a current first color block and a current second color block, wherein the input data comprises pixel data to be encoded at an encoder end, or data associated with the current block at a decoder end, and the current block is encoded and decoded in a non-intra-frame mode; if guided cross-component prediction is applied to the current block, then applying explicit signaling or using one or more first implicit rules to determine the type of guided cross-component prediction, one or more models of guided cross-component prediction, or both; determining one or more guided cross-component prediction target models based on the type of guided cross-component prediction, one or more models of guided cross-component prediction, or both; and encoding or decoding the current second color block using the one or more guided cross-component prediction target models, wherein when a target cross-component prediction candidate is selected to encode and decode the current second color block, prediction data for the current second color block is generated by applying a corresponding cross-component model to the current first color block.