Methods and apparatus of multi-model EIP in video coding
The multi-model EIP mode in video coding addresses inefficiencies by deriving multiple filters and using inheritance information from previous blocks for enhanced intra prediction, improving coding efficiency and quality in handling diverse video sources.
Patent Information
- Application Number
- PCT/CN2025/108065
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-07-12
- Filing Date
- 2025-07-11
- Publication Date
- 2026-01-15
AI Technical Summary
Existing video coding technologies face challenges in efficiently handling various types of video sources, including 3-dimensional video signals, and improving coding efficiency through enhanced intra prediction methods.
The implementation of a multi-model Extrapolation Filter-Based Intra Prediction (EIP) mode in video coding, which involves deriving two or more EIP filters based on input values and classifying current samples into target classes to select the appropriate filter for intra prediction, utilizing inheritance information from previous coded blocks for improved prediction.
Enhances video coding efficiency by providing flexible and efficient intra prediction, improving quality and reducing processing impairments through the use of multiple EIP filters and inheritance information from previous blocks.
Smart Images

Figure CN2025108065_15012026_PF_FP_ABST
Abstract
Description
METHODS AND APPARATUS OF MULTI-MODEL EIP IN VIDEO CODINGCROSS 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 / 670, 213, filed on July 12, 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 Extrapolation filter-based Intra Prediction (EIP) mode for video coding. In particular, the present invention discloses a multi-model EIP. BACKGROUND AND RELATED ART
[0003] Versatile video coding (VVC) is the latest international video coding standard developed by the Joint Video Experts Team (JVET) of the ITU-T Video Coding Experts Group (VCEG) and the ISO / IEC Moving Picture Experts Group (MPEG) . The standard has been published as an ISO standard: ISO / IEC 23090-3: 2021, Information technology -Coded representation of immersive media -Part 3: Versatile video coding, published Feb. 2021. VVC is developed based on its predecessor HEVC (High Efficiency Video Coding) by adding more coding tools to improve coding efficiency and also to handle various types of video sources including 3-dimensional (3D) video signals.
[0004] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing. For Intra Prediction 110, the prediction data is derived based on previously coded video data in the current picture. For Inter Prediction 112, Motion Estimation (ME) is performed at the encoder side and Motion Compensation (MC) is performed based on the result of ME to provide prediction data derived from other picture (s) and motion data. Switch 114 selects Intra Prediction 110 or Inter Prediction 112 and the selected prediction data is supplied to Adder 116 to form prediction errors, also called residues. The prediction error is then processed by Transform (T) 118 followed by Quantization (Q) 120. The transformed and quantized residues are then coded by Entropy Encoder 122 to be included in a video bitstream corresponding to the compressed video data. The bitstream associated with the transform coefficients is then packed with side information such as motion and coding modes associated with Intra prediction and Inter prediction, and other information such as parameters associated with loop filters applied to underlying image area. The side information associated with Intra Prediction 110, Inter prediction 112 and in-loop filter 130, is provided to Entropy Encoder 122 as shown in Fig. 1A. When an Inter-prediction mode is used, a reference picture or pictures have to be reconstructed at the encoder end as well. Consequently, the transformed and quantized residues are processed by Inverse Quantization (IQ) 124 and Inverse Transformation (IT) 126 to recover the residues. The residues are then added back to prediction data 136 at Reconstruction (REC) 128 to reconstruct video data. The reconstructed video data may be stored in Reference Picture Buffer 134 and used for prediction of other frames.
[0005] As shown in Fig. 1A, incoming video data undergoes a series of processing in the encoding system. The reconstructed video data from REC 128 may be subject to various impairments due to a series of processing. Accordingly, in-loop filter 130 is often applied to the reconstructed video data before the reconstructed video data are stored in the Reference Picture Buffer 134 in order to improve video quality. For example, deblocking filter (DF) , Sample Adaptive Offset (SAO) and Adaptive Loop Filter (ALF) may be used. The loop filter information may need to be incorporated in the bitstream so that a decoder can properly recover the required information. Therefore, loop filter information is also provided to Entropy Encoder 122 for incorporation into the bitstream. In Fig. 1A, Loop filter 130 is applied to the reconstructed video before the reconstructed samples are stored in the reference picture buffer 134. The system in Fig. 1A is intended to illustrate an exemplary structure of a typical video encoder. It may correspond to the High Efficiency Video Coding (HEVC) system, VP8, VP9, H. 264 or VVC.
[0006] The decoder, as shown in Fig. 1B, can use some of the functional blocks as the encoder. For example, the decoder can reuse Inverse Quantization 124 and Inverse Transform 126; however, Transform 118 and Quantization 120 are not needed at the decoder. Instead of Entropy Encoder 122, the decoder uses an Entropy Decoder 140 to decode the video bitstream into quantized transform coefficients and needed coding information (e.g. ILPF information, Intra prediction information and Inter prediction information) . The Intra prediction 150 at the decoder side does not need to perform the mode search. Instead, the decoder only needs to generate Intra prediction according to Intra prediction information received from the Entropy Decoder 140. Furthermore, for Inter prediction, the decoder only needs to perform motion compensation (MC 152) according to Inter prediction information received from the Entropy Decoder 140 without the need for motion estimation.
[0007] In the present invention, methods and apparatus to improve the performance of Extrapolation Filter-Based Intra Prediction (EIP) mode by using multi-model EIP for video coding are disclosed. BRIEF SUMMARY OF THE INVENTION
[0008] A method and apparatus for video coding using EIP mode are disclosed. According to this method, input data associated with a current block is received, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. Two or more EIP (Extrapolated Intra Prediction) filters are derived. When an MM-EIP (Multi-Model Extrapolated Intra Prediction) mode is selected for the current block: a current sample or a group of current samples is classified into a target class among a plurality of classes according to an input value; and intra prediction is derived by selecting a target EIP filter among said two or more EIP filters for the current sample or the group of current samples according to the target class. The current block is encoded or decoded using the intra prediction.
[0009] In one embodiment, the input value is associated with the current sample or the group of current samples. In one embodiment, the input value associated with the current sample or the group of current samples is derived based on surrounding samples around the current sample or the group of current samples. In one embodiment, the input value associated with the current sample or the group of current samples is derived based on at least one of above-sample above the current sample and left-sample to the left of the current sample. In one embodiment, the input value associated with the current sample or the group of current samples is derived based on all or part of input samples used as EIP filter input for the current sample.
[0010] In one embodiment, when the current sample or the group of current samples comprise a first colour component and a second colour component and the input value is associated with the first colour component of the current sample, the input value is derived based on the first colour component or both the first colour component and the second colour component of the current sample.
[0011] In one embodiment, the input value associated with the current sample is derived using sample value, gradient, variance, average, mean, medium, minimum, maximum, sample position, or a combination thereof of surrounding samples around the current sample and / or the current sample.
[0012] In one embodiment, the current sample or the group of current samples are classified by comparing the input value with one or more thresholds. In one embodiment, said one or more thresholds used for classification of the current sample or the group of current samples are derived using neighbouring samples around the current block. In one embodiment, the neighbouring samples around the current block comprise the neighbouring samples in an above template of the current block, a left template of the current block, or both. In one embodiment, said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on a top-left sample of the current block. In one embodiment, said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on an average of surrounding samples around the current block. In one embodiment, said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on sample value, gradient, variance, average, mean, medium, minimum, maximum, sample position, or a combination thereof of surrounding samples around the current block.
[0013] In one embodiment, said one or more thresholds used for classification are one or more fixed values.
[0014] In one embodiment, when deriving filter coefficients associated with said two or more EIP filters for the current block using training samples, the training samples are classified using a same classification process as the current sample inside the current block. In one embodiment, the training samples correspond to neighbouring samples in neighboring templates of the current block. In one embodiment, the training samples with a same classification results are grouped to train one EIP filter.
[0015] In one embodiment, filter information associated with said two or more EIP filters for the current block is inherited from one or more previous coded blocks. In one embodiment, the filter information inherited comprises filter shapes and / or all or part of filter coefficients of said two or more EIP filter, one or more thresholds used for classification, one or more templates used to derive the filter coefficients of said two or more EIP filters, information associated with classification method, or a combination thereof.
[0016] In one embodiment, said two or more EIP filters are inserted into a merge candidate list as a MM-EIP candidate and the current block is encoded or decoded based on the merge candidate list.BRIEF DESCRIPTION OF THE DRAWINGS
[0017] Fig. 1A illustrates an exemplary adaptive Inter / Intra video encoding system incorporating loop processing.
[0018] Fig. 1B illustrates a corresponding decoder for the encoder in Fig. 1A.
[0019] Fig. 2 shows the intra prediction modes as adopted by the VVC video coding standard.
[0020] Fig. 3 illustrates three types of filter shapes with fifteen inputs and generate one output for EIP process.
[0021] 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.
[0022] Fig. 5 illustrates an example of template area for template-based multiple reference line intra prediction (TMRL) mode.
[0023] Fig. 6 illustrates the positions of spatial merge candidates.
[0024] Fig. 7 illustrates a flowchart of an exemplary video coding system that uses multi-model EIP according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION
[0025] 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.
[0026] 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.
[0027] I. RELATED ART
[0028] I. 1 Intra Mode Coding with 67 Intra Prediction Modes
[0029] 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. The new directional modes not in HEVC are depicted as dotted arrows in Fig. 2, and the planar and DC modes remain the same. These denser directional intra prediction modes apply to all block sizes for both luma and chroma intra predictions.
[0030] In VVC, several conventional angular intra prediction modes are adaptively replaced with wide-angle intra prediction modes for the non-square blocks.
[0031] I. 2 Intra Mode Coding
[0032] The most probable mode (MPM) list is generated with an intra mode coding method by considering two available neighbouring intra modes. The MPM list includes 6 MPMs. The following three aspects are considered to construct the MPM list: –Default intra modes –Neighbouring intra modes –Derived intra modes.
[0033] I. 3 Decoder-side Intra Mode Derivation (DIMD)
[0034] 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.
[0035] A texture gradient analysis is performed at both 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.
[0036] I. 4 Template-based Intra Mode Derivation (TIMD)
[0037] 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 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 weights to generate prediction for the current CU.
[0038] I. 5 Extrapolation Filter-Based Intra Prediction (EIP) Mode
[0039] 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 (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, t (x-offsetXi, y-offsetYi) is a reconstructed or a predicted value at position (x-offsetXi, y-offsetYi) used for the current position’s prediction. offsetXi and offsetYi are the position offsets to the current position along x and y directions, respectively.
[0040] 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. The three types of the reconstructed area are defined as shown in Fig. 4, where the three reconstructed areas correspond to Left-Above area (i.e., EIP_LT) (Fig. 4A) , Above area (i.e., EIP_T) (Fig. 4B) , and Left area (i.e., EIP_L) (Fig. 4C) . The size of the reconstructed area depends on the min (blockWidth, blockHeight) and the selected filter shape.
[0041] 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.
[0042] When the EIP merge flag is false, the EIP filter is derived from the neighbouring reconstructed samples and the relevant syntax element is signalled to indicate which one of the three types of reconstructed area and which one of the three filter shapes are used for the CU. The selected filter moves in the selected reconstructed area either horizontally or vertically with a one-pixel step to construct the auto-correlation matrix and the cross-correlation vector. The calculation of coefficients from the auto-correlation matrix and the cross-correlation vector is the same as that in CCCM.
[0043] After generating the prediction samples of the CU using the EIP filter, an intra prediction mode is derived by applying the DIMD process to the prediction samples. Specifically, a horizontal gradient and a vertical gradient are calculated for each predicted sample to build a histogram of gradient. Then the intra prediction mode corresponding to the largest histogram count is used to determine the LFNST, NSPT or MTS transform set.
[0044] I. 6 Template-based Multiple Reference Line Intra Prediction
[0045] Template-based multiple reference line intra prediction (TMRL) mode combines reference line 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.
[0046] 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 are calculated between the predictions (generated by 50 combinations) and the reconstructions as shown in Fig. 5. The 20 combinations with the least SAD cost are selected in an ascending order to form the TMRL candidate list.
[0047] I. 7 Inter prediction
[0048] The details of inter prediction of VVC can be found in JVET-T2002 (Jianle Chen, et al., “Algorithm description for Versatile Video Coding and Test Model 11” , Joint Video Experts Team (JVET) of ITU-T SG 16 WP 3 and ISO / IEC JTC 1 / SC 29, 20th Meeting, by teleconference, 7 –16 October 2020, Document: JVET-T2002) .
[0049] I. 7.1 Spatial candidate derivation
[0050] Spatial merge candidates are selected among candidates located in the positions depicted in Fig. 6.
[0051] II. PROPOSED METHOD
[0052] In this invention, an intra merge scheme is proposed to improve intra coding. This intra merge scheme can also be named as decoder-derived intra prediction (DIP) merge mode. The concept of the intra merge scheme is to inherit (or reference) information from previous coded blocks and use the inheritance information (i.e., information inherited from previous coded blocks) to predict the current block.
[0053] Comparing the proposed intra merge scheme and the traditional intra MPM, the traditional intra MPM can only inherit the intra prediction mode described in Section I. 1, such as angular prediction modes, DC, or planar mode. The intra prediction modes are inherited from the previous coded block, particularly from the above neighbouring block and / or the left neighbouring block. While the proposed intra merge scheme brings more flexible inheritance flows and / or more efficient inheritance information in the following three aspects.
[0054] In the first aspect, in some embodiments specified in the section “inheritance information setting” , the inheritance information can be any mode information, any sample information, any block information, any model information, and / or any information associated with prediction generation.
[0055] In the second aspect, in some embodiments specified in the section “inheritance block setting” , the current block can find the previous coded blocks containing the inheritance information through several proposed merge methods.
[0056] In the third aspect, in some embodiments specified in the section “target mode setting and shortcut syntax setting” , when the current block is coded by a target mode from the intra merge scheme (i.e., the current block is coded in the DIP merge mode) , the current block can obtain the information associated with prediction generation of the current block through several proposed methods.
[0057] When generating the prediction of the current block coded by the target mode, one or more inheritance blocks are selected from a merge candidate list or among several merge candidates. Then, the inheritance information from the inheritance blocks is used for the target mode to generate prediction.
[0058] In some embodiments, the inheritance information of each merging candidate can belong to different target modes. For example, the inheritance information of merge candidates can be related to DIMD, TIMD, MRL, EIP, or a combination thereof. For another example, one merge candidate list can contain candidates with different target modes. The current block can be predicted following DIMD, TIMD, MRL, or EIP depending on which merge candidate is used.
[0059] II. 1 Inheritance information setting
[0060] The inheritance information for generating prediction of the current block using a target mode is defined in some embodiments in this section.
[0061] II. 1.1 Inheritance information setting for DIMD
[0062] When DIMD mode is used as the target mode, the inheritance information includes (a) , (b) , (c) , (d) , or a combination thereof. (a) one or more histogram (bar) values for the available DIMD intra prediction modes (e.g. DC, planar, and / or directional prediction modes) (b) the N intra prediction modes (with the highest N histogram bars) suggested by the histogram values (c) DIMD weighting information and / or fusion or not (d) reference line information and / or wide-angle conditions.
[0063] II. 1.2 Inheritance information setting for TIMD
[0064] When TIMD mode is used as the target mode, the inheritance information includes (a) , (b) , (c) , (d) or a combination thereof. (a) one or more TIMD cost values for the available TIMD intra prediction modes such as DC, planar, and / or directional prediction modes (b) the N intra prediction modes (with the smallest N TIMD costs) suggested by the TIMD costs (c) TIMD weighting information and / or fusion or not (d) reference line information and / or wide-angle conditions.
[0065] II. 1.3 Inheritance information setting for MRL
[0066] When MRL mode is used as the target mode, the inheritance information includes (a) , (b) , (c) , (d) or a combination thereof. (a) one or more reference lines jointly with intra prediction modes such as DC, planar, and / or directional prediction modes (b) the N intra prediction modes (with the smallest N TIMD costs) suggested by the TIMD costs (c) weighting information and / or fusion or not (d) reference line information and / or wide-angle conditions.
[0067] II. 1.4 Inheritance information setting for EIP
[0068] The single-model EIP mentioned in Section II. 1.4.1 “Inheritance information setting for Single-model EIP” refers to the EIP mode described in Section I. 5 “Extrapolation filter-based intra prediction (EIP) mode” . In Section II. 1.4.2, a multi-model EIP mode and the associated inheritance information when this mode is used as the target mode are introduced.
[0069] II. 1.4.1 Inheritance information setting for single-model EIP
[0070] For EIP mode, the inheritance information includes (a) , (b) , (c) or a combination thereof. (a) the filter shape (b) all or parts of the filter coefficients (c) the template used to derive the filter coefficients.
[0071] II. 1.4.2 Multi-model EIP and inheritance information setting for multi-model EIP
[0072] Multi-model EIP (MM-EIP) is also a type of EIP mode. MM-EIP is a mode that uses multiple EIP filters to generate prediction. The choice regarding which filter to use is determined based on a classification result. For each sample (or a group of samples) in the current block, the classification of the current sample is performed. An EIP filter is then determined based on the classification result of the current sample. The current sample is predicted based on the chosen EIP filter.
[0073] In one embodiment, the number of multiple EIP filters used is two.
[0074] In one embodiment, the classification method is to compare an input value associated with the current sample with one or more thresholds. For example, in the case of two filters, if the input value is smaller than or equal to a threshold, the first filter is chosen. If the input value is larger than the threshold, the second filter is chosen.
[0075] In one embodiment, the input value associated with the current sample can be derived based the samples around the current samples. For example, the input value can be derived based on at least one of the sample above the current sample and the sample left to the current sample. For another example, the input value can be derived based on all or part of the samples that will be used as the EIP filter input for the current sample (i.e., as described in Section I. 5) . The samples to be used as the EIP filter input will depend on the EIP filter shape used.
[0076] In one embodiment, the input value associated with a colour component of the current sample can be derived based on other colour components of the current sample.
[0077] In one embodiment, the input value associated with the current sample can be derived using the sample value, gradient, variance, average, mean, medium, minimum, maximum, the sample position, or a combination thereof of the samples around the current sample and / or the current sample.
[0078] In one embodiment, the threshold used in the classification method can be derived using the samples around the current block. For example, the threshold can be derived based on samples of at least one of the above neighbouring template and the left neighbouring template of the current block. For another example, the threshold can be derived based on the top-left sample of the current block (i.e., if the current block position is (x, y) , the threshold can be derived based on the sample at (x-1, y-1) ) .
[0079] In one sub-embodiment, the threshold can be the average of the samples around the current block.
[0080] In one sub-embodiment, the threshold can be computed based on the sample value, gradient, variance, average, mean, medium, minimum, maximum, the sample position, or a combination thereof of the samples around the current block.
[0081] In one embodiment, the threshold used in the classification method can be a fixed value.
[0082] In one embodiment, when deriving filter coefficients for the current block using training samples, the training samples are classified using the same classification method as the samples inside the current block. The training samples can be the samples of the neighbouring templates of the current block. The training samples with the same classification results are grouped to train one EIP filter.
[0083] When the target mode is MM-EIP mode, the inheritance information includes (a) , (b) , (c), (d) , (e) or a combination thereof. (a) the filter shapes of the multiple filters (b) all or parts of the filter coefficients of the multiple filters (c) the thresholds used in the classification method (d) the template used to derive the filter coefficients (e) any information associated with the classification method including, but not limited to, information indicating the samples which the input value is derived based on, the method to derive the input value, the sample which the threshold is derived based on, or the method to derive the threshold.
[0084] II. 1.5 Inheritance information setting for DIP merge modes
[0085] When the target mode is DIP merge modes, the inheritance information includes all or any subset of the following items. -item 1: (a) , (b) , (c) , (d) , or a combination thereof described in Section II. 1.1 -item 2: (a) , (b) , (c) , (d) , or a combination thereof described in Section II. 1.2 -item 3: (a) , (b) , (c) , (d) , or a combination thereof described in Section II. 1.3 -item 4: (a) , (b) , (c) , or a combination thereof described in Section II. 1.4.1 -item 4.1: (a) , (b) , (c) , (d) , (e) , or a combination thereof described in Section II. 1.4.2 -item 5: coding mode (for example, DIMD-related mode or not, TIMD-related mode or not, MRL-related mode or not, SGPM-related mode or not, ISP-related mode or not, intraTMP-related mode or not, MPM-related mode or not, MIP-related mode or not, EIP-related mode or not, MM-EIP-related mode or not and / or any mode related to a pre-defined intra mode) and / or corresponding information of the coding mode.
[0086] In one embodiment, for item 1, item 2, item 3, item 4, and item 4.1, the embodiments in Section II. 1.1, Section II. 1.2, Section II. 1.3, Section II. 1.4.1, Section II. 1.4.2 can be used to obtain the inheritance information respectively.
[0087] In another embodiment, item 5 is included in the inheritance information. The coding mode in item 5 decides the corresponding information to be further included in the DIP merge mode inheritance information. For example, the coding mode in item 5 is MRL-related mode and only the corresponding information from item 3 is included in the DIP merge mode inheritance information.
[0088] In one embodiment, the coding mode in item5 is from a previous coded block specified in Section II. 2 “Inheritance block setting” . The previous coded block may store the DIP merge mode inheritance information. The stored DIP merge mode inheritance information of the previous coded block can be referenced by subsequent coding blocks (e.g. the current block) . For example, for each block containing the DIP merge mode inheritance information, the DIP merge mode inheritance information is stored and / or referenced by subsequent coding blocks. For example, for each pre-defined unit containing the DIP merge mode inheritance information, the DIP merge mode inheritance information is stored and / or referenced by subsequent coding blocks. The unit can be any pre-defined region or kxk grids, where k can be 2, 4, 8, 16, or any pre-defined positive integer.
[0089] In one sub-embodiment, the coding mode is EIP. The previous coded block generates the corresponding EIP inheritance information (e.g. filter shape and / or filter coefficients) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0090] In one sub-embodiment, the coding mode is MM-EIP. The previous coded block generates the corresponding MM-EIP inheritance information (e.g. filter shape, filter coefficients, thresholds or combination thereof) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0091] In one sub-embodiment, the coding mode is SGPM (spatial geometric partitioning mode) . This mode generates multiple hypotheses of predictions from different intra prediction modes and combines the hypotheses of predictions to form the final prediction using the weights based on a geometric partitioning line as inter GPM. The previous coded block generates the corresponding SGPM inheritance information (e.g. intra prediction modes and / or partitioning line and / or weights) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0092] In one sub-embodiment, the coding mode is ISP (intra sub-partition) . This mode splits the current block into multiple sub-partitions and generates prediction of each sub-partition using the reconstructed samples (possibly from the previous sub-partition) adjacent to the current sub-partition as the reference samples. The previous coded block generates the corresponding ISP inheritance information (e.g. one or more intra prediction modes and / or splitting method) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0093] In one sub-embodiment, the coding mode is IntraTMP (intra template matching prediction) . This mode uses template matching to find a displacement (i.e., block vector) to refer a reference block in a pre-defined range of the current picture and generates prediction using the reconstructed samples of the reference block. The previous coded block generates the corresponding intraTMP inheritance information (e.g. one or more block vectors) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0094] In another embodiment, the coding mode is MIP (matrix-based intra prediction) . This mode uses a pre-defined matrix and pre-defined adjacent or non-adjacent reference samples to generate the prediction. The previous coded block generates the corresponding MIP inheritance information (e.g. one or more matrix indications, one or more matrix coefficients of the indicated matrixes, block width, block height, block area, block position, or a combination thereof) and / or stores the DIP merge mode inheritance information (coding mode and / or the corresponding information) .
[0095] In one embodiment, the inheritance information of the target mode depends on an inherited coding mode value of the selected merge candidate.
[0096] In one sub-embodiment, if the coding mode of the selected merge candidate is DIMD, TIMD, EIP, MM-EIP or MRL, the inherited coding mode value is the same as the coding mode (i.e., is DIMD, TIMD, EIP, MM-EIP or MRL respectively) .
[0097] In one sub-embodiment, for a block coded in DIP merge mode, the inherited mode type value is set as following: When the current block is coded in DIP merge mode, the block will select a merge candidate to generate prediction. If the selected merging candidate for the current block is coded in DIMD, TIMD, MRL, EIP or MM-EIP, the inherited mode type value of the current block is set to DIMD, TIMD, MRL, EIP or MM-EIP respectively. If the selected merging candidate for the current block is coded in DIP merge mode, the inherited mode type value of the current block is set to the inherited mode type value of the selected merging candidate.
[0098] In one sub-embodiment, if the inherited mode type is DIMD, the inheritance information setting follows the description in Section II. 1.1
[0099] In one sub-embodiment, if the inherited mode type is TIMD, the inheritance information setting follows the description in Section II. 1.2
[0100] In one sub-embodiment, if the inherited mode type is MRL, the inheritance information setting follows the description in Section II. 1.3
[0101] In one sub-embodiment, if the inherited mode type is EIP, the inheritance information setting follows the description in Section II. 1.4.1
[0102] In one sub-embodiment, if the inherited mode type is MM-EIP, the inheritance information setting follows the description in Section II. 1.4.2
[0103] II. 2 Inheritance Block Setting
[0104] II. 2.1 Inheritance information from the previous coded blocks
[0105] The inheritance information is obtained from the previous coded blocks.
[0106] In one embodiment, one or more candidates of spatial adjacent candidates and / or non-adjacent candidates, history candidates, temporal candidates, default candidates, or any subset of above-mentioned candidates provide the inheritance information from the previous coded blocks.
[0107] In one embodiment, a merge candidate list, containing inheritance information, is built for the current block. Like the inter merge mode candidate list, the merge candidate list includes spatial adjacent candidates and / or non-adjacent candidates, history candidates, temporal candidates, default candidates, or any subset of above-mentioned candidates.
[0108] In one embodiment, after building the merge candidate list, the merge list is reordered. The cost of each candidate is computed based on a pre-defined method, and the candidates are then reordered based on their respective cost.
[0109] In one sub-embodiment, the cost is computed with a template matching method. The predictions of the neighbouring templates based on each candidate are first generated. Then the difference between the prediction samples and the reconstructed samples are computed. The difference is referred as the template cost. The candidates are reordered based the template cost in ascending order. The difference may be SAD or SATD.
[0110] In one sub-embodiment, the costs of candidates with some specific coding modes are further adjusted. For example, the specific coding modes refer to the DIMD modes, any subset of DIMD modes, DIMD related modes, any subset of DIMD-related modes, or any combination thereof. The cost of candidates with the specific coding modes are decreased by subtracting a positive offset, by scaling by a factor smaller than one, or by setting the cost to a minimum value. For another example, the specific coding modes refer to the TIMD modes, any subset of TIMD modes, TIMD related modes, any subset of TIMD related modes, EIP modes, any subset of EIP modes, or any combination thereof. The cost of candidates with the specific coding modes are increased by adding a positive offset, by scaling by a factor larger than one, or by setting the cost to a maximum value. The reordering of the list is performed on the adjusted costs. For candidates coded in DIP merge mode, the coding mode refers to the inherited mode type value of the DIP merge mode.
[0111] In one embodiment, after building the merge candidates list, one or more candidates are selected from the list for the current block to use. The selection depends on explicitly signalling an index or implicitly select the one or more (promising) candidates. For example, the first one or more candidates with the smallest costs are selected. For another example, the explicit index indicates one or more candidates in the reordered list as the selected candidates. The cost calculation and / or list reordering may depend on the template matching process which calculates the cost based on the distortion between the prediction (using a certain candidate) of the template and the reconstruction of the template. The candidates in the list are reordered based on cost in ascending order.
[0112] II. 2.1.1 Spatial adjacent candidates and non-adjacent candidates
[0113] The spatial adjacent candidates are from the adjacent neighbouring blocks of the current block. The adjacent neighbouring blocks can be the same as the 5 spatial neighbouring blocks for inter merge mode or any subset of the adjacent neighbouring blocks of the current block. For example, for adding the spatial adjacent candidates into the merge list, as in Fig. 6, the inclusion order can be A1 → B1 → A0 → B0 → B2 or B1 → A1 → B0 → A0 → B2. The non-adjacent candidates are from a search range around (but not adjacent to) the current block. The search range can be the same as the search range of non-adjacent candidates for inter merge mode. The non-adjacent candidates can be from pre-defined positions and are added into the merge list in a pre-defined inclusion order. For example, the pre-defined positions and the inclusion order are the same as those of the non-adjacent candidates of inter merge mode.
[0114] II. 2.1.2 History candidates
[0115] The history candidates are selected from a history-based buffer array. In the history-based buffer array, the inheritance information of each valid previous coded block is stored where the valid previous coded block refers to any block containing inheritance information.
[0116] II. 2.1.3 Temporal candidates
[0117] The temporal candidates are obtained from the inheritance information stored in one or more previous coded picture. The temporal candidates are obtainable when the current slice / picture is a non-intra slice / picture.
[0118] In one embodiment, the temporal candidates can be from the block at some pre-defined positions (x′, y′) of the previous coded slices / picture. The pre-defined positions (x′, y′) are determined based on a position in the current block. For example, the pre-defined positions are determined based on the current block position (x, y) (i.e., the top-left corner position of the current block)
[0119] In one sub-embodiment, the pre-defined positions are inside the corresponding area of the current encoding block.
[0120] In one sub-embodiment, the pre-defined positions are outside of the corresponding area of the current encoding block.
[0121] In one sub-embodiment, the pre-defined positions can be determined based on the position, width and height of the current block.
[0122] In one sub-embodiment, the pre-defined positions can be determined based on the position, and some pre-defined fixed x-y distances.
[0123] In one embodiment, the previous coded pictures are among the pictures in the reference lists.
[0124] In one embodiment, the previous coded pictures are the same pictures as the collocated picture of the regular inter merge mode.
[0125] In one embodiment, the previous coded pictures can be signalled in the picture / slice header. The reference list and the reference index are signalled in the picture / slice header. For example, L0 [0] is signalled. For another example, L1 [0] is signalled.
[0126] In one embodiment, the previous coded pictures are selected from a picture set with some pre-defined rules.
[0127] In one embodiment, the previous coded pictures are selected from pictures in the reference lists. The selection can be determined based on POC (Picture Order Count) , POC distance, QP, QP difference, or a combination thereof. For another example, pictures with smaller POCs are selected. For another example, pictures with larger POCs are selected. For example, the picture whose POC distance between it and the current picture is the smallest is selected. For another example, the picture with a smaller QP is selected. For another example, the picture with the larger QP is selected. For another example, the picture with smaller QP difference between it and the current picture is selected.
[0128] In one embodiment, the rules to select / not select the previous coded pictures described in the paragraphs above can be combined. For example, the picture whose QP is the smallest among the un-scaled pictures in the reference lists is selected.
[0129] II. 2.1.4 Default candidates
[0130] The default candidates are the candidates containing default information and / or the default information is derived according to the candidates already put in the merge candidate list. In one embodiment, the default modes for the default candidates can be derived using MIMD scheme, OBIC scheme, EIP derived mode scheme, any existing or mentioned intra scheme (for example, TIMD, DIMD, EIP, and / or MRL) , any variations of the existing or mentioned intra scheme, or a combination thereof.
[0131] In one embodiment, the default modes for the default candidates can be derived using MM-EIP. The MM-EIP can be derived based on the neighbouring samples of the current block.
[0132] In one sub-embodiment, the filter shape and / or the neighbouring templates used to derive the filter coefficients can be pre-defined.
[0133] In one embodiment, MM-EIP can be used for the default candidates only when the number of existing candidates (in the merge candidate list) that are coded in EIP mode or coded in DIP merge mode with coding mode information indicating EIP mode is less than a threshold. The threshold can be 0, 1, …, or any non-negative integer.
[0134] In one embodiment, one or more candidates with MM-EIP mode derived based on the neighbouring samples of the current block can be always included in the merge candidate list.
[0135] II. 3 Target Mode Setting and Shortcut Syntax Setting
[0136] II. 3.1 Target mode setting for DIMD (DIMD merge mode)
[0137] This section specifies a DIMD merge mode. When DIMD merge mode is used, the DIMD inheritance information from one or more pre-defined candidates according to the inheritance block setting, is used to decide the prediction information, required for generating the prediction of the current block. For example, the inheritance information refers to the histogram values from the previous coded block and is used to decide one or more intra prediction modes (one kind of prediction information) and / or corresponding weights for the current block as regular DIMD. Then, unified with regular DIMD, the hypothesis of prediction from each derived intra prediction mode is combined using a blending process to form the final prediction of the current block.
[0138] II. 3.2 Target mode setting for TIMD (TIMD merge mode)
[0139] This section specifies a TIMD merge mode. When the TIMD merge mode is used, the TIMD inheritance information from one or more pre-defined candidates (e.g. each candidate providing N intra prediction modes for the available TIMD intra prediction modes and TIMD weighting information, such as {IPM1, IPM2, W1, W2} , and / or fusion or not, and wide-angle conditions) according to the inheritance block setting, is used to decide the prediction information, required for generating the prediction of the current block. For example, the merge candidate list is built and reordered according to the costs in the template matching process. The template size and the template cost calculation may be unified with regular TIMD. After reordering the TIMD merge candidates, the first 2 or any pre-defined number of candidates from the list are kept for signalling. Then, unified with regular TIMD, the hypothesis of prediction from each inherited intra prediction mode is combined using a blending process to form the final prediction of the current block.
[0140] II. 3.3 Target mode setting for MRL (MRL merge mode)
[0141] This section specifies a MRL merge mode. When the MRL merge mode is used, the inheritance information from one or more pre-defined candidates (for example, each candidate providing to one or more reference lines jointly with intra prediction modes (IPM1 and MRL1) and / or fusion or not, and wide-angle conditions) according to the inheritance block setting, is used to decide the prediction information, required for generating the prediction of the current block. For example, the merge candidate list is built and reordered according to the costs in the template matching process. The template size and the template cost calculation may be unified with regular TMRL. After reordering the MRL merge candidates, the first 2 or any pre-defined number of candidates from the list are kept for signalling. Then, unified with regular intra prediction, for the example of inherited IPM1 and MRL1, the prediction from the inherited intra prediction mode and the inherited reference line is to form the final prediction of the current block. For the example of inherited IPM1 with MRL1 and IPM2 with MRL2, the hypotheses of prediction from respective inherited intra prediction modes with the corresponding inherited reference line are combined using blending process to form the final prediction of the current block. For the example of inherited IPM1 with MRL1 / W1 and IPM2 with MRL2 / W2, the hypotheses of prediction from respective inherited intra prediction modes with the corresponding inherited reference line are combined using a blending process with W1 and W2 to form the final prediction of the current block.
[0142] II. 3.4 Target mode setting for DIP merge modes
[0143] This section specifies a DIP merge mode. When the DIP merge mode is used, the inherited DIP merge mode inheritance information is used to generate the prediction of the current block. The inheritance information of a candidate may refer to the coding mode and / or the corresponding information. The current block obtains its own prediction information from the inheritance information.
[0144] An example of the coding mode from the inherited DIP merge mode inheritance information being DIMD-related: - In one case, DIMD merge mode (Section II. 3.1) or regular DIMD is applied to the current block.
[0145] An example of the coding mode from the inherited DIP merge mode inheritance information being TIMD-related: - In one case, TIMD merge mode (Section II. 3.2) or regular TIMD is applied to the current block.
[0146] An example of the coding mode from the inherited DIP merge mode inheritance information being MRL-related: - In one case, MRL merge mode (Section II. 3.3) or regular intra prediction using MRL or TMRL is applied to the current block.
[0147] An example of the coding mode from the inherited DIP merge mode inheritance information being EIP-related: - In one case, EIP merge mode or EIP derived mode is applied to the current block.
[0148] In another embodiment, only one candidate (e.g., the first available candidate) according to the inheritance block setting is used to decide the prediction information for the current block.
[0149] In another embodiment, one or more candidates are used to decide the prediction information for the current block. For example, all available candidates are used to decide the prediction information for the current block. For another example, assuming a pre-defined maximum number be N, the first N available candidates according to the checking order (the checking order is determined based on the inheritance block setting) are used to decide the prediction information for the current block. If the number of total available candidates is smaller than N, all the available candidates are used to decide the prediction information for the current block.
[0150] In one embodiment, a flag is signalled to indicate whether DIP merge mode is used or not.
[0151] In one sub-embodiment, the flag is signalled before the DIMD flag.
[0152] In one embodiment, if DIP merge mode is used, a candidate index is additionally signalled.
[0153] In one embodiment, the candidate index is coded using truncated unary, and each bin of candidate index is context coded with a separate context.
[0154] In one embodiment, if DIP merge mode is used, a candidate that will be used is selected implicitly and no index is additionally signalled.
[0155] The term “block” in this invention can refer to TU / TB, CU / CB, PU / PB, pre-defined region, or CTU / CTB.
[0156] Any combination of the proposed methods in this invention can be applied.
[0157] The proposed methods in this invention can be enabled and / or disabled according to implicit rules (e.g. block width, height, or area) or according to explicit rules (e.g., syntax on block, tile, slice, picture, SPS, or PPS level) . For example, the proposed method is applied when the block area is smaller / larger than a threshold.
[0158] 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.
[0159] With reference to the encoder and decoder in Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in an Intra coding module (e.g. Intra Pred. 150 in Fig. 1B) in a decoder or an Intra coding module (e.g. Intra Pred. 110 in Fig. 1A) in an encoder. Any of the proposed methods can also be implemented as a circuit coupled to the intra / inter coding module at the decoder or the encoder. However, the decoder or encoder may also use additional processing unit to implement the required prediction processing. While the Intra Pred. units (e.g. unit 110 in Fig. 1A and unit 150 in Fig. 1B) are shown as individual processing units, they may correspond to executable software or firmware codes stored on a media, such as hard disk or flash memory, for a CPU (Central Processing Unit) or programmable devices (e.g. DSP (Digital Signal Processor) or FPGA (Field Programmable Gate Array) ) .
[0160] Fig. 7 illustrates a flowchart of an exemplary video coding system that uses multi-model EIP 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 on 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 is received in step 710, wherein the input data comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. Two or more EIP (Extrapolated Intra Prediction) filters are derived in step 720. When an MM-EIP (Multi-Model Extrapolated Intra Prediction) mode is selected for the current block: a current sample or a group of current samples is classified into a target class among a plurality of classes according to an input value; and intra prediction is derived by selecting a target EIP filter among said two or more EIP filters for the current sample or the group of current samples according to the target class in step 730. The current block is encoded or decoded using the intra prediction in step 740.
[0161] 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.
[0162] 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.
[0163] 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.
[0164] 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 comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;deriving two or more EIP (Extrapolated Intra Prediction) filters;when an MM-EIP (Multi-Model Extrapolated Intra Prediction) mode is selected for the current block:classifying a current sample or a group of current samples into a target class among a plurality of classes according to an input value; andderiving intra prediction by selecting a target EIP filter among said two or more EIP filters for the current sample or the group of current samples according to the target class; and encoding or decoding the current block using the intra prediction.2.The method of Claim 1, wherein the input value is associated with the current sample or the group of current samples.3.The method of Claim 2, wherein the input value associated with the current sample or the group of current samples is derived based on surrounding samples around the current sample or the group of current samples.4.The method of Claim 2, wherein the input value associated with the current sample or the group of current samples is derived based on at least one of above-sample above the current sample and left-sample to the left of the current sample.5.The method of Claim 2, wherein the input value associated with the current sample or the group of current samples is derived based on all or part of input samples used as EIP filter input for the current sample.6.The method of Claim 2, wherein when the current sample or the group of current samples comprise a first colour component and a second colour component and the input value is associated with the first colour component of the current sample, the input value is derived based on the first colour component or both the first colour component and the second colour component of the current sample.7.The method of Claim 2, wherein the input value associated with the current sample is derived using sample value, gradient, variance, average, mean, medium, minimum, maximum, sample position, or a combination thereof of surrounding samples around the current sample and / or the current sample.8.The method of Claim 2, wherein the current sample or the group of current samples are classified by comparing the input value with one or more thresholds.9.The method of Claim 8, wherein said one or more thresholds used for classification of the current sample or the group of current samples are derived using neighbouring samples around the current block.10.The method of Claim 9, wherein the neighbouring samples around the current block comprise the neighbouring samples in an above template of the current block, a left template of the current block, or both.11.The method of Claim 9, wherein said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on a top-left sample of the current block.12.The method of Claim 9, wherein said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on an average of surrounding samples around the current block.13.The method of Claim 9, wherein said one or more thresholds used for said classifying the current sample or the group of current samples are derived based on sample value, gradient, variance, average, mean, medium, minimum, maximum, sample position, or a combination thereof of surrounding samples around the current block.14.The method of Claim 8, wherein said one or more thresholds used for classification are one or more fixed values.15.The method of Claim 1, wherein when deriving filter coefficients associated with said two or more EIP filters for the current block using training samples, the training samples are classified using a same classification process as the current sample inside the current block.16.The method of Claim 15, wherein the training samples correspond to neighbouring samples in neighboring templates of the current block.17.The method of Claim 15, wherein the training samples with a same classification results are grouped to train one EIP filter.18.The method of Claim 1, wherein filter information associated with said two or more EIP filters for the current block is inherited from one or more previous coded blocks.19.The method of Claim 18, wherein the filter information inherited comprises filter shapes and / or all or part of filter coefficients of said two or more EIP filter, one or more thresholds used for classification, one or more templates used to derive the filter coefficients of said two or more EIP filters, information associated with classification method, or a combination thereof.20.The method of Claim 18, wherein said two or more EIP filters are inserted into a merge candidate list as a MM-EIP candidate and the current block is encoded or decoded based on the merge candidate list.21.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 comprises pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side;derive two or more EIP (Extrapolated Intra Prediction) filters;when an MM-EIP (Multi-Model Extrapolated Intra Prediction) mode is selected for the current block:classify a current sample or a group of current samples into a target class among a plurality of classes according to an input value; andderive intra prediction by selecting a target EIP filter among said two or more EIP filters for the current sample or the group of current samples according to the target class; and encode or decode the current block using the intra prediction.
Citation Information
Patent Citations
Methods and apparatus of video coding using improved matrix-based intra prediction coding mode
CN113748675A
Sub-block merge mode for intra block copy
CN117256150A
Method and apparatus of novel intra prediction with combinations of reference lines and intra prediction modes in video coding system
WO2024017187A1
Method and apparatus of region-based intra prediction using template-based or decoder side intra mode derivation in video coding system
WO2024083251A1