Method and apparatus of intra merge mode for mixed modes with chroma components in video coding system

By deriving mixed-mode intra prediction using inherited information from previous coded blocks, the method addresses inefficiencies in video coding systems, particularly for color components, enhancing coding efficiency and accuracy.

WO2025218707A1PCT designated stage Publication Date: 2025-10-23MEDIATEK INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/089319
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-04-19
Filing Date
2025-04-16
Publication Date
2025-10-23

AI Technical Summary

Technical Problem

Existing video coding systems face inefficiencies in intra prediction, particularly in handling mixed modes with color components, as they lack effective methods to leverage inheritance information from previous coded blocks for improved coding efficiency.

Method used

A method and apparatus are developed to derive mixed-mode intra prediction for one or more color components based on inherited information from previous coded blocks, utilizing various inheritance information settings and target mode settings to generate predictions for current blocks, including chroma direct, DIMD chroma, chroma fusion, and cross-component prediction modes.

Benefits of technology

This approach enhances coding efficiency by allowing flexible inheritance of information from previous blocks, improving prediction accuracy and reducing computational complexity in video coding systems.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025089319_23102025_PF_FP_ABST
    Figure CN2025089319_23102025_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus of deriving mixed-mode intra prediction for chroma components based on inherited information from previous coded blocks are disclosed. According to the method, inheritance block setting corresponding to inheritance information or candidate modes associated with previous coded blocks is determined. A set of merge candidates is constructed from the previous coded blocks as specified by the inheritance block setting. Target blocks are selected from the set of merge candidates. Target prediction for the current block is generated following a target mode and the inheritance information associated with the target blocks. The inheritance information from the target blocks includes the inheritance information related to the luma component and / or chroma components, and the prediction of the current block for the luma component and / or the luma components is generated based on the inheritance information related to the first-colour component and / or said one or more second-colour components respectively.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND APPARATUS OF INTRA MERGE MODE FOR MIXED MODES WITH CHROMA COMPONENTS IN VIDEO CODING SYSTEMCROSS 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 / 634,953, filed on April 17, 2024 and U.S. Provisional Patent Application No. 63 / 636,172, filed on April 19, 2024. The U.S. Provisional Patent Applications are hereby incorporated by reference in their entireties.FIELD OF THE INVENTION

[0002] The present invention relates to intra prediction for video coding systems by using inheritance information from previous coded blocks. In particular, the present invention relates to the intra merge mode for mixed modes with one or more colour components. 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, VVC or any other video coding standards.

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

[0007] According to VVC, an input picture is partitioned into non-overlapped square block regions referred as CTUs (Coding Tree Units) , similar to HEVC. Each CTU can be partitioned into one or multiple smaller size coding units (CUs) . The resulting CU partitions can be in square or rectangular shapes. Also, VVC divides a CTU into prediction units (PUs) as a unit to apply prediction process, such as Inter prediction, Intra prediction, etc.

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

[0009] Intra Mode Coding with 67 Intra Prediction Modes

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

[0011] Intra Mode Coding

[0012] The most probable mode (MPM) list is generated by considering two available neighbouring intra modes.

[0013] In the present invention, methods and apparatus to derive mixed-mode intra prediction for one or more colour components based on inherited information from previous coded blocks are disclosed to improve the performance. BRIEF SUMMARY OF THE INVENTION

[0014] A method and apparatus of deriving mixed-mode intra prediction for one or more colour components based on inherited information from previous coded blocks are disclosed. According to the method, input data associated with a current block comprising a first-colour component and one or more second-colour components is received, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. Inheritance block setting is determined, wherein the inheritance block setting corresponds to inheritance information or candidate modes associated with previous coded blocks. A set of merge candidates is constructed from the previous coded blocks as specified by the inheritance block setting. One or more target blocks are selected from the set of merge candidates. Target prediction for the current block is generated following a target mode and the inheritance information associated with said one or more target blocks, wherein the inheritance information from said one or more target blocks includes the inheritance information related to the first-colour component and / or said one or more second-colour components, and the prediction of the current block for the first-colour component and / or said one or more second-colour components is generated based on the inheritance information related to the first-colour component and / or said one or more second-colour components respectively. The current block is encoded or decoded by using the target prediction.

[0015] In one embodiment, the inheritance information from said one or more target blocks only includes the inheritance information related to the first-colour component, and only the prediction of the current block for the first-colour component is generated based on the inheritance information related to the first-colour component. In one embodiment, the inheritance information from said one or more target blocks includes the inheritance information related to said one or more second-colour components, and the prediction of the current block for said one or more second-colour components is generated based on the inheritance information related to said one or more second-colour components.

[0016] In one embodiment, a set of allowed target first-colour modes and / or a set of allowed target second-colour modes is determined. In one embodiment, a target previous coded block is allowed to be added into the set of merge candidates if both target first-colour mode and target second-colour modes of the target previous coded block are in the set of allowed target first-colour modes and the set of allowed target second-colour modes respectively. In one embodiment, the target prediction for the first-colour component and said one or more second-colour components is generated based on the first-colour component and said one or more second-colour components of the inheritance information associated with said one or more target blocks.

[0017] In one embodiment, the target mode associated with said one or more target blocks selected for the current block comprises chroma direct mode, DIMD chroma mode, chroma fusion mode, or cross-component prediction mode. When the target mode corresponds to the chroma direct mode, the inheritance information associated with said one or more target blocks comprises whether the block being coded in the chroma direct mode or not. When the target mode corresponds to the DIMD chroma mode, the inheritance information associated with said one or more target blocks comprises one or more histogram values for available intra prediction modes, N intra prediction modes as suggested by histogram values, or both. When the target mode corresponds to the chroma fusion mode, the inheritance information associated with said one or more target blocks comprises LM (Linear Model) mode to be fused. When the target mode corresponds to the cross-component prediction mode, the inheritance information associated with said one or more target blocks coding modes, model parameters, classifying threshold for the coding mode being a multi-model cross-component mode, a low pass filter flag, or a combination thereof.

[0018] In one embodiment, when said one or more target blocks for the first-colour component and said one or more target blocks for said one or more second-colour components are different, separate candidate indexes for the first-colour component and said one or more second-colour components are signalled or parsed. In one embodiment, when the set of merge candidates for the first-colour component and the set of merge candidates for said one or more second-colour components are different, a flag is used to indicate whether the first-colour component and said one or more second-colour components are coded in a merge scheme or not. In one embodiment, separate candidate indexes for the first-colour component and said one or more second-colour components are signalled or parsed.

[0019] In one embodiment, when the set of merge candidates for the first-colour component and the set of merge candidates for said one or more second-colour components are different, a flag is used to indicate whether the first-colour component is coded in a merge scheme or not, and a candidate index is signalled or parsed. In one embodiment, a second flag is used to indicate whether said one or more second-colour components are coded in a second merge scheme or not, and one or more second candidate indexes are signalled or parsed.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

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

[0024] Fig. 4 illustrates an example of template area with multiple reference lines.

[0025] Fig. 5 illustrates the positions of spatial merge candidates.

[0026] Figs. 6A-C illustrate an example of the DIMD chroma mode using the DIMD derivation method to derive the chroma intra prediction mode of the current block based on the neighbouring reconstructed Y (Fig. 6A) , Cb (Fig. 6B) and Cr (Fig. 6C) samples in the second neighbouring row and column.

[0027] Fig. 7 illustrates a flowchart of an exemplary video coding system that derives mixed-mode intra prediction based on inheritance from previous coded blocks according to an embodiment of the present invention.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] 1.1 Decoder-side Intra Mode Derivation (DIMD)

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

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

[0033] 1.2 Template-based Intra Mode Derivation (TIMD)

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

[0035] 1.3 Extrapolation filter-based Intra Prediction (EIP) mode

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

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

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

[0039] When the EIP merge flag is false, the EIP filter is derived from the neighbouring reconstructed samples and the relevant syntax element is signalled to indicate which one of the three types of reconstructed area and which one of the three filter shapes are used for the CU. The selected filter moves in the selected reconstructed area either horizontally or vertically with a one-pixel step to construct the auto-correlation matrix and the cross-correlation vector. The calculation of coefficients from the auto-correlation matrix and the cross-correlation vector is the same as that in CCCM.

[0040] After generating the prediction samples of the CU using the EIP filter, an intra prediction mode is derived by applying the DIMD process to the prediction samples. Specifically, a horizontal gradient and a vertical gradient are calculated for each predicted sample to build a histogram of gradient. Then the intra prediction mode corresponding to the largest histogram count is used to determine the LFNST, NSPT or MTS transform set.

[0041] 1.4 Template-Based Multiple Reference Line Intra Prediction

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

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

[0044] 1.5 Inter Prediction -Spatial Candidate Derivation

[0045] Spatial merge candidates are selected among candidates located in the positions depicted in Fig. 5.

[0046] 1.6 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 610, Cb 620 and Cr 630 samples in the second neighbouring row and column as shown in Figs. 6A-C for Y, Cb and Cr components (Fig. 6A, Fig. 6B and Fig. 6C) respectively. 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 values is used for performing chroma intra prediction of the current chroma block.

[0048] When the intra prediction mode derived from the DIMD chroma mode is the same as the intra prediction mode derived from the DM mode, the intra prediction mode with the second largest histogram amplitude value is used as the DIMD chroma mode. A CU level flag is signalled to indicate whether the proposed DIMD chroma mode is applied.

[0049] Finally, the luma region of reconstructed samples used for computing the histogram of gradients for chroma DIMD mode is modified compared to JVET-O0449. For a WxH pair of chroma CBs to predict, in order to build the histogram of gradients associated to the collocated luma CB, the pairs of a vertical gradient and a horizontal gradient are extracted from the second and third lines in this luma CB instead of being extracted from the regular set of DIMD decoded reference samples around this luma CB.

[0050] 1.7 Fusion of Chroma Intra Prediction Modes

[0051] In ECM, two chroma intra prediction signals can be fused together. One of the two chroma intra prediction signals is predicted using one of the DM mode, DIMD chroma mode and the four default modes (non-LM mode) . The other chroma intra prediction signal is predicted using cross-component linear prediction modes (LM mode) . Two different methods are supported.

[0052] In the first method, the LM mode can be either MM-CCLM or MM-CCCM, and the final predictor is derived as follows: predC (i, j) = (w0×pred0 (i, j) +w1×pred1 (i, j) + (1<< (shift-1) ) ) >>shift where pred0 (i, j) is the predictor obtained by applying the non-LM mode, pred1 (i, j) is the  predictor obtained by applying the LM mode and predC (i, j) is the final predictor of the current chroma block.

[0053] The two weights, w0 and w1 are determined by the intra prediction mode of adjacent chroma blocks and shift is set equal to 2. Specifically, when the above and left adjacent blocks are both coded with LM modes, {w0, w1} = {1, 3} ; when the above and left adjacent blocks are both coded with non-LM modes, {w0, w1} = {3, 1} ; and otherwise, {w0, w1} = {2, 2} . Two template costs are calculated by fusing the angular chroma prediction with MM-CCLM or MM-CCCM, respectively, and the one of the two CCPs which provides a smaller template cost is utilised to derive pred1.

[0054] In the second method, the LM mode can be either MMLM or CCLM mode, and the final predictor is derived as follows: predC (i, j) = α0×pred0 (i, j) + α1×rec′L (i, j) +α2×β, where pred0 (i, j) is the predictor obtained by applying the non-LM mode, rec′L (i, j) is the set of  downsampled reconstructed luma samples at co-located positions and predC (i, j) is the final predictor of the current chroma block. β is a fixed value and is set equal to 512 for 10-bit content. The three weights, α0, α1 and α2 are derived from the adjacent luma and chroma samples using the same LDL derivation method as in CCCM.

[0055] For the syntax design, one index is signalled to indicate whether fusion is applied and which method is used, as shown in Table 1. It is noted that for I slices, the non-LM mode can be DM mode, DIMD chroma mode and the four default modes. For non-I slices, only DIMD chroma mode is allowed to be fused with LM modes. Table 1. The index to indicate whether fusion is applied and which method is used.

[0056] 1.8 JVET-AG0078: AHG12: Intra-prediction using Merged Histogram of Gradients

[0057] This contribution proposes to add a new intra prediction mode, referred to as Merged Intra Mode Derivation (MIMD) , based on the computation of a Merged Histogram of Gradients (MHoG) . Similar to DIMD, up to five MIMD modes are derived from the MHoG and are then blended together. The derivation of the modes and blending weights follows the same process to derive DIMD modes and blending weights from the HoG. But differently than DIMD, the MHoG is not computed directly analysing the template samples, but rather is computed based on information extracted from neighbouring blocks. More details can be found in JVET-AG0078.

[0058] In particular, a number of N neighbouring blocks is considered. A neighbouring block is considered if it is encoded with at least one directional intra-prediction mode. Hi (m) refers to the amplitude of directional mode m in the HoG, where m can take values from 0 to M where M is the maximum number of intra-prediction modes. A normalisation process can be used when considering Hi.

[0059] Then, the MHoG can be computed using all the HoGs extracted from available neighbouring blocks as:

[0060] Finally, the MHoG is used to compute MIMD modes and weights. The directional modes and their weights corresponding to the five highest amplitudes in the MHoG are selected as directional modes and weights for MIMD. More details can be found in JVET-AG0078.

[0061] 1.9 JVET-AH0076: EE2-2.2: Occurrence-Based Intra Coding (OBIC)

[0062] The Occurrence-based intra coding (OBIC) method derives the intra prediction modes of the current block based on the sample-wise occurrence of the intra modes in the spatial neighbourhood of the block. For this, adjacent and non-adjacent spatial neighbouring blocks are checked and the intra prediction modes of the blocks are collected into an occurrence histogram. The OBIC introduces the Histogram of oCcurrence (HoC) , which consists of the intra modes and their sample-wise occurrences. The occurrence values are calculated based on the number of samples that are coded in a certain intra prediction mode in that neighbourhood. For example, if a block is coded with an IPM mode, the occurrence of the mode in that particular block is calculated as: HoC [IPM] += uiWidth *uiHeight, where uiWidth and uiHeight are the width and height of a spatial neighbouring block.

[0063] The occurrences of the existing modes from the spatial neighbourhood blocks are accumulated into the histogram.

[0064] Up to 5 angular modes with the highest occurrence along with the planar mode are selected from the HoC and used for final prediction by blending the prediction of the selected modes.

[0065] For blocks using more than one intra mode for prediction, all the intra modes of such blocks are selected and used when creating the OBIC histogram. Examples of those blocks are shown below: · DIMD: up to 5 angular modes · TIMD: up to 2 modes · SGPM: 2 modes · OBIC: up to 5 angular modes.

[0066] The virtual intra prediction modes (VIPMs) of following blocks are considered only in inter slices when creating the histogram of OBIC mode: · MIP block · IntraTMP block · IBC block · EIP block.

[0067] The blending weights and the planar mode’s weight are calculated similar to the DIMD mode, but instead of using gradient values from the template, the occurrence values are used for OBIC. More details can be found in JVET-AH0076

[0068] 1.10 JVET-AH0128: EE2-2.5: Combination of EE2-2.2, EE2-2.3, and EE2-2.4

[0069] Test EE2-2.5 combines OBIC, MIMD and the method proposed in JVET-AH0090. The method consists of building a list of DIMD parameters similar to those in JVET-AH0090. In Test EE2-2.5a, these parameters are derived using the MIMD derivation process, as well as from spatial adjacent and non-adjacent neighbouring blocks. In Test EE2-2.5b, the OBIC derivation process is also used to derive the list of DIMD parameters. More details can be found in JVET-AH0128.

[0070] In this disclosure, an intra merge scheme is proposed to improve intra prediction using a merge scheme. This intra merge mode can also be named as decoder-derived intra prediction (DIP) merge mode. The concept of the merge scheme is to inherit (or reference) the information from previous coded blocks and use the inheritance information to predict the current block. The main difference between the proposed intra merge scheme and the related intra MPM is described as follows. For an intra block, the related intra MPM can only inherit the intra prediction mode signalled in the previous coded block, such as the intra prediction mode with the mode index referring to angular prediction modes, DC, or planar from the above neighbouring block and / or the left neighbouring block. The proposed intra merge scheme brings more flexible inheritance flows and / or more efficient inheritance information in the following aspects.

[0071] The first aspect. In some embodiments specified in the section “inheritance information setting” , with the proposed intra merge scheme, the inheritance information can be any mode information, any sample information, any block information, any model information, and / or any information associated with prediction generation.

[0072] The second aspect. In some embodiments specified in the section “inheritance block setting” , with the proposed intra merge scheme, the current block can find the previous coded blocks containing the inheritance information through several proposed merge methods.

[0073] The third aspect. in the section “target mode setting and shortcut syntax setting” , for some embodiments, the proposed merge scheme is to obtain the information associated with prediction generation of the current block coded by mixed-mode merge (e.g. the proposed intra merge scheme with the target mode from mixed modes) .

[0074] In one embodiment, one merge list containing one or more merge candidates is created. When generating the prediction of the current block coded by the target mode, one or more inheritance blocks (or called target blocks) are selected from the merge candidate list or among multiple merge candidates. Then, the inheritance information from the inheritance blocks is used for the target mode to generate prediction. In some embodiments, the inheritance information of each merging candidate can belong to different target modes, which corresponds to mixed modes. For example, the inheritance information of merge candidates (or called candidate modes) can be related to DIMD, and / or TIMD, and / or MRL, and / or EIP. One merge list can contain the merge candidates with different target modes. The current block can be predicted following DIMD or TIMD or MRL or EIP depending on which merge candidate is used.

[0075] In one sub-embodiment, the inheritance information from the inheritance block only contains inheritance information related to luma components. Only the prediction of the luma components of the current block is generated based on the inheritance information related to luma components.

[0076] In one sub-embodiment, the inheritance information from the inheritance block also contains inheritance information related to chroma components. The prediction of the chroma components of the current block can be generated based on the inheritance information related to chroma components.

[0077] In one sub-embodiment, one set of inheritance blocks are selected from the merge list, and the prediction of the luma component of the current block is generated based on the inheritance information from the selected inheritance blocks.

[0078] In one sub-embodiment, one set of inheritance blocks is selected from the merge list. The predictions of all the colour components (including luma components and chroma components) of the current block are generated based on the inheritance information from the selected inheritance blocks. In this case, each component is generated based on its respective inheritance information. Specifically, the luma component is generated using inheritance information related to luma, while the chroma components are generated using inheritance information related to chroma. In one sub-embodiment, one set of inheritance blocks is selected from the merge list for each component. The prediction of each component of the current block is generated based on the inheritance information from their respective selected inheritance blocks.

[0079] In one sub-embodiment, one set of inheritance blocks is selected from the merge list for luma component, and one set of inheritance block is selected for the chroma component. The prediction for each component of the current block is generated based on the inheritance information from its respective selected inheritance blocks. In this case, Cb and Cr components will use the same selected inheritance blocks.

[0080] In one sub-embodiment, the list is created with the methods described in Section 2.2: “Inheritance block setting” below.

[0081] In one embodiment, when creating the merge list (s) and / or selecting inheritance blocks from the merge list (s) , one set of allowed target luma modes is determined and / or one set of allowed target chroma modes is determined.

[0082] In one sub-embodiment, cross-component prediction related modes are not in the allowed target chroma modes.

[0083] In one sub-embodiment, the inheritance block can be allowed to be added into the merge list if the target luma mode of the inheritance block is in the set of allowed target luma modes.

[0084] In one sub-embodiment, the inheritance block can be allowed to be added into the merge list if the target chroma modes of the inheritance block is in the set of allowed target chroma modes.

[0085] In one sub-embodiment, inheritance block can be allowed to be added into the merge list if both the target luma mode and the target chroma modes of the inheritance block is in the set of allowed target luma modes and the set of allowed target chroma modes respectively. In one case, one set of inheritance blocks is selected from the merge list. The predictions of all the colour components of the current block are generated based on the inheritance information from the selected inheritance blocks.

[0086] In one sub-embodiment, inheritance block can be allowed to be added into the merge list if the target luma mode of the inheritance block is in the set of allowed target luma modes. In one case, one set of inheritance blocks is selected from the merge list for each component. For chroma components, the candidates with target chroma mode not in the set of allowed target chroma modes cannot be selected. In another case, one set of inheritance blocks is selected from the merge list for luma component, and one set of inheritance blocks is selected for chroma components. For chroma components, the candidates with target chroma mode not in the set of allowed target chroma modes cannot be selected.

[0087] In one embodiment, multiple merge lists are created.

[0088] In one sub-embodiment, one merge list is created for each colour component. That is, one list for luma component, one list for Cb component and one list for Cr component.

[0089] In one sub-embodiment, one merge list is created for the luma component, and one merge list is created for the chroma component.

[0090] In one sub-embodiment, when creating the merge list for the chroma component, one set of allowed target chroma modes is determined. In one case, cross-component prediction related modes are not in the allowed target chroma modes.

[0091] In one embodiment, there is a maximum number of allowed candidates in the merge candidate list.

[0092] In one sub-embodiment, the maximum number is 12.

[0093] 2.1 Inheritance Information Setting

[0094] The inheritance information for generating prediction of the current block is defined using a target mode.

[0095] 2.1.1 Inheritance information setting for DIMD

[0096] For DIMD mode, the inheritance information includes elements (a) and / or (b) and / or (c) and / or (d) as follows. a) one or more histogram (bar) values for the available DIMD intra prediction modes (e.g.  DC, planar, and / or directional prediction modes) b) the N intra prediction modes (with the highest N histogram bars) suggested by the  histogram values c) DIMD weighting information and / or fusion or not d) reference line information and / or wide-angle conditions.

[0097] 2.1.2 Inheritance information setting for TIMD

[0098] For TIMD mode, the inheritance information includes elements (a) and / or (b) and / or (c) and / or (d) as follows. a) one or more TIMD cost values for the available TIMD intra prediction modes (e.g. DC,  planar, and / or directional prediction modes) b) the N intra prediction modes (with the smallest N TIMD costs) suggested by the TIMD  costs c) TIMD weighting information and / or fusion or not d) reference line information and / or wide-angle conditions.

[0099] 2.1.3 Inheritance information setting for MRL

[0100] For MRL mode, the inheritance information includes elements (a) and / or (b) and / or (c) and / or (d) as follows. a) one or more reference lines jointly with intra prediction modes (e.g. DC, planar, and / or  directional prediction modes) b) the N intra prediction modes (with the smallest N TIMD costs) suggested by the TIMD  costs c) weighting information and / or fusion or not d) reference line information and / or wide-angle conditions.

[0101] 2.1.4 Inheritance information setting for EIP

[0102] For EIP mode, the inheritance information includes elements (a) and / or (b) and / or (c) as follows. a) the filter shape b) all or parts of the filter coefficients c) the template used to derive the filter coefficients.

[0103] 2.1.5 Inheritance information setting for mixed modes

[0104] When the target mode is mixed-mode merge mode, which can also be named as decoder-derived intra prediction (DIP) merge mode, the inheritance information includes all or any subset of the following items. Item 1: (a) and / or (b) and / or (c) and / or (d) in Section 2.1.1 Item 2: (a) and / or (b) and / or (c) and / or (d) in Section 2.1.2 Item 3: (a) and / or (b) and / or (c) and / or (d) in Section 2.1.3 Item 4: coding mode (e.g. DIMD-related mode or not, TIMD-related mode or not, MRL- related mode or not, SGPM-related mode or not, ISP-related mode or not, intraTMP-related mode or not, MPM-related mode or not, MIP-related mode or not, EIP-related mode or not, and / or any mode related to a pre-defined intra mode) and / or corresponding information of the coding mode. Item 5: (a) and / or (b) and / or (c) in Section 2.1.4.

[0105] In one embodiment, for item 1 and / or item 2 and / or item 3 and / or item 5, the embodiments in Section 2.1.1 and / or 2.1.2 and / or 2.1.3 and / or 2.1.4 can be used to obtain the inheritance information.

[0106] In another embodiment, item 4 is included in the inheritance information and / or the coding mode in item 4 decides the corresponding information to be further included in the mixed-mode inheritance information. For example, the coding mode in item 4 is MRL-related mode and only the corresponding information from item 3 is included in the mixed-mode inheritance information.

[0107] In one embodiment, the coding mode in item 4 is from a previous coded block specified in Section 2.2 “Inheritance block setting” . The previous coded block may store the mixed-mode inheritance information. The stored mixed-mode inheritance information of the previous coded block can be referenced by subsequent coding blocks (e.g. the current block) . For example, for each block containing the mixed-mode information, the mixed-mode information is stored and / or referenced by subsequent coding blocks. For example, for each pre-defined unit containing the mixed-mode information, the mixed-mode information is stored and / or referenced by subsequent coding blocks. The unit can be any pre-defined region or kxk grids, where k can be 2, 4, 8, 16, or any pre-defined positive integer.

[0108] In one sub-embodiment, the coding mode is EIP. The previous coded block generates the corresponding EIP inheritance information (e.g. filter shape and / or filter coefficients) and / or stores the mixed-mode inheritance information (e.g. coding mode and / or the corresponding information) .

[0109] In one sub-embodiment, the coding mode is SGPM (Spatial Geometric Partitioning Mode) . This mode generates multiple hypotheses of predictions from different intra prediction modes and combines the hypotheses of predictions to form the final prediction using the weights based on a geometric partitioning line as inter GPM. The previous coded block generates the corresponding SGPM inheritance information (e.g. intra prediction modes and / or partitioning line and / or weights) and / or stores the mixed-mode inheritance information (e.g. coding mode and / or the corresponding information) .

[0110] In one sub-embodiment, the coding mode is ISP (Intra Sub-Partition) . This mode splits the current block into several sub-partitions and generates prediction of each sub-partition using the reconstructed samples (possibly from the previous sub-partition) adjacent to the current sub-partition as the reference samples. The previous coded block generates the corresponding ISP inheritance information (e.g. one or more intra prediction modes and / or splitting method) and / or stores the mixed-mode inheritance information (e.g. coding mode and / or the corresponding information) .

[0111] In one sub-embodiment, the coding mode is intraTMP (intra Template Matching Prediction) . This mode uses template matching to find a displacement (i.e., block vector) to refer a reference block in a pre-defined range of the current picture and generates prediction using the reconstructed samples of the reference block. The previous coded block generates the corresponding intraTMP inheritance information (e.g. one or more block vectors) and / or stores the mixed-mode inheritance information (e.g. coding mode and / or the corresponding information) .

[0112] In another embodiment, the coding mode is MIP (Matrix-based Intra Prediction) . This mode uses a pre-defined matrix and pre-defined adjacent or non-adjacent reference samples to generate the prediction. The previous coded block generates the corresponding MIP inheritance information (e.g. one or more matrix indications and / or one or more matrix coefficients of the indicated matrixes and / or block width and / or block height and / or block area and / or block position) and / or stores the mixed-mode inheritance information (e.g. coding mode and / or the corresponding information) .

[0113] In another embodiment, instead of storing all mixed-mode information (which may be used for reference) , only the subset of mixed-mode information is stored in order to reduce the storage. For example, only 3 pieces of information from all are stored. For example, the subset is the first 3 pieces of information from all. The first 3 pieces of information always comprise item 4. While 3 is used in the example, any pre-defined positive number can be used.

[0114] In one embodiment, the inheritance information of the target mode depends on an inherited coding mode value of the selected merge candidate.

[0115] In one sub-embodiment, if the coding mode of the selected merge candidate is DIMD, TIMD, EIP or MRL, the inherited coding mode value is the same as the coding mode (i.e., being DIMD, TIMD, EIP or MRL respectively) .

[0116] In one sub-embodiment, for a block coded in DIP merge mode, the inherited mode type value is set as following: · When the current block is coded in DIP merge mode, the block will select a merge  candidate to generate prediction. · If the selected merging candidate for the current block is coded in DIMD, TIMD, MRL  or EIP, the inherited mode type value of the current block is set to DIMD, TIMD, MRL or EIP respectively. · If the selected merging candidate for the current block is coded in DIP merge mode, the  inherited mode type value of the current block is set to the inherited mode type value of the selected merging candidate.

[0117] In one sub-embodiment, if the inherited mode type is DIMD, the inheritance information setting follows the description in Section 2.1.1

[0118] In one sub-embodiment, if the inherited mode type is TIMD, the inheritance information setting follows the description in Section 2.1.2

[0119] In one sub-embodiment, if the inherited mode type is MRL, the inheritance information setting follows the description in Section 2.1.3

[0120] In one sub-embodiment, if the inherited mode type is EIP, the inheritance information setting follows the description in Section 2.1.4

[0121] 2.1.6 Inheritance information setting for chroma direct mode

[0122] For chroma direct mode, the inheritance information includes element (a) . a) the block is coded in chroma direct mode or not.

[0123] 2.1.7 Inheritance information setting for DIMD chroma mode

[0124] For DIMD chroma mode, the inheritance information includes elements (a) and / or (b) . a) one or more histogram (bar) values for the available intra prediction modes (e.g. DC,  planar, and / or directional prediction modes) b) the N intra prediction modes (with the highest histogram bars) suggested by the  histogram values.

[0125] 2.1.8 Inheritance information setting for chroma fusion mode

[0126] For chroma fusion mode (as described in Section 1.12) , the inheritance information includes element (a) . a) The LM mode to be fused.

[0127] 2.1.9 Inheritance information setting for cross-component prediction modes

[0128] For cross-component prediction modes, the inheritance information includes elements (a) and / or (b) and / or (c) . a) the coding mode (e.g., CCLM, MMLM, CCCM, GLM, GL-CCCM, MDF-CCCM,  NSCCCM, BVGCCCM, InterCCCM, and / or variants of these modes. ) b) the model parameters c) the classifying threshold if the coding mode is a multi-model cross-component mode d) the low pass filter flag.

[0129] 2.2 Inheritance Block Setting

[0130] 2.2.1 Inheritance information from the previous coded blocks

[0131] The inheritance information is obtained from the previous coded blocks.

[0132] In one embodiment, one or more candidates of spatial adjacent candidates and / or non-adjacent candidates, history candidates, temporal candidates, default candidates, or any subset of above-mentioned candidates provide the inheritance information from the previous coded blocks.

[0133] In one embodiment, a merge candidate list, containing inheritance information, is built for the current block. Similar to the inter merge mode candidate list, the merge candidate list includes spatial adjacent candidates and / or non-adjacent candidates, history candidates, temporal candidates, default candidates, or any subset of above-mentioned candidates.

[0134] In one sub-embodiment, after building the merge candidates list, one or more candidates are selected from the list for the current block to use. The selection depends on explicitly signalling an index or implicitly select the one or more (promising) candidates. For example, the first one or more candidates with the smallest costs are selected. For example, the explicit index indicates one or more candidates in the reordered list as the selected candidates. The cost calculation and / or list reordering may depend on the template matching process which calculates the cost based on the distortion between the prediction (using a certain candidate) on the template and the reconstruction on the template. The candidates in the list are reordered based on the cost in ascending order.

[0135] 2.2.1.1 Spatial adjacent candidates and non-adjacent candidates

[0136] The spatial adjacent candidates are from the adjacent neighbouring blocks of the current block. The adjacent neighbouring blocks can be the same as the 5 spatial neighbouring blocks for inter merge mode or any subset of the adjacent neighbouring blocks of the current block. For example, for adding the spatial adjacent candidates into the merge list, as in Fig. 5, the inclusion order can be A1 → B1 → A0 → B0 → B2 or B1 → A1 → B0 → A0 → B2. The non-adjacent candidates are from a search range around (but not adjacent to) the current block. The search range can be the same as the search range of non-adjacent candidates for inter merge mode. The non-adjacent candidates can be from pre-defined positions and are added into the merge list in a pre-defined inclusion order. For example, the pre-defined positions and the inclusion order are the same as those of the non-adjacent candidates of inter merge mode.

[0137] 2.2.1.2 History candidates

[0138] The history candidates are selected from a history-based buffer array. In the history-based buffer array, the inheritance information of each valid previous coded block is stored, where the valid previous coded block refers to any block containing inheritance information.

[0139] 2.2.1.3 Temporal candidates

[0140] The temporal candidates are obtained from the inheritance information stored in one or more previous coded picture. The temporal candidates are obtainable when the current slice / picture is a non-intra slice / picture.

[0141] In one embodiment, the temporal candidates can be from the block at some pre-defined positions (x′, y′) of the previous coded slices / picture.

[0142] In one sub-embodiment, the positions are inside the corresponding area of the current encoding block.

[0143] In one sub-embodiment, the pre-defined positions are outside of the corresponding area of the current encoding block.

[0144] In one sub-embodiment, the pre-defined positions can be determined based on the position, width and height of the current block.

[0145] In one sub-embodiment, the pre-defined positions can be determined based on the position, and some pre-defined fixed x-y distances.

[0146] In one embodiment, the previous coded pictures are among the pictures in the reference lists.

[0147] In one embodiment, the previous coded pictures are the same pictures as the collocated picture of the regular inter merge mode.

[0148] In one embodiment, there can be more than one selected / pre-defined previous coded picture.

[0149] In one embodiment, the previous coded pictures can be signalled in the picture / slice header. The reference list and the reference index are signalled in the picture / slice header. For example, L0 [0] is signalled. For another example, L1 [0] is signalled.

[0150] In one embodiment, the previous coded pictures are selected from a picture set with some pre-defined rules.

[0151] In one embodiment, the previous coded pictures are selected from pictures in the reference lists. The selection can be determined based on POC, and / or POC distance, and / or QP, and / or QP difference. For another example, pictures with a smaller POC are selected. For another example, the picture with a larger POC is selected. For example, the picture with the smallest POC distance from the current picture is selected. For another example, the picture with the smaller QP is selected. For another example, the picture with the larger QP is selected. For another example, the picture with smaller QP difference with the current picture is selected.

[0152] In one embodiment, the previous coded picture is the most recently coded I-picture.

[0153] In one embodiment, the rules to select / not select the previous coded pictures described in the paragraphs above can be combined. For example, the picture whose QP is the smallest among the un-scaled pictures in the reference lists is selected.

[0154] 2.2.1.4 Default candidates

[0155] The default candidates are the candidates containing default information and / or the default information is derived according to the candidates already put in the merge candidate list. In one embodiment, the default modes for the default candidates can be derived using MIMD scheme and / or OBIC scheme and / or EIP derived mode scheme and / or any existing or mentioned intra scheme (e.g. TIMD, DIMD, EIP, and / or MRL) and / or any variations of the existing or mentioned intra scheme.

[0156] 2.3 Target Mode Setting and Shortcut Syntax Setting

[0157] 2.3.1 Target mode setting for DIMD (DIMD merge mode)

[0158] This section specifies a DIMD merge mode. When DIMD merge mode is used, the DIMD inheritance information from one or more pre-defined candidates according to the inheritance block setting is used to decide the prediction information as required for generating the prediction of the current block. For example, the inheritance information refers to the histogram values from the previous coded block and is used to decide one or more intra prediction modes (one kind of prediction information) and / or corresponding weights for the current block as regular DIMD. Then, unified with regular DIMD, the hypothesis of prediction from each derived intra prediction mode is combined using blending process to form the final prediction of the current block.

[0159] 2.3.2 Target mode setting for TIMD (TIMD merge mode)

[0160] This section specifies a TIMD merge mode. When the TIMD merge mode is used, the TIMD inheritance information from one or more pre-defined candidates (e.g. each candidate providing N intra prediction modes for the available TIMD intra prediction modes and TIMD weighting information, such as {IPM1, IPM2, W1, W2} , and / or fusion or not, and wide-angle conditions) according to the inheritance block setting, is used to decide the prediction information as required for generating the prediction of the current block. For example, the merge candidate list is built and reordered according to the costs in the template matching process. The template size and the template cost calculation may be unified with regular TIMD. After reordering the TIMD merge candidates, the first 2 or any pre-defined number candidates from the list are kept for signalling. Then, unified with regular TIMD, the hypothesis of prediction from each inherited intra prediction mode is combined using blending process to form the final prediction of the current block.

[0161] 2.3.3 Target mode setting for MRL (MRL merge mode)

[0162] This section specifies an MRL merge mode. When the MRL merge mode is used, the inheritance information from one or more pre-defined candidates (e.g. each candidate providing one or more reference lines jointly with intra prediction modes (IPM1 and MRL1) and / or fusion or not, and wide-angle conditions) according to the inheritance block setting, is used to decide the prediction information as required for generating the prediction of the current block. For example, the merge candidate list is built and reordered according to the costs in the template matching process. The template size and the template cost calculation may be unified with regular TMRL. After reordering the MRL merge candidates, the first 2 or any pre-defined number of candidates from the list are kept for signalling. Then, unified with regular intra prediction, such as inherited IPM1 and MRL1, the predictions from the inherited intra prediction mode and the inherited reference line are used to form the final prediction of the current block. For the example of inherited IPM1 with MRL1 and IPM2 with MRL2, the hypotheses of prediction from the inherited intra prediction modes with the corresponding inherited reference line are combined using blending process to form the final prediction of the current block. For the example of inherited IPM1 with MRL1 / W1 and IPM2 with MRL2 / W2, the hypotheses of prediction from inherited intra prediction modes with the corresponding inherited reference line are combined using blending process with W1 and W2 to form the final prediction of the current block.

[0163] 2.3.4 Target mode setting for mixed modes

[0164] This section specifies a mixed-mode merge mode. When the mixed-mode merge mode is used, the inherited mixed-mode information is used to generate the prediction of the current block. The inheritance information of a candidate may refer to the coding mode and / or the corresponding information. The current block obtains its own prediction information from the inheritance information.

[0165] An example of the coding mode from the inherited mixed-mode information being DIMD-related is shown as follows: - In one case or another, DIMD merge mode (Section 2.3.1) or regular DIMD is applied to the  current block.

[0166] An example of the coding mode from the inherited mixed-mode information being TIMD-related is shown as follows: - In one case or another, TIMD merge mode (Section 2.3.2) or regular TIMD is applied to the  current block.

[0167] An example of the coding mode from the inherited mixed-mode information being MRL-related is shown as follows: - In one case or another, MRL merge mode (Section 2.3.3) or regular intra prediction using  MRL or TMRL is applied to the current block.

[0168] An example of the coding mode from the inherited mixed-mode information being EIP-related is shown as follows: - In one case or another, EIP merge mode or EIP derived mode is applied to the current block.

[0169] In another embodiment, only one candidate (e.g., the first available candidate) according to the inheritance block setting, is used to decide the prediction information for the current block.

[0170] In another embodiment, one or more candidates are used to decide the prediction information for the current block. For example, all available candidates are used to decide the prediction information for the current block. For example, assume a pre-defined maximum number be N, the first N available candidates according to the checking order are used to decide the prediction information for the current block. If the number of total available candidates is smaller than N, all the available candidates are used to decide the prediction information for the current block.

[0171] In one embodiment, an additional flag is signalled to indicate whether DIP merge mode is used or not before the DIMD flag. If DIP merge mode is used, a candidate index is additionally signalled.

[0172] In one embodiment, the candidate index is coded using truncated unary, and each bin of candidate index is context coded with a separate context.

[0173] 2.3.5 Target mode setting when supporting chroma prediction

[0174] In one embodiment, when different sets of candidates are selected for luma and chroma components, the candidate indexes for the luma component and the chroma components are all signalled.

[0175] In one embodiment, when multiple merge lists are created, meaning the luma component and chroma components use different merge lists, there can be one flag to indicate whether both the luma component and chroma components will be coded in the merge scheme or not. Additionally, the candidate indexes for luma and chroma components are signalled.

[0176] In one embodiment, when multiple merge lists are created, meaning luma component and chroma components use different merge lists, there can be one flag to indicate whether the luma component is coded in the merge scheme or not, and the candidate index for the luma component are signalled. Additionally, there can be another flag to indicate whether the chroma component is coded in the merge scheme or not, and the candidate index (es) for the chroma component is (are) signalled.

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

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

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

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

[0181] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods of deriving mixed-mode intra prediction for chroma components using inheritance information of previous coded blocks can be implemented in an Intra coding module (e.g. Intra Pred. 150 in Fig. 1B) in a decoder or an Intra coding module is an encoder (e.g. Intra Pred. 110 / in Fig. 1A) . However, the decoder or encoder may also use additional processing unit to implement the required cross-component prediction processing. While the Intra Pred. units (e.g. unit 110 in Fig. 1A and unit 150in Fig. 1B) are shown as individual processing units, they may correspond to executable software or firmware codes for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .

[0182] Fig. 7 illustrates a flowchart of an exemplary video coding system that derives mixed-mode intra prediction based on inheritance from previous coded blocks according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with a current block comprising a first-colour component and one or more second-colour components is received in step 710, 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. Inheritance block setting is determined in step 720, wherein the inheritance block setting corresponds to inheritance information or candidate modes associated with previous coded blocks. A set of merge candidates is constructed from the previous coded blocks as specified by the inheritance block setting in step 730. One or more target blocks are selected from the set of merge candidates in step 740. Target prediction for the current block is generated following a target mode and the inheritance information associated with said one or more target blocks in step 750, wherein the inheritance information from said one or more target blocks includes the inheritance information related to the first-colour component and / or said one or more second-colour components, and the prediction of the current block for the first-colour component and / or said one or more second-colour components is generated based on the inheritance information related to the first-colour component and / or said one or more second-colour components respectively. The current block is encoded or decoded by using the target prediction in step 760.

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

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

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

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

Claims

1.A method of video coding, the method comprising:receiving input data associated with a current block comprising a first-colour component and one or more second-colour components, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;determining inheritance block setting, wherein the inheritance block setting corresponds to inheritance information or candidate modes associated with previous coded blocks;constructing a set of merge candidates from the previous coded blocks as specified by the inheritance block setting;selecting one or more target blocks from the set of merge candidates;generating target prediction for the current block following a target mode and the inheritance information associated with said one or more target blocks, wherein the inheritance information from said one or more target blocks includes the inheritance information related to the first-colour component and / or said one or more second-colour components, and the prediction of the current block for the first-colour component and / or said one or more second-colour components is generated based on the inheritance information related to the first-colour component and / or said one or more second-colour components respectively; andencoding or decoding the current block by using the target prediction.2.The method of Claim 1, wherein the inheritance information from said one or more target blocks only includes the inheritance information related to the first-colour component, and only the prediction of the current block for the first-colour component is generated based on the inheritance information related to the first-colour component.3.The method of Claim 1, wherein the inheritance information from said one or more target blocks includes the inheritance information related to said one or more second-colour components, and the prediction of the current block for said one or more second-colour components is generated based on the inheritance information related to said one or more second-colour components.4.The method of Claim 1, further comprising determining a set of allowed target first-colour modes and / or a set of allowed target second-colour modes.5.The method of Claim 4, wherein a target previous coded block is allowed to be added into the set of merge candidates if both target first-colour mode and target second-colour modes of the target previous coded block are in the set of allowed target first-colour modes and the set of allowed target second-colour modes respectively.6.The method of Claim 4, wherein the target prediction for the first-colour component and said one or more second-colour components is generated based on the first-colour component and said one or more second-colour components of the inheritance information associated with said one or more target blocks.7.The method of Claim 4, wherein the target mode associated with said one or more target blocks selected for the current block comprises chroma direct mode, DIMD chroma mode, chroma fusion mode, or cross-component prediction mode.8.The method of Claim 7, wherein when the target mode corresponds to the chroma direct mode, the inheritance information associated with said one or more target blocks comprises whether the block being coded in the chroma direct mode or not.9.The method of Claim 7, wherein when the target mode corresponds to the DIMD chroma mode, the inheritance information associated with said one or more target blocks comprises one or more histogram values for available intra prediction modes, N intra prediction modes as suggested by histogram values, or both.10.The method of Claim 7, wherein when the target mode corresponds to the chroma fusion mode, the inheritance information associated with said one or more target blocks comprises LM (Linear Model) mode to be fused.11.The method of Claim 7, wherein when the target mode corresponds to the cross-component prediction mode, the inheritance information associated with said one or more target blocks coding modes, model parameters, classifying threshold for the coding mode being a multi-model cross-component mode, a low pass filter flag, or a combination thereof.12.The method of Claim 4, wherein when said one or more target blocks for the first-colour component and said one or more target blocks for said one or more second-colour components are different, separate candidate indexes for the first-colour component and said one or more second-colour components are signalled or parsed.13.The method of Claim 4, wherein when the set of merge candidates for the first-colour component and the set of merge candidates for said one or more second-colour components are different, a flag is used to indicate whether the first-colour component and said one or more second-colour components are coded in a merge scheme or not.14.The method of Claim 13, wherein separate candidate indexes for the first-colour component and said one or more second-colour components are signalled or parsed.15.The method of Claim 4, wherein when the set of merge candidates for the first-colour component and the set of merge candidates for said one or more second-colour components are different, a flag is used to indicate whether the first-colour component is coded in a merge scheme or not, and a candidate index is signalled or parsed.16.The method of Claim 15, wherein a second flag is used to indicate whether said one or more second-colour components are coded in a second merge scheme or not, and one or more second candidate indexes are signalled or parsed.17.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receive input data associated with a current block comprising a first-colour component and one or more second-colour components, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;determine inheritance block setting, wherein the inheritance block setting corresponds to inheritance information or candidate modes associated with previous coded blocks;construct a set of merge candidates from the previous coded blocks as specified by the inheritance block setting;select one or more target blocks from the set of merge candidates;generating target prediction for the current block following a target mode and the inheritance information associated with said one or more target blocks, wherein the inheritance information from said one or more target blocks includes the inheritance information related to the first-colour component and / or said one or more second-colour components, and the prediction of the current block for the first-colour component and / or said one or more second-colour components is generated based on the inheritance information related to the first-colour component and / or said one or more second-colour components respectively; andencode or decode the current block by using the target prediction.

Citation Information

Patent Citations

  • Intra-frame chroma prediction mode rapid section

    CN111885382A

  • Chroma coding mode determination based on matrix-based intra prediction

    CN113785588A

  • Intra chroma mode list construction for video coding

    US20230336716A1

  • Image encoding and decoding using intra prediction

    WO2018124686A1