Methods and apparatus of filter-based intra prediction with multiple hypotheses in video coding systems

The method combines intra prediction modes with filter-based intra prediction to improve video coding efficiency and adaptability for diverse video sources, particularly non-square blocks, by generating a combined intra predictor using a candidate list and blending techniques.

WO2025153050A1PCT designated stage expired Publication Date: 2025-07-24MEDIATEK INC
View PDF 7 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/072950
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-01-17
Filing Date
2025-01-17
Publication Date
2025-07-24

AI Technical Summary

Technical Problem

Existing video coding systems, such as VVC, face challenges in optimizing filter-based intra prediction methods to enhance coding efficiency and adapt to various video sources, including 3D signals, due to limitations in combining different intra prediction modes effectively.

Method used

A method and apparatus for video coding that combines a target intra prediction mode with a first filter-based intra prediction mode to generate a combined intra predictor, utilizing a candidate list and blending methods to improve prediction accuracy.

Benefits of technology

Enhances the performance of filter-based intra prediction by generating more accurate and efficient video coding, particularly for non-square blocks and rectangular shapes, by combining different intra prediction modes.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025072950_24072025_PF_FP_ABST
    Figure CN2025072950_24072025_PF_FP_ABST
Patent Text Reader

Abstract

A methods and apparatus for video coding using filter-based intra prediction are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprise pixel data to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, wherein a target intra prediction mode is selected for the current block. When the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode: a first filter-based intra predictor using the first filter-based intra prediction mode is derived; a combined intra predictor is generated based on the target intra prediction mode and the first filter-based intra prediction mode; and the current block is encoded or decoded by using information comprising the combined intra predictor.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF FILTER-BASED INTRA PREDICTION WITH MULTIPLE HYPOTHESES 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 / 621,616, filed on January 17, 2024 and U.S. Provisional Patent Application No. 63 / 621,632, filed on January 17, 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 video coding system. In particular, the present invention relates to schemes to improve the performance of filter-based intra prediction by blending filter-based intra prediction with another intra prediction. 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, are 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 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] Partitioning of the CTUs Using a Tree Structure

[0009] In VVC, a quadtree with nested multi-type tree using binary and ternary splits segmentation structure replaces the concepts of multiple partition unit types, i.e. it removes the separation of the CU, PU and TU concepts except as needed for CUs that have a size too large for the maximum transform length, and supports more flexibility for CU partition shapes. In the coding tree structure, a CU can have either a square or rectangular shape. A coding tree unit (CTU) is first partitioned by a quaternary tree (a. k. a. quadtree) structure. Then the quaternary tree leaf nodes can be further partitioned by multi-type tree structure. As shown in Fig. 2, there are four splitting types in multi-type tree structure, vertical binary splitting (SPLIT_BT_VER 210) , horizontal binary splitting (SPLIT_BT_HOR 220) , vertical ternary splitting (SPLIT_TT_VER 230) , and horizontal ternary splitting (SPLIT_TT_HOR 240) . The multi-type tree leaf nodes are called coding units (CUs) , and unless the CU is too large for the maximum transform length, this segmentation is used for prediction and transform processing without any further partitioning. This means that, in most cases, the CU, PU and TU have the same block size in the quadtree with nested multi-type tree coding block structure. The exception occurs when maximum supported transform length is smaller than the width or height of the colour component of the CU.

[0010] Intra Mode Coding with 67 Intra Prediction Modes

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

[0012] Decoder Side Intra Mode Derivation (DIMD)

[0013] 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 using the weights derived from the gradients.

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

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

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

[0017] Template-based intra mode derivation (TIMD) mode implicitly derives the intra prediction mode of a CU using a neighbouring template at both the encoder and decoder, instead of signalling the intra prediction mode to the decoder.

[0018] More details can reference “Algorithm description of Enhanced Compression Model” as disclosed in JVET-AG2025 and / or JVET-AG0092.

[0019] An Extrapolation Filter-Based Intra Prediction (EIP) Mode (from JVET-AF0080)

[0020] In JVET-AF0080 (Luhang Xu, et al., “EE2-2.7: An extrapolation filter-based intra prediction mode” , Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, 32nd Meeting, Hannover, DE, 13–20 October 2023, Document: JVET-AF0080) , the extrapolation filter-based intra prediction is disclosed, where the EIP prediction is performed in three steps.

[0021] A. Obtaining the EIP filter

[0022] The three EIP filter shapes are shown in Fig. 3, where the three filter shapes correspond to square 310, horizontal strip 320, and vertical strip 330.

[0023] There are two ways to obtain the filter coefficients for the current CU. First, the coefficients can be derived from the neighbouring reconstructed pixels. Second, they can also be inherited from the previously decoded blocks.

[0024] B. Derivation of EIP Coefficients

[0025] The decoder decodes the relevant syntax elements to determine the selected type of reconstructed area and the filter shape for the current block. 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 convolutional cross-component model (CCCM) .

[0026] The three types of the reconstructed area are defined as shown in Fig. 4, where the three reconstructed areas correspond to Left-Above area (Fig. 4A) , Above area (Fig. 4B) , and Left area (Fig. 4C) . The size of the reconstructed area depends on the min (blockWidth, blockHeight) and the selected filter shape. For example, when the current block is an 8x16 block and the selected filter shape is 4x4. The aboveSize of the reconstructed area is equal to min (8, 16) + 4 –1 = 11, and the leftSize of the reconstructed area is equal to min (8, 16) + 4 –1 = 11.

[0027] C. Inheritance of the EIP filters

[0028] The filter shape and the filter coefficients can be inherited from the previous decoded blocks with EIP or EIP merge mode. The decoder decodes an EIP merge flag to decide whether the proposed merge mode is used when the current block uses the EIP mode. A merge index is further decoded when the EIP merge flag is true. The EIP merge list includes spatial adjacent and non-adjacent candidates, temporal candidates, and history candidates. The constructed EIP merge list can include up to 12 candidates and the list will be reduced to up to 6 candidates by the reordering process based on the SAD cost measured on an L-shape template with column width and row height equal to 1. In the SAD calculation, predictions of the template area by EIP filters are generated only from reconstructed (neighbouring and template) samples, allowing the EIP filters to be applied in parallel rather than sequentially.

[0029] D. Prediction of the current block

[0030] The EIP mode generates prediction values for the current block from the top-left position to the bottom-right position by a diagonal prediction order, as shown in Fig. 5.

[0031] The calculation for the prediction values in this contribution is shown as follows: where pred (x, y) is the predicted value at (x, y) in the current block, ci is the ith coefficient of the  selected EIP filter, the index of the coefficients is from 0 to 14,  is a reconstructed or a predicted value used for the current position’s prediction. offsetXi and offsetYi are the position offsets to the current position along x and y directions, respectively.

[0032] Wide-Angle Intra Prediction (WAIP) for Non-Square Blocks

[0033] Conventional angular intra prediction directions are defined from 45 degrees to -135 degrees in clockwise direction. In VVC, several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for non-square blocks. The replaced modes are signalled using the original mode indexes, which are remapped to the indexes of wide angular modes after parsing. The total number of intra prediction modes is unchanged, i.e., 67, and the intra mode coding method is unchanged. To support these prediction directions, the top reference with length 2W+1, and the left reference with length 2H+1, are defined. The number of replaced modes in wide-angular direction mode depends on the aspect ratio of a block.

[0034] Matrix weighted Intra Prediction (MIP)

[0035] Matrix weighted intra prediction (MIP) method is a newly added intra prediction technique into VVC. For predicting the samples of a rectangular block of width W and height H, matrix weighted intra prediction (MIP) takes one line of H reconstructed neighbouring boundary samples left of the block and one line of W reconstructed neighbouring boundary samples above the block as input. If the reconstructed samples are unavailable, they are generated as it is done in the conventional intra prediction. The generation of the prediction signal is based on the following three steps, which are averaging, matrix vector multiplication and linear interpolation. One line of H reconstructed neighbouring boundary samples left of the block and one line of W reconstructed neighbouring boundary samples above the block are shown as dot-filled small squares. After the averaging process, the boundary samples are down-sampled to top boundary line and left boundary line. The down-sampled samples are provided to the matric-vector multiplication unit to generate the down-sampled prediction block. An interpolation process is then applied to generate the prediction block.

[0036] Spatial Geometric Partitioning Mode (SGPM)

[0037] SGPM is an intra mode that resembles the inter coding tool of GPM, where the two prediction parts are generated from intra predicted process. In this mode, a candidate list is built with each entry containing one partition split (i.e., Partition_mode) and two intra prediction modes (i.e., Intra_pred_mode0 and Intra_pred_mode1) . For SGPM, 26 partition modes and 3 of intra prediction modes are used to form the combinations. If these modes are directly signalled in the bit-stream, it would yield significant overhead bits. To express the necessary partition and prediction information more efficiently in the bit-stream, a candidate list is employed and only the candidate index is signalled in the bit-stream. Each candidate in the list can derive a combination of one partition mode and two intra prediction modes. The length of the candidate list is set equal to 16. The selected candidate index is signalled. The list is reordered using template where SAD between the prediction and reconstruction of the template is used for ordering. The template size is fixed to 1.

[0038] Intra Template Matching Prediction (IntraTMP) Mode

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

[0040] In the present invention, methods and apparatus to improve the performance of filter-based prediction by using a combined prediction generated by combining a filter-based intra prediction with another intra prediction are disclosed. BRIEF SUMMARY OF THE INVENTION

[0041] A method and apparatus for video coding are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprise pixel data to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein a target intra prediction mode is selected for the current block. When the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode: a first filter-based intra predictor using the first filter-based intra prediction mode is derived; a combined intra predictor is generated based on the target intra prediction mode and the first filter-based intra prediction mode; and the current block is encoded or decoded by using information comprising the combined intra predictor.

[0042] In one embodiment, the target intra prediction mode corresponds to a second filter-based intra prediction mode. In one embodiment, both the target intra prediction mode and the first filter-based intra prediction mode are selected from a filter-based intra prediction merge candidate list. In one embodiment, the target intra prediction mode and the first filter-based intra prediction mode correspond to a first and a second indexed models, a first and a second models in the filter-based intra prediction merge candidate list, or a first indexed model and a second indexed model in the filter-based intra prediction merge candidate list.

[0043] In one embodiment, one of the target intra prediction mode and the first filter-based intra prediction mode corresponds to one model or one indexed model from a filter-based intra prediction merge candidate list, and another of the target intra prediction mode and the first filter-based intra prediction mode is derived from a template of the current block. In one embodiment, the combined intra predictor is generated based on a merge mode or a regular mode of the first filter-based intra prediction.

[0044] In one embodiment, the target intra prediction mode corresponds to a non-filter-based intra prediction mode. In one embodiment, the non-filter-based intra prediction mode comprises DIMD (Decoder-side Intra Mode Derivation) , TIMD (Template-based Intra Mode Derivation) , SGPM (Spatial Geometric Partitioning Mode) , IntraTMP (Intra Template Matching Prediction) , MPM (Most Probable Mode) modes, WAIP (Wide Angle Intra Prediction) modes, MIP (Matrix-based Intra Prediction) . In one embodiment, a candidate list for suggesting a filter-based intra prediction mode candidate is generated according to filter-based intra prediction mode information of previous coded blocks and / or default filter-based intra prediction mode information. In one embodiment, the filter-based intra prediction mode information of previous coded blocks comprises selected type of reconstructed area, filter shape, filter coefficients, or a combination thereof. In one embodiment, the candidate list is reordered.

[0045] In one embodiment, first K candidates in the candidate list are used for suggesting a filter-based intra prediction mode candidate, and wherein K is greater than or equal to 1. In one embodiment, when K is equal to 1, only one filter-based intra prediction mode candidate is used to generate one filter-based intra prediction. In one embodiment, when K is greater than 1, multiple filter-based intra prediction mode candidates are blended to generate one filter-based intra prediction. In one embodiment, the first K candidates are blended using pre-defined weights to generate said one filter-based intra prediction. In one embodiment, the first K candidates are blended using weights derived from a regression-based process to generate said one filter-based intra prediction. In one embodiment, additional inputs are considered for filter-based intra prediction model to train the weights.

[0046] In one embodiment, a flag is signalled or parsed to indicate whether the target intra prediction mode is combined with the first filter-based intra prediction mode. In one embodiment, different weights to generate different combined intra predictors are treated as different optional modes.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

[0049] Fig. 2 illustrates the four splitting types in multi-type tree structure, which include vertical binary splitting (SPLIT_BT_VER) , horizontal binary splitting (SPLIT_BT_HOR) , vertical ternary splitting (SPLIT_TT_VER) , and horizontal ternary splitting (SPLIT_TT_HOR) .

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

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

[0052] Fig. 5 illustrates an example of scanning order for generating predictions for different positions in the current block by a diagonal order.

[0053] Fig. 6 illustrates an example of the final prediction generation from two EIP models selected by the implicit rule from the EIP merge list for EIP merge mode.

[0054] Fig. 7 illustrates an example of the final prediction generation from two EIP models selected by the implicit rule and the explicit indication from the EIP merge list for EIP merge mode.

[0055] Fig. 8 illustrates an example of the final prediction generation from two EIP models selected by the explicit indication from the EIP merge list for EIP merge mode.

[0056] Fig. 9 illustrates an example of the final prediction generation from two EIP models for EIP merge mode: one is selected by the implicit rule from the EIP merge list and the other one is derived from the template of the current block using inferred or predefined filter shape and template pattern.

[0057] Fig. 10 illustrates an example of the final prediction generation from two EIP models for EIP merge mode: one is selected by the explicit indication from the EIP merge list and the other one is derived from the template of the current block using inferred or predefined filter shape and template pattern.

[0058] Fig. 11 illustrates an example of the final prediction generation from two EIP models for EIP regular mode: one is derived from the template of the current block using explicit indicated filter shape and template pattern and the other one is selected by the implicit rule from the EIP merge list.

[0059] Fig. 12 illustrates an example of the final prediction generation from two EIP models for EIP regular mode: one is derived from the template of the current block using explicit indicated filter shape and template pattern and the other one is selected by the explicit indication from the EIP merge list.

[0060] Fig. 13 illustrates an example of considering additional inputs for the EIP model to train the blending weights.

[0061] Fig. 14 illustrates a flowchart of an exemplary video coding system that uses combined intra prediction generated by combining a filter-based intra prediction mode and another intra prediction mode according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

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

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

[0064] Proposed Method

[0065] In this invention, one new EIP model is used to further improve the existing EIP mode. In particular, two EIP predictions generated from two EIP models with different hypotheses are combined.

[0066] EIP Merge Mode -I

[0067] According to this method, two EIP models selected from the EIP merging candidate list are combined. In one embodiment, two EIP models are selected by implicit rule. For example, the 1st EIP model and the 2nd EIP model in the EIP merging candidate list are selected after they are reordered by using template costs. In this case, the implicit rule of reordering is applied and no additional syntax needs to be signalled. Fig. 6 illustrates an example of the final prediction generation from two EIP models selected by the implicit rule from the EIP merge list for EIP merge mode.

[0068] In another embodiment, one of the EIP models is selected by implicit rule and the other one of the EIP models is selected by explicit indication. For example, the 1st EIP model in the EIP merging candidate list is selected after it is reordered by using template costs. After the 1st EIP model is obtained, the other one EIP model is determined by how well it combines with the 1st EIP model. In this case, one additional syntax is signalled to indicate which EIP model is used to generate the better predictions. Fig. 7 illustrates an example of the final prediction generation from two EIP models selected by the implicit rule and the explicit indication from the EIP merge list for EIP merge mode.

[0069] In another embodiment, two EIP models are selected by explicit indication. For example, EIP predictions are generated by EIP models in the merging candidate list. Two EIP models are determined by how well they are combined. In this case, two additional syntaxes are signalled to indicate which two EIP models are used to generate the better predictions. Fig. 8 illustrates an example of the final prediction generation from two EIP models selected by the explicit indication from the EIP merge list for EIP merge mode.

[0070] EIP Merge Mode -II

[0071] According to this method, one EIP model selected from the EIP merging candidate list and the other one EIP model derived from the template of a current block are combined.

[0072] In one embodiment, one of the EIP models is selected by implicit rule from the EIP merging candidate list and the other one of the EIP models is derived from the template of the current block. For example, the first EIP model in the EIP merging candidate list is selected after it is reordered by using template costs. After the first EIP model is obtained, the final prediction can be generated by blending the prediction from the first EIP model and the current EIP prediction. In this case, the implicit rule of reordering is applied and no additional syntax needs to be signalled. Fig. 9 illustrates an example of the final prediction generation from two EIP models for EIP merge mode: one is selected by the implicit rule from the EIP merge list and the other one is derived from the template of the current block using inferred or predefined filter shape and template pattern.

[0073] In another embodiment, one of the EIP models is selected by explicit indication from the EIP merging candidate list and the other one of the EIP models is derived from the template of the current block. For example, the EIP model from the EIP merging candidate list can be determined by how well it combines with the EIP model generated from the current block. In this case, one additional syntax is signalled to indicate which EIP model from the EIP merging candidate list is used to generate the better predictions. Fig. 10 illustrates an example of the final prediction generation from two EIP models for EIP merge mode: one is selected by the explicit indication from the EIP merge list and the other one is derived from the template of the current block using inferred or predefined filter shape and template pattern.

[0074] EIP Regular Mode

[0075] According to this method, one EIP model derived from the template of a current block and one EIP model selected from the EIP merging candidate list are combined.

[0076] The embodiments in this section are similar to those in the section entitled EIP Merge Mode -II. The difference is that the target EIP mode is a merge mode versus a regular mode.

[0077] In one embodiment, one of the EIP models is derived from the template of the current block and the other one of the EIP models is selected by implicit rule from the EIP merging candidate list. For example, the 1st EIP model in the EIP merging candidate list is selected after it is reordered by using template costs. The final prediction can be generated by blending its prediction and the current EIP prediction. In this case, the implicit rule of reordering is applied and no additional syntax needs to be signalled. Fig. 11 illustrates an example of the final prediction generation from two EIP models for EIP regular mode: one is derived from the template of the current block using explicit indicated filter shape and template pattern and the other one is selected by the implicit rule from the EIP merge list.

[0078] In another embodiment, one of the EIP models is derived from the template of the current block and the other one of the EIP models is selected by explicit indication from the EIP merging candidate list. For example, the EIP model from the EIP merging candidate list can be determined by how well it combines with the EIP model generated from the current block. In this case, one additional syntax is signalled to indicate which EIP model from the EIP merging candidate list is used to generate the better predictions. Fig. 12 illustrates an example of the final prediction generation from two EIP models for EIP regular mode: one is derived from the template of the current block using explicit indicated filter shape and template pattern and the other one is selected by the explicit indication from the EIP merge list.

[0079] Blending Methods to blend Two EIP Predictions

[0080] In one embodiment, the blending weight is pre-defined. For example, the first EIP candidate and the second EIP candidate can be blended in a 3: 1 ratio.

[0081] In another embodiment, the blending weight depends on the template costs. For example, the weight for the hypothesis of prediction with a smaller template cost gets higher. The cost can be calculated by using SATD between the prediction and the reconstruction samples of the template.

[0082] In another embodiment, the blending can be performed based on the certain specific conditions. For example, the costs of two EIP candidates can be calculated separately. If the larger cost is less than twice of the smaller cost, the blending is used; otherwise, the candidate with the smaller cost is chosen as the final selection.

[0083] Signalling

[0084] In one embodiment, after determining to use the proposed combined prediction for the current block, different blending methods can be treated as different optional modes of the combined prediction. An implicit rule and / or an explicit mode index indication is used to select the optional mode of the combined prediction for the current block. For example, one of the optional modes using the pre-defined blending weight, one of the optional modes using the template cost related blending weight.

[0085] Storage of EIP Models

[0086] In the original design, only one set of {filter shape and / or filter parameters} is stored for the current block and / or for subsequent blocks, and only one set of {filter shape and / or filter parameters} can be referenced. It is proposed that one or more sets of {filter shape and / or filter parameters} can be stored for the current block and / or referenced by subsequent blocks since more than one EIP model is used to generate the final prediction. For example, two EIP models are selected to be used for the current block. Two sets of {filter shape and / or filter parameters} instead of only one set of {filter shape and / or filter parameters} from them are stored.

[0087] In this disclosure, EIP is used to further improve the existing intra prediction modes. In specifically, non-EIP intra prediction and EIP prediction are combined.

[0088] In one embodiment, after determining the current block is a target non-EIP intra prediction mode, an implicit rule and / or an explicit indication is used to determine whether to further combine the existing hypothesis of prediction from the target non-EIP intra prediction mode with the additional EIP prediction. For example, DIMD is the target non-EIP intra prediction mode. After DIMD is selected for the current block, DIMD derived prediction is combined with EIP prediction generated by EIP model to form the improved prediction if needed.

[0089] The target mode can be any non-EIP intra prediction mode such as TIMD, DIMD, any GPM variations (e.g. spatial GPM) , intraTMP, intra MPM modes, intra non-MPM modes, WAIP, MIP, and / or any traditional intra prediction modes (e.g. DC, planar, angular prediction modes) .

[0090] Several aspects of the invention are disclosed. Aspect 1 is related to the candidates list for suggestion. Aspect 2 is related to how to generate the EIP prediction according to the information associated with one or more prediction modes from suggestion. Aspect 3 is related to the combination of predictions. Aspect 4 is related to the signalling. Aspect 5 is related to the storage of EIP model. First of all, the candidate list is built to generate the EIP prediction. Next, EIP prediction can be combined with the target non-EIP intra prediction if needed. If the proposed combined prediction is selected for the current block, the flag of the usage of proposed combined prediction is on and the proposed blending method can be further signalled. In addition, the set of {EIP filter shape and / or filter parameters} is stored for later use.

[0091] Aspect 1: Candidates List for Suggestion

[0092] The candidate list is generated according to EIP prediction mode information of the previous coded blocks and / or default EIP prediction mode information. The EIP prediction mode information includes or only includes the selected type of reconstructed area, the filter shape, the filter coefficients, and / or any subset of above.

[0093] In one embodiment, the candidate list only includes re-derived EIP modes such as all or any subset of EIP regular modes. The re-derived EIP mode is not-inheriting or only inheriting partial EIP prediction mode information and / or re-deriving all or any subset of EIP prediction mode information for the current block.

[0094] In another embodiment, the candidate list only includes inherited EIP modes such as all or any subset of EIP merge modes. When checking a previous coded block being available and checking the to-be-inherited EIP prediction mode information being supported by the EIP using the proposed combining prediction for the current block, the prediction mode information of the previous coded block is valid and can be inserted into the candidates list here as a candidate.

[0095] In another embodiment, the candidate list includes or only includes EIP regular modes, EIP merge modes, and / or any subset / extension of the above-mentioned modes. For example, EIP regular modes are placed in the first half of this candidate list, while the EIP merge modes are placed in the second half. For another example, EIP merge modes are placed in the first half of this candidate list, while the EIP regular modes are placed in the second half.

[0096] Aspect 2: Generation of EIP Prediction

[0097] The selection depends on implicitly or explicitly selecting one or more (k) candidates from the candidate list in aspect 1. After the selection, one or more selected candidates are used to generate the EIP prediction for the current block.

[0098] In one embodiment, each candidate in the list generates the prediction on the template to get the template prediction and the template cost for each candidate is measured according to the distortion between the template prediction and template reconstruction. The candidate list is reordered according to the costs and / or the promising candidates with smaller costs are reordered.

[0099] In another embodiment, the selection is using the first k candidates in the candidate list. When k is 1, the only one selected candidate is used to generate the EIP prediction for the current block. When k is larger than 1, multiple hypotheses of prediction with each hypothesis generated by one selected candidate are used to form the EIP prediction by a pre-defined weighting.

[0100] In another embodiment, the pre-defined weighting follows the costs. For the prediction generated by the candidate with a higher cost, the weight for this prediction gets smaller.

[0101] Aspect 3: Combination of Predictions

[0102] After getting the EIP prediction in aspect 2, the combined prediction is formed by using weighted averaging.

[0103] In one embodiment, the blending weight is pre-defined.

[0104] In another embodiment, the blending weight for the hypothesis of prediction (either mode-type prediction or EIP prediction) with a smaller template cost gets higher.

[0105] In another embodiment, blending weights in the weighted averaging are derived using a regression-based derivation. The additional inputs are considered for the EIP model to train the blending weights. For example, an N-tap filter is used as shown in Fig. 13, where the three defined filter shapes with N (N = 16) inputs and 1 output. Reconstructions of P0 to PN-1 and target non-EIP intra prediction of PN is used to derive the prediction of PN. . The reconstructions of P0 to PN-1 and the target non-EIP intra prediction of PN are fed into the EIP model to predict the better prediction of PN. Since the current target non-EIP intra prediction becomes one of the EIP model inputs, the blending weight is trainable.

[0106] Aspect 4: Signalling

[0107] In one embodiment, one additional flag is signalled to indicate whether the proposed combined prediction is used after the current block is already determined to code by a target mode. The target mode can be any non-EIP intra mode such as TIMD, DIMD, any GPM variations (e.g. spatial GPM) , intraTMP, intra MPM modes, intra non-MPM modes, WAIP, MIP, and / or any traditional intra prediction modes (e.g. DC, planar, angular prediction modes) .

[0108] In another embodiment, after determining to use the proposed combined prediction for the current block, different weighting methods can be treated as different optional modes of the combined prediction. An implicit rule and / or an explicit mode index indication is used to select the optional mode of the combined prediction for the current block. For example, one of the optional modes using the pre-defined blending weight, one of the optional modes using the trainable blending weight.

[0109] Aspect 5: Storage of EIP Model

[0110] In one embodiment, the set of {filter shape and / or filter parameters} is stored for the current block and / or for subsequent blocks when the proposed combined prediction is selected for the current block. The set of {filter shape and / or filter parameters} can be referenced by subsequent blocks.

[0111] 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 / 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 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.

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

[0113] Any of the foregoing proposed methods of combined intra prediction comprising one filter-based intra prediction can be implemented in encoders and / or decoders. For example, any of the proposed methods can be implemented in an inter and / or intra and / or IBC and / or prediction and / or transform module of an encoder, and / or an inter and / or intra and / or IBC and / or prediction and / or transform module of a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to the inter and / or intra and / or IBC and / or prediction and / or transform module of the encoder, and / or the inter and / or intra and / or IBC and / or prediction and / or transform module of the decoder, so as to provide the information needed by the inter and / or intra and / or IBC and / or prediction and / or transform module. With reference to the encoder and decoder in Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in an inter / intra / prediction / transform module (e.g. Intra Pred. 110 in Fig. 1A) of an encoder, and / or an inter / intra / prediction / transform module (e.g. Intra Pred. 150 in Fig. 1B) of a decoder.

[0114] Fig. 14 illustrates a flowchart of an exemplary video coding system that uses combined intra prediction generated by combining a filter-based intra prediction mode and another intra 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 and / or decoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to this method, input data associated with a current block are received in step 1410, wherein the input data comprise pixel data to be encoded at an encoder side or coded data associated with the current block to be decoded at a decoder side, and wherein a target intra prediction mode is selected for the current block. Whether the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode is check in step 1420. When the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode (i.e., the “Yes” path) , steps 1430-1450 are performed. Otherwise (i.e., the “No” path) , steps 1430-1450 are skipped. In step 1430, a first filter-based intra predictor using the first filter-based intra prediction mode is derived. In step 1440, a combined intra predictor is generated based on the target intra prediction mode and the first filter-based intra prediction mode. In step 1450, the current block is encoded or decoded by using information comprising the combined intra predictor.

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

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

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

[0118] 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, 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, and wherein a target intra prediction mode is selected for the current block;when the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode:deriving a first filter-based intra predictor using the first filter-based intra prediction mode;generating a combined intra predictor based on the target intra prediction mode and the first filter-based intra prediction mode; andencoding or decoding the current block by using information comprising the combined intra predictor.2.The method of Claim 1, wherein the target intra prediction mode corresponds to a second filter-based intra prediction mode.3.The method of Claim 2, wherein both the target intra prediction mode and the first filter-based intra prediction mode are selected from a filter-based intra prediction merge candidate list.4.The method of Claim 3, wherein the target intra prediction mode and the first filter-based intra prediction mode correspond to a first and a second indexed models, a first and a second models in the filter-based intra prediction merge candidate list, or a first indexed model and a second indexed model in the filter-based intra prediction merge candidate list.5.The method of Claim 2, wherein one of the target intra prediction mode and the first filter-based intra prediction mode corresponds to one model or one indexed model from a filter-based intra prediction merge candidate list, and another of the target intra prediction mode and the first filter-based intra prediction mode is derived from a template of the current block.6.The method of Claim 5, wherein the combined intra predictor is generated based on a merge mode or a regular mode of the first filter-based intra prediction.7.The method of Claim 1, wherein the target intra prediction mode corresponds to a non-filter-based intra prediction mode, and wherein the non-filter-based intra prediction mode comprises DIMD (Decoder-side Intra Mode Derivation) , TIMD (Template-based Intra Mode Derivation) , SGPM (Spatial Geometric Partitioning Mode) , IntraTMP (Intra Template Matching Prediction) , MPM (Most Probable Mode) modes, WAIP (Wide Angle Intra Prediction) modes, MIP (Matrix-based Intra Prediction) .8.The method of Claim 1, wherein a candidate list for suggesting a filter-based intra prediction mode candidate is generated according to filter-based intra prediction mode information of previous coded blocks and / or default filter-based intra prediction mode information.9.The method of Claim 8, wherein the filter-based intra prediction mode information of previous coded blocks comprises selected type of reconstructed area, filter shape, filter coefficients, or a combination thereof.10.The method of Claim 8, wherein the candidate list is reordered.11.The method of Claim 10, wherein first K candidates in the candidate list are used for suggesting a filter-based intra prediction mode candidate, and wherein K is greater than or equal to 1.12.The method of Claim 11, wherein when K is equal to 1, only one filter-based intra prediction mode candidate is used to generate one filter-based intra prediction.13.The method of Claim 11, wherein when K is greater than 1, multiple filter-based intra prediction mode candidates are blended to generate one filter-based intra prediction.14.The method of Claim 13, wherein the first K candidates are blended using pre-defined weights to generate said one filter-based intra prediction.15.The method of Claim 13, wherein the first K candidates are blended using weights derived from a regression-based process to generate said one filter-based intra prediction.16.The method of Claim 15, wherein additional inputs are considered for filter-based intra prediction model to train the weights.17.The method of Claim 7, wherein a flag is signalled or parsed to indicate whether the target intra prediction mode is combined with the first filter-based intra prediction mode.18.The method of Claim 17, wherein different weights to generate different combined intra predictors are treated as different optional modes.19.An apparatus for video coding, the apparatus comprising one or more electronic circuits or processors arranged to:receive input data associated with a current block, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side, and wherein a target intra prediction mode is selected for the current block;when the target intra prediction mode is determined to be combined with a first filter-based intra prediction mode:derive a first filter-based intra predictor using the first filter-based intra prediction mode;generate a combined intra predictor based on the target intra prediction mode and the first filter-based intra prediction mode; andencode or decode the current block by using information comprising the combined intra predictor.

Citation Information

Patent Citations

  • Method and apparatus for processing intra-prediction-based video signal

    CN108781285A

  • Image encoding / decoding method and device, and recording medium storing bitstream

    CN111373755A

  • Multi-level compound prediction

    CN111757106A

  • Merge candidates with multiple hypothesis

    CN112400319A

  • Method and apparatus of history-based intra mode coding

    CN112567771A