MIP for all channels for 4:4:4 chroma format and single tree

By applying the same matrix-based intra prediction mode to co-located blocks of multiple color components in video coding, the inefficiencies in current technologies are addressed, resulting in improved coding efficiency and reduced costs.

JP7689612B2Active Publication Date: 2025-06-06FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2024131873
Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
Priority Date
2020-04-02
Filing Date
2024-08-08
Publication Date
2025-06-06
Estimated Expiration
2041-04-01

AI Technical Summary

Technical Problem

Current video coding technologies, such as the Versatile Video Coding (VTM), limit the use of matrix-based intra prediction (MIP) to only the luma component, leading to inefficiencies and increased bitstream and signaling costs when applied to chroma components.

Method used

The proposed solution involves using the same MIP mode for co-located intra-prediction blocks of multiple color components, such as in the 4:4:4 chroma format, to enhance prediction signal correlation and reduce bitstream and signaling costs.

Benefits of technology

This approach improves coding efficiency by reducing bitstream and signaling costs, while also simplifying the coding complexity, by leveraging the strong correlation between prediction signals across all color components.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007689612000211
    Figure 0007689612000211
  • Figure 0007689612000212
    Figure 0007689612000212
  • Figure 0007689612000213
    Figure 0007689612000213
Patent Text Reader

Abstract

To provide an encoder and a decoder using matrix-based intra prediction.SOLUTION: A decoder is configured to: partition a picture 10 of a plurality of color components and of a color sampling format; derive a sample value vector from reference samples, for intra-predicted first color component blocks 18'11-18'1n of a picture; compute a matrix-vector product between the sample value vector and a prediction matrix associated with respective matrix-based intra prediction mode so as to obtain a prediction vector, neighboring a block inner; predict samples in the block inner on the basis of the prediction vector to select one out of a first set 508 of intra-prediction modes 5101-510m for decoding; and decode a second color component of the picture in units of the blocks by intra-predicting the second color component block of the picture using the matrix-based intra prediction mode selected for a co-located intra-predicted first color component block.SELECTED DRAWING: Figure 12
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS An embodiment in accordance with the present invention relates to an apparatus and method for encoding or decoding a picture or video using matrix-based intra prediction (MIP) for all channels for 4:4:4 chroma format and single tree. [Background technology]

[0002] In the current VTM, MIP is only used for the luma component [3]. If the intra mode of a chroma intra block is direct mode (DM) and the intra mode of the co-located luma block is MIP mode, the chroma block must use planar mode to generate the intra prediction signal. The main reason for treating the DM mode in this way in the MIP case is that in the 4:2:0 case, or in the dual tree case, the co-located luma block may have a different shape than the color blocks. Therefore, since MIP mode is not applicable to all block shapes, the MIP mode of the co-located luma block may not be applicable to the chroma block in that case.

[0003] It is therefore desirable to provide a concept for rendering picture coding and / or video coding more efficient in order to support matrix-based intra prediction. Additionally or alternatively, it is desirable to reduce the bitstream and thus the signaling costs.

[0004] This is achieved by the subject matter of the independent claims of the present application.

[0005] Further embodiments according to the invention are defined by the subject matter of the dependent claims of the present application. Summary of the Invention

[0006] According to a first aspect of the present invention, the inventors of the present application have found that one problem encountered when trying to use a matrix-based intra-prediction mode (MIP mode) to predict samples of a given block of a picture stems from the fact that MIP cannot currently be used for all color components of a picture. According to the first aspect of the present application, this difficulty is overcome by using the same MIP mode for intra-prediction blocks of two color components that share the same location in a picture, i.e., co-located intra-prediction blocks, for example when the two color components are evenly sampled and evenly divided into blocks. The inventors have found that it is advantageous to use the same MIP mode for co-located intra-prediction blocks of two or more color components of a picture. This is based on the idea that a strong correlation of prediction signals across all color components of a picture is beneficial, and such correlation can be increased if the same intra-prediction mode is used for two or more color components of intra-prediction blocks of a picture. By using the same MIP mode for co-located blocks of different color components of the same picture, the bitstream and therefore the signaling cost may be reduced. Furthermore, the coding complexity may be reduced.

[0007] Thus, according to a first aspect of the present application, a block-based decoder / encoder is configured to divide a picture of multiple color components and color sampling formats into blocks using a division scheme in which the picture is divided equally for each color component, e.g., the first color component of a picture has the same sampling as all other color components of the picture, e.g., all color components of the picture have the same spatial resolution, etc. The picture may be composed of a luma component and two chroma components, e.g., in YUV, YPbPr and / or YCbCr color spaces, where the luma component and two chroma components represent multiple color components. It is also possible that, e.g., in an RGB color space, the picture may be composed of a red component, a green component and a blue component representing multiple color components. The picture is composed of, e.g., a first color component, a second color component and optionally a third color component. It is clear that the described block-based decoder / encoder can also be used for pictures containing other color components or pictures with a different number of color components. For example, a picture is divided equally for each color component by dividing the first color component into a first color component block, the second color component into a second color component block, and optionally dividing the third color component into a third color component block. The decision of whether a color component of a picture is inter-predicted, i.e., inter-coded, or intra-predicted, i.e., intra-coded, can be made at a granularity or on a color component block basis. The block-based decoder / encoder is configured to select one of a first set of intra prediction modes for each intra-predicted first color component block of a picture, i.e., for each first color component block associated with intra prediction, to encode / decode the first color component of the picture to / from a block-by-block, i.e., first color component block-by-first color component block data stream. The first color component blocks associated with inter prediction, i.e., inter-predicted first color component blocks, are treated differently.The first set of intra prediction modes includes matrix-based intra prediction modes, with each mode being predicted inside the block by deriving a sample value vector from a reference sample, neighboring inside the block, calculating a matrix-vector product between the sample value vector and a prediction matrix associated with the respective matrix-based intra prediction mode to obtain a prediction vector, and predicting samples in the block based on the prediction vector. Furthermore, the block-based decoder / encoder is configured to encode / decode a second color component of the picture on a block-by-block basis by intra predicting a given second color component block of the picture using the matrix-based intra prediction mode selected for the co-located intra predicted first color component block. The first color component of the picture may be a luma component of the picture, and the second color component of the picture may be a chroma component of the picture.

[0008] According to one embodiment, the number of components of the prediction vector is less than the number of samples inside the block, and the block-based decoder / encoder is configured to predict samples inside the block based on the prediction vector by interpolating samples based on the components of the prediction vector that are assigned to support sample positions inside the block. This is based on the idea that such a prediction vector can be obtained by reducing the total number of multiplications required for the computation of a matrix-vector product, which may reduce the complexity and signaling cost of the decoder / encoder.

[0009] According to one embodiment, the block-based decoder / encoder is configured to select one from a first option and a second option for each intra-predicted second color component block of a picture, i.e. for each second color component block associated with intra prediction. In the first option, the intra-prediction mode for each intra-predicted second color component block is derived based on the intra-prediction mode selected for the co-located intra-predicted first color component block such that the intra-prediction mode for each intra-predicted second color component block is equal to the intra-prediction mode selected for the co-located intra-predicted first color component block if the intra-prediction mode selected for the co-located intra-predicted first color component block is one of the matrix-based intra-prediction modes. In the second option, the intra-prediction mode for each intra-predicted second color component block is selected based on an intra-mode index present / signaled in the data stream for the respective intra-predicted second color component block. For example, the decoder / encoder may be configured to select the first option if direct mode or residual coding color transform mode is indicated for the intra predicted second color component block, otherwise, e.g., by selecting the second option, the mode signaled in the data stream is used for prediction of the intra predicted second color component block.

[0010] According to one embodiment, the block-based decoder / encoder is configured to select a matrix-based intra-prediction mode of the first set of intra-prediction modes according to a block dimension of the respective intra-predicted first color component block, such that the matrix-based intra-prediction mode of the first set of intra-prediction modes is a subset of matrix-based intra-prediction modes from a set of disjoint subsets of matrix-based intra-prediction modes. For example, each subset of matrix-based intra-prediction modes may be associated with a particular block dimension. For example, only the matrix-based intra-prediction modes of the selected subset are of the first set of intra-prediction modes. The first set of intra-prediction modes from which the intra-prediction mode of the respective intra-predicted first color component block is selected may be different for different block dimensions. Thus, the decoder / encoder is configured to pre-select an intra-prediction mode that may be suitable for the respective intra-predicted first color component block based on the block dimension of the intra-predicted first color component block. This may reduce the complexity of the decoder / encoder and the signaling cost.

[0011] According to one embodiment, prediction matrices associated with a set of disjoint subsets of matrix-based intra-prediction modes are machine-learned, where prediction matrices of one subset of matrix-based intra-prediction modes are of equal size, and prediction matrices of two subsets of matrix-based intra-prediction modes selected for different block sizes are of different sizes, and each subset may group multiple matrix-based intra-prediction modes associated with prediction matrices of the same dimensionality.

[0012] According to one embodiment, the block-based decoder / encoder is configured such that prediction matrices associated with matrix-based intra-prediction modes consisting of a first set of intra-prediction modes are of equal size to each other and are machine-learned.

[0013] According to one embodiment, the block-based decoder / encoder is configured such that the intra-prediction modes of the first set of intra-prediction modes other than the matrix-based intra-prediction mode of the first set of intra-prediction modes include a DC mode, a planar mode, and a directional mode. For example, the first set of intra-prediction modes includes a DC mode and / or a planar mode and / or a directional mode in addition to the matrix-based intra-prediction mode.

[0014] According to one embodiment, the block-based decoder / encoder is configured to select a partitioning scheme from a set of partitioning schemes, the set of partitioning schemes including a further partitioning scheme where the picture is partitioned for a first color component using a first partitioning information present / signaled in a data stream and a further partitioning scheme where the picture is partitioned for a second color component using a second partitioning information present / signaled in a data stream other than the first partitioning information. Thus, the set of partitioning schemes includes, for example, a partitioning scheme where the picture is partitioned equally for each color component and a further partitioning scheme where the picture is partitioned differently for the first color component than for the second color component.

[0015] According to one embodiment, the block-based decoder / encoder is configured to select one from the first and second options as described above for each intra-predicted second color component block of a picture. In the first option, the intra-prediction mode for each intra-predicted second color component block is derived based on the intra-prediction mode selected for the co-located intra-predicted first color component block such that the intra-prediction mode for each intra-predicted second color component block is equal to the intra-prediction mode selected for the co-located intra-predicted first color component block if the intra-prediction mode selected for the co-located intra-predicted first color component block is one of the matrix-based intra-prediction modes. In the second option, the intra-prediction mode for each intra-predicted second color component block is selected based on an intra-mode index present / signaled in the data stream for the respective intra-predicted second color component block. Furthermore, the block-based decoder / encoder is configured to divide into further pictures of multiple color components and color sampling formats, where each color component is evenly sampled into further blocks using a further division scheme, i.e. the further picture is divided for the first color component differently than for the second color component, e.g. as described above. The first color component of the further picture may be divided into further blocks of the first color component, and the second color component of the further picture may be divided into further blocks of the second color component. The decoder / encoder is configured to select, for example, one from a first set of intra prediction modes for each further block of the intra predicted first color component of the further picture to encode / decode the first color component of the further picture in units of further blocks. Furthermore, the decoder / encoder may be configured to select one from the first option and the second option for each further block of the intra predicted second color component of the further picture.In a first option, the intra prediction mode for each intra predicted further block of the second color component is derived based on the intra prediction mode selected for the co-located further block of the first color component such that the intra prediction mode for each intra predicted further block of the second color component is equal to the planar intra prediction mode if the intra prediction mode selected for the co-located further block of the first color component is one of the matrix-based intra prediction modes. In a second option, the intra prediction mode for each intra predicted further block of the second color component is selected based on an intra mode index present / signaled in the data stream for each intra predicted further block of the second color component. As already outlined above, the first option indicates, for example, that the prediction mode of the intra predicted second color component block is derived directly from the prediction mode of the co-located intra predicted first color component block. This derivation may depend on the partitioning scheme selected for the picture. Thus, the implementation of the first option may be different for a picture compared to a further picture. This is because the picture is divided using a division scheme in which the picture is divided evenly for each color component, a further picture is divided using a further division scheme in which the picture is divided for a first color component using first division information present / signaled in the data stream, and the picture is divided for a second color component using second division information present / signaled in a data stream separate from the first division information.

[0016] According to one embodiment, the block-based decoder / encoder is configured to select one from the first and second options as described above for each intra-predicted second color component block of a picture. In the first option, the intra-prediction mode for each intra-predicted second color component block is derived based on the intra-prediction mode selected for the co-located intra-predicted first color component block such that the intra-prediction mode for each intra-predicted second color component block is equal to the intra-prediction mode selected for the co-located intra-predicted first color component block if the intra-prediction mode selected for the co-located intra-predicted first color component block is one of the matrix-based intra-prediction modes. In the second option, the intra-prediction mode for each intra-predicted second color component block is selected based on an intra-mode index present / signaled in the data stream for the respective intra-predicted second color component block. Furthermore, the block-based decoder / encoder may be configured to partition the still further picture of multiple color components and different color sampling formats according to which the multiple color components are differently sampled and select one from the first set of intra prediction modes for each of the still further blocks of the intra predicted first color component of the still further picture to decode / encode the first other color component of the still further picture on a block-by-block basis. The block-based decoder / encoder may be configured to select one from the first option and the second option for each of the still further blocks of the intra predicted second color component of the still further picture.In a first option, the intra prediction mode for each intra predicted yet further block of the second color component is derived based on the intra prediction mode selected for the yet further block of the co-located first color component such that the intra prediction mode for each intra predicted yet further block of the second color component is equal to the planar intra prediction mode if the intra prediction mode selected for the yet further block of the co-located first color component is one of the matrix-based intra prediction modes. In a second option, the intra prediction mode for each intra predicted yet further block of the second color component is selected based on an intra mode index present / signaled in the data stream for each intra predicted yet further block of the second color component. As already outlined above, the first option indicates, for example, that the prediction mode for the intra predicted second color component block is derived directly from the prediction mode of the co-located intra predicted first color component block. This derivation may depend on the color sampling format of the picture. Thus, the implementation of the first option may be different for a picture compared to a further picture. This is because a picture may have a color sampling format in which each color component is sampled evenly, and a further picture may have a different color sampling format in which multiple color components are sampled differently.

[0017] According to one embodiment, the block-based decoder / encoder is configured to select a partitioning scheme from a set of partitioning schemes, the set of partitioning schemes including a further partitioning scheme, where the picture is partitioned for a first color component using first partitioning information in the data stream, and the picture is partitioned for a second color component using second partitioning information present / signaled in a data stream separate from the first partitioning information. The block-based decoder / encoder is configured to partition still further pictures for multiple color components using the partitioning scheme or the further partitioning scheme.

[0018] According to one embodiment, a block-based decoder / encoder is configured to select from first and second options in response to signaling present / signaled in the data stream for each intra-predicted second color component block when the residual coding color transform mode is signaled to be deactivated for each intra-predicted second color component block in the data stream, and to select by inferring that the first option would be selected if the residual coding color transform mode was signaled to be activated for each intra-predicted second color component block in the data stream.

[0019] One embodiment relates to a method for block-based decoding / encoding, comprising: dividing a picture of a multiple color component and color sampling format into blocks, where each color component is sampled equally, using a division scheme in which the picture is divided equally for each color component. The method further comprises: for each intra-predicted first color component block of the picture, deriving a sample value vector of reference samples within the block, calculating a matrix-based intra-prediction mode according to each mode in which the block interior is predicted by predicting samples within the block based on the prediction vector, and selecting one from a first set of intra-prediction modes, including a matrix-based intra-prediction mode according to each mode in which the block interior is predicted. The method further comprises: decoding / encoding a second color component of the picture on a block-by-block basis by intra-predicting a given second color component block of the picture using the matrix-based intra-prediction mode selected for the co-located intra-predicted first color component block.

[0020] The method as described above is based on the same considerations as the encoder / decoder described above, which may by the way be completed with all the features and functionality also described with respect to the encoder / decoder.

[0021] One embodiment relates to a data stream having pictures or video encoded therein using the encoding method described herein.

[0022] An embodiment relates to a computer program having a program code for performing the methods described herein, when the computer program runs on a computer.

[0023] The drawings are not necessarily to scale, emphasis instead being placed upon illustrating the principles of the invention.In the following description aspects, various embodiments of the invention are described with reference to the following drawings, in which: [Brief description of the drawings]

[0024] [Figure 1] 1 illustrates an embodiment for encoding into a data stream. [Diagram 2] 1 illustrates an embodiment of an encoder. [Diagram 3] 1 illustrates an embodiment of picture reconstruction. [Figure 4] 1 illustrates an embodiment of a decoder. [Diagram 5] 2 shows a schematic diagram of prediction of a block for encoding and / or decoding according to one embodiment; [Figure 6] 4 illustrates a matrix operation for prediction of a block for encoding and / or decoding according to one embodiment. [Figure 7.1] 1 illustrates prediction of a block with a reduced sample value vector according to one embodiment. [Figure 7.2] 4 illustrates prediction of a block using sample interpolation according to one embodiment. [Figure 7.3] 1 illustrates prediction of a block with a reduced sample value vector in which only some boundary samples are averaged, according to one embodiment. [Figure 7.4] 1 illustrates prediction of a block with a reduced sample value vector in which groups of four boundary samples are averaged, according to one embodiment. [Figure 8] 4 illustrates a matrix operation performed by an apparatus according to one embodiment. [Figure 9-1] 4 illustrates detailed matrix operations performed by an apparatus according to one embodiment. [Figure 9-2] 4 illustrates detailed matrix operations performed by an apparatus according to one embodiment. [Figure 10] 13 illustrates detailed matrix operations performed by the device using offset and scaling parameters, according to one embodiment. [Figure 11] 13 illustrates detailed matrix operations performed by the device using offset and scaling parameters, according to one embodiment. [Figure 12] 1 illustrates one embodiment of a prediction of a given second color component block of a picture. [Figure 13] 1 illustrates one embodiment of different predictions for a given second color component block of a picture. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0025] Equal or equivalent elements or elements having equal or equivalent functionality are represented in the following description by equal or equivalent reference signs, even if they occur in different figures.

[0026] In the following description, a number of details are presented to provide a more complete description of the embodiments of the present invention. However, it will be apparent to those skilled in the art that the embodiments of the present invention can be practiced without these specific details. In other instances, well-known structures and devices are shown in a non-detailed block diagram format to avoid obscuring the embodiments of the present invention. In addition, features of different embodiments described later in this specification may be combined with each other unless otherwise specified.

[0027] 1 Introduction In the following, different inventive examples, embodiments and aspects are described, at least some of which refer to methods and / or apparatuses for, among other things, video coding and / or performing block-based prediction, e.g., for video applications and / or virtual reality applications, e.g., by contiguous sample downscaling and / or using linear or affine transformations for video delivery optimization (broadcast, streaming, file playback, etc.).

[0028] Additionally, examples, embodiments, and aspects may refer to High Efficiency Video Coding (HEVC) or subsequent. Further embodiments, examples, and aspects are defined by the appended claims.

[0029] It should be noted that any embodiment, example, and aspect defined by the claims can be supplemented by any of the details (features and functions) described in the following sections.

[0030] Also, the embodiments, examples and aspects described in the following sections can be used individually or can be supplemented by any of the features of the other sections or by any of the features included in the claims.

[0031] It should also be noted that the individual examples, embodiments, and aspects described herein can be used individually or in combination, and thus details can be added to each of the individual aspects described above without adding details to another one of the examples, embodiments, and aspects described above.

[0032] It should also be noted that this disclosure explicitly or implicitly describes features of decoding and / or encoding systems and / or methods.

[0033] Moreover, the features and functions disclosed herein in relation to the method can also be used in the device. Moreover, any features and functions disclosed herein in relation to the device can also be used in the corresponding method. In other words, the method disclosed herein can be supplemented by any of the features and functions described in relation to the device.

[0034] Additionally, any of the features and functionality described herein may be implemented in hardware or software, or using both hardware and software, as described in the "Implementation Alternatives" section.

[0035] Also, some of the features highlighted in brackets (“(...)” or "[...]”) may be considered optional in some examples, embodiments, or aspects.

[0036] 2 Encoder and Decoder In the following, various examples are described that can assist in achieving more efficient compression when using block-based prediction. In some examples, high compression efficiency is achieved by using a series of intra prediction modes. The intra prediction modes may be provided in addition to other heuristically designed intra prediction modes, for example, or exclusively. Even other examples utilize both of the specialties described herein. However, as a permutation of these embodiments, intra prediction may be changed to inter prediction by using reference samples in another picture instead.

[0037] To facilitate understanding of the following examples of the present application, the description begins with the presentation of possible encoders and decoders adapted thereto, onto which the outlined examples of the present application can then be built. Figure 1 shows an apparatus for block-wise encoding a picture 10 into a data stream 12. The apparatus is indicated using the reference sign 14 and may be a still picture encoder or a video encoder. In other words, the picture 10 may be a current picture from a video 16 when the encoder 14 is configured to encode the video 16 containing the picture 10 into the data stream 12, or the encoder 14 may exclusively encode the picture 10 into the data stream 12.

[0038] As mentioned above, the encoder 14 performs the encoding in a block-wise or block-based manner. For this purpose, the encoder 14 subdivides the picture 10 into blocks, which are the units in which the encoder 14 encodes the picture 10 into the data stream 12. Examples of possible subdivisions of the picture 10 into blocks 18 are given in more detail below. In general, the subdivision may end up in blocks 18 of a fixed size, such as an array of blocks arranged in rows and columns, or blocks 18 of different block sizes, such as by using a hierarchical multi-tree subdivision by starting from the entire picture area of ​​the picture 10 or from a pre-partitioning of the picture 10 into an array of tree blocks, and these examples should not be considered as excluding other possible ways of subdividing the picture 10 into blocks 18.

[0039] Furthermore, the encoder 14 is a predictive encoder configured to predictively code the picture 10 into the data stream 12. For a particular block 18, this means that the encoder 14 determines a prediction signal for the block 18 and codes into the data stream 12 the prediction residual, i.e. the prediction error, which is the deviation of the prediction signal from the actual picture content in the block 18.

[0040] The encoder 14 may support different prediction modes to derive a prediction signal for a particular block 18. The prediction mode that is of interest in the following example is the intra prediction mode, according to which the interior of the block 18 is spatially predicted from neighboring already coded samples of the picture 10. The coding of the picture 10 into the data stream 12, and the corresponding decoding procedure accordingly, may be based on a particular coding order 20 defined among the blocks 18. For example, the coding order 20 may traverse the blocks 18 in a raster scan order, such as from top to bottom row by row, while traversing each row from left to right. In case of a hierarchical multi-tree based subdivision, a raster scan ordering may be applied within each hierarchical level, or a depth-first traversal order may be applied, i.e. leaf nodes in a block of a particular hierarchical level may precede blocks of the same hierarchical level with the same parent block, according to the coding order 20. Depending on the coding order 20, the neighboring already coded samples of the block 18 may be typically located on one or more edges of the block 18. In the example presented here, for example, the neighboring already coded samples of block 18 are located above and to the left of block 18 .

[0041] The intra-prediction mode need not be the only mode supported by the encoder 14. If the encoder 14 is, for example, a video encoder, the encoder 14 may also support an inter-prediction mode in which the block 18 is temporally predicted from a previously encoded picture of the video 16. Such an inter-prediction mode may be a motion-compensated prediction mode in which a motion vector is signaled for such block 18 indicating the relative spatial offset of the portion from which the prediction signal of the block 18 is to be derived as a replica. Additionally or alternatively, other non-intra-prediction modes may also be available, such as the inter-prediction mode in case the encoder 14 is a multiview encoder, or a non-predictive mode in which the interior of the block 18 is coded as is, i.e., without any prediction.

[0042] Before beginning the description of the present application by focusing on intra-prediction modes, we will describe a more specific example of a possible block-based encoder, i.e., a possible implementation of encoder 14 as described with respect to FIG. 2 and then present two corresponding examples of decoders compatible with FIGS. 1 and 2, respectively.

[0043] Fig. 2 shows a possible implementation of the encoder 14 of Fig. 1, i.e. an implementation in which the encoder is configured to use transform coding to code the prediction residual, but this is mostly an example and the application is not limited to the classification of prediction residual coding. According to Fig. 2, the encoder 14 includes a subtractor 22 configured to subtract a corresponding prediction signal 24 from an inbound signal, i.e. a picture 10, or, on a block basis, a current block 18, in order to obtain a prediction residual signal 26 to be coded into the data stream 12 by a prediction residual encoder 28. The prediction residual encoder 28 consists of a lossy coding stage 28a and a lossless coding stage 28b. The lossy stage 28a includes a quantizer 30 that receives the prediction residual signal 26 and quantizes the samples of the prediction residual signal 26. As already mentioned above, this embodiment uses a transform coding of the prediction residual signal 26, according to which the lossy coding stage 28a comprises a transformation stage 32 connected between the subtractor 22 and the quantizer 30, so as to transform such a spectrally decomposed prediction residual 26 by a quantization of the quantizer 30 performed on the transformed coefficients representing the residual signal 26. The transformation may be a DCT, a DST, an FFT, a Hadamard transform, etc. The transformed and quantized prediction residual signal 34 is then subjected to a lossless coding by a lossless coding stage 28b, which is an entropy coder that entropy codes the quantized prediction residual signal 34 into the data stream 12. The encoder 14 further comprises a prediction residual signal reconstruction stage 36 connected to the output of the quantizer 30, so as to reconstruct the prediction residual signal from the transformed and quantized prediction residual signal 34 in a way that is also available to the decoder, i.e. taking into account the coding losses in the quantizer 30. To this end, the prediction residual reconstruction stage 36 includes a dequantizer 38 that performs the inverse of the quantization of the quantizer 30, followed by an inverse transformer 40 that performs an inverse transformation to the transformation performed by the transformer 32, such as the inverse of a spectral decomposition, such as the inverse for any of the specific transformation examples mentioned above. The encoder 14 includes an adder 42 that adds the reconstructed prediction residual signal as output by the inverse transformer 40 and the prediction signal 24 to output a reconstructed signal, i.e., reconstructed samples.This output is fed to a predictor 44 of the encoder 14, which then determines the prediction signal 24 based thereon, that is a predictor 44 supporting all prediction modes already discussed above with respect to Fig. 1. Fig. 2 also illustrates that, if the encoder 14 is a video encoder, the encoder 14 may also include an in-loop filter 46 that filters the fully reconstructed picture that, after being filtered, forms the reference picture for the predictor 44 for the inter-predicted blocks.

[0044] As already mentioned above, the encoder 14 operates on a block basis. For the purposes of the ensuing description, the block-based operation of interest is an operation of subdividing the picture 10 into blocks, in which an intra prediction mode is selected from a set of intra prediction modes or a plurality of intra prediction modes supported by the predictor 44 or the encoder 14, respectively, and the selected intra prediction mode is executed individually. However, there may also be other classifications of blocks into which the picture 10 is subdivided. For example, the above-mentioned decision of whether the picture 10 is inter-coded or intra-coded may be made at a granularity or unit of blocks deviating from the block 18. For example, the inter / intra mode decision may be performed at the level of the coding blocks into which the picture 10 is subdivided, and each coding block is subdivided into prediction blocks. Each prediction block from coding a block for which it has been determined that intra prediction is used is subdivided into an intra prediction mode decision. For this purpose, for each of those prediction blocks, a decision is made as to which supported intra prediction mode should be used for the respective prediction block. These predictive blocks form the block 18, which is the block of interest here. Predictive blocks in coding blocks associated with inter prediction are treated differently by the predictor 44. They are inter predicted from the reference picture by determining a motion vector and duplicating the prediction signal for this block from the position in the reference picture pointed to by the motion vector. Another block subdivision relates to subdivision into transform blocks in the units where the transformation by the transformer 32 and the inverse transformer 40 is performed. The transformed blocks may be, for example, the result of further subdivision of the coding block. In nature, the examples shown here should not be treated as limiting and other examples may exist. For completeness only, it is noted that the subdivision into coding blocks may use, for example, multi-tree subdivision, and that prediction blocks and / or transform blocks can also be obtained by further subdividing the coding block using multi-tree subdivision.

[0045] A decoder 54 or device for block-wise decoding that matches the encoder 14 of FIG. 1 is described in FIG. 3. This decoder 54 does the opposite of the encoder 14, i.e. it decodes the picture 10 from the data stream 12 in a block-wise manner and for this purpose supports multiple intra-prediction modes. The decoder 54 may, for example, include a residual provider 156. All other possibilities discussed above with respect to FIG. 1 are also valid for the decoder 54. To this end, the decoder 54 may be a still picture decoder or a video decoder, with all prediction modes and predictability being supported by the decoder 54 as well. The difference between the encoder 14 and the decoder 54 exists mainly in the fact that the encoder 14 chooses or selects the coding decision according to some optimization, for example to minimize some cost function that may depend on the coding rate and / or the coding distortion. One of those coding options or coding parameters may involve the selection of the intra-prediction mode to be used for the current block 18 among the available or supported intra-prediction modes. The selected intra-prediction mode may then be signaled by the encoder 14 of the current block 18 in the data stream 12, with the decoder 54 re-performing the selection using this signaling in the data stream 12 of the block 18. Similarly, the subdivision of the picture 10 into blocks 18 may be the subject of optimization in the encoder 14, and the corresponding subdivision information may be conveyed in the data stream 12 by the decoder 54, which recovers the subdivision of the picture 10 into blocks 18 based on the subdivision information. To summarize the above, the decoder 54 may be a predictive decoder that operates on a block basis and in addition to the intra-prediction mode, the decoder 54 may support other prediction modes, such as, for example, inter-prediction modes, if the decoder 54 is a video decoder. When decoding, the decoder 54 may also use the coding order 20 discussed with respect to FIG. 1, which is adhered to in both the encoder 14 and the decoder 54, so that the same neighboring samples are available for the current block 18 in both the encoder 14 and the decoder 54.Therefore, the description of the modes of operation of the encoder 14, as far as it relates to the subdivision of the picture 10 into blocks, for example as far as it relates to the prediction and as far as it relates to the coding of the prediction residuals, in order to avoid unnecessary repetitions, may also be applied to the decoder 54. The difference lies in the fact that the encoder 14 chooses, by optimization, some coding options or coding parameters and then signals in or inserts into the data stream 12 the coding parameters derived from the data stream 12 by the decoder 54, in order to perform the prediction, subdivision, etc. again.

[0046] Figure 4 shows a possible implementation of the decoder 54 of Figure 3, i.e. an adaptation to the implementation of the encoder 14 of Figure 1 as shown in Figure 2. Since many elements of the encoder 54 of Figure 4 are identical to those performed in the corresponding encoder of Figure 2, the same reference numbers with apostrophes are used in Figure 4 to indicate those elements. In particular, the adder 42', the optional in-loop filter 46' and the predictor 44' are connected in the prediction loop in the same way as they are in the encoder of Figure 2. The reconstructed, i.e. quantized and retransformed prediction residual signal applied to the adder 42' is derived by a succession of an entropy decoder 56, which reverses the entropy coding of the entropy encoder 28b, followed by a residual signal reconstruction stage 36' consisting of a dequantizer 38' and an inverse transformer 40', just as in the case of the encoding side. The output of the decoder is a reconstruction of the picture 10. The reconstruction of picture 10 may be available directly at the output of adder 42' or alternatively at the output of in-loop filter 46'. To improve the picture quality, some post-filters may be arranged at the output of the decoder to subject the reconstruction of picture 10 to some post-filtering, but this option is not described in FIG.

[0047] Again, with respect to Figure 4, the explanations brought out above with respect to Figure 2 should also be valid for Figure 4, except that the encoder only performs optimization tasks and related decisions with respect to coding options. However, all the explanations regarding block subdivision, prediction, dequantization, and retransformation are also valid for the decoder 54 of Figure 4.

[0048] 3. ALWIP (Affine Linear Weighted Intra Predictor) Although ALWIP is not always necessary to implement the techniques discussed herein, some non-limiting examples of ALWIP are discussed herein.

[0049] This application relates, inter alia, to the concept of improved block-based prediction modes for block-wise picture coding usable in video codecs such as HEVC or successors of HEVC. The prediction modes may be intra-prediction modes, but in theory the concepts described herein can also be transferred to inter-prediction modes where the reference samples are part of another picture.

[0050] A block-based prediction concept is required that allows for efficient implementation, including hardware-friendly implementation.

[0051] This object is achieved by the subject matter of the independent claims of the present application.

[0052] Intra prediction modes are widely used in picture and video coding. In video coding, intra prediction modes compete with other prediction modes, such as inter prediction modes, such as motion compensation prediction modes. In intra prediction modes, the current block is predicted based on neighboring samples, i.e., samples that have already been coded as far as the encoder side is concerned, and samples that have already been decoded as far as the decoder side is concerned. The prediction residual is sent in the data stream of the current block, and the neighboring sample values ​​are extrapolated to the current block to form a prediction signal for the current block. The better the prediction signal, the lower the prediction residual, and therefore the fewer bits are required to code the prediction residual.

[0053] To be effective, several aspects need to be taken into account in order to form an effective framework for intra prediction in a block-wise picture coding environment. For example, the more intra prediction modes a codec supports, the higher the side information rate consumption for informing the decoder of the selection. On the other hand, the set of supported intra prediction modes must be able to provide a good prediction signal, i.e. a prediction signal that results in a low prediction residual.

[0054] In the following, as a comparative embodiment or basic example, a device (encoder or decoder) for block-wise decoding of a picture from a data stream is disclosed, which supports at least one intra prediction mode in which a prediction signal for a block of a given size of the picture is determined by applying a first template of neighboring samples to the current block and then to an affine linear predictor, called the Affine Linear Weighted Intra Predictor (ALWIP).

[0055] The apparatus may have at least one of the following characteristics (the same may apply to a method or another technology, e.g., implemented in a non-transitory storage unit that stores instructions, which when executed by a processor, cause the processor to perform the method and / or act as an apparatus, etc.).

[0056] 3.1 Predictors may complement other predictors. The intra prediction modes, which may form the subject of implementation improvements described further below, may be complementary to other intra prediction modes of the codec. They may thus complement the DC, planar or angular prediction modes defined in the HEVC codec, respectively, and in the JEM reference software. The latter three types of intra prediction modes will be referred to hereafter as traditional intra prediction modes. Therefore, for a given block of intra modes, a flag needs to be analyzed by the decoder indicating whether one of the intra prediction modes supported by the device is used or not.

[0057] 3.2 Multiple Proposed Prediction Modes A device can contain multiple ALWIP modes, so if the decoder knows that one of the ALWIP modes supported by the device will be used, the decoder needs to parse additional information that indicates which of the ALWIP modes supported by the device will be used.

[0058] The signaling of supported modes may have the property that some ALWIP modes require fewer bins for encoding than other ALWIP modes. Which of these modes require fewer bins and which require more bins may depend on information that can be extracted from the already decoded bitstream or on information that can be pre-fixed.

[0059] 4. Some Aspects 2 shows a decoder 54 for decoding a picture from data stream 12. Decoder 54 may be configured to decode a given block 18 of the picture. In particular, predictor 44 may be configured to map a set of P neighboring samples that neighbor the given block 18 to a set of Q prediction values ​​for the samples of the given block using a linear or affine linear transformation (e.g., ALWIP).

[0060] As shown in FIG. 5, a given block 18 contains Q values ​​to be predicted (which will be the "predicted values" at the end of the operation). If the block 18 has M rows and N columns, then Q=M·N. The Q values ​​of the block 18 may be in the spatial domain (e.g. pixels) or in the transform domain (e.g. DCT, discrete wavelet transform, etc.). The Q values ​​of the block 18 may be predicted based on P values ​​obtained from neighboring blocks 17a-17c, which are generally adjacent to the block 18. The P values ​​of the neighboring blocks 17a-17c may be located closest to (e.g. adjacent to) the block 18. The P values ​​of the neighboring blocks 17a-17c have already been processed and predicted. The P values ​​are denoted as values ​​of parts 17'a-17'c to distinguish them from the block of which they are a part (in some examples, 17'b is not used).

[0061] As shown in Fig. 6, to perform the prediction, it is possible to operate with a first vector 17P having P entries (each entry is associated with a specific position in the neighboring portions 17'a to 17'c), a second vector 18Q having Q entries (each entry is associated with a specific position in the block 18), and a mapping matrix 17M (each row is associated with a specific position in the block 18 and each column is associated with a specific position in the neighboring portions 17'a to 17'c). The mapping matrix 17M thus performs a prediction of the P values ​​of the neighboring portions 17'a to 17'c to the values ​​of the block 18 according to a predefined mode. The entries in the mapping matrix 17M can therefore be understood as weighting coefficients. In the following text, the symbols 17a to 17c are used instead of 17'a to 17'c to refer to the neighboring portions of the boundary.

[0062] Several conventional modes are known in the art, such as DC mode, planar mode, and 65 directional projection modes. For example, 67 modes may be known.

[0063] However, it has been noted that it is also possible to use different modes, referred to here as linear or affine-linear transformations. A linear or affine-linear transformation includes P·Q weighting coefficients, of which at least ¼P·Q weighting coefficients are non-zero weight values, and for each of the Q predictors includes a sequence of P weighting coefficients associated with the respective predictor. When the sequence is arranged one above the other in raster scan order among the samples of a given block, it forms an envelope that is non-linear in all directions.

[0064] It is possible to map P positions of the neighboring values ​​17'a to 17'c (templates), Q positions of the neighboring samples 17'a to 17'c, and P*Q weighting factors of the matrix 17M. The plane is an example of the envelope of the sequence for the DC transformation (plane for the DC transformation). The envelope is obviously plane, so it is excluded by the definition of linear or affine linear transformation (ALWIP). Another example is a matrix that results in the emulation of an angular mode, whose envelope is excluded from the definition of ALWIP and, in plain terms, looks like a hill that runs diagonally from top to bottom along a direction in the P / Q plane. The planar mode and the 65 directional prediction modes have different envelopes, but the envelope is linear in at least one direction, i.e., in all directions for the exemplified DC, e.g., in the hill direction for the angular modes.

[0065] Conversely, the envelope of a linear or affine transform is not linear in all directions. It is understood that such types of transforms may in some circumstances be optimal for performing predictions for block 18. Note that it is preferable that at least ¼ of the weighting coefficients are different from 0 (i.e., at least 25% of the P*Q weighting coefficients are different from 0).

[0066] The weighting factors may be unrelated to one another, according to normal mapping rules. Thus, the matrix 17M may be such that the values ​​of its entries have no obvious discernible relationship. For example, the weighting factors cannot be described by any analytical or differential function.

[0067] In the example, the ALWIP transformation is such that the average of the maximum values ​​of the cross-correlation between a first set of weighting coefficients associated with each predictor and a second set of weighting coefficients associated with predictors other than the respective predictor, or an inverted version of the latter set, may lead to a higher maximum value or may be lower than a given threshold (e.g., 0.2 or 0.3 or 0.35 or 0.1, e.g., a threshold in the range 0.05 to 0.035). For example, the combination of the rows of the ALWIP matrix 17M (i 1 ,i 2 ), for each i 1 The P value in the row is i 2 The cross-correlation can be calculated by multiplying the P values ​​in the th row. For each cross-correlation obtained, the maximum value can be obtained. Thus, the average (mean) can be obtained for the entire matrix 17M (i.e., the maximum value of the cross-correlation in all combinations is averaged). The threshold can then be, for example, 0.2 or 0.3 or 0.35 or 0.1, for example, a threshold in the range of 0.05 to 0.035.

[0068] The P adjacent samples of blocks 17a-17c may lie along a one-dimensional path that extends along the boundaries (e.g., 18c, 18a) of a given block 18. For each of the Q predicted values ​​of a given block 18, the set of P weighting factors associated with each predicted value may be ordered to traverse the one-dimensional path in a predetermined direction (e.g., from left to right, from top to bottom, etc.).

[0069] In the example, the ALWIP matrix 17M may be non-diagonal or non-block diagonal.

[0070] An example of an ALWIP matrix 17M for predicting a 4x4 block 18 from four adjacent samples that have already been predicted may 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}, {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} }.

[0071] (where {37, 59, 77, 28} is the first row, {32, 92, 85, 25} is the second row, {61, 32, 54, 100} is the 16th row of matrix 17M). Matrix 17M has dimensions 16x4 and contains 64 weighting coefficients (as a result of 16*4=64). This is because matrix 17M has dimensions QxP, where Q=M*N is the number of samples of block 18 to be predicted (block 18 is a 4x4 block) and P is the number of samples of the already predicted samples. Here, M=4, N=4, Q=16 (as a result of M*N=4*4=16) and P=4. The matrix is ​​non-diagonal and non-block diagonal and is not described by any particular rule.

[0072] As can be seen, less than a quarter of the weighting factors are zero (in the above matrix, 1 out of 64 weighting factors is zero). The envelope formed by these values, when placed one above the other in raster scan order, forms a non-linear envelope in all directions.

[0073] Although the above description has been primarily discussed with reference to a decoder (eg, decoder 54), the same may be implemented in an encoder (eg, encoder 14).

[0074] In some examples, for each block size (within the set of block sizes), the ALWIP transforms of the intra prediction modes in the second set of intra prediction modes for the respective block sizes are different from each other. Additionally or alternatively, the cardinality of the second set of intra prediction modes for block sizes in the set of block sizes can match, but the associated linear or affine-linear transforms of the intra prediction modes in the second set of intra prediction modes for different block sizes can be made non-exchangeable with each other by scaling.

[0075] In some examples, an ALWIP transformation may be defined to have "nothing in common" with a conventional transformation (e.g., an ALWIP transformation may have "nothing in common" with a corresponding conventional transformation even if it is mapped via one of the mappings above).

[0076] In some examples, the ALWIP mode is used for both the luma and chroma components, while in other examples, the ALWIP mode is used for the luma component but not for the chroma component.

[0077] 5 Affine linear weighted intra prediction mode with encoder acceleration (e.g. test CE3-1.2.1)

[0078] 5.1 Description of the method or apparatus The Affine Linear Weighted Intra Prediction (ALWIP) mode tested in CE3-1.2.1 may be the same as that proposed in JVET-L0199 under test CE3-2.2.2, except for the following changes:

[0079] · Multiple Reference Line (MRL) intra prediction, especially the alignment of encoder estimation and signaling, i.e. MRL is not combined with ALWIP and transmission of MRL indices is restricted to non-ALWIP blocks.

[0080] Subsampling is now mandatory for all blocks W×H ≥ 32×32 (previously it was optional for 32×32). Therefore the extra test in the encoder and the signalling of the subsampling flag have been removed.

[0081] ALWIP for 64×N and N×64 blocks (N≦32) has been added by downsampling to 32×N and N×32 respectively and applying the corresponding ALWIP mode.

[0082] Additionally, test CE3-1.2.1 includes the following encoder-optimizations for ALWIP:

[0083] Combined mode estimation: Conventional and ALWIP modes use a shared Hadamard candidate list for complete RD estimation, i.e., ALWIP mode candidates are added to the same list as conventional (and MRL) mode candidates based on their Hadamard cost.

[0084] EMT Intrafast and PB Intrafast are supported in the combined mode list, with additional optimizations to reduce the number of full RD checks.

[0085] Only the MPMs of the available left and top blocks are added to the list for the complete RD estimation of ALWIP, following the same approach as in the conventional mode.

[0086] 5.2 Complexity Assessment In test CE3-1.2.1, a maximum of 12 multiplications per sample were required to generate the predicted signal, excluding calculations involving the discrete cosine transform. In addition, a total of 136492 parameters of 16 bits each were required. This corresponds to 0.273 MB of memory.

[0087] 5.3 Experimental results The test evaluation was performed according to the common test conditions JVET-J1010[2] for Intra-only (AI) and Random Access (RA) configurations using VTM software version 3.0.1. The corresponding simulations were performed on an Intel Xeon cluster (E5-2697Av4, AVX2 on, Turbo Boost off) with Linux OS and GCC7.2.1 compiler.

[0088] [Table 1] [Table 2]

[0089] 5.4 Affine Linear Weighted Intra Prediction with Complexity Reduction (e.g., test CE3-1.2.2) The technique tested in CE2 is related to the "affine linear intra prediction" described in JVET-L0199 [1], but simplifies it in terms of memory requirements and computational complexity as follows:

[0090] There can be only three different sets of prediction matrices (e.g. S0, S1, S2, see also below) and bias vectors (e.g. to provide offset values) that cover all block shapes. As a result, the number of parameters is reduced to 14400 10-bit values, which is less memory than would be stored in a 128x128 CTU.

[0091] The input and output sizes of the predictor are further reduced. Furthermore, instead of transforming the boundaries through a DCT, averaging or downsampling can be performed on the boundary samples, and the generation of the predicted signal can use linear interpolation instead of an inverse DCT. Thus, generating the predicted signal may require up to four multiplications per sample.

[0092] 6. Examples Here we describe how to perform several predictions (e.g., as shown in Figure 6) using ALWIP prediction.

[0093] In principle, referring to Figure 6, multiplications of Q*P samples of the QxP ALWIP prediction matrix 17M with P samples of the Px1 neighboring vector 17P should be performed to obtain Q=M*N values ​​of the predicted MxN block 18. Thus, in general, at least P=M+N value multiplications are required to obtain each of the Q=M*N values ​​of the predicted MxN block 18.

[0094] These multiplications have very 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 (for example close by) to the predicted M×N block 18. This means that if the size of the predicted block 18 is large, the number M+N of boundary pixels (17a, 17c) is correspondingly large, and therefore the dimension P=M+N of the Px1 boundary vector, the length of each column of the Q×P ALWIP prediction matrix 17M, and thus the number of multiplications required (generally Q=M*N=W*H, where W (width) is another symbol for N, H (height) is another symbol for M, and P=M+N=H+W if the boundary vector is formed by only one row and / or one column of samples) is large.

[0095] This problem is generally exacerbated by the fact that in microprocessor-based systems (or other digital processing systems), multiplication is generally a power-consuming operation. It can be imagined that a large number of multiplications carried out on a large number of samples of a large number of blocks causes a waste of computing power, which is generally undesirable.

[0096] It is therefore desirable to reduce the number of multiplications Q*P required to predict an MxN block 18 .

[0097] It is understood that by intelligently selecting an operation that is easier to process instead of multiplication, the computational power required for each intra prediction of each predicted block 18 can be reduced in some way.

[0098] In particular, referring to FIGS. 7.1-7.4, an encoder or decoder can use a plurality of adjacent samples (e.g., 17a, 17c) to (e.g., at step 811), (e.g., by averaging or downsampling), reduce a plurality of adjacent samples (e.g., 17a, 17c) to obtain a set of reduced sample values with a lower number of samples compared to the plurality of adjacent samples, and then (e.g., at step 812) subject the reduced set of sample values to a linear transformation or an affine linear transformation to obtain a predicted value of a predetermined sample of a predetermined block, thereby predicting a predetermined block (e.g., 18) of a picture.

[0099] In some cases, the decoder or encoder can also derive a predicted value of a further sample of a predetermined block based on a predetermined sample and predicted values of a plurality of adjacent samples, for example, by interpolation. Thus, an upsampling strategy can be obtained.

[0100] In the example, it is possible to perform some averaging on the samples at the boundary 17 to reach a reduced set 102 of samples with a reduced number of samples (FIGS. 7.1-7.4) (e.g., at step 811) (at least one of the samples of the reduced number of samples 102 can be the average of two samples of the original boundary samples or a selection of the original boundary samples). For example, if the original boundary has samples of P = M + N, the reduced set of samples can have P red <such that P red <is at least one of M red <and N, P red = M red + N red Thus, the boundary vector 17P actually used for prediction (e.g., at step 812b) does not have a Px1 entry, Pred <P, which is P red has x1 entries. Similarly, the ALWIP prediction matrix 17M selected for prediction does not have a QxP dimension and has at least P red <P(M red <M and N red <for at least one of N) the number of elements of the matrix is reduced to QxP red (or Q red xP red ; see below).

[0101] In some examples (e.g., Figures 7.2, 7.3), the block obtained by ALWIP (at step 812) is

Number

Number

Number

Number

Number

Number

[0102] These techniques reduce the number of multiplications required for matrix multiplication (Q red *P red or Q*P red ), it may be advantageous because both the initial reduction (e.g., averaging or downsampling) and the final transformation (e.g., interpolation) may be performed by reducing (or avoiding) multiplications. For example, downsampling, averaging and / or interpolation may be performed (e.g., in steps 811 and / or 813) by employing binary operations that do not require computational power, such as additions and shifts.

[0103] Also, addition is a very simple operation that can be easily performed without much computational effort.

[0104] This shifting operation can be used, for example, for averaging two boundary samples and / or for interpolating two samples (support values) of the downscaled prediction block (or taken from the boundary) to obtain the final prediction block. (Two sample values ​​are needed for the interpolation: there are always two predefined values ​​in a block, but to interpolate samples along the left and top boundaries of a block, as in Figure 7.2, there is only one predefined value, so the boundary sample is used as the support value for the interpolation.)

[0105] A two-step procedure may be used: First, the values ​​of the two samples are summed. The sum is then halved (eg, by shifting it to the right).

[0106] Alternatively, the following is possible: First, each of the samples is halved (eg, by left shifting). Next, sum the values of the two half samples.

[0107] Since it is only necessary to select one sample amount for a group of samples (e.g., adjacent samples to each other), simpler operations can be performed when downsampling (e.g., in step 811).

[0108] Therefore, it is possible to define techniques (s) for reducing the number of multiplications performed here. Some of these techniques may be based, among other things, on at least one of the following principles. Even if the actually predicted size of block 18 is MxN, the block is reduced (in at least one of the two dimensions) to a reduced size Q red xP red having an ALWIP matrix (

Number

Number

Number

number

number

number

[0109] According to the example shown in Fig. 7.1, a 4x4 block 18 (M=4, N=4, Q=M*N=16) is predicted, and the neighbors 17 of samples 17a (vertical matrix with 4 predicted samples) and 17c (horizontal row with 4 predicted samples) have already been predicted in the previous iteration (neighbors 17a and 17c may be collectively denoted by 17). A priori, by using the formulas shown in Fig. 5, the prediction matrix 17M should be a QxP=16x8 matrix (because Q=M*N=4*4 and P=M+N=4+4=8) and the boundary vector 17P should have dimensions 8x1 (because P=8). However, this would result in the need to perform 8 multiplications for each of the 16 samples of the 4x4 block 18 being predicted, leading to a total of 16*8=128 multiplications (note that the average number of multiplications per sample is a good estimate of the computational complexity; traditional intra prediction requires 4 multiplications per sample, which increases the associated computational effort. It is therefore possible to use this as an upper bound for ALWIP, ensuring that the complexity is reasonable and does not exceed that of traditional intra prediction).

[0110] Nevertheless, by using this technique, in step 811, the number of adjacent samples 17a and 17c of the predicted block 18 is reduced from P redIt is understood that it is possible to reduce to . In particular, it is possible to average adjacent boundary samples (17a, 17c) (e.g., at 100 in FIG. 7.1) to obtain a reduced boundary 102 having two horizontal rows and two vertical columns. Thus, it is understood that the operation as block 18 is a 2x2 block (the reduced boundary is formed by the average value). Alternatively, it is possible to perform downsampling. Thus, two samples are selected for row 17c and two samples are selected for column 17a. Thus, the horizontal row 17c is processed as having two samples (e.g., averaged samples) instead of having four original samples, and the vertical column 17a, which originally had four samples, is processed as having two samples (e.g., averaged samples). After subdividing row 17c and column 17a into groups 110 of two samples each, it can also be understood that one single sample is maintained (e.g., the average of the samples in group 110 or a simple selection between the samples of group 110). Thus, a so-called reduced set 102 of sample values is obtained by a set 102 having only four samples (M red =2, N red =2, P red =M red +N red =4, P red <P).

[0111] It is understood that operations (such as averaging or downsampling 100) can be performed without performing too many multiplications at the processor level. The averaging or downsampling 100 performed in step 811 can be easily obtained by simple and non-power-consuming operations such as addition and shift.

[0112] At this point, it is understood that the reduced set of sample values ​​102 can be subjected to a linear or affine-linear (ALWIP) transform 19 (e.g., using a predictor matrix such as matrix 17M of FIG. 5 ). In this case, the ALWIP transform 19 directly maps the four samples 102 to sample values ​​104 of block 18. In this case, no interpolation is required.

[0113] In this case, the dimension of the ALWIP matrix 17M is QxP red =16x4, which follows from the fact that all Q=16 samples of the predicted block 18 are obtained directly by ALWIP multiplication (no interpolation is required).

[0114] Therefore, in step 812a, the dimension Q×P red A suitable ALWIP matrix 17M is selected having A. The selection may be based, for example, at least in part, on signaling from the data stream 12. The selected ALWIP matrix 17M may have A k where k can be understood as an index that can be signaled in the data stream 12 (in some cases, the matrix can be

number

[0115] In step 812b, the selected QxP red ALWIP matrix 17M(A k (also denoted as Pred A multiplication is performed between the x1 boundary vector 17P.

[0116] In step 812c, an offset value (e.g., b k ) may be added to all the acquired values ​​104 of the vector 18Q acquired by ALWIP, for example. k Or in some cases

number

[0117] Therefore, the comparison with and without the present technique is now resumed. Without this technology, A block to be predicted 18, having dimensions M=4, N=4; Q=M*N=4*4=16 values ​​to predict, P=M+N=4+4=8 boundary samples, P=8 multiplications of each of the Q=16 values ​​to be predicted, P*Q=8*16=128 total multiplications, With this technology, A block to be predicted 18, having dimensions M=4, N=4; Finally, Q = M*N = 4*4 = 16 values ​​to be predicted. Reduced dimension of boundary vector: P red =M red +N red =2+2=4; For each of the Q=16 values ​​to be predicted by ALWIP, red = 4 multiplications, P red *Q=4*16=64 total multiplications (half of 128!) The ratio between the number of multiplications and the number of final values ​​obtained is P red*Q / Q=4, i.e. half the P=8 multiplications for each sample to be predicted!

[0118] As can be seen, it is possible to obtain suitable values ​​in step 812 by relying on easy and computationally low power operations such as averaging (possibly with addition and / or shifting and / or downsampling).

[0119] Referring to Figure 7.2, the block 18 to be predicted is here an 8x8 block (M=8, N=8) of 64 samples. Now, a priori, the prediction matrix 17M must have a size of QxP=64x16 (Q=M*N=8*8=64, Q=64 because M=8 and N=8 and P=M+N=8+8=16). Thus, a priori, P=16 multiplications will be required for each of the Q=64 samples of the 8x8 block 18 to be predicted, arriving at 64*16=1024k multiplications for the whole 8x8 block 18!

[0120] However, as can be seen in Figure 7.2, instead of using all 16 samples of the boundary, a method 820 can be provided in which only 8 values ​​are used (e.g. 4 in the horizontal boundary row 17c and 4 in the vertical boundary column 17a between the original samples of the boundary). From the boundary row 17c, 4 samples can be used instead of 8 (e.g. they can be a 2x2 average and / or a 1 out of 2 sample selection). Thus, the boundary vector is not a Px1 = 16x1 vector, but a P red x1=8x1 vector only (P red =M red +N red =4+4). Instead of the original P=16 samples, P red It is understood that it is possible to select or average (for example two by two) the samples of the horizontal row 17c and the samples of the vertical column 17a so as to have only Q = 8 boundary values, forming a reduced set 102 of sample values. This reduced set 102 makes it possible to obtain a reduced version of the block 18, which is Qred =M red *N red = 4*4 = 16 samples (instead of Q = M * N = 8 * 8 = 64). red xN red It is possible to apply the ALWIP matrix to predict a block with θ = 4x4. The reduced version of block 18 includes the samples shown in grey in scheme 106 of FIG. 7.2. The samples shown in grey boxes (including samples 118' and 118") are the Q obtained in step 812 of interest. red = 16 values, which is obtained by applying the linear transformation 19 in object step 812. After obtaining the values ​​of the 4x4 reduced block, it is possible to obtain the values ​​of the remaining samples (shown as white samples in scheme 106), for example by interpolation.

[0121] As with method 810 in Figure 7.1, this method 820 uses the remaining QQ of the MxN=8x8 block 18 to be predicted. red It may further include a step 813 of deriving predicted values ​​for the remaining QQ = 64 - 16 = 48 samples (white boxes), for example by interpolation. red = 64 - 16 = 48 samples are obtained directly by interpolation (for example, the values ​​of the boundary samples can also be used in the interpolation) red = 16 samples. As can be seen in FIG. 7.2, samples 118' and 118'' are obtained in step 812 (as shown by the grey boxes), while sample 108' (which is intermediate between samples 118' and 118'' and shown by the white box) is obtained in step 813 by interpolation between samples 118' and 118''. It is understood that the interpolation can also be obtained by operations similar to those for averaging, such as shifting and adding. Thus, in FIG. 7.2, value 108' can generally be determined as a value intermediate between the values ​​of samples 118' and 118'' (which can be the average).

[0122] By performing interpolation, in step 813, it is also possible to reach the final version of the MxN = 8x8 block 18 based on the plurality of sample values shown in 104.

[0123] Therefore, a comparison between using and not using this technology is Without this technology, The prediction target block 18 having dimensions M = 8, N = 8 and Q = M * N = 8 * 8 = 64 samples within the prediction target block 18, 16 samples of P = M + N = 8 + 8 = 16 within the boundary 17, 16 multiplications for each of the Q = 64 values to be predicted, Total number of P * Q = 16 * 64 = 1028 multiplications The ratio of the number of multiplications to the number of final values obtained is P * Q / Q = 16. With this technology, The prediction target block 18 having dimensions M = 8, N = 8 The last Q = M * N = 8 * 8 = 64 values to be predicted. However, the Q used red xP red The ALWIP matrix has P red = M red + N red , Q red = M red * N red , M red = 4, N red = 4, and P red < P within the boundary, where P red = M red + N red = 4 + 4 = 8 samples, Q of the 4x4 reduced block to be predicted red For each of the 16 values, P red = 8 multiplications (formed by the gray squares in scheme 106), P red * Q red = 8 * 16 = 128 total multiplications (much less than 1024!) The ratio of the number of multiplications to the number of final values obtained is P red * Qred / Q = 128 / 64 = 2 (much less than 16 obtained without this technology!)

[0124] Therefore, the technology presented here requires 8 times less power than the previous one.

[0125] Figure 7.3 shows another example where the block 18 to be predicted is a rectangular 4×8 block (M = 8, N = 4) with Q = 4 * 8 = 32 samples to be predicted (which can be based on method 820). The boundary 17 is formed by a horizontal row 17c with N = 8 samples and a vertical column 17a with M = 4 samples. Therefore, a priori, the boundary vector 17P has dimension Px1 = 12x1, but the prediction ALWIP matrix needs to be a QxP = 32x12 matrix, and thus Q * P = 32 * 12 = 384 multiplications are required.

[0126] However, for example, it is possible to average or downsample at least 8 samples of the horizontal row 17c to obtain a reduced horizontal row with only 4 samples (e.g., averaged samples). In some examples, the vertical column 17a remains as it is (e.g., without averaging). In total, the dimension of the reduced boundary is P red = 8, and P red < P. Therefore, the boundary vector 17P has dimension P red x1 = 8x1. The ALWIP prediction matrix 17M becomes a matrix with dimension M * N red * P red = 4 * 4 * 8 = 64. The 4×4 reduced block (formed by the gray columns of schema 107) directly obtained in the target step 812 has size Q red = M * N red = 4 * 4 = 16 samples (instead of Q = 4 * 8 = 32 of the original 4x8 block 18 to be predicted). When the reduced 4×4 block is obtained by ALWIP, the offset value b kAdd it (step 812c), and interpolation can be performed in step 813. As can be seen in step 813 of FIG. 7.3, the reduced 4×4 block is expanded to a 4×8 block 18, and the value 108’ not obtained in step 812 is obtained in step 813 by interpolating the values 118’ and 118’’ (gray squares).

[0127] Therefore, the comparison between using and not using this technology is Without this technology, The block 18 to be predicted having dimensions M = 4, N = 8, Q = M * N = 4 * 8 = 32 values to be predicted, P = M + N = 4 + 8 = 12 samples within the boundary, P multiplications for each of the Q = 32 values to be predicted, Total number of P * Q = 12 * 32 = 384 multiplications The ratio of the number of multiplications to the number of final values obtained is P * Q / Q = 12. With this technology, The block 18 to be predicted having dimensions M = 4, N = 8, The last Q = M * N = 4 * 8 = 32 values to be predicted. However, Q red ×P red = 16x8 ALWIP matrix can be used, M = 4, N red = 4, Q red = M * N red = 16, P red = M + N red = 4 + 4 = 8, and Pred < P, P within the boundary red = M red + N red = 4 + 4 = 8 samples, Q of the reduced block to be predicted red = 8 multiplications for each of the 16 values, red = 8 multiplications, Q red *P red = 16 * 8 = 128 total multiplications (less than 384!) The number of multiplications and the obtained れるThe ratio of the number of final values ​​to the number of Pred*Qred / Q=128 / 32=4 (obtained without this technique) れる Much less than 12!).

[0128] Therefore, using this technique, the computational effort is reduced by a factor of three.

[0129] Figure 7.4 shows the case of block 18, which is predicted with dimensions MxN=16x16 and has Q=M*N=16*16=256 values ​​predicted at the end, with P=M+N=16+16=32 boundary samples. This results in a prediction matrix with dimensions QxP=256x32, meaning 256*32=8192 multiplications!

[0130] However, by applying method 820, it is possible to reduce the number of boundary samples in step 811 (e.g., by averaging or downsampling) from, for example, 32 to 8, leaving, for example, one single sample (e.g., a selection from the four samples, or an average of the samples) for each group 120 of four consecutive samples in row 17a, and one single sample (e.g., a selection from the four samples, or an average of the samples) for each group of four consecutive samples in column 17c.

[0131] Here, the ALWIP matrix 17M is Q red xP red = 64x8 matrix. This means that P red This is due to the fact that =8 was chosen (by using 8 averaged or selected samples from the 32 samples of the boundary) and the fact that the reduced block to be predicted in step 812 is an 8x8 block (in scheme 109 the grey squares are 64).

[0132] Thus, once the 64 samples of the reduced 8×8 block are obtained in step 812, the remaining QQ of the block 18 to be predicted is red It is possible to derive 256-64=192 values ​​104.

[0133] In this case, in order to perform interpolation, it is selected to use all samples of the boundary column 17a and only the alternative samples of the boundary row 17c. Other selections may be made.

[0134] In this method, the ratio of the number of multiplications to the number of finally obtained values is Q red *P red / Q = 8 * 64 / 256 = 2, which is much less than 32 multiplications for each value without using this technology!

[0135] Therefore, the comparison between using and not using this technology is Without this technology, a block 18 to be predicted having dimensions M = 16, N = 16, Q = M * N = 16 * 16 = 256 values to be predicted, P = M + N = 16 + 16 = 32 samples within the boundary, P = 32 multiplications for each of the Q = 256 values to be predicted, a total number of P * Q = 32 * 256 = 8192 multiplications, the ratio of the number of multiplications to the number of finally obtained values is P * Q / Q = 32. With this technology, a block 18 to be predicted having dimensions M = 16, N = 16, the last Q = M * N = 16 * 16 = 256 values to be predicted, However, the ALWIP matrix Q used red ×P red = 64x8 is the sample M predicted by ALWIP red = 4, N red = 4, Q red = 8 * 8 = 64, and P red = M red +N red = 4 + 4 = 8, P red < P, the P within the boundary red = M red +N red = 4 + 4 = 8 samples, The reduced block Q to be predicted red = 64 values ​​for each P red = 8 multiplications, Q red *P red =64*4=256 total multiplications (less than 8192!) The ratio between the number of multiplications and the number of final values ​​obtained is P red *Q red / Q=8*64 / 256=2 (much less than the 32 you would get without this technique!).

[0136] Therefore, the computational power required by this technique is 16 times less than that of previous techniques!

[0137] Thus, a given block (18) of a picture can be predicted using a plurality of adjacent samples (17) by shrinking a plurality of adjacent samples (100, 813) to obtain a reduced set (102) of sample values ​​having a smaller number of samples compared to the plurality of adjacent samples (17), and subjecting the reduced set (102) to a linear or affine-linear transformation (19, 17M) to obtain (812) a predicted value for a given sample (104, 118', 188") of the given block (18).

[0138] In particular, the reduction (100, 813) can be performed by downsampling a number of adjacent samples to obtain a reduced set (102) of sample values ​​having a smaller number of samples compared to the number of adjacent samples (17).

[0139] Alternatively, the reduction (100, 813) can be performed by averaging multiple adjacent samples to obtain a reduced set (102) of sample values ​​that has a smaller number of samples compared to the multiple adjacent samples (17).

[0140] Furthermore, by interpolation, it is possible to derive (813) a predicted value for a further sample (108, 108') of a given block (18) based on the predicted values ​​of the given sample (104, 118', 118'') and a number of adjacent samples (17).

[0141] The plurality of adjacent samples (17a, 17c) may extend in one dimension (e.g., to the right and downward in FIGS. 7.1-7.4) along two sides of the given block (18). The given samples (e.g., those obtained by ALWIP in step 812) may also be arranged in rows and columns, and along at least one of the rows and columns, the given samples may be located at every nth position from the samples (112) of the given block 18 that are adjacent to the two sides of the given block 18.

[0142] A support value (118) for one of a plurality of adjacent positions (118) aligned with each of the at least one of the rows and columns can be determined for each of the at least one of the rows and columns based on the plurality of adjacent samples (17). It is also possible to derive a predicted value 118 for a further sample (108, 108') of the given block (18) by interpolation based on the predicted value of the given sample (104, 118', 118'') and the support value of the adjacent sample (118) aligned with each of the at least one of the rows and columns.

[0143] A given sample (104) may be located every nth position from adjacent samples (112) on two sides of a given block 18 along a row, and a given sample may be located every mth position from adjacent samples (112) on two sides of a given block (18) along a column, where n, m>1. In some cases, n=m (e.g., in Figures 7.2 and 7.3, samples 104, 118', 118'' obtained directly by ALWIP in 812 and shown as grey boxes are alternated along rows and columns with samples 108, 108' obtained subsequently in step 813).

[0144] Along at least one of the rows (17c) and columns (17a), it may be possible to perform the determination of the support values, for example, by downsampling or averaging (122) a group (120) of adjacent samples within a plurality of adjacent samples including the adjacent sample (118) for which the respective support value is determined, for each support value. Thus, in FIG. 7.4, in step 813, the value of sample 119 may be obtained by using the values ​​of a given sample 118'' (previously obtained in step 812) and the adjacent sample 118 as support values.

[0145] The multiple adjacent samples may extend in one dimension along two sides of a given block 18. It may be possible to perform the reduction 811 by grouping the multiple adjacent samples 17 into one or more groups of contiguous adjacent samples 110 and performing downsampling or averaging on each of the one or more groups of adjacent samples 110 having two or more adjacent samples.

[0146] In the example, a linear or affine linear transformation is red *Q red or P red *Q weighting factor may be included, P red is the number of sample values ​​(102) in the reduced set of sample values, and Q red or Q is the number of given samples in a given block (18). red *Q red or 1 / 4P red *Q weighting coefficients are non-zero weight values. P red *Q red or P red *Q weighting factors are Q or Q red For each of the given samples, a set of P red A set of weighting factors may be included that, when placed one above the other in a raster scan order between given samples of a given block (18), form an envelope that is nonlinear in all directions.red *Q or P red *Q red The weighting coefficients of may be independent of each other through a regular mapping rule. The average of the maximum value of the cross-correlation between a first series of weighting coefficients associated with each given sample and a second series of weighting coefficients associated with given samples other than each given sample, or the inverted version of the latter series, is lower than a predetermined threshold, even though the maximum value is higher. The predetermined threshold may be 0.3 [or possibly 0.2 or 0.1]. P red The adjacent samples (17) may be located along a one-dimensional path extending along two sides of a given block (18), and may be Q or Q red For each of the given samples, a set of P red The weighting factors are ordered to traverse a one-dimensional path in a given direction.

[0147] 6.1 Method and Apparatus Description

number

number

[0148] The generation of a prediction signal (eg, the value of a complete block 18) may be based on at least some of the following three steps: 1. Of the boundary samples 17, samples 102 (e.g., 4 samples when W=H=4 and / or 8 samples in other cases) may be extracted by averaging or downsampling (e.g., step 811). 2. A matrix-vector multiplication followed by an offset addition can be performed with the averaged samples (or samples remaining from the downsampling) as input. The result can be a reduced prediction signal for the set of subsampled samples in the original block (e.g., step 812). 3. Prediction signals at the remaining positions may be generated from prediction signals on the subsampled set, for example by upsampling, for example by linear interpolation (eg, step 813).

[0149] Due to step 1 (811) and / or step 3 (813), the total number of multiplications required to compute the matrix-vector product is always

number

[0150] In some examples, the matrix (e.g., 17M) and offset vector (e.g., b k ) is a set of matrices (e.g., a set of three), e.g.

number

[0151] In some cases, the set

number

number

number

[0152] In some cases, the set

number

number

number

number

number

[0153] Additionally or alternatively, set

number

number

number

[0154] These sets of matrices and offset vectors or a subset of the matrices and offset vectors may be used for all other block shapes.

[0155] 6.2 Boundary Averaging or Downsampling Now, characteristics regarding step 811 are provided.

[0156] As described above, the boundary samples (17a, 17c) can be averaged and / or downsampled (e.g., from P samples to P red <samples).

[0157] In a first step, the input boundary

Number

Number

Number

Number

Number

Number

[0158] In the case of a 4x4 block,

Number

Number

Number

[0159] In all other cases (e.g., for blocks whose wither width or height differs from 4), the block width W

number

number

number

[0160] In yet another case, the boundary can be downsampled (e.g., by selecting one particular boundary sample from a group of boundary samples) to arrive at a reduction in the number of samples.

number

number

number

[0161] Two reduced boundaries

number

number

number

[0162] where the mode (or the number of matrices in the set of matrices) is

number

[0163] For mode −17, which corresponds to a transposed mode of mode ≧18, it is possible to define

number

[0164] Therefore, according to a certain state (one state: mode < 18; another state: mode ≥ 18), we can assign the predicted value of the output vector to different scan orders (e.g.,

number

number

[0165] Other strategies can be implemented. In other examples, the mode index "mode" does not necessarily lie in the range 0 to 35 (other ranges may be defined). Furthermore, the three sets S 0 , S 1 , S 2 It is not necessary that each of the matrices has 18 (so instead of expressions like mode ≥ 18, each of the matrices S 0 , S 1 , S 2 is the number of matrices in each set of

number

[0166] The mode and transpose information is not necessarily stored and / or transmitted as one combined mode index "mode". In some examples, the transpose flag and the matrix index (S 0 For 0 to 15, S 1 For 0 to 7, S 2 may be explicitly signaled as a number between 0 and 5).

[0167] In some cases, a combination of the transpose flag and the matrix index may be interpreted as a set index. For example, there may be one bit that acts as a transpose flag and several bits that indicate the matrix index, collectively denoted as the "set index."

[0168] 6.3 Generating reduced prediction signals by matrix-vector multiplication Now, characteristics regarding step 812 are provided.

[0169] Reduced Input Vector

number

number

number

number

number

[0170] Shrinking prediction signal

number

number

number

number

[0171]

number

number

number

number

[0172] Matrix A and

number

number

number

number

number

number

number

number

[0173] Other strategies can be implemented. In other examples, the mode index "mode" does not necessarily lie in the range 0 to 35 (other ranges may be defined). Furthermore, the three sets S 0 , S 1 , S 2 It is not necessary that each of the matrices S 0 , S 1 , S 2 is the number of matrices in each set of

number

[0174] 6.4 Linear Interpolation to Generate the Final Prediction Now, characteristics regarding step 812 are provided.

[0175] For the interpolation of subsampled predictions in large blocks, a second version of the averaged boundary may be required:

number

number

number

number

number

number

number

[0176]

number

number

number

[0177] The linear interpolation may be given as follows (other examples are possible):

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0178] This is an example of an interpolation that uses the reduced boundary samples for the first interpolation (horizontal or vertical) and the original boundary samples for the second interpolation (vertical or horizontal). Depending on the block size, either only the second interpolation is needed or no interpolation is needed. If both horizontal and vertical interpolations are needed, the order depends on the width and height of the block.

[0179] However, different techniques can also be implemented, for example the original boundary samples can be used for both the first and second interpolation, and the order can be fixed, for example first horizontal, then vertical (or in other cases first vertical, then horizontal).

[0180] Therefore, the interpolation order (horizontal / vertical) and the use of shrink / original boundary samples may be changed.

[0181] 6.5 Explaining the Overall ALWIP Process Example The whole process of averaging, matrix vector multiplication, and linear interpolation is illustrated for different shapes in Figures 7.1 to 7.4. It should be noted that the remaining shapes can be treated as one of the illustrated cases. Given a 1.4x4 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 input to a matrix-vector multiplication. The matrix is

number

number

number

number

number

[0182] 6.6 Assessment of the number and complexity of parameters required The required parameters for all possible proposed intra prediction modes are

number

[0183] 6.7 Signaling the Proposed Intra Prediction Mode For luma blocks, for example, 35 ALWIP modes are proposed (other numbers of modes can also be used). For each coding unit (CU) in intra mode, a flag is transmitted in the bitstream indicating whether an ALWIP mode should be applied to the corresponding prediction unit (PU). The signaling of the latter index can be coordinated with the MRL in the same way as for the first CE test. If an ALWIP mode is applied, the

number

[0184] Here, the derivation of the MPM may be performed using the intra modes of the above and left PUs as follows:

number

number

number

number

number

number

number

number

[0185] The above PU is available, belongs to the same CTU as the current PU, is in intra mode, and is in conventional intra prediction mode.

number

number

[0186] In all other cases,

number

number

[0187] Finally, three fixed default lists

number

number

[0188] 6.8 Adaptive MPM List Derivation for Conventional Luma and Chroma Intra Prediction Modes The proposed ALWIP mode can be harmonized with the MPM-based coding of conventional intra prediction modes as follows: The luma and chroma MPM list derivation process of conventional intra prediction modes is based on a fixed table

number

number

number

[0189] For derivation of the Luma MPM list, ALWIP mode

number

number

[0190] 7 Efficient implementation The above examples are briefly summarized as they can form the basis for further extensions of the embodiments described below.

[0191] To predict a given block 18 of a picture 10, a method is used that uses a number of adjacent samples 17a,c.

[0192] A reduction 100 by averaging of multiple neighboring samples is performed to obtain a reduced set of sample values ​​102 with a smaller number of samples compared to the multiple neighboring samples. This reduction is optional in the embodiments herein and generates a so-called sample value vector, which is described below. The reduced set of sample values ​​is subjected to a linear or affine linear transformation 19 to obtain a predicted value of a given sample 104 of a given block. This transformation is obtained by machine learning (ML) and is shown later using a matrix A and an offset vector b, whose implementation should be performed efficiently.

[0193] By means of the interpolation, a predicted value of the further sample 108 of a given block is derived based on the predicted values ​​of the given sample and a number of adjacent samples. Theoretically, it should be said that the result of the affine / linear transformation can be related to the non-full-pel sample positions of the block 18, so that all samples of the block 18 can be obtained by interpolation according to an alternative embodiment. Interpolation may not even be necessary at all.

[0194] The plurality of adjacent samples may extend one-dimensionally along two sides of the given block, the given samples being arranged in rows and columns, and the given samples may be located at every n-th position from the samples (112) of the given samples adjacent to the two sides of the given block. Based on the plurality of adjacent samples, a support value for one of the plurality of adjacent positions (118) may be determined for each of the rows and / or columns, which is aligned with each of the rows and / or columns, and by interpolation, a predicted value for a further sample 108 of the given block may be derived based on the predicted value for the given sample and the support value of the adjacent samples aligned with the rows and / or columns. The given samples may be located at every n-th position from the samples 112 of the given samples adjacent to the two sides of the given block along the rows, and the given samples may be located at every m-th position from the samples 112 of the given samples adjacent to the two sides of the given block along the columns, where n, m>1. n=m may be. Along at least one of the rows and columns, the support value determination may be performed by averaging 122 groups 120 of adjacent samples within the plurality of adjacent samples that include the adjacent sample 118 for which the respective support value is determined. The plurality of adjacent samples may extend one-dimensionally along two sides of a given block, and the reduction may be performed by grouping the plurality of adjacent samples into one or more groups 110 of contiguous adjacent samples and performing the averaging for each of the one or more groups of adjacent samples having three or more adjacent samples.

[0195] For a given block, a prediction residual may be transmitted in the data stream, from which it is derived in the decoder, which reconstructs the given block using the prediction residual and the predicted values ​​of the given samples, and in the encoder, which encodes the prediction residual into the data stream.

[0196] The picture may be subdivided into a number of blocks of different block sizes, the number of which includes the given block. Then, a linear or affine linear transformation of the block 18 is selected according to the width W and height H of the given block, so that the linear or affine linear transformation selected for the given block is selected from the first set of linear or affine linear transformations as long as the width W and height H of the given block are within a first set of width / height pairs, and is selected from the second set of linear or affine linear transformations as long as the width W and height H of the given block are within a second set of width / height pairs different from the first set of width / height pairs. Similarly, it will become clear later that the affine / linear transformation is represented by other parameters, namely the weight C, and optionally offset and scale parameters.

[0197] The decoder and the encoder may be configured to subdivide a picture into a number of blocks of different block sizes, including a predetermined block, and to select a linear or affine linear transformation according to a width W and a height H of the predetermined block, such that the selected linear or affine linear transformation for the predetermined block is: As long as the width W and height H of a given block are within the first set of width / height pairs, a second set of linear or affine-linear transformations, so long as the width W and height H of a given block are within a second set of width / height pairs that are different from the first set of width / height pairs; and a third set of linear or affine-linear transformations, so long as the width W and height H of a given block are within a third set of one or more width / height pairs that are different from the first and second sets of width / height pairs.

[0198] The third set of one or more width / height pairs simply includes one width / height pair W', H', and each linear or affine-linear transformation in the first set of linear or affine-linear transformations is for transforming the N' sample values ​​to a W'*H' predicted value in a W'xH' array of sample locations.

[0199] Each of the first and second sets of width / height pairs is W p H p First width / height vs. W not equal p , H p And, H q =W p and W q =H p The second width / height pair W q , H q and

[0200] Each of the first and second sets of width / height pairs is a third width / height pair W p H p and W p H p is equal to H p >H q It is.

[0201] A set index may be transmitted in the data stream that indicates, for a given block, which linear or affine-linear transform from a given set of linear or affine-linear transforms should be selected for the block 18.

[0202] The multiple adjacent samples may extend one-dimensionally along two sides of the given block, and the reduction may be performed by, for a first subset of the multiple adjacent samples adjacent to a first side of the given block, grouping the first subset into a first group 110 of one or more consecutive adjacent samples, and for a second subset of the multiple adjacent samples adjacent to a second side of the given block, grouping the second subset into a second group 110 of one or more consecutive adjacent samples, and performing averaging for each of the first and second groups of one or more adjacent samples having three or more adjacent samples to obtain a first sample value from the first group and a second sample value for the second group. Then, the linear or affine linear transformation can be selected from a predetermined set of linear or affine linear transformations depending on the set index, so that two different states of the set index result in the selection of one of the linear or affine linear transformations of the predetermined set of linear or affine linear transformations; in the case of a set index assuming a first of the two different states in the form of a first vector, the reduced set of sample values ​​can be subjected to a predetermined linear or affine linear transformation, in order to generate an output vector of predicted values, the predicted values ​​of the output vector can be distributed to predetermined samples of a predetermined block and of a predetermined block along the first scanning order; in the case of a set index assuming a second of the two different states in the form of a second vector, the first and second vectors differ such that a component input by one of the first sample values ​​of the first vector is input by one of the second sample values ​​of the second vector and a component input by one of the second sample values ​​of the first vector is input by one of the first sample values ​​of the second vector, in order to generate an output vector of predicted values, the predicted values ​​of the output vector can be distributed to predetermined samples of a predetermined block transposed with respect to the first scanning order along the second scanning order.

[0203] Each linear or affine linear transformation in the first set of linear or affine linear transformations is 1The sample values ​​are taken at the w sample positions. 1 xh 1 W about arrays 1 *h 1 each linear or affine linear transformation in the first set of linear or affine linear transformations may be for transforming N 2 The sample values ​​are taken at the w sample positions. 2 xh 2 w for arrays 2 *h 2 for a first given one of the first set of width / height pairs, w 1 can exceed the width of the first predetermined width / height pair, or h 1 can exceed the height of a first predetermined width / height pair, and for a second predetermined one of the first set of width / height pairs, w 1 cannot exceed the width of the second predefined width / height pair, and h 1 The averaging of the multiple adjacent samples to obtain a reduced set of sample values ​​(102) is performed such that, for a given block of the first predetermined width / height pair and a given block of the second predetermined pair, the reduced set of sample values ​​102 is N 1 number of sample values, and subjecting the reduced set of sample values ​​to a selected linear or affine-linear transformation may be performed to have w 1 If h exceeds the width of one width / height pair along the width dimension, or 1 If w exceeds the height of one width / height pair, then along the height dimension if the given block is of the first given width / height pair, and along the w dimension if the given block is of the second given width / height pair, the selected line or affine linear transformation is entirely along the w dimension of the sample positions 1 xh 1 This may be performed using only a first sub-portion of the selected line or affine linear transformation associated with the sub-sampling of the array.

[0204] Each linear or affine linear transformation in the first set of linear or affine linear transformations is 1 =h 1 At sample position w 1 xh 1 For an array, N 1 The sample values ​​are w 1 *h 1 , each linear or affine linear transformation in the first set of linear or affine linear transformations may be for transforming w 2 =h 2 At sample position w 2 xh 2 For an array, N 2 The sample values ​​are w 2 *h 2 This is to convert the data into individual predicted values.

[0205] All the above-mentioned embodiments are merely exemplary in that they may form the basis of the embodiments described herein below. That is, the above concepts and details are useful for understanding the following embodiments and serve as a repository for possible extensions and modifications of the embodiments described herein below. In particular, many of the details mentioned above are optional, such as the averaging of adjacent samples, the fact that adjacent samples are used as reference samples, etc.

[0206] More generally, the embodiments described herein assume that a prediction signal on a rectangular block is generated from already reconstructed samples, such as an intra prediction signal on a rectangular block is generated from already reconstructed samples of the left and top neighbors of the block. The generation of the prediction signal is based on the following steps: 1. However, among the reference samples, called here boundary samples, samples can be extracted by averaging, excluding the possibility of transferring the description to reference samples located elsewhere. Here, averaging is performed either over both the left and top boundary samples of the block, or only over the boundary samples of one of the two sides. If averaging is not performed on one side, the samples on that side remain unchanged. 2. Optionally followed by the addition of an offset, a matrix-vector multiplication is performed, whose input vector is either the concatenation of the averaged boundary sample to the left of the block if averaging was applied only to the left side, or the concatenation of the original boundary sample to the left of the block and the averaged boundary sample above the block if averaging was applied only to the top side of the block, or the concatenation of the averaged boundary sample to the left of the block and the averaged boundary sample above the block if averaging was applied on both sides of the block. Again, alternatives exist, including those that do not use averaging at all. 3. The result of the matrix-vector multiplication and optional offset addition may optionally be a downscaled prediction of a subsampled set of samples in the original block. Predictions at the remaining positions may be generated from the predictions on the subsampled set by linear interpolation.

[0207] The matrix-vector product calculation in step 2 should preferably be performed in integer arithmetic. Thus,

number

number

number

number

number

number

number

number

number

number

number

number

number

[0208] FIG. 8 shows an improved ALWIP prediction. A sample of a given 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, an offset b 1110 can be added. To achieve an integer or fixed-point approximation of this first matrix-vector product, the sample value vector can undergo a reversible linear transformation 403 to determine a further vector 402. A second matrix-vector product between a further matrix B 1200 and the further vector 402 can be equal to the result of the first matrix-vector product.

[0209] Due to the characteristics of the further vector 402, the second matrix-vector product may be an integer that is approximated by a matrix-vector product 404 between the predefined prediction matrix C 405, the further vector 402 and the further offset 408. The further vector 402 and the further offset 408 may consist of integer or fixed-point values. For example, all components of the further offset are the same. The predefined prediction matrix 405 may be a quantized matrix or a matrix to be quantized. The result of the matrix-vector product 404 between the predefined prediction matrix 405 and the further vector 402 may be understood as a prediction vector 406.

[0210] Below we provide more details regarding this integer approximation.

[0211] Possible solution according to Example I: Subtracting and adding average values Usable expressions for the above scenarios

number

number

number

number

[0212]

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0213]

number

number

number

number

[0214] Alternatively, the predetermined value 1400 is a default value or a value that is signaled in the data stream in which the picture is encoded.

[0215] For example, a predetermined value of 1400 may be advantageous if the samples of a given block have small deviations from the expected values.

[0216] According to one embodiment, the device is configured to include a number of reversible linear transforms 403, each of which is associated with one component of the further vector 402. Furthermore, the device is configured to, for example, select a given component 1500 from among the components of the sample value vector 400 and to use the reversible linear transform 403 as the given reversible linear transform from among the multiple reversible linear transforms associated with the given component 1500. This can be done, for example, by selecting i 0 th row, i.e., depending on the position of the given component in the further vector, the different positions of the rows of the reversible linear transform 403 corresponding to the given component. For example, the first component of the further vector 402, i.e., y 1 If is a given component, then i o The th row replaces the first row of the reversible linear transformation.

[0217] As shown in FIG. 9b, the column 412 of the given prediction matrix 405 corresponding to the given component 1500 of the further vector 402, i.e., 0 The matrix elements 414 of the given prediction matrix C 405 in the th column are, for example, all zeros. In this case, the device is configured to calculate the matrix-vector product 404 by performing a multiplication by calculating a matrix-vector product 407 between the reduced prediction matrix C' 405 resulting from the given prediction matrix C 405 by leaving the column 412 and the yet further vector 410 resulting from the further vector 402 by leaving the given element 1500, as shown in, for example, Fig. 9c. Thus, the prediction vector 406 can be calculated with fewer multiplications.

[0218] As shown in Figures 8, 9b and 9c, the device may be configured to calculate, for each component of the prediction vector 406, the sum of the respective component and a, i.e. the predefined value 1400, when predicting samples of a given block based on the prediction vector 406. This sum may be represented by the sum of the prediction vector 406 and the vector 409, where all components of the vector 409 are equal to the predefined value 1400, as shown in Figures 8 and 9c. Alternatively, the sum may be represented by the sum of the prediction vector 406 and the matrix-vector product 1310 between the integer matrix M 1300 and the further vector 402, as shown in Figure 9b, where the matrix components of the integer matrix 1300 are the columns of the integer matrix 1300 that correspond to the predefined components 1500 of the further vector 402, i.e. the i 0 In the th column there is a 1 and all other components are zero, for example.

[0219] The result of the sum of the given prediction matrix 405 and the integer matrix 1300 is, for example, equal to or close to the further matrix 1200 shown in FIG.

[0220] In other words, the column 412 of the given prediction matrix 405 corresponding to the given element 1500 of the further vector 402, i.e. 0The matrix obtained by summing each matrix element of a given prediction matrix C 405 in the th column with a reversible linear transform 403 (i.e., matrix B), i.e., further matrix B 1200, corresponds to a quantized version of the machine learning prediction matrix A 1100, as shown in, for example, Figures 8, 9a and 9b. As shown in Figure 9b, 0 Summing each matrix element of the predefined prediction matrix C 405 in the th column 412 with 1 may correspond to the sum of the predefined prediction matrix 405 and the integer matrix 1300. As shown in FIG. 8, the machine learning prediction matrix A 1100 may be equal to the result of multiplying the further matrix 1200 by the reversible linear transform 403. This is

number

[0221] Matrix multiplication using integer arithmetic only For a low complexity implementation (in terms of the complexity of adding and multiplying scalar values, as well as the storage required for the entries of the participation matrices), it is desirable to perform the matrix multiplication 404 using integer arithmetic only.

[0222]

number

number

number

number

[0223] Matrix vector product 404 with a matrix of size m×n, i.e., a given prediction matrix 405, can be performed as shown in this pseudocode, where <<, >> are arithmetic binary 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 for j in 0…n-1 { accumulator:=accumulator + y[j]*C[i,j] } z[i]=(accumulator+final_offset)>>right_shift_result; }

[0224] Here, array C, i.e., the predefined prediction matrix 405, stores fixed point numbers, e.g. as integers. The final addition of final_offset and right shift operation output by right_shift_result reduces precision by rounding to obtain the required fixed point format at the output.

[0225] In order to be able to extend the range of real values ​​representable by the integers of C, two additional

number

number

number

number

number

number

[0226] In other words, the device may generate predictive parameters, e.g.

number

[0227] According to one embodiment, the prediction parameters include weights each associated with a corresponding matrix element of a prediction matrix. In other words, a given prediction matrix is, for example, replaced or represented by the prediction parameters. The weights are, for example, integer and / or fixed-point values.

[0228] According to one embodiment, the prediction parameters are scaled by one or more scaling factors, e.g., the value scale i,j each of which may further include a weight associated with one or more corresponding matrix elements of the given prediction matrix 405, e.g.

number

number

[0229]

number

number

number

[0230]

number

[0231] A wide range of embodiments resulting from the solution The above solution implies the following embodiments. 1. A prediction method as described in Section I, where in step 2 of Section I the following is done for integer approximations of the matrix-vector products involved:

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

number

[0232] That is, according to an embodiment of the present application, the encoder and decoder operate as follows to predict a given block 18 of a picture 10, with reference to FIG. 8 in combination with one of the figures 7.1 to 7.4: For the prediction, a number of reference samples are used. As outlined above, the embodiment of the present application is not limited to intra-coding, and thus the reference samples are not limited to being adjacent samples, i.e. samples of the picture 10 adjacent to the block 18. In particular, the reference samples are not limited to those located along the outer edge of the block 18, such as samples abutting the outer edge of the block. However, this situation is certainly an embodiment of the present application.

[0233] To perform the prediction, a sample value vector 400 is formed from reference samples, such as reference samples 17a and 17c. Possible formations have been described above. The formation may involve averaging, which may reduce the number of samples 102 or the number of components of the vector 400 compared to the reference samples 17 that contribute to the formation. The formation may also depend in some way on the dimensions or size, such as the width and height, of the blocks 18, as described above.

[0234] It is this vector 400 that must be subjected to an affine or linear transformation to obtain the prediction of block 18. In the above, a different nomenclature is used. The objective is to perform the prediction by applying vector 400 to matrix A by a matrix-vector product within which, using the latest, we perform a summation with an offset vector b. The offset vector b is optional. The affine or linear transformation determined by A or A and b can be determined by the encoder and decoder, or more precisely, for the prediction based on the size and dimensions of block 18 as already described above.

[0235] However, to achieve the computational efficiency improvements outlined above or to make the prediction more effective from an implementation point of view, the affine or linear transformation is quantized and the encoder and decoder, or their predictors, use C and T described above to represent and perform the linear or affine transformation, with C and T applied in the manner described above, representing a quantized version of the affine transformation. In particular, instead of directly applying the vector 400 to the matrix A, the predictors of the encoder and decoder apply the vector 402 obtained from the sample value vector 400 by subjecting it to a mapping through a predefined invertible linear transformation T. The transformation T used here is the same as long as the vector 400 is of the same size, i.e. 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 by y. The exact matrix for performing the affine / linear transformation determined by machine learning was B. However, instead of performing B exactly, the prediction in the encoder and decoder is performed by an approximation of it or a quantized version of it. In particular, the representation is done by appropriately representing C in the manner outlined above, and C+M represents a quantized version of B.

[0236] Thus, the prediction in the encoder and decoder is further performed by calculating a matrix-vector product 404 between the vector 402 and a predefined prediction matrix C, appropriately represented and stored in the encoder and decoder in the manner described above. A vector 406 resulting from this matrix-vector product is then used to predict the samples 104 of the block 18. As described above, for the prediction, each component of the vector 406 may be subject to a summation with a parameter a, as indicated at 408, to compensate for the corresponding definition of C. An optional summation of the vector 406 with an offset vector b may also be involved in the derivation of the prediction of the block 18 based on the vector 406. As described above, each component of the vector 406, and therefore each component of the summation of the vector 406, the vector of all a's, as indicated at 408, and the optional vector b, may directly correspond to a sample 104 of the block 18 and thus indicate a predicted value of the sample. It is also possible that only a subset of the samples 104 of the block is predicted in this way, the remaining samples of the block 18, such as 108, being derived by interpolation.

[0237] As mentioned above, there are different embodiments for setting α. For example, it may be the arithmetic mean of the components of the vector 400. In that case, see, for example, FIG. 9. The reversible linear transform T may be as shown in FIG. 9a. 0 denote the sample-value vector and a given component of vector 402, respectively, and are replaced by a. However, as mentioned above, there are other possibilities. However, as far as the representation of C is concerned, it was also mentioned above that it may be embodied differently. For example, the matrix-vector product 404 may end up in its actual calculation a smaller matrix-vector product having a lower dimension, see for example FIG. 9c. In particular, as mentioned above, by the definition of C, its i 0 Since the entire th column 412 can be zero, the actual calculation of the product 404 is

number

[0238] The weights of C or C', i.e. the elements of this matrix, can be represented and stored in a fixed-point representation. However, these weights 414 can also be stored in a manner associated with different scales and / or offsets, as described above. The scale and offset can be defined for the entire matrix C, i.e. equal for all weights 414 of matrix C or matrix C', or constant or equal for all weights 414 of the same row or all weights 414 of the same column of matrices C and C', respectively. In this regard, FIG. 10 shows that the calculation of the matrix-vector product, i.e. the result of the product, can in fact be performed slightly differently, i.e. for example, by shifting the multiplication with the scale(s) towards the vector 402 or 404, thereby reducing the number of multiplications that must be performed further. FIG. 11 illustrates the use of one scale and one offset for all weights 414 of C or C', as is done in calculation (2) above.

[0239] 8. Special Case of Using Block-Based Intra Prediction Mode for All Channels All the above descriptions shall be considered as optional implementation details of the embodiments described herein. Note that in the following, the term matrix-based intra prediction (MIP) is used to represent an intra prediction mode, such as a block-based intra prediction mode, which may be embodied by or equivalent to the ALWIP described above, as described with respect to Figures 5 to 11.

[0240] In this document, for 4:4:4 chroma format and single tree, it is proposed that on a chroma intra block whose chroma intra mode is direct mode (DM) mode and whose luma intra mode is MIP mode, the chroma intra prediction signal is generated using this MIP mode.

[0241] In direct mode, the chroma intra prediction mode is derived from the luma intra prediction mode, for example. For example, the chroma intra prediction mode is equal to the luma intra prediction mode. There is an exception when the luma intra prediction mode is a MIP mode, and the chroma intra prediction mode is a MIP mode only if the chroma intra prediction mode is a 4:4:4 color sampling format, and in the single tree case and in all other cases, the chroma intra prediction mode is a planar mode. The 4:4:4 color sampling format represents a color sampling format according to which each color component is sampled evenly.

[0242] 8.1 Description of the proposed method In the current VTM, MIP is only used for the luma component [3]. If the intra mode of a chroma intra block is direct mode (DM) and the intra mode of the co-located luma block is MIP mode, the chroma block must use planar mode to generate the intra prediction signal. The main reason for treating the DM mode in this way in the MIP case is that in the 4:2:0 case or dual tree case, the co-located luma block may have a different shape than the color blocks. Therefore, since MIP mode is not applicable to all block shapes, the MIP mode of the co-located luma block may not be applicable to the chroma block in that case.

[0243] On the other hand, when the chroma format is 4:4:4 and a single tree is used, it can never be said that the above luma MIP mode cannot be applied to the chroma components. Therefore, in this case, it is proposed that if the chroma intra mode is the DM mode on the intra block and the luma intra mode is the MIP mode, the chroma intra prediction signal is generated in this MIP mode.

[0244] This proposed change is particularly relevant when ACT (Adaptive Color Transform) is enabled, since it is assumed that the chroma mode is DM mode when ACT is used for a particular block. It can be argued that for ACT in particular, a strong correlation of the predicted signals across all channels is beneficial, and such correlation can be increased if the same intra prediction mode is used for all three components of the block. The experimental results reported below support this view, in the sense that the proposed change has a significant impact on camera-captured content in RGB format, which is claimed to be the intersection for which MIP and ACT were primarily designed.

[0245] 8.2 Implementation of the proposed method FIG. 12 illustrates a given second color component block 18 of picture 10. 2 1 illustrates an embodiment of a prediction of picture 10. A block-based decoder, a block-based encoder and / or an apparatus for predicting picture 10 may be configured to perform this prediction.

[0246] According to one embodiment, the picture 10 includes each color component 10 1 , 10 2 For example, a first color component block 18' may be obtained by using a division scheme 11' in which the first color component block 18' is divided equally with respect to 11 ~18' 1n and the second color component block 18' 21 ~18' 2n , each color component 10 1 , 10 2 Multiple color components 10 are sampled evenly into blocks 1 , 10 2and a picture 10 in a color sampling format 11. According to the color sampling format 11, each color component 10 1 , 10 2 are sampled equally, for example, and according to the division scheme 11′, each color component 10 1 , 10 2 are divided in the same way. Thus, for example, according to division scheme 11', first color component block 18' 11 ~18' 1n is the second color component block 18' 21 ~18' 2n and according to the color sampling format 11, the first color component block 18' 11 ~18' 1n is the second color component block 18' 21 ~18' 2n The sampling is the same for a given second color component block 18 2 and the co-located intra-predicted first color component block 18 1 The sample points in are denoted by

[0247] First color component 10 of picture 10 1 is the intra predicted first color component block 18′ of the picture 10. 11 ~18' 1n For each of the blocks 18, the sample value vector 514 of the reference samples 17 is derived, and the sample value vector 514 and the respective matrix-based intra prediction modes 510 are calculated to obtain the prediction vector 514. 1 ~510 m 5. A matrix-based intra-prediction mode (MIP mode) 510 according to each mode in which the block interior 18 is predicted by calculating a matrix-vector product 512 between the prediction matrix 516 associated with the block interior 18 and predicting samples of the block interior 18 based on the prediction vector 514. 1 ~510 mThe matrix-based intra prediction 510 is decoded / encoded block-wise by selecting one from a first set of intra prediction modes 508 including: 1 ~510 m is performed, for example, as described with respect to one of FIGS.

[0248] Optionally, the number of components of the prediction vector 518 is less than the number of samples in the block interior 18. In this case, the samples in the block interior 18 may be predicted based on the prediction vector 518 by interpolating samples based on the components of the prediction vector 518 assigned to support sample positions in the block interior 18.

[0249] Optionally, a matrix-based intra-prediction mode 510 consisting of the first set of intra-prediction modes 508 1 ~510 m is a subset of matrix-based intra-prediction modes from a set of disjoint subsets of matrix-based intra-prediction modes. 1 The prediction matrices 516 associated with the set of disjoint subsets of matrix-based intra-prediction modes are, for example, machine-learned, and the prediction matrices 516 of one subset of matrix-based intra-prediction modes are equal in size, and the prediction matrices 516 of two subsets of matrix-based intra-prediction modes selected for different block sizes are different in size. In other words, the prediction matrices of one subset are equal in size, but the prediction matrices of different subsets have different sizes.

[0250] Optionally, a matrix-based intra-prediction mode 510 consisting of the first set of intra-prediction modes 508 1 ~510 mThe prediction matrices 516 associated with are of equal size to each other and are machine learned.

[0251] Optionally, a matrix-based intra-prediction mode 510 consisting of the first set of intra-prediction modes 508 1 ~510 m The intra prediction modes comprise a first set 508 of intra prediction modes other than the DC mode 506, the planar mode 504, and the directional mode 500. 1 ~500 1 Includes.

[0252] Second color component 10 of picture 10 2 but the co-located intra-predicted first color component block 18 1 1. A given second color component block 18 of a picture 10 is subjected to a matrix-based intra-prediction mode selected for 2 Thus, the decoder and / or encoder may perform MIP mode 510 for at least one intra-coded second / third color component block. 1 ~510 m This can be achieved, for example, by using the second color component block 18 2 This is performed when the initial prediction mode is the direct mode.

[0253] In the direct mode, a predetermined second color component block 18 2 The intra prediction mode of the co-located intra predicted first color component block 18 1 For example, the intra prediction mode of a given second color component block 18 2 The intra prediction mode of the co-located intra predicted first color component block 18 1 In other words, the intra-predicted first color component block 18 1 Intra prediction mode is MIP mode 510 1 ~510 mIf so, the given second color component block 18 2 Same as MIP mode 510 1 ~510 m is predicted by

[0254] According to one embodiment, an index indicating a prediction mode is provided for a given second color component block 18 in the data stream. 2 If not signaled, the direct mode can be inferred. Otherwise, the mode signaled in the data stream is the same as the mode for a given second color component block 18. 2 is used to predict.

[0255] In other words, the second color component block 18' of the picture 10 21 ~18' 2n For each of the co-located intra-predicted first color component blocks 18′, one can be selected from a first option and a second option. 11 -18' 1n The intra-prediction mode selected for is a matrix-based intra-prediction mode 510 1 to510 m If so, then each second color component block 18' 21 -18' 2n The intra prediction mode for the co-located intra predicted first color component block 18' 11 ~18' 1n Each second color component block 18' is equal to 21 ~18' 2n The intra prediction mode for the co-located intra predicted first color component block 18' 11 ~18' 1n The co-located intra-predicted first color component block 18' is derived based on the intra-prediction mode selected for the co-located intra-predicted first color component block 18'. 11 ~18' 1n The intra prediction mode selected for the image may be a planar intra prediction mode 504, a DC intra prediction mode 506, and / or a directional intra prediction mode 500. 1 ~500l As in, matrix-based intra prediction mode 510 1 ~510 m If the intra-prediction mode is one other than the intra-prediction mode, the respective second color component block 18' 21 ~18' 2n The intra prediction mode of the co-located intra predicted first color component block 18' 11 ~18' 1n The first option may represent a direct mode. According to a second option, the first option may represent a direct mode. 21 ~18' 2n The intra prediction modes for each second color component block 18' 21 ~18' 2n Optionally, the intra-mode index is selected based on an intra-mode index present in the data stream for the co-located intra-predicted first color component block 18′ for selection from a first set of intra-prediction modes 508. 11 ~18' 1n In addition to the further intra mode index present in the data stream for each second color component block 18' 21 ~18' 2n The intra mode index present in the data stream for each second color component block 18' 21 ~18' 2n 5 indicates a prediction mode, for example from the first set of intra-prediction modes 508, to be selected for prediction of.

[0256] According to one embodiment, the 4:4:4 color sampling format 11 of the picture 10 and the predetermined second color component block 18 2 When the prediction mode of the image is a direct mode, the device for predicting a predetermined block of a picture, the block-based decoder and / or the block-based encoder further comprises: 2, the co-located intra-predicted first color component block 18 1 Same as MIP mode 510 1 ~510 m and a co-located intra-predicted first color component block 18 configured to use 1 and a predetermined second color component block 18 2 represents a given block associated with different color components, i.e., the first color component and the second color component. 1 and a predetermined second color component block 18 2 For example, each color component 10 includes the same geometric features and the same spatial positioning in the picture 10. In other words, a first color component coding tree, for example a luma coding tree, is equal to a second color component coding tree, for example a chroma coding tree. For example, a single tree is used. The picture 10 includes each color component 10. 1 , 10 2 The partitioning scheme 11' defines, for example, a single-tree processing of the picture 10.

[0257] According to one embodiment, dual tree processing of the picture 10 is also possible. Dual tree processing uses the first split information in the data stream to split the picture 10 into a first color component 10 and a second color component 11. 1 and the picture 10 is divided into a second color component using second division information present in a data stream separate from the first division information. 2 This can be related to a further division scheme 11' in which the division is performed with respect to

[0258] In the case of not being a dual tree or single tree, the device, block-based decoder and / or block-based encoder for predicting a given block of a picture may, for example, use a co-located intra predicted first color component block 18. 1 The prediction mode is MIP mode 510 1 ~510 m and for a given second color component block 18 2If the prediction mode of the co-located intra-predicted first color component block 18 is direct mode, then the co-located intra-predicted first color component block 18 is configured to use planar intra-prediction mode 504. 1 If the prediction mode of the first color component block 18 is not an MIP mode, for example, 1 The prediction mode is a DC intra prediction mode 506, a planar intra prediction mode 504, or a directional intra prediction mode 500. 1 ~500 1 (e.g., angular intra prediction mode), and a given second color component block 18 2 If the prediction mode of the second color component block 18 is the direct mode, 2 The prediction mode of the co-located intra predicted first color component block 18 1 This can also be applied when using a single tree but not using a 4:4:4 color sampling format 11, for example when using a 4:1:1 color sampling format 11, a 4:2:2 color sampling format 11, or a 4:2:0 color sampling format 11.

[0259] The color sampling format 11 can be expressed as x:y:z, where the first number x refers, for example, to the size of the color component block 18', and the next two numbers y and z both refer to the second and / or third color component samples. These, i.e. y and z, are both relative to the first number and define the horizontal and vertical sampling, respectively. A signal with 4:4:4 is not compressed (and therefore not subsampled) and carries the first color component and further color component data, e.g. the second and / or third color component samples, i.e. the entire chroma samples. In a 4x2 array of pixels, 4:2:2 has half the chroma samples of 4:4:4, while 4:2:0 and 4:1:1 have a quarter of the available chroma information. A 4:2:2 signal has half the sampling rate in the horizontal direction but maintains full sampling in the vertical direction. On the other hand, 4:2:0 only samples the color from half the pixels in the first row and completely ignores the second row of samples, while 4:1:1 only samples the color from one pixel in the first row and one pixel in the second row of samples, i.e. a 4:1:1 signal has a quarter the sampling rate horizontally but maintains full sampling vertically.

[0260] According to one embodiment, the co-located intra-predicted first color component block 18 1 The prediction mode may be, for example, a DC intra prediction mode 506, a planar intra prediction mode 504, or a directional intra prediction mode 500. 1 ~500 1 For example, MIP mode 510 1 ~510 1 If not, and the given second color component block 18 2In the case of the prediction mode of the given second color component block, if the prediction mode of the given second color component block is the direct mode, the device for predicting a given block of a picture, the block-based decoder and / or the block-based encoder may use the co-located intra-predicted first color component block 18 independently of the color sampling format 11 and / or independently of the partitioning scheme of the picture 10 for each color component, i.e. using a single tree or a dual tree. 1 The prediction mode is configured to use:

[0261] In DC intra prediction mode 506, for example a quasi-DC value, a value is applied to a given block 18, for example a co-located intra predicted first color component block 18. 1 and / or a predetermined second color component block 18 1 , and this one DC value is attributed to all samples of a given block 18 to obtain an intra prediction signal.

[0262] In planar intra prediction mode 504, a two-dimensional linear function defined, for example, by a horizontal gradient, a vertical gradient, and an offset, is applied to a given block 18, for example, a co-located intra predicted first color component block 18. 1 and / or a predetermined second color component block 18 2 , and this linear function defines the predicted sample value for a given block 18 .

[0263] For example, a directional intra-prediction mode 500, such as an angular intra-prediction mode 1 ~500 1 , a given block 18, e.g., a co-located intra-predicted first color component block 18 1 and / or a predetermined second color component block 18 2The reference samples 17 adjacent to the given block 18 are used to fill the given block 18 so as to obtain an intra prediction signal for the given block 18. In particular, the reference samples 17 located along the boundaries of the given block 18, such as along the top and left edges of the given block 18, represent picture content that is extrapolated or copied along a predetermined direction 502 into the interior of the given block 18. Before the extrapolation or copying, the picture content represented by the adjacent samples 17 may be subject to interpolation filtering, i.e., in other words, may be derived from the adjacent samples 17 by interpolation filtering. 1 ~500 l The intra prediction directions 502 of the angular intra prediction modes 500 are different from each other. 1 ~500 l may have an associated index, and the angular intra prediction mode 500 1 ~500 l The association of the index to the angular intra prediction mode 500 is according to the associated mode index. 1 ~500 l may be such that the direction 502 rotates monotonically in a clockwise or counterclockwise direction.

[0264] FIG. 13 illustrates the division of a given second color component block 18 of a picture 10 depending on different division schemes and color sampling formats. 2 The forecast is presented in more detail below.

[0265] Prediction is shown for a picture 10a, another picture 10b, and yet a further picture 10c, with different conditions being set for the different pictures.

[0266] According to one embodiment, an apparatus, such as, for example, a block-based decoder, a block-based encoder, and / or an apparatus for predicting a picture, includes or has access to a set 11' of partition schemes to select from and / or obtain a partition scheme for a picture 10. The set 11' of partition schemes includes the partition scheme 11' 1, i.e., the picture 10 is divided into each color component 10 1 , 10 2 and the picture 10 is divided equally in terms of the first partitioning information 11' in the data stream 12. 2 First color component 10 1 and the picture 10 is divided into the first division information 11' 2a The second division information 11' exists in the data stream 12 separately from 2b Using the second color component 10 2 Optionally further division scheme 11' 2 The first resolution scheme 11' 1 can represent a single tree processing of the picture 10, and a further partitioning scheme 11' 2 can represent a dual-tree processing of a picture.

[0267] Further resolution scheme 11' 2 , the first color component is 10 1 is the second color component 10 2 The color components are divided differently than the 10 1 , 10 2 One of the colors can be divided into 10 1 , 10 2 can be roughly divided into the second color component block 18' 21 ~18' 24 The boundary of the first color component block 18' 11 ~18' 116 It is possible that the second color component block 18' is not located at the same location as the boundary of the second color component block 18'. 21 ~18' 24 The boundary is 10 2alternative Or as shown in further division of picture 10b, first color component block 18' 11 ~18' 116 It is possible to pass through the inside of the block.

[0268] For the picture 10a, the same prediction can be applied as described with reference to FIG. 12, with a first partitioning scheme 11' 1is selected from a set of division schemes 11', and each color component 10a 1 , 10a 2 A color sampling format is used where is evenly sampled.

[0269] The apparatus of Figure 13 may be configured, for example, to select one of the first and second options for each intra-predicted second color component block of picture 10a. In the first option, the co-located intra-predicted first color component block 18a, as shown in Figure 12, may be selected from the first and second options. 1 The intra-prediction mode selected for is a matrix-based intra-prediction mode 510 1 ~510 m , then each intra-predicted second color component block 18a 2 The intra prediction mode for the co-located intra predicted first color component block 18a 1 The intra prediction mode for each intra predicted second color component block, e.g., a given second color component block 18a, is set to be equal to the intra prediction mode selected for the second color component block 18a. 2 is the co-located intra-predicted first color component block 18a 1 In a second option, each intra-predicted second color component block 18a 2 The intra prediction mode for each intra predicted second color component block 18a 2 The intra mode index 509 is selected based on an intra mode index present in the data stream for the co-located intra predicted first color component block 18a for selection from a first set of intra prediction modes. 1 is present in the data stream in addition to a further intra-mode index 507 present in the data stream for .

[0270] Optionally, the device includes a further division scheme 11' 210b, where each color component is sampled evenly into a further block using 1 , 10b 2 and a further picture 10b in color sampling format. Thus, the first color component 10b 1 is the second color component 10b 2 As shown in FIG. 13, a further block 18b of a given second color component of a further picture 10b has the same color sampling as 2 may be, for example, a further block 18b of the first color component at the same location in a further picture 10b. 1 The further picture 10b is, for example, sampled in the 4:4:4 colour sampling format.

[0271] Further resolution scheme 11' 2 If a further block 18b of a given second color component is used, 2 A further block 18b of the first colour component at the same location of 1 For example, block 18b 1 and 18b 2 According to one embodiment, this pixel is determined based on a pixel located in the top left corner, the top right corner, the bottom left corner, the bottom right corner and / or in a further block 18b of a given second color component. 2 It is positioned somewhere in between.

[0272] A first color component 10b of a further picture 10 1 selects one from the first set of intra prediction modes for each further block of the intra predicted first colour component of the further picture 10b to decode further block-by-block.

[0273] For each further block of the intra predicted second color component further picture 10b, one can be selected from the first option and the second option. According to the first option, for each intra predicted second color component further block, e.g. a given second color component further block 18b 2 the intra prediction mode for each further block 18b of the intra predicted second color component 2 The intra prediction mode for the co-located further block 18b of the first color component 1 The intra prediction mode selected for is a matrix-based intra prediction mode 510. 1 ~510 m , then a further block 18b of the co-located first color component is generated, which is equivalent to the planar intra prediction mode 504. 1 based on the intra prediction mode selected for the first color component. 1 For example, the intra prediction mode may be a planar intra prediction mode 504, a DC intra prediction mode 506, or a directional intra prediction mode 500. 1 ~500 1 and matrix-based intra-prediction mode 510 1 ~510 m , then a further block 18b of the respective intra predicted second color component 2 The intra prediction mode of the co-located further block 18b of the first color component 1 According to a second option, each intra-predicted second color component block 18b 2 The intra prediction mode for each intra predicted second color component block 18b 2 Intra mode index 509 present in data stream 12 for 2 The intra mode index 509 is selected based on 2For example, for selection from a first set of intra prediction modes, the co-located intra predicted first color component block 18b 1 Further intra mode indexes 507 present in the data stream for 2 In addition to the above, it is present in the data stream 12.

[0274] Optionally, the device is configured to split yet a further picture 10c of multiple color components and different color sampling formats, where the multiple color components are sampled differently. As shown in FIG. 13, a first color component 10c 1 is the second color component 10c 2 13, still further pictures are sampled according to the 4:2:1 color sampling format. However, it is clear that other color sampling formats than the 4:4:4 color sampling format can also be used. This is the first division scheme 11' 1 Once again, regarding the use of the further division scheme 11' 2 The use of 10c has been shown once. Independent of the partitioning scheme 11', a subsequent prediction of yet a further picture 10c can be performed.

[0275] A first colour component 10c of a further picture 10c 1 selects one from the first set of intra prediction modes for each of yet further blocks of the intra predicted first color component of the yet further picture 10c to decode in a yet further block-by-block manner.

[0276] Further, the device is configured to select, for example, for each intra-predicted second color component, still further blocks of the still further picture 10c from the first option and the second option. According to the first option, the still further blocks 18c of the respective intra-predicted second color component are selected from the first option and the second option. 2the intra prediction mode for each of the intra predicted second color components is 2 The intra prediction mode for a further block 18c of the first color component is 1 The intra prediction mode selected for is a matrix-based intra prediction mode 510. 1 ~510 m , then a further block 18c of the co-located first color component is selected to be equal to the planar intra prediction mode 504. 1 based on the intra prediction mode selected for the co-located block 18c of the first color component. 1 For example, the intra prediction mode selected for is a planar intra prediction mode 504, a DC intra prediction mode 506, or a directional intra prediction mode 500. 1 ~500 l A matrix-based intra-prediction mode 510, 1 ~510 m , then a further block 18c of the respective intra predicted second color component 2 The intra prediction mode for the co-located further block 18c of the first color component 1 According to a second option, the further blocks 18c of the respective intra-predicted second color components are 2 the intra prediction mode for each of the intra predicted second color components is 2 Intra mode index 509 present in the data stream for 3 Optionally, an intra mode index 509 3 a further block 18c of the intra-predicted first color component that is co-located for selection from a first set of intra-prediction modes; 1 Yet further intra-mode indexes 507 present in the data stream for 3 In addition to the above, it is present in the data stream 12.

[0277] According to one embodiment, block 18a in data stream 12 2 , 18b 2 and / or 18c 2 When the residual coding color transform mode is signaled to be deactivated, for example when ACT (adaptive color transform) is deactivated, the selection between the first and second options is 2 , a further block 18b of a respective intra predicted second color component 2 , and / or yet further blocks 18c of the respective intra predicted second color component 2 1. Block 18a in data stream 12. 2 , 18b 2 and / or 18c 2 If the residual coding color transform mode is notified to be activated, for example, when ACT (adaptive color transform) is activated, no signaling is required. In this case, i.e., the residual coding color transform mode is activated by block 18a 2 , 18b 2 and / or 18c 2 For example, when ACT (Adaptive Color Transform) is activated, the device may be configured to infer that the first option should be selected.

[0278] When ACT is used on a given block, for example, the chroma mode is assumed to be the DM mode, i.e., the first option. It can be said that for ACT in particular, a strong correlation of the prediction signals across all channels is beneficial, and such correlation can be increased if the same intra prediction mode is used for all three components of the block. The experimental results reported below can be said to support this view, in the sense that the proposed changes have a significant impact on camera-captured content in RGB format, which is claimed to be the intersection for which MIP and ACT were primarily designed.

[0279] 8.3 Experimental results In this section, experimental results are reported for 4:4:4 according to typical test conditions. In Tables 1 and 2 the results of the proposed modifications compared to the VTM-7.0 anchor for AI and RA configurations, respectively, are reported. The corresponding simulations were performed on an Intel Xeon cluster (E5-2697A v4, AVX2 on, turbo boost off) with Linux OS and GCC7.2.1 compiler. Results are reported for RGB and YUV according to CE-8 conditions. For single tree off, the proposed modifications do not change the bitstream, so single tree is always enabled.

[0280] [Table 3] [Table 4] [Table 5] [Table 6]

[0281] 8.4 Conclusion This document proposes to enable MIP for all three channels in the case of 4:4:4 content and single tree. In this case, it is proposed to generate the chroma intra prediction signal in MIP mode when the luma component uses MIP mode on the intra block and the chroma intra mode is DM mode. It is proposed to adopt the technique described in this document in the next working draft of VVC.

[0282] 9 References [1] P. Helle et al., “Non-linear weighted intra prediction”, JVET-L0199, Macao, China, October 2018. [2] F.Bossen, J.Boyce, K.Suehring, X.Li, V.Seregin, “JVET common test conditions and software reference configurations for SDR video”, JVET-K1010, Ljubljana, SI, July 2018. [3] B. Bross, J. Chen, S. Liu, Y.-K. Wang, Verstatile Video Coding (Draft 7), Document JVET-P2001, Version 14 , Geneva, Switzerland, October 2019 […]Common test conditions for 4:4:4

[0283] Further embodiments and examples In general, the examples may be implemented as a computer program product having program instructions operable to perform one of the methods when the computer program product is executed on a computer. The program instructions may be stored on a machine-readable medium, for example.

[0284] Another example comprises the computer program stored on a machine-readable medium for performing one of the methods described herein.

[0285] In other words, an example of a method is therefore a computer program having program instructions for performing one of the methods described herein, when the computer program runs on a computer.

[0286] A further example of a method is therefore a data carrier medium (or digital storage medium, or computer readable medium) comprising recorded thereon a computer program for performing one of the methods described herein. The data carrier medium, digital storage medium, or recorded medium is tangible and / or non-transitory rather than an intangible and transitory signal.

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

[0288] Further examples include a processing means, such as a computer, or a programmable logic device, for performing one of the methods described herein.

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

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

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

[0292] The above examples are merely illustrative to illustrate the above principles. It is understood that modifications and variations of the arrangements and details described herein will become apparent. It is therefore the intention to be limited only by the scope of the appended claims and not by the specific details presented by way of description and illustration of the examples herein.

[0293] Equal or equivalent elements or elements having equal or equivalent functionality are represented in the following description by equal or equivalent reference signs, even if they occur in different figures.

Claims

1. A method for decoding a picture (10) from a data stream, the picture (10) comprising a luma component (10 1 ) and chroma components (10 2 ), said method comprising: The luma component (10 1 ) using a first matrix-based intra-prediction (MIP) mode indicated by an index signaled in the data stream, where a vector based on upper and left neighboring samples of the first block is multiplied by a matrix corresponding to the first MIP mode to predict the first block; determining whether a 4:4:4 color sampling format is being used; The luma component (10 1 ) and the chroma component (10 2 determining whether a single tree is being used to split the coding tree nodes for In response to the 4:4:4 color sampling format and the determination that the single tree is being used, the chroma components (10 2 selecting an intra prediction mode for decoding a second block of the first MIP mode; in response to determining that at least one of the 4:4:4 color sampling format and the single tree is not used, selecting an intra prediction mode for decoding the second block to be a planar intra prediction mode; A method comprising:

2. The method of claim 1 , further comprising determining a set of MIP modes from three possible sets of MIP modes depending on a dimension of the first block.

3. The method of claim 2 , further comprising determining the first MIP mode from the set of MIP modes by decoding the first MIP mode from the data stream.

4. The method of claim 2 , wherein the three possible sets of MIP modes include a first set of size sixteen, a second set of size eight, and a third set of size six.

5. The method of claim 1 , wherein the vector is based on downsampling the above and left adjacent samples.

6. A decoder for decoding a picture (10) from a data stream, said picture (10) comprising a luma component (10 1 ) and chroma components (10 2 ), the decoder comprising: The luma component (10 1 ) using a first matrix-based intra-prediction (MIP) mode indicated by an index signaled in the data stream, where a vector based on upper and left neighboring samples of the first block is multiplied by a matrix corresponding to the first MIP mode to predict the first block; determining whether a 4:4:4 color sampling format is being used; The luma component (10 1 ) and the chroma component (10 2 determining whether a single tree is being used to split the coding tree nodes for In response to the 4:4:4 color sampling format and the determination that the single tree is being used, the chroma components (10 2 selecting an intra prediction mode for decoding a second block of the first MIP mode; in response to determining that at least one of the 4:4:4 color sampling format and the single tree is not used, selecting an intra prediction mode for decoding the second block to be a planar intra prediction mode; A decoder configured to:

7. The decoder of claim 6 , further configured to determine a set of MIP modes from three possible sets of MIP modes depending on a dimension of the first block.

8. The decoder of claim 7 , further configured to determine the first MIP mode from the set of MIP modes by decoding the first MIP mode from the data stream.

9. 8. The decoder of claim 7, wherein the three possible sets of MIP modes include a first set of size 16, a second set of size 8, and a third set of size 6.

10. The decoder of claim 6 , wherein the vector is based on downsampling the above and left adjacent samples.

11. A method for encoding a picture (10) into a data stream, the picture (10) comprising a luma component (10 1 ) and chroma components (10 2 ), said method comprising: The luma component (10 1 ) using a first matrix-based intra-prediction (MIP) mode according to an index signaled in the data stream, wherein a vector based on upper and left neighboring samples of the first block is multiplied by a matrix corresponding to the first MIP mode to predict the first block; determining whether to use a 4:4:4 color sampling format; The luma component (10 1 ) and the chroma component (10 2 determining whether to use a single tree to split a coding tree node for Based on the 4:4:4 color sampling format and the decision to use a single tree, the chroma components (10 2 selecting an intra prediction mode for encoding a second block of the first MIP mode; selecting an intra-prediction mode for encoding the second block to be a planar intra-prediction mode based on a decision not to use at least one of the 4:4:4 color sampling format and the single tree; A method comprising:

12. The method of claim 11 , further comprising determining a set of MIP modes from three possible sets of MIP modes depending on a dimension of the first block.

13. The method of claim 12 , further comprising encoding the first MIP mode into the data stream.

14. The method of claim 12 , wherein the three possible sets of MIP modes include a first set of size 16, a second set of size 8, and a third set of size 6.

15. The method of claim 11 , wherein the vector is based on downsampling the above and left adjacent samples.

16. An encoder for encoding a picture (10) into a data stream, the picture (10) comprising a luma component (10 1 ) and chroma components (10 2 ), the encoder comprising: The luma component (10 1 ) using a first matrix-based intra-prediction (MIP) mode according to an index signaled in the data stream, wherein a vector based on upper and left neighboring samples of the first block is multiplied by a matrix corresponding to the first MIP mode to predict the first block; determining whether to use a 4:4:4 color sampling format; The luma component (10 1 ) and the chroma component (10 2 determining whether to use a single tree to split a coding tree node for Based on the 4:4:4 color sampling format and the decision to use a single tree, the chroma components (10 2 selecting an intra prediction mode for encoding a second block of the first MIP mode; selecting an intra-prediction mode for encoding the second block to be a planar intra-prediction mode based on a decision not to use at least one of the 4:4:4 color sampling format and the single tree; An encoder configured to:

17. The encoder of claim 16, further configured to determine a set of MIP modes from three possible sets of MIP modes depending on a dimension of the first block.

18. The encoder of claim 17 further configured to encode the first MIP mode into the data stream.

19. 20. The encoder of claim 17, wherein the three possible sets of MIP modes include a first set of size 16, a second set of size 8, and a third set of size 6.

20. The encoder of claim 16 , wherein the vector is based on downsampling the above and left adjacent samples.

Citation Information

Patent Citations

  • Moving image coding apparatus and moving image coding method

    JP2010045853A

  • Video encoding method and system using adaptive color conversion

    JP2017005688A

  • Data encoding and decoding

    JP2018129858A

  • Method and device for intra-predictive encoding / decoding of a coding unit comprising picture data, wherein the intra-predictive encoding relies on a prediction tree and a transform tree

    JP2019511153A

  • Color image encoding apparatus, color image decoding apparatus, color image encoding method, and color image decoding method

    WO2014163200A1