Methods and apparatus of cross-component chroma mode with block vectors

The method addresses chroma prediction inefficiencies in video coding by using cross-component models with block vectors, enhancing encoding and decoding processes for improved video quality and compression efficiency.

WO2026153412A1PCT designated stage Publication Date: 2026-07-23MEDIATEK INC
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
MEDIATEK INC
Filing Date
2026-01-15
Publication Date
2026-07-23

AI Technical Summary

Technical Problem

Existing video coding systems, such as VVC, face challenges in efficiently encoding and decoding chroma components due to limitations in chroma prediction methods, particularly in handling complex edge directions and block structures, leading to suboptimal compression efficiency and quality.

Method used

The proposed method employs cross-component prediction using cross-component models associated with block vectors to derive and combine chroma predictions, enhancing chroma encoding and decoding by leveraging luma block vectors and various prediction modes like IBC, DBV, and CCP merge modes.

Benefits of technology

Improves chroma prediction accuracy and compression efficiency by utilizing cross-component models, resulting in better video quality and reduced bitrates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2026072786_23072026_PF_FP_ABST
    Figure CN2026072786_23072026_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus of chroma prediction for video coding are disclosed. According to the method, one or more target block vectors are determined, wherein the current chroma block corresponds to a chroma block having said one or more target block vectors or being able to find said one or more target block vectors. One or more cross-component models associated with said one or more target block vectors are determined. Cross-component chroma prediction is derived using said one or more cross-component models. A final chroma prediction is generated by using the cross-component chroma prediction directly or by combining the cross-component chroma prediction with existing chroma prediction. The current chroma block is encoded or decoded using the final chroma prediction.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF CROSS-COMPONENT CHROMA MODE WITH BLOCK VECTORSCROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 745, 440, filed on January 15, 2025. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION

[0002] The present invention relates to video coding system. In particular, the present invention relates to generating chroma prediction comprising cross-component prediction derived using cross-component models associated with block vectors in a video coding system. BACKGROUND AND RELATED ART

[0003] Versatile Video Coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.

[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing. For Intra Prediction 110, the prediction data is derived based on previously coded video data in the current picture. For Inter Prediction 112, Motion Estimation (ME) is performed at the encoder side and Motion Compensation (MC) is performed based on the result of ME to provide prediction data derived from other picture (s) and motion data. Switch 114 selects Intra Prediction 110 or Inter Prediction 112 and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion and coding modes associated with Intra prediction and Inter prediction, and other information such as parameters associated with loop filters applied to underlying image area. The side information associated with Intra Prediction 110, Inter prediction 112 and in-loop filter 130, is provided to Entropy Encoder 122 as shown in Fig. 1A. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.

[0005] As shown in Fig. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, in-loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, deblocking filter (DF) , Sample Adaptive Offset (SAO) and Adaptive Loop Filter (ALF) may be used. The loop filter information may need to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is also provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1A, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1A is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H.264 or VVC.

[0006] The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.

[0007] In VVC, the Sequence Parameter Set (SPS) and the Picture Parameter Set (PPS) contain high-level syntax elements that apply to entire coded video sequences and pictures, respectively. The Picture Header (PH) and Slice Header (SH) contain high-level syntax elements that apply to a current coded picture and a current coded slice, respectively.

[0008] In VVC, a coded picture is partitioned into non-overlapped square block regions represented by the associated coding tree units (CTUs) . A coded picture can be represented by a collection of slices, each comprising an integer number of CTUs. The individual CTUs in a slice are processed in raster-scan order. A bi-predictive (B) slice may be decoded using intra prediction or inter prediction with at most two motion vectors and reference indices to predict the sample values of each block. A predictive (P) slice is decoded using intra prediction or inter prediction with at most one motion vector and reference index to predict the sample values of each block. An intra (I) slice is decoded using intra prediction only.

[0009] I. RELATED ART

[0010] I. 1 Intra Mode Coding with 67 Intra Prediction Modes

[0011] To capture the arbitrary edge directions presented in natural video, the number of directional intra modes in VVC is extended from 33, as used in HEVC, to 65.

[0012] In VVC, several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for the non-square blocks.

[0013] I. 2 Intra Mode Coding

[0014] To keep the complexity of the most probable mode (MPM) list generation low, an intra mode coding method with 6 MPMs (or called primary MPMs) is used by considering two available neighbouring intra modes. The following three aspects are considered to construct the MPM list: –Default intra modes –Neighbouring intra modes –Derived intra modes.

[0015] In the present invention, methods and apparatus to derive and use a new type of chroma prediction are disclosed, where the chroma prediction comprising cross-component prediction is derived using cross-component models associated with vectors. BRIEF SUMMARY OF THE INVENTION

[0016] A method and apparatus for video coding are disclosed. According to the method, input data associated with a current block comprising or corresponding to a current chroma block is received, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. One or more target block vectors are determined, wherein the current chroma block corresponds to a chroma block having said one or more target block vectors or being able to find said one or more target block vectors. One or more cross-component models associated with said one or more target block vectors are determined. Cross-component chroma prediction is derived using said one or more cross-component models. A final chroma prediction is generated by using the cross-component chroma prediction directly or by combining the cross-component chroma prediction with existing chroma prediction. The current chroma block is encoded or decoded using the final chroma prediction.

[0017] In one embodiment, if the current block refers to a coding unit containing one luma and one or more chroma coding blocks or containing only said one or more chroma coding blocks, and / or the current block is coded by IBC (Intra Block Copy) mode or DBV (Direct Block Vector) mode with said one or more target block vectors, the existing chroma prediction is generated associated with said one or more target block vectors of the current block.

[0018] In one embodiment, if the current block refers to a chroma block with a corresponding luma block or position coded associated with said one or more target block vectors, the existing chroma prediction is generated associated with said one or more target block vectors.

[0019] In one embodiment, the current chroma block is coded in DBV mode or refers to a chroma block having or being able to find said one or more target block vectors. In one embodiment, said one or more cross-component models for generating the cross-component chroma prediction are obtained by the current block, stored by the current block, and / or referenced by one or more following blocks.

[0020] In one embodiment, a prediction mode of the current block is related to a CCP (Cross-Component Prediction) model. In one embodiment, the final chroma prediction of the current block corresponds to a combination of a first chroma prediction generated by the CCP model and a second chroma prediction generated according to said one or more target block vectors. In one embodiment, said one or more target block vectors are obtained from first one or more block vectors of one or more corresponding luma blocks, from one or more spatial adjacent or non-adjacent blocks or positions, or from a history list.

[0021] In one embodiment, when prediction mode of the current block is IBC, DBV, or IntraTMP (Intra Template Matching Prediction) mode, a syntax element is signalled or parsed to indicate whether said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is performed for the current block. In one embodiment, when more than one target block vector is available, a second syntax element is explicitly signalled or implicitly referred to indicate a selected target block vector.

[0022] In one embodiment, said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is enabled or disabled according to one or more implicit rules. In one embodiment, said one or more implicit rules comprise block width, height, or area.

[0023] In one embodiment, said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is enabled or disabled according to one or more explicit rules. In one embodiment, said one or more explicit rules are signalled or parsed in block, tile, slice, picture, SPS (Sequence Parameter Set) , or PPS (Picture Parameter Set) level.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

[0026] Fig. 2 illustrates an example of using luma blocks to derive direct block vector for the chroma block.

[0027] Fig. 3 illustrates a flowchart of an exemplary video coding system that derives and uses a new type of chroma prediction according to an embodiment of the present invention, where the chroma prediction comprising cross-component prediction is derived using cross-component models associated with block vectors.DETAILED DESCRIPTION OF THE INVENTION

[0028] It will be readily understood that the components of the present invention, as generally described and illustrated in the figures herein, may be arranged and designed in a wide variety of different configurations. Thus, the following more detailed description of the embodiments of the systems and methods of the present invention, as represented in the figures, is not intended to limit the scope of the invention, as claimed, but is merely representative of selected embodiments of the invention. References throughout this specification to “one embodiment, ” “an embodiment, ” or similar language mean that a particular feature, structure, or characteristic described in connection with the embodiment may be included in at least one embodiment of the present invention. Thus, appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment.

[0029] Furthermore, the described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments. One skilled in the relevant art will recognize, however, that the invention can be practiced without one or more of the specific details, or with other methods, components, etc. In other instances, well-known structures, or operations are not shown or described in detail to avoid obscuring aspects of the invention. The illustrated embodiments of the invention will be best understood by reference to the drawings, wherein like parts are designated by like numerals throughout. The following description is intended only by way of example, and simply illustrates certain selected embodiments of apparatus and methods that are consistent with the invention as claimed herein.

[0030] II. 1 Direct Block Vector (DBV) for Chroma Block

[0031] The direct block vector is used for chroma blocks. A flag is signalled to indicate whether a chroma block is coded using intra block copy (IBC) mode. If one of the luma blocks 210 in five locations (i.e., TL, TR, C, BL and BR) shown in Fig. 2 is coded with IBC or intraTMP mode, its block vector is scaled and is used as block vector for the chroma block 220. Template matching is used to perform block vector scaling.

[0032] II. 2 Intra Template Matching

[0033] Intra Template Matching Prediction (IntraTMP) is a special intra prediction mode that copies the best prediction block from the reconstructed part of the current frame, whose L-shaped template matches the current template. For a predefined search range, the encoder searches for the most similar template to the current template in a reconstructed part of the current frame and uses the corresponding block as a prediction block. The encoder then signals the usage of this mode, and the same prediction operation is performed at the decoder side.

[0034] II. 3 Cross-Component Prediction (CCP) Merge

[0035] For chroma coding, a flag is signalled to indicate whether CCP mode (including the cross-component linear model (CCLM) , convolutional cross-component model (CCCM) , gradient linear model (GLM) and their variants) or non-CCP mode (conventional chroma intra prediction mode, fusion of chroma intra prediction mode) is used. If the CCP mode is selected, one more flag is signalled to indicate how to derive the CCP type and parameters, i.e., either from a CCP merge list or signalled / derived on-the-fly. A CCP merge candidate list is constructed from the spatial adjacent, temporal, spatial non-adjacent, history-based candidates or shifted temporal candidates. After including these candidates, default models are further included to fill the remaining empty positions in the merge list. In order to remove redundant CCP models in the list, pruning operation is applied. After constructing the list, the CCP models in the list are reordered depending on the SAD costs, which are obtained using the neighbouring template of the current block.

[0036] II. 4 Temporal and Shifted Temporal Candidates

[0037] Temporal candidates are selected from the collocated picture. The position and inclusion order of the temporal candidates are the same as those defined in ECM for regular inter merge prediction candidates. The shifted temporal candidates are also selected from the collocated picture. The position of temporal candidates is shifted by a selected motion vector which is derived from motion vectors of neighbouring blocks.

[0038] II. 5 CCP Merge for Chroma Inter Blocks

[0039] The cross-component prediction merge mode described above is extended to chroma inter coding. The CCP models including CCLM, multi-model LM (MMLM) , CCCM, GLM, chroma fusion, CCP merge modes, and inter CCCM are stored and inherited for the following coding chroma intra and inter blocks. Similar to the CCP merge for chroma intra blocks, a flag is signalled to indicate whether a chroma inter block is coded using this mode. When the root CBF is equal to 0, a CU-level flag is signalled. Otherwise, a TU-level flag is signalled. If the CCP merge mode is used, a CCP merge list is constructed in a similar way as that for chroma intra blocks except that additional shifted temporal candidates and on-the-fly derived candidates are included in the CCP merge list. After the CCP merge list is constructed, the candidate with the lowest template cost is selected for the chroma inter block. The chroma inter block is then predicted in the same way as that of inter CCCM. That is, the motion compensation predicted samples are blended with the cross-component predicted samples to form the final prediction.

[0040] II. 6 InterCCCM

[0041] InterCCCM (or called as inter CCCM) applies the CCCM method for predicting chroma samples from reconstructed luma samples when the CU uses inter prediction or intra block copy (IBC) . The cross-component filters are derived using the prediction blocks of luma and chroma. The derived filters are applied to the reconstructed luma block and blended with the prediction blocks of chroma to produce the final chroma prediction blocks. In the blending process, the filtered reconstructed luma blocks use blending weight of 0.75 and chroma prediction blocks use blending weight of 0.25.

[0042] II. 7 Fusion of Chroma Intra Prediction Modes

[0043] In Enhanced Compression Model (ECM) , two chroma intra prediction signals can be fused together. One of the two chroma intra prediction signals is predicted using one of the direct mode (DM) , DIMD chroma mode and the four default modes (non-LM mode) . The other chroma intra prediction signal is predicted using cross-component linear prediction modes (LM mode) .

[0044] II. 8 Decoder Side Intra Mode Derivation (DIMD)

[0045] When DIMD is applied, up to five intra modes are derived from the reconstructed neighbour samples, and those five predictors are combined with the non-directional predictor (planar or block vector based predictor) with the weights derived from the histogram of gradients as described in JVET-O0449. The decision between for the non-directional modes is taken according to the template cost. Specifically, the block vectors of all adjacent and non-adjacent merge candidates (coded in IntraTMP or IBC) are compared to planar prediction on the reconstructed template. The template cost (SATD) is used to select the best predictor among them.

[0046] II. 9 DIMD Chroma Mode

[0047] The DIMD chroma mode uses the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y, Cb and Cr samples. Specifically, a horizontal gradient and a vertical gradient are calculated for each collocated reconstructed luma sample of the current chroma block, as well as the reconstructed Cb and Cr samples, to build a HoG. Then, the intra prediction mode with the largest histogram amplitude value is used for performing chroma intra prediction of the current chroma block.

[0048] II. 10 Block-Vector Guided CCCM (BVG-CCCM)

[0049] When the co-located luma prediction is coded with IBC or IntraTMP in Intra slices, the BVG-CCCM mode can be used. In this mode, the block vectors of the co-located luma blocks, coded in IBC or intraTMP modes, are used to determine the reference area for calculating the CCCM parameters. The prediction is performed using the calculated model parameters and co-located luma samples.

[0050] PROPOSED METHOD

[0051] This invention is to generate the final chroma prediction of the current block using the cross-component chroma prediction. In one embodiment, the final chroma prediction of the current block is formed by directly using the cross-component chroma prediction, generated using one or more cross-component models. In another embodiment, in addition to existing chroma prediction for the current block, the final chroma prediction of the current block is a combined prediction formed by the existing chroma prediction and the additional cross-component chroma prediction, generated using one or more cross-component models. The chroma block of the current block may refer to any chroma block which can have or find block vectors (which may be taken as target block vectors in some embodiments) . The one or more cross-component models associated with the block vectors may be obtained.

[0052] In one example, the current block refers to a coding unit containing luma and chroma coding blocks and / or the current block is coded by IBC. The existing chroma prediction for the current block is generated associated with block vectors of the current block. For example, when generating the existing chroma prediction for the current block, the block vectors are used to indicate to a reference block as predictors of the existing chroma prediction for the current block. The cross-component chroma prediction is generated using one or more cross-component models. The one or more cross-component models associated with block vectors may be obtained.

[0053] In another example, the current block refers to a coding unit containing luma and chroma coding blocks and / or the chroma coding blocks are coded by IBC or DBV. The existing chroma prediction for the current block is generated associated with block vectors of the current block. For example, when generating the existing chroma prediction for the current block, the block vectors are used to indicate to a reference block as predictors of the existing chroma prediction for the current block. The cross-component chroma prediction is generated using one or more cross-component models. The one or more cross-component models associated with block vectors may be obtained.

[0054] In another example, the current block refers to a coding unit containing only chroma coding blocks and / or the current block is coded by IBC or DBV. The existing chroma prediction for the current block is generated associated with block vectors of the current block. For example, when generating the existing chroma prediction for the current block, the block vectors are used to indicate to a reference block as predictors of the existing chroma prediction for the current block. The cross-component chroma prediction is generated using one or more cross-component models. The one or more cross-component models associated with block vectors may be obtained.

[0055] In yet another example, the current block refers to any chroma block which has the corresponding luma block / position coded associated with block vectors. The corresponding luma block / position may be coded by IBC or intraTMP. The one or more cross-component models associated with block vectors may be obtained.

[0056] In one embodiment, the chroma block is coded by DBV (which means the block vectors for the chroma block may be determined based on the block vectors from the corresponding luma position coded with IBC or intraTMP mode) , or the chroma block refers to a chroma block which can have or find block vectors. According to an implicit and / or explicit determination, the chroma block uses cross-component chroma prediction to form the final chroma prediction (which may be the combined prediction of the existing chroma prediction and the additional cross-component chroma prediction) . The one or more cross-component models for generating the cross-component chroma prediction are obtained by the current block, stored by the current block, and / or referenced by the following blocks.

[0057] In one sub-embodiment, the one or more cross-component models for generating the cross-component chroma prediction for the chroma block are obtained using CCP merge mode. For example, the one or more cross-component models are selected from the CCP merge list, or the one or more cross-component models are selected / determined from the cross-component models from the previous-coded blocks.

[0058] In one sub-embodiment, the one or more cross-component models for generating the cross-component chroma prediction for the chroma block are obtained based on the block vectors for the chroma block (which may be based on the block vectors from the corresponding luma position coded with IBC or intraTMP mode in an example) . The block vectors for the chroma block determines the reference block / position which provides the one or more cross-component models. When the chroma block uses CCP merge mode for generating the cross-component chroma prediction, the obtained one or more cross-component models can be treated as a candidate of CCP merge list. In one sub-embodiment, the proposed candidates can be determined similar to temporal candidates in CCP merge mode. The difference is that the proposed candidates are from the current picture and based on block vectors. For example, the proposed candidates can be available for intra and / or inter slices and the position of these candidates is the same as those defined in ECM for regular inter merge prediction candidates with a shift obtained from the block vectors for the chroma block.

[0059] In one case, the chroma components for the reference block / position are predicted using cross-component related mode. An example of inter or IBC cross-component related mode includes CCP merge modes and / or inter CCCM. An example of intra cross-component related mode includes CCLM, MMLM, CCCM, GLM, chroma fusion, and / or CCP merge modes.

[0060] In one case, the reference block / position is valid for providing the one or more cross-component models only when at least one cross-component model is stored at the reference block / position.

[0061] In one case, when the determined reference block / position satisfies a pre-defined cross-component mode type, the one or more cross-component models for generating the cross-component chroma prediction for the chroma block are derived. For example, when the determined reference block / position satisfies using inter CCCM or BVG-CCCM, calculating the CCCM parameters associated with the one or more cross-component models (for generating the cross-component chroma prediction for the chroma block) are performed on the reference block. That is, the reference block is determined as the reference area for calculating the CCCM parameters.

[0062] In one sub-embodiment, the one or more cross-component models for generating the cross-component chroma prediction for the chroma block are stored for each coding unit or transform unit associated with the chroma block.

[0063] In one sub-embodiment, the one or more cross-component models for generating the cross-component chroma prediction for the chroma block are referenced by the following block coding by CCP merge mode for chroma intra coding and / or chroma inter coding.

[0064] In another embodiment, the chroma block is coded by DBV (which means the block vectors for the chroma block may be determined based on the block vectors from the corresponding luma position coded with IBC or intraTMP mode) , or the chroma block refers to a chroma block which can have or find block vectors. According to an implicit and / or explicit determination, the current block stores one or more cross-component models and / or the stored one or more cross-component models can be referenced by the following blocks. The chroma block for the current block may not be predicted using cross-component models.

[0065] In one sub-embodiment, the one or more cross-component models for storing for the chroma block are determined based on the block vectors for the chroma block (which may be based on the block vectors from the corresponding luma position coded with IBC or intraTMP mode in an example) . The block vectors for the chroma block determines the reference block / position which provides the one or more cross-component models for storing.

[0066] In one case, the chroma components for the reference block / position are predicted using cross-component related mode. An example of inter or IBC cross-component related mode includes CCP merge modes and / or inter CCCM. An example of intra cross-component related mode includes CCLM, MMLM, CCCM, GLM, chroma fusion, and / or CCP merge modes.

[0067] In one case, the reference block / position is valid for providing the one or more cross-component models only when at least one cross-component model is stored at the reference block / position.

[0068] In one case, when the determined reference block / position satisfies a pre-defined cross-component mode type, the one or more cross-component models for storing are derived. For example, when the determined reference block / position satisfies using inter CCCM or BVG-CCCM, calculating the CCCM parameters associated with the one or more cross-component models (for storing for the chroma block) are performed on the reference block in one way or performed on the current block in another way. That is, the reference block is determined as the reference area for calculating the CCCM parameters in one way or the current block is determined as the reference area for calculating the CCCM parameters in another way.

[0069] In one sub-embodiment, the one or more cross-component models for storing for the chroma block are stored for each coding unit or transform unit associated with the chroma block.

[0070] In one sub-embodiment, the one or more cross-component models for storing for the chroma block are referenced by the following block coding by CCP merge mode for chroma intra coding and / or chroma inter coding.

[0071] In one embodiment, the chroma block is in the chroma dual tree with each coding unit containing only chroma coding blocks.

[0072] In another embodiment, the chroma block is in the single tree with each coding unit containing luma and chroma coding blocks.

[0073] In another embodiment, the prediction mode of the current block is related to a CCP model (e.g., the CCP model can be derived from the neighbouring luma and chroma reconstruction samples, inherited from a spatial / temporal position, or inherited from a historical buffer location) . The final prediction of the current block is the combination of the first prediction generated by the CCP model and the second prediction according to block vectors (BVs) . To get second prediction, the BVs can be either obtained from the BVs of the corresponding luma blocks, or obtained from the neighbouring spatial adjacent or non-adjacent blocks / positions, or a history list. For example, a predefined scanning order on the neighbouring selected spatial adjacent, non-adjacent, or history blocks / positions is used, and the first blocks / positions with BVs is used. For another example, a BV list is constructed from the neighbouring selected spatial adjacent, non-adjacent, or history blocks / positions with BVs. The final BV used for the second prediction can be indicated by a list index. For another example, the selected neighbouring blocks / positions can be further constraint, e.g., the blocks / positions cannot be far away from the current block than a distance threshold, or the blocks / positions should be within the recently coded CTUs.

[0074] To signal the proposed method, when the prediction mode of the current block is IBC, DBV, or IntraTMP mode, a syntax is indicated to present if the proposed method is used or not. The syntax can be context coded according to the current block size and / or prediction modes of the neighbouring positions. If more than one BVs are available for the current block (e.g., derived from the corresponding luma positions or neighbouring spatial positions) , another syntax is explicitly signalled to further indicate the selected BV for prediction combination, or the another syntax can be implicitly derived.

[0075] The proposed methods in this invention can be enabled and / or disabled according to implicit rules (e.g. block width, height, or area) or according to explicit rules (e.g. syntax on block, tile, slice, picture, SPS, or PPS level) . For example, the proposed method is applied when the block area is smaller / larger than a threshold.

[0076] The term “block” in this invention can refer to TU / TB, CU / CB, PU / PB, pre-defined region, or CTU / CTB.

[0077] Any combination of the proposed methods in this invention can be applied.

[0078] Any of the foregoing proposed methods of deriving and using the new type of chroma prediction comprising cross-component prediction using cross-component models associated with block vectors can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in an intra / prediction / inter / IBC module of an encoder, and / or an intra / prediction / inter / IBC module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the intra / prediction / inter / IBC module of the encoder and / or the intra / prediction / inter / IBC module of the decoder, so as to provide the information needed by the intra / prediction / inter / IBC module. With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / MC 152 in Fig. 1B) in a decoder or an Intra / Inter coding module in an encoder (e.g. Intra Pred. 110 / Inter Pred. 112 in Fig. 1A) . Any of the proposed methods can also be implemented as a circuit coupled to the intra / inter coding module at the decoder or the encoder. The proposed methods may also correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .

[0079] Fig. 3 illustrates a flowchart of an exemplary video coding system that derives and uses a new type of chroma prediction according to an embodiment of the present invention, where the chroma prediction comprising cross-component prediction is derived using cross-component models associated with block vectors. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side and / or at the decoder side. The steps shown in the flowchart may also be implemented based on hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with a current block comprising or corresponding to a current chroma block is received in step 310, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. One or more target block vectors are determined in step 320, wherein the current chroma block corresponds to a chroma block having said one or more target block vectors or being able to find said one or more target block vectors. One or more cross-component models associated with said one or more target block vectors are determined in step 330. Cross-component chroma prediction is derived using said one or more cross-component models in step 340. A final chroma prediction is generated by using the cross-component chroma prediction directly or by combining the cross-component chroma prediction with existing chroma prediction in step 350. The current chroma block is encoded or decoded using the final chroma prediction in step 360.

[0080] The flowchart shown is intended to illustrate an example of video coding according to the present invention. A person skilled in the art may modify each step, re-arranges the steps, split a step, or combine steps to practice the present invention without departing from the spirit of the present invention. In the disclosure, specific syntax and semantics have been used to illustrate examples to implement embodiments of the present invention. A skilled person may practice the present invention by substituting the syntax and semantics with equivalent syntax and semantics without departing from the spirit of the present invention.

[0081] The above description is presented to enable a person of ordinary skill in the art to practice the present invention as provided in the context of a particular application and its requirement. Various modifications to the described embodiments will be apparent to those with skill in the art, and the general principles defined herein may be applied to other embodiments. Therefore, the present invention is not intended to be limited to the particular embodiments shown and described, but is to be accorded the widest scope consistent with the principles and novel features herein disclosed. In the above detailed description, various specific details are illustrated in order to provide a thorough understanding of the present invention. Nevertheless, it will be understood by those skilled in the art that the present invention may be practiced.

[0082] Embodiment of the present invention as described above may be implemented in various hardware, software codes, or a combination of both. For example, an embodiment of the present invention can be one or more circuit circuits integrated into a video compression chip or program code integrated into video compression software to perform the processing described herein. An embodiment of the present invention may also be program code to be executed on a Digital Signal Processor (DSP) to perform the processing described herein. The invention may also involve a number of functions to be performed by a computer processor, a digital signal processor, a microprocessor, or field programmable gate array (FPGA) . These processors can be configured to perform particular tasks according to the invention, by executing machine-readable software code or firmware code that defines the particular methods embodied by the invention. The software code or firmware code may be developed in different programming languages and different formats or styles. The software code may also be compiled for different target platforms. However, different code formats, styles and languages of software codes and other means of configuring code to perform the tasks in accordance with the invention will not depart from the spirit and scope of the invention.

[0083] The invention may be embodied in other specific forms without departing from its spirit or essential characteristics. The described examples are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is therefore, indicated by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

1.A method of video coding, the method comprising:receiving input data associated with a current block comprising or corresponding to a current chroma block, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;determining one or more target block vectors, wherein the current chroma block corresponds to a chroma block having said one or more target block vectors or being able to find said one or more target block vectors;determining one or more cross-component models associated with said one or more target block vectors;deriving cross-component chroma prediction using said one or more cross-component models;generating a final chroma prediction by using the cross-component chroma prediction directly or by combining the cross-component chroma prediction with existing chroma prediction; andencoding or decoding the current chroma block using the final chroma prediction.2.The method of Claim 1, wherein if the current block refers to a coding unit containing one luma and one or more chroma coding blocks or containing only said one or more chroma coding blocks, and / or the current block is coded by IBC (Intra Block Copy) mode or DBV (Direct Block Vector) mode with said one or more target block vectors, the existing chroma prediction is generated associated with said one or more target block vectors of the current block.3.The method of Claim 1, wherein if the current block refers to a chroma block with a corresponding luma block or position coded associated with said one or more target block vectors, the existing chroma prediction is generated associated with said one or more target block vectors.4.The method of Claim 1, wherein the current chroma block is coded in DBV mode or refers to a chroma block having or being able to find said one or more target block vectors.5.The method of Claim 1, wherein said one or more cross-component models for generating the cross-component chroma prediction are obtained by the current block, stored by the current block, and / or referenced by one or more following blocks.6.The method of Claim 1, wherein a prediction mode of the current block is related to a CCP (Cross-Component Prediction) model.7.The method of Claim 6, wherein the final chroma prediction of the current block corresponds to a combination of a first chroma prediction generated by the CCP model and a second chroma prediction generated according to said one or more target block vectors.8.The method of Claim 1, wherein said one or more target block vectors are obtained from one or more block vectors of one or more corresponding luma blocks, from one or more spatial adjacent or non-adjacent blocks or positions, or from a history list.9.The method of Claim 1, wherein when prediction mode of the current block is IBC, DBV, or IntraTMP (Intra Template Matching Prediction) mode, a syntax element is signaled or parsed to indicate whether said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is performed for the current block.10.The method of Claim 9, wherein when more than one target block vector is available, a second syntax element is explicitly signalled or implicitly referred to indicate a selected target block vector.11.The method of Claim 1, wherein said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is enabled or disabled according to one or more implicit rules.12.The method of Claim 11, wherein said one or more implicit rules comprise block width, height, or area.13.The method of Claim 1, wherein said determining one or more cross-component models associated with said one or more target block vectors, said deriving cross-component chroma prediction, said generating the final chroma prediction, said encoding or decoding the current chroma block, or a combination thereof is enabled or disabled according to one or more explicit rules.14.The method of Claim 13, wherein said one or more explicit rules are signalled or parsed in block, tile, slice, picture, SPS (Sequence Parameter Set) , or PPS (Picture Parameter Set) level.15.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block comprising or corresponding to a current chroma block, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;determine one or more target block vectors, wherein the current chroma block corresponds to a chroma block having said one or more target block vectors or being able to find said one or more target block vectors;determine one or more cross-component models associated with said one or more target block vectors;derive cross-component chroma prediction using said one or more cross-component models;generate a final chroma prediction by using the cross-component chroma prediction directly or by combining the cross-component chroma prediction with existing chroma prediction; andencode or decode the current chroma block using the final chroma prediction.