BLOCK-BASED PREDICTION

MX434339BActive Publication Date: 2026-05-19FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV

Patent Information

Authority / Receiving Office
MX · MX
Patent Type
Patents
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2021-11-04
Publication Date
2026-05-19

AI Technical Summary

Technical Problem

Existing methods for block-based prediction in image and video coding face challenges in efficiently approximating matrix multiplication using integer operations, leading to computational inefficiencies and suboptimal prediction accuracy due to the use of floating-point matrices derived from machine learning algorithms.

Method used

The solution involves deriving an additional vector through an invertible linear transform from the sample value vector, allowing for integer arithmetic operations by performing a matrix-vector product between this additional vector and a prediction matrix, which is quantized to minimize quantization errors and reduce computational complexity.

Benefits of technology

This approach enables efficient integer approximation of matrix-vector products, reducing computational complexity and improving prediction accuracy while maintaining effective implementation, thus enhancing computational efficiency and prediction effectiveness.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure MX434339B0
    Figure MX434339B0
Patent Text Reader

Abstract

An apparatus for predicting a predetermined block (18) of an image using a plurality of reference samples (17a,c). The apparatus is configured to form (100) a vector of sample values ​​(102, 400) from the plurality of reference samples, derive from the vector of sample values ​​an additional vector to which the vector of sample values ​​is mapped by means of a predetermined invertible linear transformation, compute a matrix vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predict samples of the predetermined block based on the prediction vector.
Need to check novelty before this filing date? Find Prior Art

Description

BLOCK-BASED PREDICTION FIELD OF INVENTION This application relates to the field of block-based prediction. The modalities refer to a convenient way to determine a prediction vector. BACKGROUND OF THE INVENTION Today, there are different methods of intra- and inter-block prediction. Samples adjacent to a block to be predicted, or samples obtained from other images, can form a sample vector that can be subjected to matrix multiplication to determine a prediction signal for the block to be predicted. Matrix multiplication should preferably be performed using integer arithmetic and a matrix derived by some machine learning-based training algorithm for matrix multiplication should be used. However, such a training algorithm typically only results in an array that is given in floating-point precision. Therefore, one faces the problem of specifying integer operations so that array multiplication is well approximated using these integer operations and / or to achieve improved computational efficiency and / or to make the prediction more effective in terms of implementation. This is achieved through the subject matter of the independent claims of the present application. Additional embodiments according to the invention are defined by means of the subject matter of the dependent claims of this application. BRIEF DESCRIPTION OF THE INVENTION According to a first aspect of the present invention, the inventors of this application realized that a problem that arises when attempting to determine a prediction vector using an encoder or decoder is the potential lack of integer arithmetic for calculating a prediction vector for a predetermined block. According to the first aspect of this application, this difficulty is overcome by deriving from the sample vector an additional vector to which the sample vector is mapped by means of a predetermined invertible linear transform, so that the sample vector is not directly applied in a matrix-vector product that calculates the prediction vector. Rather, the matrix-vector product is calculated between the additional vector and a predetermined prediction matrix to calculate the prediction vector.For example, the additional vector is derived in such a way that the samples of the predetermined block can be predicted by the device using integer arithmetic and / or fixed-point arithmetic operations. This is based on the idea that the components of the sample value vector are correlated, so a convenient predetermined invertible linear transform can be used, for example, to obtain the additional vector with mostly small entries, thus allowing the use of an integer matrix and / or a matrix of values. MA / t / ZUZZ / UU lODU fixed point and / or a matrix with small expected quantization errors such as the default prediction matrix. Accordingly, in accordance with a first aspect of this application, an apparatus for predicting a predetermined block of an image using a plurality of reference samples is configured to form a vector of sample values ​​from the plurality of reference samples. The reference samples are, for example, samples adjacent to the predetermined block in intraprediction or samples in another image in interprediction. According to one embodiment, the reference samples can be reduced, for example, by averaging to obtain a vector of sample values ​​with a reduced number of values.Furthermore, the device is configured to derive an additional vector from the sample vector, map the sample vector to it using a predetermined invertible linear transform, calculate a matrix-vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predict samples from the predetermined block based on the prediction vector. Based on the additional vector, the prediction of samples from the predetermined block can represent an integer approximation of a direct matrix-vector product between the sample vector and a matrix to obtain predicted samples from the predetermined block. The direct matrix-vector product between the sample vector and the matrix can be equal to a second matrix-vector product between the additional vector and a second matrix. The second matrix and / or the matrix are, for example, machine learning prediction matrices. In one modality, the second matrix can be based on the default prediction matrix and an integer matrix. The second matrix is ​​equal, for example, to the sum of the default prediction matrix and an integer matrix. In other words, the second matrix-vector product between the additional vector and the second matrix can be represented by the matrix-vector product between the additional vector and the default prediction matrix, and an additional matrix-vector product between the integer matrix and the additional vector.The integer matrix is, for example, a matrix with a predetermined column (i) consisting of ones and columns i and Ψ that are zero. Therefore, using the apparatus, a good integer approximation and / or a good fixed-point approximation of the first and / or second matrix-vector product can be achieved. This is based on the idea that the predetermined prediction matrix can be quantized, or is already a quantized matrix, since the additional vector comprises mainly small values, resulting in a marginal impact of potential quantization errors on the approximation of the first and / or second matrix-vector product. According to one approach, the invertible linear transform multiplied by a sum of the predetermined prediction vector and an integer matrix can correspond to a quantized version of a machine learning prediction matrix. The integer matrix is, for example, a matrix with a predetermined column i₁ consisting of ones and columns i₂ i₁ that are zero. According to one embodiment, the invertible linear transform is defined such that a predetermined component of the add-on vector becomes a, and each of the other components of the add-on vector, except the predetermined component, becomes equal to a corresponding component of the sample value vector minus a, where a is a predetermined value. Therefore, an add-on vector with small values ​​can be realized, allowing for quantization of the predetermined prediction matrix and resulting in a marginal impact of the quantization error on the predicted samples of the predetermined block. With this add-on vector, it is possible to predict the samples of the predetermined block using integer arithmetic and / or fixed-point arithmetic operations. According to one modality, the default value is one of an average, such as an arithmetic mean or a weighted average, of components of the sample value vector, a default value, a signed value in a data stream in which the image is encoded, and a component of the sample value vector that corresponds to the default component. The sample value vector comprises, for example, a plurality of reference samples or averages of groups of reference samples from a plurality of reference samples. A group of reference samples comprises, for example, at least two reference samples, preferably adjacent reference samples. The default value is, for example, the arithmetic mean or weighted average of some components (for example, at least two components) of the sample value vector or of all components of the sample value vector. This is based on the idea that the components of the sample value vector are correlated; that is, the component values ​​may be similar and / or at least some of the components may have equal values. Therefore, the components of the additional vector that are not equal to the default component of the additional vector—that is, the components i for i ≤ 0, where 0 represents the default component—likely have a smaller absolute value than the corresponding component of the sample value vector. Thus, an additional vector with small values ​​can be realized. The default value can be a default value, where the default value is chosen, for example, from a list of default values, or it is the same for all block sizes, prediction modes, etc. The components of the default value list can be associated with different block sizes, prediction modes, sample value vector sizes, average values ​​of sample value vectors, etc. Therefore, for example, depending on the default block—that is, depending on the decoding or encoding settings associated with the default block—an optimized default value is chosen from the default value list by the device. Alternatively, the default value can be a signed value in a data stream in which the image is encoded. In this case, for example, an encoding device determines the default value. Determining the default value can be based on the same considerations described above in the context of the default value. Components of the additional vector not equal to the default component of the additional vector, i.e., components i for i + i0, where i0 represents the default component, have, for example, an absolute value less than the corresponding component of the sample value vector using the default value or the signed value in the data stream as the default value. According to one modality, the default value can be a component of the vector of values ​​of MA / t / ZUZZ / UU IO0U samples that correspond to the default component. In other words, the value of a component of the sample value vector that corresponds to the default component does not change when applying the invertible linear transform. Therefore, the value of a component of the sample value vector that corresponds to the default component is equal, for example, to the value of the default component of the additional vector. The default component is chosen, for example, by default, as described above with respect to the default value. It is clear that the default component can be chosen by an alternative procedure. The default component is chosen, for example, similarly to the default value. According to one modality, the default component is chosen such that a value of a corresponding component of the sample value vector is equal to, or has only a marginal deviation from, the average of the values ​​in the sample value vector. According to one modality, the matrix components of the default prediction matrix within a column of the default prediction matrix that corresponds to the default component of the additional vector are all zero. The apparatus is configured to calculate the matrix-vector product, that is, the matrix-vector product between the additional vector and the default prediction matrix, by performing multiplications by calculating a matrix-vector product between a reduced prediction matrix resulting from the default prediction matrix omitting the column, that is, the column consisting of zeros, and a further additional vector resulting from the additional vector omitting the default component.This is based on the idea that the default component of the additional vector is set to the default value, and that this default value is exactly or nearly the sample values ​​in a prediction signal for the default block, if the values ​​in the sample vector are correlated. Therefore, the prediction of the samples in the default block is optionally based on the default prediction matrix multiplied by the additional vector, or rather, the reduced prediction matrix multiplied by the additional vector plus an integer matrix, whose column i0, corresponding to the default component, consists of ones and all other columns i ≥ i0 are zero, multiplied by the additional vector.In other words, a machine learning prediction matrix transformed, for example, by an inverse transform of the default invertible linear transform, can be split into the default prediction matrix or rather the reduced prediction matrix and the matrix of integers based on the additional vector.Therefore, only the prediction matrix needs to be quantized to obtain an integer approximation of the machine learning prediction matrix and / or the transformed machine learning prediction matrix. This is convenient because the additional plus vector does not include the default component, and all other components have much smaller absolute values ​​than the corresponding component of the sample value vector, allowing for a marginal impact of quantization error on the resulting quantization of the machine learning prediction matrix and / or the transformed machine learning prediction matrix. Furthermore, with the reduced prediction matrix and the additional plus vector, fewer multiplications are required to obtain the prediction vector, reducing complexity and resulting in higher computational efficiency.Optionally, you can add a vector with all the components that are the default value to the vector. MA / IZ / 2U22 / UU1ÜOU prediction in the prediction of the default block samples. This vector can be obtained, as described above, by means of the matrix-vector product between the integer matrix and the additional matrix. According to one modality, a matrix resulting from the sum of each matrix component of the default prediction matrix within a column of the default prediction matrix, corresponding to the default component of the additional vector, with one, multiplied by the default invertible linear transform, corresponds to a quantized version of a machine learning prediction matrix. The sum of each matrix component of the default prediction matrix within a column of the default prediction matrix corresponding to the default component of the additional vector, with one, represents, for example, the transformed machine learning prediction matrix. The transformed machine learning prediction matrix represents, for example, a machine learning prediction matrix transformed by means of an inverse transform of the default invertible linear transform.The sum may correspond to a sum of the predetermined prediction matrix with a matrix of integers, whose column i0, whose column corresponds to the predetermined component, consists of ones and all other columns i Ψ i0 are zero. According to one modality, the device is configured to represent the default prediction matrix using prediction parameters and calculate the matrix-vector product by performing multiplications and additions on the components of the additional vector and the prediction parameters, as well as the resulting intermediate values. The absolute values ​​of the prediction parameters can be represented by an n-bit fixed-point number representation, where n is less than or equal to 14, or alternatively, 10, or alternatively, 8. In other words, the prediction parameters are multiplied and / or added to elements of the matrix-vector product, such as the additional vector, the default prediction matrix, and / or the prediction vector.By multiplication and addition operations, a fixed-point format can be obtained, for example, from the default prediction matrix, the prediction vector, and / or the predicted samples of the default block. One embodiment according to the invention relates to an image encoding apparatus comprising an apparatus for predicting a predetermined block of the image using a plurality of reference samples according to any of the embodiments described herein, to obtain a prediction signal. The apparatus further comprises an entropy encoder configured to encode a prediction residue for the predetermined block to correct the prediction signal.For the prediction of the predetermined block to obtain the prediction signal, the apparatus is configured, for example, to form a vector of sample values ​​from the plurality of reference samples, derive from the vector of sample values ​​an additional vector with which the vector of sample values ​​is mapped by means of a predetermined invertible linear transform, calculate a matrix-vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predict samples of the predetermined block based on the prediction vector. One embodiment according to the invention relates to an image decoding apparatus comprising an apparatus for predicting a predetermined block of the image using a plurality of reference samples according to any of the embodiments described herein, to obtain a prediction signal. Furthermore, MA / t / ZUZZ / UU IO0U The apparatus comprises an entropy decoder configured to decode a prediction residue for the predetermined block, and a prediction corrector configured to correct the prediction signal using the prediction residue. For the prediction of the predetermined block to obtain the prediction signal, the apparatus is configured, for example, to form a sample-value vector from the plurality of reference samples, derive from the sample-value vector an additional vector to which the sample-value vector is mapped by means of a predetermined invertible linear transform, calculate a matrix-vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predict samples of the predetermined block based on the prediction vector. One embodiment according to the invention relates to a method for predicting a predetermined block of an image using a plurality of reference samples, comprising forming a sample-value vector from the plurality of reference samples, deriving from the sample-value vector an additional vector to which the sample-value vector is mapped by means of a predetermined invertible linear transform, calculating a matrix-vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predicting samples of the predetermined block based on the prediction vector. One embodiment according to the invention relates to a method for encoding an image comprising predicting a predetermined block of the image using a plurality of reference samples according to the method described above, to obtain a prediction signal, and entropy-encoding a prediction residue for the predetermined block to correct the prediction signal. One embodiment according to the invention relates to a method for decoding an image comprising predicting a predetermined block of the image using a plurality of reference samples according to one of the methods described above, to obtain a prediction signal, entropy-decoding a prediction residue for the predetermined block, and correcting the prediction signal using the prediction residue. One embodiment according to the invention relates to a data stream having an image encoded therein using a method described herein for encoding an image. An embodiment according to the invention refers to a computer program having program code to carry out, when executed on a computer, a method of any of the embodiments described herein. BRIEF DESCRIPTION OF THE DRAWINGS The drawings are not necessarily to scale, instead emphasizing the principles of the invention. In the following description, different embodiments of the invention are described with reference to the following drawings, in which: Figure 1 shows one modality of encoding in a data stream. Figure 2 shows one type of encoder. Figure 3 shows one modality of image reconstruction. ML / t / ZUZZ / UU lODU Figure 4 shows one type of decoder. Figure 5 shows a schematic diagram of a block prediction for encoding and / or decoding, according to a modality. Figure 6 shows a matrix operation for a block prediction to encode and / or decode according to a modality. Figure 7.1 shows a prediction of a block with a reduced sample value vector according to a modality. Figure 7.2 shows a prediction of a block using a sample interpolation according to a modality. Figure 7.3 shows a prediction of a block with a reduced sample value vector, where only some boundary samples are averaged, according to a modality. Figure 7.4 shows a prediction of a block with a reduced sample value vector, where groups of four boundary samples are averaged according to a modality. Figure 8 shows a schematic diagram of an apparatus for predicting a block according to a modality. Figure 9 shows matrix operations performed by an apparatus according to a modality. Figures 10a to 10c show matrix operations carried out by an apparatus according to a modality. Figure 11 shows detailed matrix operations carried out by an apparatus using offset and scale parameters, according to a modality. Figure 12 shows detailed matrix operations carried out by an apparatus using offset and scale parameters, according to a different modality. Figure 13 shows a block diagram of a method for predicting a predetermined block, according to a modality. DETAILED DESCRIPTION OF THE INVENTION Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by means of equal or equivalent reference numbers even if they are presented in different figures. The following description provides a plurality of details to offer a more complete explanation of embodiments of the present invention. However, it will be evident to those skilled in the art that the embodiments of the present invention can be practiced without these specific details. In other cases, well-known structures and devices are shown in block diagram form rather than in detail to avoid obscuring the embodiments of the present invention. Additionally, the features of the different embodiments described later in this document can be combined with one another, unless otherwise indicated. ML / t / ZUZZ / UU IO0U specifically the opposite. 1. Introduction The following describes various examples, modes, and inventive aspects. At least some of these examples, modes, and aspects relate, among other things, to methods and / or devices for video encoding and / or for performing block-based predictions, for example, using linear or affine transforms with adjacent sample reduction, and / or for optimizing video delivery (for example, broadcasting, streaming, file playback, etc.), for example, for video applications and / or virtual reality applications. Furthermore, the examples, modes, and aspects may refer to High Efficiency Video Coding (HEVC) or successors. Additional modes, examples, and aspects will also be defined by means of the appended claims. It should be noted that any modality, example and aspect as defined by the claims may be supplemented by any of the details (features and functionalities) described in the following chapters. Also, the modalities, examples and aspects described in the following chapters can be used individually, and can also be supplemented by any of the features in another chapter, or by any feature included in the claims. It should also be noted that the examples, modalities, and individual aspects described in this document can be used individually or in combination. Therefore, details can be added to each of these individual aspects without adding details to other examples, modalities, and aspects. It should also be noted that this disclosure describes, explicitly or implicitly, system and / or method characteristics of decoding and / or encoding. Furthermore, the features and functionalities disclosed in this document that pertain to a method can also be used in a device. Additionally, any of the features and functionalities disclosed in this document with respect to a device can also be used in a corresponding method. In other words, the methods disclosed in this document can be supplemented by any of the features and functionalities described with respect to devices. Also, any of the features and functionalities described in this document can be implemented in hardware or software, or using a combination of hardware and software, as will be described in the 'Implementation Alternatives' section. On the other hand, any of the characteristics described in parentheses (“(...)” or “[..]”) may be considered optional in some examples, modalities, or aspects. 2. Encoders, decoders The following describes different examples that can help achieve a more effective understanding. ML / t / ZUZZ / UU lODU when using block-based prediction. Some examples achieve high compression efficiency by employing a set of intraprediction modes. These modes can be added to other heuristically designed intraprediction modes, for example, or they can be provided exclusively. Still other examples make use of both of the aforementioned specializations. A variation of these modalities, however, is that intraprediction is converted into interprediction using reference samples in another image instead. To facilitate understanding of the following examples in this application, the description begins with a presentation of possible encoders and decoders that conform to it and into which the examples described later in this application could be incorporated. Figure 1 shows an apparatus for block-encoding an image 10 into a data stream 12. The apparatus is indicated by the reference symbol 14 and can be either a still image encoder or a video encoder. In other words, image 10 can be an actual image from a video 16 when the encoder 14 is configured to encode the video 16 that includes image 10 in the data stream 12, or the encoder 14 can encode image 10 in the data stream 12 exclusively. As mentioned, the encoder 14 performs block-based encoding. To do this, the encoder 14 subdivides the image 10 into blocks, units of which the encoder 14 encodes the image 10 into the data stream 12. Examples of possible subdivisions of the image 10 into the blocks 18 are set out in more detail later. Generally, the subdivision can result in blocks 18 of constant size, such as an array of blocks arranged in rows and columns, or in blocks 18 of different block sizes, such as by using a hierarchical multi-tree subdivision, starting the multi-tree subdivision from the total image area of ​​the image 10, or from a pre-partition of the image 10 into an array of tree blocks. These examples should not be treated as excluding other possible ways of subdividing the image 10 into the blocks 18. Furthermore, encoder 14 is a predictive encoder configured to predictively encode image 10 into data stream 12. For a certain block 18, this means that encoder 14 determines a prediction signal for block 18 and encodes the prediction residue, i.e., the prediction error by which the prediction signal deviates from the actual image content within block 18, into data stream 12. The encoder 14 can support different prediction modes for deriving the prediction signal for a given block 18. The prediction modes, which are important in the following examples, are intraprediction modes according to which the interior of block 18 is spatially predicted from adjacent, already encoded samples of image 10. The encoding of image 10 in the data stream 12, and consequently the corresponding decoding procedure, can be based on a certain encoding order 20 defined between the blocks 18. For example, the encoding order 20 can traverse the blocks 18 in a frame scan order such as row by row from top to bottom, traversing each row from left to right, for example.In the case of hierarchical subdivision based on multiple trees, the frame scan ordering can be applied within each hierarchy level, where a depth-first traversal order can be applied first, i.e., leaf notes within a block of a certain hierarchy level can precede blocks of the same hierarchy level. ML / t / ZUZZ / UU IO0U have the same parent block according to the coding order 20. Depending on the coding order 20, the adjacent, already coded samples of a block 18 can generally be located on one or more sides of the block 18. In the case of the examples presented in this document, for example, the adjacent, already coded samples of a block 18 are located on the top of, and to the left of, the block 18. Intraprediction modes may not be the only ones supported by the encoder 14. If the encoder 14 is a video encoder, for example, it may also support interprediction modes, according to which a block 18 is temporally predicted from a previously encoded image of the video 16. Such an interprediction mode may be a motion-compensated prediction mode, according to which a motion vector is signaled for such block 18, indicating a relative spatial offset of the portion from which the prediction signal of block 18 is to be derived as a copy.Additionally or alternatively, other non-intraprediction modes may also be available, such as interprediction modes in the case that the encoder 14 is a multi-view encoder, or non-predictive modes according to which the interior of block 18 is encoded as is, i.e., without any prediction. Before beginning with the approach of describing the present application in the intraprediction modes, a more specific example for a possible block-based encoder, i.e., for a possible implementation of the encoder 14, as described with respect to Figure 2, then presenting the corresponding examples for a decoder that fits Figures 1 and 2, respectively. Figure 2 shows a possible implementation of the encoder 14 of Figure 1, namely one where the encoder is configured to use transform coding to encode the prediction residue, although this is merely an example and the present application is not limited to this type of prediction residue coding. According to Figure 2, the encoder 14 comprises a subtractor 22 configured to subtract from the input signal, namely the image 10 or, on a block basis, the current block 18, the corresponding prediction signal 24 to obtain the prediction residue signal 26, which is then encoded by means of a prediction residue encoder 28 into a data stream 12. The prediction residue encoder 28 consists of a lossy coding stage 28a and a lossless coding stage 28b.The lossy stage 28a receives the prediction residual signal 26 and comprises a quantizer 30 that quantizes the samples of the prediction residual signal 26. As mentioned earlier, the present example uses transform encoding of the prediction residual signal 26, and consequently, the lossy encoding stage 28a comprises a transform stage 32 connected between the subtractor 22 and the quantizer 30 to transform such spectrally decomposed prediction residual 26 with quantization of the quantizer 30 occurring at the transform coefficients where the residual signal 26 is present. The transform can be a DCT, DST, FFT, Hadamard transform, or similar.The transformed and quantized prediction residual signal 34 is then subjected to lossless encoding by means of the lossless encoding stage 28b, which is an entropy encoder that entropy-encodes the quantized prediction residual signal 34 into the data stream 12. The encoder 14 further comprises the prediction residual signal reconstruction stage 36 connected to the output of the quantizer 30 to reconstruct the signal from the transformed and quantized prediction residual signal 34. MA / t / ZUZZ / UU IO0U residual prediction in a manner also available in the decoder, i.e., taking into account the encoding loss in the quantizer 30. For this purpose, the residual prediction reconstruction stage 36 comprises a dequantizer 38 that performs the inverse of the quantization of the quantizer 30, followed by an inverting transformer 40 that performs the inverse transformation with respect to the transformation carried out by the transformer 32, such as the inverse of the spectral decomposition, such as the inverse of any of the specific transformation examples mentioned above. The encoder 14 comprises a summing transformer 42 that sums the residual prediction signal reconstructed as output by the inverting transformer 40 and the prediction signal 24 to output a reconstructed signal, i.e., reconstructed samples.This output is fed to predictor 44 of encoder 14, which then determines the prediction signal 24 based on it. Predictor 44 supports all the prediction modes discussed earlier with respect to Figure 1. Figure 2 also illustrates that if encoder 14 is a video encoder, it may also include a loop filter 46 that completely filters the reconstructed images, which, after being filtered, form reference images for predictor 44 with respect to the interpredicted block. As mentioned earlier, the encoder 14 operates on a block basis. For the following description, the block basis of interest is the one that subdivides image 10 into blocks for which the intraprediction mode is selected from a set or plurality of intraprediction modes supported by predictor 44 or encoder 14, respectively, and the selected intraprediction mode is carried out individually. Other types of blocks into which image 10 is subdivided may also exist. For example, the aforementioned decision of whether image 10 is intercoded or intracoded can be made at a granularity or in block units that deviate from block 18. For example, the inter / intra mode decision can be carried out at a level of encoding blocks into which image 10 is subdivided, and each encoding block is subdivided into prediction blocks.Each prediction block with encoding blocks for which intraprediction has been selected is further subdivided into an intraprediction mode decision. For each of these prediction blocks, a decision is made as to which supported intraprediction mode should be used. These prediction blocks will form the 18 blocks of interest here. Prediction blocks within encoding blocks associated with interprediction would be handled differently by predictor 44. They would be interpredicted from reference images by determining a motion vector and copying the prediction signal for this block from a location in the reference image indicated by the motion vector. Another block subdivision belongs to the unit transform block subdivision, the transformations of which are carried out by means of transformer 32 and inverse transformer 40.For example, transformed blocks can result from further subdividing coding blocks. Naturally, the examples set out in this document should not be considered exhaustive, and other examples exist. For the sake of completeness, it should be noted that subdivision into coding blocks can utilize, for example, multi-tree subdivision, and prediction blocks and / or transformation blocks can also be obtained by further subdividing coding blocks using multi-tree subdivision. MA / t / ZUZZ / UU IO0U A decoder 54, or block decoding device, which corresponds to the encoder 14 of Figure 1, is shown in Figure 3. This decoder 54 performs the opposite function of the encoder 14; that is, it decodes from the image 10 of the data stream 12 in a block manner and supports, for this purpose, a plurality of intraprediction modes. The decoder 54 may include a residue provider 156, for example. All the other possibilities discussed above with respect to Figure 1 also apply to the decoder 54. For this purpose, the decoder 54 can be a still image decoder or a video decoder, and all prediction modes and prediction possibilities are also supported by the decoder 54.The main difference between encoder 14 and decoder 54 lies in the fact that encoder 14 chooses or selects coding decisions according to some optimization, such as minimizing a cost function that may depend on the coding rate and / or coding distortion. One of these coding options or parameters may involve selecting the intraprediction mode to be used for a current block 18 from among the available or supported intraprediction modes. The selected intraprediction mode can then be signaled by encoder 14 for the current block 18 within data stream 12, with decoder 54 again making the selection using this signal in data stream 12 for block 18.Similarly, the subdivision of image 10 into blocks 18 can be optimized within encoder 14, and the corresponding subdivision information can be transported within data stream 12, with decoder 54 retrieving the subdivision of image 10 into blocks 18 based on its subdivision information. In summary, decoder 54 can be a predictive decoder operating in blocks and, in addition to intraprediction modes, can support other prediction modes such as interprediction modes if, for example, decoder 54 is a video decoder.In decoding, decoder 54 can also use the coding order 20 discussed with respect to Figure 1, and since this coding order 20 is followed by both encoder 14 and decoder 54, the same adjacent samples are available for a current block 18 in both encoder 14 and decoder 54. Consequently, in order to avoid unnecessary repetition, the description of the operating mode of encoder 14 should also apply to decoder 54 with respect to the subdivision of image 10 into blocks, for example, with respect to prediction and with respect to the encoding of the prediction residue.The difference lies in the fact that the encoder 14 chooses, for optimization purposes, some encoding options or encoding parameters and signals within, or inserted into, the data stream 12, encoding parameters that are then derived from the data stream 12 by means of the decoder 54 to redo the prediction, subdivision, etc. Figure 4 shows a possible implementation of the decoder 54 of Figure 3, that is, one that conforms to the implementation of the encoder 14 of Figure 1 as shown in Figure 2. Since many elements of the encoder 54 in Figure 4 are the same as those present in the corresponding encoder of Figure 2, the same reference symbols, provided with an apostrophe, are used in Figure 4 to indicate these elements. In particular, the optional adder 42' in the loop filter 46' and the predictor 44' are connected in a prediction loop in the same way as in the encoder of Figure 2. The reconstructed prediction residual signal, i.e. The dequantized and retransformed ML / t / ZUZZ / UU IO0U signal, applied to the adder 42', is derived by means of a sequence from the entropy decoder 56, which inverts the entropic encoding of the entropy encoder 28b, followed by the residual signal reconstruction stage 36', which consists of the dequantizer 38' and the inverting transformer 40', as in the case of the encoding side. The decoder output is the reconstruction of image 10. The reconstruction of image 10 can be available directly at the output of the adder 42' or, alternatively, at the output of the loop filter 46'. A post-filter can be accommodated at the decoder output in order to subject the reconstruction of image 10 to some post-filtering to improve image quality, but this option is not shown in Figure 4. Again, with respect to Figure 4, the description presented earlier regarding Figure 2 will also apply to Figure 4, with the exception that the encoder simply performs the optimization tasks and the associated decisions regarding the encoding options. However, the entire description regarding block subdivision, prediction, dequantization, and retransformation also applies to decoder 54 in Figure 4. 3. Affine Linear Weighted Intra Predictor (ALWIP) Some non-limiting examples regarding ALWIP are discussed in this document, even though ALWIP is not always necessary to incorporate the techniques discussed here. This application relates, among other things, to a concept for an enhanced block-based prediction mode for block image encoding, such as one usable in a video codec such as HEVC or any successor to HEVC. The prediction mode may be an intraprediction mode, but in theory, the concepts described herein can be transferred to interprediction modes, as well as where the reference samples are part of another image. The goal is to find a block-based prediction concept that allows for both efficient and hardware-friendly implementation. This objective is achieved through the subject matter of the independent claims of the present application. Intraprediction modes are widely used in image and video coding. In video coding, intraprediction modes compete with other prediction modes, such as interprediction modes and motion-compensated prediction modes. In intraprediction modes, a current block is predicted based on adjacent samples—that is, samples already encoded on the encoder side and already decoded on the decoder side. The adjacent sample values ​​are extrapolated into the current block to form a prediction signal for that block, with the prediction residue being transmitted in the data stream for the current block. The better the prediction signal, the smaller the prediction residue, and consequently, fewer bits are needed to encode the prediction residue. For it to be effective, several aspects must be taken into account in order to form an effective platform for intraprediction in a block image coding environment. For example, the greater the number of The more intraprediction modes supported by the codec, the higher the consumption of lateral information rate to signal the selection to the decoder. On the other hand, the set of supported interprediction modes must be capable of providing a good prediction signal, that is, a prediction signal that results in a low prediction residual. In the following, an apparatus (encoder or decoder) for block decoding an image from a data stream is disclosed - as a mode of comparison or basic example. The apparatus supports at least one intraprediction mode according to which the intraprediction signal for a block of a predetermined size of the image is determined by applying a first template of samples that border the current block in an affine linear predictor, which, as a result, shall be called an affine linear weighted intrapredictor (ALWIP). The device may have at least one of the following properties (the same may apply to a method or another technique, for example, implemented in a non-transient storage unit that stores instructions which, when executed by a processor, cause the processor to implement the method and / or operate as the device): 3.1 Predictors can be complementary to other predictors The intraprediction modes that could be the subject of the implementation improvements described below can be complementary to other intraprediction modes of the codec. Therefore, they can be complementary to the DC, planar, or angular prediction modes defined in the HEVC codec and the JEM reference software, respectively. These last three types of intraprediction modes will henceforth be referred to as conventional intraprediction modes. Therefore, for a given block in intra-mode, a marker needs to be analyzed by the decoder indicating whether or not one of the intraprediction modes supported by the device will be used. 3.2 More than one of the proposed prediction modes The device may contain more than one ALWIP mode. Therefore, if the decoder knows that one of the ALWIP modes supported by the device is going to be used, it needs to analyze additional information indicating which of the supported ALWIP modes will be used. The supported mode signaling may have the property that the encoding of some ALWIP modes may require fewer bins than other ALWIP modes. Which of these modes require fewer bins and which require more bins may depend on the information that can be extracted from the already decoded bitstream or can be predetermined. 4. Some aspects Figure 2 shows decoder 54 for decoding an image from a data stream 12. Decoder 54 can be configured to decode a predetermined block 18 of the image. In particular, predictor 44 can be configured to map a set of P contiguous samples that border the predetermined block 18 using a linear or affine linear transformation [e.g., ALWIP] onto a set of Q predicted values ​​for samples MA / t / ZUZZ / UU IO0U of the default block. As shown in Figure 5, a predetermined block 18 comprises Q values ​​that will be predicted (which, at the end of the operations, will be “predicted values”). If block 18 has M rows and N columns, Q = M*N. The Q values ​​of block 18 can be in the spatial domain (e.g., pixels) or in the transform domain (e.g., DCT, discrete wavelet transform, etc.). The Q values ​​of block 18 can be predicted based on the P values ​​taken from the adjacent blocks 17a–17c, which are generally adjacent to block 18. The P values ​​of the adjacent blocks 17a–17c can be in the closest positions (e.g., adjacent) to block 18. The P values ​​of the adjacent blocks 17a–17c have already been processed and predicted. The P values ​​are indicated as values ​​in portions 17'a-17'c, to distinguish them from the blocks of which they are a part (in some examples, 17'b is not used). As shown in Figure 6, in order to perform the prediction, it is possible to work with a first vector 17P with P entries (each entry being associated with a particular position in the adjacent portions 17'a-17'c), a second vector 18Q with Q entries (each entry being associated with a particular position in block 18), and a mapping matrix 17M (each row being associated with a particular position in block 18, each column being associated with a particular position in the adjacent portions 17'a-17'c). Therefore, the mapping matrix 17M performs the prediction of the P values ​​of the adjacent portions 17'a-17'c into values ​​of block 18 according to a predetermined method. Thus, the entries in the mapping matrix 17M can be understood as weighting factors. In the following passages, we will refer to the adjacent portions of the boundary using the signs 17a17c instead of 17'a-17'c. In this field, several conventional modes are known, such as DC mode, flat mode, and 65 directional prediction modes. For example, 67 modes can be identified. However, it has been observed that it is also possible to use different modes, which are referred to here as linear or linear affine transformations. The linear or linear affine transformation comprises P*Q weighting factors, among which at least % P*Q weighting factors are non-zero weighting values, comprising, for each of the Q predicted values, a series of P weighting factors related to the respective predicted value. The series, when arranged one below the other according to a predetermined frame scan order among the samples of the block, form an envelope that is omnidirectionally nonlinear. It is possible to map the P positions of the adjacent values ​​17'a-17'c (template), the Q positions of the adjacent samples 17'a-17'c, and the P*Q weighting factors of the matrix 17M. A plane is an example of the envelope of the series for a DC transformation (which is a plane for the DC transformation). The envelope is evidently planar and is therefore excluded by the definition of the linear or affine linear inverse plot (ALWIP). Another example is a matrix that results in an emulation of an angular mode: An envelope would be excluded from the definition of ALWIP and, frankly speaking, would look like a hill leading obliquely from top to bottom along a direction in the P / Q plane. The planar mode and the 65 directional prediction modes would have different envelopes, which would, however, be linear in at least one direction, i.e., all directions for MA / t / ZUZZ / UU lODU the DC exemplified, for example, and the direction of the hill for an angular mode, for example. Conversely, the envelope of the linear or affine linear transformation will not be omnidirectionally linear. It has been understood that such a transformation can be optimal, in some situations, for making the prediction for block 18. It has been observed that it is preferable for at least % of the weighting factors to be different from zero (i.e., at least 25% of the P*Q weighting factors are different from 0). The weighting factors may not be related to each other according to any regular mapping rule. Therefore, a 17M matrix may be such that the values ​​of its entries have no apparent recognizable relationship. For example, the weighting factors cannot be described by any analytical or differential function. In the examples, an ALWIP transformation is such that the mean of maximum cross-correlations between a first set of weighting factors related to the respective predicted value, and a second set of weighting factors related to predicted values ​​different from the respective predicted value, or an inverted version of the latter set—whichever leads to a higher maximum—can be less than a predetermined threshold (e.g., 0.2, 0.3, 0.35, or 0.1, for example, a threshold in the range of 0.05 to 0.035). For example, for each pair (i, i2) of rows in the ALWIP matrix 17M, a cross-correlation can be calculated by multiplying the P values ​​in row i1 by the P values ​​in row i2. For each resulting cross-correlation, the maximum value can be obtained. Therefore, a mean (average) can be obtained for the entire 17M matrix (i.e., the maximum of the cross correlations is averaged across all combinations).After that, the threshold can be, for example, 0.2 or 0.3 or 0.35 or 0.1, for example, a threshold in a range between 0.05 and 0.035. The P adjacent samples of blocks 17a-17c can be located along a one-dimensional path extending along an edge (e.g., 18c, 18a) of the default block 18. For each of the Q predicted values ​​of the default block 18, the series of P weighting factors related to the respective predicted value can be ordered in a manner that traverses the one-dimensional path in a predetermined direction (e.g., left to right, top to bottom, etc.). In the examples, the 17M matrix of ALWIP can be non-diagonal or block non-diagonal. An example of ALWIP's 17M matrix to predict a 4x4 block 18 from 4 previously predicted adjacent samples could be: { {37, 59, 77, 28}, {32, 92, 85, 25}, {31, 69, 100, 24}, {33, 36, 106, 29}, {24, 49, 104, 48}, {24, 21, 94, 59}, {29, 0, 80, 72}, ML / t / ZUZZ / UU IO0U {35, 2, 66, 84}, {32, 13, 35, 99}, {39, 11, 34, 103}, {45, 21, 34, 106}, {51, 24, 40, 105}, {50, 28, 43, 101}, {56, 32, 49, 101}, {61, 31, 53, 102}, {61, 32, 54, 100}}· (Here, {37, 59, 77, 28} is the first row; {32, 92, 85, 25} is the second row; and {61, 32, 54,100} is the 16th row of the matrix 17M). The matrix 17M has a dimension of 16x4 and includes 64 weighting factors (as a consequence of 16*4 = 64). This is because the matrix 17M has a dimension QxP, where Q = M*N, which is the number of samples from block 18 to be predicted (block 18 is a 4x4 block), and P is the number of samples from the already predicted samples. Here, M = 4, N = 4, Q = 16 (as a consequence of M*N = 4*4 = 16), P = 4. The matrix is ​​non-diagonal and non-block diagonal, and is not described by a particular rule. As can be seen, less than 1λ of the weighting factors are 0 (in the case of the matrix shown above, a weighting factor of sixty-four is zero). The envelope formed by these values, when arranged one below the other according to a frame scan order, forms an envelope that is omnidirectionally nonlinear. Even though the above explanation is mainly discussed with reference to a decoder (e.g., decoder 54), the same can be done with the encoder (e.g., encoder 14). In some examples, for each block size (in the set of block sizes), the ALWIP transformations of intraprediction modes within the second set of intraprediction modes for the respective block size are mutually different. Additionally or alternatively, a cardinality of the second set of intraprediction modes for the block sizes in the set of block sizes may coincide, but the associated linear or affine linear transformations of intraprediction modes within the second set of intraprediction modes for different block sizes may not be transferable between them by scaling. In some examples, ALWIP transformations can be defined in such a way that they have "nothing to exchange" with conventional transformations (e.g., ALWIP transformations may have "nothing" to exchange with the corresponding conventional transformations, even though they have been mapped by means of one of the above mappings). In the examples, ALWIP modes are used for luma components and chroma components, but in other examples or more of the ALWIP modes are used for luma components but not for chroma components. 5. Linear affine weighted intraprediction modes with encoder acceleration (e.g., Test CE31.2.1) 5.1 Description of a method or apparatus The affine linear weighted intraprediction (ALWIP) modes tested in CE3-1.2.1 may be the same as those proposed in JVET-L0199 under test CE3-2.2.2, except for the following changes: • Harmonization with multiple reference line (MRL) intraprediction, especially encoder estimation and signaling, i.e., MRL is not combined with ALWIP and transmission of an MRL index is restricted to non-ALWIP blocks. • Subsampling is now mandatory for all W*H blocks > 32*32 (previously it was optional for 32*32); therefore, the additional test in the encoder and the sending of the subsampling marker have been removed. • ALWIP for 64*N and N*64 blocks (with N < 32) has been added by reducing the resolution to 32*N and N*32 respectively, and applying the corresponding ALWIP modes. Furthermore, the CE3-1.2.1 test includes the following encoder optimizations for ALWIP: • Combined mode estimation: Conventional and ALWIP modes use a shared Hadamard candidate list for full RD estimation, i.e., ALWIP mode candidates are added to the same list as conventional mode (and MRL) candidates based on Hadamard cost. • Intra-fast EMT and intra-fast PB are supported for the combined mode list, with additional optimizations to reduce the number of full RD checks. • Only available block MPMs to the left and above are added to the list for full RD estimation for ALWIP, following the same approach as for conventional modes. 5.2 Complexity Assessment In Test CE3-1.2.1, excluding calculations involving the discrete cosine transform, at most 12 multiplications per sample were required to generate the prediction signals. Furthermore, a total of 136,492 parameters were required, each 16 bits in size. This corresponds to 0.273 megabytes of memory. 5.3 Experimental Results The test evaluation was carried out according to the common test conditions JVET-J1010 [2], for intra-only (Al) and random-access (RA) configurations with VTM software version 3.0.1. The corresponding simulations were carried out on an Intel Xeon cluster (E5-2697A v4, AVX2 on, turbo boost off) with Linux OS and GCC 7.2.1 compiler. ML / t / ZUZZ / UU IO0U Table 1. Result of CE3-1.2.1 for the VTM Al configuration YUV encoding time decoding time Class A1 -2.08% -1.68% -1.60% 155% 104% Class A2 -1.18% -0.90% -0.84% ​​153% 103% Class B -1.18% -0.84% ​​-0.83% 155% 104% Class C -0.94% -0.63% -0.76% 148% 106% Class E -1.71% -1.28% -1.21% 154% 106% General -1.36% -1.02% 1.01% 153% 105% Class D -0.99% -0.61% -0.76% 145% 107% Class F (optional) -1.38% -1.23% -1.04% 147% 104% MA / t / ZUZZ / UU IO0U Table 2. CE3-1.2.1 result for VTM RA configuration YUV encoding time decoding time Class A1 -1.25% -1.80% -1.95% 113% 100% Class A2 -0.68% -0.54% -0.21% 111% 100% Class B -0.82% -0.72% -0.97% 113% 100% Class C -0.70% -0.79% -0.82% 113% 99% Class E General -0.85% -0.92% 0.98% 113% 100% Class D -0.65% -1.06% -0.51% 113% 102% Class F (optional) -1.07% -1.04% -0.96% 117% 99% 5.4 Linear affine weighted intraprediction with complexity reduction (e.g., Test CE3-1.2.2) The technique tested in CE2 refers to “Intrapredictions linear affine” described in JVET-L0199 [1], but simplifies it in terms of memory requirements and computational complexity: There can only be three different sets of prediction matrices (e.g., So, Si, S2, see also below) and bias vectors (e.g., to provide offset values) covering all block shapes. As a consequence, the number of parameters is reduced to 14,400 10-bit values, which is less memory than is stored in a 128 x 128 CTU. • The input and output sizes of the predictors are further reduced. Moreover, instead of transforming the boundary using PCT, the boundary samples can be averaged or their resolution reduced, and the prediction signal can be generated using linear interpolation instead of inverse DCT. Consequently, a maximum of four multiplications per sample may be required to generate the prediction signal. 6. Examples This section discusses how to carry out some predictions (for example, as shown in Figure 6) using ALWIP predictions. In principle, with reference to Figure 6, in order to obtain the Q = M*N values ​​of an MxN block 18 to be predicted, the multiplications of the Q*P samples of the ALWIP prediction matrix 17M of QxP by the P samples of the adjacent vector 17P of Px1 must be carried out. Therefore, in general, in order to obtain each of the Q = M*N values ​​of the MxN block 18 to be predicted, at least the multiplications of P = M+N values ​​are needed. These multiplications have extremely undesirable effects. The dimension P of the boundary vector 17P generally depends on the number M+N of boundary samples (bins or pixels) 17a, 17c adjacent to the MxN block 18 that is to be predicted. This means that, if the size of the block 18 to be predicted is large, the number M+N of boundary pixels (17a, 17c) is consequently large, thus increasing the dimension P = M+N of the boundary vector 17P of Px1, and the length of each row of the ALWIP prediction matrix of QxP, and consequently, also the number of multiplications required (generally speaking, Q = M*N = W*H, where W (width) is another symbol for N and H (height) is another symbol for M; P, in the case where the boundary vector consists of only one row and one column of samples, is P = M+N=H+W). In general, this problem is exacerbated by the fact that in microprocessor-based systems (or other digital processing systems), multiplications are generally power-intensive operations. One can imagine that a large number of multiplications performed on an extremely high number of samples for a large number of blocks leads to a waste of computational power, which is generally undesirable. Consequently, it would be preferable to reduce the number of Q*P multiplications needed to predict block 18 of MxN. It has been understood that it is possible to somehow reduce the computational power needed for each intraprediction of each block 18 that is to be predicted by intelligently choosing alternative operations to multiplications that are easier to process. In particular, with reference to Figures 7.1 to 7.4, it has been understood that an encoder or decoder can predict a predetermined block (e.g., 18) of the image using a plurality of adjacent samples (e.g., 17a, 17c), by: reduce (for example, in step 811), (for example, by averaging or reducing the resolution) the plurality of adjacent samples (for example, 17a, 17c) to obtain a reduced set of sample values ​​that is smaller, in number of samples, than the plurality of adjacent samples, subject (for example, in step 812) the reduced set of sample values ​​to a linear or affine linear transformation to obtain predicted values ​​for predetermined samples from the predetermined block. In some cases, the decoder or encoder can also derive, for example, by means of interpolation, prediction values ​​for additional samples of the default block based on the predicted values ​​for the ML / E / ZuZZ / uuJuOu predetermined samples and the plurality of adjacent samples. Consequently, a resolution increase strategy can be obtained. In the examples, it is possible to perform (for example, in step 811) some averages of the boundary samples 17, to arrive at a reduced set 102 (Figures 7.1 to 7.4) of samples with a reduced number of samples (at least one of the samples in the reduced number of samples 102 can be the average of two samples from the original boundary samples, or a selection from the original boundary samples). For example, if the original boundary has P = M + N samples, the reduced set of samples can have Pred = Mred + Nred, with at least one of Mred < M and Nred < N, so that Pred < P. Therefore, the boundary vector 17P that will actually be used for prediction (for example, in step 812b) will not have Px1 entries, but Predx1 entries, with Pred < P.Similarly, the ALWIP 17M prediction matrix chosen for prediction will not have dimension QxP, but QxPred (or QredxPred, see below) with a reduced number of matrix elements at least because Pred < P (by virtue of at least one of Mred < M and Nred < N). In some examples (for example, Figures 7.2, 7.3), it is even possible to further reduce the number of multiplications if the block obtained by ALWIP (in step 812) is a reduced block of size Mredx Nred'con Mred <My / oNred <N(esdecir,lasmuestras directamente predichas por medio de ALWIP son menos en número que las muestras del bloque 18 que se va a predecir realmente). Por lo tanto, establecer Qred =Mred *Nred > This will lead to obtaining an ALWIP prediction using, instead of Q*Pred multiplications, Qred*Pred multiplications (with Qred*Pred < Q*Pred < Q*P). This multiplication will predict a reduced block, with dimension x NPed. However, it will be possible to perform (for example, in a later step 813) an increase in resolution (for example, obtained by means of interpolation) from the predicted block of MPed x NPed reduced to the final predicted block of M x N. These techniques can be advantageous because, although matrix multiplication involves a small number (Qred*Pred or Q*Pred) of multiplications, both the initial reduction (e.g., averaging or resolution reduction) and the final transformation (e.g., interpolation) can be achieved by reducing (or even avoiding) multiplications. For example, resolution reduction, averaging, and / or interpolation can be performed (e.g., in steps 811 and / or 813) by using computationally inefficient binary operations such as addition and shifting. Also, addition is an extremely easy operation that can be carried out easily without much computational effort. This shift operation can be used, for example, to average two boundary samples and / or to interpolate two samples (support values) from the reduced predicted block (or the block taken from the boundary) to obtain the final predicted block. (For interpolation, two sample values ​​are required. Within the block, we always have two default values, but to interpolate samples along the boundary to the left and above the block, we only have one default value, as in Figure 7.2; therefore, we use a boundary sample as a support value for interpolation.) A two-step procedure can be used, such as: ML / t / ZUZZ / UU IO0U first add the values ​​of the two samples; then divide the sum in half (for example, by shifting to the right). Alternatively, it is possible: First, divide each of the samples in half (for example, by shifting to the left); then add the values ​​of the two halved samples. Even easier operations can be carried out when the resolution is reduced (e.g., in step 811), since it is only necessary to select a sample quantity or a group of samples (e.g., samples adjacent to each other). Therefore, it is now possible to define technique(s) to reduce the number of multiplications to be performed. Some of these techniques can be based, among other things, on at least one of the following principles: Even if the block 18 to be predicted is actually of size MxN, the block can be reduced (at least in one of the two dimensions) and an ALWIP matrix of reduced size QredxPred can be applied (with Qred=Mred *Nred.Pred = Nred+Mred, with M^ed< M and / or N^ed< N and / or Mred < M and / or Nred < N). Therefore, the boundary vector 17P will have size Predx1, implying only multiplications of Pred < P (with Pred = Mred + Nred and P = M+N). The boundary vector Predx1 17P can be easily obtained from the original boundary 17, for example: Reducing the resolution (e.g., choosing only some samples of the boundary); and / or Averaging multiple samples of the boundary (which can be easily obtained by addition and shifting, without multiplication). Additionally, or alternatively, instead of predicting all the Q = M*N values ​​of block 18 to be predicted by multiplication, it is possible to predict only a reduced block with reduced dimensions (for example, Qred = Mred * N^ed with M ≤ 0.ed < M and / or Nred < N). The remaining samples of block 18 to be predicted will be obtained by interpolation, for example, using the Qred samples as support values ​​for the remaining Q-Qred values ​​to be predicted. According to an example illustrated in Figure 7.1, a 4x4 block 18 (M = 4, N = 4, Q = M*N = 16) is to be predicted, and a boundary 17 of samples 17a (a vertical column with four already predicted samples) and 17c (a horizontal row with four already predicted samples) have already been predicted in previous iterations (boundaries 17a and 17c can be collectively denoted by the reference number 17). A priori, using the equation shown in Figure 5, the prediction matrix 17M must be a QxP = 16x8 matrix (since Q = M*N = 4*4 and P = M+N = 4+4 = 8), and the boundary vector 17P must have a dimension of 8x1 (since P = 8). However, this would lead to the need to perform 8 multiplications for each of the 16 samples in block 18 of 4x4 that are to be predicted, thus leading to the need to perform 16*8 = 128 multiplications in total.(It should be noted that the average number of multiplications per sample is a good estimate of computational complexity. For conventional intrapredictions, four multiplications per sample are required, and this increases the computational effort involved. Therefore, this can be used as an upper bound for ALWIP to ensure that the complexity is reasonable and does not exceed that of conventional intraprediction.) MA / IZ / 2U22 / UU1ÜOU However, it has been understood that, using the present technique, it is possible to reduce, in step 811, the number of samples 17a and 17c that are adjacent to the block 18 to be predicted from P to Pred < P. In particular, it has been understood that it is possible to average (for example, by 100 in Figure 7.1) adjacent boundary samples (17a, 17c) to obtain a reduced boundary 102 with two horizontal rows and two vertical columns, thus operating as if block 18 were a 2x2 block (the reduced boundary being formed by the averaged values). Alternatively, it is possible to perform a resolution reduction, thus selecting two samples for row 17c and two samples for column 17a.Therefore, the horizontal row 17c, instead of having four original samples, is processed as having two samples (e.g., averaged samples), while the vertical column 17a, which originally has four samples, is processed as having two samples (e.g., averaged samples). It is also possible to understand that, after subdividing row 17c and column 17a into groups 110 of two samples each, only one sample is retained (e.g., the average of the samples in group 110 or a single choice among the samples in group 110). Consequently, a so-called reduced set 102 of sample values ​​is obtained, since set 102 has only four samples (Mred = 2, Nred = 2, Pred = Mred + Nred = 4, with Pred < P). It has been understood that it is possible to carry out operations (such as averaging or resolution reduction 100) without performing many multiplications at the processor level: the averaging or resolution reduction 100 carried out in step 811 can be obtained simply by means of simple, computationally powerless operations such as additions and shifts. It has been understood that, at this point, it is possible to subject the reduced set of sample values ​​102 to a linear or affine linear inverse transformation (ALWIP) 19 (for example, using a prediction matrix such as the matrix 17M in Figure 5). In this case, the ALWIP transformation 19 directly maps the four samples 102 to the sample values ​​104 of block 18. In the present case, no interpolation is necessary. In this case, the ALWIP matrix 17M has a dimension of QxPred = 16x4: this follows from the fact that all Q = 16 samples of block 18 to be predicted are obtained directly by ALWIP multiplication (without interpolation required). Therefore, in step 812a, a suitable ALWIP 17M matrix with dimension QxPred is selected. The selection can be based at least partially, for example, on signaling in data stream 12. The ALWIP 17M matrix can also be denoted by Ak, where k can be understood as an index, which can be signaled in data stream 12 (in some cases, the matrix is ​​also denoted as A^x, see below). The selection can be carried out according to the following scheme: for each dimension (for example, the height / width pair of the block 18 to be predicted), an ALWIP 17M matrix is ​​chosen from, for example, one of three sets of matrices So, Si, S2 (each of the three sets So, Si, S2 can group a plurality of ALWIP 17M matrices of the same dimensions, and the ALWIP matrix to be chosen for prediction will be one of them). In step 812b, a multiplication is performed between the ALWIP matrix 17M of QxPred (also denoted as Ak) and the boundary vector 17P of Predx1 · In step 812c, you can add an offset value (e.g., bk) to all the obtained 104 values. MA / t / ZUZZ / UU IO0U of vector 18Q obtained by means of ALWIP. The offset value (bko in some cases also indicated with ^2,3, see below) may be associated with the particular selected ALWIP matrix (Ak), and may be based on an index (e.g., which may be pointed out in data stream 12). Therefore, here is a summary of a comparison between using this technique and not using this technique: Without this technique: Block 18 to be predicted, the block has dimensions of M = 4, N = 4; Q = M*N = 4*4 = 16 values ​​to be predicted; P = M+N = 4+4 = 8 limit samples; P = 8 multiplications for each of the Q = 16 values ​​to be predicted, a total number of P*Q = 8*16 = 128 multiplications; With this technique, we have: Block 18 to be predicted, the block has dimensions of M = 4, N = 4; Q = M*N = 4*4 = 16 values ​​that will be predicted at the end; Reduced dimension of the limit vector: Pre(j = Mred+Nred = 2+2 = 4; Pred = 4 multiplications for each of the Q = 16 values ​​to be predicted by ALWIP, a total number of Pred*Q = 4*16 = 64 multiplications (half of 128!) The relationship between the number of multiplications and the number of final values ​​to be obtained is Pred*Q / Q = 4, that is, half of the P = 8 multiplications for each sample to be predicted! As can be understood, based on simple operations that do not consume computational power such as averaging (and, where applicable, additions and / or shifts and / or resolution reduction) it is possible to obtain an appropriate value in step 812. With reference to Figure 7.2, the block 18 to be predicted is an 8x8 block (M = 8, N = 8) of 64 samples. Here, a priori, a prediction matrix 17M should have size QxP = 64x16 (Q = 64 by virtue of Q = M*N = 8*8 = 64, M = 8 and N = 8, and by virtue of P = M+N = 8+8 = 16). Therefore, a priori, P = 16 multiplications would be needed for each of the Q = 64 samples of the 8x8 block 18 to be predicted, to arrive at 64*16 = 1024 multiplications for the entire 8x8 block 18! However, as can be seen in Figure 7.2, a method 820 can be provided according to which, instead of using all 16 boundary samples, only 8 values ​​are used (e.g., 4 in the horizontal boundary row 17c and 4 in the vertical boundary column 17a from the original boundary samples). From boundary row 17c, 4 samples can be used instead of 8 (e.g., they can be averages of two by two and / or selections from a sample of two). Consequently, the boundary vector is not a vector of Px1 = 16x1, but a vector of Predx1 = 8x1 only (Pred = Mred+Nred = 4+4). It has been understood that it is possible to select or average (for example, two by two) samples from the horizontal row 17c and samples from the vertical columns 17a to have, instead of the original P = 16 samples, only Pred = 8 boundary values, forming the reduced set 102 of sample values.This reduced set 102 will allow us to obtain a reduced version of block 18, the reduced version with Qred-Mred*Nred = 4*4 = 16 samples (instead of Q = M*N = 8*8 = 64). It is possible to apply an ALWIP matrix to predict a block that has a size of MredxNred = 4x4. The reduced version of block 18 includes the samples indicated in gray in diagram 106 in Figure 7.2: the samples indicated with a gray square (which include samples 118' and 118") form a reduced 4x4 block with Qred = 16 values ​​obtained in the submit step 812. The reduced 4x4 block was obtained by applying the linear transformation 19 in the submit step 812. After obtaining the values ​​of the reduced 4x4 block, it is possible to obtain the values ​​of the remaining samples (samples indicated with white samples in diagram 106), for example, by interpolation. With respect to method 810 in Figure 7.1, this method 820 may additionally include a step 813 of deriving, for example by interpolation, prediction values ​​for the remaining Q-Qred = 64-16 = 48 samples (white squares) of block 18 of MxN = 8x8 to be predicted. The remaining Q-Qred = 64-16 = 48 samples can be obtained from the Qred = 16 samples obtained directly by interpolation (the interpolation may also make use of boundary sample values, for example). As can be seen in Figure 7.2, although samples 118' and 118” were obtained in step 812 (as indicated by the gray square), sample 108' (intermediate to samples 118' and 118” and indicated by the white square) is obtained by interpolation between samples 118' and 118” in step 813.It has been understood that interpolations can also be obtained through operations similar to those used for averaging, such as shifting and summing. Therefore, in Figure 7.2, the value 108' can generally be determined as an intermediate value between the sample value 118' and the sample value 118" (it could be the average). By performing interpolations, in step 813, it is also possible to arrive at the final version of block 18 of MxN = 8x8 based on multiple sample values ​​indicated in 104. Therefore, a comparison between using this technique and not using it is: Without this technique: Block 18, which is to be predicted, has dimensions of M = 8, N = 8; and Q = M*N = 8*8 = 64 samples in block 18 that are to be predicted; P = M+N = 8+8 = 16 samples at the limit 17; P = 16 multiplications for each of the Q = 64 values ​​to be predicted, a total number of P*Q = 16*64 = 1028 multiplications; The relationship between the number of multiplications and the number of final values ​​to be obtained is P*Q / Q= 16. Using this technique: Block 18 to be predicted, which has dimensions of M = 8, N = 8; Q = M*N = 8*8 = 64 values ​​that will be predicted at the end; but an ALWIP matrix of QredxPred that will be used, with Pred= Mred+Nred, Qred = Mred*Nred, Mred= 4, Nred=4 ML / t / ZUZZ / UU lODU Pred = Mred+Nred = 4+4 = 8 samples at the limit, with Pred <P Pred = 8 multiplications for each of the Qred = 16 values ​​of the reduced 4x4 block to be predicted (formed by gray squares in scheme 106), a total number of Pred*Qred = 8*16 = 128 multiplications (much less than 1024!) the relationship between the number of multiplications and the number of final values ​​to be obtained is Pred*Qred / Q = 128 / 64 = 2 (much less than the 16 obtained without the present technique!). Consequently, the technique presented in this document is 8 times less power-intensive than the previous one. Figure 7.3 shows another example (which can be based on method 820), in which the block 18 to be predicted is a rectangular block of 4x8 (M = 8, N = 4) with Q = 4*8 = 32 samples to be predicted. The boundary 17 is formed by the horizontal row 17c with N = 8 samples and the vertical column 17a with M = 4 samples. Therefore, a priori, the boundary vector 17P would have the dimension of Px1 = 12x1, while the prediction ALWIP matrix would be a matrix of QxP = 32x12, thus requiring Q*P = 32*12 = 384 multiplications. However, it is possible, for example, to average or reduce the resolution of at least the 8 samples in horizontal row 17c, to obtain a reduced horizontal row with only 4 samples (e.g., averaged samples). In some configurations, vertical column 17a would remain unchanged (e.g., without averaging). Overall, the reduced boundary would have the dimension of Pred = 8, with Pred < P. Consequently, the boundary vector 17P will have the dimension of PredXl = 8x1. The ALWIP prediction matrix 17M will have a matrix with dimensions of M*Nred*Pred = 4*4*8 = 64. The reduced 4x4 block (formed by the gray columns in scheme 107) obtained directly in the submit step 812, will have the size of Qred = M*Nred = 4*4 = 16 samples (instead of Q = 4*8 = 32 of the original 4x8 block 18 to be predicted).Once the reduced 4x4 block is obtained using ALWIP, it is possible to add a bk offset value (step 812c) and carry out the interpolations in step 813. As can be seen in step 813 in Figure 7.3, the reduced 4x4 block is expanded to the 4x8 block 18, where the 108' values, not obtained in step 812, are obtained in step 813 by interpolating the 118' and 118" values ​​(gray squares) obtained in step 812. Therefore, a comparison between using this technique and not using it is: Without this technique: Block 18 to be predicted, the block has dimensions of M = 4, N = 8; Q = M*N = 4*8 = 32 values ​​to be predicted; P = M+N = 4+8 = 12 samples at the limit 17; P = 12 multiplications for each of the Q = 32 values ​​to be predicted, a total number of P*Q = 12*32 = 384 multiplications; The relationship between the number of multiplications and the number of final values ​​to be obtained is P*Q / Q= 12. Using this technique: Block 18 to be predicted, the block has dimensions of M = 4, N = 8; Q = M*N = 4*8 = 32 values ​​that will be predicted at the end; ML / t / ZUZZ / UU lODU but you can use an ALWIP matrix of QredxPred = 16x8, with M = 4, Nred=4, Qred = M*Nred = 16, Pred=M+Nred=4+4 = 8 Pred = M+Nred = 4+4 = 8 samples at the limit, with Pred < P; Pred = 8 multiplications for each of the Qred = 16 values ​​of the reduced block to be predicted, a total number of Qred* Pred = 16*8 = 128 multiplications (less than 384!) The relationship between the number of multiplications and the number of final values ​​to be obtained is Pred*Qred / Q = 128 / 32 = 4 (much less than the 12 obtained without the present technique!). Therefore, with the present technique, the computational effort is reduced to one third. Figure 7.4 shows a case of a block 18 to be predicted with dimensions MxN = 16x16 and having Q = M*N = 16*16 = 256 values ​​to be predicted at the end, with P = M+N = 16+16 = 32 boundary samples. This would lead to a prediction matrix with dimensions QxP = 256x32, which would imply 256*32 = 8192 multiplications! However, by applying method 820, it is possible, in step 811, to reduce (for example, by averaging or reducing the resolution) the number of boundary samples, for example, from 32 to 8: for example, for each group 120 of four consecutive samples in row 17a, only one sample remains (for example, selected from the four samples, or the average of the samples). Similarly, for each group of four consecutive samples in column 17c, only one sample remains (for example, selected from the four samples, or the average of the samples). Here, the ALWIP matrix 17M is a matrix of QredxPred = 64x8: this comes from the fact that Pred = 8 has been chosen (using 8 averaged or selected samples from the 32 in the boundary) and from the fact that the reduced block to be predicted in step 812 is an 8x8 block (in scheme 109, the gray squares are 64). Therefore, once the 64 samples of the reduced 8x8 block have been obtained in step 812, it is possible to derive, in step 813, the remaining Q-Qred = 256-64 = 192 values ​​of the block 18 to be predicted. In this case, in order to carry out the interpolations, it has been chosen to use all the samples in the boundary column 17a and only alternate samples in the boundary row 17c. Other choices can be made. While with the present method the relationship between the number of multiplications and the number of values ​​finally obtained is Qred*Pred / Q = 8*64 / 256 = 2, which is much less than the 32 multiplications for each value without the present technique! A comparison between using this technique and not using it is: Without this technique: Block 18 to be predicted, the block has dimensions of M = 16, N = 16; Q = M*N = 16*16 = 256 values ​​to be predicted; P = M+N = 16+16 = 32 samples at the limit; P = 32 multiplications for each of the Q = 256 values ​​to be predicted, a total number of P*Q = 32*256 = 8192 multiplications; The relationship between the number of multiplications and the number of final values ​​to be obtained is MA / t / ZUZZ / UU IO0U P*Q / Q = 32. Using this technique: Block 18 to be predicted, the block has dimensions of M = 16, N = 16; Q = M*N = 16*16 = 256 values ​​that will be predicted at the end; but an ALWIP matrix of QredxPred = 64x8 that will be used, with Mred = 4, Nred = 4, Qred = 8*8 = 64 samples that will be predicted by means of ALWIP, Pred = Mred+Nred = 4+4 = 8 Pred = Mred+Nred = 4+4 = 8 samples at the limit, with Pred <P Pred = 8 multiplications for each of the Qred = 64 values ​​of the reduced block to be predicted, a total number of Qred* Pred = 64*4 = 256 multiplications (less than 8192!) the relationship between the number of multiplications and the number of final values ​​to be obtained is Pred*Qred / Q = 8*64 / 256 = 2 (much less than the 32 obtained without the present technique!). Consequently, the computational power required by this technique is 16 times less than the traditional technique! Therefore, it is possible to predict a predetermined block (18) of the image using a plurality of adjacent samples (17) to: reduce (100, 813) the plurality of adjacent samples to obtain a reduced set (102) of sample values ​​smaller, in number of samples, than compared to the plurality of adjacent samples (17), subject (812) the reduced set of sample values ​​(102) to a linear or affine linear transformation (19, 17M) to obtain predicted values ​​for predetermined samples (104,118', 188”) of the predetermined block (18). In particular, it is possible to carry out the reduction (100, 813) by reducing the resolution of the plurality of adjacent samples to obtain the reduced set (102) of sample values ​​smaller, in number of samples, than compared to the plurality of adjacent samples (17). Alternatively, it is possible to carry out the reduction (100, 813) by averaging the plurality of adjacent samples to obtain the reduced set (102) of sample values ​​smaller, in number of samples, than compared to the plurality of adjacent samples (17). Furthermore, it is possible to derive (813) by means of interpolation, prediction values ​​for additional samples (108,108') of the default block (18) based on the predicted values ​​for the default samples (104, 118', 118”) and the plurality of adjacent samples (17). The plurality of adjacent samples (17a, 17c) can extend one dimension along two sides (e.g., to the right and downwards in Figures 7.1 to 7.4) of the default block (18). The default samples (e.g., those obtained by means of ALWIP in step 812) can also be arranged in rows and columns, and along at least one of the rows and columns, the default samples can be positioned at every nth position from a sample (112) of the default sample 112 that borders the two sides of the default block 18. Based on the plurality of adjacent samples (17), it is possible to determine, for each of said at least one of the rows and columns, a support value (118) for one (118) of the plurality of adjacent positions, which is aligned with a respective one of said at least one of the rows and columns. It is also possible to derive, by means of interpolation, the prediction values ​​118 for the additional samples (108, 108') of the default block (18) based on the predicted values ​​for the default samples (104, 118', 118") and the support values ​​for the adjacent samples (118) aligned to said at least one of the rows and columns. The default samples (104) can be positioned at every nth position of the sample (112) that borders both sides of the default block 18 along the rows, and the default samples are positioned at every mth position of the sample (112) of the default sample (112) that borders both sides of the default block (18) along the columns, where n, m > 1. In some cases, n = m (for example, in Figures 7.2 and 7.3, where the samples 104, 118', 118”, obtained directly by means of ALWIP in 812 and indicated by gray squares, alternate, along the rows and columns, with the samples 108, 108' obtained later in step 813). Along at least one of the rows (17c) and columns (17a), it may be possible to determine the support values, for example, by reducing the resolution or averaging (122), for each support value, in groups (120) of adjacent samples within the plurality of adjacent samples that includes the adjacent sample (118) for which the respective support value is being determined. Thus, in Figure 7.4, step 813 makes it possible to obtain the value of sample 119 using the values ​​of the default sample 118’” (obtained previously in step 812) and the adjacent sample 118 as support values. The plurality of contiguous samples can extend two-dimensionally along two sides of the default block (18). It may be possible to perform the reduction (811) by grouping the plurality of contiguous samples (17) into groups (110) of one or more consecutive contiguous samples and performing the resolution reduction or averaging on each of the group (110) of one or more contiguous samples that have two or more contiguous samples. In the examples, the linear or affine linear transformation may comprise Pred*Qred or Pred*Q weighting factors, with Pred being the number of sample values ​​(102) within the reduced set of sample values ​​and Qred or Q being the number of default samples within the default block (18). At least %Pred*Qred or %Pred*Q weighting factors are non-zero weighting values. The Pred*Qred or Pred*Q weighting factors may comprise, for each of the Q or Qred default samples, a series of Pred weighting factors related to the respective default sample, wherein the series, when arranged one below the other according to a frame scan order among the default samples of the default block (18), forms an envelope that is omnidirectionally nonlinear.The Pred*Q or Pred*Qred weighting factors may not be related to each other through any regular mapping rule. An average of the maximum cross-correlations between a first set of weighting factors related to the respective default sample, and a second set of weighting factors related to default samples other than the respective default sample, or an inverted version of the latter set, whichever leads to a higher maximum, is less than a predetermined threshold. The predetermined threshold may be 0.3 [or in some cases]. ML / t / ZUZZ / UU IO0U cases 0.2 or 0.1]. The adjacent Pred samples (17) can be located along a one-dimensional path extending along two sides of the default block (18) and, for each of the Q or Qred default samples, the series of Pred weighting factors related to the respective default sample are ordered in a manner that traverses the one-dimensional path in a predetermined direction. 6.1 Description of a method and apparatus To predict samples from a rectangular block of width W (also denoted by N) and height H (also denoted by M), linear affine weighted intraprediction (ALWIP) can take a line of H reconstructed adjacent boundary samples to the left of the block and a line of W reconstructed adjacent boundary samples above the block as input. If the reconstructed samples are available, they can be generated as in conventional intraprediction. A generation of the prediction signal (e.g., the values ​​for the entire block 18) can be based on at least some of the following three steps: 1. From the boundary samples 17, the 102 samples (e.g., four samples in the case of W = H = 4 and / or eight samples in another case) can be extracted by averaging or reducing the resolution (e.g., step 811). 2. A matrix-vector multiplication, followed by the addition of a lag, can be performed with averaged samples (or the samples remaining from the resolution reduction) as input. The result can be a reduced prediction signal on a subsampled set of samples in the original block (e.g., step 812). 3. The prediction signal at the remaining position can be generated, for example by resolution increase, from the prediction signal at the subsampled set, for example by linear interpolation (for example, step 813). Thanks to steps 1 (811) and / or 3 (813), the total number of multiplications required in calculating the matrix-vector product can always be less than or equal to 4 * W * H. Furthermore, the boundary averaging operations and linear interpolation of the reduced prediction signal are performed using only bit additions and shifts. In other words, in the examples, at most four multiplications per sample are needed for the ALWIP modes. In some examples, the matrices (e.g., 17M) and offset vectors (e.g., bk) needed to generate the prediction signal can be taken from sets (e.g., three sets), e.g., So, S1, S2, of matrices that can be stored, e.g., in the decoder and / or encoder storage unit(s). In some examples, the set So can comprise (for example, consist of) n0 (for example, n0 = 16 or n0 = 18 or some other number) matrices Al0, ie{0,...,no-1} each of which can have 16 rows and 4 columns and 18 offset vectors bl0, ie{0,.....no-1} each of size 16 to carry out the technique according to Figure 7.1. The matrices and offset vectors of this set are used for the 18 blocks of size 4x4. Once the boundary vector has been reduced to a vector of Pred = 4 (as for step 811 of Figure 7.1), it is possible to map the Pred=4 MA / t / ZUZZ / UU IO0U samples from the reduced set of samples 102 directly into the Q = 16 samples of block 18 of 4x4 to be predicted. In some examples, the set S± may comprise (for example, consist of) m (for example, ^ = 80^ = 18 or some other number) matrices A{, ie{0.....ni-1}, each of which may have 16 rows and 8 columns and 18 offset vectors b{, ie{0.....ni-1} each of size 16 to carry out the technique according to Figure 7.2 or 7.3. The offset matrices and vectors in this set can be used for blocks of sizes 4 x 8, 4 x 16, 4 x 32, 4 x 64, 16 x 4, 32 x 4, 64 x 4, 8 x 4, and 8 x 8. Additionally, they can also be used for blocks of size W x H with max(W, H) > 4 and min(MZ, W) = 4, that is, for blocks of size 4 x 16 or 16 x 4, 4 x 32 or 32 x 4, and 4 x 64 or 64 x 4. The 16 x 8 matrix refers to the reduced version of block 18, which is a 4 x 4 block, as shown in Figures 7.2 and 7.3. Additionally or alternatively, the set S2 may comprise (for example, consist of) Π2 (for example, n2= 6 or n2= 18 or some other number) matrices Al2, ie{0,... ,n2-1}, each of which may have 64 rows and 8 columns and 18 offset vectors bl2, ie{0,. ..,n2-1} of size 64. The 64x8 matrix refers to the reduced version of the 18 block, which is an 8x8 block, for example, as obtained in Figure 7.4. The offset matrices and vectors in this set can be used for blocks of sizes 8 x 16, 8 x 32, 8 x 64, 16 x 8, 16 x 16, 16 x 32, 16 x 64, 32 x 8, 32 x 16, 32 x 32, 32 x 64, 64 x 8, 64 x 16, 64 x 32, 64 x 64. The offset matrices and vectors of that set, or parts of these offset matrices and vectors, can be used for all other block shapes. 6.2 Averaging or resolution reduction of the limit Here, the features are provided with respect to step 811. As explained above, boundary samples (17a, 17c) can be averaged and / or will reduce resolution (e.g., from P samples to Pred < P). In a first step, the input limits bdrytop (for example, 17c) and bdry1^ (for example, 17a) can be reduced to smaller limits bdry^ and bdry^ to arrive at the reduced set 102. Here, both bdry^ and bdry^ are constant 2 samples in the case of a 4x4 block and both consist of 4 samples in other cases. In the case of a 4x4 block, it is possible to define bdry^[0] = (bdrytop[0] + bdrytop[l] + 1) » 1, bdry^[l] = (bdrytop[2] + bdrytop[3] -1- 1) » 1, and define bdry^ analogously. Consequently, bdry^[0], bdry^[1], bdry^[0] bdrylree¿[V\ are average values ​​obtained, for example, using bit shift operations. In all other cases (for example, blocks of width or height other than 4), if the block width W is set to W= 4 * 2 for 0 < i < 4, one defines ΜΛ / t / ZUZZ / UU IO0U bdry^ [i] = bdrytop[i *2k+ j]) + 1 « (k — 1)) » k. and define bdrylreed analogously. In still other cases, it may be possible to reduce the resolution of the limit (for example, by selecting a particular limit sample from a group of limit samples) to arrive at a reduced number of samples. For example, bdry^[0] can be chosen from bdrytop[0] and bdrytop[l], and bdry^d[l] can be chosen from bdrytop[2] and bdrytop[3]. It is also possible to define bdry^ analogously. The two reduced limits bdry^ and bdry^ can be concatenated with a reduced limit vector bdryred (associated with the reduced set 102), also denoted by 17P. The reduced limit vector bdryred can therefore be of size four (Pred = 4) for 4x4 blocks (example in Figure 7.1) and of size eight (Pred = 8) for blocks of all other shapes (examples in Figures 7.2 to 7.4). Here, if mode < 18 (or the number of matrices in the matrix set), it is possible to define bdryred = [bdry^, bdry^efd]. If mode > 18, which corresponds to the transpose of mode - 17, it is possible to define bdryred = [bdry^, bdry^]. Therefore, according to a particular state (one State: mode < 18; one other State: mode > 18) it is possible to distribute the predicted values ​​of the output vector along a different scan order (for example, one scan order: [bdryt°d, bdry^]; one other scan order: [ bdry^, bdry^p]). Other strategies can be implemented. In other examples, the mode index “mode” is not necessarily in the interval from 0 to 35 (other intervals can be defined). Furthermore, it is not necessary for each of the three sets So, Si, S2 to have 18 matrices (therefore, instead of expressions like mode > 18, it is possible to use mode > no, ni, n2, where n represents the number of matrices for each set of matrices So, Si, S2, respectively). Additionally, each of the sets can have different numbers of matrices (for example, So might have 16 matrices, Si might have eight matrices, and S2 might have six matrices). The mode and transposed information are not necessarily stored and / or transmitted as a combined mode index “mode”: in some examples, there is the possibility of explicitly pointing to a transposed marker and matrix index (0-15 for So, 0-7 for Si and 0-5 for S2). In some cases, the combination of the transposed marker and array index can be interpreted as an array index. For example, there may be one bit that operates as a transposed marker, and some bits that indicate the array index, collectively referred to as the “array index.” 6.3 Generation of the reduced prediction signal by means of matrix-vector multiplication Here, the features are provided with respect to step 812. Outside of the reduced input vector bdryred(boundary vector 17P) one can generate a prediction signal MA / t / ZUZZ / UU IO0U reduced predred. The last signal can be a signal in the reduced resolution block of width Wredy height Hred. Here, Wredy Hred can be defined as: Wred= 4, Hred= 4; if max(U7, H) < 8, Wred= min(l· / , 8), Hred= min( / / , 8); otherwise. The reduced prediction signal predredse can be calculated by performing a matrix-vector product and adding a phase shift: predred= A · bdryred+ b. Here, A is a matrix (e.g., prediction matrix 17M) that can have Wred* Hred rows and 4 columns if W = H = 4 and 8 columns in all other cases and b is a vector that can be of size Wred* Hred. If W = H = 4, then A can have 4 columns and 16 rows, and therefore 4 multiplications per sample may be necessary in that case to calculate predred. In all other cases, A can have 8 columns, and one can verify that in these cases one has 8 * Wred * Hred < 4 * W * H, that is, in these cases as well, at most 4 multiplications per sample are needed to calculate predred. The matrix A and the vector b can be taken from one of the sets So, $i> as follows. One defines an index idx = idx(W, H) by setting idx(W, H) = 0 if W = H = 4, idx(W, H) = 1 if max(W, H) = 8, and idx(W, H) = 2 in all other cases. Alternatively, one can set m = mode if mode < 18 and m = mode - 17 otherwise. So, if idx < 1 or idx = 2 and min(HGH) > 4, one can put A = A™xy b = b^x.In the case where idx = 2 and min(lV, H) = 4, one lets A be the matrix that results from leaving out each row of A that, in the case of W = 4, corresponds to an odd X coordinate in the reduced resolution block, or, in the case of H = 4, corresponds to an odd Y coordinate in the reduced resolution block. If mode > 18, one replaces the reduced prediction signal with its transpose. In alternative examples, different strategies can be implemented. For example, instead of reducing the size of a larger matrix (“leaving out”), a smaller matrix of Si (idx = 1) with Wred = 4 and Hred = 4 is used. That is, such blocks are now mapped to Si instead of S2. Other strategies can be implemented. In other examples, the mode index “mode” is not necessarily in the interval from 0 to 35 (other intervals can be defined). Furthermore, it is not necessary for each of the three sets So, S-ι, S2 to have 18 matrices (therefore, instead of expressions like mode < 18, it is possible to use mode < no, ni, n·^, where n is the number of matrices for each set of matrices So, Si, S2, respectively). Additionally, each of the sets can have different numbers of matrices (for example, So might have 16 matrices, Si might have eight matrices, and S2 might have six matrices). 6.4 Linear interpolation to generate the final prediction signal Here, the features are provided with respect to step 812. Interpolating the subsampled prediction signal in large blocks may require a second version of the averaged limit. That is, if min(l4 / ,H) > 8 and W > H, one writes W = 8 * 2l, and for 0 < i < 8 define ML / t / ZUZZ / UU IO0U bdry^n[i] = bdrytop[i * 2l+ ;]) + 1 « (7 - 1)} » l. If min(W, H) > 8 and H > W, one defines bdry^j analogously. Additionally or alternatively, it is possible to have a “strong resolution reduction”, in which bdry^„ [i] is equal to bdry^n[i] = bdrytop[(i + 1) * 2l— 1]. Also, bdry^,, can be defined analogously. In the sample positions that were left out during predred generation, the final prediction signal can be generated by linear predred interpolation (e.g., step 813 in the examples in Figures 7.27.4). This linear interpolation may be unnecessary in some examples if W = H = 4 (e.g., example in Figure 7.1). Linear interpolation can be given as follows (although other examples are possible). It is assumed that W > H. Then, if H > Hred, a vertical resolution increase of predred can be carried out. In that case, predred can be extended by a line to the top as follows. If W = 8, predred can have width Wred = 4 and can be extended to the top by means of the averaged boundary signal bdry^n, for example, as defined above. If W > 8, predred has width Wred = 8 and is extended to the top by means of the averaged boundary signal bdry^n, for example, as defined above. One can write predred[x][-1] for the first line of predred. Then, the signal pred^dver in a block of width Wred and height 2 * Hred can be given as pred`[x][2*y+1] = predred[x][y]. Predred'VerM^ = (P^redMly-1]+predred[x][y] + 1)»1, where 0 < x < Wredy and 0 < y < Hred. The last process can be carried out k times until 2k*Hred = H. Therefore, if H= 8 or H= 16, it can be carried out at most once. If H= 32, it can be carried out twice. If H= 64, it can be carried out three times. Afterward, a horizontal resolution boost operation can be applied to the result of the vertical resolution boost. The last resolution boost operation can use the entire left-hand limit of the prediction signal. Finally, if H > W, one can proceed analogously by means of the first resolution boost in the horizontal direction (if required) and then in the vertical direction. This is an example of interpolation using reduced boundary samples for the first interpolation (horizontally or vertically) and original boundary samples for the second interpolation (vertically or horizontally). Depending on the block size, only the second interpolation or neither is required. If both horizontal and vertical interpolations are required, the order depends on the block's width and height. However, different techniques can be implemented: for example, the original boundary samples can be used for the first and second interpolations and the order can be fixed, for example, first horizontal then vertical (in other cases, first vertical then horizontal). ML / t / ZUZZ / UU IO0U Therefore, the order of interpolation (horizontal / vertical) and the use of reduced / original boundary samples can be varied. 6.5 Illustration of an example of the entire ALWIP process The entire process of averaging, matrix-vector multiplication, and linear interpolation is illustrated for different shapes in Figures 7.1 to 7.4. Note that the remaining shapes are treated as in one of the cases represented. 1. Given a 4 x 4 block, ALWIP can take two averages along each axis of the boundary using the technique in Figure 7.1. The resulting four input samples are then fed into the matrix-vector multiplication. The matrices are taken from the set So. After adding a lag, this can produce the final 16 prediction samples. Linear interpolation is not required to generate the prediction signal. Therefore, a total of (4 * 16) / (4 * 4) = 4 multiplications per sample are performed. See, for example, Figure 7.1. 2. Given an 8 x 8 block, ALWIP can take four averages along each axis of the boundary. The resulting eight input samples are fed into the matrix-vector multiplication, using the technique in Figure 7.2. The matrices are taken from the set Si. This yields 16 samples in the odd positions of the prediction block. Therefore, a total of (8 * 16) / (8 * 8) = 2 multiplications are performed per sample. After adding a lag, these samples can be interpolated, for example, vertically using the upper boundary and, for example, horizontally using the left boundary. See, for example, Figure 7.2. 3. Given an 8 x 4 block, ALWIP can take four averages along the horizontal boundary axis and the four original boundary values ​​on the left boundary using the technique in Figure 7.3. The resulting eight input samples are then fed into the matrix-vector multiplication. The matrices are taken from the set. This produces 16 samples in the odd horizontal positions and each of the odd vertical positions of the prediction block. Therefore, a total of (8 * 16) / (8 * 4) = 4 multiplications per sample are performed. After adding an offset, these samples are interpolated horizontally using the left boundary, for example. See, for example, Figure 7.3. The transposed case is treated accordingly. 4. Given a 16 x 16 block, ALWIP can take four averages along each axis of the boundary. The resulting eight input samples are fed into the matrix-vector multiplication using the technique in Figure 7.2. The matrices are taken from the set S2. This yields 64 samples in the odd positions of the prediction block. Therefore, a total of (8 * 64) / (16 * 16) = 2 multiplications are performed per sample. After adding a lag, these samples are interpolated vertically using the upper boundary and horizontally using the left boundary, for example. See, for example, Figure 7.2. See, for example, Figure 7.4. For larger shapes, the procedure can be essentially the same and it is easy to verify that the number of multiplications per sample is less than two. For Wx8 blocks, only horizontal interpolation is necessary since the samples are given in the odd horizontal positions and each of the vertical positions. Therefore, at most (8 * 64) / (16 * 8) = 4 multiplications per sample are performed in these cases. MA / t / ZUZZ / UU IO0U Finally, for W*4 blocks with W > 8, let Ak be the resulting matrix, leaving each row corresponding to an odd input along the horizontal axis of the reduced-resolution block. Therefore, the output size can be 32, and again, only horizontal interpolation remains. At most, (8 * 32) / (16 * 4) = 4 multiplications per sample can be performed. Transposed cases are treated accordingly. 6.6 Number of parameters required and complexity assessment The parameters required for all possible proposed intraprediction modes can be comprised of the offset matrices and vectors belonging to the sets So, S1, and S2. All matrix and offset vector coefficients can be stored as 10-bit values. Therefore, according to the above description, a total of 14,400 parameters, each with 10-bit precision, may be required for the proposed method. This corresponds to 0.018 megabytes of memory. It should be noted that currently, a 128 x 128 CTU in the 4:2:0 chroma subsampling standard consists of 24,576 values, each with 10 bits. Therefore, the memory requirement of the proposed intraprediction tool does not exceed the memory requirement of the current image reference tool adopted at the last meeting.It is also noted that conventional intraprediction modes require four multiplications per sample due to the PDPC tool or 4-point interpolation filters for angular prediction modes with fractional angular positions. Therefore, in terms of operational complexity, the proposed method does not exceed conventional intraprediction modes. 6.7 Signaling of the proposed intraprediction modes For luma blocks, 35 ALWIP modes are proposed, for example (other numbers of modes can be used). For each coding unit (CU) in intra mode, a marker indicating whether an ALWIP mode is to be applied to the corresponding prediction unit (PU) is sent in the bitstream. The signaling of the last index can be harmonized with MRL in the same way as for the first CE test. If an ALWIP mode is to be applied, the ALWIP mode's predmode index can be signaled using an MPM list with 3 MPMs. Here, the derivation of the MPMs can be carried out using the intra-modes of the above and the left PU as follows. There may be tables, for example, three fixed tables map_angular_to_alwipidx, idx and {0,1,2} that can assign to each conventional intraprediction mode predmodeAngular a mode of ALWIP. predmodeALW!P= map_angular_to_alwipidx[predmodeAnguiar]. For each PU of width W and height H, one defines an index idx(PU) = idx(W,H) and {0,1,2} that indicates from which of the three sets the ALWIP parameters will be taken, as in section 4 above. If the previous prediction unit PUabove is available, belongs to the same CTU as the current PU and is in intra mode, if idx(PU') = idx(PUabove), and if ALWIP is applied to PUabove with ALWIP mode predmodeαρ^ιρ< one ΜΛ / t / ZUZZ / UU lODU setmodeALwip = predmode^Lwip If the previous PU is available, belongs to the same CTU as the current PU and is in intra mode, and if a conventional intraprediction mode predmodeAAg^elaren is applied to the previous PU, one puts mode^fp = mapjmguiarJojilwipldx(pUahove)[predm^ In all other cases, one sets modeA^¡eP= -1 which means that this mode is not available. Similarly, but without the restriction that the left PU needs to belong to the same CTU as the current PU, one derives a mode iuuucALWIp. Finally, three fixed default lists are provided: listidx, idx, and {0,1,2}, each containing three distinct ALWIP modes. From the default list, Hstidx^PU^ and the modes modeA^ip Ym°d-eALwip <unoconstruye tres MPMs distintos sustituyendo -1 por valores por defecto así como eliminando repeticiones. The modalities described in this document are not limited by the previously described signaling of the proposed intraprediction modes. According to an alternative modality, MPMs and / or mapping tables for MIP (ALWIP) are not used. 6.8 MPM list derivation adapted for conventional urn and chroma intraprediction modes The proposed ALWIP modes can be harmonized with the MPM-based encoding of conventional intraprediction modes as follows. The luma and chroma MPM list derivation processes for conventional intraprediction modes can utilize fixed tables map_lwip_to_angularidx, idx G {0,1,2}, mapping an ALWIP mode predmodeLWIP in a given PU to one of the conventional intraprediction modes. predmodeAnguiar= map_lwip_to_angularidX(PU)[predmodeLWIp\. For MPM list derivation, whenever an adjacent Loma block is found that uses an ALWIP mode (predmodeLWIP), this block can be treated as if it were using the conventional intraprediction mode (predmodeAnguiar). For chroma MPM list derivation, whenever the current luma block uses an LWIP mode, the same mapping can be used to translate the ALWIP mode to a conventional intraprediction mode. It is clear that ALWIP modes can be harmonized with conventional intraprediction modes even without the use of MPMs and / or mapping tables. For example, for the chroma block, provided the current luma block uses an ALWIP mode, the ALWIP mode can be mapped to a flat intraprediction mode. MA / E / ZUZZ / UUloOU 7. Efficient Implementation Methods Let us briefly summarize the previous examples as if they could form a basis for further extending the modalities described below. To predict a predetermined block 18 of image 10, a plurality of adjacent samples 17a,c is used. A reduction of 100, by averaging, has been made from the plurality of adjacent samples to obtain a reduced set 102 of sample values, smaller in number of samples compared to the plurality of adjacent samples. This reduction is optional in the modalities of this document and produces the vector of sample values ​​mentioned below. The reduced set of sample values ​​is subjected to a linear or affine linear transformation 19 to obtain predicted values ​​for predetermined samples 104 of the predetermined block. It is this transformation, indicated below using matrix A and offset vector b, that has been obtained by means of machine learning (ML) and its implementation must be carried out efficiently. Through interpolation, prediction values ​​for an additional 108 samples from the default block are derived based on the predicted values ​​for the default samples and the plurality of adjacent samples. It should be noted that, theoretically, the result of the affine / linear transformation could be associated with the non-full sample positions of block 18, such that all samples in block 18 could be obtained by interpolation according to an alternative method. It is also possible that no interpolation is necessary. The plurality of adjacent samples could extend one-dimensionally along two sides of the default block, the default samples are arranged in rows and columns and, along at least one of the rows and columns, where the default samples can be positioned at every nth position from a sample (112) of the default sample that borders the two sides of the default block.Based on the plurality of adjacent samples, for each of said at least one of the rows and columns, a support value could be determined for one (118) of the plurality of adjacent positions, which aligns with the respective one of said at least one of the rows and columns, and by means of interpolation, the prediction values ​​for the additional 108 samples of the default block could be derived based on the predicted values ​​for the default samples and the support values ​​for the adjacent samples aligned with said at least one of the rows and columns.The default samples can be positioned at every nth position of the 112th sample of the default sample that borders both sides of the default block along the rows, and the default samples can be positioned at every mth position of the 112th sample of the default sample that borders both sides of the default block along the columns, where n,m > 1. It may be that n = m. Along at least one of the rows and columns, the determination of the support values ​​can be made by averaging (122), for each support value, a group 120 of adjacent samples within the plurality of adjacent samples that includes the adjacent sample 118 for which the respective support value is determined. The plurality of adjacent samples can extend one-dimensionally along two sides of the default block, and the reduction can be made. MA / t / ZUZZ / UU lODU grouping the plurality of adjacent samples into groups 110 of one or more consecutive adjacent samples and carrying out an average in each of the groups of one or more adjacent samples that have more than two adjacent samples. For the default block, a prediction residue could be transmitted in the data stream. This residue could be derived in the decoder, and the default block could be reconstructed using the prediction residue and the predicted values ​​for the default samples. In the encoder, the prediction residue is encoded into the data stream. The image could be subdivided into a plurality of blocks of different block sizes, this plurality comprising the default block. Then, the linear or affine linear transformation for block 18 could be selected depending on the width W and height H of the default block, such that the linear or affine linear transformation for the default block is selected from a first set of linear or affine linear transformations provided that the width W and height H of the default block are within a first set of width / height pairs, and from a second set of linear or affine linear transformations provided that the width W and height H of the default block are within a second set of width / height pairs that is separate from the first set of width / height pairs.Again, it becomes clear later that affine / linear transformations are represented by other parameters, namely C weights and, optionally, phase and scale parameters. The decoder and encoder can be configured to subdivide the image into a plurality of blocks of different block sizes, comprising the default block, and to select the linear or affine linear transformation depending on a width W and a height H of the default block such that the linear or affine linear transformation selected for the default block is selected from a first set of linear or affine linear transformations as long as the width W and height H of the default block are within a first set of width / height pairs, a second set of linear or affine linear transformations as long as the width W and height H of the default block are within a second set of width / height pairs that is separate from the first set of width / height pairs,and a third set of linear or linear affine transformations provided that the width W and height H of the default block are within a third set of one or more width / height pairs, which is separate from the first and / or second sets of width / height pairs. The third set of one or more width / height pairs comprises simply a width / height pair, W', H', and each linear or affine linear transformation within the first set of linear or affine linear transformations is for transforming N' sample values ​​to W'*H' predicted values ​​for an array of W'xH' sample positions. Each of the first and second sets of width / height pairs may comprise a first width / height pair Wp, Hp with Wp being unequal to Hp and a second width / height pair Wq, Hq with Hq= Wp and Wq= Hp. Each of the first and second sets of width / height pairs may additionally comprise a third MA / t / ZUZZ / UU lODU pair of width / height WP,HPwith Wps equal to Hpy Hp> Hq. For the default block, a set index could be transmitted in the data stream, which indicates which linear or affine linear transformation to select for block 18 from a default set of linear or affine linear transformations. The plurality of contiguous samples can be extended one-dimensionally along two sides of the default block, and the reduction can be done, for a first subset of the plurality of contiguous samples, which are adjacent to a first side of the default block, by grouping the first subset into first groups of one or more consecutive contiguous samples, and, for a second subset of the plurality of contiguous samples, which are adjacent to a second side of the default block, by grouping the second subset into second groups of one or more consecutive contiguous samples and averaging in each of the first and second groups of one or more contiguous samples that has more than two contiguous samples, to obtain first sample values ​​for the first groups and second sample values ​​for the second groups. Then,The linear or affine linear transformation can be selected depending on the set index from a predetermined set of linear or affine linear transformations such that two different states of the set index result in a selection of one of the linear or affine linear transformations from the predetermined set of linear or affine linear transformations. The reduced set of sample values ​​can be subjected to the predetermined linear or affine linear transformation if the set index takes a first state of the two different states in the form of a vector to produce an output vector of predicted values, and distribute the predicted values ​​of the output vector along a first scan order in the predetermined samples of the predetermined block. If the set index takes a second state of the two different states in the form of a second vector,The first and second vectors differ in such a way that the components filled by one of the first sample values ​​in the first vector are filled by one of the second sample values ​​in the second vector, and the components filled by one of the second sample values ​​in the first vector are filled by one of the first sample values ​​in the second vector, to produce an output vector of predicted values, and distribute the predicted values ​​of the output vector along a second scan order in the predetermined samples of the predetermined block that is transposed with respect to the first scan order. Each linear or affine linear transformation within the first set of linear or affine linear transformations can be for transforming Ni sample values ​​to wfhi predicted values ​​for an array of wixhi of sample positions and each linear or affine linear transformation within the first set of linear or affine linear transformations is for transforming N2 sample values ​​to W2*h2 predicted values ​​for an array of W2xh2 of sample positions, wherein for a first predetermined pair of one of the first set of width / height pairs, wi can exceed the width of the first predetermined width / height pair or hi can exceed the height of the first predetermined width / height pair, and for a second predetermined pair of one of the first set of width / height pairs, neither W1 can exceed the width of the second predetermined width / height pair nor hi exceeds the height of the second predetermined width / height pair.The reduction (100), by means of averaging, of the plurality of adjacent samples to obtain the. The reduced set (102) of sample values ​​could then be made such that the reduced set 102 of sample values ​​has Ni sample values ​​if the default block is of the first default width / height pair and if the default block is of the second default width / height pair, and the subjection of the reduced set of sample values ​​to the selected linear or affine linear transformation could be carried out using only a first sub-portion of the selected linear or affine linear transformation relating to a subsampling of the array wixhi of the sample positions along the width dimension if wi exceeds the width of said width / height pair, or along the height dimension if hi exceeds the height of said width / height pair if the default block is of the first default width / height pair,and the selected linear or affine linear transformation if the default block is the second default width / height pair. Each linear or affine linear transformation within the first set of linear or affine linear formations can be for transforming Ni sample values ​​aw / hi predicted values ​​for an array of wixhi of sample positions with wi = hi and each linear or affine linear transformation within the second set of linear or affine linear transformations is for transforming N2 sample values ​​to w2*h2 predicted values ​​for an array of w2xh2 of sample positions with w2= h2. All the methods described above are merely illustrative, as they can form the basis for the method described later. That is, the concepts and details above will help in understanding the subsequent methods and will serve as a repository for possible extensions and amendments to the methods described later. In particular, many of the details described above are optional, such as the averaging of adjacent samples, the use of adjacent samples as reference samples, and so on. More generally, the methods described in this document assume that the prediction signal in a rectangular block is generated from previously reconstructed samples, such that an intraprediction signal in a rectangular block is generated from adjacent, previously reconstructed samples to the left and above the block. The generation of the prediction signal is based on the following steps. 1. From the reference samples, now called boundary samples, without excluding, however, the possibility of transferring the description to reference samples positioned elsewhere, the samples can be extracted by means of averaging. Here, averaging is carried out either for both boundary samples to the left and above the block or only for the boundary samples on one of the two sides. If averaging is not carried out on one side, the samples on that side remain unchanged. 2. A matrix-vector multiplication is performed, optionally followed by the addition of an offset, where the input vector of the matrix-vector multiplication is either the concatenation of the averaged boundary samples to the left of the block and the original boundary samples above the block if averaging was applied only to the left side, or the concatenation of the original boundary samples to the left of the block and the averaged boundary samples above the block if averaging was applied only to the above side, or the concatenation of the averaged boundary samples to the left of the block and the averaged boundary samples above the block if averaging was applied to both sides of the block. Again, there would be alternatives, such as one where averaging is not used at all. 3. The result of the matrix-vector multiplication and the addition of the optional offset can optionally be a reduced prediction signal on a subsampled set of samples in the original block. The prediction signal at the remaining positions can be generated from the prediction signal on the subsampled set by means of linear interpolation. The matrix-vector product calculation in Step 2 should preferably be performed using integer arithmetic. Therefore, if x = denotes the input for the matrix-vector product, i.e., x denotes the concatenation of the (averaged) boundary samples to the left and above the block, then the (reduced) prediction signal calculated in Step 2 should be calculated from x using only bit shifts, the addition of offset vectors, and integer multiplications. Ideally, the prediction signal in Step 2 would be given as Ax + b, where b is an offset vector that could be zero, and where A is derived by means of some machine learning-based training algorithm. However, such a training algorithm typically only results in a matrix A = Afloat, which is given in floating-point precision.Therefore, one faces the problem of specifying integer operations in the sense mentioned above such that the expression Afioatx is well approximated using these integer operations. It is important to note here that these integer operations are not necessarily chosen to approximate the expression Afioatx by assuming a uniform distribution of the vector x, but rather generally take into account that the input vectors x for which the expression Afioatx is to be approximated are boundary (averaged) samples of natural video signals where one can expect some correlations between the Xi components of x. Figure 8 shows a mode of a device 1000 for predicting a predetermined block 18 of an image 10 using a plurality of reference samples 17. The plurality of reference samples 17 may depend on a prediction mode used by the device 1000 to predict the predetermined block 18. If the prediction mode is, for example, intraprediction, reference samples 17i adjacent to the predetermined block may be used. In other words, the plurality of reference samples 17 are, for example, located within image 10 next to an outer edge of the predetermined block 18. If the prediction mode is, for example, interprediction, reference samples 172 from another image 10' may be used. The apparatus 1000 is configured to form a vector of sample values ​​400 from a plurality of reference samples 17. The vector of sample values ​​can be obtained using various techniques. For example, the vector of sample values ​​can comprise all of the reference samples 17. Optionally, the reference samples can be weighted. According to another example, the vector of sample values ​​400 can be formed as described with respect to one of Figures 7.1 to 7.4 for the vector of sample values ​​102. In other words, the vector of sample values ​​400 can be formed by averaging or reducing the resolution. Thus, for example, groups of reference samples can be averaged to obtain the vector of sample values ​​400 with a reduced set of values.In other words, the apparatus is configured, for example, to form 100 the vector of sample values ​​102 from the plurality of reference samples 17 to, for each component of the vector of values. ML / t / ZUZZ / UU lODU samples 400, adopt a reference sample from the plurality of reference samples 17 as the respective component of the sample value vector, and / or average two or more components of the sample value vector 400, i.e., average two or more reference samples from the plurality of reference samples 17 to obtain the respective component of the sample value vector 400. The apparatus 1000 is configured to derive 401 from the sample value vector 400 an additional vector 402 onto which the sample value vector 400 is mapped by means of a predetermined invertible linear transform 403. The additional vector 402 comprises, for example, only integer and / or fixed-point values. The invertible linear transform 403 is chosen, for example, such that a sample prediction of the predetermined block 18 is carried out by means of integer arithmetic or fixed-point arithmetic. Furthermore, the apparatus 1000 is configured to calculate a matrix-vector product 404 between the additional vector 402 and a default prediction matrix 405 to obtain a prediction vector 406, and predict samples from the default block 18 based on the prediction vector 406. Based on the convenient additional vector 402, the default prediction matrix can be quantized to allow integer and / or fixed-point operations with only a marginal impact of a quantization error on the predicted samples from the default block 18. According to one configuration, the 1000 device is set up to calculate the matrix-vector product 404 using fixed-point arithmetic operations. Alternatively, integer operations can be used. According to one modality, the device 1000 is configured to calculate the matrix-vector product 404 without floating-point arithmetic operations. According to one mode, the 1000 device is configured to store a fixed-point number representation of the default prediction matrix 405. Additionally or alternatively, an integer number representation of the default prediction matrix 405 can be stored. According to one modality, the apparatus 1000 is configured to, in predicting the samples of the default block 18 based on the prediction vector 406, use interpolation to calculate at least one sample position of the default block 18 based on the prediction vector 406, each component of which is associated with a corresponding position within the default block 18. The interpolation can be carried out as described with respect to one of the modalities shown in Figures 7.1 to 7.4. Figure 9 illustrates the concept of the invention described herein. Samples from a predetermined block can be predicted based on a first matrix-vector product between a matrix A 1100 derived by some machine learning-based training algorithm and a sample value vector 400. Optionally, a offset b 1110 can be added. To achieve an integer approximation or a fixed-point approximation of this first matrix-vector product, the sample value vector can be subjected to an invertible linear transformation 403 to determine an additional vector 402. A second matrix-vector product between an additional matrix B 1200 and the additional vector 402 can be equal to the result of the first matrix-vector product. Due to the characteristics of the additional vector 402, the second matrix-vector product can be approximated to an integer by means of a matrix-vector product 404 between a predetermined prediction matrix C 405 and the MA / t / ZUZZ / UU IO0U additional vector 402 plus an additional offset 408. The additional vector 402 and the additional offset 408 can consist of integer or fixed-point values. All components of the additional offset are, for example, equal. The default prediction matrix 405 can be a quantized matrix or a matrix to be quantized. The result of the matrix-vector product 404 between the default prediction matrix 405 and the additional vector 402 can be understood as a prediction vector 406. Further details regarding this whole number approximation are provided below. Possible solution according to modality I: Subtract and add average values One possible incorporation of an integer approximation of an Afioatx expression that can be used in a previous scenario is to replace the th component xio, i.e., a default component 1500, of x, i.e., the sample vector 400, with the mean value mean(x), i.e., a default value 1400, of the components of % and subtract this mean value from all other components. In other words, the invertible linear transform 403, as shown in Figure 10a, is defined such that a default component 1500 of the additional vector 402 becomes a, and each of the other components of the additional vector 402, except the default component 1500, equals a corresponding component of the sample vector less a, where a is a default value 1400 that is, for example, an average, such as an arithmetic mean or weighted average, of components of the sample vector 400.This operation at the input is given by an invertible transform T 403 which has an obvious integer implementation in particular if the dimension n of x is a power of two. Since Afloat = (Af^at - T^T), if one makes such a transformation on the input x, one has to find an integral approximation of the matrix-vector product By, where B = (,A^^T-1) and y = Tx. Since the matrix-vector product Afioatx represents a prediction over a rectangular block, i.e., a default block, and since x is comprised of boundary (e.g., averaged) samples of that block, one should expect that in the case where all sample values ​​of x are equal, i.e., where x^ = mean(x) for all i, each sample value in the prediction signal Aβ0αίχ should be close to mean(x) or exactly equal to mean(xy). This means that one should expect the i0th column, i.e., the column corresponding to the default component, of B, i.e., of a traditional 1200 matrix, to be very close to or equal to a column consisting only of ones.Therefore, if M(i0), that is, an integer matrix 1300, is the matrix whose i0th column consists of ones and all other columns are zeros, writing By = Cy + M(i0)y with C = B - M(i0), one should expect that the i0th column of C, that is, the default prediction matrix 405, will have rather small entries or be zero, as shown in Figure 10b. Moreover, since the components of x are watertightly related, one can expect that for each i ≠ i0, the i-th component yi = xt — meanQx) of y will often have a much smaller absolute value than the i-th component of x. Since the matrix M(i0) is an integer matrix, an integer approximation of By is achieved if an integer approximation of Cy is given, and, by the arguments above, one can expect that the quantization error arising from quantizing each entry of C into one. MA / t / ZUZZ / UU IO0U proper form would only marginally affect the error in the resulting quantization of By respectively of Afloatx. The default value 1400 is not necessarily the mean value mean (x}. The integer approximation described in this document of the Amoaix expression can also be achieved with the following alternative definitions to the default value 1400: In another possible incorporation of an integer approximation of an Afioatx expression, the io-th component xiode x is kept unchanged and the same value x¿0 is subtracted from all other components. That is, yio=xí0 Wi =xi~ x¿0 for each i Ψ i0. In other words, the default value 1400 can be a component of the sample vector 400 that corresponds to the default component 1500. Alternatively, the default value 1400 is a default value or a value pointed to in a data stream in which an image is encoded. The default value 1400 is equal, for example, to 2 bits of PtM. In this case, the additional vector 402 can be defined by y0 = 2 bits of P|h-1 and y¡ = x¡-x0 for i > 0. Alternatively, the default component 1500 becomes a constant minus the default value 1400. The constant is equal, for example, to 2bitdePth·1. According to one modality, the default component y¿0 1500 of the additional vector y 402 is equal to 2bitdePth-1 minus a component xio of the sample value vector 400 that corresponds to the default component 1500 and all other components of the additional vector 402 equal to the corresponding component of the sample value vector 400 minus the component of the sample value vector 400 that corresponds to the default component 1500. For example, it is convenient if the default value of 1400 has a small deviation from the sample prediction values ​​of the default block. According to one embodiment, the apparatus 1000 is configured to comprise a plurality of invertible linear transforms 403, each of which is associated with a component of the additional vector 402. Furthermore, the apparatus is configured, for example, to select the default component 1500 from the components of the sample-value vector 400 and to use the invertible linear transform 403 from the plurality of invertible linear transforms that is associated with the default component 1500 as the default invertible linear transform. This is, for example, due to different positions of the 10th row—that is, a row of the invertible linear transform 403 that corresponds to the default component—depending on a position of the default component in the additional vector 402.If, for example, the first component, i.e., yi, of the additional vector 402 is the default component, the 10th row would replace the first row of the invertible linear transform. As shown in Figure 10b, the matrix components 414 of the default prediction matrix C 405 within column 412—that is, the 10th column—of the default prediction matrix 405, corresponding to the default component 1500 of the additional vector 402, are, for example, all zeros. In this case, the apparatus is configured, for example, to compute the matrix-vector product 404 by performing multiplications by calculating a matrix-vector product 407 between a reduced prediction matrix C' 405 resulting from the default prediction matrix C 405 omitting column 412 and an additional vector 410 resulting from the additional vector 402 omitting the default component 1500, as shown in Figure 10c. Thus, a prediction vector 406 can be computed with fewer multiplications. As shown in Figures 9, 10b, and 10c, the apparatus 1000 can be configured to, in predicting the default block samples based on the prediction vector 406, calculate for each component of the prediction vector 406 a sum of the respective component already, i.e., the default value 1400. This sum can be represented by a sum of the prediction vector 406 and a vector 409 with all components of the vector 409 being equal to the default value 1400, as shown in Figure 9 and Figure 10c.Alternatively, the sum can be represented by means of a sum of the prediction vector 406 and a matrix-vector product 1310 between an integer matrix M 1300 and the additional vector 402, as shown in Figure 10b, wherein the matrix components of the integer matrix 1300 are 1 within one column, i.e., an i0th column, of the integer matrix 1300 that corresponds to the default component 1500 of the additional vector 402, and all other components are, for example, zero. As a result, a sum of the default prediction matrix 405 and the integer matrix 1300 is equal to or approximates, for example, the additional matrix 1200, shown in Figure 9. In other words, a matrix, namely the additional matrix B 1200, resulting from summing each matrix component of the default prediction matrix C 405 within a column 412, namely the 10th column, of the default prediction matrix 405, corresponding to the default component 1500 of the additional vector 402, with one, (i.e., matrix B) multiplied by the invertible linear transform 403, corresponds, for example, to a quantized version of a machine learning prediction matrix A1100, as shown in Figure 9, Figure 10a, and Figure 10b. The sum of each matrix component of the default prediction matrix C 405 within the 10th column 412 with one may correspond to the sum of the default prediction matrix 405 and the integer matrix 1300, as shown in Figure 10b.As shown in Figure 9, the machine learning prediction matrix A1100 can be equal to the result of the additional matrix 1200 multiplied by the invertible linear transform 403. This is due to A x = BT yT-1. The default prediction matrix 405 is, for example, a quantized matrix, an integer matrix, and / or a fixed-point matrix, so the quantized version of the machine learning prediction matrix A1100 can be realized. Matrix multiplication using only integer operations For a low-complexity implementation (in terms of the complexity of adding and multiplying scalar values, as well as in terms of storage required for the participating array entries), it is desirable to carry out the 404 array multiplications using integer arithmetic only. To calculate an approximation of z = Cy, that is 71-1 zí = Cu * y,, j=O IVIA / t / ZUZZ / UU IOOU Using operations with integers only, the real values ​​C^j must be mapped to integer values ​​C¡j, according to a modality. This can be done, for example, by means of uniform scalar quantization, or by taking into account specific correlations between yt values. The integer values ​​represent, for example, fixed-point numbers that can each be stored with a fixed number of bits n_bits, for example n_bits = 8. The matrix-vector product 404 with a matrix, namely the default prediction matrix 405, of size mxn can then be carried out as shown in this pseudocode, where «,» are binary arithmetic left and right shift operations and +, - and * operate on integer values ​​only. (1) final_offset = 1 «(right_shift_result -1); for i in 0...m-1 { accumulator = 0 forj in 0...n-1 { accumulator: = accumulator + y[j]*C[¡,j]} z[¡] = (accumulator + final_offset)»right_shift_result; Here, array C, that is, the default prediction array 405, stores fixed-point numbers, for example, as integers. The final addition of final_offset and the right-shift operation with right_shift_result reduce the precision by rounding to obtain the required fixed-point format in the output. To allow an increase in the range of real values ​​that can be represented by integers in C, two additional matrices offseti ^ scale¡j can be used, as shown in the modalities of Figure 11 and Figure 12, such that each coefficient bij of y¡ in the matrix-vector product 71-1zi = ^hi.ryj j=0 is given bybi,j = “ °ffsetij) * scaleij. The offset^ and scale^ values ​​are themselves integer values. For example, these integers can represent fixed-point numbers, each of which can be stored with a fixed number of bits, for example 8 bits, or for example the same number of bits n_bits that is used to store the C¡j values. In other words, device 1000 is configured to represent the default prediction matrix 405 using prediction parameters, for example, integer values ​​and the offset^ and scaleij values, and to calculate MA / t / ZUZZ / UU IO0U the matrix-vector product 404 by carrying out multiplications and additions on the components of the additional vector 402 and the prediction parameters and intermediate results resulting therefrom, wherein the absolute values ​​of the prediction parameters can be represented by means of an n-bit fixed-point number representation with n being equal to or less than 14, or, alternatively, 10, or, alternatively, 8. For example, the components of the additional vector 402 are multiplied by the prediction parameters to generate products as intermediate results which, in turn, are subjected to, or form addends of, a sum. According to one modality, the prediction parameters comprise weights, each of which is associated with a corresponding matrix component of the prediction matrix. In other words, the default prediction matrix is ​​replaced or represented, for example, by the prediction parameters. The weights are, for example, integer and / or fixed-point values. According to one modality, the prediction parameters further comprise one or more scale factors, for example, the scale values, each of which is associated with one or more corresponding matrix components of the default prediction matrix 405 to scale the weight, for example, an integer value Ctj, associated with said one or more corresponding matrix components of the default prediction matrix 405. Additionally or alternatively, the prediction parameters comprise one or more offsets, for example, the offset values, each of which is associated with one or more corresponding matrix components of the default prediction matrix 405 to offset the weight, for example, an integer value Cj, associated with said one or more corresponding matrix components of the default prediction matrix 405. In order to reduce the amount of storage required for offset^ and scaletj, their values ​​can be chosen to be constant for particular sets of indices i,j. For example, their entries can be constant for each column, or they can be constant for each row, or they can be constant for all of ij, as shown in Figure 11. For example, in a preferred mode, offset^ and scale^· are constants for all values ​​of the matrix of a prediction mode, as shown in Figure 12. Therefore, when there are K prediction modes with k = 0..K-1, only one value oky and one value sk are required to compute the prediction for mode k. According to one modality, offset^· and / or scaletj are constants, i.e., identical, for all matrix-based intraprediction modes. Additionally or alternatively, it is possible that offset^ and / or scaletj are constants, i.e., identical, for all block sizes. With the phase shift represented by oky and the scale represented by sk, the calculation in (1) can be modified to be: (2) final_offset = 0; for i in 0...n-1 { final_offset: = final_offset - y[¡]; ΜΛ / t / ZUZZ / UU IO0U final_offset *= final_offset * offset * scale; final_offset += 1 « (right_shift_result -1); for i in 0...m-1 { accumulator = 0 for j ¡n 0...Π-1 { accumulator: = accumulator + y[j]*C[i ,j]} z[¡] = (accumulator*scale + final_offset)»right_shift_result; Expanded modalities that arise from that solution The above solution involves the following modalities: 1. A prediction method as in Section I, wherein in Step 2 of Section I, the following is done for an integer approximation of the matrix-vector product involved: From the (averaged) boundary samples x = (x₁, ..., xₙ), for a fixed ε with 1 < i₀ < n, the vector y = (y₁, ..., yₙ) is computed, where y₀ = x₁ - mean(xₙ) for i ≠ i₀, where y₀ = mean(x), and where mean(x) denotes the mean value of x. The vector y then serves as an input to (an integer realization of) a matrix-vector product Cy such that the (reduced-resolution) prediction signal pred of Step 2 of Section I is given as pred = Cy + mean(pred(x)). In this equation, mean(pred(x)) denotes the signal that is equal to mean(x) for each sample position in the domain of the (reduced-resolution) prediction signal (see, for example, Figure 10b). 2. A prediction method as in Section I, wherein in Step 2 of Section I, the following is done for an integer approximation of the matrix-vector product involved: From the (averaged) boundary samples x = (x1;...,xn), for a fixed i0 with 1 < i0< n, the vector y = (y1;...,yn_i) is computed, where yi = x1 — mean^x) for i < i0 and yi — x1+1 — mean(x) for i > i0 and mean(x) denotes the mean value of x. The vector y then serves as an input for (an integer realization of) a matrix-vector product Cy such that the (reduced-resolution) prediction signal pred of Step 2 of Section I is given as pred = Cy + meanpred^x). In this equation, meanpredCx) denotes the signal that is equal to mean^x) for each sample position in the prediction signal domain (of reduced resolution), (see, for example, Figure 10c). 3. A prediction method as in Section I, where the integer realization of the matrix-vector product Cy is given by using coefficients bij = QCíj-°ffseti,j) * scale^ in the matrix-vector product zt = Σ) bij * yj. (see, for example, Figure 11). ML / t / ZUZZ / UU IO0U 4. A prediction method as in Section I, where Step 2 uses one of K matrices, such that multiple prediction modes can be computed, each using a different matrix Ck with k = 0...K-1, where the integer realization of the matrix-vector product Cky is given by using coefficients biJ- = (cklJ- of fset^ * scaleken the matrix-vector product zv= Σ; b^ * y^. (see, for example, Figure 12). That is, according to the embodiments of the present application, the encoder and decoder operate as follows to predict a predetermined block 18 from an image 10, as shown in Figure 9. For prediction, a plurality of reference samples are used. As described above, the embodiments of the present application are not restricted to intracoding, and consequently, the reference samples are not restricted to being adjacent samples, i.e., samples from image 10 that are adjacent to block 18. In particular, the reference samples are not restricted to those located next to an outer edge of block 18, such as samples adjacent to the outer edge of the block. However, this circumstance is certainly an embodiment of the present application. In order to perform the prediction, a vector of sample values ​​400 is formed from reference samples such as reference samples 17a and 17c. One possible formation has been described previously. The formation may involve averaging, thereby reducing the number of samples 102 or the number of components in the vector 400 compared to the reference samples 17 that contribute to the formation. As described previously, the formation may also depend in some way on the dimension or size of block 18, such as its width and height. It is this vector 400 that must undergo an affine or linear transformation in order to obtain the prediction for block 18. Different nomenclatures have been used previously. Using the most recent one, the objective is to perform the prediction by applying vector 400 to matrix A by means of a matrix-vector product within the realization of a sum with a phase-shift vector b. The phase-shift vector b is optional. The affine or linear transformation determined by means of A or A and b could be determined by means of the encoder and decoder or, more precisely, for the sake of the prediction and based on the size and dimension of block 18 as previously described. However, in order to achieve the computational efficiency improvement described above or to make the prediction more effective in terms of implementation, the affine or linear transformation has been quantized. The encoder and decoder, or their predictor, used the aforementioned C and T to represent and carry out the linear or affine transformation, with C and T, applied as described above, representing a quantized version of the affine transformation. In particular, instead of applying the vector 400 directly to the matrix A, the predictor in the encoder and decoder applies the vector 402, which results from mapping the sample vector 400 using a predetermined invertible linear transform T.It could be that the T-transform as used here is the same as long as the vector 400 has the same size, that is, it does not depend on the dimensions of the block, i.e., width and height, or at least is the same for different affine / linear transformations. In the above, the vector 402 is denoted as y. The exact matrix for carrying out the affine / linear transform as determined by machine learning would have been B. However, instead of carrying out B exactly, the prediction in the encoder and decoder is made by means of an approximation or quantized version of it. In particular, the representation is made by means of the representation of C appropriately in the manner described above with C + M representing the quantized version of B. Consequently, the prediction in the encoder and decoder is further processed by calculating the matrix-vector product 404 between vector 402 and the predetermined prediction matrix C, appropriately represented and stored in the encoder and decoder as described above. The vector 406 resulting from this matrix-vector product is then used to predict the 104 samples of block 18. As described above, for the sake of prediction, each component of vector 406 could be subjected to a parameterized sum as indicated in 408 in order to compensate for the corresponding definition of C. The optional sum of vector 406 with the offset vector b can also be involved in deriving the prediction for block 18 based on vector 406.It could be that, as described above, each component of vector 406, and consequently each component of the sum of vector 406, the vector of all the a's indicated in 408, and the optional vector b, could correspond directly to the 104 samples of block 18 and thus indicate the predicted values ​​of the samples. Alternatively, it could be that only a subset of the 104 samples of the block are predicated in this way, and that the remaining samples of block 18, such as 108, are derived by interpolation. As described earlier, there are different ways to fit a. For example, it could be the arithmetic mean of the components of vector 400. For that case, see Figure 10. The invertible linear transform T can be as shown in Figure 10. It is the default component of the sample value vector and vector 402, respectively, which is replaced by a. However, as also mentioned earlier, there are other possibilities. Regarding the representation of C, it has also been mentioned earlier that it can be incorporated differently. For example, the matrix-vector product 404 can, in its actual calculation, result in the actual calculation of a smaller matrix-vector product with lower dimensionality.In particular, as indicated above, it could be that due to the definition of C, its entire 10th column 412 gets 0 so that the actual calculation of the product 404 is done by means of a reduced version of the vector 402 resulting from the vector 402 by omitting the component y¿0, i.e., multiplying this reduced vector 410 with the matrix C' resulting from C leaving out the 10th column 412. The weights of C, or the components of this matrix, can be represented and stored in fixed-point number representation. However, these weights, as described above, are also stored in a different way related to different scales and / or offsets. The scale and offset can be defined for the entire matrix C, meaning they are the same for all weights of C or matrix C', or they can be defined in a way that is constant or equal for all weights of the same row or all weights of the same column of matrix C and matrix C', respectively.Figure 11 illustrates, in this sense, that the calculation of the matrix-vector product, that is, the result of the product, can in fact be carried out in a slightly different way, for example, by shifting the multiplication with the scale(s) towards vector 402 or 404, thereby reducing the number of multiplications that have to be carried out additionally. Figure 12 illustrates the use case of a scale and a shift for all weights 414 of C or C' as done in the previous calculation (2). MA / t / ZUZZ / UU IO0U According to one modality, the apparatus described herein for predicting a predetermined block of an image may be configured to use a matrix-based sample intraprediction comprising the following features: The apparatus is configured to form a vector of sample values ​​pTemp[x] 400 from the plurality of reference samples 17. Assuming that pTemp[x] is 2*boundarySize, pTemp[x] could be filled by - for example, by directly copying or subsampling or grouping - the adjacent samples located at the top of the default block, redT[ x ] with x = 0..boundarySize - 1, followed by the adjacent samples located to the left of the default block, redL[ x ] with x = 0..boundarySize -1, (for example, in the case of isTransposed = 0) or vice versa in the case of transposed processing (for example, in the case of isTransposed = 1). The input values ​​p[x] with x = 0.. InSize - 1 are derived, i.e., the apparatus is set up to derive from the sample vector pTemp[x] an additional vector p[x] onto which the sample vector pTemp[x] is mapped by means of a predetermined invertible linear transform, or more specifically, a predetermined invertible affine linear transform, as follows: If mipSizeld equals 2, the following applies: p[ x ] = pTemp[ x + 1 ] - pTemp[ 0 ] Otherwise (mipSizeld is less than 2), apply the following: p[ 0 ] = (1 « ( BitDepth - 1)) - pTemp[ 0 ] p[ x ] = pTemp[ x ] - pTemp[ 0 ] for x = 1. .inSize - 1 Here, the variable `mipSizeld` indicates the size of the default block. That is, according to the present modality, the invertible transform used to derive the additional vector from the sample value vector depends on the size of the default block. The dependency could be given according to MA / t / ZUZZ / UU lODU mipSizeld boundarySize predSize 0 2 4 1 4 4 2 4 8 Where predSize indicates the number of predicted samples within the predefined block, and 2*boundarySize indicates the size of the sample-value vector and is related to inSize, i.e., the size of the additional vector, according to inSize = (2 * boundarySize) - (mipSizeld == 2) ? 1 : 0. More precisely, inSize indicates the number of those additional vector components that actually participate in the calculation. inSize is as large as the size of the sample-value vector for smaller block sizes, and one component smaller for larger block sizes. In the former case, one component can be discarded—namely, the one that would correspond to the predefined component of the additional vector—since in the matrix-vector product to be calculated later, the contribution of the corresponding vector component would produce zero anyway and therefore does not actually need to be calculated.The dependency on block size could be omitted in the case of alternative modalities, where simply one of the two alternatives is inevitably used, i.e., regardless of the block size (the option corresponding to mipSizeld is less than 2, or the option corresponding to mipSizeld equal to 2). In other words, the default invertible linear transform is defined, for example, such that a predetermined component of the additional vector p becomes a, while all others correspond to a component of the sample-value vector minus a, where, for example, a = pTemp[0]. In the case of the first option, which corresponds to mipSizeld equal to 2, this is readily apparent, and only the differentially formed components of the additional vector are taken into account. That is, in the case of the first option, the additional vector is actually {p[0... inSize]; pTemp[0]}, where pTemp[0] is a. The part actually computed in the matrix-vector multiplication to produce the matrix-vector product—that is, the result of the multiplication—is restricted to only inSize components of the additional vector and the corresponding columns of the matrix, since the matrix has a column of zeros that does not require computation.In another case, corresponding to mipSizeld less than 2, we choose a = pTemp[0], as all components of the additional vector except p[0], that is, each of the other components p[x] (for x = 1..inSize -1) of the additional vector p, except for the default component p[0], equal to a corresponding component of the sample vector pTemp[x] minus a, but p[0] is chosen to be a constant minus a. Then the matrix-vector product is computed. The constant is the mean of the representable values, that is, 2χ·1 (i.e., 1 « (BitDepth - 1)) with x denoting the bit depth of the computational representation used.It should be noted that if p[0] were selected to be pTemp[0] instead, then the calculated product would simply deviate from the one calculated using p[0] as previously stated (p[0] = (1 « (BitDepth - 1 )) - pTemp[0]) by a constant vector that could be taken into account when predicting the inner block based on the product—that is, the prediction vector. The value a is therefore a default value, for example, pTemp[0]. The default value pTemp[0] is, in this case, for example, a component of the sample value vector pTemp that corresponds to the default component p[0]. It could be the sample adjacent to the top of the default block, or the leftmost sample of the default block, closest to the top-left corner of the default block. For the intraprediction process of samples according to predModelntra, for example, which specifies the intraprediction mode, the apparatus is configured, for example, to apply the following steps, for example, to carry out at least the first step: 1. Intraprediction samples based on matrix predMip[ x ][ y ], with x = O.predSize - 1, y = O..predSize - 1 are derived as follows: The variable modeld is set equal to predModelntra. The weight matrix mWeight[x][y] with x = 0..InSize - 1, y = O..predSize * predSize - 1 is derived by invoking MIP's weight matrix derivation process with mipSizeld and modeld as inputs. Intraprediction samples based on matrix predMip[x][y], with x = 0..predSize - 1, y = 0..predSize - 1 are derived as follows: oW = 32 - 32 * (Σίn=%ze“1Ρ [ i ]) predMip[χ][ y ] = (((“1mWeight[ i ][y * predSize + x] * p[ i ] ) + oW)» 6) + pTemp[ 0 ] In other words, the device is configured to calculate a matrix-vector product between the additional vector p[i] or, if mipSizeld equals 2, {p[i];pTemp[O]J} and a default prediction matrix mWeight or, if mipSizeld is less than 2, the prediction matrix mWeight having an additional zero-weight row corresponding to the omitted component of p, to obtain a prediction vector, which, here, is either mapped to an array of block positions {x,y} distributed within the default block to result in the array predMip[x][y]. The prediction vector would correspond to a concatenation of the rows of predMip[x][y] or the columns of predMip[x][y], respectively. According to one modality, or according to a different interpretation, only the component (((Σΐ^οζθ ~1mWeight[ i ] [ y * predSize + x ] * p [ i ]) + oW) » 6 ) is understood as the prediction vector and the apparatus is configured to, in the prediction of the samples of the predetermined block based on the prediction vector, calculate for each component of the prediction vector a sum of the respective component already, for example, pTemp[0]. Optionally, the device can be configured to additionally perform the following steps in predicting the predetermined block samples based on the prediction vector, for example, predMip or ((Σί =Sóze1mWeight[ i ] [ y * predSize + x ] * p[ i ]) + oW) » 6. 2. Intraprediction samples based on matrix predMip[ x ][ y ], with x = 0..predSize - 1, y = 0..predSize - 1 are clipped, for example, as follows: predMip[x][y] = Clip1( predMip[x][y]) 3. When isTransposed equals all True, the array predSize x predSize predMip[ x ][ y ] with x = 0..predSize - 1, y = 0..predSize - 1 is transposed, for example, as follows: predTemp[ y ][ x ] = predMip[ x ][ y ] predMip = predTemp 4. The predicted samples predSamplesj x ][ y ], with x = 0..nTbW-1, y = 0..nTbH-1 are derived, for example, as follows: If nTbW, which specifies the transform block width, is greater than predSize or nTbH, which specifies the transform block height, is greater than predSize, the MIP prediction resolution boosting process is invoked with input block size predSize, matrix-based intraprediction samples predMip[ x][ y] with x = 0.. predSize - 1, y = 0.. predSize - 1, transform block width nTbW, transform block height nTbH, upper reference samples refT[ x ] with x = O..nTbW - 1, and left reference samples refL[ y ] with y = O..nTbH - 1 as inputs, and the output is the array of predicted samples predSamples. Otherwise, predSamples[x][y ], with x = 0..nTbW-1, y = O..nTbH -1 is set equal to predMip[ x ][ y ]. In other words, the device is configured to predict the predSamples of the block ML / t / ZUZZ / UU IO0U default based on the predMip prediction vector. Figure 13 shows a method 2000 for predicting a predetermined block of an image using a plurality of reference samples, comprising forming 2100 a sample-value vector from the plurality of reference samples, deriving 2200 from the sample-value vector an additional vector to which the sample-value vector is mapped by means of a predetermined invertible linear transform, calculating 2300 a matrix-vector product between the additional vector and a predetermined prediction matrix to obtain a prediction vector, and predicting 2400 samples of the predetermined block based on the prediction vector. References [1] P. Hellee et al., “Non-linear weighted intra prediction”, JVET-L0199, Macao, China, October 2018. [2] F. Bossen, J. Boyce, K. Suehring, X. L¡, V. Seregin, “JVET common test conditions and software reference configurations for SDR video”, (JVET common test conditions and software reference configurations for SDR video), JVET-K1010, Ljubljana, SI, July 2018. Additional modalities and examples Generally, examples can be implemented as a computer program product with program instructions, the program instructions being operational to carry out one of the methods when the computer program product is executed on a computer. The program instructions can be stored, for example, on a machine-readable medium. Other examples include the computer program for carrying out one of the methods described in this document, stored on a machine-readable carrier. In other words, an example of a method is, therefore, a computer program that has program instructions to carry out one of the methods described in this document, when the computer program is run on a computer. A further example of the methods is, therefore, a data-carrying medium (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for carrying out one of the methods described in this document. The data-carrying medium, the digital storage medium, or the recorded medium is tangible and / or non-transient, as opposed to signals, which are intangible and transient. A further example of the method is, therefore, a data stream or a sequence of signals that represents the computer program for carrying out one of the methods described in this document. The data stream or the sequence of signals can, for example, be transferred by means of a data communication connection, such as the Internet. An additional example comprises a processing medium, for example a computer, or a programmable logic device that carries out one of the methods described in this document. ML / t / ZUZZ / UU lODU An additional example comprises a computer that has installed on it the computer program to carry out one of the methods described in this document. A further example comprises an apparatus or system that transfers (for example, electronically or optically) a computer program for carrying out one of the methods described in this document to a receiver. The receiver may be, for example, a computer, a mobile device, a memory device, or the like. The apparatus or system may comprise, for example, a file server for transferring the computer program to the receiver. In some examples, a programmable logic device (e.g., a field-programmable gate array) can be used to perform some or all of the functionalities of the methods described in this document. In some examples, a field-programmable gate array can cooperate with a microprocessor to perform one of the methods described in this document. Generally, the methods can be implemented using any suitable hardware device. The examples described above are merely illustrative of the principles discussed above. It is understood that modifications and variations of the arrangements and details described herein will be evident. Therefore, it is intended that the scope of the claims be limited and not by the specific details presented herein as descriptions and explanations of the examples. Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by means of equal or equivalent reference numbers even if they are presented in different figures.

Claims

1. An apparatus (1000) for predicting a predetermined block (18) of an image (10) using a plurality of reference samples (17a,c.), configured to: form (100) a vector of sample values ​​(102, 200) from the plurality of reference samples (17a,c), derive from the vector of sample values ​​(102, 400) an additional vector (402) with which the vector of sample values ​​(100,400) is mapped by means of a predetermined invertible linear transform (403), compute a matrix-vector product (404) between the additional vector (402) and a predetermined prediction matrix (405) to obtain a prediction vector (406), and predict samples of the predetermined block (18) based on the prediction vector (406).

2. The apparatus (1000) according to claim 1, wherein the predetermined invertible linear transform (403) is defined such that: a predetermined component (1500) of the additional vector (402) is converted to a constant minus a, and each of the other components of the additional vector (402), except the predetermined component (1500), is equal to a corresponding component of the sample value vector (102,400) minus a, wherein a is a predetermined value (1400).

3. The apparatus (1000) according to claim 2, wherein the default value (1400) is one of: an average, such as an arithmetic mean or weighted average, of components of the sample value vector (100,400), a default value, a signed value in a data stream in which the image (10) is encoded, and a component of the sample value vector (102,400) that corresponds to the default component (1500).

4. The apparatus (1000) according to claim 1, wherein the predetermined invertible linear transform (403) is defined such that: a predetermined component (1500) of the additional vector (402) is converted to a or a constant less a, and each of the other components of the additional vector (402), except the predetermined component (1500), is equal to a corresponding component of the sample value vector (102,400) less a, wherein a is an arithmetic mean of components of the sample value vector (102,400).

5. The apparatus (1000) according to claim 1, wherein the predetermined invertible linear transform (403) is defined such that: a predetermined component (1500) of the additional vector (402) is converted to a constant minus a, and each of the other components of the additional vector (402), except the predetermined component (1500), is equal to a corresponding component of the sample value vector (102, 400) minus a, wherein a is a component of the sample value vector (102, 400) corresponding to the predetermined component (1500). wherein the apparatus (1000) is configured to: comprise a plurality of invertible linear transforms, each of which is associated with a component of the additional vector 402.select the default component (1500) from the sample value vector components (102, 400) and use the invertible linear transform from the plurality of invertible linear transforms that is associated with the default component (1500) as the default invertible linear transform (403).

6. The apparatus (1000) according to any of claims 2 to 5, wherein the matrix components of the default prediction matrix (405) within a column of the default prediction matrix (405) corresponding to the default component (1500) of the additional vector (402) are all zero and the apparatus (1000) is configured to: calculate the matrix-vector product (404) by performing multiplications by calculating a matrix-vector product (407) between a reduced prediction matrix (405) resulting from the default prediction matrix (405) omitting column (412) and an additional vector (410) resulting from the additional vector (402) omitting the default component (1500).

7. The apparatus (1000) according to any of claims 2 to 6, configured to, in predicting the samples of the predetermined block (18) based on the prediction vector (406), calculate for each component of the prediction vector (406) a sum of the respective component and a.

8. The apparatus (1000) according to any of claims 2 to 7, wherein a matrix, resulting from the sum of each matrix component of the default prediction matrix (405) within a column of the default prediction matrix (405), corresponding to the default component (1500) of the additional vector (402), with one, multiplied by the default invertible linear transform (403) corresponds to a quantized version of a machine learning prediction matrix (1100).

9. The apparatus (1000) according to any of the preceding claims, configured to: form (100) the vector of sample values ​​(102, 400) from the plurality of reference samples (17a,c) by, for each component of the vector of sample values ​​(102,400), adopting a reference sample from the plurality of reference samples (17a,c) as the respective component of the vector of sample values ​​(102,400), and / or averaging two or more components of the vector of sample values ​​(102, 400) to obtain the respective component of the vector of sample values ​​(102,400).

10. The apparatus (1000) according to any of the preceding claims, wherein the plurality of reference samples (17a,c) is accommodated within the image (10) adjacent to an outer edge of the predetermined block (18). ML / E / ZuZZ / uuJoOu 11. The apparatus (1000) according to any of the preceding claims, configured to calculate the matrix-vector product (404) using fixed-point arithmetic operations.

12. The apparatus (1000) according to any of the preceding claims, configured to calculate the matrix-vector product (404) without floating-point arithmetic operations.

13. The apparatus (1000) according to any of the preceding claims, configured to store a fixed-point number representation of the predetermined prediction matrix (405).

14. The apparatus (1000) according to any of the preceding claims, configured to represent the predetermined prediction matrix (405) using prediction parameters and to compute the matrix-vector product (404) by performing multiplications and additions on the additional vector components (402) and the prediction parameters and intermediate results resulting therefrom, wherein the absolute values ​​of the prediction parameters can be represented by means of an n-bit fixed-point number representation with n being equal to or less than 14, or alternatively 10, or alternatively 8.

15. The apparatus (1000) according to claim 14, wherein the prediction parameters comprise: weights, each of which is associated with a corresponding matrix component of the predetermined prediction matrix (405).

16. The apparatus (1000) according to claim 15, wherein the prediction parameters further comprise: one or more scaling factors, each of which is associated with one or more corresponding matrix components of the predetermined prediction matrix (405) to scale the weight associated with said one or more corresponding matrix components of the predetermined prediction matrix (405); one or more offsets, each of which is associated with one or more corresponding matrix components of the predetermined prediction matrix (405) to offset the weight associated with one or more corresponding matrix components of the predetermined prediction matrix (405).

17. The apparatus (1000) according to any of the preceding claims, configured to, in predicting the samples of the predetermined block (18) based on the prediction vector (406), use interpolation to calculate at least one sample position of the predetermined block (18) based on the prediction vector (406), each component of which is associated with a corresponding position within the predetermined block (18).

18. An image encoding apparatus comprising, an apparatus for predicting a predetermined block (18) of the Image using a plurality of reference samples (17a,c) according to any of the preceding claims, to obtain a prediction signal, and an entropy encoder configured to encode a prediction residue for the predetermined block to correct the prediction signal.

19. An image decoding apparatus comprising, ML / t / ZUZZ / UU IO0U an apparatus for predicting a predetermined block (18) of the image using a plurality of reference samples (17a,c) according to any of claims 1 to 17, to obtain a prediction signal, an entropy decoder configured to decode a prediction residue for the predetermined block, and a prediction corrector configured to correct the prediction signal using the prediction residue.

20. A method (2000) for predicting a predetermined block (18) of an image using a plurality of reference samples (17a,c), comprising: forming (2100,100) a sample value vector (102, 200) from the plurality of reference samples, deriving (2200) from the sample value vector an additional vector (402) to which the sample value vector is mapped by means of a predetermined invertible linear transform (403), calculating (2300) a matrix-vector product (404) between the additional vector (402) and a predetermined prediction matrix (405) to obtain a prediction vector (406), and predicting (2400) samples of the predetermined block based on the prediction vector (406).

21. A method for encoding an image, comprising predicting a predetermined block (18) of the image using a plurality of reference samples (17a,c) according to the method (2000) of claim 20, to obtain a prediction signal, and entropy-encoding a prediction residue for the predetermined block to correct the prediction signal.

22. A method for decoding an image, comprising predicting a predetermined block (18) of the image using a plurality of reference samples (17a,c) according to the method (2000) of claim 20, to obtain a prediction signal, entropy-decoding a prediction residue for the predetermined block, and correcting the prediction signal using the prediction residue.

23. A data stream having an image encoded therein using a method according to claim 21.

24. A computer-readable means for predicting a predetermined block (18) of an image using a plurality of reference samples (17a,c) comprising the method according to claim 20.

25. A computer-readable means for encoding an image comprising the method according to claim 21.

26. A computer-readable means for decoding an image comprising the method according to claim 22.