NEW SAMPLE SETS AND NEW SUBSAMPLING SCHEMES FOR PREDICTION OF LINEAR COMPONENT SAMPLES

MX435252BActive Publication Date: 2026-06-12CANON KK

Patent Information

Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
CANON KK
Filing Date
2020-08-21
Publication Date
2026-06-12

AI Technical Summary

Technical Problem

Existing video encoding methods, particularly in the Joint Video Exploration Team (JVET) Joint Exploration Model (JEM), face high computational complexity due to the complex derivation of linear model parameters for chroma predictor blocks, which affects coding efficiency and processing speed.

Method used

A simplified method for deriving linear models to predict chroma samples from luma samples by using only two pairs of samples to determine the model parameters, reducing the need for least squares mean methods and minimizing computational complexity.

Benefits of technology

The proposed method significantly reduces computational complexity while maintaining coding efficiency, making it suitable for hardware implementation and improving processing speed without a substantial decrease in encoding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX435252B0
    Figure MX435252B0
  • Figure MX435252B1
    Figure MX435252B1
Patent Text Reader

Abstract

The description relates to cross-component prediction and methods for deriving a linear model to obtain a sample of the first component for a block of the first component from an associated reconstructed sample of the second component from a block of the second component in the same frame, the method comprising determining the parameters of a linear equation representing a straight line passing through two points, each point defined by two variables, the first variable corresponding to a sample value of the second component, the second variable corresponding to a sample value of the first component, based on reconstructed samples of both the first and second components; and deriving the linear model defined by the straight-line parameters; wherein such determination of the parameters uses integer arithmetic.
Need to check novelty before this filing date? Find Prior Art

Description

The present invention relates to the encoding or decoding of blocks of a given video component, in particular the intra-prediction of such component blocks or the extraction of samples of such blocks. The invention finds applications in the extraction of blocks of one component, generally blocks of a chroma component, from video data samples of another component, generally luma samples. Background of the invention Predictive coding of video data is based on dividing frames into pixel blocks. For each pixel block, a predictor block is searched for within the available data. The predictor block can be a block in a different reference frame than the current one in INTER coding modes, or generated from neighboring pixels in the current frame in INTRA coding modes. Different coding modes are defined according to different methods of determining the predictor block. The result of the coding is a signal of the predictor block and a residual block, which consists of the difference between the block to be encoded and the predictor block. Regarding INTRA encoding modes, several modes are generally proposed, such as a Direct Current (DC) mode, a flat mode, and angular modes. Each of them seeks to predict samples of a block using previously decoded boundary samples from spatially neighboring blocks. Encoding can be performed for each component that makes up the pixels of the video data. Although the RGB (Red-Green-Blue) representation is well-known, the YUV representation is preferred for encoding to reduce redundancy between channels. According to these encoding modes, a pixel block can be considered as composed of several, usually three, component blocks. An RGB pixel block consists of an R component block containing the R component values ​​of the pixels in the block, a G component block containing the G component values ​​of these pixels, and a B component block containing the B component values ​​of these pixels. Similarly, a YUV pixel block consists of a Y component (luma) block, a U component (chroma) block, and a V component (also chroma) block. Another example is YCbCr, where Cb and Cr are also known as chroma components. However, the correlation between components (also known as Rczonn / eznz / E / YiAi as a cross component) is still observed locally. To improve compression efficiency, the use of cross-component prediction (CCP) has been studied in the state of the art. The main application of CCP 5 relates to luma-to-chroma prediction. This means that the luma samples have already been encoded and reconstructed from encoded data (as the decoder does) and that the chroma is predicted from the luma. However, variants use CCP for chroma-to-chroma prediction or, more generally, for first-component-to-second-component prediction (including RGB). Cross-Component Prediction can be applied directly to a chroma pixel block or it can be applied to a residual chroma block (i.e., the difference between a chroma block and a chroma block predictcr). The Linear Model (LM) mode uses a linear model to predict chroma from luma as an intra-predictor of chroma, based on one or two parameters, slope (a) and shift (β), which will be determined. Therefore, the intra-predictor of chroma is derived from luma samples reconstructed from an actual luma block using the linear model with the parameters. Linearity, that is, the parameters a and β, are Rczonn / eznz / E / YiAi derives from reconstructed causal samples, in particular from a set of neighboring chroma samples comprising reconstructed chroma samples neighboring the current chroma block to be predicted and from a set of neighboring luma samples comprising luma samples neighboring the current luma block. Specifically, for an NxN chroma block, the N neighbors in the previous row and the N neighbors in the leftmost column are used to form the 10-neighbor chroma sample set for derivation. The neighboring luma sample set is also made up of N neighboring samples just above the corresponding luma block and N neighboring samples on the left side of the luma block. It is known to reduce the size of video data for encoding without significant degradation of visual representation by undersampling the chroma components. Known undersampling modes are labeled 4:1:1, 4:2:2, and 4:2:0. In situations where video chroma data is undersampled, the luma block corresponding to the NxN chroma block is larger than NxN. In that case, the set of neighboring luma samples is undersampled to match the chroma resolution. The intra-chroma predictor is used to predict the chroma samples in the block. The current NxN chroma must be generated using the linear model with one or more derived a and β parameters and the reconstructed luma samples from the current luma block that were previously undersampled to match the chroma resolution. The undersampling of the reconstructed luma samples to the chroma resolution allows the same number of samples to be recovered as the chroma samples to form both the luma sample set and the intra-chroma predictor. The intra-chroma predictor is then subtracted from the current chroma block to obtain a residual chroma block, which is encoded in the encoder. Conversely, in the decoder, the intra-chroma predictor is added to the received residual chroma block to recover the chroma block, also known as decoded block reconstruction. This may also involve trimming the addition results that fall outside the sample range. Sometimes, the residual chroma block is negligible and is therefore not considered during encoding. In that case, the aforementioned intra-chroma predictor is used as the chroma block itself. Consequently, the LM mode described above makes it possible to obtain a sample for a current block of a given component from an associated (i.e., placed or corresponding) reconstructed sample from a block of another component in the Rczonn / eznz / E / YiAi same framework using a linear model with one or more parameters. The sample is obtained using the linear model with one or more derived parameters and the associated reconstructed samples in the other component's block. If necessary, block 5 of the other component consists of subsampled samples to match the block resolution of the current component. Although the current component's block is generally a chroma block and the other component's block is a lumia block, this may not always be the case. For the sake of clarity and simplicity, the examples given here focus on predicting a chroma block from a luma block; it should be clear that the mechanism described can be applied to any component prediction from another component. The Joint Scanning Model (JEM) of the Joint Video Scanning Team (JVET) adds six linear cross-component model modes (luma to chroma) to the conventional intra-prediction modes already known. All these modes compete with each other to predict or generate the 20 chroma blocks, with the selection generally being made based on a speed distortion criterion at the encoder end. The six linear model modes of Components Cross-sampling (luma to chroma) differs from each other by different 25 subsampling schemes used to subsample the samples Rczonn / rznz / E / YiAi of reconstructed luma and / or by different sets of samples from which the parameters ay |3 are derived. For example, sample sets can consist of the two lines (i.e., rows and columns) of 5 samples adjacent to the current luma or chroma block. These lines are parallel to and immediately adjacent to each of the upper and / or left boundaries of the current luma or chroma block in chroma resolution. Such an illustrative sample set is described in the US publication. 9,736,487. Other sets of illustrative samples are also described in publications US 9,288,500 and US 9,462,273. The subsampling schemes used in JEM include a 6-tap filter that determines a subsampled reconstructed luma sample from six reconstructed luma samples, but also three 2-tap filters that select either the upper right and lower right samples from the six reconstructed luma samples, or the lower and lower right samples, or the upper and upper right samples, and a 4-tap filter that selects the upper, upper right, lower, and lower right samples from the six reconstructed luma samples. Rczonn / eznz / E / YiAi Summary of the invention The JEM is complex in terms of processing. For example, it requires a complex derivation of the linear model parameters for calculating the chroma predictor block 5 samples. The present invention is designed to address one or more of the above concerns. It is an improved method for obtaining a chroma sampler for a current chroma block, possibly through internal chroma prediction. In accordance with a first aspect of the present invention, a method is provided in accordance with claim 1. In accordance with another aspect of the present invention, a device for encoding images is provided in accordance with claim 29. In accordance with another aspect of the present invention, a device for decoding images is provided in accordance with claim 30. Pursuant to another aspect of the present invention, a computer program product, computer-readable medium, or computer program is provided in accordance with claims 31 to 33. Other aspects of the invention are provided in the 25 dependent claims. Rczonn / eznz / E / YiAi In accordance with an additional aspect, a method is provided for deriving a linear model to obtain a sample value of the first component from a sample value of an associated reconstructed second component, the method comprising: taking two sets of two or more sets, each set comprising a sample value of the first component and a sample value of the second component from reconstructed sample values ​​of the first and second components; and deriving the linear model based on a relationship of changes in the sample values ​​of the first component and the sample values ​​of the second component between the two sets so that the sample values ​​of the first component of the two sets can be obtained from the sample values ​​of the second component of the respective sets using the derived linear model. It is understood that the sample value of the first component and the associated reconstructed sample value of the second component are associated with each other through a pre-established relationship. Appropriately, the pre-established relationship is that they are co-located or correspond to each other. This co-located relationship, or correspondence, can be defined for each sample value individually, or between a block / group of 25 sample values ​​of the first component and a block / group of Rczonn / cznz / E / YiAi sample values ​​of the second component. Appropriately, the pre-established relationship is that they are associated with at least one pixel in a current block of pixels to be processed; for example, they are co-located, or corresponding sample values ​​of the at least one pixel to be processed. This co-located, or matching, relationship can be defined for each sample value individually, or between a block / group of sample values ​​and a block / group of pixels. It is also understood that a subsampling or oversampling process can be applied to a block of sample values ​​of the first component or sample values ​​of the second component so that the pre-established relationship between the blocks, or with at least one pixel of an actual block of pixels, can be established after the subsampling / oversampling. Appropriately, the sample value of the first component and the sample value of the associated second component are associated with pixel blocks of the same image, or frame, to be processed. It is understood here that a set comprising a sample value of the first component and a sample value of the second component is a set of component sample values ​​consisting of the sample value of the first component and the sample value of the second component. Thus, the set is an n-tuple. Rczonn / eznz / E / YiAi with the sample value of the first component and the sample value of the second component as its elements. Properly, the set is a 2-tuple. Alternatively, the set is a π-tuple having more than two elements (n 5 elements). Appropriately, the reconstructed sample values ​​of the first and second components are associated with one or more blocks adjacent to a current block to be processed. Appropriately, the one or more blocks adjacent to the current block are above or to the left of the current block. Appropriately, the two sets taken are the sets comprising the sample value of the second smallest component and the sample value of the second largest component among the sample values ​​of the second component in the two or more sets. Appropriately, the two sets taken are the sets comprising the sample value of the first smallest component and the sample value of the first largest component among the sample values ​​of the first component in the two or more sets. Properly, taking the two sets comprises: determining a first group of sets comprising the sample value of the smallest second component and the sample value of the largest second component among the sample values ​​of the second component in the two or more sets; determining a second group of sets comprising the sample value of the smallest first component and the sample value of the largest first component among the sample values ​​of the first component in the two or more sets; and selecting the two sets from the sets of the first group and the second group. Appropriately, the selection of the two sets from the sets of the first group and the second group 10 comprises: selecting the first group if the difference between the smallest sample value of the second component and the largest sample value of the second component is greater than a difference between the smallest sample value of the first component and the largest sample value of the first component 15; and selecting the second group if it is not. Appropriately, the selection of the two sets from the sets of the first group and the second group comprises: determining the positions of the sample values ​​of the sets of the first group and the second group; and selecting two sets based on the determined positions of the sample values. Appropriately, the positions of the sample values ​​are determined for the sample values ​​of the reconstructed second component in relation to a block of sample values ​​of the reconstructed second component that is associated with a block of Rczonn / eznz / E / YiAi sample values ​​of the first component to be processed. Appropriately, the positions of the sample values ​​are determined for the reconstructed sample values ​​of the first component in relation to a block 5 of reconstructed sample values ​​of the first component to be processed. Appropriately, the positions of the sample values ​​are determined based on the associated / co-located / corresponding positions defined in relation to a block of pixels to be processed. Appropriately, the selection of two sets based on predetermined positions of sample values ​​comprises selecting a set that includes a sample value in a predetermined position adjacent to a block to be processed. Appropriately, the selection of these sets based on predetermined positions of sample values ​​comprises: determining whether any of the sets in the first group and the second group includes a sample value in a predetermined position; and selecting the set that includes the sample value in the predetermined position as one of the two sets. Appropriately, the selection of two sets based on the determined positions of the sample values ​​comprises: if a set comprising a sample value in a predetermined position is not available, determining whether to use either of the sets from the first group and the second group. Rczonn / rznz / E / γΐΛΐ comprises a sample value in another predetermined position; and select the set comprising the sample value in the other predetermined position as one of the two sets. Appropriately, the predetermined position 5 or the other predetermined position is a lower left or upper right position between the y) neighboring positions to a b 1 current oque gue se ha de ρ r c- ce si ar . Appropriately, the selection of the two sets from the first group and the second group of sets comprises comparing distances between two sets from the first group and the second group of sets, wherein the distances are defined in a space of the first and second sample component values, which is defined by elements of sets so that each set of the two or 15 more sets corresponds to a position in that space. Appropriately, the selection of the two sets involves: determining whether the distance between the sets in the first group is greater than the distance between the sets in the second group; and selecting the first group 20 if the distance between the sets in the first group is greater than the distance between the sets in the second group, and selecting the second group if it is not. Appropriately, the selection of the two sets comprises selecting the two sets with the greatest distance between them 25 from the first and second groups of sets. Rczonn / eznz / E / YiAi Appropriately, the selection of the two sets Rczonn / eznz / E / YiAi comprises: determining whether the corresponding elements of the sets in the first group have the same or different values; and selecting the first group if the corresponding elements do not have the same values ​​or have different values, and selecting the second group if the corresponding elements have the same values ​​or do not have different values. Appropriately, the corresponding elements of the sets are either one or both of the sample values ​​of the first component and the sample values ​​of the second component. Properly, the selection of the two sets comprises: determining whether the corresponding elements of the sets in the second group have the same or different values; and selecting the second group if the corresponding elements do not have the same values ​​or have different values, and selecting the first group if the corresponding elements have the same values ​​or do not have different values. Appropriately, the selection of the two sets comprises: obtaining a ratio of changes in the sample values ​​of the first component and the sample values ​​of the second component between the sets of the first group; determining whether the ratio obtained is greater than, equal to, or less than a predetermined value; and selecting the first group if the ratio obtained is greater than, equal to, or less than the predetermined value, and selecting the second group if it is not. Appropriately, the selection of the two sets comprises: obtaining a ratio of changes in the sample values ​​of the first component and the sample values ​​of the second component between the sets of the second group; determining whether the ratio obtained is greater than, equal to, or less than a predetermined value; and selecting the second group if the ratio obtained is greater than, equal to, or less than the predetermined value, and selecting the first group if it is not. Appropriately, the two taken sets are sets comprising sample values ​​of the second component from one or more blocks neighboring a block of sample values ​​of the second component that is associated with a current block to be processed, and taking two sets comprises selecting two sets based on their sample values ​​of the second component. Appropriately, the two taken sets are sets comprising two sample values ​​of the second component that occur most frequently among the reconstructed sample values ​​of the block of corresponding sample values ​​of the second component. Appropriately, the reconstructed sample values ​​of the second component are divided into at least two groups, and for each group, two sets are taken and a model is derived. Rczonn / eznz / E / YiAi linear based on the two taken sets. Appropriately, if the two taken sets for a group have a ratio of changes in the sample values ​​of the first component and the sample values ​​of the second component between the sets less than or equal to a predetermined value, the linear model for that group is derived based on two taken sets for another group. Appropriately, if the two taken sets for a group have a ratio of changes in the sample values ​​of the first component and the sample values ​​of the second component between the sets less than or equal to a predetermined value, the linear model for that group is derived based on two sets that would have been taken if all the reconstructed sample values ​​of the second component were in a single set. In accordance with another additional aspect, a method is provided for encoding or decoding one or more images into or from a bitstream, the method comprising deriving a linear model to obtain a sample value of the first component from a sample value of the associated reconstructed second component according to a method of the first aspect of the present invention. Appropriately, the method also comprises selecting one from a plurality of modes of derivation of Rczonn / eznz / E / YiAi linear model to obtain the sample value of the first component for a current block of the image to be processed, wherein the plurality of linear model derivation modes comprises a first mode using a single linear model and a second mode using more than one linear model, and the derived linear model can be used in the selected linear model derivation mode. Appropriately, only the first mode uses the derived linear model. Alternatively, only the second mode uses the derived linear model. In accordance with another additional aspect, a device is provided for deriving a linear model to obtain a sample value of the first component from a sample value of the associated reconstructed second component, the device being configured to perform method 15 of the first aspect of the present invention. In accordance with another additional aspect, a device is provided for encoding or decoding one or more images into or from a bitstream, the device being configured to perform the method of the second aspect of the present invention. In accordance with another additional aspect, a method is provided for obtaining a sample value of the first component from a sample value of the associated reconstructed second component, the method comprising: 25 selecting a linear model mode from a plurality of Rczonn / eznz / E / YiAi linear model modes for obtaining the sample value of the first component; and obtaining the sample value of the first component using the selected linear model mode, wherein at least one of the plurality of linear model modes 5 uses a linear model derived using a derivation method in accordance with the first aspect of the present invention. Properly, the plurality of linear model modes comprises a first mode using a single linear model and a second mode using more than one linear model. Appropriately, only the first mode uses the derivation method in accordance with the first aspect of the present invention. Alternatively, only the second mode uses the derivation method in accordance with the first aspect of the present invention. In accordance with another additional aspect, a device is provided for obtaining a sample value of the first component from a sample value of the associated reconstructed second component, the device being configured to perform the method of the fifth aspect of this instruction. In accordance with another additional aspect, a method is provided for encoding one or more images into a bitstream, wherein the method comprises obtaining a sample value of the first component from a sample value of the associated reconstructed second component. Rczonn / eznz / E / YiAi in accordance with the fifth aspect of the present invention. Properly, the method further comprises providing, in the bit stream, information indicative of a selection for a linear model mode that can be used to obtain the 5th sample of the first component. In accordance with another additional aspect, a method is provided for decoding one or more images from a bitstream, wherein the method comprises obtaining a sample value of the first component from a sample value of the second component associated with the fifth aspect of the present invention. Properly, the method further comprises obtaining, from the bitstream, information indicative of a selection for a linear model mode that can be used to obtain the sample of the first component, and the selection of a linear model mode from a plurality of linear model modes is made on the basis of the information obtained. In accordance with another aspect, an additional device is provided for encoding one or more images into a 20-bit stream, the device configured to perform the method described in this document. In accordance with another additional aspect, a computer program is provided which, upon execution, causes a method described herein to be carried out and 25 a (non-transient) computer-readable medium that Rczonn / eznz / E / YiAi stores instructions for implementing the method described in this document. According to the present invention, a device, a method, a computer program (product), and a computer-readable storage medium are provided as set forth in the appended claims. Other features of the embodiments of the invention are defined in the appended claims and the description that follows. Some of these features are explained below with reference to a method, while others can be transposed to the system functions dedicated to the device. At least portions of the methods according to the invention can be implemented by computer. Accordingly, the present invention can take the form of an entirely hardware embodiment, an entirely software embodiment (including firmware, resident software, microcode, etc.), or an embodiment that combines software and hardware aspects, which may generally be referred to herein as a processor and a memory, circuit, module, or system. Furthermore, the present invention can take the form of a computer program product incorporated in any tangible medium of expression having computer-usable program code embedded in the medium. Since the present invention can be implemented In software, the present invention can be incorporated as computer-readable code for provision to a programmable apparatus on any suitable carrier medium. A tangible carrier medium may comprise a storage medium such as a hard disk drive, a magnetic tape device, or a solid-state memory device, and the like. A transient carrier medium may include a signal such as an electrical signal, an electronic signal, an optical signal, an acoustic signal, a magnetic signal, or an electromagnetic signal, for example, a microwave or RF signal. Rczonn / eznz / E / YiAi Brief description of the drawings The following are examples of embodiments of the invention, with reference to the drawings below, in which: Figure 1 illustrates a logical architecture of a video encoder; Figure 2 illustrates a logical architecture of the video decoder corresponding to the logical architecture of the video encoder illustrated in Figure 1; Figure 3 schematically illustrates examples of a YUV sampling scheme for a 4:2:0 sampling; Figure 4 illustrates, using a flowchart, general steps for generating a block predictor using LM mode, performed either by an encoder or a decoder; Figures 5A and 5B schematically illustrate a chroma block and an associated or co-located luma block, 5 with subsampling of the lumia samples, and neighboring chroma and luma samples, as known in the previous technique; Figures 6A-6D schematically illustrate illustrative sample sets for the derivation of LM parameters as known in the prior art; Figure 7 illustrates some known subsampling filters in the previous technique; Figure 8 illustrates an illustrative encoding of signaling indicators to signal LM modes; Figure 9 illustrates neighboring sample points of 15 luma and chroma and a straight line representing the linear model parameters obtained in one mode of irrationality; Figure 10 illustrates the main steps of a simplified LM derivation process in one embodiment of the invention; Figure 11 illustrates several sample points and neighboring luma and chroma segments used to determine the two best points in some embodiments of the invention; Figure 12 illustrates the main steps of an MMLM derivation process in a modality of the Rczonn / rznz / E / YiAi invention; and Figure 13 is a schematic block diagram of a computer device for the implementation of one or more modalities of the invention. Detailed description of the modalities Figure 1 illustrates a video encoder architecture. In the video encoder, an original sequence 101 is divided into blocks of pixels 102 called encoding blocks or encoding units for HEVC. One encoding mode is applied to each block. There are two families of encoding modes commonly used in video encoding: spatial prediction-based encoding modes, or INTRA modes 103, and temporal prediction-based encoding modes, or INTER modes, based on motion estimation 104 and motion compensation 105. An INTRA-coding block is typically predicted from the encoded pixels at its causal boundary using a process called INTRA-predicoloning. The predictor for each pixel in the INTRA-coding block thus forms a predictor block. Depending on which pixels are used to predict the INTRA-coding block, several INTRA modes are proposed: for example, DC mode, a planar mode, and angular modes. Although Figure 1 is intended for a description Regarding the general architecture of a video encoder, it should be noted that a pixel here corresponds to an element of an image, which generally consists of several components, for example, a red component, a green component, and a blue component. An image sample is an element of an image, comprising only one component. The temporal prediction first involves finding, in a previous or future frame, called the reference frame 116, a reference area that is closest to the encoding block in a motion estimation step 104. This reference area constitutes the predictor block. This encoding block is then predicted using the predictor block to calculate the remainder or residual block in a motion compensation step 105. In both cases, spatial and temporal prediction, a residual or residual block is calculated by subtracting the obtained predictor block from the encoding block. In INTRA-prediction, a prediction mode of 20 is encoded. In time prediction, an index indicating the reference frame used and a motion vector indicating the reference area within that frame are encoded. However, to further reduce the bit rate cost associated with encoding the vector, the 25-bit rate is used. In motion encoding, a motion vector is not directly encoded. In fact, assuming homogeneous motion, it is particularly advantageous to encode a motion vector as the difference between this motion vector and a motion vector (or motion vector predictor) in its environment. In the H.264 / AVC encoding standard, for example, motion vectors are encoded with respect to a median vector calculated from the motion vectors associated with three blocks located above and to the left of the current block. Only a difference, also called a residual motion vector, calculated between the median vector and the motion vector of the current block is encoded in the bitstream. This is processed in the prediction and encoding module Mv 117. The value of each encoded vector is stored in field 118 of the motion vector.The neighboring motion vectors, used for prediction, are extracted from the 118 field of the motion vector. The HEVC standard uses three different INTER modes: Inter mode, Fusion mode, and Jump Fusion mode differ primarily in how they signal motion information (i.e., the motion vector and its associated reference frame via its so-called reference frame index) in bit stream 110. For simplicity, the motion vector and information The motion vectors Rczonn / eznz / E / YiAi are combined below. Regarding motion vector prediction, HEVC provides several motion vector predictor candidates that are evaluated during a velocity warp competition to find the best motion vector predictor or the best motion information for Inter or Fusion mode, respectively. An index corresponding to the best predictors or the best motion information candidate is inserted into bit stream 11C. Thanks to this signaling, the decoder can derive the same set of predictors or candidates and uses the best one according to the decoded index. The design of the motion vector predictor and candidate derivation process contributes to achieving optimal coding efficiency without a significant increase in complexity. In HEVC, two motion vector derivations are proposed: one for Inter mode (known as Advanced Motion Vector Prediction (AMVP)) and another for Fusion modes (known as the derivation process). 0 defusion) . Next, the encoding mode that optimizes a speed distortion criterion for the currently considered encoding block is selected in module 106. To further reduce redundancies within the obtained residual data, a Rczonn / rznz / E / YiAi transformation, generally a DCT, to the residual block in modulo 107, and a quantization is applied to the coefficients obtained in modulo 108. The quantized block of coefficients is then encoded in entropy in modulo 5 109 and the result is inserted into the bit stream 110. Next, the encoder decodes each of the encoded blocks of the frame for future motion estimation in modules 111 to 116. These steps allow the encoder and decoder to have the same reference frames. To reconstruct the encoded frame, each of the quantized and transformed residual blocks is inversely quantized in module 111 and inversely transformed in module 112 to provide the corresponding reconstructed residual block in the pixel domain. Due to the loss of quantization, this reconstructed residual block differs from the original residual block obtained in step 106. Next, according to the encoding mode selected in 106 (INTER or INTRA), this reconstructed residual block 20 is added to the INTER-predictor block 114 or the INTRA-predictor block 113, to obtain a pre-reconstructed block (encoder block) Next, the pre-rebuilt blocks are filtered in module 115 by one or more types of post25 filtering to obtain rebuilt blocks (blocks of Rczonn / eznz / E / YiAi encoding). The same post-filters are integrated into the encoder (at the decoding end) and the decoder to be used in the same way in order to obtain exactly the same reference frames at the encoder and decoder ends. The purpose of this post-filtering is to eliminate compression artifacts. Figure 2 illustrates a video decoder architecture corresponding to the video encoder architecture illustrated in Figure 1. The video sequence 201 is first entropy-decoded in a modulo 202. Each resulting residual block (encoding block) is inversely quantized in a modulo 203 and inversely transformed in a modulo 204 to obtain a reconstructed residual block. This is similar to the beginning of the decoding loop at the encoder end. Next, according to the decoding mode indicated in bit stream 201 (LNTRA type decoding or type decoding INTER), a predictor block is built. In the case of INTRA mode, an INTRApredictor block is determined 205 based on the INTRAprediction mode specified in bit stream 201. In the case of INTER mode, the information of Rczonn / rznz / E / γΐΛΐ motion is extracted from the bitstream during entropy decoding 202. Motion information is composed, for example in HEVC and JVET, of a reference frame index and a residual motion vector. A motion vector predictor is obtained in the same way as the encoder (from neighboring blocks) using previously calculated motion vectors stored in the field data of motion vector 211. Therefore, 210 is added to the residual block of the extracted motion vector to obtain the motion vector. This motion vector is added to the field data of motion vector 211 to be used for predicting subsequent decoded motion vectors. The movement vector is also used to locate the reference area in the 206 reference frame which is the INTER-predictor block. Next, the reconstructed residual block obtained in 204 is added to the INTER-predictor block 206 or the INTRA-predictor block 205, to obtain a pre-reconstructed block (coding block) in the same way as the encoder's decoding loop. This pre-rebuilt block is then subsequently filtered in module 207 as is done at the encoder end 25 (filtering signaling). Rczonn / eznz / E / YiAi later that is to be used can be recovered from bit stream 201). This results in a reconstructed block (encoding block) that forms the decompressed video 209 as the 5 output of the decoder. The encoding / decoding process described above can be applied to monochrome pictures. However, the most common pictures are color pictures, generally made up of three sets of color samples, each set corresponding to a color component, for example R (red), G (green), and B (blue). One pixel in the image comprises three corresponding samples, one for each component. The R, G, and B components usually have a high correlation with each other. Therefore, it is very common in image and video compression to decorrelate the color components before processing the frames, converting them to another color space. The most common format is YUV (YCbCr), where Y is the luminance component, and U (Cb) and V (Cr) are the chroma (or dominance) components. To reduce the amount of data to be processed, some color components of the color frames can be undersampled, resulting in different sampling ratios for the three color components. A subsampling scheme is commonly expressed Rczonn / eznz / E / YiAi as a three-part relationship J:a:b that describes the number of luma and chroma samples in a conceptual region 2 pixels high. 'J' defines the horizontal sampling reference of the conceptual region (i.e., a width of 5 pixels), usually 4. 'a' defines the number of chroma samples (Cr, Cb) in the first row of J pixels, while 'b' defines the number of (additional) chroma samples (Cr, Cb) in the second row of J pixels. With subsampling schemes, the number of chroma samples is reduced compared to the number of samples of 1 u mi a . The 4:4:4 YUV or RGB format does not provide subsampling and corresponds to a non-subsampled frame where the luma and chroma frames have the same W x H size. The 4:0:0 YUV or RGB format has only one color component and therefore corresponds to a monochrome frame. Examples of sampling formats are as follows. The 4:2:0 YIR / ' format has half the number of chroma samples as luma samples in the first row, and no chroma samples in the second row. The two chroma frames are therefore W / 2 pixels wide and H / 2 pixels high, whereas the luma frame is W x H. The 4:2:2 YUV format has half of the chroma samples in the first row and half of the samples in the second row. Rczonn / eznz / E / YiAi chroma in the second row, like the moon samples. The two chroma frames are therefore W / 2 pixels wide and H-pixels high, whereas the luma frame is W x H. The 4:1:1 YUA format has 75% fewer chroma samples in the first row and 75% fewer chroma samples in the second row than luma samples. The two chroma squares are therefore W / 4 pixels wide and H pixels high, whereas the luma square is W x H. When subsampling, the positions of the chroma samples in the squares are shifted compared to the positions of the luma samples. Figure 3 illustrates an illustrative positioning of chroma samples (triangles) with respect to luma samples (circles) for a YUV 4:2:0 frame. The encoding process in Figure 1 can be applied to each color component box of an input box. Due to the correlations between color components (between RGB or the remaining correlations between YUV and 20 despite the RGB to YUV conversion), cross-component prediction (CCP) methods have been developed to take advantage of these (remaining) correlations in order to improve encoding efficiency. CCP methods can be applied at different stages of the encoding or decoding process, in Rczonn / eznz / E / YiAi in particular in a first prediction stage (to predict a current color component) or in a second prediction stage (to predict a current residual block of a component). A well-known CCP method is LM mode, also called CCLM (Cross-Component Linear Model prediction). It is used to predict both chroma components Cb and Cr (or U and V) from luma Y, more specifically from the reconstructed luma (at the encoder or decoder end). A predictor is generated for each component. The method operates at the block level (chroma and luma), for example, at the CTU (coding tree unit), CU (coding unit), FU (prediction unit), sub-PU, or TU (transformation unit) level. Figure 4 illustrates as an example, using a flowchart, general steps to generate a block predictor using LM mode, performed either by the encoder (used as a reference below) or the decoder. In the description that follows, a first illustrative component is chroma while a second exemplary component is luma. Considering) a current chroma block 502 (Figure 5A) for encoding or decoding and its Luma 505 block Rczonn / eznz / E / YiAi associated (or co-located) (i.e., from the same CU, for example) in the same frame, the encoder (or decoder) receives, in step 401, a set of neighboring luma samples RecL comprising luma samples 5 503 neighboring to the current luma block, and receives a set of neighboring chroma samples RecC comprising chroma samples 501 neighboring to the current chroma block, denoted by the number 402. It should be noted that for some chroma and chroma phase sampling formats, luma samples 504 and 503 are not directly adjacent to luma block 505 as depicted in Figure 5A. For example, in Figure 5A, to obtain the left row RecL' (503), only the second left row is needed and not the direct left row. Similarly, for the ascending line 504, the second ascending line 15 is also considered for subsampling of the luma sample as depicted in Figure 5A. When a chroma sampling format is used (e.g., 4:2:0, 4:2:2, etc.), the set of neighboring luma samples is sampled in step 4.03 in RecL' 4.04 to match the chroma resolution (i.e., the sample resolution of the corresponding chroma frame / block). Therefore, RecL' comprises reconstructed luma samples adjacent to the current luma block being subsampled. Thanks to subsampling, RecL' and RecC comprise the same number of samples (the chroma block is N x 2N). N). Without However, there are particular luma edge subsampling techniques in the previous method where fewer samples are needed to obtain RecL'. Furthermore, even if RecL and RecC have the same resolution, RecL' can be seen as the noise-free version of RecL, using a low-pass convolution filter. In the example in Figure 5A, the neighboring luma and chroma sample sets are made from the subsampled upper and left neighboring luma samples and the upper and left neighboring chroma samples, respectively. More precisely, each of the two sample sets consists of the first line immediately adjacent to the left boundary and the first line immediately adjacent to the upper boundary of its respective chroma or luma block. Due to the subsampling (4:2:0 in Figure 5A), the single line of neighboring luma samples RecL' is obtained from two lines of unsampled reconstructed luma samples RecL (left or top). US patent 9,565,428 suggests using subsampling that selects a single sample only for the upstream line (i.e., adjacent to the upper boundary of the luma block) and not for the luma block itself (as described below with reference to step 408). The proposed subsampling is illustrated in Figure 6A. The motivation for this approach is to reduce the upstream line buffer. The linear model defined by one or two parameters (a slope a and a displacement β) is derived from RecL' (if it exists, otherwise RecL) and RecC. This is step 405 to obtain the parameters 406. The parameters LM and β are obtained using a least squares mean method using the following equations: MY^=1RecCi. RecL'f - .X^LiRecL'i Aí a =--------------------------- = — M.XiiyRecL'i2- (X^RecL'yÁ RecC; — (Χ.Σγ-λ RecL'; β = —--------—---'M where M is a value that depends on the size of the block considered. In general cases of square blocks as shown in Figures 5A and 5B, M = 2N. However, the LM-based CCP can be applied to any block shape where M is, for example, the sum of the block height H plus the block width Vi (for a rectangular block shape). It should be noted that the value of M used as a weight in this equation can be adjusted to avoid computational overflows in the encoder and decoder. To be precise, when using arithmetic with 32-bit or 64-bit signaled architectures, some calculations can sometimes overflow and cause unexpected behavior. Rczonn / rznz / E / YiAi specified (which is strictly prohibited in any cross-platform standard). To deal with this situation, the maximum possible magnitude can be evaluated given the values ​​of the RecL' and RecC inputs, and M (and, in turn, the sums above) can be scaled accordingly to ensure that no overflow occurs. The ue x' ivacion of the geriex'almeiite parameters is performed from the RecL' and RecC sample sets shown in Figure 5A. Variations of the sample sets have been proposed. For example, US patent 9,288,500 proposes three sets of competition samples, including a first set of samples consisting of the outer line adjacent to the upper limit and the outer line adjacent to the left limit, a second set of samples consisting only of the outer line adjacent to the upper limit, and a third set of samples consisting only of the outer line adjacent to the left limit. These three sets of samples are shown in Figure 6B for the chroma block only (and can therefore be transposed to the 1-urn block). US patent 9,462,273 extends the second and third sets of samples to additional samples that extend the outer lines (generally doubling their Rczonn / cznz / E / YiAi length). Extended sample sets are shown in Figure 6C for the chroma block only. This document also provides a reduction in the number of available LM modes to decrease signaling costs for signaling the LM mode used in the bitstream. The reduction can be contextual, for example, based on the Intra mode selected for the associated luma block. The document) US 9,736,487 proposes three sets of competitive samples similar to those in the document US 9,288,500, but formed, each time, by the two lines of neighboring external samples parallel and immediately adjacent to the limits considered. These sample sets are shown in Figure 6D only for the chroma block. Also, document US 9,153,040 and documents from the same patent family propose additional sample sets made of a single line per boundary, with fewer samples per line than the previous sets. Returning to the process in Figure 4, using the linear model with one or more derived parameters 406, an intra-chromatic predictor 413 for the chroma block 502 can be obtained from the reconstructed luma samples 407 of the actual luma block represented in 505. Again, if a chroma sampling format is used (e.g., 4:2:0, 4:2:2, etc.), the reconstructed luma samples are Rczonn / eznz / E / YiAi sample in step 4 08 in L' 409 to match the chroma resolution (i.e., the resolution of the sample of the corresponding chroma block / frame). The same subsampling can be used as for step 403, or another for a line buffer reason. For example, a 6-tap filter can be used to provide the subsampling value as a weighted sum of the upper left, upper, upper right, lower left, lower, and lower right samples surrounding the subsampling position. When some surrounding samples are missing, a simple 2-tap filter is used instead of the 6-tap filter. Applied to the reconstructed luma samples L, the output L' of an illustrative 6-touch filter is obtained as follows: L[ / , j] = (2 x L[2 / ,2j] + 2 x ¿[2 / ,2j + 1] + L[2i - 1,2 j] + L[li + l,2j] + £[2 / -1,2 j + 1]+ L[2i + 1,2 j + 1]+ 4) » 3 Rczonn / cznz / E / YiAi where (i, j) are the coordinates of the sample within the subsampled block and >> being the right bit shift operation. Adaptive luma subsampling can also be used, as described in US patent 2017 / 0244975. Only the luma block content is used to determine which subsampling filter to use for each reconstructed luma sample within the luma block. A one-touch filter is available. The motivation for this approach is to avoid edge propagation in the subsampled luma block. Thanks to subsampling step 4.08, blocks L' and C (the set of chroma samples in the chroma block) 502) comprise the same number N2 of samples (chroma block 502 is N x N). Next, each sample of the intra-chromatic predictor PredC 413 is calculated using the 410-411-412 loop following the formula PredC[i,j] — a.L'[i,j] + p where (i, j) are the coordinates of all samples within the chroma and luma blocks. To avoid division and multiplication, the calculations can be implemented using less complex methods 15 based on lookup tables and shift operations. For example, the actual derivation of the chroma intrapredictor 411 can be done as follows: PredC[i,j] = » S + β where S is an integer and A is derived from Al and A2 (introduced earlier when calculating a and β) using the lookup table mentioned above. It actually corresponds to a rescaled value of a. The operation (x >> S) corresponds to the right bit shift operation, equivalent to an integer division of x (with truncation) by 2S. Rczonn / eznz / E / YiAi When all samples of the subsampled luma block have been analyzed (412), the intra-chromatic predictor 413 is available to subtract from the chroma block 502 (to obtain a residual chroma block) at the encoder end or to add to a residual chroma block (to obtain a reconstructed chroma block) at the decoder end. It should be noted that the residual chroma block may be negligible and therefore discarded, in which case the intra-predictor chroma obtained 413 corresponds directly to the predicted chroma samples (forming the chroma block 502). Both the ITU-T VCEG (Q6 / 16) and ISO / IEC MPEG (JTC 1 / SC 29 / WG 11) standardization groups that defined the HEVC standard are studying future video coding technologies for the successor to HEVC in a collaborative effort known as the Joint Video Exploration Team (JVET). The Joint Exploration Model (JEM) contains HEVC tools and 20 new tools selected by this JVET group. In particular, this reference software contains some CCP tools, as described in document JVETG1001. In the JEM, a total of 11 intra-25 modes are permitted for chroma encoding. These modes include five Rczonn / rznz / E / YiAi traditional intra-modal modes and six cross-component LM modes to predict Cb from Y (indicated in bitstream 110, 201) and one cross-component LM mode to predict Cr from Cb. One of the six Ya-Cb CC LM modes is the CCLM described above, in which the neighboring luma and chroma sample sets RscL1 and RecC are formed by the first line immediately adjacent to the left boundary and the first line immediately adjacent to the upper boundary of their respective luma or chroma block as shown in Figure 5A. The other five Ya-Cb CC LM modes are based on a particular derivation known as the Multiple Model (MM). These modes are labeled MMLM. In comparison to CCLM, MMLM modes use two linear models. Neighboring reconstructed luma samples from the RecL' set and neighboring chroma samples from the RecC set are sorted into two groups; each group is used to derive the a and β parameters of a linear model, resulting in two sets of linear model parameters (αi, βi) and (οχ, βζ). For example, a threshold can be calculated as the average value of neighboring reconstructed luma samples that form RecL'. A neighboring luma sample with RecL'[i, j] < the threshold is then classified in group 1, Rczonn / rznz / E / YiAi, while a neighboring luma sample with RecL'[i, j] > the threshold is classified in group 2. Next, the intra-predictor of chroma (or the chroma samples predicted for the current chroma block 5 602) is obtained according to the following formulas: PredC[i,j] = αχ. L'[í,j] -l- βνsiL'[i,j] < threshold PredC[i,j] — a2.L'[i,j] + / ?2>51> threshold Furthermore, compared to CCLM, MMLM modes use luma and chroma sample sets RecL' and RecC, each consisting of the two parallel and immediately adjacent outer neighbor sample lines to the upper and left limits of the block under consideration. Figure 5B shows an example illustrating a 4:2:0 sample format for which the two neighboring luma sample lines are obtained (using subsampling) from four unsampled reconstructed luma sample lines. Rczonn / eznz / E / YiAi The five MMLM modes differ from each other by five different subsampling filters to sample the reconstructed luma samples to match the 20 chroma resolution (to obtain RecL' and / or L'). The first MMLM mode is based on the same 6-touch filter used in CCLM (see the 6 black dots in reference 701 of Figure 7). The second through fourth MMLM modes are based on 2-touch filters that provide the mastered value as a weighted sum of: -the upper right and lower right samples of the six samples (used by the 6-tap filter) surrounding the subsampling position (see filter 1, 702 of Figure 7): ó [ú j]=(L[2¿ + l,2j] + L[2i + 1,2 / + 1] + 1) » 1 (the same applies to p11 icacon R e cL), - the lower and lower right samples of the six samples (used by the 6-tap filter) surrounding the subsampling position (see filter 2, 703 in Figure 7): = (L[2i, 2j + 1] + L[2i + l,2j + 1] + 1) » 1 and - the top and top right samples of the six samples (used by the 6-tap filter) surrounding the subsampling position (see filter 4, 705 in Figure 7): = (L[2i,2j] + L[2i + 1,2 / ] + 1) » 1 The fifth MMLM mode is based on the 4-tap filter, which provides the subsampling value as the weighted sum of the upper, upper right, lower, and lower right samples of the six samples (used by the 6-tap filter) surrounding the sampling position (see filter 3, 704 in Figure 7): = (L[2i, 2j] + L[2i, 2j + 1] + L[2i + 1,2)] + L[2i + 1,2) + 1] + 2) » 2 As stated above, the CCLM or MMLM mode Rczonn / eznz / E / YiAi must be signaled on bit stream 110 or 201. Figure 8 illustrates an illustrative LM mode signaling of JEM. A first binary flag indicates whether the current block is predicted using an LM mode or other intra-modes, including so-called DM modes. In the case of LM mode, all six possible LM modes must be signaled. The first MMLM mode (using the 6-tap filter) is signaled with a second binary flag set to 1. This second binary flag is set to 0 for the remaining modes, in which case a third binary flag is set to 1 to indicate CCLM and set to 0 for the remaining MMLM modes. Two additional binary flags are then used to signal one of the four remaining MMLM modes. A mode is indicated for each chroma component. The previously introduced CCLM Cb-to-Cr mode is used in DM modes and is applied at a residual level. In fact, a DM mode uses the intra-mode for chroma that was used for luma in a predetermined location. Traditionally, an encoding mode like HEVC uses a single DM mode, located near the top left corner of the CU. Without going into too much detail, and for the sake of clarity, JVET provides several of these locations. This mode is used to determine the prediction method; therefore, it creates a typical intra-prediction for a chroma component which, when subtracted from the reference / original data, produces the Rczonn / eznz / E / YiAi residual data mentioned above. The prediction for the Cr residual is obtained from the Cb residual (ResidualCb below) using the following formula: PredCr[i,f] = a. ResidualCb[i, j] where a is derived similarly to the CCLM luma-to-chroma prediction. The only difference is the addition of a regression cost relative to a default value of a in the error function, so that the derived scaling factor is biased toward a default value of -0.5 as follows: M.ZiLiRecCbi.RecCrj -XihRecCbi.XiLrRecL'i +Λ (-0.5) ct =---------------------------------------------------------------------M.^=1RecCb? - (Z^RecCbi)2+ λ Rczonn / eznz / E / YiAi where RecCb i represents the values ​​of neighboring reconstructed Cb samples, RecCr i represents neighboring reconstructed Cr samples, and M λ = RecCb? » 9 = 1 The well-known LM models present a high degree of computational complexity, particularly when deriving the parameter of the linear model using methods based on least squares. The present invention seeks to improve the situation in terms of coding efficiency and / or comparability complexity. The invention is based on the derivation replacement of a linear model used to calculate chroma predictor block samples from luma block samples by determining the parameters of the linear model based on the equation of a straight line. The straight line is defined by two pairs of samples, which are based on reconstructed pairs of samples in the vicinity of the block. First, the two pairs of samples to be used are determined. Then, the parameters of the linear model are determined from these two pairs of samples. By limiting the number of sample pairs used in determining the linear model to two, the use of a least-squares mean method can be avoided. The proposed method is therefore less computationally intensive than the known method that uses a least-squares mean method. Figure 9 illustrates the principle of this method by considering the minimum and maximum luma sample values ​​in the set of sample pairs in the vicinity of the current block. All sample pairs are plotted in the figure according to their chroma and luma values. Two distinct points are identified in the figure, namely point A and point B, each corresponding to a sample pair. Point A corresponds to the sample pair with the lowest luma value xa from RecL' and va its co-located chroma value from RecC. Point B corresponds to the sample pair with the highest luma value xs and ye its value of Rczonn / eznz / E / YiAi co-located chroma. Figure 10 provides the flowchart of a proposed method for deriving the parameters of the linear model. This flowchart is a simplified version of Figure 4. The method is based on the neighboring luma samples RecL' obtained in step 1001 and the chroma samples RecC obtained in step 1002. In step 1003, the two points A and B (1004) corresponding to two pairs of samples are determined. In a first modality, these two points A and B correspond to the pairs of samples with the lowest and highest luma sample values ​​xa and xb with their corresponding chroma sample values ​​va and ye. Then, the equation of the straight line crossing points A and B is calculated in step 1005 according to the following equation: Vb-Va a =----χβ- xAβ = yA- axA The a, β obtained are the parameters of the linear 1006 model used to generate the chroma predictor. The derivation of the linear model, based on the LMS algorithm used in the previous technique, has a certain complexity. In this known method, the calculation of the parameter ex of the model is obtained using the following equation: Rczonn / eznz / E / YiAi M M M Μ Re cC¡ Re cL'(— Re cC¡ Re cLl 1=1________________________________1=1______________1=1______________ M ( M3 M^RecL'c- ^RecL', 1=1 V 1=1J Bt-B, _ A, B, -B4~T2 The analysis of this equation with respect to the complexity of the calculation yields the following results. The calculation of Bi requires M + 1 multiplications and M additions, where M is the number of sample pairs. The calculation of Bs requires 1 multiplication and 2M additions. The calculation of Be requires M + 1 multiplications and M additions, and the calculation of Bre requires 1 multiplication and 2M additions. The calculation of a B}-B, corresponding to ----- requires two additional additions and one division. To calculate β, a multiplication and 2M + 1 additions and a division. As described above, M is the number of sample pairs RecCi and RecL'i. The complexity of the LMS derivation of ay β is, 15 therefore, (2M + 2 - 2) multiplications, (7M + 3) additions and two divisions. In comparison, the analysis of the proposed method based on calculating the equation of a straight line using only two points yields the following results. As reported, the derivation step 1005 requires only one multiplication, three additions, and one division. This significant reduction in the complexity of generating the linear model parameters is a major advantage of the proposed invention. It should be noted that the search for the minimum and maximum values ​​has its own complexity, generally related to the classification algorithm. Operation 5 is not completely serial: N points can be compared with N other points, generating N minimum / maximum points. Then, N / 2 minimum and N / 2 maximum points can be compared with the N / 2 others, then again N / 4, and so on until only the desired number of minimum and maximum points remain. Therefore, the search for the minimum and maximum usually results in approximately 2 + N - 2 comparisons (N1 for each). As previously described, the chroma predictor can be calculated using integer multiplication and a 15-point shift instead of floating-point multiplication and division when calculating the slope. This simplification involves replacing: predc(i, j) = a · rec'¿1'» + β by: 0 predc(j, f) = (k rec'¿1'^ » S + β To use only integer multiplication and displacement, in one mode, the equation of a straight line is obtained as follows: Rczonn / eznz / E / YiAi s = 10L_ (yB- Va) « S xb-xaβ =yA~L(.XA » 5) Rczonn / eznz / E / YiAi It should be noted that β refers to this equation 5 below if a is replaced by L and S, otherwise, it refers to the traditional equation β = va - ax.ñ. Another advantage of this derivation is that the change value S always has the same value. This is particularly interesting for hardware implementation, which can be simplified by taking advantage of this property. In yet another approach, the value of S is forced to be low, since L could be large, requiring larger multiplication operations. In fact, multiplying an 8-bit value by an 8-bit value is much easier to implement than, for example, an 8 * -16 multiplier. Typical practical values ​​for L are often equivalent to a multiplier of fewer than 8 bits. However, the preferred mode is a known fixed-point implementation: for each value of D = (xb-xa) , possibly quantized (e.g., the results for 2D+0 and 2D+1 are stored as one), the value of (1 << S) / D is stored in a table. Preferably, these are only for positive values, since the sign can be easily recovered. Using a TAB matrix, the calculation of L thus becomes: L = f ^yB~ *TAB\abs(xB— x^ / Q] ifxB-xA>0 l—1 * (yB— yA) * TAB[abs(xB— xA) / Q] otherwise Q controls quantization and therefore the number of elements in the table. Using Q = 1 means no quantization. It should also be noted that the index sought can be instead (x̄ - 0 + R) / Q, usually with R = Q / 2, or a variation thereof from rounding the division. Consequently, Q is ideally a power of 2, so division by Q = 2P is equivalent to a right shift by P. Finally, some of the values ​​in that table may not be equal to 0: low values ​​of abs(xB - xa) or abs(ye - ya) often result in very poor estimates of L. Default or explicit values ​​(such as in the sector header or in a parameter set such as PPS or SPS) can be used. For example, for all values ​​of D below 4, the TAB matrix might contain a default value, for example, -(1 << S) / 8. For 10-bit content and Q = 1, up to 2048 array entries are needed. By exploiting sign symmetry as shown above, this can be reduced to 1024. Further increasing Q would similarly reduce the size of TAB. If any of the samples (RecL or RecC, or both) Rczonn / cznz / E / YiAi are residual samples (i.e., derived from the difference between two blocks, possibly quantified), as is the case in JVET with Cb to Cr prediction, so the table size (and content) can be adapted accordingly. In another preferred mode, the determination of the two parameters of the straight line ay |3 is calculated in the following formula predc(i, j~) = a · recp''^ + β is calculated so that integer arithmetic can be used to be easily implemented in hardware. More precisely, the determination of the parameters a and β can only be carried out using integer multiplications and bit-shifting operations on integers. Such calculations use fewer hardware resources (e.g., memory and time) than other types of calculations, such as floating-point arithmetic. To perform this integer arithmetic, the following steps are carried out. A first intermediate offset value p is determined by taking into account the bit depth of the 20 Luma and Chroma samples to be processed. This bit offset value ensures a specified maximum value for the denominator (called 'dif') of a. In the present mode, the maximum value of 'dif' is 512, and as such, it can be represented in a table with 512 entries. By forcing a specific maximum value of 'dif', a table can be used. Rczonn / rznz / E / YiAi common (or table set) for a variety of different bit depths that reduces total memory requirements. The value of the shift p, therefore, depends on the bit depth of the samples, such as (for example, if the samples are 10-bit encoded, the maximum difference between the maximum and minimum is 1024. To represent this in a table of 512 entries, it must be divided by 2 or shifted by 1 bit, so shift p = 1. A relationship between offset and bit depth can, for example, be extracted from the following Table 1, or provided by the following expression: offset p = (bit depth > 9)? bit depth - 9:0 Alternatively, this can be represented by the following expression: „ , (Bit Depth — 9, if Bit Depth > 9 Displacement p = < „ , , ( 0, otherwise An optional rounding addition value can also be calculated to make 'dif' an integer after the bit shift. The 'addition' value is related to the shift p> according to the following expression: addition = displacement p? 1 << (displacement p Rczonn / eznz / E / YiAi 1) :0. Alternatively, this can be represented by the following expression: í z^iesp^nmientap-i) if displacement p > 0 addition = <r ri 0, de lo contrario alternativamente, una relación directa entre 'profundidad bits' y 'adición' se puede proveer mediante las siguientes expresiones: adición="(profundidad" bits>9)? 1 << (bit depth - 10):0 addition = (2^bit depth~10^ if bit depth > 9 t 0 otherwise Table 1 below provides example values ​​of py offset addition corresponding to the bit depth of the Luma and Croma samples to be processed, which range from 8 to 16 bits. Table 1: Example Rczonn / cznz / E / YiAi value displacement py addition bit depth Shift value p Addition value 8 or 9 bits 0 0 10 bits 1 1 11 bits z 2 12 bits 3 4 13 bits 4 H 14 bits 16 15 bits 6 32 16 bits 7 64 This table can be stored in memory to avoid the need to recalculate 'shift p' and 'addition', which can reduce the number of processing operations. However, some implementations may prioritize reducing memory usage over the number of processing operations, and as such, 'shift p' and 'addition' may be calculated each time. Therefore, a dif value represents the range value between the minimum and maximum values ​​of the samples of Rczonn / rznz / E / γΐΛΐ luma in a way suitable for processing using integer arithmetic. The value of 'dif' is an integer that is restricted within a certain range by the use of 'shift ρ'. This dif value is calculated from the following formula: diff = (xB - xA + addition) >> shift p Next, the parameters a and β are calculated; it should be remembered that a and β define the slope and the intersection of the intersection points of the linear model A and B: yB-yA a =----xB- xAβ = yA- axA If the dif value it represents is equal to zero, then the parameters a and β are assigned as follows: a = 0 β — yA (o β Vb) The choice to use point A Β can be determined by the point that is currently stored in memory to reduce the number of processing operations. Otherwise, if the dif value is strictly positive, the value of a is determined by the following formula a = ( ( (ya - yr)ψPise· (2k / dif) + div + addition) >> displacement ρ) (1) where the Piso (x) function provides the largest integer value less than or equal to xy where the intermediate parameter div is calculated as follows: div = ( (yB- yA) * (Floor ( (2k* 2k) / dif) - Floor (2k / dif)+2k) + 2lk-i!) » k (2) The precision of this division is represented by the variable k. A value of k = 16 has been found to provide the best encoding efficiency and allows for accurate representation of a and β using integer arithmetic. This will allow for accurate prediction of the Chroma sample when using the corresponding Luma sample. As will be described in more detail below, the value of k also defines the amount of memory required for each entry. A value of k = 16 allows a 16-bit memory register, which can be represented in 2 bytes, for use when addressing each of the entries in the table. Rczonn / rznz / E / YiAi The parameter β is determined by applying the equation 9 of straight line at a single point of the straight line which could be point A |3 = yA- ( (a+xa) >> k), or point B β = yB- ( (aψxb) >> k) . The choice between point A and point B can be determined by the point currently stored in memory to reduce the number of processing operations. Alternatively, it could be a fixed option, for example, defined in a standard. From a hardware implementation standpoint, some of the terms in formulas (1) and (2) could be replaced with tables that store previously calculated values. The main advantage of such tables is to avoid calculating the intermediate Floor function each time the parameters a and β are derived. In this way, multiple processing operations can be replaced by a single search operation. For example, equation (1) can be simplified as follows to provide equation (3) using a table TAB1 [dif]: a = ( ( (ye - Ya)ψTAB1 [dif] + div + addition) >> displacement p) (3) where TAB1 [dif] = Floor (2k / dif). Similarly, equation (2) can be simplified using predefined tables TAB1 [dit] and TAB2 [dif] to avoid repeating the same operations. div = ( (yB- yd (TAB2 [diff] - TAB1 [diff]+2k) + 2<k~'> ) >> k (4) where TAB2 [dif] = Floor ((2k ψ2k) / dif). This equation (4) could be further simplified with the following equation: div = ( (yB- yA)+(TAB3 [dif]) + 2'kb) » ].- (5) where Rczonn / eznz / E / YiAi TAB3 [dif] = TAB2 [dif] - TAB1 [dif] * 2k= Floor ( (2k ψ2k) / dif) - 2k 4Floor (2k / dif). TAB1 and TAB3 (and also TAB2) are tables that each have N entries N = 2 (bit depth - offset p) and each entry is represented by k bits. In accordance with the definition of the integer variable dif above, and taking, for example, a sample value of Luma or Chroma represented in 10 bits, the maximum value of dif is 512 (using the table above). This means that tables TAB1 and TAB3 (and also TAB2) can each be represented by a matrix with 512 entries, and each entry is encoded in bits k = 16. The shift variable p given in Table 1 allows us to obtain the same number of entries (here 512) according to the bit depth of the samples to be processed. As mentioned earlier, these matrices (TAB1 to TAB3) can be stored in memory to reduce the number of operations required to derive the parameters a and β in equations (1) and (2). Within the scope of WC standardization work, this method can be used to implement the division to retrieve the parameters a and β from the linear model to predict a Chroma sample from a Luma sample. However, it has been surprisingly found that the size of the table and the representation of each entry can be reduced without negatively impacting coding efficiency. As described above, the total memory required to store each table depends on the value of the offset y, and the number of bits to represent each entry can be encoded using the value k. In the mode discussed above, two tables (TAB1 and TAB3) are used, and each table has 512 entries and k = 16. The memory required to represent these two tables TAB1 and TAB3 is: 2^20ψ512 * 16 = 16,384 bits, which can be stored in 204 bytes. The modification of the parameters that determine memory requirements (both independently and jointly) will now be described. Rczonn / eznz / E / YiAi Number of entries in each table (matrix) Although good compression is achieved by using a table with a size of 512 entries, these tables can be considered quite large and it is advisable to reduce their size. Tables 3 and 4 show the impact on coding efficiency according to Bjontegard metrics (see, for example, Bjontegard. Calculation of average PSNR differences between re-curves Doc. VCEG-M33 ITU-T Q6 / 16, 10 April 2001. 7 9 Z. Xiong, A. Liveris, and S. Cheng for an explanation of how these metrics are determined) when the number of entries is reduced from 512 to 256 and 128 entries, respectively. The decrease in table size is achieved by increasing the 'offset p' value by one (N = 2 (bit depth - offset p)). p ]_ 'addition' value SO can add accordingly. The alteration of N to 256 or 128 is shown in Table 2 below: Rczonn / eznz / E / YiAi Table 2: Example of value shift and addition for a table of 256 or 128 entries 256 entries 128 entries Bit depth Shift value P Addition value Shift value P Addition value 7 or lower 0 3 0 0 8 bits 0 3 1 1 9 bits 1 1 2 z. 10 bits 2 2 3 4 11 bits 3 4 4 H 12 bits 4 (Z. 16 13 bits 5 16 ϋ 32 14 bits 6 32 7 64 15 bits 7 64 H 128 16 bits or 128 9 9 9 6 This table can be represented with the following Rczonn / eznz / E / YiAi expressions: 265 entries shift p- = (bit depth > 8)? bit depth - 8:0 Alternatively, this can be represented by the following expression: . (Bit depth — 8, if Bit depth > 8) Displacement p = < ( 0, otherwise An optional rounding addition value can also be calculated to make 'dif' an integer after the bit shift. The 'aoición' value is related to the shift p according to the following expression: addition = displacement 1 << (displacement p:< 15 - 1): 0. Alternatively, this can be represented by the following expression: ^(displacement p ti), displacement p > 0 0, otherwise Alternatively, the following expressions can provide a direct relationship between 'bit depth' and 'addition': addition (bit depth (bit depth - 9): 0 O: addition = ^Prodmd,dadde blts~9>> if Bit Depth >8 l 0 otherwise 120 entries offset p = (bit depth > 7)? bit depth - 7 : 0 Alternatively, this can be represented by the following expression: „ , (Bit depth — 7, if Bit depth > 7 Displacement p — < „ , , ( 0, otherwise An optional rounding addition value can also be calculated to make 'dif' an integer after the bit shift. The 'action' value is related to the shift p according to the following expression: addition = displacement p? 1 << (displacement p - 1): 0. Alternatively, this can be represented by the following expression: ( 2^riesP,ozouefoP-1\ if displacement p > 0 addition = <r rl 0, de lo contrario alternativamente, las siguientes expresiones pueden proveer una relación directa entre 'profundidad bits' y ' adición': adición="(profundidad" bits>7)? 1 << Rczonn / eznz / E / YiAi (bit depth - 8): 0 addition = (2^BitDepth if Bit Depth > 7 l 0 otherwise Reducing the size of the table results in a coarser representation of the difference between the maximum and minimum values ​​in the sample. The coding efficiency assessment test was performed on a set of video sequences used by the JVET standardization committee as defined in document JVET-L1010. In the following table, negative values ​​indicate improved coding efficiency, while positive values ​​indicate decreased coding efficiency. Table 3: Compression performance when using 256 size boards All Intra Principal 10 Y u V Class A1 -0.03% 0.11% 0.10% Class A2 0.00% -0.02% -0.02% Class B 0.02% 0.01% 0.01% Class C 0.03% 0.00% 0.00% Class D 0.08% -0.46% -0.46% Class E 0.01% 0.16% 0.16% Global 0.01% 0.04% 0.13% As shown in Table 3, the efficiency of Rczonn / rznz / E / YiAi encoding surprisingly remains unaffected, even though the number of entries in tables TAB1 and TAB3 has been reduced by a factor of 2. It can be observed that the losses, introduced by the modification affecting CCLM mode 5, are very limited and are less than 0.2% in the chroma (U) and (V) channels, which is essentially negligible (and probably represents noise). A similar experiment was carried out for a table size of 128, generated by increasing the 10 displacement p by an additional 1 (as shown in Table 2 above). Table 4: Compression performance when using 128 size boards All Intra Main 10 Y K16S128 UV Class A1 0.03% 0.15% 0.08% Class A2 0.02% 0.04% 0.04% Class E 0.02% -0.13% -0.13% Class C 0.03% 0.06% 0.06% Class D -0.01% -0.19% -0.19% Class E -0.01% -0.06% -0.06% Global 0.02% 0.00% 0.03% As shown in Table 4, even more surprisingly, the encoding efficiency is still essentially unaffected, despite the fact that the number of entries in Tables TAB1 and TAB3 has been reduced by a factor of 4. It can be observed that the losses, introduced by the modification affecting the CCLM mode, are very limited and are less than 0.05% in the chroma channels (U) and (V), lc> 5 which is essentially negligible (and probably represents noise). However, a further reduction of the table size to 64 entries (increasing the offset ρ by an additional 1) results in a greater loss of compression performance as shown in Table 5 below: All Intra Main 10 K16S64 Y u V Class A1 0.14% 0.3 9% 0.3 6% Class B 0.00% 0.10% 0.10% Class C -0.02% 0.07% 0.07% Class D 0.04% -0.16% -0.16% Class E 0.04% 0.07% 0.07% These results are partial, as they do not include Class A2 and, as such, there is no 'overall' figure. The results presented above show that the size of the tables can be reduced by a factor of 2 or even 4, without negatively affecting the efficiency of the CCLM mode where the parameters oi and β are derived using the two points A and B. In another mode, the number of entries in the table (i.e., the shift value p) can vary depending on the depth of the bias (e.g., 128 (or 256) up to 10 bits and 256 (or 512) for more than 10 bits). This may be due to the fact that a more powerful encoder would be needed to encode samples represented (for example) by 16 bits, and as such, the complexity of calculating it using a larger table would not present such a significant problem. In such a case, priority may be given to a marginal increase in encoding performance by using a larger number (for example, 512 or more) of inputs. Rczonn / eznz / E / YiAi Number of bits that represent each entry in the tables (matrices) To further reduce the table size, each entry within the table can also be represented in fewer than the initial k = 16 bits, using 2 bytes per entry. Reducing the value of k represents decreasing the precision of the division, as it essentially corresponds to reducing the magnitude to represent a with integers. Table 6 below shows the impact of coding efficiency on decreasing the number of bits used to represent each input (compared to k = 16) . 9 Table 6: Coding performance when reducing the value of k All Intra Principal 10 k=14 k=12 YUVYUV Class A1 -0.02% 0.15% 0.08% -0.02% 0.15% 0.08% Class A2 0.00% 0.02% 0.02% 0.00% 0.02% 0.02% Class B 0.01% -0.18% -0.18% 0.01% -0.18% -0.18% Class C -0.02% 0.01% 0.01% -0.02% 0.01% 0.01% Class D 0.02% -0.24% -0.24% 0.02% -0.24% -0.24% Class E 0.04% -0.14% -0.14% 0.04% -0.14% -0.14% Global 0.00% -0.04% 0.05% 0.00% -0.04% 0.05% k=10 k=8 Y u VY u V Class A1 -0.02% 0.11% 0.08% 0.02% 0.25% 0.05% Class A2 0.01% -0.10% -0.10% 0.02% -0.02% -0.02% Class B 0.00% -0.03% -0.03% 0.03% 0.04% 0.04% Class C -0.03% 0.15% 0.15% 0.00% -0.16% -0.16% Class D 0.04% -0.54% -0.54% 0.07% 0.08% 0.08% Class E 0.02% 0.06% 0.06% 0.01% -0.20% -0.20% Global 0.00% 0.04% 0.16% 0.01% -0.02% 0.07% k=7 k=6 Y u VY u V Class A1 0.02% 0.33% 0.05% 0.05% 0.80% 0.31% Class A2 0.02% 0.07% 0.07% 0.03% 0.21% 0.21% Class B 0.03% -0.09% -0.09% 0.05% 0.03% 0.03% Class C -0.03% 0.09% 0. Ci 9% 0.0 0% 0.22% 0.22% Class D 0.01% 0.05% 0.0 5% -0.01% -0.04% -0.0.4% Class E 0.01% 0.09% 0.09% 0.02% 0.31% 0.31% Global 0.01% 0.08% 0.07% 0.03% 0.28% 0.28% k=5 k=4 Y u VYUV Class A1 0.30% 2.13% 1.04% 0.89% 6.18% 3.31% Class A2 0.09% 0.83% 0.83% 0.30% 2.73% 2.73% Class E 0.11% 0.31% 0.31% 0.33% 1.60% 1.60% Class C 0.08% 0.75% 0.35% 0.40% 2.78% 2.78% Class D 0.07% -0.10% -0.10% 0.26% 1.4 9% 1.4 9%. Class E 0.07% 0.5 n% 0.5 0% 0.15% 1.83% 1.83% Global 0.13% 0.83% 0.70% 0.40% 2.85% 2.47% k=3 YUV Class A1 2.46% 17.76% 10.99% Claco L2 1.06% 8.33% 8.33% Class B 0.78% 6.86% 6.86% Class C 1.27% 9.95% 9.95% Class D 0.72% 5.90% 5.90% Class E 0.33% 3.66% 3.66% Global 1.14% 9.07% 8.35% Rczonn / eznz / E / YiAi Table 6 above shows the surprising result that when inputs are represented in 8 bits or less, the encoding efficiency is essentially the same compared to k = 16 bits. The table above shows acceptable encoding efficiency results obtained for k, which is in the range of 6 to 8. A similar result is obtained for k in the range 9-15, but such a representation would still require 2 bytes, so 10 would not provide a great advantage in reducing the memory required to store the table. Table 6 shows that for k equal to 5 bits or less, a greater degradation due to division is observed when the calculation of alpha becomes inaccurate. Therefore, it has been surprisingly found that the best compromise between performance and storage is where k = 8 bits. Compared to k = 16 bits, where each entry is represented in 2 bytes, the current method only needs to use a single byte to represent an entry in TAB1 or TAB3. This reduces the complexity of all calculations involving k, and as such reduces the processing demand. Surprisingly, a value of k = 6, 7, or 8 provides similar encoding performance to ak = 16, with higher values ​​of k providing marginally better encoding performance. Particularly surprising, it is possible to decrease k by a whole byte (8 bits) without seeing an appreciable decrease in encoding performance. Furthermore, it is surprising to find that k can be reduced to a value as low as k = 6, and only beyond 15 is an appreciable decrease in encoding performance detected. By reducing k from 16 to 8, the total memory used for each table is reduced by a factor of 2. This is surprising, since the accuracy of operations involving bit shifts is generally strongly affected by small changes in the value of the bit shift parameter, and one would expect a large degradation in encoding performance when decreasing the value of k even by a small amount. However, the results above show, contrary to the Rczonn / eznz / E / YiAi intuition, that a large change in the value of k (e.g., from 16 to 6) only decreases coding performance by a negligible amount (< 0.14%). The choice of k can vary depending on the bit depth (e.g., 8 for up to 10 bits and 16 for more than 10 bits). This may be due to the fact that a more powerful encoder would be needed to encode samples represented (e.g.) by 16 bits, and as such, the computational complexity of using a larger table would not present such a significant problem. In such a case, priority may be given to a marginal increase in encoding performance by using a larger number (e.g., more than 8) of bits. Combination of number of inputs and number of bits that represent each input Table 7 below shows the results for coding performance-to vary k from 8 to 5 when there are 256 entries in each table (i.e., a combination of the two sets of results presented in Tables 3 and 6 above), compared to a baseline of k = 16 and 512 entries in each table. Rczonn / eznz / E / YiAi Table / : Coding performance when reducing the Rczonn / cznz / E / YiAi value of ky the number of entries from 512 to 256 All Intra Principal 10 k=16 k=14 YUVYUV Class A1 -0.03% 0.11% 0.10% 0.01% 0.23% 0.16% Class A2 0.0 0 % -0.02% - 0.0 2 % -0.02% 0.0 8 % 0.08% Class B 0.02% 0.01% 0.01% 0.01 % 0.04% 0.04% Class C 0.03% 0.00% 0.0 0 % -0.02% 0.18% 0.18% Class D 0.08% -0.46% -0.46% 0.00% -0.23% -0.23% Class E 0.01% 0.16% 0.16% 0.0 0 % 0.04% 0.04% Global 0.01% 0.04% 0.13% 0.00% 0.11% 0.11% k=12 k=10 Y u VY u V Class A1 -0.01% 0.13% -0.02 -0.04% -0.02% 0.08% Class A2 0.01% -0.13% -0.13% 0.03% -0.12% -0.12% Class B -0.01% 0.08% 0.08% -0.01% 0.01% 0.01% Class C -0.03% 0.15% 0.15% -0.02% -0.01% -0.01% Class D 0.04% -0.13% -0.13% 0.03% 0.01% 0.01% Class E -0.04% 0.11% 0.11% 0.00% -0.24% -0.24% Global -0.01% 0.07% 0.13% -0.01% -0.06% 0.20% k=8 k=7 Y u VY u V Class A1 0.0 0% 0.02% -0.06% 0.01% 0.11% 0.01% Class A2 0.02% -0.05% -0.05% 0.02% -0.01% -0.01% Class B 0.03% -0.04% -0.04% 0.01% -0.03% -0.03% Class C 0.0 0% 0.13% 0.13% 0.01% -0.12% -0.12% Class D 0.01% -0.12% -0.12% 0.02% 0.04% 0.04% Class E 0.0 0% 0.06% 0.06% -0.03% 0.37% 0.37% Global 0.01% 0.02% 0.10% 0.01% 0.04% 0.03% k=6 k=5 Y u VYUV Class A1 0.03% 0.23% 0.08% 0.12% 0.8 0% 0.43% Class A2 0.0 2% ü . 0 2 % 0.02% 0.06% 0.24% 0.24% Class E. 0.03% -0.06% -0.06% 0.06% 0.0 0% 0.00% Class C 0.01% 0.17% 0.17% 0.02% 0.10% 0.10% Class D 0.0 6% -0.23% -0.23% 0.06% 0.0 6% 0.0 6%. Class E -0.01% 0.17% 0.17% 0.01% 0.2 0% 0.20% Global 0.02% 0.09% 0.14% 0.05% 0.23% 0.26% k=4 k=3 Y u VYUV Class A1 0.4 6% 2.62% 1.67% 1.36% 8.47% 5.60% Class L2 0.16% 1.33% 1.33% 0.5 2% 4.45% 4.45% Class B 0.17% 0.74% 0.74% 0.5 4% 3.5 3% 3.53% Class C 0.18% 1.05% 1.05% 0.76% 5.21% 5.21% Class D 0.16% 0. 96% 0.96% 0.49% 3.2 9¾ 3.29% Class E 0.13% 1.13% 1.13% 0.24% 2.8 5% 2.85% Global 0.21% 1.29% 1.21% 0.67% 4.77% 4.60% coding efficiency results The previous Rczonn / cznz / E / YiAi shows the surprising result that by using two tables (TAB1 and TAB3) that have 256 entries encoded using a single byte each (i.e., k + A), similar results can be obtained compared to the case of two tables with 512 entries represented in 2 bytes. A particular advantage of this approach is the reduction by a factor of 4 of the memory required to store these tables TAB1 and TAB3 without affecting the encoding efficiency result. In this particular approach, the memory required to represent the two tables (TAB1 and TAB3) is: 2 + 256 + 8 = 4092 bits, which can be stored in 512 bytes. Table 8 below shows the results for coding performance to vary k from 8 to 5 when there are 15,128 entries in each table (i.e., a combination of the two sets of results presented in Tables 4 and 6 above), compared to a baseline of k = 16 and 512 entries in each table. Table ti: Coding performance when reducing the Rczonn / rznz / E / YiAi value of ky the number of entries from 512 to 128 All Intra Principal 10 k=16 k=14 YUVYUV Class A1 0.03% 0.15% 0.08% 0.01% 0.25% 0.15% Class A2 0.02% 0.04% 0.04% 0.02% -0.04% -0.04% Class B 0.02% -0.13% -0.13% 0.01% ~ 0.1 or -0.12% Class C 0.03% 0.06% 0.06% -0.03% 0.22% 0.22% Class D -0.01% -0.19% -0.19% 0.05% 0.02% 0.02% Class E -0.01% -0.06% -0.06% -0.01% 0.04% 0.04% Global 0.02% 0.00% 0.03% 0.00% 0.06% 0.16% k=12 k=10 Y u VYUV Class A1 0.05% -0.04% -0.06 0.0 0% 0.05% 0.20% Class A2 0.01% 0.01% 0.01% 0.02% -0.17% -0.17% Class B 0.0 0% 0.15% 0.15% 0.02% -0.06% -0.06% Class C -0.02% 0.11% 0.11% 0.0 0% 0.0 2% 0.02% Class D 0.10% -0.58% -0.58% 0.05% -0.2 9% -0.29% Class E -0.04% 0.07% 0.07% 0.01% -0.05% -0.05% Global 0.00% 0.07% 0.09% 0.01% -0.04% 0.13% k=8 k=7 Y u VYUV Class A1 0.03% 0.02% 0.04% 0.02% 0.07% 0.01% Class A2 0.01% -0.13% -0.13% 0.01% -0.01% -0.01% Class B 0.01% -0.09% -0.09% 0.01% 0.02% 0.02% Class C 0.01% -0.17% -0.17% -0.01% 0.11% 0.11% Class D 0.01% -0.25% -0.25% 0.01% 0.08% 0.0.8% Class E 0.0 0% -0.20% -0.20% 0.0 0% -0.09% -0.09% Global 0.01% -0.11% 0.09% 0.01% 0.03% 0.06% k=6 k=5 Y u VY u V Class A1 0.04% 0.27% 0.17% 0.10% 0.35% 0.34% Class A2 0.04% -0.07% -0.07% 0.03% 0.12% 0.12% Class E 0.02% -0.02% -0.02% 0.04% -0.03% -0.03% Class C 0.01% 0.19% 0.19% 0.03% 0.20% 0.20% Class D 0.07% 0.22% 0.22% 0.03% -0.04% -0.04%. Class E 0.0 3% -0.04% -0.0 4% -0.01% 0.14% 0.14% Global 0.03% 0.06% 0.17% 0.04% 0.14% 0.21% k=4 k=3 Y u VYUV Class A1 0.27% 1.41% 0.98% 0.82% 4.9 9% 3 » 2 or ·έ Class L2 0.0 9% 0.84% ​​0.84% ​​0.30% 2.84% 2.84% Class B 0.11% 0.18% 0.18% 0.31% 1.8 9% 1.8 9% Class C 0.08% 0.60% 0.60% 0.38% 2.42% 2.42% Class D 0.13% 0.33% 0.33% 0.26% 1.51% 1.51% Class E 0.12% 0.47% 0.47% 0.20% 2.07% 2.07% Global 0.13% 0.64% 0.59% 0.39% 2.71% 2.78% coding efficiency results Rczonn / eznz / E / YiAi above show the surprising result that by using two tables (TAB1 and TAB3) that have 128 entries encoded using a single byte each (i.e., k + 8), similar results can be obtained compared to the case of two tables with 512 entries represented in 2 bytes. It is particularly surprising that in several examples, the use of 128 entries actually improves the encoding performance compared to the use of 256 entries. For example, for k = 1 (one byte per entry), the results show that a table size of 128 results in improved encoding performance compared to a table of 256 entries. A particular advantage of this mode is the reduction by a factor of 8 of the memory required to store these tables (TAB1 and TAB3) without affecting the coding efficiency. In this particular mode, the memory required to represent the two tables (TAB1 and TAB3) is reduced by a factor of 8. TAB3) is: 2 * 128+8 = 2 C46 bits, which can be stored in 256 bytes. The CCLM mode can therefore use this division method to retrieve the parameters ay |3 which can be implemented through integer arithmetic for efficient hardware implementation. In particular, it has been shown that a combination of reducing the number of entries in the table, as well as reducing the size of each entry, does not result in a 10% reduction in performance (as might be expected); rather, essentially the same performance is achieved by combining the reduction in the number of entries in the table and the reduction in the size of each entry compared to doing so independently. To complete the picture, Table 9 shows partial results when using a table of N = 64 entries compared to a baseline of k = 16 and N = 512. It should be noted that the performance loss is significant for class A1 (which is the main target of WC) in the 20 U and V components: Rczonn / eznz / E / YiAi Table 9: Coding performance results Rczonn / eznz / E / YiAi partial by reducing the value of ky the number of entries of 512 to 64 All Intra Principal 10 k=16 k=14 YUVYUV Class A1 0.14% 0.39% 0.36% 0.11% 0.52% 0.49% Class B 0.00% 0.10% 0.10% 0.02% 0.11% 0.11% Class C -0.02% 0.07% 0.07% 0.03% 0.08% 0.08% Class D 0.04% -0.16% -0.16% 0.05% -0.57% -0.57% Class E 0.04% 0.07% 0.07% 0.04% -0.19% -0.19% k=12 k=10 YUVYUV Class A1 0.13% 0.49% 0.56% 0.11% 0.39% 0.33% Class E. 0.04% 0.09% 0.09% 0.02% -0.06% -0.06% Class C 0.00% -0.04% -0.04% -0.04% 0.19% 0.19% Class D -0.01% 0.07% 0.07% 0.03% -0.32% -0.32% Class E 0.01% -0.14% -0.14% 0.04% -0.08% -0.08% k=8 k=7 YUVYUV Class A1 0.10% 0.43% 0.34% 0.14% 0.57% 0.42% Class E. 0.03% 0.04% 0.04% 0.00% -0.02% -0.02% Class C - 0.0 5 % 0.27% 0.27% -0.04 % 0.19% 0.19% Class D 0.07% -0.64% -0.64% -0.04% 0.10% 0.10% Class E 0.0 6% -0.37% -0.37% 0.03% 0.22 % 0.22% k=6 k=5 YUVYUV Class A1 0.13% 0.3 9% 0.56% 0.14% 0.74% 0.35% Class B 0.04% 0.10% 0.10% 0.03% -0.04% -0.04% Class C 0.0 0 % 0.05% 0.05% 0.0 0 % 0.0 8 % 0.0 8 % Class D 0.01% -0.14% -0.14% 0.0 3% -0.01% - 0.011% Class E 0.0 5% -0.00% - 0.0 5% 0.07% 0.15% 0.15% k=4 k=3 Y u VY u V Class A1 0.2 9% 1.20% 0.87% u . 63o 4.01% 2.3 9% Class B 0.03% 0.22% 0.22% 0.23% 1.4 3% 1.43% Class C 0.04% 0.19% 0.19% 0.25% 1.3 9% 1.39%. Class D 0.18% -0.40% -0.40% 0.18% 1.50% 1.50% Class E 0.06% 0.70% 0.70% 0.16% 1.66% 1.66% Rczonn / eznz / E / YiAi Representation of a In another form, the value of the parameter o is modified so that it can be represented in L bits. With the derivation process of a and β described above, the value of a could reach up to 17 bits when k equals 8 (and up to 25 bits if k = 16). A primary reason for modifying the value of a is to limit the bit width of the multiplication in the following prediction formula: Ce = ( (« Lc) >> k) + (3 Where Ce is the predicted value of Chroma corresponding to the value of Luma Lc, yay |3 are the slope parameters (which can be derived as described above). If the luma samples are 10-bit encoded, it means the central prediction loop is required to handle multiplication of up to 10 bits by 17 bits, which is computationally complex (and can use large amounts of memory). In this mode, the value of oi is modified so that the multiplication does not exceed 16 bits. This calculation is well-suited for hardware implementation; for example, a 16-bit processor can perform the calculation using a single memory register. To achieve this, 'a' must be represented by 6 bits or less. To reach this 6-bit representation, the range of 'a' can be 'clipped' so that larger values ​​are forced into a specific range. In another mode, the magnitude of a is determined by reducing it by dividing it by an appropriate amount, using the shift parameter k accordingly. Determining the amount of adjustment to the shift value (k) involves finding the position P of the most significant bit (a classic operation, performed by counting, for example, the leading 0s or taking the base-2 logarithm). In this case, if it is above a limit L (5 or 6 in the preferred mode), the following operations are performed: a = oí » (PL) k = k + L - P that is, oí is divided by a factor of 2 (PL) and the value of k is compensated by an opposite amount (LP). The value of L can depend on the 20-bit depth, but it can be the same for various bit depths to simplify implementations. Furthermore, L can take the sign bit into account, i.e., L = 5. It was also observed that in most implementation cases, the floating-point value of 'a' is within the range [-2.0; 2.0] in CCLM mode. Using only 6 bits Rczonn / eznz / E / YiAi could represent, for example, 64 values ​​in the interval [-2.0; 2.0] with any calculated value outside this range replaced by the endpoint of the range. In any case, the clipping of 'a' in any range can be performed before reducing its magnitude. This ensures that peripheral values ​​are eliminated before undertaking the magnitude reduction process. Figure 11 illustrates different ways of selecting two points (A and B) in modalities of the invention. The proposed simplification of the derivation impacts coding efficiency. To reduce this loss of coding efficiency, careful selection of the colon is a crucial step. In the first mode, as described above, the minimum and maximum of the neighboring luma sample values ​​are selected corresponding to points A and B in Figure 11. In an alternative approach, the two selected points are points C and D in Figure 11, which correspond to the pair of luma and chroma samples representing the minimum and maximum values ​​of the neighboring chroma samples. This alternative approach is sometimes useful in terms of coding efficiency. In an alternative modality, the Rczonn / rznz / E / YiAi longer segment between segments [AB] and [CD] and if segment [AB] is longer than segment [CD], points A and B are selected; otherwise, points C and D are selected. The length of each segment can be calculated using a Euclidean distance. However, another distance measure can be used. This method improves the selection efficiency compared to the first two. In fact, when the two selected points are far apart, the generated linear model is generally relevant. Consequently, the generated chroma block predictor is relevant for predicting the current block. In an alternative approach, the longest possible segment between A, B, C, and D yields the two selected points. This corresponds to the segments [AB], [CD], [AC], [AD], [CB], and [DB], as shown in Figure 11. This approach improves coding efficiency compared to previous methods at the cost of increased complexity. In a preferred mode, the points representing the minimum and maximum of the RecL' luma sample values ​​are set to create points A and B, and if a component of point A is equal to its corresponding component of B (xa = xa or ya = ya), the points representing the minimum and maximum of the chroma sample values ​​C and D are selected. This mode obtains the Rczonn / eznz / E / YiAi better coding efficiency because if xb = xa or vb = ya, then a (or L) is respectively infinite or equal to 0 and, consequently, the chroma predictor block is unusable or equivalent to DC prediction. This is the case as soon as the numerator or denominator of the representative fraction of a (or L) is too low (for example, the following condition can be verified: |a < 0.1): any error in it (such as due to quantization) even by a small amount leads to very different values ​​of a (or L). In the rest of the document, such cases, which are basically almost horizontal or vertical slopes, lead to what is known as an abnormal slope, either a In an additional mode, several pairs of points are tested, as shown in Figure 11, until 'a' is no longer abnormal. This mode improves the coding efficiency of the previous one but increases computational complexity. In an alternative approach, the differences between the maximum and minimum values ​​of the two components (chroma and luma) are calculated. Furthermore, the component with the greatest difference is selected to determine the two points that define the line for calculating the model parameters. This approach is efficient when the two components are either the chroma components or the two luma components. Rczonn / eznz / E / YiAi RGB components. The selection of the two points A and B can be made using sample values ​​from the current block. In one modality, the two points for deriving the simplified linear model 5 are established based on the sample values ​​of the subsampled luma block (505 in Figures 5A and 5B). The luma sample values ​​from the sample pairs in the vicinity of the block are compared with the luma sample values ​​from the luma block. The value with the highest occurrence is selected to create xa, and the second highest occurrence is selected to create xb. The corresponding chroma values ​​va and vb are the average values ​​of the co-located chroma samples in the sample pairs in the vicinity of the block. When a (or L) is abnormal (equal to or close to 0 (ci < 0.1)), xb is one of the luma values ​​with the lowest selection instead of the second highest. Similarly, vb are the average values ​​of the co-located chroma samples.This method increases coding efficiency by 20 compared to the previous method at the price of higher complexity. The selection of the two points A and B can be done in spatial positions of sample pairs. In previous modalities, it is necessary to determine Rczonn / eznz / E / YiAi the minimum and maximum values ​​for luma (A, B) and / or for chroma (C, D) among M pairs of neighboring luma and chroma samples. This can be considered an additional complexity. Therefore, for some implementations, it is preferable to obtain these two points with minimal complexity. In one modality, a linear model is generated using the RecC chroma samples (501 in Figures 5A and 5B) and the RecL' edge subsampled luma samples (503). The first point selected is the bottom left-row luma sample, referenced 5004, and the co-located chroma sample 5001. The second point selected is the top right luma sample 5003 and the co-located chroma sample 5002. This selection of two points is very simple but also less efficient than the previous value-based modalities. Furthermore, if one of the upper or left borders does not exist, for example, for the block at the edge of an image or a slice, or is unavailable, for example, due to complexity or error resistance reasons, then two samples (for example, those whose luma is 504 or 5003 at the available edge) are selected instead of the missing one. Therefore, it can be seen that there are several conditions for selecting samples. An additional modality is described in which, if not enough points can be selected to calculate the slope, or they result in an abnormal a (or L), Rczonn / eznz / E / YiAi can select a default point instead. This modality can also be applied to MMLM mode with adaptation. To create the linear model parameters for the first group, the first point is the lower luma sample from the second left row (5009) and the co-located chroma sample (5005). Additionally, the second point is the upper luma sample from the first left row (5010) and the co-located chroma sample (5006). To create the linear model parameters for the second group, the first point is the left luma sample of the first ascending line (5011) and the placed chroma sample (5007). And the second point is the right luma sample of the second ascending line (5012) and the placed chroma sample (5008). This method simplifies the selection of the Rczonn / eznz / E / YiAi four points for the first and second groups. In another configuration, the MMLM mode threshold is the luma value of points 5010 or 5011—that is, the upper right point of the left environment and the lower left point of the upper environment in the example—or an average of these points. This additional configuration simplifies the threshold calculation. In yet another of these two-point selection methods, the luma subsampling process is disabled and replaced by decimation; that is, one out of every two luma samples is used for the RecL' samples. In this case, steps 1001 in Figure 10 and 1201 in Figure 12, which are described in detail below, will be omitted. This method reduces complexity with a minor impact on coding efficiency. Points A, B, C, and D are determined based on decoded versions of samples and, therefore, may not match the values ​​of the original samples. This can cause abnormally short segments, or simply a noisy estimate, as already described when defining what an abnormal slope is. A and C are the two lowest points, and B and D are the two highest. Instead of using any two of these, point E, defined as the average between A and C, and point F, defined as the average between B and D, can be used, at the cost of some simple additional operations: xe = (xa + xc + 1) >> 1 y Ye = (Ya + ye + 1) >> 1 xf = (xe + xd + 1) >> 1 y yr = (Ye + yn + 1) >> 1 -0 Λ -<'yE~yF>>«5*e ~xf β = yE-A. (xE»S) Obviously, if γε-γρ o» xe-xf is equal to 0 or is too low (i.e., the derived slope is abnormal), then points A, B, C, and D are usually considered to obtain better parameters. Rczonn / eznz / E / YiAi It should be understood from this that the two points used in the slope calculation in the model may not be two actual points derived from sample values ​​of RecL' or RecC. This explains the use of the phrase "determine" in step 1003 instead of "select". In another mode, for the MMLM mode, if the parameter a (or L) that defines the slope of a group is abnormal, the corresponding LM parameters are set equal to the LM parameters of the other group, or to another group if there are more than two groups of LM parameters. Figure 12 illustrates this mode. After determining (al, βA) and (a'2, 32) by defining the two models for the two groups in step 1203, al and a2 are tested to verify if they are equal to 0 in steps 1204 and 1205. If this is the case, the abnormal slope parameter 15 a (or L) is set equal to the other slope parameter a; similarly, the corresponding β parameter value from the other group is also used in steps 1206 and 1207. Thus, in that case, only one set of parameters is used, whatever the value of the 20 reduced luma sample values ​​of the current block may be; there is no comparison with the threshold, and the same complexity as the CCLM mode is obtained.The advantage of this method is improved coding efficiency with minimal complexity because it is not necessary to derive parameters. Additional Rczonn / eznz / E / YiAi of the linear model. In an alternative approach, when a slope parameter a (or L) is abnormal, a set of linear parameters is rederrived considering all initial MMLM samples (corresponding to the CCLM derivation with two ascending lines and two neighboring rows, instead of one ascending line and one neighboring row). This approach provides better coding efficiency than the previous one, but is more complex because it requires rederriving a set of linear model parameters. The simplified LM shunt with two dots as described in this document is generally less efficient than the classic LMS shunt, except if it does not replace all LMS shunts when multiple LM modes are competing. In one modality, the LM derivation with two points 15 is used only for CCLM mode to derive a chroma block predictor. This modality provides improvements in coding efficiency. In one modality, the two-point derivation is used only for the MMLM mode, as it is the most complex prediction method. In one modality, the two-point LM lead is used for both CCLM and MMLM modes to derive a chroma block predictor. This modality has similar coding efficiency to JEM, but reduces worst-case complexity by 25% when using this lead. Rczonn / rznz / E / YiAi Simplified LM for generating block chroma predictors. In fact, luma-based chroma prediction is the mode with the worst complexity among the linear prediction model modes. It is more complex than residual chroma prediction. In one modality, the LM lead with two points replaces all LMS leads (chroma block predictor generation and residual prediction). This modality reduces coding efficiency compared to JEM but significantly decreases complexity. It should be noted that these two methods provide an improvement in coding efficiency, regardless of the derivation method used in step 1203 for parameters. In another mode, if one or both of the slope parameters a (or L) are abnormal, then a default value (such as - (1 << S) / 8) is used in steps 1206 and / or 1207, and the corresponding β value is calculated. In yet another mode, several LM modes compete on the encoder side, and syntax elements can signal the selected LM mode in the bitstream on the decoder side. This signaling can be at the segment level (or EPS, or SPS) to indicate which sets should be used, or at least provide candidates for a block-level selection. At least one of the differences between these competing LM modes is the set of two Rczonn / rznz / E / γΐΛΐ points used to derive the LM parameters. The set of two points and the method for generating these two points define different competing LM modes. For example, for one LM mode, the two points are determined based on the minimum and maximum luma values, and for the other LM mode, the two points are selected based on the maximum and minimum chroma values. Another approach involves defining a series of possible location sets, as illustrated in Figures 5A and 5B. While four of these different points can lead to up to twelve different pairs, those that result in the largest values ​​for the numerator and denominator in the equation for calculating the slope parameter a (or L) may be preferred. The encoder constructs the list of pairs and ranks them according to some criterion (such as distance in the luma component or Cartesian distance using the luma and chroma components), possibly eliminating some of them (i.e., if their slope is too close to another), and thus constructing the list of parameters that can be selected and signaled. The advantage of these methods is an improvement in coding efficiency. The descriptions of these modalities mention 25 luma and a chroma component, but they can be adapted Rczonn / eznz / E / YiAi easily to other components such as chroma components or RGB components. According to one embodiment, the present invention is used when predicting a first sample value of a chroma component from a second chroma component. In another embodiment, the present invention is used when predicting a sample value of a component from more than one sample value of more than one component. It is understood that in such a case, the linear model is derived on the basis of two points / sets, each point / set comprising a sample value of one component and the sample values ​​of more than one component.For example, if the sample values ​​of two components are used to predict the sample value of one component, each point / set can be represented as a position in three-dimensional space, and the linear model is based on a straight line passing through the two positions in three-dimensional space that correspond to the two points / sets of the reconstructed sample values. Figure 13 is a schematic block diagram of a 1300 computing device for implementing one or more embodiments of the invention. The 1300 computing device may be a device such as a microcomputer, a workstation, or a lightweight portable device. The 1300 computing device comprises a communication bus connected to: Rczonn / eznz / E / YiAi a central processing unit 1301, such as a microprocessor, called a CPU; - a random access memory 1302, called RAM, for storing the executable code of the method of modalities of the invention, as well as the registers adapted to record variables and parameters necessary to implement the method for encoding or decoding at least part of an image according to the modalities of the invention, the memory capacity thereof may be expanded by means of an optional RAM connected, for example, to an expansion port; - a 1303 read-only memory, called ROM, for storing computer programs for implementing modalities of the invention; A 1304 network interface is typically connected to a communication network through which digital data is transmitted or received for processing. The 1304 network interface can be a single network interface or a set of different network interfaces (e.g., wired and wireless interfaces, or different types of wired or wireless interfaces). Data packets are written to the network interface for transmission or read from the network interface for reception under the control of the software application running on the 1301 CPU. Rczonn / eznz / E / YiAi A user interface 1305 can be used to receive input from a user or to display information to a user; - a 1306 hard drive called HD 5 can be provided as a mass storage device; A 1307 I / O module can be used to receive / send data to / from external devices such as a video source or display. The executable code can be stored in read-only memory 1303, on the hard drive 1306, or on removable digital media such as a disk. According to one variant, the executable code of programs can be received via a communication network, through the network interface 1304, and stored on one of the storage media of the communication device 1300, such as the hard drive 1306, before being executed. The central processing unit 1301 is adapted to control and direct the execution of the 20 instructions or portions of software code of the program or programs according to the embodiments of the invention, whose instructions are stored in one of the storage media mentioned above. After being powered on, the CPU 1301 is capable of executing instructions from the main RAM 1302 related to a Rczonn / eznz / E / YiAi software application after those instructions have been loaded, for example, from program ROM 1303 or hard disk (HD) 1306. Such software application, when executed by CPU 1301, causes the steps of method 5 to be performed in accordance with the invention. Any step of the methods according to the invention can be implemented in software by executing a set of instructions or program by a programmable computer machine, such as a PC (Personal Computer), a DSP (Digital Signal Processor). Digital) or a microcontroller; or implemented in hardware by a dedicated machine or component, such as an FPGA (Field Programmable Gate Array) specifically for Minimum and Maximum selection, or an ASIC (Application Specific Integrated Circuit). It should also be noted that, although some examples are based on HEVC for illustrative purposes, the invention is not limited to HEVC. For example, the present invention can also be used in any other prediction / estimation process 20 where a relationship between the sample values ​​of two or more components can be estimated / predicted using a model, wherein the model is an approximate model determined based on at least two sets of sample values ​​of related / associated components, selected from all 25 available sets of sample values ​​of Rczonn / eznz / E / YiAi Related / Associated Components: It is understood that each point corresponding to a sample pair (i.e., a set of associated sample values ​​for different components) can be stored and / or processed in terms of an array. For example, the sample values ​​of each component can be stored in an array so that each sample value of that component is referenceable / accessible / obtainable by referencing an element of that array using, for example, an index for that sample value. Alternatively, an array can be used to store and process each sample pair, with each sample value of the sample pairs accessible / obtainable as an element of the array. It is also understood that any result of comparison, determination, evaluation, selection, or consideration described above, for example, a selection made during an encoding process, may be indicated or determined from data in a bit stream, for example, an indicator or data indicative of the result, so that the indicated or determined result may be used in processing instead of actually performing the comparison, determination, evaluation, selection, or consideration, for example, during a decoding process. Although the present invention has been described Rczonn / eznz / E / YiAi previously with reference to specific modalities, the present invention is not limited to the specific modalities, and the modifications will be evident to a person skilled in the art, which are within the scope of the present invention. Many further modifications and variations will be suggested to those skilled in the art by referring to the foregoing illustrative embodiments, which are given only by way of example and are not intended to limit the scope of the invention, which is determined solely by the appended claims. In particular, the different features of different embodiments may be interchanged, where appropriate. Each embodiment of the invention described above may be implemented alone or as a combination of several embodiments. Furthermore, features of different embodiments may be combined when necessary or when combining elements or features of individual embodiments into a single embodiment is advantageous. Each feature described in this specification (including the claims, abstract and accompanying drawings) may be replaced by alternative features that have the same, equivalent or similar purpose, unless expressly stated otherwise. Rczonn / eznz / E / YiAi Therefore, unless expressly stated otherwise, each feature described is only one example from a generic set of equivalent or similar features. In the claims, the palatal component does not exclude other elements or steps, and the indefinite article "a" or "uria" does not exclude a plurality. The mere fact that different features are mentioned in mutually dependent claims does not indicate that a combination of these features cannot be used advantageously. The following numbered clauses also define certain modalities:< / r> < / r>

Claims

1. A method for deriving a linear model to obtain a sample of the first component for a block of the first component from a reconstructed sample of the second component associated with a block of the second component in the same frame, the method comprising: - determining two points, each point being defined by two variables, the first variable corresponding to a sample value of the second component, the second variable corresponding to a sample value of the first component, based on reconstructed samples of both the first and second components; - determining the parameters of a linear equation Rczonn / cznz / E / YiAi representing a straight line passing through the two points; and deriving the linear model defined by the straight-line parameters.

2. The method in accordance with clause 1, in 5 where the two points are determined on the basis of pairs of samples in the vicinity of the block of the second component.

3. The method in accordance with clause 2, wherein the two points are determined based on the sample values ​​of the sample pairs in the vicinity of block 10 of the second component.

4. The method in accordance with clause 3, where the two points correspond respectively to the pairs of samples with the lowest sample value of the second component and with the highest sample value of the second component.

5. The method in accordance with clause 3, where the two points correspond respectively to the sample pairs with the lowest sample value of the first component and the highest sample value of the first component.

6. The method in accordance with clause 3, wherein the method comprises: - determining two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and the highest sample value of the second component; - determining two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and the highest sample value of the first component; and - determining the two points as the first two points if they form a longer segment, and determining the two points as the second two points if they do not.

7. The method in accordance with clause 3, in 10 where the method comprises: - determining two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and with the highest sample value of the second component; 15 - determining two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and with the highest sample value of the first component; and determining the two points between the first two 20 points and the second two points as the two points that form the longest segment.

8. The method in accordance with clause 3, wherein the method comprises: - determining two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and the highest sample value of the second component; - determining two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and the highest sample value of the first component; and - determining the two points as the first two points if all their variables are different, and determining the two points as the second two points if the opposite is true.

9. The method in accordance with clause 3, wherein the method comprises: - determining two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and the highest sample value of the second component; - determining two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and the highest sample value of the first component; and - determining the two points as the two first points if the slope parameter of the straight line defined by these two points is greater than a given threshold, and determining the two points as the two second points if otherwise.

10. The method in accordance with clause 3, wherein the method comprises: - determining two first points corresponding respectively to the sample pairs with the lowest sample value of the second component and the highest sample value of the second component; - determining two second points corresponding respectively to the sample pairs with the lowest sample value of the first component and the highest sample value of the first component; and - determining the two points as the two first points if the difference between the lowest sample value of the second component and the highest sample value of the second component is greater than the difference between the lowest sample value of the first component and the highest sample value of the first component, and determining the two points as the two second points if the opposite is true.

11. The method in accordance with clause 2, wherein the two points are determined on the basis of position 20 of the sample value of the second component of the sample pairs in the vicinity of the block of the second component.

12. The method in accordance with clause 11, wherein the two points are determined as corresponding to the sample pairs at a predetermined position in the neighborhood of the second component block. Rczonn / rznz / E / YiAi 103 13. The method in accordance with clause 12, further comprising determining at least one of the two points as corresponding to the sample pair in a second predetermined position when the sample pair in a 5 predetermined position is not available.

14. The method in accordance with clause 1, wherein the two points are determined based on pairs of samples in the neighborhood of the block of the second component and the sample values ​​of the block of the second component. 10 15. The method in accordance with clause 14, wherein: the first variables of the two points are determined as the sample value, among the pairs of samples in the neighborhood of the block of the second component, 15 with the maximum occurrence in the block of the second component and the second maximum occurrence in the block of the second component; the second variables of the two points are determined as the sample value of the first component 20 corresponding on the basis of the pairs of samples in the neighborhood of the block of the second component.

16. The method in accordance with any of clauses 1 to 15, wherein: - the samples of the second component block are organized into at least two groups; and - two points are determined for the definition of a linear model for each group of samples of the second component block.

17. The method in accordance with clause 16, in 5 where if the two points determined for one group correspond to a slope parameter lower than a predetermined threshold, then they are replaced by two points determined for another group.

18. The method in accordance with clause 16, in 10 where if the two points determined for a group correspond to a slope parameter below a predetermined threshold, then two new points are determined based on samples from all groups considered as a single group. 15 19. A method for obtaining a first component sample for a first component block from an associated reconstructed second component sample from a second component block in the same frame, the method comprising: 20 - defining a plurality of linear model derivation modes comprising CCLM modes using a single linear model and MMLM modes using multiple linear models; and - selecting one of the linear model derivation modes to obtain the first component samples for a first component block, wherein: at least one of the linear model derivation modes uses a derivation method in accordance with any of clauses 1 to 18.

20. The method in accordance with clause 19, where only CCLM modes use a derivation method in accordance with any of clauses 1 to 18.

21. The method in accordance with clause 19, where only MMLM modes use a derivation method in accordance with any of clauses 1 to 18.

22. A method for encoding one or more images into a bit stream, wherein the method comprises deriving a linear model in accordance with any of clauses 1 to 18.

23. A method for encoding one or more images into a bitstream, wherein the method comprises obtaining a sample of the first component for a block of the first component of one or more images from a sample block of the second component associated with reconstructed in accordance with any of clauses 19 to 21.

24. A method for decoding one or more images from a bitstream, wherein the method comprises deriving a linear model in accordance with any of clauses 106. A method for decoding one or more images from a bitstream, wherein the method comprises obtaining a sample of the first component for a block of the first component of one or more images from a block of the second reconstructed component associated in accordance with any of clauses 19 to 21.

26. A device for deriving a linear model to obtain a sample of the first component for a block of the first component from a reconstructed sample of the second component associated with a block of the second component in the same frame, the device comprising means for: - determining two points, each point defined by two variables, the first variable corresponding to a sample value of the second component, the second variable corresponding to a sample value of the first component, based on reconstructed samples of both the first and second components; - determining the parameters of a linear equation representing a straight line passing through the two points; and deriving the linear model defined by the parameters of the straight line.

27. The device in accordance with clause 26, wherein the two points are determined on the basis of 25 pairs of samples in the vicinity of the block of the second component. 107 28. The device in accordance with clause 27, wherein the two points are determined based on the sample values ​​of the sample pairs in the vicinity of the block of the second component. 5 29. The device in accordance with clause 26, where the two dots correspond respectively to the pairs of samples with the lowest sample value of the second component and the highest sample value of the second component. 10 30. The device in accordance with clause 26, where the two dots correspond respectively to the sample pairs with the lowest sample value of the first component and with the highest sample value of the first component. 15 31. The device in accordance with clause 26, wherein the means are configured to: - determine two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and with the highest sample value of the second component; - determine two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and with the highest sample value of the first component; and - determine the two points as the two first Rczonn / rznz / E / YiAi points if they form a longer segment, and determine the two points as the two second points if the opposite is true.

32. The device in accordance with clause 26, wherein the means are configured to: 5 - determine two first points corresponding respectively to the sample pairs with the lowest sample value of the second component and the highest sample value of the second component; - determine two second points corresponding 10 respectively to the sample pairs with the lowest sample value of the first component and the highest sample value of the first component; and - determine the two points between the two first points and the two second points as the two points that 15 form the longest segment.

33. The device in accordance with clause 26, wherein the means are configured to: - determine two first points corresponding respectively to the pairs of samples with the lowest sample value of the second component and the highest sample value of the second component; - determine two second points corresponding respectively to the pairs of samples with the lowest sample value of the first component and the highest sample value of the first component; and - determine the two points as the first two points if all their variables are different, and determine the two points as the second two points if the opposite is true. 5 34. The device in accordance with clause 26, wherein the means are configured to: - determine two first points corresponding respectively to the sample pairs with the lowest sample value of the second component and the highest sample value of the second component; - determine two second points corresponding respectively to the sample pairs with the lowest sample value of the first component and the highest sample value of the first component; and - determine the two points as the two first points if the slope parameter of the straight line defined by these two points is greater than a given threshold, and determine the two points as the two second points if it is not.

35. The device in accordance with clause 26, wherein the means are configured to: - determine two first points corresponding respectively to the sample pairs with the lowest sample value of the second component and the highest sample value of the second component; - determine two second points corresponding respectively to the sample pairs with the lowest sample value of the first component and the highest sample value of the first component; and - determine the two points as the two first points if the difference between the lowest sample value of the second component and the highest sample value of the second component is greater than the difference between the lowest sample value of the first component and the highest sample value of the first component, and determine the two points as the two second points if the opposite is true.

36. The device in accordance with clause 27, wherein the two points are determined based on the position of the sample pairs in the vicinity of block 15 of the second component.

37. The device in accordance with clause 36, wherein the two points are determined as corresponding to the sample pairs in a predetermined position in the vicinity of the block of the second component.

38. The device in accordance with clause 37, further comprising determining at least one of the two points as corresponding to the sample pair in a second predetermined position when the sample pair in a predetermined position is not available. Rczonn / eznz / E / YiAi 111 39. The device in accordance with clause 26, wherein the two points are determined based on pairs of samples in the vicinity of the second component block and the sample values ​​of the second component block. 5 40. The device in accordance with clause 39, wherein: the first variables of the two points are determined as the sample value with the maximum occurrence in the block of the second component and the second 10 maximum occurrence in the block of the second component; the second variables of the two points are determined as the sample value of the corresponding first component based on the pairs of samples in the neighborhood of the block of the second component. 15 41. The device in accordance with any of clauses 26 to 40, wherein: - the samples of the second component block are organized into at least two groups; and - two points are determined for the definition of a linear model for each group of samples of the second component block.

42. The device in accordance with clause 41, wherein if the two points determined for a group correspond to a slope parameter lower than a predetermined threshold 25, then they are replaced by two points Rczonn / rznz / E / YiAi determined for another group.

43. The device in accordance with clause 41, whereby if the two points determined for a group correspond to a slope parameter lower than a predetermined threshold 5, then two new points are determined based on samples from all the groups considered as a single group.

44. A device for obtaining a sample of the first component for a block of the first component from an associated reconstructed sample of the second component from a block of the second component in the same frame, the device comprising a means for: - defining a plurality of linear model derivation modes comprising CCLM modes using a single linear model and MMLM modes using multiple linear models; selecting one of the linear model derivation modes to obtain the samples of the first component for a block of the first component; wherein: - at least some of the linear model derivation modes using a derivation method in accordance with any of clauses 1 to 13.

45. The device in accordance with clause 44, wherein only CCLM modes use a derivation method 25 in accordance with any of clauses 1 to 18. Rczonn / cznz / E / YiAi 113 46. ​​The device in accordance with clause 44, wherein only MMLM modes use a derivation method in accordance with any of clauses 1 to 18.

47. A device for encoding images, wherein the device comprises a means for deriving a linear model in accordance with any of clauses 1 to 18.

48. An image decoding device, wherein the device comprises a means for deriving a linear model in accordance with any of clauses 1 to 18.

49. A computer program product for a programmable apparatus, the computer program product comprises a sequence of instructions for implementing a method in accordance with any of clauses 1 to 25, when loaded onto, and executed by, the programmable apparatus.

50. A computer-readable medium that stores a program that, when executed by a microprocessor or computer system on a device, causes the device to perform a method in accordance with any of clauses 1 to 25.

51. A computer program that, when executed, causes the method to be carried out in accordance with any of the 25 clauses 1 to 25. Rczonn / eznz / E / YiAi CLAIMS Rczonn / eznz / E / YiAi 1. A method for encoding images by deriving parameters from a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area, the method comprising: determining two pairs of values ​​to determine the parameters of the linear model, each of the two pairs being defined by two variables, a first variable of the two variables corresponding to a luma sample, a second variable of the two variables corresponding to a chroma sample; determining the parameters of the linear model, including a parameter corresponding to a slope of the linear model, when using the two pairs of values; and encoding the target area using the parameters of the linear model,wherein a magnitude of the parameter corresponding to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits.

2. The method according to claim 1, wherein determining the parameter corresponding to the slope of the linear model comprises determining a division, said determination comprising reducing a magnitude of the division by applying a bit shift to said division.

3. A method for decoding images by deriving parameters from a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area, the method comprising: determining two pairs of values ​​to determine the parameters of the linear model, each of the two pairs being defined by two variables, a first variable of the two variables corresponding to a chroma sample,a second variable of the two variables corresponding to a chroma sample; determining the parameters of the linear model, including a parameter corresponding to a slope of the linear model, using the two pairs of values; and decoding the target area using the parameters of the linear model, wherein the magnitude of the parameter corresponding to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits.

4. The method according to claim 3, wherein determining the parameter corresponding to the slope of the linear model comprises determining a division,said determination comprising reducing the magnitude of the division by applying a bit shift to said division. Rczonn / eznz / E / YiAi 5. A device for encoding images by deriving parameters from a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area, wherein the device comprises: a derivation unit for deriving parameters of the linear model; a first determination unit for determining two pairs of values ​​to determine the parameters of the linear model, each of the two pairs being defined by two variables, the first of the two variables corresponding to a luma sample,A second variable of the two variables corresponding to a chroma sample; a second determination unit for determining the parameters of the linear model, including a parameter corresponding to a slope of the linear model, using the two pairs of values; and an encoding unit configured to encode the target area using the parameters of the linear model, wherein a magnitude of the parameter corresponding to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits.

6. A device for decoding images by deriving parameters of a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area.wherein the device comprises: a derivation unit for deriving parameters of the linear model; a first determination unit for determining two pairs of values ​​to determine the parameters of the linear model, each of the two pairs being defined by two variables, the first of the two variables corresponding to a cell sample, the second of the two variables corresponding to a chroma sample; a second determination unit for determining the parameters of the linear model including a parameter corresponding to a slope of the linear model when using the two pairs of values; and a decoding unit configured to decode the target area using the parameters of the linear model,where a magnitude of the parameter that corresponds to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits. 20 7. A non-transient, computer-readable means that enables a programmable device to implement a method for encoding images by deriving parameters from a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area, the 25 method comprising: determining two pairs of values ​​for Rczonn / eznz / E / YiAi to determine the parameters of the linear model, each of the two pairs being defined by two variables, a first variable of the two variables corresponding to a luma sample,A second variable of the two variables that corresponds to a chroma sample; determining the parameters of the linear model, including a parameter that corresponds to a slope of the linear model, using the two pairs of values; and encoding the target area using the parameters of the linear model, wherein a magnitude of the parameter that corresponds to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits. Rczonn / rznz / E / YiAi 8. A non-transient, computer-readable medium that enables a programmable apparatus to implement a method for decoding images by deriving parameters of a linear model to obtain a chroma sample of a target area from an associated luma sample of the target area, the method comprising: determining two pairs of values ​​to determine the parameters of the linear model, each of the two pairs being defined by two variables,a first variable of the two variables corresponding to a luma sample, a second variable of the two variables corresponding to a chroma sample; determine the parameters of the linear model including a parameter corresponding to a slope of the linear model using the two pairs of values; and decode the target area using the parameters of the linear model, wherein a magnitude of the parameter corresponding to the slope is restricted such that the number of bits to represent the slope in integer arithmetic does not exceed 5 bits.