Intra-frame prediction method, inter-frame prediction method, video coding apparatus and computer readable medium with sample-side filter

By applying sample-side filters to color component samples in video coding, the noise sensitivity of linear regression models is mitigated, resulting in improved prediction accuracy and data compression efficiency.

WO2025245881A1PCT designated stage Publication Date: 2025-12-04SHENZHEN TCL NEW-TECH CO LTD
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/096871
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-31
Publication Date
2025-12-04

AI Technical Summary

Technical Problem

Existing video coding technologies, such as Versatile Video Coding (VVC), face challenges with linear regression models being sensitive to noise, especially when sample sizes are small or when non-Gaussian noise is present, leading to increased prediction errors and reduced model generalization ability.

Method used

The implementation of sample-side filters (SSF) on color component samples from a template area to derive linear functions for predicting chroma components from luma components, and applying these filters on both the template and current block samples to generate chroma predictions, thereby improving prediction accuracy and data compression efficiency.

Benefits of technology

The use of sample-side filters alleviates distortion caused by noise in linear regression results, enhancing data compression efficiency and improving video coding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024096871_04122025_PF_FP_ABST
    Figure CN2024096871_04122025_PF_FP_ABST
Patent Text Reader

Abstract

An intra-frame prediction method and a color component prediction method are provided. The intra-frame prediction method includes: acquiring color component samples from a template area; applying a first sample-side filter (SSF) on the color component samples from the template area; deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area; acquiring luma samples of a current block; and generating a chroma prediction of the current block based on the linear function and the luma samples of the current block. The implementation of these embodiments may improve data compression efficiency.
Need to check novelty before this filing date? Find Prior Art

Description

INTRA-FRAME PREDICTION METHOD, INTER-FRAME PREDICTION METHOD, VIDEO CODING APPARATUS AND COMPUTER READABLE MEDIUM WITH SAMPLE-SIDE FILTERTECHNICAL FIELD

[0001] The present disclosure generally relates to encoding and decoding technology, and in particular to an intra-frame prediction method, an intra or inter-frame prediction method, a video coding apparatus, and computer readable medium with sample-side filter.BACKGROUND

[0002] Under the context of video compression, colour image or a frame of a colour video usually consists of three colour components, namely a luma component Y and two chroma components Cb and Cr. Each component is represented as a data matrix. The data matrix for each component is decomposed into blocks associated with specific encoding parameters. A block is usually a square or rectangle whose dimensions are integer powers of 2. The coding of an image is processed in raster scanning order: from left to right, then from top to bottom. Within a specific block or a plurality of blocks, luma component is usually coded before chroma components.

[0003] Popular video coding standards such as Versatile Video Coding (VVC) uses a prediction / transform hybrid coding framework. Prediction refers to predicting current block (i.e., the block to be coded) using coded blocks or coded areas within the same frame (i.e., intra prediction) or from a different frame (i.e., inter prediction) . When performing intra or inter prediction, the encoder tries multiple intra prediction modes available to the coding standard, computes and compares corresponding prediction blocks and chooses the best prediction mode. The difference between original current block and the prediction block generated by the chosen prediction mode, namely the residual, will also be coded. By transmitting prediction modes and residuals only, the encoder is able to instruct the decoder to decode and reconstruct the original image or video or its approximation.

[0004] In VVC and in recent studies towards future video coding standards, several prediction modes use linear models to generate prediction blocks. Notable examples of these prediction modes include Cross-Component Linear Model (CCLM) , Gradient Linear Model (GLM) , Convolutional Cross-Component Model (CCCM) , Local Illumination Compensation (LIC) , etc.

[0005] There are common aspects amongst the above-mentioned prediction modes. General procedures involve building a linear model, solving a linear regression problem and applying the linear model to predict images. Firstly, a formula to generate the prediction block may be defined. The formula is a linear function of reconstructed samples and known attributes. Secondly, coefficients in the formula may be derived using samples from template areas with respect to the reference block and the current block. For example, in CCLM where chroma block is predicted by co-located luma block, samples of chroma values and co-located luma values in the template area are used. The derivation of coefficients is the process of solving the linear regression problem using these samples. Then, the derived formula  may be applied on the current block to generate the prediction block.

[0006] However, linear regression is sensitive to noise, especially when the sample size is small. Since linear regression uses L2-norm between predicted and sampled values as minimization target, the solution model can drastically lean towards a sample point that deviates from the linear model, while increasing prediction errors for most samples. This effect is especially pronounced if large outlier values are present among the input data.

[0007] Furthermore, linear regression using least squares method gives the optimal estimator in terms of squared error as indicated by its name. It exhibits good prediction performance when the data is stationary and has Gaussian noise. However, it can fall short of model generalization ability. When the model of the samples being tested differs from the samples in the training set or when a non-Gaussian noise is present, the prediction performance may quickly deteriorate. These factors are not uncommon because the block boundaries in the video coding are preset grids other than the natural boundaries of objects. Given these reasons, it would be more desirable to incorporate outlier-resilient models.SUMMARY

[0008] Accordingly, the present disclosure aims to provide an intra-frame prediction method, an intra or inter-frame prediction method, a video coding apparatus, and computer readable medium with sample-side filter.

[0009] A technical scheme adopted by the present disclosure is to provide an intra-frame prediction method. The method includes: acquiring color component samples from a template area; applying a first sample-side filter (SSF) on the color component samples from the template area; deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area; acquiring luma samples of a current block; and generating a chroma prediction of the current block based on the linear function and the luma samples of the current block.

[0010] Another technical scheme adopted by the present disclosure is to provide an intra-frame prediction method. The method includes: acquiring color component samples from a template area; deriving a linear function for predicting chroma components from luma components based on the color component samples from the template area; acquiring luma samples of a current block; applying a second sample-side filter (SSF) on the luma samples of the current block; and generating a chroma prediction of the current block based on the linear function and the filtered luma samples of the current block.

[0011] Another technical scheme adopted by the present disclosure is to provide an intra-frame prediction method. The method includes: acquiring color component samples from a template area; applying a first sample-side filter (SSF) on the color component samples from the template area; deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area; acquiring luma samples of a current block; applying a second SSF on the luma samples of the current block; generating a chroma prediction of the current block based on the linear function and the filtered luma samples of the current block; and applying a third SSF on the chroma prediction of the current block.

[0012] Another technical scheme adopted by the present disclosure is to provide an intra or inter frame prediction method. The method includes: providing a sample side filter (SSF) ; determining one or more specific samples within at least one of: a template area or a current block; applying the SSF on the one or more specific samples; and performing color component prediction based on the filtered specific samples.

[0013] Another technical scheme adopted by the present disclosure is to provide a video coding apparatus. The apparatus includes a processor and a memory. The memory is configured to store executable instructions that, when executed by the processor, cause the processor to perform any of the foregoing methods.

[0014] Another technical scheme adopted by the present disclosure is to provide a computer readable medium storing executable instructions that, when executed by a processor, cause the processor to perform any of the foregoing methods.

[0015] Embodiments of the present disclosure proposes to apply filters on the samples of linear model prediction modes for intra or inter prediction in image and video coding. The implementation of these embodiments may improve data compression efficiency.BRIEF DESCRIPTION OF THE DRAWINGS

[0016] In order to clearly explain the technical solutions in the embodiments of the present disclosure, the drawings used in the description of the embodiments will be briefly described below. Obviously, the drawings in the following description are merely some embodiments of the present disclosure. For those of ordinary skill in the art, other drawings may also be obtained based on these drawings without any creative work.

[0017] FIG. 1 shows a schematic diagram of a video encoding system according to related art.

[0018] FIG. 2 shows a schematic diagram of a video decoding system according to related art.

[0019] FIG. 3 shows exemplary definition of template areas in color component prediction methods.

[0020] FIG. 4 illustrates a flowchart of a decoding process with CCLM mode according to related art.

[0021] FIG. 5 illustrates a flowchart of a decoding process with LIC mode according to related art.

[0022] FIG. 6 is a flowchart of an intra-frame prediction method according to an embodiment of the present disclosure.

[0023] FIG. 7 is a flowchart of an intra-frame prediction method according to another embodiment of the present disclosure.

[0024] FIG. 8 is a flowchart of an intra-frame prediction method according to yet another embodiment of the present disclosure.

[0025] FIG. 9 is a flowchart of an intra or inter frame prediction method according to an embodiment of the present disclosure.

[0026] FIG. 10 shows a flowchart of an intra-frame prediction method with CCCM mode according to an embodiment of the present disclosure.

[0027] FIG. 11 illustrates an example about how the sample-side filter is applied on luma / chroma samples in a template area.

[0028] FIG. 12 illustrates exemplary Sobel operators for luma samples in the Gradient Linear Model (GLM) mode.

[0029] FIG. 13 illustrates a processing pixel and its predicted neighbors in an Extrapolation filter-based Intra Prediction (EIP) process.

[0030] FIG. 14 is a schematic diagram of an encoding or decoding apparatus according to an embodiment of the present disclosure.DETAILED DESCRIPTION

[0031] The disclosure will now be described in detail with reference to the accompanying drawings and examples. Apparently, the described embodiments are only a part of the embodiments of the present disclosure, not all of the embodiments. All other embodiments obtained by a person of ordinary skill in the art based on the embodiments of the present invention without creative efforts shall fall within the protection scope of the present invention.

[0032] To help comprehend the technical solutions proposed in different embodiments of the present disclosure, a brief introduction of video encoding and decoding system will be provided below.

[0033] FIG. 1 shows a schematic diagram of a video encoding system according to related art. As shown in FIG. 1, a video encoding system 110 is composed of multiple modules, including block partitioning unit 1101, transform and quantization unit 1102, intra-frame estimation unit 1103, intra-frame prediction unit 1104, motion compensation unit 1105, motion estimation unit 1106, an inverse transformation and inverse quantization unit 1107, a filter control analysis unit 1108, a filtering unit 1109, an encoding unit 1110, an encoded image buffer unit 1111 and a subtractor 1112.

[0034] Original video signals comprise video frames. Each video frame can be divided into blocks by a block partitioning unit 1101. For each of the video frames, the subtractor 1112 generates residual pixel information of a residual frame by subtracting the video frame by prediction blocks output by the intra-frame prediction unit 1104 or the motion compensation unit 1105. The residual pixel information obtained after intra-frame prediction or inter-frame prediction (motion compensation) , is transformed by the transformation and quantization unit 1102. The transformation includes transforming the residual pixel information from the pixel domain to a transform domain, and the resulting transform coefficients are quantized to further reduce the bit rate. The intra-frame estimation unit 1103 performs intra-frame estimation, and the intra-frame prediction unit 1104 performs intra-frame prediction on the video reconstruction blocks. Motion estimation performed by the motion estimation unit 1106 is a process of generating a motion vector that can estimate the motion of the video reconstruction block, and then motion compensation is performed by the motion compensation unit 1105 based on the determined motion vector. After determining an intra-frame prediction mode, the intra-frame prediction unit 1104 provides selected intra-frame predicted data to the encoding unit 1110, and the motion estimation unit 1106 also sends calculated motion vector data to the encoding unit 1110. The inverse transform and  inverse quantization unit 1107 reconstructs the video reconstruction blocks and reconstructs a residual block in the pixel domain, and the filtering unit 1109 is controlled by the filter analysis unit 1108 to remove the blocking artifacts in the reconstructed residual block, and the encoding unit 1110 adds the reconstructed residual block to the prediction block of the encoded image buffer unit 1111 to generate a reconstructed block. The encoding unit 1110 is used for encoding various encoding parameters and quantized transform coefficients (quantized transform coefficients) into bitstream, and outputs the bitstream of the video signals. The encoded image buffer unit 1111 is used for storing reconstructed blocks as the reference blocks for intra-frame prediction. As the video image encoding progresses, new reconstructed blocks are continuously generated, and these blocks will be stored in the encoded image buffer unit 1111.

[0035] FIG. 2 shows a schematic diagram of a video decoding system according to related art. As shown in FIG. 2, the video decoding system 120 is composed of multiple modules comprising a decoding unit 1201, an inverse transform and inverse quantization unit 1202, an intra-frame prediction unit 1203, a motion compensation unit 1204, a filtering unit 1205, a decoded image buffer unit 1206 and a post filtering unit 1207.

[0036] The input signals of video frames are encoded by the video encoding system 110 to obtain an output bitstream. The video encoding system 110 transmits the bitstream to the video decoding system 120. The video decoding system 120 receives the bitstream representing the video frames in an encoded format (i.e., in a compressed format) . In the video decoding system 120, the bitstream is processed by the decoding unit 1201 to obtain decoded transform coefficients. The inverse transform and inverse quantization unit 1202 process the transform coefficients to generate a residual block in the pixel domain. The intra-frame prediction unit 1203 is operable to generate an intra-frame prediction block for a current video decoding block based on a determined intra-frame prediction mode and data from previously decoded blocks of the current video frame or picture. The motion compensation unit 1204 determines the inter-frame prediction information for the current video decoding block and generates an inter-frame prediction block by parsing the motion vector and other associated syntax elements. Finally, the decoded video block is formed by summing the residual block from the inverse transform and inverse quantization unit 1202 and the corresponding prediction block generated by the intra-frame prediction unit 1203 or the motion compensation unit 1204. In order to improve video quality, the decoded video blocks are filtered through the filtering unit 1205 to remove blocking artifacts. The decoded video block is then stored in the decoded image buffer unit 1206 as the reference block for subsequent intra-prediction or motion compensation, and for video output, i.e., to reproduce and reconstruct the original video signals. The output video can be optionally further processed by a post filtering unit 1207 for more suitable or enhanced viewing experiences.

[0037] In VVC and in recent studies towards future video coding standards, several prediction modes use linear models to generate prediction blocks. Notable examples of these prediction modes include Cross-Component Linear Model (CCLM) , Gradient Linear Model (GLM) , Convolutional Cross-Component Model (CCCM) , Local Illumination Compensation (LIC) , etc.

[0038] There are common aspects amongst the above-mentioned prediction modes. General procedures involve building a linear model, solving a linear regression problem and applying the linear model to predict images. Firstly, a formula to generate the prediction block may be defined. The formula is a linear function of reconstructed samples and known attributes. Secondly, coefficients in the formula may be derived using samples from template areas with respect to the reference block and the current block. For example, in CCLM where chroma block is predicted by co-located luma block, samples of chroma values and co-located luma values in the template area are used. The derivation of coefficients is the process of solving the linear regression problem using these samples. Then, the derived formula may be applied on the current block to generate the prediction block.

[0039] In mathematical terms, the procedures for generating a prediction block for the current block Predcurr is: Predcur (x, y) =fopt (Recref (x, y) )

[0040] In this formulation, f is the linear prediction function and fopt is the optimal function derived by the samples in the template areas T. fopt is derived by minimizing the sum of squared difference between the reconstructed samples RecTcur in the template area of the current block Tcur and the prediction values generated by taking reconstructed samples RecTref in the template area of the reference block Tref into the prediction function. With fopt and the reconstructed samples of the reference block Recref, the prediction values for the current block can be generated. Typically, template areas are defined as the left and top neighbor areas of the reference and current blocks as shown in FIG. 3. The predictive ability of the linear model comes from the spatial proximity between the blocks and the templates.

[0041] In the present disclosure, these modes are in general referred to as linear model prediction modes, which includes, for example, Cross-Component Linear Model (CCLM) , Gradient Linear Model (GLM) , Convolutional Cross-Component Model (CCCM) , Extrapolation filter-based Intra Prediction (EIP) , Local Illumination Compensation (LIC) , Multi-Model Linear Model (MMLM) , and Local-Boosting Cross-Component Prediction (LBCCP) .

[0042] FIG. 4 illustrates a flowchart of a decoding process with CCLM mode according to related art. As shown in FIG. 4, firstly it is determined whether CCLM mode is enabled. If not, other prediction modes are decoded. If yes, luma and chroma samples from template area are obtained. The luma-chroma linear formula is derived. Then, the chroma prediction block can be calculated.

[0043] FIG. 5 illustrates a flowchart of a decoding process with LIC mode according to related art. As shown in FIG. 5, firstly it is determined whether LIC mode is enabled. If not, other prediction modes are decoded. If yes, reconstructed samples from templates of reference block and current block are obtained. The reference-current block linear formula is derived. Then, the prediction block can be calculated.

[0044] One objective of the present disclosure is to alleviate the distortion of linear regression result  brought by noise in the reconstructed samples. To achieve this, the present disclosure introduces sample-side filters. The main aspects of the present disclosure involve applying the sample-side filters (SSF) on linear model prediction. Linear model prediction refers to any of the intra or inter prediction modes that generate prediction images based on a linear model, whose coefficients are obtained by solving the same linear regression problem at both encoder and decoder side. The SSF are filters that are applied to the input samples for performing linear regression and / or the variants for generating prediction images.

[0045] FIG. 6 is a flowchart of an intra-frame prediction method according to an embodiment of the present disclosure. As shown in FIG. 6, the method may include: acquiring color component samples from a template area (S201) ; applying a first sample-side filter (SSF) on the color component samples from the template area (S202) ; deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area (S203) ; acquiring luma samples of a current block (S204) ; and generating a chroma prediction of the current block based on the linear function and the luma samples of the current block (S205) .

[0046] In S201, color component samples from a template area are acquired.

[0047] The color component samples may include luma and / or chroma samples. The template area may be determined based on the actual prediction mode that is enabled for the intra-frame prediction process.

[0048] In S202, a first SSF is applied on the color component samples from the template area.

[0049] The first sample-side filter (SSF) may be designed as a low-pass filter in spatial domain on the image or video frame. To facilitate implementation, the SSF may be designed as a finite impulse response (FIR) filter, which operates only on the close adjacency of and in the same frame as the pixel to be computed.

[0050] In one example, the SSF may be designed as a convolution between luma samples and the filter kernel:

[0051] where denotes linear convolution, and L denotes the luma component.

[0052] This operation can also be expressed in per-pixel form:

[0053] Rec′L (x, y) = [RecL (x-1, y-1) +RecL (x, y-1) +RecL (x+1, y-1) +RecL (x-1, y) +8×RecL (x, y) +RecL (x+1, y) +RecL (x-1, y+1) +RecL (x, y+1) +RecL (x+1, y+1) +8] >>4

[0054] where >> is right shift operation.

[0055] Alternatively or additionally, the SSF may be applied to chroma samples:

[0056] In another example, the coefficients of SSF can be altered compared to the above example, while its ‘low-pass’ and ‘FIR’ properties are preserved:

[0057] Similarly, this operation can be expressed in per-pixel form: Rec′L (x, y) = [RecL (x, y-1) +RecL (x-1, y) +4×RecL (x, y) +RecL (x+1, y) +RecL (x, y+1)  +4] >>3

[0058] In yet another example, the SSF can be a 3x3 median filter, which is also a low-pass and FIR filter: Rec′L (x, y) =SSF (RecL) =med (N (RecL (x, y) ) )

[0059] N (RecL (x, y) ) = {RecL (x+a, y+b) |-1≤a≤1, -1≤b≤1}

[0060] The output at (x, y) is the median of the input values of (x, y) and its 8-connected neighbors.

[0061] In another example, the size of SSF can be reduced to 3-by-1 and 1-by-3. This may be useful in CCLM mode, where the top template consists of only one row of pixels and the left template consists of only one column of pixels.

[0062] Another example may be applicable to cross-component prediction, where luma samples are downsampled to match the dimensions of the chroma samples. In the typical YUV420 format, luma component has twice the width and height of the chroma components. RecLD (x, y) = [RecL (2x, 2y) +2×RecL (2x+1, 2y) +RecL (2x+2, 2y) +RecL (2x, 2y+1) +2 ×RecL (2x+1, 2y+1) +RecL (2x+2, 2y+1) +4] >>8

[0063] The SSF can be integrated into the downsampling operation so that both downsampling and SSF can be done in one linear convolution:

[0064] In this operation, the first SSF is applied after samples are collected and before linear model is derived. As described above, the color component samples described in S201 may include luma and / or chroma samples. Correspondingly, the first SSF can be applied on the reconstructed luma samples in the template area:

[0065] Alternatively or additionally, the first SSF can be applied on the reconstructed chroma samples in the template area:

[0066] In other words, the filter SSFL and SSFC can be both enabled or only either of them is enabled.

[0067] In S203, a linear function for predicting chroma components from luma components is  derived based on the filtered color component samples from the template area.

[0068] Based on which color component is filtered in the foregoing operations, the linear function may be derived in different ways.

[0069] For example, if the luma samples are filtered with SSF, the linear function for predicting chroma components from luma components may be established based on the filtered luma samples and the chroma samples. If the chroma samples are filtered with SSF, the linear function for predicting chroma components from luma components may be established based on the luma samples and the filtered chroma samples. If both the luma and chroma samples are filtered with SSF, the linear function for predicting chroma components from luma components may be established based on the filtered luma samples and the filtered chroma samples.

[0070] In S204, luma samples of a current block are acquired.

[0071] The method for acquiring luma samples of the current block may use any existing technology, which will not be elaborated in detail herein.

[0072] In S205, a chroma prediction of the current block is generated based on the linear function for predicting chroma components from luma components and the luma samples of the current block.

[0073] In summary, the present embodiment involves applying a sample-side filter on the color component samples from the template area. The implementation of the presentation may help alleviate the distortion of linear regression results brought by noise in the reconstructed samples, and therefore may improve data compression efficiency.

[0074] In some embodiments, after the operation of acquiring the luma samples of the current block, the method may further include: applying a second sample-side filter (SSF) on the luma samples of the current block. Accordingly, the operation of generating the chroma prediction of the current block based on the linear function for predicting chroma components from luma components and the luma samples of the current block may include: generating the chroma prediction of the current block based on the linear function for predicting chroma components from luma components and the filtered luma samples of the current block.

[0075] The color component samples described in S202 may be the luma samples from the template area. In such cases, the first SSF applied on the luma samples from the template area and the second SSF applied on the luma samples of the current block may be identical. In other words, the luma samples from the template area for establishing the linear function for predicting chroma components from luma components may be filtered with the same SSF as the luma samples of the current block for generating the chroma prediction, which ensures the accuracy of the prediction result.

[0076] In some embodiments, the method may further include: applying a third SSF on the chroma prediction of the current block. That is, the chroma prediction acquired in S205 may be further filtered with the third SSF to improve the prediction accuracy. The third SSF may be identical to the first SSF, or alternatively, the third SSF may be different from the first SSF.

[0077] In some embodiments, the method may further include: determining whether the first SSF is available. The operation of applying the first SSF on the color component samples from the template  area may include: in responsive to the first SSF being determined to be available, applying the first SSF on the color component samples from the template area. The availability of the first SSF may be determined based on at least one selected from: one or more pre-defined prediction modes; size of blocks of the template area; or an indication received from an encoder which indicates whether the first SSF is available.

[0078] In some embodiments, the method may further include: determining whether the first SSF is enabled. The enablement of the first SSF may be determined based on at least one selected from: an indication received from an encoder which indicates whether the first SSF is enabled; or decoder derivation based on reconstructed image.

[0079] FIG. 7 is a flowchart of an intra-frame prediction method according to another embodiment of the present disclosure. As shown in FIG. 7, the method may include operations described in blocks S301 to S305.

[0080] In S301, color component samples from a template area are acquired.

[0081] In some embodiments, the method may further include, after the operation of acquiring the color component samples from the template area, applying first SSF on the color component samples from the template area. Definition of the first SSF may be referred to the method described with regard to FIG. 6, and will not be repeated herein. The filtered color component samples from the template area may be utilized in subsequent linear function for predicting chroma components from luma components derivation.

[0082] In S302, a linear function for predicting chroma components from luma components is derived based on the color component samples from the template area.

[0083] In S303, luma samples of a current block are acquired.

[0084] In S304, a second SSF is applied on the luma samples of the current block.

[0085] The second sample-side filter (SSF) may be designed as a low-pass filter in spatial domain on the image or video frame. To facilitate implementation, the SSF may be designed as a finite impulse response (FIR) filter, which operates only on the close adjacency of and in the same frame as the pixel to be computed.

[0086] In other words, the SSF can be applied before generating prediction image. For example, in CCCM or CCLM mode, SSF can be applied to the reconstructed luma block:

[0087] In S305, a chroma prediction of the current block is generated based on the linear function for predicting chroma components from luma components and the filtered luma samples of the current block.

[0088] Accordingly, the filtered luma samples can be used for generating the chroma prediction block. In the example for CCCM or CCLM given above, the filtered luma samples Rec′L is used for generating the chroma prediction block. In mathematical terms, the prediction process is: PredC (x, y) =fopt (Rec′L (x, y) )

[0089] In some embodiments, the method may further includes: applying a third SSF on the chroma prediction of the current block. In the example for CCCM or CCLM given above, the SSF can also be applied to the chroma prediction block, resulting in a new chroma prediction block:

[0090] It should be understood, the first, second and third SSF may be identical, or alternatively be different from each other.

[0091] In summary, the present embodiment involves applying a sample-side filter on the luma samples of the current block. The implementation of the presentation may help alleviate the distortion of linear regression results brought by noise in the reconstructed samples, and therefore may improve data compression efficiency.

[0092] FIG. 8 is a flowchart of an intra-frame prediction method according to yet another embodiment of the present disclosure. As shown in FIG. 8, the method may include operations described in blocks S401 to S407.

[0093] In S401, color component samples from a template area are acquired.

[0094] In S402, a first SSF is applied on the color component samples from the template area.

[0095] In S403, a linear function for predicting chroma components from luma components is derived based on the filtered color component samples from the template area.

[0096] In S404, luma samples of a current block are acquired.

[0097] In S405, a second SSF is applied on the luma samples of the current block.

[0098] In S406, a chroma prediction of the current block is generated based on the linear function for predicting chroma components from luma components and the filtered luma samples of the current block.

[0099] In S407, a third SSF is applied on the chroma prediction of the current block.

[0100] In the present embodiment, sample-side filters can be enabled for both linear regression and calculating prediction image. The prediction process in mathematical term is: PredC (x, y) =fopt (Rec′L (x, y) )

[0101] Explanation for these formulas has been given in foregoing embodiments and will not be repeated herein. The above prediction process is applicable at least for CCCM and CCLM prediction mode.

[0102] The first, second and third SSFs may be low-pass filters, and finite impulse response (FIR)  filters. Besides, the first, second and third SSFs may be identical, or alternatively be different from each other.

[0103] The operation of applying the first SSF on the color component samples from the template area comprises at least one selected from: applying the first SSF on the luma samples from the template area; or applying the first SSF on the chroma samples from the template area. In some embodiments, the first SSF is applied on the luma samples from the template area, and correspondingly the first SSF and the second SSF are identical.

[0104] In some embodiments, the method may further include: determining whether the first, second, and third SSFs are available. The availability of the first, second, and third SSFs may be determined based on at least one selected from: one or more pre-defined prediction modes; size of blocks of the template area; or an indication received from an encoder which indicates whether the first SSF is available.

[0105] In some embodiments, the method may further include: receiving an indication configured to enable at least one of the first SSF, the second SSF or the third SSF.

[0106] In summary, the present embodiment involves applying a sample-side filter on the color component samples from the template area, applying a sample-side filter on the luma samples of the current block, and applying a sample-side filter on the chroma prediction result. The implementation of the presentation may help alleviate the distortion of linear regression results brought by noise in the reconstructed samples, and therefore may improve data compression efficiency.

[0107] This method was tested upon Enhanced Compression Model (ECM) software in https:  / / vcgit. hhi. fraunhofer. de / ecm / ECM. git maintained by ITU-T / ISO / IEC Joint Video Experts Team. The software version being implemented upon and tested against was ECM-11.0, whose details can be obtained from: M. Coban, R. -L. Liao, K. Naser, J.  L. Zhang, “Algorithm description of Enhanced Compression Model 11 (ECM 11) ” , document JVET-AF2025, Oct. 2023.

[0108] The test video sequences and parameter settings follow the requirements of the Common Test Conditions (CTC) , whose details can be obtained from: M. Karczewicz, Y. Ye, “Common Test Conditions and evaluation procedures for enhanced compression tool testing” , document JVET-AF2017, Oct. 2023.

[0109] For video sequences in classes C, D and E and under ‘All Intra’s ettings, the test results in terms of Bit Rate in Y, U and V colour channels are shown in the following table. Negative numbers indicate bit rate saving under the same reconstruction quality and should be interpreted as improvements.

[0110] Under the same test conditions, the same method was also implemented and tested upon ECM-12.0, whose details can be obtained from: M. Coban, R. -L. Liao, K. Naser, J.  L. Zhang,  “Algorithm description of Enhanced Compression Model 12 (ECM 12) ” , document JVET-AF2025, Jan. 2024. And the results are:

[0111] The test results display benefits for improving video compression efficiency.

[0112] FIG. 9 is a flowchart of an intra or inter frame prediction method according to an embodiment of the present disclosure. As shown in FIG. 9, the method may include operations described in blocks S501 to S504.

[0113] In S501, a sample-side filter is provided.

[0114] The sample-side filter may be a low-pass filter and a finite impulse response (FIR) filter.

[0115] In S502, one or more specific samples, within at least one of: a template area or a current block, are determined.

[0116] Specifically, whether the SSF is available may be determined firstly.

[0117] In general, SSF can be available to every linear model prediction mode. The following factors might be used for deciding whether SSF is available:

[0118] ● Prediction mode: SSF is made available to all or a non-empty subset of the prediction modes: CCLM, GLM, CCCM with all variants, EIP and LIC and their variants.

[0119] ● Block size: SSF is made available to all or certain block sizes.

[0120] ● High level syntax: Control flag signaled in slice, picture or group of picture level indicates the availability of SSF.

[0121] Furthermore, whether the SSF is enabled and to which samples the SSF is enabled may be determined based on at least one of the following criteria:

[0122] ● Explicit indication: Flags are signaled to indicate which SSFs are enabled.

[0123] ● Always on: SSF is enabled as long as SSF is available to the current block.

[0124] ● Decoder derivation: From reconstructed image, decoder derives if SSF is enabled for the current block.

[0125] ● High level syntax: Control flag signaled in slice, picture or group of picture level indicates the conditions of enabling SSF.

[0126] Two examples are introduced herein for the explicit indication method below. In a first example, one flag is signaled to indicate SSF is enabled in each of the following sample types:

[0127] In this case, Regressor samples include, but are not limited to, luma samples in cross-component prediction, reference block samples in local illumination compensation. Response samples include, but are not limited to, chroma samples in cross-component prediction, current block samples in local illumination compensation.

[0128] In a second example, one flag is signaled to indicate SSF is enabled in each of the following sample types:

[0129] The one or more samples on which the SSF is enabled to be applied are taken as the specific samples, and these specific samples are filtered with the SSF in subsequent operations.

[0130] In S503, the SSF is applied on the one or more specific samples.

[0131] It should be understood that, in the case that there are multiple specific samples, the “SSF” may also include multiple SSF. For example, if the specific samples includes chroma samples from a template area and luma samples of a current block, the SSF may include a first SSF for filtering the chrom samples from the template area and a second SSF for filtering the luma samples of the current block. The multiple SSFs may be identical or different depending on actual system design.

[0132] In S504, color component prediction is performed based on the filtered specific samples.

[0133] Implementation of the present disclosure with different prediction modes are provided as follows.

[0134] (1) Convolutional Cross-Component Model (CCCM)

[0135] CCCM is a cross-component prediction mode. CCCM differs from CCLM and GLM by its typically wider template area and the integration of various types of samples in the prediction formula.

[0136] The formula for predicting a chroma block (Cb or Cr) in CCCM is as follows: PredC (x, y) =c0·Rec′L (x, y) +c1·Rec′L (x-1, y) +c2·Rec′L (x+1, y) +c3·Rec′L (x, y-1)  +c4·Rec′L (x, y+1) +c5· [Rec′L (x, y) ] 2+c6·2D-1

[0137] where D is the color bit depth of the image.

[0138] The model coefficients c= {c0, c1, …, c6} in CCCM are obtained by a cost minimization formula:

[0139] where R is the set of coordinates of all pixels in the template area, which includes several rows of pixels adjacent to the top of the current block and several columns of pixels adjacent to the left of the current  block.

[0140] This numerical optimization problem can be solved with Gaussian elimination method or other approximation algorithms. Details can be obtained from P. Astola, J. Lainema, R. G. Youvalari, A. Aminlou, K. Panusopone, EE2-1.1a: Convolutional cross-component intra prediction model, document JVET-AA0126, Joint Video Experts Team (JVET) , Jul. 2022.

[0141] FIG. 10 shows a flowchart of an intra-frame prediction method with CCCM mode according to an embodiment of the present disclosure. In this embodiment, the sample-side filter may be utilized for both model derivation and prediction. Specifically, the process involves:

[0142] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0143] ● Apply SSF to the luma and / or chroma samples in the reference template.

[0144] ● Calculate prediction function coefficients of convolutional cross-component model.

[0145] ● Apply SSF to the reconstructed luma samples in the current block.

[0146] ● Generate chroma prediction block for the current block.

[0147] ● Apply SSF to the chroma prediction block.

[0148] FIG. 11 illustrates an example about how the sample-side filter is applied on luma / chroma samples in a template area.

[0149] In another embodiment for CCCM mode, the sample-side filter may be utilized for luma components only, and for both model derivation and prediction. Specifically, the process involves:

[0150] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0151] ● Apply SSF to the luma samples in the reference template.

[0152] ● Calculate prediction function coefficients of convolutional cross-component model.

[0153] ● Apply SSF to the reconstructed luma samples in the current block.

[0154] ● Generate chroma prediction block for the current block.

[0155] In another embodiment for CCCM mode, the sample-side filter may be utilized for model derivation only. Specifically, the process involves:

[0156] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0157] ● Apply SSF to the luma and / or chroma samples in the reference template.

[0158] ● Calculate prediction function coefficients of convolutional cross-component model.

[0159] ● Generate chroma prediction block for the current block.

[0160] In another embodiment for CCCM mode, the sample-side filter may be utilized for prediction  only. Specifically, the process involves:

[0161] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0162] ● Calculate prediction function coefficients of convolutional cross-component model.

[0163] ● Apply SSF to the reconstructed luma samples in the current block.

[0164] ● Generate chroma prediction block for the current block.

[0165] ● Apply SSF to the chroma prediction block.

[0166] (2) Multi-Model Linear Model (MMLM)

[0167] MMLM is an extension of linear model prediction. In recent development of video coding standards, MMLM is applied as a variant of CCLM and CCCM, which are Multi-Model CCLM (MM-CCLM) and Multi-Model CCCM (MM-CCCM) . In contrast to ordinary linear model prediction methods where the whole template area is regarded as a single training set and one linear model is derived for the predicting the current block, MMLM classifies all pixels in the template area into two training sets and derives one linear model for each training set for making the prediction. For example, in MM-CCLM and MM-CCCM, pixels in the template area are classified based on whether its luma value is less than the average luma value in the whole template area. Meanwhile in the prediction stage, pixels in the current block can also be classified using the same criterion and the corresponding linear model is applied for the prediction.

[0168] The formula for predicting a chroma block (Cb or Cr) in MM-CCLM is as follows:

[0169] In the above equation, ML is the mean value of luma samples in the template area. Function coefficients {α0, β0} are used for predicting pixels whose luma values are smaller than or equal to ML and {α1, β1} is used for predicting pixels whose luma values are greater than ML. They are obtained separately: β0=M (tC0) -α0·M (tL0) β1=M (tC1) -α1·M (tL1)

[0170] In the above equation, tL0 or tL1 is the value of a pixel in the downsampled luma template area, tC0 or tC1 is the value of a pixel in the chroma template area, (x, y) is the coordinate of the pixel and M (X) is the mean of sample X is the corresponding template area; tL0 and tC0 only include the pixels whose luma values are smaller than or equal to ML; tL1 and tC1 only include the pixels whose  luma values are greater than ML.

[0171] Similarly in MM-CCCM, the formula for predicting a chroma block (Cb or Cr) is as follows:

[0172] where Rec′L (x, y) = {Rec′L (x, y) , Rec′L (x-1, y) , Rec′L (x+1, y) , Rec′L (x, y-1) , Rec′L (x, y +1) , [Rec′L (x, y) ] 2, 2D-1} T

[0173] The model coefficients c0= {c0, 0, c0, 1, …, c0, 6} T and c1= {c1, 0, c1, 1, …, c1, 6} T in MM-CCCM are obtained separately:

[0174] In one embodiment for MM-CCCM mode, the sample-side filter may be applied before pixel classification. Specifically, the process involves:

[0175] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0176] ● Apply SSF to the luma and / or chroma samples in the reference template.

[0177] ● Classify pixels into two categories based on the average luma value in the reference template.

[0178] ● Calculate prediction function coefficients of multi-model convolutional cross-component model. ● Generate chroma prediction block for the current block.

[0179] ● Apply SSF to the chroma prediction block.

[0180] In another embodiment for MM-CCCM mode, the sample-side filter may be applied after pixel classification. Specifically, the process involves:

[0181] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0182] ● Classify pixels into two categories based on the average luma value in the reference template.

[0183] ● Apply SSF to the luma and / or chroma samples in each of the above-mentioned category.

[0184] ● Calculate prediction function coefficients of multi-model convolutional cross-component model. ● Generate chroma prediction block for the current block.

[0185] ● Apply SSF to the chroma prediction block.

[0186] (3) Gradient Linear Model (GLM)

[0187] GLM is another cross-component prediction mode that is similar to CCLM. Instead of  directly using luma sample value as in CCLM, GLM utilizes luma sample gradients to derive the linear model. Therefore, the formula for predicting a chroma block (Cb or Cr) is changed to: PredC (x, y) =α·G (x, y) +β

[0188] The gradient G can be computed by applying one of the Sobel operators as shown in FIG. 12 on the luma samples. Details can be obtained from: 1) C. -W. Kuo, X. Xiu, N. Yan, H. -J. Jhu, W. Chen, H. Gao, X. Wan, AHG12: Enhanced CCLM, document JVET-Z0140, Joint Video Experts Team (JVET) , Apr. 2022.2) P. Astola, J. Lainema, R. G. Youvalari, A. Aminlou, K. Panusopone, C. -W. Kuo, H. -J. Jhu, X. Xiu, N. Yan, W. Chen, X. Wang, EE2-1.1c, 1.3a and 1.3b: Combined tests of EE2-1.1a, 1.1b and 1.2, document JVET-AA0126, Joint Video Experts Team (JVET) , Jul. 2022.

[0189] In an embodiment for implementation of the sample-side filter in GLM mode, the process involves:

[0190] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0191] ● Apply SSF to the luma and / or chroma samples in the reference template.

[0192] ● Calculate prediction function coefficients of gradient linear model.

[0193] ● Apply SSF to the reconstructed luma samples in the current block.

[0194] ● Generate chroma prediction block for the current block.

[0195] ● Apply SSF to the chroma prediction block.

[0196] It should be understood, for the GLM mode, the SSF is not necessarily applied to all of the above samples. For example, in some embodiments, the SSF for GLM mode may only be applied to the luma and chroma samples in the reference template. In some other embodiments, the SSF for GLM mode may only be applied to the reconstructed luma samples in the current block.

[0197] (4) Cross-Component Linear Model (CCLM)

[0198] CCLM is a cross-component intra prediction mode that predicts chroma image or chroma block using reconstructed luma image or luma block. The term ‘cross-component’s tems from the fact that prediction is made from one colour component to another.

[0199] The formula for predicting a chroma block (Cb or Cr) in CCLM is as follows: PredC (x, y) =α·Rec′L (x, y) +β

[0200] In the above equation, PredC (x, y) is the value of pixel to be predicted in a chroma block, Rec′L (x, y) is the value of the corresponding pixel in the co-located reconstructed luma block, which has been adjusted to the size of the chroma block and (x, y) is the coordinate of the pixel. As the dimensions (height and width) of the luma image are twice the dimensions of the chroma image in 4: 2: 0 picture format, Rec′L is usually obtained by downsampling the actually reconstructed luma image RecL.

[0201] The model coefficients α and β are calculated according to the relations between the luma  and chroma images in the template area, which includes a row of pixels adjacent to the top of the current block and a column of pixels adjacent to the left of the current block. β=M (tC) -α·M (tL)

[0202] where tL is the value of a pixel in the downsampled luma template area, tC is the value of a pixel in the chroma template area, (x, y) is the coordinate of the pixel and M (X) is the mean of sample X is the corresponding template area.

[0203] As per the above-mentioned common aspects, chroma block is the current block to be predicted, luma block serves as the reference block, and the template areas are the reconstructed pixels on the left and the top of respective blocks.

[0204] In an embodiment for implementation of the sample-side filter in CCLM mode, the process involves:

[0205] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0206] ● Apply SSF to the luma and / or chroma samples in the reference template.

[0207] ● Calculate prediction function coefficients of cross-component linear model.

[0208] ● Apply SSF to the reconstructed luma samples in the current block.

[0209] ● Generate chroma prediction block for the current block.

[0210] ● Apply SSF to the chroma prediction block.

[0211] It should be understood, for the CCLM mode, the SSF is not necessarily applied to all of the above samples. For example, in some embodiments, the SSF for CCLM mode may only be applied to the luma and chroma samples in the reference template. In some other embodiments, the SSF for CCLM mode may only be applied to the reconstructed luma samples in the current block.

[0212] (5) Local Illumination Compensation (LIC)

[0213] LIC is a prediction enhancement method that applies to inter prediction. In inter prediction, a reference block is found by the above-mentioned motion compensation unit. In order to compensate the illumination difference between reference block and current block, LIC is used to measure such difference and adjust prediction blocks. The formula for generating the prediction block is: Pred (x, y) =α·Ref (x, y) +β

[0214] where Pred (x, y) is the value of pixel to be predicted and Ref (x, y) is the value of pixel in the reference block.

[0215] To calculate the model coefficients α and β , template areas are defined around both reference block and current block by choosing one or more rows adjacent to the top of the respective blocks and one or more columns adjacent to the left of the respective blocks. The calculation is similar  to CCLM mentioned above.

[0216] In local illumination compensation, SSF can be applied to the reconstructed values of the template area of the reference block and / or the template area of the current block. The filtered samples are used to derive the relevant linear model.

[0217] In addition, SSF can also be applied to the reference block.

[0218] The predicted values for the current block are: PredCur (x, y) =fopt (Rec′Ref (x, y) )

[0219] SSF can also be applied to the prediction block to generate a new prediction block. Pred′Cur (x, y) =fopt (PredCur (x, y) )

[0220] In an embodiment for implementation of the sample-side filter in LIC mode, the process involves:

[0221] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0222] ● Apply SSF to the reconstructed samples in the template area of the reference block and / or the current block.

[0223] ● Calculate prediction function coefficients of local illumination compensation.

[0224] ● Apply SSF to the reference block.

[0225] ● Generate prediction block for the current block.

[0226] ● Apply SSF to the prediction block.

[0227] (6) Extrapolation filter-based Intra Prediction (EIP)

[0228] EIP is an intra prediction mode that progressively predicts each pixel in the current block from the pixel’s reconstructed or predicted neighbors.

[0229] The formula for predicting a block in EIP is as follows: Nw, h (x, y) = { (x-a, y-b) |0≤a<w, 0≤b<h, (a≠0) ∨ (b≠0) }

[0230] where Nw, h (x, y) is the set of all pixels within the w×h rectangle whose bottom-right-most location is (x, y) , except for (x, y) itself (as shown in FIG. 13) .

[0231] Details for EIP can be obtained from L. Xu, Y. Yu, H. Yu, D. Wang, EE2-1.14: An extrapolation filter-based intra prediction mode, document JVET-AG0058, Joint Video Experts Team (JVET) , Jan. 2024.

[0232] In extrapolation filter-based intra prediction, SSF can be applied to the reconstructed values of the template area. The filtered samples are used to derive the relevant linear model.

[0233] The prediction block is generated using the following formulas:

[0234] SSF can also be applied to the prediction block to generate a new prediction block.

[0235] In an embodiment for implementation of the sample-side filter in EIP mode, the process involves:

[0236] ● Check whether sample-side filters (SSF) are available and decode whether SSF is enabled for the current block.

[0237] ● Apply SSF to the reconstructed samples in the template area of the current block.

[0238] ● Calculate prediction function coefficients of extrapolation filter-based intra prediction.

[0239] ● Generate prediction block for the current block.

[0240] ● Apply SSF to the prediction block.

[0241] FIG. 14 conceptually illustrates an apparatus 600 with which some embodiments of the invention are implemented. The apparatus 600 may be an encoding apparatus or a decoding apparatus. The apparatus 600 may be a computer (e.g., a desktop computer, personal computer, tablet computer, etc. ) , phone, PDA, or any other sort of electronic device. Such an apparatus includes various types of computer readable media and interfaces for various other types of computer readable media. The apparatus 600 includes a processor 601 and a memory 602. The memory 602 is configured to store executable instructions that, when executed by the processor, cause the processor to perform any one of the foregoing methods, including the intra-frame prediction methods and the color component prediction methods described above.

[0242] The processor 601 may be a single processor or a multi-core processor in different embodiments. In some embodiments, the processor may include a GPU, NPU or DSP which may offload various computations or complement the image processing provided by the processor 601.

[0243] Some embodiments include electronic components, such as microprocessors, storage and  memory that store computer program instructions in a machine-readable or computer-readable medium (alternatively referred to as computer-readable storage media, machine-readable media, or machine-readable storage media) . Some examples of such computer-readable media include RAM, ROM, read-only compact discs (CD-ROM) , recordable compact discs (CD-R) , rewritable compact discs (CD-RW) , read-only digital versatile discs (e.g., DVD-ROM, dual-layer DVD-ROM) , a variety of recordable / rewritable DVDs (e.g., DVD-RAM, DVD-RW, DVD+RW, etc. ) , flash memory (e.g., SD cards, mini-SD cards, micro-SD cards, etc. ) , magnetic and / or solid state hard drives, read-only and recordable  discs, ultra density optical discs, any other optical or magnetic media, and floppy disks. The computer-readable media may store a computer program that is executable by at least one processing unit and includes sets of instructions for performing various operations. Examples of computer programs or computer code include machine code, such as is produced by a compiler, and files including higher-level code that are executed by a computer, an electronic component, or a microprocessor using an interpreter.

[0244] While the above discussion primarily refers to microprocessor or multi-core processors that execute software, some embodiments are performed by one or more integrated circuits, such as application specific integrated circuits (ASICs) or field programmable gate arrays (FPGAs) . In some embodiments, such integrated circuits execute instructions that are stored on the circuit itself. In addition, some embodiments execute software stored in programmable logic devices (PLDs) , ROM, or RAM devices.

[0245] As used in this specification and any claims of this application, the terms “computer” , “server” , “processor” , and “memory” all refer to electronic or other technological devices. These terms exclude people or groups of people. As used in this specification and any claims of this application, the terms “computer readable medium, ” “computer readable media, ” and “machine readable medium” are entirely restricted to tangible, physical objects that store information in a form that is readable by a computer. These terms exclude any wireless signals, wired download signals, and any other ephemeral signals.

[0246] The present disclosure further provides a computer readable media which is configured to store executable instructions. When the instructions are executed by a processor, the processor may perform any one of the foregoing methods and processes. Many of the above-described features and applications are implemented as software processes that are specified as a set of instructions recorded on a computer readable storage medium (also referred to as computer readable medium) . When these instructions are executed by one or more computational or processing unit (s) (e.g., one or more processors, cores of processors, or other processing units) , they cause the processing unit (s) to perform the actions indicated in the instructions. Examples of computer readable media include, but are not limited to, CD-ROMs, flash drives, random access memory (RAM) chips, hard drives, erasable programmable read only memories (EPROMs) , electrically erasable programmable read-only memories (EEPROMs) , etc. The computer readable media does not include carrier waves and electronic signals passing wirelessly or over wired connections.

[0247] In this specification, the term “software” is meant to include firmware residing in read-only memory or applications stored in magnetic storage which can be read into memory for processing by a processor. Also, in some embodiments, multiple software inventions can be implemented as sub-parts of a larger program while remaining distinct software inventions. In some embodiments, multiple software inventions can also be implemented as separate programs. Finally, any combination of separate programs that together implement a software invention described here is within the scope of the invention. In some embodiments, the software programs, when installed to operate on one or more electronic systems, define one or more specific machine implementations that execute and perform the operations of the software programs.

[0248] While the disclosure has been described with reference to numerous specific details, one of ordinary skill in the art will recognize that the invention can be embodied in other specific forms without departing from the spirit of the invention. In addition, a number of the figures conceptually illustrate processes and methods. The specific operations of these processes may not be performed in the exact order shown and described. The specific operations may not be performed in one continuous series of operations, and different specific operations may be performed in different embodiments. Furthermore, the process could be implemented using several sub-processes, or as part of a larger macro process.

[0249] The foregoing is merely embodiments of the present disclosure, and is not intended to limit the scope of the disclosure. Any transformation of equivalent structure or equivalent process which uses the specification and the accompanying drawings of the present disclosure, or directly or indirectly application in other related technical fields, are likewise included within the scope of the protection of the present disclosure.

Claims

1.An intra-frame prediction method, comprising:acquiring color component samples from a template area;applying a first sample-side filter (SSF) on the color component samples from the template area;deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area;acquiring luma samples of a current block; andgenerating a chroma prediction of the current block based on the linear function and the luma samples of the current block.2.The method of claim 1, after the acquiring the luma samples of the current block, further comprising:applying a second sample-side filter (SSF) on the luma samples of the current block;wherein the generating the chroma prediction of the current block based on the linear function and the luma samples of the current block comprises:generating the chroma prediction of the current block based on the linear function and the filtered luma samples of the current block.3.The method of claim 2, wherein the applying the first SSF on the color component samples from the template area comprises:applying the first SSF on the luma samples from the template area;wherein the first SSF and the second SSF are identical.4.The method of claim 1, further comprising: applying a third sample-side filter (SSF) on the chroma prediction of the current block.5.The method of claim 1, wherein the applying the first SSF on the color component samples from the template area comprises at least one selected from:applying the first SSF on the luma samples from the template area; orapplying the first SSF on the chroma samples from the template area.6.The method of claim 1, wherein the first SSF is a low-pass filter, and a finite impulse response (FIR) filter.7.The method of claim 1, further comprising:determining whether the first SSF is available;wherein the applying the first SSF on the color component samples from the template area comprises:in responsive to the first SSF being determined to be available, applying the first SSF on the color component samples from the template area;wherein availability of the first SSF is determined based on at least one selected from:one or more pre-defined prediction modes;size of blocks of the template area; oran indication received from an encoder which indicates whether the first SSF is available.8.The method of claim 1, further comprising:determining whether the first SSF is enabled, wherein enablement of the first SSF is determined based on:an indication received from an encoder which indicates whether the first SSF is enabled.9.An intra-frame prediction method, comprising:acquiring color component samples from a template area;deriving a linear function for predicting chroma components from luma components based on the color component samples from the template area;acquiring luma samples of a current block;applying a second sample-side filter (SSF) on the luma samples of the current block; andgenerating a chroma prediction of the current block based on the linear function and the filtered luma samples of the current block.10.The method of claim 9, after the acquiring the color component samples from the template area, further comprising:applying a first SSF on the color component samples from the template area;wherein the deriving the linear function based on the color component samples from the template area comprises:deriving the linear function based on the filtered color component samples from the template area.11.The method of claim 9, further comprising:applying a third SSF on the chroma prediction of the current block.12.The method of claim 9, whereinthe second SSF is a low-pass filter, and a finite impulse response (FIR) filter.13.An intra-frame prediction method, comprising:acquiring color component samples from a template area;applying a first sample-side filter (SSF) on the color component samples from the template area;deriving a linear function for predicting chroma components from luma components based on the filtered color component samples from the template area;acquiring luma samples of a current block;applying a second SSF on the luma samples of the current block;generating a chroma prediction of the current block based on the linear function and the filtered luma samples of the current block; andapplying a third SSF on the chroma prediction of the current block.14.The method of claim 13, whereinthe first, second and third SSFs are low-pass filters, and finite impulse response (FIR) filters.15.The method of claim 13, wherein the applying the first SSF on the color component samples from the template area comprises at least one selected from:applying the first SSF on the luma samples from the template area; orapplying the first SSF on the chroma samples from the template area.16.The method of claim 15,wherein the first SSF is applied on the luma samples from the template area; andwherein the first SSF and the second SSF are identical.17.The method of claim 13, further comprising:determining whether the first, second, and third SSFs are available;wherein availability of the first, second, and third SSFs are determined based on at least one selected from:one or more pre-defined prediction modes;size of blocks of the template area; oran indication received from an encoder which indicates whether the first SSF is available.18.The method of claim 13, further comprising:receiving an indication configured to enable at least one of the first SSF, the second SSF or the third SSF.19.A intra-frame or inter-frame prediction method, comprising:providing a sample side filter (SSF) ;determining one or more specific samples within at least one of: a template area or a current block;applying the SSF on the one or more specific samples; andperforming color component prediction based on the filtered specific samples.20.The method of claim 19,wherein a Convolutional Cross-Component Model (CCCM) is applied for the color component prediction;wherein the applying the SSF on the one or more specific samples comprises at least one selected from:applying the SSF on luma samples in the template area;applying the SSF on chroma samples in the template area;applying the SSF on reconstructed luma samples in the current block; orapplying the SSF on a chroma prediction result of the color component prediction.21.The method of claim 19,wherein a Multi-Model Convolutional Cross-Component Model (MM-CCCM) is applied for the color component prediction;wherein the applying the SSF on the one or more specific samples comprises one of:applying the SSF on luma and / or chroma samples in the template area, and classifying the filtered specific samples into two categories based on an average luma value in the template area; orclassifying pixels in the template area into two categories based on an average luma value in the template area, and applying the SSF on classified luma and / or chroma samples in the template area.22.The method of claim 19,wherein a Gradient Linear Model (GLM) or a Cross-Component Linear Model (CCLM) is applied for the color component prediction;wherein the applying the SSF on the one or more specific samples comprises:applying the SSF on luma and / or chroma samples in the template area;applying the SSF on reconstructed luma samples in the current block; andapplying the SSF on a chroma prediction result of the color component prediction.23.The method of claim 19,wherein a Local Illumination Compensation (LIC) is applied for the color component prediction;wherein the applying the SSF on the one or more specific samples comprises:applying the SSF on reconstructed samples in the template area of a reference block and / or the current block;applying the SSF on predicted samples of the template area of the reference block; andapplying the SSF on predicted samples of the current block.24.The method of claim 19,wherein an Extrapolation filter-based Intra-Prediction (EIP) is applied for the color component prediction;wherein the applying the SSF on the one or more specific samples comprises:applying the SSF on reconstructed samples of the template area of the current block.25.The method of claim 19,wherein the SSF is a low-pass filter and a finite impulse response (FIR) filter.26.A video coding apparatus, comprising a processor and a memory, wherein the memory is configured to store executable instructions that, when executed by the processor, cause the processor to perform the method of any of claims 1 to 25.27.A computer readable medium storing executable instructions that, when executed by a processor, cause the processor to perform the method of any of claims 1 to 25.

Citation Information

Patent Citations

  • Compound inter-intra prediction modes

    US20230283767A1

  • An apparatus, a method and a computer program for video coding and decoding

    WO2023187250A1

  • Method and apparatus for cross-component prediction for video coding

    WO2024006409A1

  • Method and apparatus for cross-component prediction for video coding

    WO2024081291A1