Decoding and encoding method for performing intra-component prediction mode

By integrating the correlation between chroma components Cb and Cr into the prediction process, the method addresses suboptimal chroma prediction in existing video encoding techniques, achieving improved accuracy and reduced encoding data volume.

WO2025241195A1PCT designated stage Publication Date: 2025-11-27SHENZHEN TCL NEW-TECH CO LTD
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2024/095340
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2024-05-24
Publication Date
2025-11-27

AI Technical Summary

Technical Problem

Existing video encoding techniques overlook the inter-relationship between chroma components Cb and Cr, particularly in regions with significant luma texture, leading to suboptimal chroma prediction accuracy and increased encoding data volume.

Method used

A method that enhances chroma prediction by incorporating both luma and chroma component Cb information, utilizing a multi-component chroma prediction algorithm that exploits the correlation between Cr and Cb components, and integrates the influence of Cb into the prediction process.

Benefits of technology

Improves chroma prediction accuracy, reduces encoding errors, and lowers the bit rate of chroma components, thereby enhancing video encoding performance and image quality.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2024095340_27112025_PF_FP_ABST
    Figure CN2024095340_27112025_PF_FP_ABST
Patent Text Reader

Abstract

A decoding method and an encoding method are provided. The decoding method is for performing an intra-component prediction mode. The method includes: obtaining a bitstream indicating the intra-component prediction mode; determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; and deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block.
Need to check novelty before this filing date? Find Prior Art

Description

DECODING AND ENCODING METHOD FOR PERFORMING INTRA-COMPONENT PREDICTION MODETECHNICAL FIELD

[0001] The present disclosure generally relates to encoding and decoding technology, and in particular to a decoding and encoding method for performing intra-component prediction mode, a decoding apparatus, an encoding apparatus and a computer readable medium.BACKGROUND

[0002] Image and video compression is the process of converting multimedia data into a format that can be efficiently stored and transmitted. Among them, prediction algorithms can eliminate redundancy in video data. There are mainly two types of predictions: intra prediction and inter prediction. Intra prediction refers to predictions made within a single frame, mainly utilizing the spatial redundancy of the image; while inter prediction takes advantage of temporal redundancy between different frames.

[0003] In video encoding standards like Versatile Video Coding (VVC) , intra prediction involves using previously encoded blocks within the same image to forecast the current block. Within intra prediction, each frame is segmented into numerous small blocks, each of which utilizes the already encoded segment of the frame as a reference to predict its pixel values. During intra prediction of the current block, the encoder systematically tests each preset intra prediction mode, generating prediction blocks using the reconstructed values from previously encoded blocks. Subsequently, these prediction blocks are compared to select the optimal prediction mode. The disparity (known as residual) between the current block and the best prediction block is also encoded. By transmitting the signaling of the best prediction mode and the residual, the decoder can reconstruct the identical image or video as obtained by the encoder. The inter-component module focuses on the prediction and compression between blocks of different channels.

[0004] In existing encoding tools, both the Cross-Component Linear Model (CCLM) and the Convolutional Cross-Component Model (CCCM) are typical cross-component intra prediction methods. They establish models between luma and chroma, enabling the prediction of chroma pixels from reconstructed luma pixels. This utilization of inter-component redundancy helps reduce encoding data volume.

[0005] The existing techniques primarily focus on addressing redundancy between the luma and chroma components to enhance chroma prediction accuracy. By analyzing the correlation between luma and chroma information, encoding efficiency and reconstructed image quality are significantly improved. However, the mutual relationship between chroma components Cb and Cr has not been fully utilized. In fact, in many cases, the correlation between Cb and Cr components may be stronger, especially in regions where the luma component contains a significant amount of texture information while the chroma component is relatively smooth.SUMMARY

[0006] Accordingly, the present disclosure aims to provide a decoding and encoding method for performing intra-component prediction mode, a decoding apparatus, an encoding apparatus and a computer readable medium.

[0007] A technical scheme adopted by the present disclosure is to provide a decoding method for performing an intra-component prediction mode. The method includes: obtaining a bitstream indicating the intra-component prediction mode; determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; and deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block.

[0008] Another technical scheme adopted by the present disclosure is to provide an encoding method for performing an intra-component prediction mode. The method includes: determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block; and generating a bitstream indicating the intra-component prediction mode.

[0009] Another technical scheme adopted by the present disclosure is to provide a decoding method for performing an intra-component prediction mode. The method includes: obtaining a bitstream indicating the intra-component prediction mode, wherein the bitstream comprises a mapping relation ; between second chroma values and combination of luma values and first chroma values; determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; deriving a first predicted result of second chroma samples of the current block based on a relation between reconstructed luma samples of the reference area, first chroma samples of the reference area, positions of the reconstructed luma samples and the first chroma samples of the reference area, and second chroma samples of the reference area; deriving a second predicted result of second chroma samples of the current block based on the mapping relation; and deriving predicted second chroma samples of the current block based on the first predicted result and the second predicted result.

[0010] Another technical scheme adopted by the present disclosure is to provide a decoding apparatus. The decoding 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 decoding methods.

[0011] Another technical scheme adopted by the present disclosure is to provide an encoding apparatus. The encoding 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 encoding methods.

[0012] 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 decoding or encoding methods.BRIEF DESCRIPTION OF THE DRAWINGS

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

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

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

[0016] FIG. 3 illustrates a flowchart of a decoding method according to an embodiment of the present disclosure.

[0017] FIG. 4 shows an exemplary CCCM convolution filter model.

[0018] FIG. 5 shows a schematic diagram of a current block and its reference area (encoded area) .

[0019] FIG. 6 shows examples for reference area selection of a coding unit.

[0020] FIG. 7 illustrates position coordinates of a pixel within a reference block.

[0021] FIG. 8 illustrates position coordinates of a pixel within a current coding unit.

[0022] FIG. 9 illustrates an example about how to establish the mapping table between (Y, Cb) and Cr.

[0023] FIG. 10 illustrates a flowchart of an encoding method according to an embodiment of the present disclosure.

[0024] FIG. 11 illustrates a flowchart of a decoding or encoding method according to an embodiment of the present disclosure.

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

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

[0027] Image and video compression is the process of converting multimedia data into a format that can be efficiently stored and transmitted. Among them, prediction algorithms can eliminate redundancy in video data. There are mainly two types of predictions: intra prediction and inter prediction. Intra prediction refers to predictions made within a single frame, mainly utilizing the spatial redundancy of  the image; while inter prediction takes advantage of temporal redundancy between different frames.

[0028] In video encoding standards like Versatile Video Coding (VVC) , intra prediction involves using previously encoded blocks within the same image to forecast the current block. Within intra prediction, each frame is segmented into numerous small blocks, each of which utilizes the already encoded segment of the frame as a reference to predict its pixel values. During intra prediction of the current block, the encoder systematically tests each preset intra prediction mode, generating prediction blocks using the reconstructed values from previously encoded blocks. Subsequently, these prediction blocks are compared to select the optimal prediction mode. The disparity (known as residual) between the current block and the best prediction block is also encoded. By transmitting the signaling of the best prediction mode and the residual, the decoder can reconstruct the identical image or video as obtained by the encoder. The inter-component Intra tool module focuses on the prediction and compression between blocks of different channels.

[0029] In existing encoding tools, both the Cross-Component Linear Model (CCLM) and the Convolutional Cross-Component Model (CCCM) are typical cross-component intra prediction methods. They establish models between luma and chroma, enabling the prediction of chroma pixels from reconstructed luma pixels. This utilization of inter-component redundancy helps reduce encoding data volume.

[0030] To more clearly illustrate the disclosure or related technologies, a brief overview will be introduced below. Obviously, these diagrams are just some of the embodiments of this disclosure, and those skilled in the art can obtain other diagrams based on these diagrams.

[0031] 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. 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 input video frame from the output of 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 displacement of the reconstructed video 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 are stored in the encoded image buffer unit 1111.

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

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

[0034] The method proposed in the present disclosure is primarily utilized within the intra prediction unit 1104 of the video encoding system 110 and the intra-prediction unit 1203 of the video decoding system 120. If granted, the intra prediction method proposed in the present disclosure may yield superior prediction results, thereby enhancing the quality of video decoding and reconstruction.

[0035] At the core of the present disclosure lies a chroma prediction method that enhances the prediction accuracy of the chroma component Cr by comprehensively considering information from both luma and chroma component Cb. Traditional video encoding techniques typically focus solely on the correlation with the luma component while overlooking the potential interrelationships among chroma components. The multi-component chroma prediction algorithm proposed in the present disclosure may not only incorporate luma but also integrate the influence of the chroma component Cb into the prediction process, thus achieving more precise prediction for the component Cr. By exploiting the correlation between Cr and Cb components, the method may significantly enhance prediction accuracy, aiding in reducing encoding errors and providing opportunities to lower the bit rate of chroma components. This algorithm not only improves the performance of video encoding but also enhances the image quality of compressed videos. The chroma prediction model, prediction algorithm, and chroma reconstruction means within the encoder set a new benchmark for advancing video encoding technology. Moreover, the proposed method of stream identification for existing inter-component modes and their sub-modes enhances the flexibility and adaptability of the encoding process.

[0036] FIG. 3 illustrates a flowchart of a decoding method according to an embodiment of the present disclosure. As shown in FIG. 3, the method may include operations described in blocks S301 to S305.

[0037] In S301, a bitstream indicating an intra-component prediction mode is obtained.

[0038] The bitstream may be received from an encoding apparatus, and may include data and information relative to the picture, frame or video to be reconstructed. The bistream may include an indication for a specific intra-component prediction mode, that is, the multi-component chroma prediction algorithm as described in blocks S302 to S305. The bitstream may also include other information such as residual information which is commonly used in different types of prediction mode, and thus will not be described in detail for simplicity and clarity.

[0039] In S302, a reference area of a current block is determined.

[0040] An iterative block encoding and block reconstruction process may be performed, which determines the selected prediction mode and processed reference pixels to obtain their predicted values. As shown in FIG. 5, these encoded areas serve as reference areas or regions for the unreconstructed  current block.

[0041] The intra-frame prediction implemented by the encoder requires the use of encoded and reconstructed pixels as references. The utilization of reference pixels adheres to selectable methods as illustrated in Fig. 6, which include the following options.

[0042] In one option, only the reconstructed luma pixels from the top or left side are used, respectively referred to as the Top (T, Top-side mode) and Left (L, Left-side mode) . The reference area can be specified with certain width and height values, extending from the current Coding Unit (CU) of size WxH by a certain number of pixels, such as extending by 0 pixels, W pixels, or H pixels.

[0043] In another option, all the top and left reference pixels are combined for use, denoted as the LT (Left & Top) mode.

[0044] The determination of these modes can be integrated with serial encoding methods such as CCCM and CCLM, among other cross-component prediction algorithms. This includes: 1) modes inherited from other cross-component prediction algorithms; or 2) executing a new round of calculations based on the initial prediction made by other modes, that is, conducting a traversal calculation of all candidate modes again under this mode.

[0045] It should be understood, if the current block is located at the edge of the image or at the boundary of a Slick or Tile, some neighboring pixels may be missing or unavailable. For such cases, specific strategies are typically employed to fill in the missing pixel values, such as using fixed values (e.g., edge values or zeros) or some form of averaging based on available pixels.

[0046] In S303, reconstructed luma samples of the current block are acquired.

[0047] Reconstructed luma samples of the current block may be acquired in different ways. For example, in an intra-prediction method, the luma value of a pixel within the current block may be determined based on luma values (or default values) of its adjacent pixels.

[0048] For video data in formats such as YUV420, YUV422 etc., downsampling operations on luminance pixels can be performed to align the dimensions of luminance and chrominance pixels. A specific filtering kernel may be set to filter the luminance pixels, and generate a down-sampled luminance image.

[0049] For YUV420 format data, downsampling is executed at a ratio of 4: 1, which corresponds to:

[0050] In the above equation, Rec′L (i, j) is the down-sampled luminance pixel. RecL (2i+x,2j+y) is the original luminance pixel. W (x, y) is the weights corresponding to the position (x, y) of the filtering kernel. Sum of Weight maintains the normalization of the total energy of pixel intensity. x and y are coordinates within the size of the filtering kernel.

[0051] The coefficients and size of the filtering kernel selected for downsampling the luma reference pixels can be pre-specified. The selection of the sampling filter for downsampling luma reference pixels may be indicated by the Sequence Parameter Set (SPS) .

[0052] In S304, first chroma samples of the current block are acquired based on the reconstructed  luma samples of the current block.

[0053] In one embodiment, the first chroma sample may relate to the chroma component Cb while the second chroma sample may relate to the chroma component Cr. Alternatively, in another embodiment, the first chroma sample may relate to the chroma component Cr while the second chroma sample may relate to the chroma component Cb. In the following description of the present disclosure, the chroma component Cb is taken as the “first chroma” for explanatory purpose.

[0054] The reference area reconstruction involves performing an iterative block encoding and reconstruction process. By determining the selected prediction mode and processing the reference pixels, their predicted values may be obtained, and thereby the pixel values of the reference area may be reconstructed. These encoded areas act as reference regions for the current block that has not yet been reconstructed.

[0055] Based on the predictive model established from the reference area, the Cb values of the current block may be substituted into it. Two exemplary method for obtaining the Cb pixel values of the current block are listed below.

[0056] In a first method, the Cross-Component Chrominance Model (CCCM) algorithm for prediction is directly used, which applies the characteristics of the 7-tap filter of the CCCM method to generate predicted values. The following equation may be adopted to obtain the predicted value of Cb:

[0057] PredCb=c0·C+c1·N+c2·S+c3·E+c4W+c5·P+c6·B Eq. 2

[0058] In the above equation, C represents the luma sample corresponding to the target chrominance sample; N, S, E, W are the adjacent luma samples in the up, down, left, and right directions respectively (as shown in FIG. 4) ; B is a constant; and P is a non-linear term calculated as:

[0059] P= (C*C+midVal) > >bitDepth Eq. 3 where midVal represents a scalar offset between input and output, typically set to the middle chroma value; bitDepth is the bitdepth of the pixel.

[0060] In a second method, the reconstructed value of Cb may be obtained based on the CCCM mode:

[0061] RecCb=c0·C+c1·N+c2·S+c3·E+c4·W+c5·P+c6·B Eq. 4

[0062] Specifically, the reconstructed value may be obtained by performing the Rate-Distortion Optimization (RDO) process within the encoding loop. Compared to the first method, the second method may achieve higher precision but at a greater computational cost.

[0063] It can be seen, the first chroma sample may indicate the predicted value of Cb if the first method as introduced above is applied. Alternatively, the first chroma sample may indicate the reconstructed value of Cb if the second method as introduced above is applied.

[0064] Since the luminance and chrominance components in an I slice may have different partition structures, for example, dual-tree coding, a single chrominance block may correspond to multiple luminance blocks. In this case, the luminance block corresponding to the central pixel of the current chrominance block can be selected as the reference block. That is:

[0065] where is the luminance block that serves as the reference.

[0066] In other words, the operation of acquiring the first chroma samples of the current block based on the reconstructed luma samples may include: deriving a first relation between first chroma samples and reconstructed luma samples of the reference area based on luma pixels and first chroma pixels of the reference area; and determining the first chroma samples of the current block based on the reconstructed luma samples of the current block and the first relation. The first relation may correspond to, for example, the equation (2) or the equation (4) as illustrated above.

[0067] The above description involves generating a predictive model based on the pixel values of the acquired luma block and Cb block. The predictive model is implemented by a filter kernel, and this module includes the process and strategy for determining the filter coefficients. The filter kernel coefficients used are denoted as which are derived from a linear model established based on the reference area. Both the encoder and decoder may employ the same method for deriving the coefficients. The method of Minimum Mean Square Error (MSE) can be used to calculate the filter coefficients, and numerical methods will be used for the specific solution.

[0068] Calculate the MSE between the predicted chrominance samples and the reconstructed chrominance samples in the reference area, represented as:

[0069] where cn represents the coefficient in the filter template, ref_L [n] is the reference luminance sample, and the summation indicates the application of the filter template to the luminance samples; C is one of the chroma component, i.e., Cb or Cr.

[0070] To perform MSE minimization, we calculate the autocorrelation matrix of the reconstructed luminance pixels and the cross-correlation vector between the reconstructed luminance pixels and the reconstructed chrominance pixels within the reference area. For each luminance sample in the reference area, we calculate the product with each other luminance sample and the corresponding chrominance sample, including them respectively in the autocorrelation matrix R and the cross-correlation vectors RLCb and RLCr. The elements of R and RL are adjusted by a scaling factor to match the selected dynamic range.

[0071] To minimize the MSE, we take the derivative of cn and set the derivative to zero. Let P’ be the chroma prediction value matrix, V be the reconstructed luma input matrix, and c be the cross-component prediction model coefficient matrix. The predictive algorithm can be reformulated as:

[0072] P′=V·c Eq. 7

[0073] The objective is to minimize the sum of squared errors, that is, to determine a set of coefficients cn that minimizes the error sum of squares between the chroma prediction values in the reference area and the reconstructed chroma:

[0074] (P′-P) T (P′-P) =ε Eq. 8

[0075] At the point of minimal value, when the derivative is set to zero, we extract:

[0076] c= (VT·V) -1·VT·P Eq. 9

[0077] The codec may execute numerical solution methods to solve the equations. For example, for an LDL decomposition, for a positive definite autocorrelation matrix R, it can be decomposed into a lower triangular matrix L and its transpose L^T, such that:VTV=LDL Eq. 10where, D is a diagonal matrix, and its diagonal elements are the eigenvalues of the original matrix.

[0078] Similarly, the Cholesky decomposition can also be used to decompose the matrix into a lower triangular matrix and its conjugate transpose, such that:VTV=LL* Eq. 11

[0079] The linear equations can then be decomposed into a diagonal form that allows for direct solution, thus obtaining the filter kernel coefficients cn.

[0080] In this way, the coefficients in the equation 2 and the equation 4 may be determined. That is, the first relation between first chroma samples and reconstructed luma samples of the reference area as described above may be determined, and the first chroma samples (Cb samples) of the current block may be determined based on the reconstructed luma samples of the current block and the first relation.

[0081] In S305, a first predicted result of second chroma samples of the current block is derived based on the reconstructed luma samples and the first chroma samples of the current block.

[0082] In some embodiment, the operation of deriving the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block includes: 1) deriving a second relation between: reconstructed luma samples of the reference area; first chroma samples of the reference area; positions of the reconstructed luma samples and the first chroma samples of the reference area; and second chroma samples of the reference area; and 2) determining the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the second relation. With similar coefficient determination method as described above, the second relation can be obtained to reconstruct the predicted values for the Cr block.

[0083] The obtained luminance values Y, chrominance values Cb, sample position information x and y, constant offset B, and the corresponding filter prediction model coefficients cn can be acquired and recorded.

[0084] To ensure that the coefficients in the predictive model can adapt to reference areas of different sizes and accurately reflect the position of sample points relative to the reference area, the sample position information needs to be scaled based on the size of the reference region. For a reference region of six rows and six columns, the scaling is as follows:

[0085] where the value of offset can be 8, and the value of shift can be 3.

[0086] After scaling the coordinate information, the prediction calculation may be performed. Using the luminance values Y, chrominance values Cb, position information x and y, as well as the constant offset B and the model coefficients the prediction value for Cr sample is calculated as follows:

[0087] Pred1Cr=c′0·Y+c′1·Cb+c′2·x+c′3·y+c′4·B Eq. 13

[0088] In the above equation, Pred1Cr represents the prediction value (the first predicted result) of chroma Cr. represents the model coefficients. Y denotes the reconstructed luma value at the same position as the chroma sample Cr. Cb represents the chroma Cb value (predicted value or reconstructed value) at the same position as the sample. B is a constant. x and y represent the sample’s position information (e.g., coordinates) , as shown in FIGs. 8 and 9. The coordinates (x, y) may be determined based on an original point (e.g., the top-left point of the reference block) and a position of the sample point (within the reference block or within the current coding unit) .

[0089] In some cases, the predicted values may be clipped to ensure they fall within the valid pixel intensity range. For example, in a process with 10 bits of depth, the valid range extends from 0 to 1023. The corresponding clipping operation can be specifically represented as:

[0090] Pred1Cr_cropped=min [max (Pred1Cr, 0) , 1023] Eq. 14

[0091] In the present embodiment, the decoding method includes: obtaining a bitstream indicating the intra-component prediction mode; determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; and deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block. The first predicted result of second chroma samples may be utilized to represent the predicted value of the second chroma component (e.g., Cr) . In other words, the correlation between chroma components Cb and Cr can be acquired and applied for the determination of the second chroma component, which may improve the prediction accuracy.

[0092] Furthermore, the bitstream may include a mapping relation between second chroma values and combination of luma values and first chroma values, that is, a mapping relation between Cr and (Y, Cb). Correspondingly, the decoding method may further include: determining a second predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the mapping relation; and determining predicted second chroma samples of the current block based on the first predicted result and the second predicted result. In other words, the first predicted result and the second predicted result of the second chroma samples may be configured to cooperatively determine the final predicted result of the second chroma component.

[0093] In some embodiments, a first weight for the first predicted result of the second chroma samples of the current block and a second weight for the second predicted result of the second chroma samples of the current block for determining the predicted second chroma samples of the current block are included in the bitstream.

[0094] The present disclosure also provides the detailed operation of constructing Y-Cb to Cr mapping tables for a reference region. This operation includes methods for maintaining the mapping table, specific steps for building and maintaining the mapping table, a sequence diagram for table lookup, and an optional pre-clustering operation. The algorithm principle utilizes spatial redundancy in neighboring regions, where adjacent regions exhibit highly similar pixel values. Two methods for maintaining the lookup table in the encoder and decoder are provided below.

[0095] The first method involves direct encoding of the mapping table. The mapping table is directly encoded into the bitstream, compatible with the writing to the code table and entropy coding units, i.e., unit 1110 and 1201 in FIG. 1.

[0096] The second method involves deriving the mapping table at the codec endpoint. The mapping table is derived independently at the endpoint from the reconstructed area, with the encoder and decoder obtaining and maintaining the (Y-Cb to Cr) mapping table separately, trading computational expense for a reduction in bit rate.

[0097] The mapping table can be denoted as M, where M (Y, Cb) =Cr. The process for building the mapping table may be mainly performed at the encoder side. A brief introduction of the process for building and maintaining the mapping table is given below.

[0098] In a first aspect, the search region of the mapping table can be determined. The search region for the mapping table can be set in different ways. In one example, the search region may be depending on the foregoing reference area. In another example, the search region may be limited to a specific search region, such as a neighboring matrix of size N_Table_Width*N_Table_Height pixels, where N_Table_Width and N_Table_Height can take finite values such as 2, 4, 6 etc.

[0099] In a second aspect, the maintenance of the mapping table can be based on different data structure types, for example, Hash table, fixed two-dimensional array, or dynamic linked list. A Hash table may map key-value pairs, where the keys are the reference area index set (Y, Cb) , and the values are the corresponding Cr values. A 2D array [M] [M] may maintain (Y, Cb) pairs, where M represents the bit depth dynamic range. For a 10-bit depth video, M may be equal to 1023 by default. A linked list may store {key: (Y, Cb) , value: Cr} entries, which can optimize space complexity but may increase construction and lookup times.

[0100] In a third aspect, the reconstructed Cr values are recorded in the mapping table M by associating the index (Y, Cb) with the corresponding Cr value for each sample point. The first position of the array, M (0, 0) , records the average Cr value of the reference region as the default prediction value.

[0101] Referring to FIG. 9, when establishing the mapping table, the search may start from the top-left corner of the lookup area, traversing rightward row by row, moving down to the next row for continued traversal. If multiple Cr values correspond to the same index (Y, Cb) during the lookup process, which indicates duplicate entries, the mapping table may be updated with the latest Cr value since a closer block may be more similar to the current block.

[0102] In a fourth aspect, an optional pre-clustering operation may be included to reduce the storage and lookup time costs of table construction. The space of the optimized mapping table may be denoted  as S’ , which clusters the mapping entries (Y, Cb) and Cr into K clusters to reduce the number of table entries:

[0103] where Ck represents the set of indices (Y, Cb) in the cluster item k; and μk is the mean of Cr in Ck.

[0104] The goal of this process is to find cluster sets K that minimize internal differences.

[0105] The method of acquiring the predicted values for the Cr block by looking up the Y-Cb table may include the principle of the mapping table lookup, the calculation of Cr prediction values, and the specific steps for the mapping table lookup reconstruction. The implementation of the table building between the encoder and decoder is the same and relative steps are introduced below.

[0106] The lookup process can be considered a mapping function that predicts the Cr value from the combination of reconstructed Y and Cb values. For the target Cr sample position, the reconstructed luminance value Rec_Y and chrominance value Rec_Cb at the same position are retrieved, and these two values serve as array indices to search for the corresponding Cr prediction value within the domain of the mapping table. That is:

[0107] Pred2Cr (i, j) =M [RecY (i, j) , RecCb (i, j) ] Eq. 16

[0108] where Pred2Cr (i, j) represents the chroma prediction value (the second predicted result) ; RecY(i, j) and RecCb (i, j) represent the reconstructed brightness value and reconstructed chroma Cb value at the same position as the sample to be predicted respectively; and M () represents the mapping table.

[0109] In some embodiments, if there is no hit when looking up the combination of Rec_Y and Rec_Cb, which means no corresponding table entry exists, then an extended search may be performed by sequentially exploring (Rec_Y, Rec_Cb±1) , (Rec_Y, Rec_Cb±2) and so on, until a preset threshold (Rec_Y, Rec_Cb±map_max) is reached. The parameter map_max is a predefined variable that defines the search boundary.

[0110] In some embodiments, if the exact match is still not found within the extended search domain, the first entry in the array, i.e., the record of the average Cr value of the reference region M (0, 0) may be designated as the predicted value for Cr. This step ensures that a reasonable prediction value is provided, maintaining the completeness of the reconstruction space.

[0111] According to the foregoing description, the first predicted result and the second predicted result of the chroma component Cr may be obtained respectively. The present disclosure further provides the fusion process of amalgamating Cr prediction values derived from multi-component predictive methodologies (i.e., Pred1_Cr) with those obtained through Y-Cb look-up tables (i.e., Pred2_Cr) . The fusion methods may include numerical weighted fusion, adaptive weight assignment, and local content-based weight adjustment. Both the encoder and decoder may execute the fusion, utilizing the same process for calculating weights.

[0112] The confluence of Pred1_Cr (i, j) and Pred2_Cr (i, j) integrally synthesizes the predictive traits of both methodologies to rein in prediction errors and smoothen the perturbations caused by noise.  Various fusion techniques and their combinations can be employed. Some exemplary method for calculating weights are stated below.

[0113] ● Numerical Weighted Fusion

[0114] The numerical weighted fusion method mathematically combines Pred1_Cr and Pred2_Cr using predefined weights. The formula is as follow:

[0115] Pred_finalCr (i, j) =w1·Pred1Cr (i, j) +w2·Pred2Cr (i, j) Eq. 17

[0116] In the above equation, w1 and w2 symbolize normalized weight factors. w1 typically assumes a more significant value (e.g., 7 / 8) while w2 is correspondingly minor (e.g., 1 / 8) . These weights can be predefined or dynamically computed and adjusted based on the prediction performance within the reference area. For example, the weights w1 and w2 may be pre-determined based on experimental simulation results.

[0117] ● Adaptive Weight Assignment

[0118] Considering the damage characteristics of prediction methods in different blocks and assigning weights accordingly achieves adaptive importance of prediction methods. Let the sum of absolute differences (SAD) for Pred1_Cr be denoted as SAD1, and the SAD for Pred2_Cr be denoted as SAD2. Then, the fusion weight is calculated as follow:

[0119] The initial weighting values a1 and a2 are predefined. They can be set to 1, follow a predefined pattern such as 7 / 8 and 1 / 8, or be combined with other adaptive weighting methods.

[0120] To ensure that the sum of weights is equal to 1, normalization of w1’and w2’ is required:

[0121] Similarly, the solution can be migrated to damage indicators such as SATD, SSE for calculation of fusion weighting.

[0122] ● Local Content Based Weight Adjustment

[0123] Considering local image characteristics to adjust the weights of prediction blocks enables adaptive content handling. The accuracy of pred2_Cr reconstruction is influenced by the fluctuation intensity in the neighboring regions, where disordered textures and pixel distributions may degrade the precision of the search. Utilizing image processing variance σ data can adjust fusion weights.

[0124] The chroma (e.g., Cb) variance within the reference block is calculated as σ2. When the variance is large, the weight of the first prediction method can be increased and the weight of the second prediction method can be reduced.

[0125] A weight adjustment function f (σ2) is used, which adjusts the weight according to the variance σ2. The weight adjustment function can be designed as a monotonically decreasing function of the variance σ2, that is, the larger the variance, the smaller the function value, indicating that the weight of the second prediction method is smaller:

[0126] In the above equation, σth is a preset variance threshold, and c is an exponent that controls the speed of function descent. These parameters can be predefined.

[0127] Apply the weight function to the variance of block to obtain its weight. For two prediction values’ weights, weights w1 and w2 can be calculated respectively. :

[0128] To ensure that the sum of weights is equal to 1, normalization of w1’ and w2’ is required:

[0129] In this way, the weights of the prediction blocks may be adaptively adjusted based on the local region’s texture details.

[0130] According to the forgoing description, the first predicted result (Pred1_Cr) and the second predicted result (Pred2_Cr) can be configured to cooperatively determine the final predicted result of Cr, which may further improve the prediction accuracy of the chroma component Cr.

[0131] FIG. 10 illustrates a flowchart of an encoding method according to an embodiment of the present disclosure. As shown in FIG. 10, the method may include operations described in blocks S401 to S405.

[0132] In S401, a reference area of a current block is determined.

[0133] In S402, reconstructed luma samples of the current block are acquired.

[0134] In S403, first chroma samples of the current block are acquired based on the reconstructed luma samples of the current block.

[0135] In S404, a first predicted result of second chroma samples of the current block is derived based on the reconstructed luma samples and the first chroma samples of the current block.

[0136] In S405, a bitstream indicating an intra-component prediction mode is generated.

[0137] Operations described with regard to FIG. 10 are similar to the operations described with regard to FIG. 3. For simplicity and clarity, details of these operations will not be repeated herein.

[0138] In the present embodiment, the encoding method includes: determining a reference area of a current block; acquiring reconstructed luma samples of the current block; acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block; and generating a bitstream indicating the intra-component prediction mode. The first predicted result of second chroma samples may be utilized to represent the predicted value of the second chroma component (e.g., Cr) . In other words, the correlation between chroma components Cb and Cr can be acquired and applied for the determination of the second chroma component, which may improve the prediction accuracy.

[0139] In some embodiments, the operation of acquiring the first chroma samples of the current block based on the reconstructed luma samples may include: deriving a first relation between first chroma samples and reconstructed luma samples of the reference area based on luma pixels and first chroma pixels of the reference area; and determining the first chroma samples of the current block based on the reconstructed luma samples of the current block and the first relation.

[0140] In some embodiments, the operation of deriving the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block may include: 1) deriving a second relation between: reconstructed luma samples of the reference area; first chroma samples of the reference area; positions of the reconstructed luma samples and the first chroma samples of the reference area; and second chroma samples of the reference area; and 2) determining the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the second relation.

[0141] In some embodiments, the encoding method may further include: establishing a mapping relation between second chroma values and combination of luma values and first chroma values within a reference region; determining a second predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the mapping relation; and determining predicted second chroma samples of the current block based on the first predicted result and the second predicted result.

[0142] In some embodiments, the method may further include: determining a first weight for the first predicted result of the second chroma samples of the current block; and determining a second weight for the second predicted result of the second chroma samples of the current block. The operation of determining the predicted second chroma samples of the current block based on the first predicted result and the second predicted result may include: determining the predicted second chroma samples of the current block based on the first weight, the first predicted result, the second weight, and the second predicted result.

[0143] The first weight and the second weight may be preset. Alternatively or additionally, the first weight and the second weight may be determined based on a first difference between the first predicted result and a reconstructed value of the second chroma samples and a second difference between the second predicted result and the reconstructed value of the second chroma samples. Alternatively or additionally, the first weight and the second weight may be determined based on fluctuation in a reference region, wherein the reference region may be the reference area as described above or a predefined neighboring region of the current block.

[0144] According to the forgoing description, the first predicted result (Pred1_Cr) and the second predicted result (Pred2_Cr) can be configured to cooperatively determine the final predicted result of Cr, which may further improve the prediction accuracy of the chroma component Cr.

[0145] The present disclosure further provides methods for signaling in the bitstream corresponding to the above encoding and decoding methods, as well as its compatibility and extension with other tool  modules within the encoding framework.

[0146] ● Cb block reconstruction signaling

[0147] The codec employs different methods to acquire current chroma block, which involves coupling with other encoding modules and affects, such as the enabling conditions for the joint coding of chroma residuals (JCCR) tool. During the bitstream signaling step, it is necessary to signal within the bitstream whether the joint coding of chroma residuals mode is enabled. For example, a 0 / 1 flag can be used. When the CCCM model is used to derive the predicted value of the Cb component, it is compatible with the JCCR mode, and the joint coding mode can be enabled. When the encoding optimization of the CCCM model is used to determine the reconstructed value of the Cb component, it is not compatible with the JCCR mode, and the bitstream is flagged to disable the joint coding mode.

[0148] ● Compatibility with CCCM Sub-modes

[0149] The cross-component algorithm proposed needs to be compatible with identifiers from other CCCM sub-modes, which includes adjusting the representation of variable-length codes according to the tools used by different encoding frameworks. The bitstream defines a unique identifier for each CCCM sub-mode to indicate the currently active sub-mode. For each sub-mode, the encoder and decoder are capable of recognizing and applying different encoding tools, and can allocate variable-length codes of different lengths based on the frequency of application of the encoding tools.

[0150] FIG. 11 illustrates a flowchart of a decoding or encoding method according to an embodiment of the present disclosure.

[0151] The main responsibility of the module S501 is to acquire reference pixels of the reconstructed block from the luma component. These reference pixels serve as the basis for predicting the chroma component.

[0152] The main responsibility of the module S502 is to obtain the chrominance Cb component values of the reference block. This forms the basis for establishing a cross-component model. In the codec, it is necessary to acquire corresponding chrominance pixels based on the obtained luminance pixels.

[0153] The module S503 generates a predictive model based on the pixel values of the acquired luma block and Cb block. The predictive model is implemented by a filter kernel, and this module includes the process and strategy for determining the filter coefficients.

[0154] The module S504 executes the multi-component prediction algorithm to obtain the predicted values for the Cr block. This process includes acquiring pixel values from reconstructed luma and chroma blocks, calculating predicted values, and scaling the position information according to the size of the reference area. The codec applies the predictive model formula, combining the luminance and chrominance values with positional information and coefficients, to derive the predicted values for Cr.

[0155] The module S505 implements the detailed operation of constructing Y-Cb to Cr mapping tables for reference blocks. This method includes methods for maintaining the mapping table, specific steps for building and maintaining the mapping table, a sequence diagram for table lookup, and an optional pre-clustering operation. The algorithm principle utilizes spatial redundancy in neighboring  regions, where adjacent regions exhibit highly similar pixel values.

[0156] The module S506 implements methods for mapping the Y-Cb table to obtain Cr prediction values, which is the process of acquiring the predicted values for the Cr block by looking up the Y-Cb table. The method includes the principle of the mapping table lookup, the calculation of Cr prediction values, and the specific steps for the mapping table lookup reconstruction.

[0157] The module S507 implements the fusion process of amalgamating Cr prediction values derived from multi-component predictive methodologies (Pred1_Cr) with those obtained through Y-Cb look-up tables (Pred2_Cr) . The fusion methods that can be selected include numerical weighted fusion, adaptive weight assignment, and local content-based weight adjustment.

[0158] The module S508 implements methods for signaling in the bitstream, as well as its compatibility and extension with other tool modules within the encoding framework.

[0159] The present disclosure devised a cross-component prediction algorithm that integrates luma component, positional information, and Cb information for predicting Cr information. This enhances the accuracy of Cr prediction and improves the compression efficiency of intra-frame cross-component algorithms. The main innovations of this invention include:

[0160] ● Reconstruction of Luma and Chroma: At the encoder, reconstructed luma and chroma information can be obtained from the encoded image, and the pixel intensities and coordinate information of reconstructed units are recorded. At the decoder, the bitstream can be parsed to acquire the reconstructed luma and chroma information along with their coordinate data.

[0161] ● Multi-component Prediction Model: Prediction is not only based on luma component Y but also incorporates chroma component Cb and positional information X, Y to enhance prediction accuracy.

[0162] ● Extension to CCCM Module: As a sub-mode of CCCM, it not only maintains compatibility with existing methods but also optimizes the prediction of the Cr component. New bitstream identifiers are introduced for mode selection in the encoder.

[0163] ● Utilization of redundant neighborhood in adjacent Y-Cb pixel blocks: An extended chroma prediction lookup table mode, enabling multi-component combined prediction using discrete table items.

[0164] At the decoder end, reconstruction of the image relies on the bitstream description of the encoding process. The decoder parses the identifiers in the bitstream to determine whether to enable the new multi-component chroma prediction method. Based on the chosen method, the decoder utilizes filtering coefficients transmitted from the encoder, combines them with reconstructed luma information and chroma Cb values, integrates positional information, and performs prediction of chroma Cr values. The decoder also considers the availability of CCCM sub-modes and JCCR mode to ensure compatibility with other tools in the encoding framework.

[0165] To illustrate the versatility of our solution, we provide several examples below. Each of these embodiments demonstrates a potential implementation of the invention in different video coding and decoding standards.

[0166] ● Example 1

[0167] Step 1: Luma reference pixels are acquired. The encoder extracts the luma component from the image, recording its pixel intensity and spatial coordinates. Luma information acquisition may involve multistage filtering and downsampling processes to provide more accurate prediction inputs.

[0168] Step 2: Chroma Cb reference pixels are acquired. The encoder processes the chroma Cb component, obtaining Cb information corresponding to the position of the Cr component to be reconstructed.

[0169] Step 3: Template coefficients are derived. Utilizing reconstructed luma and Cb chroma pixels, the encoder derives coefficients for the chroma prediction template through LDL decomposition.

[0170] Step 4: The Cr Prediction is reconstructed. The encoder applies the template coefficients, along with the acquired luma values (Y) and chroma values (Cb) , to execute Cr prediction reconstruction.

[0171] Step 5: Y-Cb Mapping table of reference block is constructed. Encoder module constructs a Y-Cb mapping table leveraging luma and chroma values from adjacent encoding blocks. It employs a discrete assembly process, optimizing the prediction of Cr values through efficient indexing within the mapping table.

[0172] Step 6: Cr block is acquired by looking up on the Y-Cb table. Utilizing the mapping table, encoder predict Cr values by mapping function, exploring neighboring indices for a precise match if the exact Y-Cb mapping is absent.

[0173] Step 7: Fusion of prediction values and lookup-table Values is acquired. Encoder integrate Cr prediction values derived from both multi-component predictive methodologies and Y-Cb lookup tables. Various fusion techniques are employed, with a prevalent approach being the weighted sum, factoring in normalized weights for comprehensive prediction accuracy.

[0174] Step 8: The encoder introduces new identifiers for CCCM sub-modes into the bitstream, indicating the chosen Cr prediction model and whether the JCCR mode is enabled.

[0175] ● Example 2

[0176] Step 1: Luma reference pixels are acquired. Upon decoding, the decoder reconstructs the luma block using the received bitstream. The decoded luma pixels form the reference for predicting the chroma component.

[0177] Step 2: Chroma Cb reference pixels are acquired. The decoder uses the bitstream data to calculate or retrieve the Cb component's reference pixels, which are necessary to predict the Cr component. The specific prediction method depends on the mode indicated within the bitstream or decoder module.

[0178] Step 3: Template coefficients are derived. The decoder derivates the template coefficients required for chroma prediction by analyzing the reconstructed luma and chroma reference pixels. The bitstream provides the necessary correlation matrix data for the decoder to calculate the filter coefficients cn.

[0179] Step 4: The Cr Prediction is reconstructed. With the coefficients calculated in step 3, the decoder predicts the Cr block by assimilating spatial and color information from the luma and Cb blocks using the provided algorithm.

[0180] Step 5: Y-Cb mapping table of reference block is constructed. The decoder constructs the mapping table from adjacent areas of reconstructed samples. The mapping table is built using the processed data for luma (Y) and chroma (Cb) indices from the bitstream to predict the Cr value.

[0181] Step 6: Cr block is acquired by looking up on the Y-Cb table. The Cr prediction is obtained by querying the previously constructed Y-Cb mapping table with indices of reconstructed Y and Cb values. In the absence of a direct hit, the decoder expands the search to adjacent indices until a match is found or defaults to the array's first entry representing the average Cr value.

[0182] Step 7: Fusion of prediction values and lookup-table Values is acquired. The decoder fuses the Cr prediction values obtained from the multi-component prediction method with those derived from the Y-Cb lookup table. This process involves combining pred1Cr and pred2Cr, considering both the constants and variables supplied in the bitstream to stabilize prediction performance.

[0183] Step 8: The decoder interprets the bitstream identification, ensuring that the multi-component chroma prediction method is correctly processed and integrated with the existing decoding tools. Entropy decoding is performed last, with the decoder executing the instructions of each module embedded in the bitstream to accurately reconstruct the final image.

[0184] ● Example 3

[0185] Step 1: In the decoding phase, the decoder parses the bitstream to retrieve reconstructed luma information along with its coordinate data.

[0186] Step 2: Using the CCCM method, the decoder predicts Cb reference pixels, which are utilized for the reconstruction of the Cr component.

[0187] Step 3: Leveraging the established reference region, the decoder derives coefficients for the chroma prediction template through LDL decomposition.

[0188] Step 4: Referring to the bitstream identifiers provided by the encoder, the decoder applies template coefficients, along with acquired luma values (Y) and chroma values (Cb) , to execute the reconstruction of Cr prediction.

[0189] Step 5: Determining the compatibility of prediction methods, the decoder invokes decoding tools that match the identified identifiers to perform cross-component reconstruction.

[0190] ● Example 4

[0191] Step 1: In the decoding phase, the decoder parses the bitstream to retrieve reconstructed luma information along with its coordinate data.

[0192] Step 2: Using the CCCM method, the decoder predicts Cb reference pixels, which are utilized for the reconstruction of the Cr component.

[0193] Step 3: Based on the reference blocks, the decoder constructs the Y-Cb mapping table. Using the reconstructed samples around the target block, a discretized mapping table is built. This mapping table functions by indexing pairs of Y and Cb values to look up the corresponding Cr values.

[0194] Step 4: Decoder retrieves the reconstructed Y and Cb values from the given positions. Then the decoder uses these values to search in the mapping table for the Cr prediction.

[0195] Step 5: Decoder identifies signals sent within the bitstream relating to chroma prediction and  Decodes entropy-coded data to reconstruct the signal accurately. Compatibility with the encoder's processes should be ensured to accurately predict and reconstruct the chroma information.

[0196] FIG. 12 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, for example, 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 decoding or encoding methods.

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

[0198] 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 Blu- 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.

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

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

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

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

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

[0204] 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

A decoding method for performing an intra-component prediction mode, comprising:obtaining a bitstream indicating the intra-component prediction mode;determining a reference area of a current block;acquiring reconstructed luma samples of the current block;acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block; andderiving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block.The method of claim 1, wherein the acquiring the first chroma samples of the current block based on the reconstructed luma samples comprises:deriving a first relation between first chroma samples and reconstructed luma samples of the reference area based on luma pixels and first chroma pixels of the reference area; anddetermining the first chroma samples of the current block based on the reconstructed luma samples of the current block and the first relation.The method of claim 1, wherein the deriving the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block comprises:deriving a second relation between:reconstructed luma samples of the reference area;first chroma samples of the reference area;positions of the reconstructed luma samples and the first chroma samples of the reference area; andsecond chroma samples of the reference area; anddetermining the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the second relation.The method of claim 3,wherein the bitstream comprises a mapping relation between second chroma values and combination of luma values and first chroma values;wherein the method further comprises:determining a second predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the mapping relation; anddetermining predicted second chroma samples of the current block based on the first predicted result and the second predicted result.The method of claim 4, whereina first weight for the first predicted result of the second chroma samples of the current block and a second weight for the second predicted result of the second chroma samples of the current block for determining the predicted second chroma samples of the current block are included in the bitstream.An encoding method for performing an intra-component prediction mode, comprising:determining a reference area of a current block;acquiring reconstructed luma samples of the current block;acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block;deriving a first predicted result of second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block; andgenerating a bitstream indicating the intra-component prediction mode.The method of claim 6, wherein the acquiring the first chroma samples of the current block based on the reconstructed luma samples comprises:deriving a first relation between first chroma samples and reconstructed luma samples of the reference area based on luma pixels and first chroma pixels of the reference area; anddetermining the first chroma samples of the current block based on the reconstructed luma samples of the current block and the first relation.The method of claim 6, wherein the deriving the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples and the first chroma samples of the current block comprises:deriving a second relation between:reconstructed luma samples of the reference area;first chroma samples of the reference area;positions of the reconstructed luma samples and the first chroma samples of the reference area; andsecond chroma samples of the reference area; anddetermining the first predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the second relation.The method of claim 8, further comprising:establishing a mapping relation between second chroma values and combination of luma values and first chroma values within a reference region;wherein the method further comprises:determining a second predicted result of the second chroma samples of the current block based on the reconstructed luma samples of the current block, the first chroma samples of the current block, and the mapping relation; anddetermining predicted second chroma samples of the current block based on the first predicted result and the second predicted result.The method of claim 9, further comprising:determining a first weight for the first predicted result of the second chroma samples of the current block; anddetermining a second weight for the second predicted result of the second chroma samples of the current block;wherein the determining the predicted second chroma samples of the current block based on the first predicted result and the second predicted result comprises:determining the predicted second chroma samples of the current block based on the first weight, the first predicted result, the second weight, and the second predicted result.The method of claim 10,wherein the first weight and the second weight are preset.The method of claim 10,wherein the first weight and the second weight are determined based on a first difference between the first predicted result and a reconstructed value of the second chroma samples and a second difference between the second predicted result and the reconstructed value of the second chroma samples.The method of claim 10,wherein the first weight and the second weight are determined based on fluctuation in a reference region.A decoding method for performing an intra-component prediction mode, comprising:obtaining a bitstream indicating the intra-component prediction mode, wherein the bitstream comprises a mapping relation ; between second chroma values and combination of luma values and first chroma values;determining a reference area of a current block;acquiring reconstructed luma samples of the current block;acquiring first chroma samples of the current block based on the reconstructed luma samples of the current block;deriving a first predicted result of second chroma samples of the current block based on a relation between reconstructed luma samples of the reference area, first chroma samples of the reference area, positions of the reconstructed luma samples and the first chroma samples of the reference area, and second chroma samples of the reference area;deriving a second predicted result of second chroma samples of the current block based on the mapping relation; andderiving predicted second chroma samples of the current block based on the first predicted result and the second predicted result.The method of claim 14,wherein the bitstream comprises a first weight and a second weight;wherein the predicted second chroma samples are the sum of the first predicted result multiplied by the first weight and the second predicted result multiplied by the second weight.The method of claim 15,wherein the first weight and the second weight are preset; orthe first weight and the second weight are determined based on a first difference between the first predicted result and a reconstructed value of the second chroma samples and a second difference between the second predicted result and the reconstructed value of the second chroma samples.A decoding 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 decoding method of any of claims 1 to 5 or 14 to 16.An encoding 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 encoding method of any of claims 6 to 13.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 16.

Citation Information

Patent Citations

  • Process for Eco-friendly Acrylic monomer Epoxy Resin Modified Vinylester resins using Glycol modified Polyethyleneterephthalate

    KR102455276B1

  • Image decoding method based on CCLM prediction, and device therefor

    US20210368165A1

  • Method and apparatus for cross component linear model with multiple hypotheses intra modes in video coding system

    WO2023116706A1

  • Improved cross-component prediction for video coding

    WO2023225013A1

  • Method and apparatus for cross component prediction with blending in video coding systems

    WO2023241637A1