Encoder, decoder, and method for enhancing robustness of computation of cross-component linear model parameters

By fitting a line through multiple luma-chroma sample pairs with varying luma values, the decoder and encoder enhance the robustness of CCLM prediction, addressing the sensitivity to outliers and maintaining chroma coding efficiency.

JP2026016769APending Publication Date: 2026-02-03FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025187339
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-12-07
Filing Date
2025-11-06
Publication Date
2026-02-03

AI Technical Summary

Technical Problem

The existing component-to-component linear model (CCLM) prediction in image and video coding is sensitive to statistical outliers, leading to a loss of chroma coding efficiency due to inaccurate line fitting, especially in scenarios with extreme luma values.

Method used

A decoder and encoder that predict chroma samples using a linear function based on luma samples from neighboring blocks, fitting a line through multiple pairs of luma-chroma samples with varying luma values to reduce sensitivity to outliers, including both small and large luma value pairs.

Benefits of technology

This approach improves the robustness of CCLM prediction, reducing the loss of chroma coding efficiency and maintaining coding accuracy by using a more stable line fit through a cloud of luma-chroma sample points.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026016769000001_ABST
    Figure 2026016769000001_ABST
Patent Text Reader

Abstract

To provide an encoding device and a decoding device for improving saturation encoding efficiency.SOLUTION: The decoding device determines a first set of luma samples and a second set of luma samples neighboring the current block, the first set of luma samples having smaller luma values than the second set of luma samples; Fitting a straight line 43 having a linear function y = α x + β through a first pair of luma-chroma samples A ', A and a second pair of luma-chroma samples B, B ', the first pair of luma-chroma samples being determined based on the first set of neighboring luma samples and first corresponding chroma samples of the current block, the second pair of luma-chroma samples being determined based on the second set of neighboring luma samples and second corresponding chroma samples of the current block; Luma samples of the current block and the linear function are used to predict chroma samples of the current block.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001]

[0003] Embodiments of the present invention relate to a decoder for block-based decoding and an encoder for block-based encoding of picture data of a picture, both of which include inventive features for enhancing the robustness of the computation of component-to-component linear model parameters. Further embodiments relate to corresponding methods for block-based decoding and block-based encoding of picture data of a picture utilizing said inventive features, as well as to a computer-readable digital storage medium having stored thereon a computer program having program code for, when executed on a computer, performing at least one of said methods for block-based decoding and block-based encoding. Some embodiments may be in the field of line-fitting algorithms, in particular component-to-component linear model (CCLM) prediction. [Background technology]

[0002] Component-to-component linear model (CCLM) prediction is a coding tool that allows exploiting statistical redundancy in the coding of multiple signal channels (here, the luma / luma and chroma / chroma picture planes). Traditionally, the CCLM predictor parameters α and β are derived via a linear regression method that attempts a least-mean-square (LMS) approximation of the data points (here, luma-chroma sample value pairs) [x,y] by a line y = α · x + β, as shown in Figure 8.

[0003] For image and video coding, such an approach can be used to predict a chroma sample value y from one or more already coded luma sample values ​​x, thus achieving improved coding efficiency for many input sequences [1], [2]. Because the computational complexity of linear regression-based line fitting algorithms is very high, especially for picture coding, a simplified line fitting was recently proposed in [2] (also referred to as JVET-L0191 in the following) and subsequently adopted in the VVC draft specification [3].

[0004] According to [2], instead of determining a line from all available luma-chroma sample pairs, this proposal fits a line only between one data point A with the minimum luma value and one data point B with the maximum luma value. This reduces the number of operations (especially multiplications) required by the algorithm, leaving the search for local luma minima and maxima as the primary operation of the CCLM method. Note that the actual CCLM prediction, which uses more operations than the model calculation in medium and large CUs (because it is performed for each chroma sample in the CU), is not affected by the simplification.

[0005] According to JVET-L0191, the simplified CCLM calculation saves approximately 80 lines of source code and reduces decoding execution time by several percent in the random access and low-latency B configurations. Unfortunately, a loss of chroma coding efficiency of up to approximately 1% for UHD content (Class A) has also been reported [2]. This may be due to the simplified CCLM fitting algorithm's increased sensitivity to statistical outliers; strong fluctuations in the extreme values ​​(minimum A and maximum B) for the remaining set of luma-chroma points are likely to result in a much less accurate line fit than LMS-based CCLM. Indeed, such a scenario is illustrated in Figure 8, taken from JVET-L0191, where the solid line fits the data poorly—i.e., nearly all remaining luma-chroma pairs between A and B fall below the fitted line. Summary of the Invention [Problem to be solved by the invention]

[0006] The object of the present invention is to improve the robustness of the calculation of linear model parameters, said improved calculation being less sensitive to statistical outliers so that the loss of chroma coding efficiency is reduced. [Means for solving the problem]

[0007] According to the present invention, this object is achieved by means of a decoder according to claim 1, an encoder according to claim 8, a method for decoding according to claim 14, a method for encoding according to claim 15 and a computer-readable storage medium according to claim 16.

[0008] A first embodiment relates to a decoder for block-based decoding of picture data of a picture. The decoder is configured to decode a current block of a picture by predicting chroma samples of the current block relative to luma samples of the current block using a linear function. The linear function may be determined based on a neighborhood, e.g., adjacent blocks. Specifically, the linear function may be determined based on pairs of luma-chroma samples in the neighborhood. Such luma-chroma sample pairs may include a luma sample and a corresponding, e.g., co-located, chroma sample. More generally, the pairs may comprise at least one luma sample and a corresponding, e.g., co-located, chroma sample, which is the case for downsampled chroma representations, where only one chroma sample may be available for two (4:2:2 downsampling) or four (4:2:0 downsampling) co-located luma samples. In other words, to obtain a luma-chroma sample pair in the case of a chroma-downsampled input, an implicit intermediate luma downsampling is performed while forming the luma-chroma sample pair, so that the resulting pair, for simplicity, includes only one (implicitly downsampled) luma sample and one corresponding, e.g., co-located, (explicitly downsampled) chroma sample. See [1]. To obtain a neighboring luma-chroma sample pair, the decoder is configured to determine a first set of luma samples and a second set of luma samples of the neighboring current block. The first set of luma samples and the second set of luma samples may each include multiple luma samples, e.g., two or more luma samples. The luma samples included in the first set of luma samples include smaller luma values ​​than the luma samples included in the second set of luma samples. In other words, the first set of luma samples can include multiple small-value luma samples, and the second set of luma samples can include multiple large-value luma samples. The nearby luma sample and the corresponding chroma sample may together form a luma-chroma sample pair in the neighborhood.Because the first set of luma samples may include a plurality of small-value luma samples, a corresponding plurality of pairs of luma-chroma samples having small luma values ​​may be available, which may also be referred to as first pairs of luma-chroma samples. Similarly, because the second set of luma samples may include a plurality of high-value luma samples, a corresponding plurality of pairs of luma-chroma samples having high luma values ​​may be available, which may also be referred to as second pairs of luma-chroma samples. In other words, a plurality of first pairs of luma-chroma samples and a plurality of second pairs of luma-chroma samples may be available, where the first pairs of luma-chroma samples include luma samples having luma values ​​smaller than the luma samples included in the second pairs of luma-chroma samples. In summary, a first pair of luma-chroma samples may be determined based on a first set of neighboring luma samples and a first corresponding (e.g., co-located) chroma sample of the current block, and a second pair of luma-chroma samples may be determined based on a second set of neighboring luma samples and a second corresponding (e.g., co-located) chroma sample of the current block. In accordance with the principles of the present invention, the decoder is configured to fit a line having a linear function that passes through the first pairs of luma-chroma samples (e.g., through at least two first pairs) and through the second pairs of luma-chroma samples (e.g., at least two second pairs) according to a line fitting algorithm. The line itself does not necessarily need to touch multiple first and second pairs of luma-chroma samples. In more general terms, this may rather be understood as fitting a line through a cloud of points, where the first and second pairs of luma-chroma samples represent points within the cloud of points. Therefore, fitting a line through multiple pairs of luma-chroma samples can be understood as equivalent to calculating a linear function of said line, said calculation being based on said first and second pairs of luma-chroma samples, and the decoder is configured to use this linear function, centered in a neighborhood of the current block, for prediction of a current chroma sample in the current block relative to a current luma sample of the current block.Because the inventive concepts use two or more of the first pairs of luma-chroma samples and two or more of the second pairs of luma-chroma samples to calculate a linear function, a line fit according to the inventive principles has reduced sensitivity to statistical outliers.

[0009] A second embodiment relates to an encoder for block-based encoding of a picture into a data stream of picture data, the encoder being configured to encode a current block of the picture by determining a first set of luma samples and a second set of luma samples of neighboring neighbors of the current block, the first set of luma samples having a smaller luma value than the second set of luma samples. The encoder may be further configured to fit a line having a linear function through the first pair of luma-chroma samples and the second pair of luma-chroma samples, the first pair of luma-chroma samples being determined based on the first set of luma samples and a first corresponding chroma sample of the neighboring neighbors of the current block, and the second pair of luma-chroma samples being determined based on the second set of luma samples and a second corresponding chroma sample of the neighboring neighbors of the current block. The encoder may be further configured to predict the chroma samples of the current block using the luma samples of the current block and the linear function. To avoid repetition, please refer to the decoder description above regarding the advantages of the inventive encoder.

[0010] A third embodiment relates to a method for block-based decoding of picture data of a picture, wherein decoding a current block of the picture includes determining a first set of luma samples and a second set of luma samples of neighboring neighbors of the current block, the first set of luma samples having smaller luma values ​​than the second set of luma samples. The method further includes fitting a line having a linear function through the first pair of luma-chroma samples and the second pair of luma-chroma samples, the first pair of luma-chroma samples being determined based on the first set of luma samples and a first corresponding chroma sample of the neighboring neighbors of the current block, and the second pair of luma-chroma samples being determined based on the second set of luma samples and a second corresponding chroma sample of the neighboring neighbors of the current block. The method further includes predicting the chroma samples of the current block using the luma samples of the current block and the linear function. To avoid repetition, please refer to the decoder description above regarding the advantages of the decoding method of the present invention.

[0011] A fourth embodiment relates to a method for block-based coding of picture data of a picture, wherein the step of coding a current block of the picture includes determining a first set of luma samples and a second set of luma samples of neighboring neighbors of the current block, the first set of luma samples having smaller luma values ​​than the second set of luma samples. The method includes a further step of fitting a line having a linear function through the first pair of luma-chroma samples and the second pair of luma-chroma samples, the first pair of luma-chroma samples being determined based on the first set of luma samples and a first corresponding chroma sample of the neighboring neighbors of the current block, and the second pair of luma-chroma samples being determined based on the second set of luma samples and a second corresponding chroma sample of the neighboring neighbors of the current block. The method includes a further step of predicting the chroma samples of the current block using the luma samples of the current block and the linear function. To avoid repetition, please refer to the decoder description above regarding the advantages of the coding method of the present invention.

[0012] According to a fifth embodiment, computer programs are provided, each of the computer programs configured to implement one of the above methods when executed on a computer or signal processor such that the above methods are implemented by one of the computer programs.

[0013] In the following, embodiments of the invention will be described in more detail with reference to the following drawings: [Brief explanation of the drawings]

[0014] [Figure 1] 1 shows a schematic block diagram of an apparatus for predictively encoding pictures as an example of an encoder in which the intra prediction concept according to embodiments of the present application can be implemented; [Figure 2] 2 shows a schematic block diagram of an apparatus for predictively decoding pictures, compatible with the apparatus of FIG. 1, as an example of a decoder in which the intra prediction concept according to embodiments of the present application may be implemented; [Figure 3] 1 shows a schematic diagram illustrating an example of the relationship between a prediction residual signal, a prediction signal, and a reconstructed signal, illustrating the possibilities of setting granularity for coding mode selection, transform selection, and transform performance, respectively; [Figure 4] 1 illustrates an example of multiple first and second pairs of luma-chroma samples that can potentially be used by an encoder and / or decoder for straight line fitting, according to an embodiment. [Figure 5] 10 illustrates an example of using only two first pairs of luma-chroma samples and only two second pairs of luma-chroma samples for a straight line fit, according to one embodiment. [Figure 6] 1 shows a schematic block diagram of a method for block-based decoding according to one embodiment; [Figure 7] 1 shows a schematic block diagram of a method for block-based coding according to one embodiment; [Figure 8] [2] and shows a simplified component-to-component linear model (CCLM) prediction method using only one first pair of luma-chroma samples and only one second pair of luma-chroma samples according to the prior art. DETAILED DESCRIPTION OF THE INVENTION

[0015] One or more identical or equivalent elements having the same or equivalent function are indicated in the following description by the same or equivalent reference numerals.

[0016] Method steps illustrated by and described with reference to block diagrams may also be performed in an order different from that illustrated and / or described. Furthermore, method steps relating to particular features of a device may be interchangeable with said features of said device, and vice versa.

[0017] The following description of the figures begins with the presentation of a description of an encoder and decoder of a block-based predictive codec for encoding pictures of video to form an example of an encoding framework in which embodiments of the present invention may be incorporated. Each encoder and decoder is described with reference to Figures 1 to 3. Below, a description of embodiments of the inventive concepts is presented along with an explanation of how such concepts may be incorporated into the encoder and decoder of Figures 1 and 2, respectively, although the embodiments described subsequently in Figure 4 et seq. may also be used to form encoders and decoders that do not operate according to the encoding framework underlying the encoder and decoder of Figures 1 and 2.

[0018] FIG. 1 illustrates an apparatus for predictively encoding a picture 12 into a data stream 14, illustratively using transform-based residual coding. The apparatus, or encoder, is indicated using the reference numeral 10. FIG. 2 illustrates a corresponding decoder 20, i.e., an apparatus 20 for predictively decoding a picture 12′ from the data stream 14, also using transform-based residual decoding, with an apostrophe used to indicate that the picture 12′ reconstructed by the decoder 20 deviates from the picture 12 originally encoded by the apparatus 10 in terms of coding loss introduced by quantization of the prediction residual signal. While FIGS. 1 and 2 illustratively use transform-based predictive residual coding, embodiments of the present application are not limited to this type of predictive residual coding. This also applies to other details described with respect to FIGS. 1 and 2, as outlined below.

[0019] The encoder 10 is configured to subject the prediction residual signal to a space-to-spectral transformation and to encode the resulting prediction residual signal into a data stream 14. Similarly, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and to subject the resulting prediction residual signal to a space-to-spectrum transformation.

[0020] Internally, the encoder 10 may include a prediction residual signal former 22 that generates a prediction residual 24 so as to measure the deviation of a prediction signal 26 from the original signal, i.e., picture 12. The prediction residual signal former 22 may, for example, be a subtractor that subtracts the prediction signal from the original signal, i.e., picture 12. The encoder 10 then further includes a transformer 28 that subjects the prediction residual signal 24 to a spatial-spectral transformation to obtain a spectral-domain prediction residual signal 24′, which is subsequently subjected to quantization by a quantizer 32, also included in the encoder 10. The thus quantized prediction residual signal 24″ is coded into the bitstream 14. For this purpose, the encoder 10 may optionally include an entropy coder 34 that entropy codes the transformed and quantized prediction residual signal into the data stream 14. The prediction signal 26 is generated by a prediction stage 36 of the encoder 10 based on the prediction residual signal 24″, which is coded into the data stream 14 and decodable therefrom. For this purpose, the prediction stage 36 may internally include, as shown in FIG. 1 , an inverse quantizer 38 that inversely quantizes the prediction residual signal 24″ to obtain a spectral-domain prediction residual signal 24′″ that corresponds to the signal 24′ except for quantization losses, and an inverse transformer 40 that subsequently subjects the latter prediction residual signal 24′″ to an inverse transformation, i.e., a spectral-spatial transformation, to obtain a prediction residual signal 24′″ that corresponds to the original prediction residual signal 24 except for quantization losses. A combiner 42 of the prediction stage 36 then recombines, for example by addition, the prediction signal 26 and the prediction residual signal 24′″ to obtain a reconstructed signal 46, i.e., a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to the signal 12′. A prediction module 44 of the prediction stage 36 then generates the prediction signal 26 based on the signal 46, for example by employing spatial prediction, i.e., intra-picture prediction, and / or temporal prediction, i.e., inter-picture prediction.

[0021] Similarly, as shown in Figure 2, decoder 20 may be internally configured with components that correspond to and are interconnected to predict stage 36. Specifically, entropy decoder 50 of decoder 20 may entropy decode quantized spectral domain prediction residual signal 24" from the data stream, whereby inverse quantizer 52, inverse transformer 54, combiner 56, and prediction module 58, interconnected and cooperating in the manner described above for modules of prediction stage 36, recover a reconstructed signal based on prediction residual signal 24" such that the output of combiner 56 provides the reconstructed signal, i.e., picture 12', as shown in Figure 2.

[0022] Although not specifically described above, it is readily apparent that the encoder 10 may set some encoding parameters, including, for example, prediction mode, motion parameters, etc., according to some optimization scheme, e.g., in a manner that optimizes some rate- and distortion-related criterion, i.e., encoding cost. For example, the encoder 10 and decoder 20 and corresponding modules 44, 58 may each support different prediction modes, such as intra-coding and inter-coding modes. The granularity at which the encoder and decoder switch between these prediction mode types may correspond to the subdivision of the pictures 12 and 12′ into coding segments or coding blocks, respectively. In units of these coding segments, for example, a picture may be subdivided into intra-coded and inter-coded blocks. The intra-coded blocks are predicted based on their spatially already coded / decoded neighbors, as outlined in more detail below. Several intra-coding modes may exist, including directional or angular intra-coding modes, which may be selected for each intra-coded segment, according to which each segment is filled by extrapolating neighboring sample values ​​to the respective intra-coded segment along a specific direction specific to the respective directional intra-coding mode. The intra-coding modes may comprise one or more further modes, such as, for example, a DC coding mode according to which prediction of each intra-coded block assigns a DC value to all samples in the respective intra-coded segment, and / or a planar intra-coding mode according to which prediction of each block is determined based on neighboring samples to approximate or be a spatial distribution of sample values ​​described by a two-dimensional linear function over the sample positions of the respective intra-coded block with a driving slope and offset of the plane defined by the two-dimensional linear function. In contrast, inter-coded blocks may be predicted, for example, temporally.For inter-coded blocks, motion vectors may be signaled in the data stream, indicating the spatial displacement of portions of previously coded pictures of the video to which picture 12 belongs, where the previously coded / decoded pictures are sampled to obtain a prediction signal for each inter-coded block. This means that in addition to the residual signal coding included in data stream 14, such as entropy-coded transform coefficient levels representing the quantized spectral-domain prediction residual signal 24″, data stream 14 may also encode optional further parameters, such as coding mode parameters for assigning coding modes to various blocks, prediction parameters for some of the blocks, such as motion parameters for inter-coded segments, and parameters for controlling and signaling the respective subdivision of pictures 12 and 12′ into segments. Decoder 20 uses these parameters to subdivide the picture in the same way as the encoder did, assign the same prediction modes to the segments, and perform the same prediction, resulting in the same prediction signal.

[0023] 3 illustrates the relationship between the reconstruction signal, i.e., the reconstructed picture 12′, on the one hand, and the combination of the prediction residual signal 24″″ and the prediction signal 26 signaled in the data stream 14, on the other hand. As already mentioned above, the combination may be additive. The prediction signal 26 is illustrated in FIG. 3 as a subdivision of the picture region into intra-coded blocks, exemplarily shown using hatching, and inter-coded blocks, exemplarily shown without hatching. The subdivision may be either a regular subdivision of the picture region into rows and columns of square or non-square blocks, or a multi-tree subdivision of the picture 12 from a tree root block into multiple leaf blocks of various sizes, such as quad-tree subdivision, a mixture of which is illustrated in FIG. 3, in which the picture region is first subdivided into rows and columns of tree root blocks, and then further subdivided into one or more leaf blocks according to a recursive multi-tree subdivision.

[0024] Again, data stream 14 may have an intra-coding mode coded for intra-coded blocks 80, which assigns one of several supported intra-coding modes to each intra-coded block 80. For inter-coded blocks 82, data stream 14 may have one or more motion parameters coded. Generally speaking, inter-coded blocks 82 are not limited to being temporally coded. Alternatively, inter-coded blocks 82 may be any blocks predicted from previously coded portions beyond current picture 12 itself, such as a previously coded picture of the video to which picture 12 belongs, or, if the encoder and decoder are scalable encoder and decoder, respectively, a picture of another view or hierarchically lower layer.

[0025] The prediction residual signal 24"" in FIG. 3 is also shown as a subdivision of the picture region into blocks 84. These blocks may be called transform blocks to distinguish them from the coding blocks 80 and 82. In fact, FIG. 3 shows that the encoder 10 and the decoder 20 may use two different subdivisions of the picture 12 and the picture 12' into their respective blocks: on the one hand, a subdivision into coding blocks 80 and 82, respectively, and on the other hand, a subdivision into transform blocks 84. While both subdivisions may be the same, i.e., each coding block 80 and 82 may simultaneously form a transform block 84, FIG. 3 shows the case where the subdivision into transform blocks 84 forms an extension of the subdivision into coding blocks 80, 82, for example, such that neither boundary between the two blocks 80 and 82 overlaps with the boundary between the two blocks 84; in other words, each block 80, 82 coincides with one of the transform blocks 84 or with a cluster of transform blocks 84. However, the subdivisions may also be determined or selected independently of one another, such that the transform blocks 84 may cross block boundaries between blocks 80, 82. Thus, as far as the subdivision into transform blocks 84 is concerned, similar statements are true as those presented with regard to the subdivision into blocks 80, 82, i.e., the blocks 84 may be the result of a regular subdivision of the picture region into blocks (with or without arrangement into rows and columns), a recursive multi-tree subdivision of the picture region, or a combination of these, or any other type of blocking. As a mere aside, it should be noted that the blocks 80, 82, and 84 are not limited to being quadratic, rectangular, or any other shape.

[0026] 3 further illustrates that the combination of the prediction signal 26 and the prediction residual signal 24"" directly results in the reconstructed signal 12'. However, it should be noted that, according to alternative embodiments, more than one prediction signal 26 may be combined with the prediction residual signal 24"" to result in the picture 12'.

[0027] 3, the transform blocks 84 are assumed to have the following significance: the transformer 28 and the inverse transformer 54 perform their transforms on these transform blocks 84 as a unit. For example, many codecs use some kind of DST or DCT for all transform blocks 84. Some codecs allow the transform to be skipped for some of the transform blocks 84, so that the prediction residual signal is directly coded in the spatial domain. However, according to embodiments described below, the encoder 10 and the decoder 20 are configured to support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include: DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform. o DST-IV, where DST stands for Discrete Sine Transform. DCT-IV ○ DST-VII Identity Transformation (IT) Of course, the transformer 28 supports all of the forward transform versions of these transforms, while the decoder 20 or inverse transformer 54 supports the corresponding backward or inverse versions of these. Inverse DCT-II (or Inverse DCT-III) ○ Reverse DST-IV ○ Inverse DCT-IV ○ Reverse DST-VII Identity Transformation (IT)

[0028] The following description provides further details about which transforms may be supported by the encoder 10 and decoder 20. It should be noted that in any case, the set of supported transforms may include only one transform, such as one spectral-spatial transform or a spatial-spectral transform.

[0029] As already outlined above, Figures 1 through 3 are presented as examples in which the inventive concepts described further below may be implemented to form specific examples of encoders and decoders according to the present application. To that extent, the encoders and decoders of Figures 1 and 2, respectively, may represent possible implementations of the encoders and decoders described later in this specification. However, Figures 1 and 2 are merely examples. However, an encoder according to an embodiment of the present application may use concepts outlined in more detail below to perform block-based encoding of picture 12 that differs from the encoder of Figure 1, for example, in being a still picture encoder rather than a video encoder, or in that the subdivision into blocks 80 is performed in a different manner than illustrated in Figure 3. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of picture 12′ from data stream 14 using the coding concepts further outlined below, but may differ from decoder 20 of FIG. 2, for example, in being a still picture coder rather than a video decoder, in not supporting intra-prediction or in subdividing picture 12′ into blocks in a manner different from that described with respect to FIG. 3, and / or in deriving prediction residuals from data stream 14 in the spatial domain rather than the transform domain, for example.

[0030] In the following, several examples and embodiments are discussed to exemplarily explain how embodiments of the encoder 10 for block-based encoding and the decoder 20 for block-based decoding utilize the inventive principles described herein. Specifically, a method is described for predicting, in a current block, chroma sample values ​​from already encoded luma sample value(s) using the inventive principles, i.e., using a linear function obtainable by luma-chroma samples of neighboring blocks. An example of the decoder 20 will be described below, which is also valid for the corresponding example of the encoder 10.

[0031] 4 shows a scatter plot of the accumulation of luma-chroma sample pairs collected in the neighborhood of the current block, which may be neighboring blocks in the immediate vicinity of the current block or neighboring blocks in a more distant vicinity of the current block, i.e., with one or more intervening blocks.

[0032] First, we will describe how the encoder 10 and / or decoder 20 may obtain the above-mentioned pairs of luma-chroma samples. To this end, the encoder 10 and / or decoder 20 may be configured to determine a first set of neighboring luma samples of the current block and to determine a second set of neighboring luma samples. The first set may include a plurality of luma samples, e.g., at least two luma samples, having different luma values. The second set may also include a plurality of luma samples, e.g., at least two luma samples, having different luma values. However, the luma samples included in the first set may be distinguished from the luma samples included in the second set by their respective luma values. Specifically, the luma samples included in the first set may have smaller luma values ​​than the luma samples included in the second set.

[0033] One or more chroma samples may be linked with the first or second set of luma samples, respectively. Thus, a respective number of luma-chroma sample pairs may be obtainable by the encoder 10 and / or the decoder 20 by linking the luma samples with the corresponding chroma samples. These luma-chroma sample pairs may then be sorted based on their respective luma values.

[0034] For example, a luma-chroma sample pair that includes luma samples from a first set of luma samples (i.e., those with smaller luma values) may be classified as a first pair of luma-chroma samples. Similarly, a luma-chroma sample pair that includes luma samples from a second set of luma samples (i.e., those with larger luma values) may be classified as a second pair of luma-chroma samples.

[0035] 4 illustrates multiple first pairs of luma-chroma samples symbolically surrounded by an approximate ellipse 41, and multiple second pairs of luma-chroma samples symbolically surrounded by an approximate ellipse 42. In this non-limiting example, three first pairs of luma-chroma samples A, A', A'' and three second pairs of luma-chroma samples B, B', B'' may be determined by encoder 10 and / or decoder 20 for a subsequent line fitting step.

[0036] Again, the luma value of the first pair of luma-chroma samples A, A', A'' is smaller than the luma value of the second pair of luma-chroma samples B, B', B''. This can be seen in the illustrated scatter plot, as the x-axis represents the luma value of each of the luma-chroma sample pairs and the y-axis represents the corresponding chroma value of each of the luma-chroma sample pairs. Thus, each pair of luma-chroma samples A, A', A'' and B, B', B'' includes a luma sample value and a corresponding chroma sample value.

[0037] The encoder 10 and / or decoder 20 may be further configured to fit a straight line 43 through the scatter plot shown in Figure 4. Essentially, the illustrated scatter plot can be compared to a point cloud, where each of the first and second pairs of luma-chroma samples A, A', A'', B, B', B'' may correspond to a point in the point cloud.

[0038] The encoder 10 and / or decoder 20 may fit the line 43 through the exemplary three selected first pairs A, A', A'' of luma-chroma samples and through the exemplary three selected second pairs B, B', B'' of luma-chroma samples. For example, the encoder 10 and / or decoder 20 may use the three first pairs A, A', A'' of luma-chroma samples and the three second pairs B, B', B'' of luma-chroma samples as the computation basis for a line fitting algorithm to fit the line 43 through the point cloud.

[0039] As can be seen from the figure, line 43 does not necessarily need to contact or extend through one or more of the first and / or second pairs of luma-chroma samples A, A', A'', B, B', B''. Instead, fitting line 43 through first and / or second pairs of luma-chroma samples A, A', A'', B, B', B'' should be understood in the sense that the fitting algorithm itself is based on a selected number of first and / or second pairs of luma-chroma samples A, A', A'', B, B', B'' that result in a linear function of line 43 as shown.

[0040] The line 43 shown in Figure 4 should be understood as a highly schematic construct for visualizing the line fitting algorithm discussed. One important piece of information that can be derived from the line fit is the linear function of line 43. The linear function may be given by the following command: y=α·x+β Here, α is a first inter-component linear model parameter representing the gradient of the straight line 43 , and β is a second inter-component linear model parameter representing the offset of the straight line 43 .

[0041] According to the present invention, the encoder 10 and / or decoder 20 are configured to predict, for a current luma sample x of a current block, a corresponding chroma sample y of the current block by a linear function determined from a neighborhood of said current block, as explained above.

[0042] According to one embodiment, decoder 20 may be configured to reconstruct luma samples of the current block by intra-prediction and / or inter-prediction. According to yet a further embodiment, decoder 20 may be configured to decode luma sample residuals of the current block from data stream 14, reconstruct luma samples of the current block by intra-prediction and / or inter-prediction to obtain predicted luma samples, and correct the predicted luma samples using the luma sample residuals.

[0043] Therefore, one embodiment provides a respective encoder 10 configured to encode luma sample residuals of the current block into a data stream 14 such that the luma samples of the current block can be reconstructed by intra prediction and / or inter prediction to obtain predicted luma samples, which can be corrected using the luma sample residuals.

[0044] In the above example, three first pairs of luma-chroma samples A, A', A'' and three second pairs of luma-chroma samples B, B', B'' were exemplarily used as the basis of a fitting algorithm for fitting a line 43 passing through at least these three first and second pairs of luma-chroma samples A, A', A'', B, B', B''. However, in accordance with the principles of the present invention, more than the exemplarily described three first and second pairs of luma-chroma samples A, A', A'', B, B', B'' may be used. Additionally or alternatively, in accordance with the principles of the present invention, only two first and second pairs of luma-chroma samples A, A', B, B' may be used. However, at least two first pairs of luma-chroma samples A, A' and at least two second pairs of luma-chroma samples B, B' should be used in accordance with the principles of the present invention.

[0045] This is an important differentiating feature over JVET-L0191, in which only one first pair of luma-chroma samples A and only one second pair of luma-chroma samples B are used.

[0046] For example, the encoder 10 and / or decoder 20 may be configured to select the two or more first luma-chroma samples A, A', A'' having the smallest luma values. Thus, the encoder 10 and / or decoder 20 may be configured to determine the first set of luma samples by finding the n>1 smallest luma values ​​in a neighborhood of the current block. These n>1 first pairs A, A', A'' of luma-chroma samples having the smallest luma values, along with the corresponding chroma values, may be selected by the encoder 10 and / or decoder 20 from the plurality 41 first pairs of luma-chroma samples.

[0047] Additionally or alternatively, the encoder 10 and / or decoder 20 may be configured to select these two or more second luma-chroma samples B, B', B'' having the largest luma values. Thus, the encoder 10 and / or decoder 20 may be configured to determine the second set of luma samples by finding the n>1 largest luma values ​​in a neighborhood of the current block. These n>1 second pairs B, B', B'' of luma-chroma samples having the smallest luma values, along with the corresponding chroma values, may be selected by the encoder 10 and / or decoder 20 from the plurality 42 second pairs of luma-chroma samples.

[0048] As mentioned above, at least two, and according to some exemplary embodiments exactly two, first pairs A, A' of luma-chroma samples having the smallest luma values ​​may be selected from the first pair of the plurality of luma-chroma samples 41. Furthermore, at least two, and according to some exemplary embodiments exactly two, second pairs B, B' of luma-chroma samples having the largest luma values ​​may be selected from the second pair of the plurality of luma-chroma samples 42.

[0049] According to such an embodiment, the encoder 10 and / or the decoder 20 may be configured to determine a first set of luma samples by finding the n=2 smallest luma values ​​in the neighborhood of the current block and / or to determine a second set of luma samples by finding the n=2 largest luma values ​​in the neighborhood of the current block. By linking corresponding chroma values, the encoder 10 and / or the decoder 20 may obtain n=2 first pairs A, A′ of luma-chroma samples with the smallest luma values ​​and n=2 second pairs B, B′ of luma-chroma samples with the largest luma values.

[0050] A corresponding example will now be discussed with reference to Figure 5, which shows a point cloud similar to that discussed above with reference to Figure 4. Differences from Figure 4 will therefore be noted.

[0051] In the example shown in FIG. 5, the two first pairs A, A' of luma-chroma samples with the smallest luma values ​​and the two second pairs B, B' of luma-chroma samples with the largest luma values ​​are selected by the encoder 10 and / or decoder 20 to fit a straight line 43 passing through the first and second pairs A, A', B, B' of luma-chroma samples.

[0052] As can be seen, a first hypothetical line 51 may be fitted using a first pair A of luma-chroma samples having the smallest luma value and a second pair B of luma-chroma samples having the largest luma value. A second hypothetical line 52 may be fitted using a first pair A' of luma-chroma samples having the second smallest luma value and a second pair B' of luma-chroma samples having the second largest luma value.

[0053] The average 53 of the two first pairs A, A' of luma-chroma samples having the smallest and second smallest luma values ​​and the average 54 of the two second pairs B, B' of luma-chroma samples having the largest and second largest luma values ​​may be determined to fit a line 43 through the first and second pairs A, A', B, B' of luma-chroma samples, i.e., to derive the linear function y=α·x+β.

[0054] Therefore, according to one embodiment, the encoder 10 and / or decoder 20 may be configured to fit the line 43 such that said line 43 extends through the average 53 of a first pair of luma-chroma samples A, A' and the average 54 of a second pair of luma-chroma samples B, B' in order to derive a linear function of said line 43.

[0055] In other words, it is proposed to search not only for the minimum luma value A and the maximum luma value B (as is done in JVET-L0191), but also for the second smallest luma value A' and the second largest luma value B', as shown in Figure 5. A line 43 can then be fitted between the average 53 of the data points at A and A' and the average 54 of the data points at B and B', resulting in the line of Figure 5 which generally leads to a better data fit compared to the prior art. Two variants of averaging, A, A' and B, B', with different complexity, can be specified. 1. Exact integer averaging: (A+A'+1)>>1, (B+B'+1)>>1, where '>>' is a bitwise right shift, 2. Inexact integer averaging: (A+A')>>1, (B+B')>>1, omitting four "+1"s for exact transformations. Both variants represent fixed-point integer realizations of the arithmetic mean; other forms of averaging, such as the geometric mean, are possible but will not be considered here.

[0056] 5, the line 43 is much better fitted within the point cloud, i.e., to the multiple first and second pairs of luma-chroma samples, than in the previous proposal, which is represented only by the upper first provisional line 51. It can be seen that although the encoder 10 and / or decoder 20 may encode / decode the luma sample residuals, the prediction residual 55 predicted from the upper first provisional line 51 according to the previous proposal may be significantly larger than the prediction residual 56 predicted from the line 43 fitted according to the inventive concept. Thus, the inventive concept described herein can significantly counteract the inaccuracy of the CCLM of the previous concept.

[0057] Table 1 summarizes the algorithmic operations consumed by the modified CCLM calculation described herein compared to the previously adopted CCLM version. It can be seen that the number of comparisons doubles due to the search for two or more extreme luma values ​​A', B'. Note that the number of operations required by either of the two proposed variants is much less than that of the initial CCLM adopted in VTM2 [1].

[0058] To verify that the proposed changes result in significant gains in coding efficiency without increasing codec runtime, we measured the Bjontegaard delta (BD) PSNR gain for the SDR Category Common Test Conditions (CTC) set of sequences [5][6]. The default configuration of VTM software version 3 was used [4]. [Table 1]

[0059] Table 2 lists the BD-PSNR results for the above averaging variant 1 (exact integer averaging), and Table 3 contains the BD-PSNR values ​​for averaging variant 2 (inexact integer averaging). Both variants yield very similar overall BD-PSNR performance. Reaching consistent BD-PSNR gains on both chroma channels, No significant increase in execution time is observed with any of the variants. This shows that both proposals described herein successfully increase the saturation coding efficiency by approximately 0.4%, with only a small impact on the algorithmic complexity of the CCLM predictor, if required. [Table 2]

[0060] [Table 3]

[0061] In summary, two variants of modifications to the simplified component-to-component linear model (CCLM) predictor described in L0191 are described herein. The proposed low-complexity modifications stabilize the linear fitting algorithm in CCLM, thus producing a BD-PSNR gain of 0.3-0.4% within the chroma channels. At the same time, the algorithmic complexity of the CCLM calculation remains only half (or even less for larger CUs) of that of the CCLM design previously adopted in VTM2 [1].

[0062] Specifically, JVET-L0191 describes a simplified parameter calculation for the component-to-component linear model (CCLM) predictor in the Versatile Video Coding (VVC) standard. According to this simplification, the CCLM parameters α and β can be derived by a linear fit between maximum and minimum luma-chroma pairs of sample values, as opposed to the more complex linear regression from multiple luma and chroma samples previously used. As a result, the algorithmic complexity of the CCLM tool is reduced without significant loss of coding efficiency.

[0063] The present invention provides evidence that the simplified line fit between two extreme sample values ​​is highly susceptible to statistical outliers and proposes several modifications to the CCLM method, for example, as follows: 1. Using exact averaging, fit a line 43 between the average 54 of the two largest luma samples B, B' and the average 53 of the two smallest luma samples A, A' (instead of only the maximum and minimum values); 2. Using inexact averaging that omits some additions (no offset of 1 before division), fit a line 43 between the average 54 of the two largest luma samples B, B' and the average 53 of the two smallest luma samples A, A'.

[0064] Variant 2 may yield the same BD-PSNR gain as Variant 1, but requires four fewer additions per CCLM-coded CU.

[0065] However, both modifications have a negligible impact on the complexity of the VTM encoder and decoder (encoder execution time 100%, decoder execution time 99-101%), and reportedly provide coding efficiency gains of approximately 0.3-0.4% in each of the chroma channels (Cb and Cr BD-PSNR gains for both full intra-access and random-access).

[0066] FIG. 6 shows a schematic block diagram of an embodiment of a method for block-based decoding of picture data of a picture, where decoding a current block of a picture includes at least the following steps:

[0067] In block 601, a first set of luma samples and a second set of luma samples in the neighborhood of a current block are determined, where the first set of luma samples has a smaller luma value than the second set of luma samples.

[0068] In block 602, a line 43 having a linear function is fitted through a first pair of luma-chroma samples A, A' and a second pair of luma-chroma samples B, B', where the first pair of luma-chroma samples A, A' is determined based on a first set of luma samples and a first corresponding chroma sample of the neighboring current block, and the second pair of luma-chroma samples B, B' is determined based on a second set of luma samples and a second corresponding chroma sample of the neighboring current block.

[0069] In block 603, the chroma samples of the current block are predicted using the linear function determined from the luma samples of the current block and the neighborhood of the current block, as described above.

[0070] FIG. 7 shows a schematic block diagram of an embodiment of a method for block-based coding of picture data of a picture, where the step of coding a current block of a picture includes at least the following steps:

[0071] In block 701, a first set of luma samples and a second set of luma samples in the neighborhood of a current block are determined, where the first set of luma samples has a smaller luma value than the second set of luma samples.

[0072] In block 702, a line 43 having a linear function is fitted through a first pair of luma-chroma samples A, A' and a second pair of luma-chroma samples B, B', where the first pair of luma-chroma samples A, A' is determined based on a first set of luma samples and a first corresponding chroma sample of the neighboring current block, and the second pair of luma-chroma samples B, B' is determined based on a second set of luma samples and a second corresponding chroma sample of the neighboring current block.

[0073] In block 703, the chroma samples of the current block are predicted using the luma samples of the current block and the linear function determined from the current block's neighborhood, as described above.

[0074] As discussed, both the decoder 20 and the encoder 10 may determine a first set of luma samples and a second set of luma samples in the neighborhood of the current block 80, 82, 84. The neighborhood may be row(s) or column(s) of luma samples immediately adjacent to the current block, preferably an upper neighboring sample or a left neighboring column of samples (in image or video compression). However, not all available neighboring luma samples need to be considered when determining the first set of luma samples and the second set of luma samples. In other words, it may be sufficient to form a subset of all available neighboring luma samples for this purpose. Specifically, the present invention remains applicable when only four neighboring luma samples are considered, in which case the first set of luma samples may include n=2 smaller luma values ​​out of four considered values, and the second set of luma samples may consequently include n=2 larger luma values ​​out of four considered values.

[0075] Although the selection of these four neighboring luma samples in the vicinity of the current block may be arbitrary, preferably, the four neighboring luma samples may be selected equidistant (or approximately equidistant) along the spatial top and / or left boundary of the current block. Also, the selection of the four neighboring luma samples for determining the first set of luma samples and the second set of luma samples may be adapted according to the presence of an adjacent row above the sample and / or an adjacent column to the left of the sample. More specifically, if an upper vertical neighbor is unavailable (e.g., at the top picture boundary), all four neighboring luma samples may be selected from the left adjacent column of luma samples, while if a left horizontal neighbor is unavailable (e.g., at the left picture boundary), all four neighboring luma samples may be selected from the upper adjacent row of luma samples. However, if both upper and left neighbors are available (as in the default case, e.g., at the center of the picture to be compressed), two luma samples may be selected from the upper adjacent sample row, and two more luma samples may be selected from the left adjacent sample column. Finally, it should be noted that if the picture is stored in a downsampled chroma format (e.g., 4:2:0), the neighboring luma samples may also be downsampled according to said chroma format before the selection of the (e.g., four) neighboring luma samples from which the first and second sets of luma samples are determined.

[0076] It should be noted that the neighbors of the current block typically represent previously decoded and reconstructed parts of the current picture, e.g., blocks (spatial neighbors) or another previously decoded and reconstructed picture (temporal neighbors). However, it is clear that on the encoder side, instead of previously decoded and reconstructed picture regions, original input picture regions can also be used as the source of the neighbors of the current block. It is also readily apparent to those skilled in the art that the method of the present invention is equally applicable to any inter-component prediction, e.g., prediction of green or blue from the red component of RGB color coding.

[0077] It should also be noted that the sets of first / second pairs of luma-chroma samples may overlap (at least partially). This is especially the case if the coded reconstructed luma neighborhood of the current block consists of samples that all have the same value. Then, both the first and second pairs of luma-chroma samples may hold the same value. However, during "normal" operation on "natural" image content, this is rarely the case.

[0078] Although some aspects have been described in the context of an apparatus, it will be apparent that these aspects also represent a description of a corresponding method, where a block or device corresponds to a method step or feature of a method step. Similarly, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus.

[0079] Some or all of the method steps may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, a programmable computer, or electronic circuitry. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

[0080] Depending on specific implementation requirements, embodiments of the present invention can be implemented in hardware or in software, or at least partially in hardware or at least partially in software. Implementation can be performed using a digital storage medium, such as a floppy disk, DVD, Blu-Ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory, that stores electronically readable control signals, which cooperate (or are capable of cooperating) with a programmable computer system to perform the respective methods. Thus, the digital storage medium can be computer-readable.

[0081] Some embodiments according to the present invention include a data carrier having electronically readable control signals capable of cooperating with a programmable computer system to perform one of the methods described herein.

[0082] In general, embodiments of the present invention can be implemented as a computer program product having program code that operates to perform one of the methods when the computer program product is run on a computer. The program code can for example be stored on a machine-readable carrier.

[0083] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

[0084] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0085] A further embodiment of the inventive method is therefore a data carrier (or digital storage medium, or computer-readable medium) having recorded thereon a computer program for performing one of the methods described herein. The data carrier, digital storage medium, or recording medium is typically tangible and / or non-transitory.

[0086] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein, The data stream or sequence of signals may for example be adapted to be transferred via a data communication connection, for example via the Internet.

[0087] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

[0088] A further embodiment comprises a computer having installed thereon the computer program for performing one of the methods described herein.

[0089] Further embodiments according to the invention include an apparatus or system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, etc. The apparatus or system may, for example, include a file server for transferring the computer program to the receiver.

[0090] In some embodiments, a programmable logic device (e.g., a field programmable gate array) may be used to perform some or all of the functions of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.

[0091] The apparatus described herein may be implemented using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0092] The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.

[0093] While the present disclosure has been described with reference to exemplary embodiments, this description is not intended to be construed in a limiting sense. Various modifications and combinations of the exemplary embodiments, as well as other embodiments of the present disclosure, will be apparent to those skilled in the art upon reference to the description. It is therefore intended that the appended claims cover any and all such modifications or embodiments.

Claims

1. 1. A decoder for decoding a picture, the decoder comprising: selecting, in a neighborhood of a current block of the picture, a first set of luma-chroma samples including at least two luma-chroma samples corresponding to a minimum luma value and a second set of luma-chroma samples including at least two luma-chroma samples corresponding to a maximum luma value and a second set of luma-chroma samples, wherein at least one luma-chroma sample of the first set of luma-chroma samples and at least one luma-chroma sample of the second set of luma-chroma samples are adjacent to the current block and equidistant along a boundary of the current block; generating a first average score based on the first set of luma-chroma samples and a second average score based on the second set of luma-chroma samples; generating a linear function based on the first average score and the second average score; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; a decoder configured to:

2. identifying the luma-chroma samples based on a position of a chroma sample and a position of a corresponding luma sample; 2. A decoder according to claim 1, configured to:

3. Prior to the prediction of the chroma samples of the current block, the decoder: reconstructing luma samples of the current block by intra prediction or inter prediction; 2. A decoder according to claim 1, configured to:

4. Prior to the prediction of the chroma samples of the current block, the decoder: decoding luma sample residuals of the current block from a data stream; predicting luma samples of the current block; and correcting the predicted luma samples using the luma sample residuals; and 2. A decoder according to claim 1, configured to:

5. The decoder of claim 1 , wherein the first average score and the second average score are calculated using integer arithmetic.

6. 6. The decoder of claim 5, wherein the integer operations are performed by either exact integer averaging or simplified integer averaging.

7. the linear function is given by the equation y=αx+β, where α is a first inter-component linear model parameter representing the slope of the line, and β is a second inter-component linear model parameter representing the offset of the line; To predict the chroma samples of the current block, the decoder further comprises: For one or more luma samples x of the current block, predicting at least one corresponding chroma sample y of the current block using the linear function; 2. A decoder according to claim 1, configured to:

8. 1. A method for decoding a picture, the method comprising: selecting, in a neighborhood of a current block of the picture, a first set of luma-chroma samples including at least two luma-chroma samples corresponding to a minimum luma value and a second set of luma-chroma samples including at least two luma-chroma samples corresponding to a maximum luma value and a second set of luma-chroma samples, wherein at least one luma-chroma sample of the first set of luma-chroma samples and at least one luma-chroma sample of the second set of luma-chroma samples are adjacent to the current block and equidistant along a boundary of the current block; generating a first average score based on the first set of luma-chroma samples and a second average score based on the second set of luma-chroma samples; generating a linear function based on the first average score and the second average score; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; A method comprising:

9. identifying the luma-chroma samples based on a position of a chroma sample and a position of a corresponding luma sample; The method of claim 8 further comprising:

10. Prior to predicting the chroma samples of the current block, the method comprises: reconstructing luma samples of the current block by intra prediction or inter prediction; The method of claim 8, comprising:

11. Prior to predicting the chroma samples of the current block, the method comprises: decoding luma sample residuals of the current block from a data stream; predicting luma samples of the current block; and correcting the predicted luma samples using the luma sample residuals; and The method of claim 8, comprising:

12. The method of claim 8 , wherein the first average score and the second average score are calculated using integer arithmetic.

13. The method of claim 12 , wherein the integer arithmetic is performed by either exact integer averaging or simplified integer averaging.

14. the linear function is given by the equation y=αx+β, where α is a first inter-component linear model parameter representing the slope of the line, and β is a second inter-component linear model parameter representing the offset of the line; 9. The method of claim 8, wherein predicting the chroma samples of the current block further comprises: for one or more luma samples x of the current block, predicting at least one corresponding chroma sample y of the current block using the linear function.

15. A non-transitory computer readable medium having stored thereon instructions that, when executed, perform the method of claim 8.

16. 1. An encoder for encoding a picture, said encoder comprising: selecting, in a neighborhood of a current block of the picture, a first set of luma-chroma samples including at least two luma-chroma samples corresponding to a minimum luma value and a second set of luma-chroma samples including at least two luma-chroma samples corresponding to a maximum luma value and a second set of luma-chroma samples, wherein at least one luma-chroma sample of the first set of luma-chroma samples and at least one luma-chroma sample of the second set of luma-chroma samples are adjacent to the current block and equidistant along a boundary of the current block; generating a first average score based on the first set of luma-chroma samples and a second average score based on the second set of luma-chroma samples; generating a linear function based on the first average score and the second average score; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; an encoder configured to:

17. identifying the luma-chroma samples based on a position of a chroma sample and a position of a corresponding luma sample; 17. The encoder of claim 16, configured to:

18. Prior to the prediction of the chroma samples of the current block, the encoder reconstructing luma samples of the current block by intra prediction or inter prediction; 17. The encoder of claim 16, configured to:

19. Prior to the prediction of the chroma samples of the current block, the encoder decoding luma sample residuals of the current block from a data stream; predicting luma samples of the current block; and correcting the predicted luma samples using the luma sample residuals; and 17. The encoder of claim 16, configured to:

20. The encoder of claim 16 , wherein the first average score and the second average score are calculated using integer arithmetic.

21. the linear function is given by the equation y=αx+β, where α is a first inter-component linear model parameter representing the slope of the line, and β is a second inter-component linear model parameter representing the offset of the line; To predict the chroma samples of the current block, the encoder further comprises:

17. The encoder of claim 16, configured to: for one or more luma samples x of the current block, predict at least one corresponding chroma sample y of the current block using the linear function.

22. 1. A method for coding a picture, said method comprising: selecting, in a neighborhood of a current block of the picture, a first set of luma-chroma samples including at least two luma-chroma samples corresponding to a minimum luma value and a second set of luma-chroma samples including at least two luma-chroma samples corresponding to a maximum luma value and a second set of luma-chroma samples, wherein at least one luma-chroma sample of the first set of luma-chroma samples and at least one luma-chroma sample of the second set of luma-chroma samples are adjacent to the current block and equidistant along a boundary of the current block; generating a first average score based on the first set of luma-chroma samples and a second average score based on the second set of luma-chroma samples; generating a linear function based on the first average score and the second average score; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; A method comprising:

23. identifying the luma-chroma samples based on a position of a chroma sample and a position of a corresponding luma sample; 23. The method of claim 22, further comprising:

24. Prior to predicting the chroma samples of the current block, the method comprises: reconstructing luma samples of the current block by intra prediction or inter prediction; 23. The method of claim 22, comprising:

25. Prior to predicting the chroma samples of the current block, the method comprises: decoding luma sample residuals of the current block from a data stream; predicting luma samples of the current block; and correcting the predicted luma samples using the luma sample residuals; and 23. The method of claim 22, comprising:

26. 23. The method of claim 22, wherein the first average score and the second average score are calculated using integer arithmetic.

27. the linear function is given by the equation y=αx+β, where α is a first inter-component linear model parameter representing the slope of the line, and β is a second inter-component linear model parameter representing the offset of the line; 23. The method of claim 22, wherein predicting the chroma samples of the current block further comprises: for one or more luma samples x of the current block, predicting at least one corresponding chroma sample y of the current block using the linear function.

28. 23. A non-transitory computer readable medium having stored thereon instructions that, when executed, perform the method of claim 22.

Citation Information

Patent Citations

  • New sample sets and new down-sampling schemes for linear component sample prediction

    WO2019162413A1

  • Video encoder, video decoder, and corresponding encoding and decoding methods

    WO2020015648A1

  • Simplifications of cross-component linear model

    WO2020076835A1

  • Simplified parameter derivation for intra prediction

    WO2020094067A1