Encoder, decoder and methods for enhancing robustness for calculation of cross-component linear model parameters

By determining pairs of Luma-chroma samples with varying luma values, the decoder and encoder predict chroma samples using a straight line, addressing sensitivity to statistical outliers and improving coding efficiency and accuracy in CCLM prediction algorithms.

JP2025014017AActive Publication Date: 2025-01-28FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2024189675
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2018-12-07
Filing Date
2024-10-29
Publication Date
2025-01-28
Estimated Expiration
2039-12-06

AI Technical Summary

Technical Problem

The sensitivity of simplified CCLM prediction algorithms to statistical outliers, leading to reduced coding efficiency and increased inaccuracy in high saturation categories, particularly in UHD content, is a challenge.

Method used

The decoder and encoder utilize a method to determine pairs of Luma-chroma samples with varying luma values to calculate a primary function for predicting chroma samples, using a straight line that passes through these pairs, thereby reducing sensitivity to statistical outliers.

Benefits of technology

This approach stabilizes the linear conformity algorithm, achieving a 0.3-0.4% BD-PSNR gain in chroma channels without increasing execution time, and reduces algorithm complexity to half that of previous methods.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025014017000001_ABST
    Figure 2025014017000001_ABST
Patent Text Reader

Abstract

To provide a decoder for block-based decoding of picture data of a picture.SOLUTION: A decoder decodes a current block of a picture by determining a first set of luma samples and a second set of luma samples in a neighborhood of the current block, the first set of luma samples having smaller luma values than the second set of luma samples, fitting a straight-line having a linear function through first pairs of luma-chroma samples and second pairs of luma-chroma samples, wherein the first pairs of luma-chroma samples are determined based on the first set of luma samples and first corresponding chroma samples in the neighborhood of the current block, and wherein the second pairs of luma-chroma samples are determined based on the second set of luma samples and second corresponding chroma samples in the neighborhood of the current block, and predicting chroma samples of the current block using luma samples of the current block and the linear function.SELECTED DRAWING: Figure 5
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] An embodiment of the present invention relates to a decoder for block-based decoding and an encoder for block-based encoding of picture data of a picture, both including an inventive feature 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 a program code for performing at least one of said methods for block-based decoding and block-based encoding when executed on a computer. Some embodiments may be in the field of line fitting algorithms, in particular in the field of 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 straight 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 an already coded luma sample value x, thus achieving improved coding efficiency for many input sequences [1], [2]. Since 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 main 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 about 80 lines of source code and reduces the decoding execution time by a few percent in the random access and low latency B configurations. Unfortunately, a loss of chroma coding efficiency of up to about 1% for UHD content (class A) has also been reported [2], which may be attributed to the increased sensitivity of the simplified CCLM fitting algorithm to statistical outliers, where strong variations 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 the 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., almost all remaining luma-chroma pairs between A and B are below the fitted line. Summary of the Invention [Problem to be solved by the invention]

[0006] An object of the present invention is to improve the robustness of the calculation of the linear model parameters, said improved calculation being less sensitive to statistical outliers, such 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 block. In particular, the linear function may be determined based on a pair of luma-chroma samples of the neighborhood. Such a luma-chroma sample pair may include a luma sample and a corresponding, e.g. co-located, chroma sample. More generally, the pair 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 case of a chroma downsampled input, an implicit intermediate luma downsampling is performed while forming said luma-chroma sample pair, so that the resulting pair contains, for simplicity, 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 said neighboring current block. The first set of luma samples and the second set of luma samples may each contain multiple, e.g., two or more, luma samples. The luma samples included in the first set of luma samples contain 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 contain multiple small-value luma samples, and the second set of luma samples can contain 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.Since the first set of luma samples may include a plurality of small-valued 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, since the second set of luma samples may include a plurality of high-valued 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 pair of luma-chroma samples. In summary, a first pair of luma-chroma samples may be determined based on a first set of said neighboring luma samples of the current block and a first corresponding (e.g., co-located) chroma sample, and a second pair of luma-chroma samples may be determined based on a second set of said neighboring luma samples of the current block and a second corresponding (e.g., co-located) chroma sample. In accordance with the principles of the present invention, the decoder is configured to fit a line having a linear function passing through the first pair of luma-chroma samples (e.g., passing through at least two first pairs) and through the second pair 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 the 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, the first and second pairs of luma-chroma samples representing points within the cloud of points. Thus, fitting a line through a number of pairs of luma-chroma samples can be understood as being 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 fitted in accordance with the principles of the present invention 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 a neighborhood 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 of the neighborhood of the current block and a first corresponding chroma sample, and the second pair of luma-chroma samples being determined based on the second set of luma samples of the neighborhood of the current block and a second corresponding chroma sample. 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 the step of decoding a current block of a picture comprises a step of determining a first set of luma samples and a second set of luma samples of a neighborhood of the current block, the first set of luma samples having a luma value smaller than the second set of luma samples. The method comprises 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 of the neighborhood of the current block and a first corresponding chroma sample, and the second pair of luma-chroma samples being determined based on the second set of luma samples of the neighborhood of the current block and a second corresponding chroma sample. The method further comprises a step of predicting the chroma samples of the current block using the luma samples of the current block and the linear function. In order to avoid repetition, please refer to the above decoder description 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 a picture comprises a step of determining a first set of luma samples and a second set of luma samples of a neighborhood of the current block, the first set of luma samples having a luma value smaller than the second set of luma samples. The method comprises 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 of said neighborhood of the current block and a first corresponding chroma sample, and the second pair of luma-chroma samples being determined based on the second set of luma samples of said neighborhood of the current block and a second corresponding chroma sample. The method comprises a further step of predicting the chroma samples of the current block using the luma samples of the current block and the linear function. In order to avoid repetition, please refer to the decoder description above regarding the advantages of the inventive coding method.

[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 are described in more detail with reference to the following drawings: [Brief description 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; [Diagram 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 the embodiments of the present application can be implemented; [Diagram 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 the 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. [Diagram 5] 1 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] 2 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 an embodiment; [Figure 8] Taken from [2], this figure shows a simplified component-to-component linear model (CCLM) prediction method that uses 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 PREFERRED EMBODIMENTS

[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 shown 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 a decoder of a block-based predictive codec for encoding pictures of a video, to form an example of an encoding framework in which embodiments of the present invention may be incorporated. The respective encoders and decoders are described with reference to Figures 1 to 3. In the following, a description of an embodiment of the inventive concept is presented together with an explanation of how such concepts may be incorporated into the encoders and decoders of Figures 1 and 2, respectively, although the embodiments described in the following Figures 4 onwards may also be used to form encoders and decoders that do not operate according to the encoding framework underlying the encoders and decoders of Figures 1 and 2.

[0018] FIG. 1 shows an apparatus for predictively encoding a picture 12 into a data stream 14, exemplarily using transform-based residual coding. The apparatus, or encoder, is indicated using the reference number 10. FIG. 2 shows a corresponding decoder 20, i.e. an apparatus 20 for predictively decoding a picture 12' from a data stream 14, also using transform-based residual decoding, the apostrophe being 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 losses introduced by quantization of the predictive residual signal. Although FIG. 1 and FIG. 2 exemplarily use transform-based predictive residual coding, the 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 FIG. 1 and FIG. 2, as outlined later.

[0019] The encoder 10 is configured to subject the prediction residual signal to a spatio-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 spectro-spatial transformation.

[0020] Internally, the encoder 10 may include a prediction residual signal former 22 which generates a prediction residual 24 so as to measure the deviation of a prediction signal 26 from the original signal, i.e. the picture 12. The prediction residual signal former 22 may for example be a subtractor which subtracts the prediction signal from the original signal, i.e. the picture 12. The encoder 10 then further includes a transformer 28 which subjects the prediction residual signal 24 to a spatial-spectral transformation in order 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 prediction residual signal 24'' thus quantized is coded into the bitstream 14. For this purpose, the encoder 10 may optionally include an entropy coder 34 which 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 on the basis of the prediction residual signal 24'' coded into the data stream 14 and decodable therefrom. For this purpose, the prediction stage 36 may internally include an inverse quantizer 38, as shown in FIG. 1, which inverse quantizes the prediction residual signal 24″ to obtain a spectral domain prediction residual signal 24′″ corresponding to the signal 24′ except for the quantization losses, and an inverse transformer 40, which 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″″ corresponding to the original prediction residual signal 24 except for the quantization losses. A combiner 42 of the prediction stage 36 then recombines the prediction signal 26 and the prediction residual signal 24″″, for example by addition, 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 indicative of a spatial prediction, i.e. an intra-picture prediction, and / or a temporal prediction, i.e. an inter-picture prediction.

[0021] Similarly, as shown in Figure 2, the decoder 20 may be internally configured with components that correspond to and are interconnected to correspond to the prediction stage 36. In particular, an entropy decoder 50 of the decoder 20 may entropy decode the quantized spectral domain prediction residual signal 24'' from the data stream, whereby an inverse quantizer 52, an inverse transformer 54, a combiner 56, and a prediction module 58, interconnected and cooperating in the manner described above for the modules of the prediction stage 36, recover a reconstructed signal based on the prediction residual signal 24'', such that an output of the combiner 56 results in a 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, for example, in such a way as to optimize some rate- and distortion-related criteria, i.e., encoding cost. For example, the encoder 10 and the decoder 20 and corresponding modules 44, 58 may each support different prediction modes, such as intra- and inter-coding modes. The granularity with which the encoder and the decoder switch between these prediction mode types may correspond to a subdivision of the pictures 12 and 12' into coding segments or coding blocks, respectively. In units of these coding segments, for example, the picture may be subdivided into intra-coded and inter-coded blocks. The intra-coded blocks are predicted based on the spatially already coded / decoded neighborhood of the respective blocks, as outlined in more detail below. There may be several intra-coding modes, 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 each intra-coded segment along a specific direction specific to each 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 the prediction of each intra-coded block assigns a DC value to all samples in each intra-coded segment, and / or a planar intra-coding mode according to which the prediction of each block is determined based on neighboring samples to approximate or to be a spatial distribution of sample values ​​described by a two-dimensional linear function over the sample positions of each intra-coded block with a driving slope and offset of the plane defined by the two-dimensional linear function. In comparison, inter-coded blocks may, for example, be predicted temporally.For inter-coded blocks, motion vectors may be signaled in the data stream, indicating the spatial displacement of parts 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 the respective 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 have coded optional further parameters, such as coding mode parameters for assigning coding modes to the various blocks, prediction parameters for some of the blocks, such as motion parameters for the 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 pictures in the same way as did the encoder, to assign the same prediction modes to the segments, and to perform the same predictions resulting in the same prediction signals.

[0023] FIG. 3 shows 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 shown in FIG. 3 as a subdivision of the picture area into intra-coded blocks, exemplarily shown using hatching, and inter-coded blocks, exemplarily shown without hatching. The subdivision may be any subdivision, such as a regular subdivision of the picture area 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 a number of leaf blocks of various sizes, such as a quad-tree subdivision, a mixture of which is shown in FIG. 3, where the picture area 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 block predicted from a previously coded portion beyond the current picture 12 itself, such as a previously coded picture of the video to which picture 12 belongs, or a picture of another view or hierarchically lower layer if the encoder and decoder are scalable encoder and decoder, respectively.

[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 respective blocks, namely, on the one hand, into coding blocks 80 and 82, respectively, and, on the other hand, into transform blocks 84. Although 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 transformation blocks 84 may cross block boundaries between blocks 80, 82. Thus, as far as the subdivision into transformation blocks 84 is concerned, similar statements are true as those presented with respect 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. Merely as an 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] In Fig. 3, the transform blocks 84 are assumed to have the following importance: 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 to skip the transform for some of the transform blocks 84, such that the prediction residual signal is directly coded in the spatial domain. However, according to an embodiment 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 can include: o 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 the 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 to 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 the concepts outlined in more detail below to perform a block-based encoding of the picture 12 that differs from the encoder of Figure 1, for example in that it is a still picture encoder rather than a video encoder, or in that the subdivision into blocks 80 is performed in a different way 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 encoding concepts further outlined below, but may differ from decoder 20 of FIG. 2, for example, in being a still picture decoder rather than a video decoder, in not supporting intra prediction or in subdividing picture 12' into blocks in a different manner than 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 illustratively explain how the embodiments of the encoder 10 for block-based encoding and the decoder 20 for block-based decoding utilize the inventive principles described herein. In particular, 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 the luma-chroma samples of neighboring blocks. An example of the decoder 20 may 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 vicinity of the current block, which may be neighboring blocks in the direct 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 the decoder 20 may obtain the above-mentioned pairs of luma-chroma samples. To this end, the encoder 10 and / or the decoder 20 may be configured to determine a first set of said neighboring luma samples of the current block and to determine a second set of said neighboring luma samples. The first set may include a plurality, e.g., at least two luma samples, having different luma values. The second set may also include a plurality, 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. In particular, 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 pairs of luma-chroma samples 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 a luma sample of a first set of luma samples (i.e., one with a smaller luma value) may be classified as a first pair of luma-chroma samples. Similarly, a luma-chroma sample pair that includes a luma sample of a second set of luma samples (i.e., one with a larger luma value) may be classified as a second pair of luma-chroma samples.

[0035] 4 illustrates a number of first pairs of luma-chroma samples symbolically surrounded by an approximate ellipse 41, as well as a number of 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 pairs of luma-chroma samples and the y-axis represents the corresponding chroma value of each pair of luma-chroma samples. Thus, each pair of luma-chroma samples A, A', A'', 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 Fig. 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 the decoder 20 may fit the line 43 through the three exemplary selected first pairs A, A', A'' of luma-chroma samples and through the three exemplary selected second pairs B, B', B'' of luma-chroma samples. For example, the encoder 10 and / or the 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 of a line fitting algorithm for fitting the line 43 through the point cloud.

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

[0040] 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 the 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 described above.

[0042] According to an embodiment, the decoder 20 may be configured to reconstruct the luma samples of the current block by intra-prediction and / or inter-prediction. According to yet a further embodiment, the decoder 20 may be configured to decode luma sample residuals of the current block from the data stream 14, reconstruct the 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 a 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, the three first pairs A, A', A'' of luma-chroma samples and the three second pairs B, B', B'' of luma-chroma samples were exemplarily used as the basis of a fitting algorithm for fitting a straight line 43 passing through at least these three first and second pairs A, A', A'', B, B', B'' of luma-chroma samples. However, in accordance with the principles of the present invention, more than the exemplarily described three first and second pairs A, A', A'', B, B', B'' of luma-chroma samples may be used. Additionally or alternatively, in accordance with the principles of the present invention, only two first and second pairs A, A', B, B' of luma-chroma samples may be used. However, at least two first pairs A, A' of luma-chroma samples and at least two second pairs B, B' of luma-chroma samples 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 A of luma-chroma samples and only one second pair B of luma-chroma samples are used.

[0046] For example, the encoder 10 and / or the decoder 20 may be configured to select these two or more first luma-chroma samples A, A', A'' having the minimum luma values. Thus, the encoder 10 and / or the decoder 20 may be configured to determine the first set of luma samples by finding the n>1 minimum luma values ​​in a neighborhood of the current block. These n>1 first pairs A, A', A'' of luma-chroma samples having the minimum luma values ​​together with the corresponding chroma values ​​may be selected by the encoder 10 and / or the 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 maximum 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 maximum luma values ​​in a neighborhood of the current block. These n>1 second pairs B, B', B'' of luma-chroma samples having the minimum luma values ​​together with the corresponding chroma values ​​may be selected by the encoder 10 and / or decoder 20 from the second pairs of the plurality 42 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 minimum 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 maximum 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 said neighborhood of the current block and / or to determine a second set of luma samples by finding the n=2 largest luma values ​​in said 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 smallest luma values ​​and n=2 second pairs B, B' of luma-chroma samples with largest luma values.

[0050] A corresponding example will now be discussed with reference to Figure 5, which shows a similar point cloud 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, these two first pairs A, A' of luma-chroma samples with the minimum luma values ​​and these two second pairs B, B' of luma-chroma samples with the maximum luma values ​​are selected by the encoder 10 and / or the decoder 20 to fit a straight line 43 passing through said 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 minimum luma value and a second pair B of luma-chroma samples having the maximum 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 straight 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] Thus, according to one embodiment, the encoder 10 and / or the 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' of 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 4 "+1"s for the exact transformations. Both variants represent fixed-point integer realizations of the arithmetic mean; other forms of averaging, such as geometric mean, are possible but will not be considered here.

[0056] As can be clearly seen in Fig. 5, the straight line 43 is much better fitted within the point cloud, i.e., to multiple first and second pairs of luma-chroma samples, than in the case of the previous proposal, which is represented only by the upper first provisional straight 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 straight line 51 according to the previous proposal may be significantly larger than the prediction residual 56 predicted from the fitted straight line 43 according to the inventive concept. Thus, the inventive concept described herein can significantly counteract the inaccuracies 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'. It should be noted 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 the existence of significant coding efficiency gains without an increase in codec execution time due to the proposed changes, we measured the Bjontegaard delta (BD) PSNR gains for the SDR Category Common Test Conditions (CTC) set of sequences [5][6]. The default configuration of the VTM software version 3 is 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 succeed in increasing the chroma coding efficiency by approximately 0.4%, with only a small impact on the algorithmic complexity of the CCLM predictor, if necessary. [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 0.3-0.4% BD-PSNR gains in the chroma channels. At the same time, the algorithmic complexity of the CCLM calculation remains only half (or even less for large 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 straight-line 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 quite sensitive to statistical outliers and proposes some modifications to the CCLM method, e.g., as follows: 1. Using exact averaging (instead of only the maximum and minimum) 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'; 2. Using inexact averaging that omits some additions (no offset of 1 before division), fit a line 43 between the average 54 of the largest two luma samples B, B' and the average 53 of the smallest two luma samples A, A'.

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

[0065] However, both modifications have a negligible impact on the VTM encoder and decoder complexity (encoder execution time 100%, decoder execution time 99-101%), and reportedly provide coding efficiency gains of around 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 the 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 straight line 43 having a linear function is fitted through a first pair A, A' of luma-chroma samples and a second pair B, B' of luma-chroma samples, where the first pair A, A' of luma-chroma samples 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 B, B' of luma-chroma samples 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 linear function determined from the luma samples of the current block and the neighborhood of the current block, as described above.

[0074] As discussed, both the decoder 20 and the encoder 10 may determine the first set of luma samples and the 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 upper neighbors of samples or left neighboring columns 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. In particular, the 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 ​​of the four considered values, and the second set of luma samples may consequently include n=2 larger luma values ​​of the four considered values.

[0075] The selection of these four neighboring luma samples in the vicinity of the current block may be arbitrary, but 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 said four neighboring luma samples for the determination of the first set of luma samples and the second set of luma samples may be adapted according to the presence of a neighboring row above the sample and / or a neighboring column to the left of the sample. More specifically, if the vertical neighbor above is not available (e.g., at the top picture border), the four neighboring luma samples may all be selected from the left neighboring column of luma samples, while if the horizontal neighbor to the left is not available (e.g., at the left picture border), the four neighboring luma samples may all be selected from the neighboring row above the luma samples. However, if both the top and left neighbors are available (e.g., at the center of the picture to be compressed, as in the default case), two luma samples may be selected from the top neighboring sample row and two more luma samples may be selected from the left neighboring sample column. Finally, it should be noted that if a 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 prior to 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 neighbourhood of the current block typically represents a previously decoded and reconstructed part of the current picture, e.g. a block (spatial neighbourhood) or another previously decoded and reconstructed picture (temporal neighbourhood). However, it is clear that on the encoder side, instead of a previously decoded and reconstructed picture region, the original input picture region can also be used as the source of the neighbourhood of the current block. It is also easily clear 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 colour from the red component of RGB colour 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 encoded 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, in which 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 the particular 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. The 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 so that the respective methods are performed. Thus, the digital storage medium can be computer readable.

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

[0082] In general, embodiments of the present invention can be implemented as a computer program product having program code which 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 the sequence of signals may for example be arranged 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 such modifications or embodiments.

Claims

1. 1. A decoder for decoding a picture, the decoder comprising: selecting a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample in a neighborhood of a current block of the picture, wherein luma values ​​of the third luma-chroma sample and the fourth luma-chroma sample are greater than luma values ​​of the first luma-chroma sample and the second luma-chroma sample; generating a first average of the first luma-chroma sample and the second luma-chroma sample and a second average of the third luma-chroma sample and the fourth luma-chroma sample; generating a linear function based on the first average and the second average; 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 first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample; identifying the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample; identifying a third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; identifying the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth luma sample; 2. A decoder as claimed in claim 1, configured to:

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

4. Prior to the prediction of 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; correcting the predicted luma samples using the luma sample residuals; and 2. A decoder as claimed in claim 1, configured to:

5. determining a first set of luma-chroma samples in a neighborhood of the current block of the picture, each of the first set of luma samples having a corresponding luma value, the first set of luma samples including the first luma-chroma sample and the second luma-chroma sample; determining a second set of luma-chroma samples in a neighborhood of the current block of the picture, the second set of luma samples having corresponding luma values ​​greater than the luma values ​​of the first set of luma samples; 2. A decoder as claimed in claim 1, configured to:

6. plotting the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample on a graph; fitting a first provisional line of the first luma-chroma sample and the third luma-chroma sample; fitting a second provisional line of the second luma-chroma sample and the fourth luma-chroma sample; fitting a line representing a linear function between the first provisional line and the second provisional line; 2. A decoder as claimed in claim 1, configured to:

7. the linear function is given by the equation y=αx+β, where α is a first component-to-component linear model parameter representing a slope of the line, and β is a second component-to-component linear model parameter representing an 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; 7. A decoder as claimed in claim 6, configured to:

8. 1. A method for decoding a picture, the method comprising: selecting a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample in a neighborhood of a current block of the picture, wherein luma values ​​of the third luma-chroma sample and the fourth luma-chroma sample are greater than luma values ​​of the first luma-chroma sample and the second luma-chroma sample; generating a first average of the first luma-chroma sample and the second luma-chroma sample and a second average of the third luma-chroma sample and the fourth luma-chroma sample; generating a linear function based on the first average and the second average; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; A method comprising:

9. identifying the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample; identifying the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample; identifying the third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; identifying the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth 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; correcting the predicted luma samples using the luma sample residuals; and The method of claim 8 , comprising:

12. determining a first set of luma-chroma samples in a neighborhood of the current block of the picture, each of the first set of luma samples having a corresponding luma value, the first set of luma samples including the first luma-chroma sample and the second luma-chroma sample; determining a second set of luma-chroma samples in a neighborhood of the current block of the picture, the second set of luma samples having corresponding luma values ​​greater than the luma values ​​of the first set of luma samples; The method of claim 8 further comprising:

13. plotting the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample on a graph; fitting a first provisional line of the first luma-chroma sample and the third luma-chroma sample; fitting a second provisional line of the second luma-chroma sample and the fourth luma-chroma sample; fitting a line representing a linear function between the first provisional line and the second provisional line; The method of claim 8 further comprising:

14. the linear function is given by the equation y=αx+β, where α is a first component-to-component linear model parameter representing a slope of the line, and β is a second component-to-component linear model parameter representing an offset of the line; 14. The method of claim 13, 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 instructions stored thereon that, when executed, perform the method of claim 8.

16. 1. An encoder for encoding a picture, the encoder comprising: selecting a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample in a neighborhood of a current block of the picture, wherein luma values ​​of the third luma-chroma sample and the fourth luma-chroma sample are greater than luma values ​​of the first luma-chroma sample and the second luma-chroma sample; generating a first average of the first luma-chroma sample and the second luma-chroma sample and a second average of the third luma-chroma sample and the fourth luma-chroma sample; generating a linear function based on the first average and the second average; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; The encoder is configured to:

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

18. Prior to the prediction of 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 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; correcting the predicted luma samples using the luma sample residuals; and 17. The encoder of claim 16, configured to:

20. determining a first set of luma-chroma samples in a neighborhood of the current block of the picture, each of the first set of luma samples having a corresponding luma value, the first set of luma samples including the first luma-chroma sample and the second luma-chroma sample; determining a second set of luma-chroma samples in a neighborhood of the current block of the picture, the second set of luma samples having corresponding luma values ​​greater than the luma values ​​of the first set of luma samples; 17. The encoder of claim 16, configured to:

21. plotting the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample on a graph; fitting a first provisional line of the first luma-chroma sample and the third luma-chroma sample; fitting a second provisional line of the second luma-chroma sample and the fourth luma-chroma sample; fitting a line representing a linear function between the first provisional line and the second provisional line; [0023] the linear function is given by the equation y=αx+β, where α is a first component-to-component linear model parameter representing a slope of the line, and β is a second component-to-component linear model parameter representing an 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 encoding a picture, the method comprising the steps of: selecting a first luma-chroma sample, a second luma-chroma sample, a third luma-chroma sample, and a fourth luma-chroma sample in a neighborhood of a current block of the picture, wherein luma values ​​of the third luma-chroma sample and the fourth luma-chroma sample are greater than luma values ​​of the first luma-chroma sample and the second luma-chroma sample; generating a first average of the first luma-chroma sample and the second luma-chroma sample and a second average of the third luma-chroma sample and the fourth luma-chroma sample; generating a linear function based on the first average and the second average; predicting chroma samples of the current block using the linear function and luma values ​​of the current block; A method comprising:

23. identifying the first luma-chroma sample based on a position of a first chroma sample and a position of a corresponding first luma sample; identifying the second luma-chroma sample based on a position of a second chroma sample and a position of a corresponding second luma sample; identifying a third luma-chroma sample based on a position of a third chroma sample and a position of a corresponding third luma sample; identifying the fourth luma-chroma sample based on a position of a fourth chroma sample and a position of a corresponding fourth 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; correcting the predicted luma samples using the luma sample residuals; and 23. The method of claim 22, comprising:

26. determining a first set of luma-chroma samples in a neighborhood of the current block of the picture, each of the first set of luma samples having a corresponding luma value, the first set of luma samples including the first luma-chroma sample and the second luma-chroma sample; determining a second set of luma-chroma samples in a neighborhood of the current block of the picture, the second set of luma samples having corresponding luma values ​​greater than the luma values ​​of the first set of luma samples; 23. The method of claim 22, further comprising:

27. plotting the first luma-chroma sample, the second luma-chroma sample, the third luma-chroma sample, and the fourth luma-chroma sample on a graph; fitting a first provisional line of the first luma-chroma sample and the third luma-chroma sample; fitting a second provisional line of the second luma-chroma sample and the fourth luma-chroma sample; fitting a line representing a linear function between the first provisional line and the second provisional line; Further comprising: the linear function is given by the equation y=αx+β, where α is a first component-to-component linear model parameter representing a slope of the line, and β is a second component-to-component linear model parameter representing an 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 instructions stored thereon 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