Methods and apparatus of matrix based prediction improvement for video coding

By integrating gradient values, multiple MIP models, and clipping techniques, the MIP performance in video coding systems is optimized, enhancing prediction accuracy and encoding efficiency.

WO2026007663A1PCT designated stage Publication Date: 2026-01-08MEDIATEK INC
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2025/100605
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Priority Date
2024-07-02
Filing Date
2025-06-12
Publication Date
2026-01-08

AI Technical Summary

Technical Problem

Existing video coding systems, particularly in VVC, face challenges in optimizing the performance of Matrix-based Intra Prediction (MIP) due to limitations in input data utilization and model refinement, leading to suboptimal video quality and encoding efficiency.

Method used

Enhancing MIP by incorporating additional input terms such as gradient values from reconstruction, prediction, or residual values, employing multiple MIP models based on explicit or implicit constraints, and applying clipping to model inputs and outputs to refine predictions.

Benefits of technology

Improves video coding performance by enhancing prediction accuracy and encoding efficiency, resulting in better video quality and reduced bitrates.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2025100605_08012026_PF_FP_ABST
    Figure CN2025100605_08012026_PF_FP_ABST
Patent Text Reader

Abstract

Methods and apparatus for video coding using coding tools including the Matrix-based Intra Prediction (MIP) model are disclosed. According to one method, a target MIP model is derived using MIP model input comprising reconstructed samples in a neighbouring region of the current block and at least one additional input term. According to another method, a plurality of MIP models is derived. A target MIP model is selected from the plurality of MIP models according to one or more implicit constraints or one or more explicit constraints. According to another method, a target MIP model is derived. A target MIP predictor corresponding to MIP model output is generated by multiplying MIP model input with a matrix associated with the target MIP model, wherein the MIP model input, MIP model output or both are clipped. The current block is encoded or decoded using the target MIP predictor.
Need to check novelty before this filing date? Find Prior Art

Description

METHODS AND APPARATUS OF MATRIX BASED PREDICTION IMPROVEMENT FOR 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 / 666, 823, filed on July 2, 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 video coding system. In particular, the present invention relates to techniques to improve the performance of Matrix-based Intra Prediction (MIP) in a video coding system. BACKGROUND AND RELATED ART

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

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

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

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

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

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

[0009] Matrix weighted Intra Prediction (MIP)

[0010] 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 as shown in Fig. 2. One line of H reconstructed neighbouring boundary samples 212 left of the block and one line of W reconstructed neighbouring boundary samples 210 above the block are shown as dot-filled small squares. After the averaging process, the boundary samples are down-sampled to top boundary line 214 and left boundary line 224. The down-sampled samples are provided to the matric-vector multiplication unit 220 to generate the down-sampled prediction block 230. An interpolation process is then applied to generate the prediction block 240.

[0011] Matrix Based Intra Prediction Replacing Existing Conventional Intra Modes

[0012] A matrix of weights, which are defined for a block shape and intra mode, is introduced. Those weights are multiplied by the neighbour reference template to derive the prediction samples replacing conventional intra prediction. The weights are applied to the reference samples of the L-shaped causal neighbourhood template as shown in the Fig. 3. In Fig. 3, the L-shaped causal neighbourhood template for a W x H prediction block 310 is shown, where the size of the top template 320 is 2W x T1 and the size for the left template 330 is T2 x 2H.

[0013] The reference samples in the causal neighborhood are denoted as r, and F (x, y) is the matrix of weights. Then, the prediction P (x, y) can be derived as: P (x, y) = ∑k F (x, y, k) *r (k) , where k denotes the index of the reference sample in the template.

[0014] In the test, this prediction is used for block size with both width and height up to 32 (except for 4x32, 32x4, 8x32 and 32x8) . The template size is 2 for blocks with both width and height up to 16; and the method is only used for modes 0, 1, and (2+2*k) . For other blocks, the template size is set to 1and the method is used for modes 0, 1, and (2+4*k) ; prediction is only performed for 16x16 positions, and the rest of the samples are generated by bilinear interpolation. For all block sizes, block shape and mode-based symmetry are used. Reference length is set to W and H for modes greater than 18 and less than 50; and set to 2*W and 2*H otherwise.

[0015] In the present invention, methods and apparatus to improve the performance for systems using Matrix-based Intra Prediction (MIP) model are disclosed. BRIEF SUMMARY OF THE INVENTION

[0016] Methods and apparatus for video coding using coding tools including the Matrix-based Intra Prediction (MIP) model are disclosed. According to one 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 data associated with the current block to be decoded at a decoder side. A target Matrix-based Intra Prediction (MIP) model is derived using MIP model input comprising reconstructed samples in a neighbouring region of the current block and at least one additional input term. A target MIP predictor is generated by multiplying the MIP model input with a matrix associated with the target MIP model. The current block is encoded or decoded using the target MIP predictor.

[0017] In one embodiment, said at least one additional input term comprises one or more gradient values derived from reconstruction, prediction or residual values in a template area. In one embodiment, said at least one additional input term comprises all gradient values derived on whole available template area or from target gradient values derived on selected partial template area. In one embodiment, the current block comprises a first-colour component and a second-colour component, and said one or more gradient values for the first-colour component are derived from a first-colour template for the first-colour component or from a collocated area for the second-colour component.

[0018] In one embodiment, said at least one additional input term comprises one or more derived values derived from reconstruction, prediction or residual values. In one embodiment, said one or more derived values are derived from square of reconstruction values in an upper and left template area. In one embodiment, the current block comprises a first-colour component and a second-colour component, and said one or more derived values are derived from the square of reconstruction values for the first-colour component in the upper and left template area or for the second-colour component in a collocated area.

[0019] In one embodiment, said at least one additional input term comprises at least one position term.

[0020] According to another 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 data associated with the current block to be decoded at a decoder side. A plurality of Matrix-based Intra Prediction (MIP) models is derived. A target MIP model is selected from the plurality of MIP models according to one or more implicit constraints or one or more explicit constraints. A target MIP predictor is generated based on the target MIP model. The current block is encoded or decoded using the target MIP predictor.

[0021] In one embodiment, said one or more explicit constraints are signalled or parsed in a sequence, GOP (Group of Pictures) , slice, picture, CTU (Coding Tree Unit) , CU (Coding Unit) or PU (Prediction Unit) level.

[0022] In one embodiment, said one or more implicit constraints are determined according to picture width or height, QP (Quantization Parameter) of the current block, or temporal layer ID.

[0023] In one embodiment, said one or more implicit constraints are determined according to characteristic of a template area of the current block. In one embodiment, the characteristic of the template area of the current block comprises spatial activity or HoG (Histogram of Gradients) .

[0024] According to another 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 data associated with the current block to be decoded at a decoder side. A target Matrix-based Intra Prediction (MIP) model is derived. A target MIP predictor corresponding to MIP model output is generated by multiplying MIP model input with a matrix associated with the target MIP model, wherein the MIP model input, MIP model output or both are clipped. The current block is encoded or decoded using the target MIP predictor.

[0025] In one embodiment, a clipping range for clipping the MIP model input, MIP model output or both is signalled or parsed in a PU (Prediction Unit) , CU (Coding Unit) , CTU (Coding Tree Unit) , slice, picture, or sequence level.

[0026] In one embodiment, a clipping range for clipping the MIP model input, MIP model output or both is pre-defined in an encoder or decoder.

[0027] In one embodiment, a clipping range for clipping the MIP model input, MIP model output or both is derived from reconstruction, prediction, residual values on a template area or on a collocated area when the current block is a multi-colour block.

[0028] In one embodiment, the MIP model input, the MIP model output or both are clipped according to a function. In one embodiment, the function comprises ReLU (Rectified Linear Unit) , sigmoid, or polynomial function.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

[0031] Fig. 2 illustrates an example of matrix weighted intra prediction process.

[0032] Fig. 3 illustrates an example of the L shaped causal neighbourhood template used to derive the prediction.

[0033] Fig. 4 illustrates an example of using gradient values on an available area as additional model input for MIP according to one embodiment of the present invention.

[0034] Fig. 5 illustrates an example of using gradient values on a collocated area as additional model input for MIP according to one embodiment of the present invention.

[0035] Fig. 6 illustrates a flowchart of an exemplary video coding system that uses gradient values in a neighbouring area as additional input to the MIP model according to an embodiment of the present invention.

[0036] Fig. 7 illustrates a flowchart of an exemplary video coding system that uses multiple MIP models according to an embodiment of the present invention.

[0037] Fig. 8 illustrates a flowchart of an exemplary video coding system that the MIP model input, the MIP model output or both are clipped according to an embodiment of the present invention.DETAILED DESCRIPTION OF THE INVENTION

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

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

[0040] In order to improve the performance for systems using MIP prediction model, various schemes are disclosed as follows.

[0041] Scheme 1: More Input for the Prediction Model

[0042] In one embodiment, the gradient term can be used as an additional input for the prediction model. The gradient value can be the derived from the reconstruction, prediction or residual value in the template area.

[0043] For example, the gradient term is derived from the reconstruction value in the upper and left template area of current block as shown in Fig. 4, where the template 420 for a current block 410 and related positions are shown. The reconstruction at position (x, y) is denoted as R [x] [y] , and the horizontal gradient term can be in the form (R [x] [y] -R [x-1] [y] ) , (-R [x-1] [y] +2*R [x] [y] -R [x+1] [y] ) , (R [x-1] [y] -R [x+1] [y] ) , …etc. The vertical gradient term can be in the form (R [x] [y] -R [x] [y-1] ) , (-R [x] [y-1] + 2*R [x] [y] -R [x] [y+1] ) , (R [x] [y-1] -R [x] [y+1] ) , …etc.

[0044] In another embodiment, all the gradient values in the available template area can be used as additional input. In another embodiment, gradient is calculated only on the upper one line and / or left one line.

[0045] In another embodiment, when generating prediction at position (x, y) , the additional gradient input only applies at the above or left template position close to (x, y) . For example, the horizontal and vertical gradients at positions (-1, y) and (x, -1) respectively can be used when generating prediction at position (x, y) .

[0046] In another embodiment, for video with multiple colour components, the gradient can be derived from the template area or the collocated area from a different colour component.

[0047] For example, in 444 video formats, when the current block is a chrominance component, and the reconstruction value in collocated luminance component can be used for gradient calculation.

[0048] In one embodiment, any term that can be derived from the reconstruction, prediction or residual value can apply the above embodiment as the additional input for the prediction model.

[0049] For example, the square of reconstruction value in the upper and left template area or the collocated area in different colour component can be used as an additional input for the prediction model.

[0050] In one embodiment, the position term is added as the additional input to generate prediction at different position.

[0051] For example, to generate the prediction at (x, y) , the values of x and y are used as inputs, and x is in the range of [0, w-1] , y is in the range of [0, h-1] as shown in Fig. 5, where block 510 corresponds to the current block and block 520 corresponds to the collocated block.

[0052] In one embodiment, the regularization term is used when deriving the prediction model.

[0053] Scheme 2: Multiple Sets of Prediction Model

[0054] In one embodiment, multiple prediction sets are defined in the encoder and decoder, and the prediction model set is selected according to different implicit or explicit constraints, the constraint can be indicated in sequence, GOP (Group of Pictures) , slice, picture, CTU, CU or PU level.

[0055] For example, the prediction model set is selected according to the video width and height. For videos in 4k or larger resolution, prediction model set 0 is selected and prediction model set 1 is used in other resolutions.

[0056] In another example, QP values are used for selecting the model set. For example, for QP values smaller than 27, model set 0 is used; otherwise, model set 1 is used.

[0057] In another example, an index is signalled in PU, CU, CTU, slice, picture or sequence level to indicate which model set to use.

[0058] In another example, the implicit method is used for model set selection for each CU. For each CU, the characteristic of its template area is used to derive the model set. The characteristic can be spatial activity, HoG or any other metrics.

[0059] In another example, temporal layer ID is used for selecting model set. For example, for Temporal layer IDs smaller than 3, model set 0 is used; otherwise, model set 1 is used.

[0060] Scheme 3: Refinement of Prediction Model Input / Output

[0061] In one embodiment, the output of the prediction model can further apply clipping. In another embodiment, the input of the prediction model can apply clipping. The clipping range can be signalled in PU, CU, CTU, slice, picture, or sequence level. In another embodiment, the clipping range is predefined in encoder and decoder.

[0062] In another embodiment, the clipping range is derived from reconstruction, prediction, residual on the template area or collocated area.

[0063] For example, the mean denoted by μ of reconstruction value is calculated, and the clipping range can be in [μ-c, μ+c] to further refine the prediction model output. c can be a predefined value or adaptive value determined by the encoder with the best rate-distortion trade-off and signalled to the decoder.

[0064] In another embodiment, the clipping can be applied on the difference between the predictions generated by the prediction model and the conventional ones.

[0065] For example, the prediction model replaces the conventional intra angular mode. The output of the prediction model is denoted by O1 and the conventional intra angular mode is denoted by O2. The clipping can be applied on the value (O1-O2) .

[0066] In one embodiment, any function can be applied to the same refinement process as the clipping method above. The function can be ReLU, sigmoid, polynomial function, …etc.

[0067] For example, the ReLUu function can be applied on the difference between the predictions generated by the prediction model and the conventional ones.

[0068] Any of the foregoing proposed methods can be implemented in encoders and / or decoders. For example, any of the proposed methods of MIP with addition input term, multiple model sets, or model input / output clipping can be implemented in intra / inter prediction module of an encoder and / or a decoder. Alternatively, any of the proposed methods can be implemented as a circuit coupled to intra / inter module of the encoder and / or the decoder. With reference to the exemplary video encoder / decoder in Fig. 1A and Fig. 1B, any of the proposed methods can be implemented in an Intra / Inter coding module (e.g. Intra Pred. 150 / MC 152 in Fig. 1B) in a decoder or an Intra / Inter coding module is an encoder (e.g. Intra Pred. 110 / Inter Pred. 112 in Fig. 1A) . While the Intra / Inter Pred. units (e.g. unit 110 / 112 in Fig. 1A and unit 150 / 152 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) ) .

[0069] Fig. 6 illustrates a flowchart of an exemplary video coding system that uses gradient values in a neighbouring area as additional input to the MIP model according to an embodiment of the present invention. The steps shown in the flowchart may be implemented as program codes executable on one or more processors (e.g., one or more CPUs) at the encoder side. The steps shown in the flowchart may also be implemented based hardware such as one or more electronic devices or processors arranged to perform the steps in the flowchart. According to the method, input data associated with a current block is received in step 610, 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. A target Matrix-based Intra Prediction (MIP) model is derived using MIP model input comprising reconstructed samples in a neighbouring region of the current block and at least one additional input term in step 620. A target MIP predictor is generated by multiplying the MIP model input with a matrix associated with the target MIP model in step 630. The current block is encoded or decoded using the target MIP predictor in step 640.

[0070] Fig. 7 illustrates a flowchart of an exemplary video coding system that uses multiple MIP models according to an embodiment of the present invention. According to another method, input data associated with a current block is received in step 710, wherein the input data comprise pixel data to be encoded at an encoder side or data associated with the current block to be decoded at a decoder side. A plurality of Matrix-based Intra Prediction (MIP) models is derived in step 720. A target MIP model is selected from the plurality of MIP models according to one or more implicit constraints or one or more explicit constraints in step 730. A target MIP predictor is generated based on the target MIP model in step 740. The current block is encoded or decoded using the target MIP predictor in step 750.

[0071] Fig. 8 illustrates a flowchart of an exemplary video coding system that the MIP model input, the MIP model output or both are clipped according to an embodiment of the present invention. According to another method, input data associated with a current block is received in step 810, 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. A target Matrix-based Intra Prediction (MIP) model is derived in step 820. A target MIP predictor corresponding to MIP model output is generated by multiplying MIP model input with a matrix associated with the target MIP model in step 830, wherein the MIP model input, MIP model output or both are clipped. The current block is encoded or decoded using the target MIP predictor in step 840.

[0072] The flowcharts shown are 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.

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

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

[0075] 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;deriving a target Matrix-based Intra Prediction (MIP) model using MIP model input comprising reconstructed samples in a neighbouring region of the current block and at least one additional input term;generating a target MIP predictor by multiplying the MIP model input with a matrix associated with the target MIP model; andencoding or decoding the current block using the target MIP predictor.2.The method of Claim 1, wherein said at least one additional input term comprises one or more gradient values derived from reconstruction, prediction or residual values in a template area.3.The method of Claim 2, wherein said at least one additional input term comprises all gradient values derived on whole available template area or from target gradient values derived on selected partial template area.4.The method of Claim 2, wherein the current block comprises a first-colour component and a second-colour component, and said one or more gradient values for the first-colour component are derived from a first-colour template for the first-colour component or from a collocated area for the second-colour component.5.The method of Claim 1, wherein said at least one additional input term comprises one or more derived values derived from reconstruction, prediction or residual values.6.The method of Claim 5, wherein said one or more derived values are derived from square of reconstruction values in an upper and left template area.7.The method of Claim 6, wherein the current block comprises a first-colour component and a second-colour component, and said one or more derived values are derived from the square of reconstruction values for the first-colour component in the upper and left template area or for the second-colour component in a collocated area.8.The method of Claim 1, wherein said at least one additional input term comprises at least one position term.9.An apparatus of video coding, the apparatus comprising one or more electronics 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;derive a target Matrix-based Intra Prediction (MIP) model using MIP model input comprising reconstructed samples in a neighbouring region of the current block and at least one additional input term;generate a target MIP predictor by multiplying the MIP model input with a matrix associated with the target MIP model; andencode or decode the current block using the target MIP predictor.10.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;deriving a plurality of Matrix-based Intra Prediction (MIP) models;selecting a target MIP model from the plurality of MIP models according to one or more implicit constraints or one or more explicit constraints;generating a target MIP predictor based on the target MIP model; andencoding or decoding the current block using the target MIP predictor.11.The method of Claim 10, wherein said one or more explicit constraints are signalled or parsed in a sequence, GOP (Group of Pictures) , slice, picture, CTU (Coding Tree Unit) , CU (Coding Unit) or PU (Prediction Unit) level.12.The method of Claim 10, wherein said one or more implicit constraints are determined according to picture width or height, QP (Quantization Parameter) of the current block, or temporal layer ID.13.The method of Claim 10, wherein said one or more implicit constraints are determined according to characteristic of a template area of the current block.14.The method of Claim 13, wherein the characteristic of the template area of the current block comprises spatial activity or HoG (Histogram of Gradients) .15.An apparatus of video coding, the apparatus comprising one or more electronics 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;derive a plurality of Matrix-based Intra Prediction (MIP) models;select a target MIP model from the plurality of MIP models according to one or more implicit constraints or one or more explicit constraints;generate a target MIP predictor based on the target MIP model; andencode or decode the current block using the target MIP predictor.16.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;deriving a target Matrix-based Intra Prediction (MIP) model;generating a target MIP predictor corresponding to MIP model output by multiplying MIP model input with a matrix associated with the target MIP model, wherein the MIP model input, MIP model output or both are clipped; andencoding or decoding the current block using the target MIP predictor.17.The method of Claim 16, wherein a clipping range for clipping the MIP model input, MIP model output or both is signalled or parsed in a PU (Prediction Unit) , CU (Coding Unit) , CTU (Coding Tree Unit) , slice, picture, or sequence level.18.The method of Claim 16, wherein a clipping range for clipping the MIP model input, MIP model output or both is pre-defined in an encoder or decoder.19.The method of Claim 16, wherein a clipping range for clipping the MIP model input, MIP model output or both is derived from reconstruction, prediction, residual values on a template area or on a collocated area when the current block is a multi-colour block.20.The method of Claim 16, wherein the MIP model input, the MIP model output or both are clipped according to a function.21.The method of Claim 20, wherein the function comprises ReLU (Rectified Linear Unit) , sigmoid, or polynomial function.22.An apparatus of video coding, the apparatus comprising one or more electronics 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;derive a target Matrix-based Intra Prediction (MIP) model;generate a target MIP predictor corresponding to MIP model output by multiplying MIP model input with a matrix associated with the target MIP model, wherein the MIP model input, MIP model output or both are clipped; andencode or decode the current block using the target MIP predictor.

Citation Information

Patent Citations

  • Image prediction method, encoder, decoder, and storage medium

    CN115211116A

  • Video decoding method and device, video coding method and device, storage medium and code stream storage method

    CN118233642A

  • Image encoding / decoding method and apparatus, and recording medium for storing bit stream

    CN119422377A

  • Reference sampling for matrix intra prediction mode

    US20200359050A1

  • Method and apparatus of matrix based intra prediction in image and video processing

    WO2020259630A1