Methods and apparatus of unified intra merge mode with inter prediction in video coding systems

The UIM mode addresses inefficiencies in combining intra and inter prediction by jointly inheriting luma and chroma information from neighboring blocks, improving coding accuracy and efficiency in video coding systems.

WO2026067430A1PCT designated stage Publication Date: 2026-04-02MEDIATEK INC
View PDF 3 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-09-24
Publication Date
2026-04-02

AI Technical Summary

Technical Problem

Existing video coding systems face challenges in efficiently combining intra and inter prediction modes, particularly in handling luma and chroma intra prediction information, leading to suboptimal coding efficiency and accuracy.

Method used

A new combined prediction mode is introduced, called Unified Intra Merge (UIM) mode, which jointly inherits luma and chroma intra prediction information from neighboring spatial or temporal blocks, using weighted sums and inheritance mechanisms to enhance prediction accuracy and efficiency.

Benefits of technology

The UIM mode improves coding performance by accurately combining intra and inter prediction, reducing computational complexity and enhancing video coding efficiency.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025123509_02042026_PF_FP_ABST
    Figure CN2025123509_02042026_PF_FP_ABST
Patent Text Reader

Abstract

A method and apparatus of deriving a new merge list are disclosed. According to the method, input data associated with a current block comprising a luma component and a chroma component 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 UIM (Unified Intra Mode) candidates are derived by inheriting luma and chroma intra prediction information jointly from same neighbouring spatial or temporal positions or blocks of the current block. One or more inter predictions candidates are derived. The current block is encoded or decoded by using one or more final predictions derived by combining said one or more UIM candidates and said one or more inter predictions candidates.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF UNIFIED INTRA MERGE MODE WITH INTER PREDICTION IN VIDEO CODING SYSTEMSCROSS REFERENCE TO RELATED APPLICATIONS

[0001] The present invention is a non-Provisional Application of and claims priority to U.S. Provisional Patent Application No. 63 / 699,998, filed on September 27, 2024. The U.S. Provisional Patent Application is hereby incorporated by reference in its entirety.FIELD OF THE INVENTION

[0002] The present invention relates to a new prediction mode for video coding systems. In particular, the present invention relates to a combined prediction mode based on Unified Intra Merge (UIM) Mode and inter prediction mode, where the UIM mode jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block. BACKGROUND AND RELATED ART

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

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

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

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

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

[0008] 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] 1.1 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] 1.2 Decoder-side Intra Mode Derivation (DIMD)

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

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

[0014] More details can reference JVET-O0449 “Non-CE3: Decoder-side Intra Mode Derivation (DIMD) with prediction fusion using Planar” and / or “Algorithm description of Enhanced Compression Model” (for example, JVET-AG2025) and / or JVET-AB0116.

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

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

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

[0018] More details can reference “Algorithm description of Enhanced Compression Model” (for example, JVET-AG2025) and / or JVET-AG0092.

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

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

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

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

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

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

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

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

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

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

[0029] The CCLM parameters (α and β) are derived with at most four neighbouring chroma samples and their corresponding down-sampled luma samples. Suppose the current chroma block dimensions are W×H, then W’ and H’ are set as – W’ = W, H’ = H when LM_LA mode is applied; – W’ =W + H when LM_Amode is applied; – H’ = H + W when LM_L mode is applied.

[0030] The above neighbouring positions are denoted as S [0, -1] …S [W’ -1, -1] and the left neighbouring positions are denoted as S [-1, 0] …S [-1, H’ -1] . Then the four samples are selected as  - S [W’ / 4, -1] , S [3 *W’ / 4, -1] , S [-1, H’ / 4] , S [-1, 3 *H’ / 4] when LM mode is applied  and both above and left neighbouring samples are available; - S [W’ / 8, -1] , S [3 *W’ / 8, -1] , S [5 *W’ / 8, -1] , S [7 *W’ / 8, -1] when LM-Amode is  applied or only the above neighbouring samples are available; - S [-1, H’ / 8] , S [-1, 3 *H’ / 8] , S [-1, 5 *H’ / 8] , S [-1, 7 *H’ / 8] when LM-L mode is  applied or only the left neighbouring samples are available.

[0031] The four neighbouring luma samples at the selected positions are down-sampled and compared four times to find two larger values: x0A and x1A, and two smaller values: x0B and x1B. Their corresponding chroma sample values are denoted as y0A, y1A, y0B and y1B. Then xA, xB, yA and yB are derived as: Xa= (x0A + x1A +1) >>1; Xb= (x0B + x1B +1) >>1; Ya= (y0A + y1A +1) >>1; Yb= (y0B + y1B +1) >>1               (2)

[0032] Finally, the linear model parameters α and β are obtained according to the following equations. β=Yb-α·Xb           (4)

[0033] Fig. 6 shows an example of the location of the left and above samples and the sample of the current block involved in the LM_LA mode. Fig. 6 shows the relative sample locations of N × N chroma block 610, the corresponding 2N × 2N luma block 620 and their neighbouring samples (shown as filled circles) .

[0034] The division operation to calculate parameter α is implemented with a look-up table. To reduce the memory required for storing the table, the diff value (difference between maximum and minimum values) and the parameter α are expressed by an exponential notation. For example, diff is approximated with a 4-bit significant part and an exponent. Consequently, the table for 1 / diff is reduced into 16 elements for 16 values of the significand as follows: DivTable [] = {0, 7, 6, 5, 5, 4, 4, 3, 3, 2, 2, 1, 1, 1, 1, 0}           (5)

[0035] This would have a benefit of both reducing the complexity of the calculation as well as the memory size required for storing the needed tables.

[0036] Besides the above template and left template can be used to calculate the linear model coefficients together, they also can be used alternatively in the other 2 LM modes, called LM_A, and LM_L modes.

[0037] In LM_Amode, only the above template is used to calculate the linear model coefficients. To get more samples, the above template is extended to (W+H) samples. In LM_L mode, only left template are used to calculate the linear model coefficients. To get more samples, the left template is extended to (H+W) samples.

[0038] In LM_LA mode, left and above templates are used to calculate the linear model coefficients.

[0039] To match the chroma sample locations for 4: 2: 0 video sequences, two types of down-sampling filter are applied to luma samples to achieve 2 to 1 down-sampling ratio in both horizontal and vertical directions. The selection of down-sampling filter is specified by a SPS level flag. The two down-sampling filters are as follows, which are corresponding to “type-0” and “type-2” content, respectively. RecL′ (i, j) = [recL (2i-1, 2j-1) +2·recL (2i-1, 2j-1) +recL (2i+1, 2j-1) + recL (2i-1, 2j) +2·recL (2i, 2j) +recL (2i+1, 2j) +4] >>3    (6) RecL′ (i, j) =recL (2i, 2j-1) +recL (2i-1, 2j) +4·recL (2i, 2j) +recL (2i+1, 2j) +  recL (2i, 2j+1) +4] >>3       (7)

[0040] Note that only one luma line (general line buffer in intra prediction) is used to make the down-sampled luma samples when the upper reference line is at the CTU boundary. An exception happens if the top line of the current block is a CTU boundary. In this case, the one-dimensional filter [1, 2, 1]  / 4 is applied to the above neighbouring luma samples in order to avoid the usage of more than one luma line above the CTU boundary.

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

[0042] 1.6.1 Multiple model CCLM

[0043] In the JEM (J. Chen, E. Alshina, G. J. Sullivan, J. -R. Ohm, and J. Boyce, Algorithm Description of Joint Exploration Test Model 7, document JVET-G1001, ITU-T / ISO / IEC Joint Video Exploration Team (JVET) , Jul. 2017) , multiple model CCLM mode (MMLM) is proposed for using two models for predicting the chroma samples from the luma samples for the whole CU. In MMLM, neighbouring luma samples and neighbouring chroma samples of the current block are classified into two groups, each group is used as a training set to derive a linear model (i.e., a particular α and β are derived for a particular group) . Furthermore, the samples of the current luma block are also classified based on the same rule for the classification of neighbouring luma samples. Three MMLM model modes (MMLM_LA, MMLM_T, and MMLM_L) are allowed for choosing the neighbouring samples from left-side and above-side, above-side only, and left-side only, respectively.

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

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

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

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

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

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

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

[0051] The filter coefficients ci are calculated by minimising MSE between predicted and reconstructed chroma samples in the reference area. Fig. 9 illustrates an example of the reference area which consists of 6 lines of chroma samples above and left of the PU. Reference area extends one PU width to the right and one PU height below the PU boundaries. Area is adjusted to include only available samples. The extensions to the area (indicated as “paddings” ) are needed to support the “side samples” of the plus-shaped spatial filter in Fig. 8 and are padded when in unavailable areas.

[0052] The MSE minimization is performed by calculating autocorrelation matrix for the luma input and a cross-correlation vector between the luma input and chroma output. Autocorrelation matrix is LDL decomposed and the final filter coefficients are calculated using back-substitution. The process follows roughly the calculation of the ALF filter coefficients in ECM, however LDL decomposition was chosen instead of Cholesky decomposition to avoid using square root operations.

[0053] 1.8 Gradient Linear Model (GLM)

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

[0055] For signalling, when the CCLM mode is enabled for the current CU, two flags are signalled separately for Cb and Cr components to indicate whether GLM is enabled for each component. If the GLM is enabled for one component, one syntax element is further signalled to select one of 16 gradient filters (1010-1040 in Fig. 10) for the gradient calculation. The GLM can be combined with the existing CCLM by signalling one extra flag in bitstream. When such combination is applied, the filter coefficients that are used to derive the input luma samples of the linear model are calculated as the combination of the selected gradient filter of the GLM and the down-sampling filter of the CCLM.

[0056] 1.9 Spatial Candidate Derivation

[0057] The derivation of spatial merge candidates in VVC is same to that in HEVC except the positions of first two merge candidates are swapped. A maximum of four merge candidates for current CU 1110 are selected among candidates located in the positions depicted in Fig. 11. The order of derivation is B0, A0, B1, A1 and B2. Position B2 is considered only when one or more than one CUs of position B0, A0, B1, A1 are not available (e.g., because it belongs to another slice or tile) or is intra coded. After candidate at position A1 is added, the addition of the remaining candidates is subject to a redundancy check which ensures that candidates with same motion information are excluded from the list so that coding efficiency is improved.

[0058] To reduce computational complexity, not all possible candidate pairs are considered in the mentioned redundancy check. Instead, only the pairs linked with an arrow in Fig. 12 are considered and a candidate is only added to the list if the corresponding candidate used for redundancy check does not have the same motion information.

[0059] 1.10 Temporal Candidates Derivation

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

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

[0062] 1.11 Non-adjacent Spatial Candidate

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

[0064] In the present invention, methods and apparatus of a new combined mode are disclosed. The new combined mode is derived by combining the Unified Intra Merge (UIM) mode and the inter prediction mode, where the UIM mode jointly inherits the luma and chroma intra prediction information from neighbouring spatial or temporal positions / blocks to the current block are disclosed. BRIEF SUMMARY OF THE INVENTION

[0065] A method and apparatus of deriving a new merge list are disclosed. According to the method, input data associated with a current block comprising a luma component and a chroma component 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 UIM (Unified Intra Mode) candidates are derived by inheriting luma and chroma intra prediction information jointly from same neighbouring spatial or temporal positions or blocks of the current block. One or more inter predictions candidates are derived. The current block is encoded or decoded by using one or more final predictions derived by combining said one or more UIM candidates and said one or more inter predictions candidates.

[0066] In one embodiment, said combining said one or more UIM candidates and said one or more inter predictions candidates is dependent on colour component or block size of the current block.

[0067] In one embodiment, said one or more final predictions are derived as a weighted sum of said one or more UIM candidates and said one or more inter predictions candidates. In one embodiment, combination weights for the weighted sum of said one or more UIM candidates and said one or more inter predictions candidates are dependent on prediction sample position inside the current block. In one embodiment, combination weights for the weighted sum of said one or more UIM candidates and said one or more inter predictions candidates are derived from reconstruction samples at a left and / or top neighbouring templates of the current block.

[0068] In one embodiment, inter mode associated with one or more inter predictions candidates corresponds to uni-directional inter prediction mode, bi-directional inter prediction mode, subblock-based inter prediction mode, regular merge mode or merge mode with motion vector difference.

[0069] In one embodiment, the current block is split into one or more subblocks and at least one of said one or more subblocks is encoded or decoded using said one or more UIM candidates. In one embodiment, a first subblock of said one or more subblocks is encoded or decoded using said one or more UIM candidates and a second subblock of said one or more subblocks is encoded or decoded using said one or more inter predictions candidates or a non-UIM intra mode. In one embodiment, a target UIM candidate from said one or more UIM candidates is selected for the current block explicitly or implicitly. In one embodiment, if k candidates from said one or more UIM candidates are used to generate said one or more final predictions, first k candidates from said one or more UIM candidates are selected implicitly where k is a positive integer.

[0070] In one embodiment, a target final prediction for each of said one or more subblocks comprises a target UIM prediction candidate, and wherein the target UIM prediction candidate is selected from a subset of said one or more UIM prediction candidates. In one embodiment, a first target final prediction for a first candidate of said one or more UIM prediction candidate is indicated by a first candidate index, and remaining target final predictions for remaining candidates of said one or more UIM prediction candidates are implicitly indicated by the first candidate index and respective offset values.

[0071] In one embodiment, after a prediction mode is signalled or parsed for the current block, a syntax is further signalled or parsed to indicate whether said one or more final predictions are used for the current block.

[0072] In one embodiment, if the current block is split into one or more subblocks, after a prediction mode is signalled or parsed for the current block, a syntax is further signalled or parsed to indicate whether at least one of said one or more subblocks is predicted by a UIM mode or not. In one embodiment, if the syntax indicates at least one of said one or more subblocks is predicted by the UIM mode, another syntax is signalled or parsed to indicate a candidate index of the UIM mode for said at least one of said one or more subblocks.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

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

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

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

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

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

[0081] Fig. 6 shows an example of the location of the left and above samples and the sample of the current block involved in the LM_LA mode.

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

[0083] Fig. 8 illustrates an example of spatial part of the convolutional filter.

[0084] Fig. 9 illustrates an example of reference area with paddings used to derive the filter coefficients.

[0085] Fig. 10 illustrates the 16 gradient patterns for Gradient Linear Model (GLM) .

[0086] Fig. 11 illustrates the neighbouring blocks used for deriving spatial merge candidates for VVC.

[0087] Fig. 12 illustrates the possible candidate pairs considered for redundancy check in VVC.

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

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

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

[0091] Fig. 16 illustrates an example of luma and chroma intra prediction information propagation, where the blocks with dash line (i.e., A, E, G) are predicted by the allowed luma and chroma intra prediction.

[0092] Fig. 17 illustrates an example of inheriting temporal neighbouring luma and chroma intra prediction information.

[0093] Fig. 18A and Fig. 18B illustrate two exemplary patterns of inherited spatial neighbouring luma and chroma intra prediction information.

[0094] Fig. 19 illustrates a flowchart of an exemplary video coding system that uses a new combined prediction mode derived by combining Unified Intra Merge Mode and inter prediction mode according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

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

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

[0097] Proposed Method

[0098] Methods to improve the intra prediction accuracy or coding performance are disclosed as follows.

[0099] 2.1 Jointly Inheriting Neighbouring Luma and Chroma Intra Prediction Information

[0100] A Unified Intra Merge Mode (UIM) is introduced to enable the joint inheritance of luma and chroma intra prediction information from neighbouring spatial or temporal positions or blocks to the current block. To inherit the neighbouring intra prediction information, one or more merge lists are created to collect these intra prediction information. One or more candidates with neighbouring intra prediction information are added into the merge list according to a pre-defined order until the maximum allowed candidate number is reached. At least one of the candidates in the merge list is selected for inheriting the luma and chroma intra prediction information for the current block. Note, each candidate has a mode type to identify the corresponding luma and chroma intra prediction mode. In one embodiment, the luma and chroma intra prediction information is jointly inherited from the same neighbouring spatial or temporal positions / blocks. In another embodiment, a history list is created to record recently used intra prediction information. If the current merge list is not full, the candidates in the history list are added into the current merge list. The history list is cleared or reset before or after encoding / decoding a row of CTUs, a slice or a picture.

[0101] For still another embodiment, the allowed inherited luma intra prediction information includes, but not limited to, prediction mode flag, sub-mode flags (e.g. a flag signalled depending on if the prediction mode flag is true) , intra prediction directions, intra prediction blending weights, intra prediction blending modes, intra interpolation filter shape, intra interpolation filter parameters, multiple reference line indices, and / or transform kernel types (e.g. DCT2, DST7, or DCT8) . The allowed inherited chroma intra prediction information includes, but not limited to, prediction mode (e.g. CCLM, MMLM, CCCM, variants of CCCM or CCLM, or chroma DIMD) , GLM pattern index, model parameters, prediction fusion modes, prediction fusion weights, or classification threshold.

[0102] For still another embodiment, when jointly inheriting the intra prediction settings of the current block from earlier coded blocks, the inherited coding information can be selectively applied to generate the prediction of the current block. For example, only the luma mode or intra mode is inherited from a candidate, other detailed prediction information is derived by using the neighbouring reconstruction samples of the current block. For another example, assume the inherited luma mode type is DIMD. Only the mode itself is applied to generate the luma prediction; that is, the DIMD prediction directions, DIMD combination weights, and DIMD location-dependent indices are not inherited but are instead derived using the neighbouring reconstructed samples of the current block. For another example, if the inherited chroma mode type is cross-component prediction, only the mode itself is used to generate the chroma prediction. That is, the model parameters and classification threshold are not inherited, but are derived using the neighbouring reconstructed samples of the current block.

[0103] 2.2 Luma and Chroma Intra Prediction Information of the Current Block

[0104] A candidate position / block is allowed to be added into the current merge list if the candidate position / block has the allowed luma and chroma intra prediction information. In one embodiment, the allowed luma intra prediction includes DIMD, TIMD, MIP, and EIP. The allowed chroma intra prediction includes cross-component merge modes (e.g. CCLM, MMLM, CCCM, variants of CCCM and CCLM) , and chroma DIMD mode. In still another embodiment, after encoding / decoding of the current block (or after reconstructing the current block) , if the current luma and chroma intra predictions are the allowed luma and chroma intra prediction modes, the current luma and chroma intra predictions are stored to a buffer and / or added to a history list. Later, if another block is predicted by using the UIM mode, the luma and chroma intra predictions can be inherited from those of the current block.

[0105] For still another embodiment, when the current block is inter-coded, the luma and chroma intra prediction information (abbreviated to jointIntraInfo) of the current inter-coded block is derived by copying the jointIntraInfo from its reference block having jointIntraInfo in a reference picture, located by the motion information of the current inter-coded block. For example, as shown in Fig. 16, the block B is inter-coded, the jointIntraInfo of block B is copied from its referenced block A having jointIntraInfo. For still another embodiment, if the reference block in a reference picture is also inter-coded, the jointIntraInfo of the reference block is copied from the jointIntraInfo of another reference block in another reference picture. For example, as shown in Fig. 16, the current block C is inter-coded, and its reference block B is also inter-coded. Since the jointIntraInfo of block B is copied from block A, the jointIntraInfo of block A is consequently propagated to the current block C. In yet another embodiment, when the current block is inter-coded using bi-directional prediction, and one of its reference blocks is intra-coded and contains jointIntraInfo, the jointIntraInfo is inherited from that reference block in the reference picture. For example, assume block F is inter-coded with bi-prediction and has reference blocks G and H. If block G is intra-coded and contains jointIntraInfo, then the jointIntraInfo of block F is copied from block G. For another example, the copied jointIntraInfo of the current inter-coded block is from the co-located reference blocks (e.g. set MV to zero) having jointIntraInfo in a reference picture. For example, assume block G is coded by intra block copy (IBC) mode, a block vector (BV) is pointed to a reference block I. If block I has valid jointIntraInfo, the jointIntraInfo of block G is copied from block I.

[0106] 2.3 Inheriting Spatial Neighbouring Luma and Chroma Intra Prediction Information

[0107] For another embodiment, the inherited luma and chroma intra prediction information (abbreviated to jointIntraInfo) can be from an immediate neighbouring block. The jointIntraInfo from blocks at pre-defined positions are added into the candidate list in a pre-defined order. For example, the pre-defined positions can be the positions depicted in Fig. 11, and the pre-defined order could be B0, A0, B1, A1 and B2, or A0, B0, B1, A1 and B2, or the same as the pre-defined order of regular inter merge mode.

[0108] For still another embodiment, the pre-defined positions include the position at the immediate above (W >> 1) or ( (W >> 1) –1) position if W is greater than or equal to TH, and the position at the immediate left (H >> 1) or ( (H >> 1) –1) position if H is greater than or equal to TH, where W and H are the width and height of the current block, and TH is a threshold value which can be 4, 8, 16, 32, or 64.

[0109] For still another embodiment, the maximum number of inherited jointIntraInfo from spatial neighbours is less than the number of pre-defined positions. For example, if the pre-defined positions are as depicted in Fig. 11, there are 5 pre-defined positions. If the pre-defined order is B0, A0, B1, A1 and B2, and the maximum number of inherited models from spatial neighbours is 4, the model from B2 is added into the candidate list only when one of preceding blocks is not available or is not coded in the cross-component model.

[0110] 2.4 Inheriting Temporal Luma and Chroma Intra Prediction Information

[0111] For still another embodiment, if the current slice / picture is a non-intra slice / picture, the inherited luma and chroma intra prediction information (abbreviated to jointIntraInfo) can be from the block in the previous coded slices / pictures. For example, as shown in Fig. 17, the current block position is at (x, y) and the block size is w×h. The inherited jointIntraInfo can be from the block at position (x’, y’) , (x’, y’ + h / 2) , (x’ + w / 2, y’ ) , (x’ + w / 2, y’ + h / 2) , (x’ + w, y’ ) , (x’ , y’ + h) , or (x’ + w, y’ + h) of the previous coded slices / picture, where x’ = x + Δx and y’ = y + Δy. In one embodiment, if the prediction mode of the current block is intra, Δx and Δy are set to 0. If the prediction mode of the current block is inter, Δx and Δy are set to the horizontal and vertical motion vectors of the current block respectively. In another embodiment, if the current block is inter bi-prediction, Δx and Δy are set to the horizontal and vertical motion vectors in reference picture list 0. In still another embodiment, if the current block is inter bi-prediction, Δx and Δy are set to the horizontal and vertical motion vectors in reference picture list 1.

[0112] For still another embodiment, if the current block is inter bi-prediction, the inherited jointIntraInfo can be from the block in the previous coded slices / pictures in the reference lists. For example, if the horizontal and vertical motion vectors in reference picture list 0 are ΔxL0 and ΔyL0, the motion vector can be scaled to other reference pictures in reference list 0 and 1. If the motion vectors are scaled to the ith reference picture in reference list 0 as (ΔxL0, i0, ΔyL0, i0) . The jointIntraInfo can be from the block in the ith reference picture in reference list 0, and Δx and Δy are set to (ΔxL0, i0, ΔyL0, i0) . For another example, if the horizontal and vertical motion vectors in reference picture list 0 are ΔxL0 and ΔyL0, the motion vectors are scaled to the ith reference picture in the reference list 1 as (ΔxL0, i1, ΔyL0, i1) . The jointIntraInfo can be from the block in the ith reference picture in reference list 1, and Δx and Δy are set to (ΔxL0, i1, ΔyL0, i1) .

[0113] 2.5 Inheriting from Spatial Non-Adjacent Neighbouring Positions / Blocks

[0114] For another embodiment, the inherited luma and chroma intra prediction information (abbreviated to jointIntraInfo) can be from spatial neighbouring blocks. The jointIntraInfo from blocks at pre-defined positions is added into the merge list in a pre-defined order. For example, the patterns of the positions and orders can be as the pattern depicted in Fig. 18A and Fig. 18B, where the distance between each position and the current block is determined depending on the width and height of the current coding block. For another embodiment, the distance between two adjacent positions closer to the current block is less than distance between the two adjacent positions further away from the current block.

[0115] For still another embodiment, the pre-defined positions can be defined by more than one spatial pattern. For example, assume there are K spatial patterns, each spatial pattern has its own pre-defined positions and the pre-defined positions are not the same. The pre-defined positions in the pattern k+1 are not allowed before checking all pre-defined positions in the pattern k, where k < k+1 ≤ K. In other words, K is equal to 2 for the patterns as depicted in Fig. 18A and Fig. 18B. If the maximum number of spatial candidates is N, the pattern 2 is used only when the number of available jointIntraInfo from pattern 1 is less than N.

[0116] For still another embodiment, the available range for including spatial non-adjacent candidates should be constraint. In one embodiment, only the jointIntraInfo in the current CTU can be referenced by non-adjacent spatial candidates. In another embodiment, only the jointIntraInfo in the current CTU or previous M CTUs can be referenced by non-adjacent spatial candidates, where M can be any integer greater than 0. In another embodiment, only the jointIntraInfo in the current CTU row can be referenced by non-adjacent spatial candidates. In another embodiment, only the to-be-referenced position within the current CTU row or the above N CTU rows can be referenced, where N can be any integer greater than 0.

[0117] In another embodiment, the jointIntraInfo in the current CTU, current CTU row, current CTU row + above N CTU rows, current CTU + left M CTUs, or current CTU + above N CTU rows + left M CTUs can be referenced, and the jointIntraInfo in other regions can only be referenced by a larger pre-defined unit. For example, the jointIntraInfo in current CTU row is stored within 4x4 grid, and for other jointIntraInfo outside current CTU row is stored within 16x16 grid. That is, one 16x16 region only needs to store one jointIntraInfo, so the to-be-referenced position should be rounded to 16x16 grid or changed to the nearest position of 16x16 grid.

[0118] In another embodiment, the jointIntraInfo in the current CTU row or current CTU row + M CTU rows can be referenced without limits, and for the to-be-referenced positions in above CTU row, the positions will be mapped to one line above of the current CTU, or current CTU row + M CTU rows for referencing. This design preserves most of the coding efficiency while avoiding significant increases in buffer requirements for storing the jointIntraInfo of the above CTU rows. For example, the jointIntraInfo in the current CTU row and first CTU row above can be referenced without limits, and for the to-be-referenced positions in above second, above third, above fourth CTU row, and so on, the positions can be mapped to one line above first CTU row.

[0119] 2.6 Constructing a Merge List

[0120] A merge list is constructed by adding candidates in a pre-defined order until the maximum candidate number is reached. The candidates added may include all or some of the aforementioned candidates, but not limited to spatial neighbouring candidates, temporal neighbouring candidate, historical candidates, non-adjacent neighbouring candidates, combined candidates (e.g. combination of earlier candidates) .

[0121] For still another embodiment, while adding a candidate into the merge list, the to-be-added candidate is compared with the existing candidates in the merge list to avoid redundancy. If the candidate to be added is similar to or the same as one of the existing candidates, it is not permitted to be added to the current merge list. The similarity comparison may be based on whether the luma and / or chroma information to be inherited is similar to that of any existing candidate.

[0122] If all predefined neighbouring and historical candidates have been added but the maximum number of candidates has not yet been reached, default candidates are added to the candidate list until the limit is met. In one embodiment, an earlier candidate in the merge list is modified to serve as a default candidate. In another embodiment, if the luma intra prediction mode type of an earlier candidate in the merge list is a target mode type (e.g. DIMD, TIMD, or MIP) , the luma intra prediction information of a default candidate is copied from an earlier candidate in the merge list. On the other hand, the chroma intra prediction information of a default candidate using a CCLM mode is used. For example, the final scaling parameter α of the CCLM mode can be set to {0, 1 / 8, -1 / 8, +2 / 8, -2 / 8, +3 / 8, -3 / 8, +4 / 8, -4 / 8} , and the offset parameter β is set to 1 /  (1<<bit_depth) or is derived based on neighbouring luma and chroma reconstruction samples. In another embodiment, if the chroma intra prediction mode type of an earlier candidate in the merge list is a target mode type (e.g. cross-component prediction mode, or single model CCLM) . The luma intra prediction information of a default candidate is copied from an earlier candidate in the merge list, and the chroma intra prediction information of a default candidate is modified from the same earlier candidate in the merge list having CCLM mode type (i.e., target mode type) . The final scaling parameter α of the CCLM mode can be set to the scaling factor of the earlier candidate + { 1 / 8, -1 / 8, +2 / 8, -2 / 8, +3 / 8, -3 / 8, +4 / 8, -4 / 8} , and the offset parameter βis set to 1 /  (1<<bit_depth) or is derived based on neighbouring luma and chroma reconstruction samples.

[0123] For still another embodiment, the luma intra prediction information of a default candidate is predefined. In one embodiment, the luma mode type of default candidate is TIMD. The default TIMD candidate includes pre-defined intra prediction directions, combination weights, intra prediction direction used in transform domain, or multiple reference line settings. In another embodiment, the luma mode type of default candidate is DIMD. The default DIMD candidate includes pre-defined intra prediction directions, combination weights, location-dependent index, intra prediction direction used in transform domain, or multiple reference line settings. In still another embodiment, the luma mode type of default candidate is EIP. The default EIP candidate includes pre-defined extrapolation filter shape, extrapolation filter parameters, intra prediction direction used in transform domain, or multiple reference line settings. In still another embodiment, the chroma intra prediction information of a default candidate is predefined. The chroma mode type of default candidate can be single model CCLM. For example, the final scaling parameter α of the CCLM mode can be set to {0, 1 / 8, -1 / 8, +2 / 8, -2 / 8, +3 / 8, -3 / 8, +4 / 8, -4 / 8} , and the offset parameter β is set to 1 /  (1<<bit_depth) or is derived based on neighbouring luma and chroma reconstruction samples. In still another embodiment, the chroma intra prediction information of a default candidate is predefined. The chroma mode type of default candidate can be multiple model CCLM (i.e., MMLM) . The final scaling parameter α of the CCLM mode are copied from the earlier candidate in the merge list, but the classification threshold of MMLM is modified. For example, if the classification threshold is T, the modified classification threshold can be {T + d, T –d, T +2d, T –2d, T + 3d, T –3d, T + 4d, T –4d} , where d is the difference value and can be set according to T or the neighbouring reconstruction values.

[0124] 2.7 Reordering Candidates in the List

[0125] The candidates in the merge list can be reordered to reduce the syntax overhead when signalling the selected candidate index. In still another embodiment, the reordering rule is based on the summation of differences (or so-call template cost) by applying a candidate to the neighbouring templates of the current block, and then calculating the differences between the predicted samples and the reconstruction samples of the neighbouring template. In still another embodiment, only the luma reconstruction samples of the neighbouring template are used to calculate the template cost. In still another embodiment, the luma and chroma reconstruction samples of the neighbouring template are jointly used to calculate the template cost.

[0126] In still another embodiment, not all positions inside the above and left neighbouring templates are used in calculating the model error. It can choose partial positions inside the above and left neighbouring templates to calculate the model error. For example, it can define a first start position and a first subsampling interval depending on the width of the current block to partially select positions inside the above neighbouring template. Similarly, it can define a second start position and a second subsampling interval depending on the height of the current block to partially select positions inside the left neighbouring template.

[0127] In still another embodiment, after the candidates are reordered based on the template cost, the redundancy of the candidate could be further checked. A candidate is considered redundant if the template cost difference between it and its predecessor in the list is less than or equal to a threshold. If a candidate is deemed redundant, it may either be removed from the list or moved to the end of the list.

[0128] 2.8 Combine Unified Intra Merge (UIM) Mode with Inter Prediction

[0129] The final prediction can combine the predictions from UIM mode and inter mode together. In one embodiment, for a given position (x, y) , assume the prediction of inter mode is Pinter (x, y) and the prediction of UIM mode is PUIM (x, y) , then the final prediction at (x, y) can be derived as Pfinal (x, y) = w0×Pinter (x, y) +w1×PUIM (x, y) , where w0 and w1 are the combination weights, and (w0 + w1) = 1. In another embodiment, the combination of multiple predictions can depend on many factors. For example, the combination can depend on colour components (e.g. the combination is only applied to the luma component, or the combination is only applied to chroma components) . For another example, the combination can depend on block size (e.g. the combination is allowed or not allowed when the current block width and height is equal to or less than a predefined value) . In another embodiment, the combination weights (i.e., w0 and w1) can depend on the prediction sample position inside the current block. The combination weights can be derived from the reconstruction samples in the left or top neighbouring template of the current block. In another embodiment, the inter mode can be uni-directional inter prediction mode, bi-directional inter prediction mode, subblock-based inter prediction mode, regular merge mode or merge mode with motion vector difference. In another embodiment, more than one prediction from UIM mode can be used to combine with the prediction of non-UIM mode as the final prediction. That is,  where N is the total predictions used to combine the final prediction, and

[0130] In another embodiment, the current block is partitioned into two or more prediction subblocks, and at least one of prediction subblocks is predicted by UIM mode, where the intra prediction information is inherited from previous coded blocks. For example, the current block is partitioned by binary-tree with symmetric or asymmetric split. The resulting partitions are not necessary to be rectangular. One of the subblock of the current block is predicted by UIM mode, and another subblock is predicted by inter or non-UIM intra mode. The candidate index of UIM mode can be explicitly or implicitly indicated. For example, the candidate index can be explicitly signalled using truncate unary code, Exp-Golomb code, or fixed-length code. For another example, the first candidate in the list is selected. For another example, if k predictions from UIM mode are used to generate the final prediction, the first k candidates in the list is selected implicitly.

[0131] In still another embodiment, the current block is partition into two or more prediction subblocks, each subblocks is predicted by UIM mode, and the first few candidates in the list are the candidate of each subblocks. For example, assume the current block is partitioned into k prediction subblocks, the first k candidates in the list are selected with one candidate for each of the k subblocks. For another example, an index is explicitly signalled to indicate the candidate index of the first subblock, and the candidate indexes of the rest subblocks are the signalled index + 1, the signalled index + 2, the signalled index + 3, and so on. In other words, the candidate indexes for the rest subblocks correspond the signalled index with corresponding offsets (i.e., 1, 2, 3, et. ) . For another example, if each subblocks are both predicted by UIM mode, the first candidate in the list is the candidate index of all subblocks, and each subblock is a transform unit / transform block (i.e., the reference samples of the next subblock are derived from the reconstruction samples of the coded subblocks or the neighbouring blocks) . For another example, the final prediction of one or more subblocks can combine the predictions from UIM mode and inter mode together.

[0132] 2.9 Signalling the Inherited Candidate Index in the List

[0133] In one embodiment, an on / off flag is signalled to indicate whether the current block jointly inherits the luma and chroma intra prediction information from previous coded blocks or not. The flag can be signalled per CU / CB, per PU, per TU / TB, per colour component, or per chroma colour component. A high-level syntax can be signalled in SPS, PPS, PH or SH to indicate whether the proposed method is allowed for the current sequence, picture, or slice. If the current block jointly inherits the luma and chroma intra prediction information from neighbouring blocks, the inherited candidate index is signalled for indicating a candidate in the merge list. The index can be signalled using truncate unary code, Exp-Golomb code, or fix-length code.

[0134] When signalling the intra prediction mode of the current block, a syntax is firstly signalled to indicate whether the current block is predicted by using the proposed UIM mode. If the syntax indicates the current block is predicted by using the proposed UIM, another syntax is used to indicate the selected candidate in the merge list, and chroma related prediction syntax is not signalled. Otherwise, the luma and chroma intra prediction modes of the current block are further indicated.

[0135] In another embodiment, after signalling the prediction mode of the current block, a syntax is further signalled to indicate whether the predictions from UIM mode and inter mode are combined as the final prediction. If true, another syntax is signalled to indicate the candidate index of UIM mode.

[0136] In another embodiment, a syntax is further signalled to indicate whether at least one of prediction subblocks is predicted by UIM mode or not. If true, another syntax is signalled to indicate the candidate index of UIM mode of the corresponding prediction subblocks.

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

[0138] With reference to the exemplary encoder and decoder in Fig. 1A and Fig. 1B, the proposed methods of combined prediction derived by combining UIM mode and inter prediction mode can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / MC 152 in Fig. 1B) in a decoder or an Intra / Inter coding module is an encoder (e.g. Intra Pred. 110 / Inter Pred. in Fig. 1A) . However, the decoder or encoder may also use additional processing unit to implement the required cross-component prediction processing. While the Intra / Inter Pred. units are shown as individual processing units, they may correspond to executable software or firmware codes for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .

[0139] Fig. 19 illustrates a flowchart of an exemplary video coding system that uses a new combined prediction mode derived by combining Unified Intra Merge Mode and inter prediction mode 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 luma component and a chroma component is received in step 1910, 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 UIM (Unified Intra Mode) candidates are derived by inheriting luma and chroma intra prediction information jointly from same neighbouring spatial or temporal positions or blocks of the current block in step 1920. One or more inter predictions candidates are derived in step 1930. The current block is encoded or decoded by using one or more final predictions derived by combining said one or more UIM candidates and said one or more inter predictions candidates in step 1940.

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

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

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

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

Claims

1.A method of video coding, the method comprising:receiving input data associated with a current block comprising a luma component and a chroma component, 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;deriving one or more UIM (Unified Intra Mode) candidates by inheriting luma and chroma intra prediction information jointly from same neighbouring spatial or temporal positions or blocks of the current block;deriving one or more inter predictions candidates; andencoding or decoding the current block by using one or more final predictions derived by combining said one or more UIM candidates and said one or more inter predictions candidates.2.The method of Claim 1, wherein said combining said one or more UIM candidates and said one or more inter predictions candidates is dependent on colour component or block size of the current block.3.The method of Claim 1, wherein said one or more final predictions are derived as a weighted sum of said one or more UIM candidates and said one or more inter predictions candidates.4.The method of Claim 3, wherein combination weights for the weighted sum of said one or more UIM candidates and said one or more inter predictions candidates are dependent on prediction sample position inside the current block.5.The method of Claim 3, wherein combination weights for the weighted sum of said one or more UIM candidates and said one or more inter predictions candidates are derived from reconstruction samples at a left and / or top neighbouring templates of the current block.6.The method of Claim 1, wherein inter mode associated with one or more inter predictions candidates corresponds to uni-directional inter prediction mode, bi-directional inter prediction mode, subblock-based inter prediction mode, regular merge mode or merge mode with motion vector difference.7.The method of Claim 1, wherein the current block is split into one or more subblocks and at least one of said one or more subblocks is encoded or decoded using said one or more UIM candidates.8.The method of Claim 7, wherein a first subblock of said one or more subblocks is encoded or decoded using said one or more UIM candidates and a second subblock of said one or more subblocks is encoded or decoded using said one or more inter predictions candidates or a non-UIM intra mode.9.The method of Claim 7, wherein a target UIM candidate from said one or more UIM candidates is selected for the current block explicitly or implicitly.10.The method of Claim 7, wherein if k candidates from said one or more UIM candidates are used to generate said one or more final predictions, first k candidates from said one or more UIM candidates are selected implicitly, where k is a positive integer.11.The method of Claim 7, wherein a target final prediction for each of said one or more subblocks comprises a target UIM prediction candidate, and wherein the target UIM prediction candidate is selected from a subset of said one or more UIM prediction candidates.12.The method of Claim 11, wherein a first target final prediction for a first candidate of said one or more UIM prediction candidate is indicated by a first candidate index, and remaining target final predictions for remaining candidates of said one or more UIM prediction candidates are implicitly indicated by the first candidate index and respective offset values.13.The method of Claim 1, wherein after a prediction mode is signalled or parsed for the current block, a syntax is further signalled or parsed to indicate whether said one or more final predictions are used for the current block.14.The method of Claim 1, wherein if the current block is split into one or more subblocks, after a prediction mode is signalled or parsed for the current block, a syntax is further signalled or parsed to indicate whether at least one of said one or more subblocks is predicted by a UIM mode or not.15.The method of Claim 14, wherein if the syntax indicates at least one of said one or more subblocks is predicted by the UIM mode, another syntax is signalled or parsed to indicate a candidate index of the UIM mode for said at least one of said one or more subblocks.16.An apparatus for video coding, the apparatus comprising one or more electronics or processors arranged to:receiving input data associated with a current block comprising a luma component and a chroma component, 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;derive one or more UIM (Unified Intra Mode) candidates by inheriting luma and chroma intra prediction information jointly from same neighbouring spatial or temporal positions or blocks of the current block;derive one or more inter predictions candidates; andencode or decode the current block by using one or more final predictions derived by combining said one or more UIM candidates and said one or more inter predictions candidates.

Citation Information

Patent Citations

  • Moving image decoder, moving image decoding method and moving image decoding program

    JP2013098733A

  • Method and device for processing video signal on basis of inter prediction

    US20200359039A1

  • Method, device, and medium for video processing

    US20240205392A1