Partition-based intra-encoding concept

The intra-predictive coding concept enhances coding efficiency by partitioning blocks and applying sequential spatial predictions, reducing signaling overhead and improving prediction accuracy in block-based video codecs.

JP7869907B2Active Publication Date: 2026-06-03FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Patents
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2025-05-29
Publication Date
2026-06-03

AI Technical Summary

Technical Problem

Existing block-based video codecs like HEVC face inefficiencies in intra-prediction due to high signaling overhead and reduced accuracy when predicting larger blocks, necessitating improved intra-prediction modes to enhance coding efficiency.

Method used

Intra-predictive coding concept that divides blocks into multiple partitions along a certain dimension, applying spatial predictions sequentially and correcting predictors using prediction residuals, reducing signaling overhead and maintaining accurate predictions.

Benefits of technology

Reduces signaling overhead and improves coding efficiency by allowing decoders to reconstruct multiple samples simultaneously, maintaining accurate predictions with reduced average sample distance from adjacent reference samples.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 0007869907000010
    Figure 0007869907000010
  • Figure 0007869907000011
    Figure 0007869907000011
  • Figure 0007869907000012
    Figure 0007869907000012
Patent Text Reader

Abstract

To provide an encoder and a decoder that further increase the coding efficiency of intra coding.SOLUTION: An encoder divides a predetermined intra coding block 80 of a bit stream 14 into a plurality of partitions 1021-1024 and 1121-1128 along a certain dimension to perform intra prediction coding of a specific block of a picture by using a specific intra coding mode. The partitions are sequentially spatially predicted by using an intra prediction coding mode 116 of which the specific block is notified for reconstruction, and a predictor thus obtained is corrected by using a predictive residual to make the reconstruction of a sample for the previous partition available in a decoder when the current partition is subsequently processed.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present invention relates to the concept of intra coding for use in block - based coders such as, for example, hybrid video coders.

Background Art

[0002] Intra-prediction in HEVC is performed by extrapolating the decoded boundary samples of adjacent blocks according to a certain pattern, i.e., according to 33 angular modes, one DC mode, and one planar mode, given a block [1]. The decoder is then notified of one intra-prediction mode that minimizes the rate-distortion cost. While there are known codecs that support many intra-prediction modes (IPMs), the intra-predictions achieved by these known codecs still have room for improvement in discovering better intra-predictors that lead to higher coding efficiency. This is relevant not only to HEVC but also to other block-based codecs that use intra-prediction. Given that more accurate predictors reduce prediction residuals, thereby reducing the signaling overhead associated with coding prediction residuals, finding a set of intra-prediction modes that are suitable for efficiently coding the interiors of a block requires considering the overhead of signaling the intra-prediction modes in terms of signaling overhead and the resulting quality of predictors obtained by these intra-prediction modes. To keep the signaling overhead associated with intra-prediction modes low, the intra-prediction blocks need to be large, meaning the granularity at which the intra-prediction modes are signaled needs to be coarse. However, spatial prediction of larger blocks tends to be less accurate because the average sample distance between the samples inside the intra-prediction block (i.e., the block to be predicted) and the adjacent already decoded / encoded samples (i.e., reference samples) becomes larger. HEVC mitigates this dilemma somewhat by allowing the transform residual block to inherit the intra-prediction mode of the corresponding encoded unit, compared to the case where the transform residual block forms leaf blocks that are subdivided by multi-tree subdivision of the encoded unit. Even in this case, however, signaling overhead is still required to notify the decoder from the encoder of the subdivisions from individual intra-encoded encoded units to the transform block.

[0003] Therefore, it is desirable to acquire concepts that further improve the coding efficiency of intra-coding. [Overview of the project] [Problems that the invention aims to solve]

[0004] Therefore, the object of the present invention is to provide a more efficient intra coding concept.

[0005] This objective is achieved by the subject matter of the independent claim of the present application.

[0006] The present invention is based on the finding that block-based coding of pictures can be made more efficient by providing an intra-predictive coding concept. According to this concept, a given block of a picture is intra-predictively coded using an intra-coding mode, and the given block is divided into multiple partitions along a certain dimension, the number of partitions being greater than 2, and / or the partitions being 1 sample wide along the dimension. When reconstructing, spatial predictions are sequentially applied to these partitions using the intra-predictive coding mode signaled for the given block, and then the predictors thus obtained are corrected using a prediction residual. This allows the decoder to reconstruct multiple samples at once for the preceding multiple partitions when processing the next, i.e., the current partition. As a result, the signaling overhead related to partitioning can be omitted or kept low. For example, signaling related to the partition dimension may be spent in the data stream only, in which case the distinction between a partition along the vertical axis, where a given block is divided into multiple horizontal slices, each slice having a predetermined block width, and a partition along the horizontal axis, where a given block is divided into multiple vertical slices, each slice having a predetermined block height, is signaled. The number of partitions may be inherently clear, for example, by having a number of partitions agreed upon between the encoder and decoder, in which case the encoder and decoder may divide a given block into this number of partitions, or they may divide a given block into the same number of partitions as the number of samples along a given dimension, with each partition having one sample width along its given dimension, i.e., divided into multiple partitions with one sample width. This allows the partitions to keep the overall signaling overhead of a given block to which the intra-prediction mode is signaled in the data stream low.On the other hand, it provides encoders and decoders with the possibility of reducing the average distance of samples in a given block from already reconstructed / encoded adjacent reference samples. These reference samples are at least partially within the given block itself, i.e., within previously processed partitions where the predicted residuals have already been determined, and are available for modifying the predictors used for the partitions in which they are located.

[0007] Advantageous aspects of the present invention are the subject matter of the dependent claims. Preferred embodiments of the present application are described below with reference to the drawings. [Brief explanation of the drawing]

[0008] [Figure 1] Figure 1 shows a block diagram of a device for predictive coding of a picture, as an example of an encoder in which the intra-predictive concept according to an embodiment of the present invention can be implemented. [Figure 2] Figure 2 shows a block diagram of a device for predictively decoding a picture, which is compatible with the device in Figure 1, as an example of a decoder in which the intra-predictive concept according to the embodiment of the present invention can be implemented. [Figure 3] Figure 3 is a schematic diagram illustrating an example of the relationship between the predicted residual signal, the predicted signal, and the reconstructed signal, showing the possibility of setting subdivisions for each of the coding mode selection, transformation selection, and transformation performance. [Figure 4] Figure 4 shows a schematic diagram illustrating the partitioning process of an intra-encoded block in an embodiment that allows selection between different partitioning dimensions, namely horizontal partitioning and vertical partitioning. [Figure 5] Figure 5 shows a schematic diagram illustrating the sequential processing of intra-encoded block divisions according to the division options. [Figure 6] A schematic diagram is shown illustrating the predicted derivation of the partition filling process. [Figure 7]An example of partitioned intra-prediction blocks is shown, divided according to horizontal and vertical partitioning modes, each having two different intra-prediction modes associated with it, demonstrating the possibility of determining partition order based on the intra-prediction modes associated with each intra-prediction block. [Figure 8] A schematic diagram is shown illustrating the possible signaling spent for the intra-prediction block 80 processed using the partition option. [Figure 9] A schematic diagram is shown illustrating a possible method for transmitting predicted residuals of a partition according to one embodiment. [Figure 10] A schematic diagram is shown illustrating the determination of the partial sum of coding costs related to the intra-prediction mode classification, so that the test can be stopped when it becomes clear that it does not perform better than any of the normal intra-prediction modes. [Figure 11] A flowchart of the encoder modes or operations for performing a partition mode test according to one embodiment is shown. [Figure 12a] Examples of alternative divisions of intra-encoded blocks are shown as further embodiments. [Figure 12b] An example of an alternative division of an intra-encoded block is shown as an illustrative comparative embodiment. [Modes for carrying out the invention]

[0009] The following diagrams illustrate the concepts, but first, to form an example of an encoding framework that may include an embodiment of an intra-predictive codec, we present a description of a block-based predictive codec encoder and decoder for encoding video (moving image) pictures. Conventional encoders and decoders are described with respect to Figures 1-3. Next, we present an embodiment of the intra-predictive concept of the present application, along with an explanation of how the concept can be incorporated into the encoders and decoders of Figures 1 and 2, respectively. The embodiments shown in subsequent Figures 4 and beyond may also be used to form encoders and decoders that do not operate according to the encoding framework that underlies the encoders and decoders of Figures 1 and 2.

[0010] Figure 1 illustrates a device for predictively encoding picture 12 into a data stream 14 using transform-based residual coding as an example. The device or encoder is indicated by reference numeral 10. Figure 2 illustrates the corresponding decoder 20, i.e., a device 20 configured to predictively decode picture 12' from the data stream 14 using transform-based residual decoding as well. Here, an apostrophe is used to indicate that picture 12' reconstructed by decoder 20 is deviated from the original picture 12 encoded by device 10 due to coding loss introduced by quantization of the predictive residual signal. While Figures 1 and 2 use transform-based predictive residual coding as an example, embodiments of the present application are not limited to this type of predictive residual coding. This also applies to other details described with respect to Figures 1 and 2, as outlined below.

[0011] Encoder 10 is configured to apply a spatial-spectral transform to the predicted residual signal and encode the resulting predicted residual signal into a data stream 14. Similarly, decoder 20 is configured to decode the predicted residual signal from the data stream 14 and apply a spectral-spatial transform to the resulting predicted residual signal.

[0012] The encoder 10 may internally include a prediction residual signal generation unit 22 that generates a prediction residual 24 to measure the deviation of the prediction signal 26 from the original signal, i.e., the picture 12. The prediction residual signal generation unit 22 may be, for example, a subtractor that subtracts the prediction signal from the original signal, i.e., the picture 12. Next, the encoder 10 further includes a converter 28 that applies a spatial-spectral transform to the prediction residual signal 24 to obtain a spectral domain prediction residual signal 24', which is then quantized by a quantizer 32 included in the encoder 10. The thus quantized prediction residual signal 24'' is encoded into a bitstream 14. For this purpose, the encoder 10 may optionally include an entropy coder 34 that entropy encodes the transformed and quantized prediction residual signal 24''. The predicted residual 26 is generated by the prediction stage 36 of the encoder 10 based on the predicted residual signal 24'', which is encoded in the data stream 14 and decodeable from the data stream 14. For this reason, the prediction stage 36 may internally include an inverse quantizer 38, as shown in Figure 1, which inversely quantizes the predicted residual signal 24'' to obtain the spectral domain predicted residual signal 24''''. The spectral domain predicted residual signal 24'''' corresponds to signal 24'', excluding quantization losses. Following the inverse quantizer 38 is an inverse converter 40 that performs an inverse transform, i.e., spectral-spatial transform, on the predicted residual signal 24'''' to obtain the predicted residual signal 24''''. This predicted residual signal 24'''' corresponds to the original predicted residual signal 24, excluding quantization losses. Next, the coupler 42 of the prediction stage 36 recombines the predicted signal 26 and the predicted residual signal 24'''' by addition or other means to obtain the reconstructed signal 46, i.e., a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to signal 12'. Next, the prediction module 44 of the prediction stage 36 generates a predicted signal 26 based on signal 46, for example by using spatial prediction, i.e., intra-prediction, and / or temporal prediction, i.e., inter-prediction.

[0013] Similarly, the decoder 20 may be internally composed of components corresponding to the prediction stage 36 and interconnected accordingly. In particular, the entropy decoder 50 of the decoder 20 may entropically decode the quantized spectral domain prediction residual signal 24'' from the data stream, and then the interconnected inverse quantizer 52, inverse converter 54, coupling unit 56 and prediction module 58, which cooperate in the manner described above with respect to the module of the prediction stage 36, reconstruct the signal based on the prediction residual signal 24'', and as a result, the output of the coupling unit 56 yields the reconstructed signal, i.e., picture 12', as shown in Figure 2.

[0014] Although not specifically described above, it is readily apparent that the encoder 10 can set several coding parameters, including, for example, prediction mode and motion parameters, according to some optimization scheme, such as optimizing the coding cost based on some rate and distortion-related criteria. For example, the encoder 10 and decoder 20 and the corresponding modules 44 and 58 can support different prediction modes, such as intra-coding mode and inter-coding mode, respectively. The granularity at which the encoder and decoder switch between these prediction mode types may correspond to the subdivision of pictures 12 and 12' into coding segments or coding blocks, respectively. The pictures can be subdivided, for example, into intra-coding blocks and inter-coding blocks at the level of these coding segments.

[0015] As outlined in more detail below, intra-coded blocks are predicted based on the spatial, already coded / decoded neighborhoods of each block. Several intra-coded modes may exist, including directional or angular intra-coded modes, which can be selected for each individual intra-coded segment. According to the selected mode, each segment is filled into individual intra-coded segments by extrapolating neighboring sample values ​​along a certain direction, but that direction is unique for each directional intra-coded mode. An intra-coded mode may also include one or more further modes, such as a DC coding mode, in which case the prediction for each intra-coded block is to assign DC values ​​to all samples within each intra-coded segment, and / or may include a planar intra-coded mode, in which case the prediction for each block is approximated or determined as a spatial distribution of multiple sample values, and that spatial distribution of sample values ​​is described by using a two-dimensional linear function over multiple sample locations of each intra-coded block, and moving the slope and intercept of the plane defined by that two-dimensional linear function based on neighboring samples.

[0016] In contrast, inter-encoded blocks can be predicted, for example, in time. In the case of inter-encoded blocks, motion vectors may also be signaled within the data stream, and these motion vectors indicate the spatial shift of a previously encoded picture in the video to which picture 12 belongs, i.e., the portion of the previously encoded / decoded picture that is sampled to obtain a prediction signal for each inter-encoded block. In other words, in addition to residual signal coding included in the data stream 14, such as entropy coding transformation coefficient levels representing the quantized spectral domain prediction residual signal 24'', the data stream 14 may also encode and include any other parameters, such as coding mode parameters for assigning coding modes to different blocks, prediction parameters for some blocks such as motion parameters for the inter-encoded segments, and parameters that control and notify the subdivision of picture 12 and 12' into segments, respectively. The decoder 20 uses these parameters to subdivision the picture in the same way that the encoder did, assigning each segment the same prediction mode, performing the same prediction, and obtaining the same prediction signal.

[0017] FIG. 3 shows the relationship between the reconstructed signal, i.e., the reconstructed picture 12’, on the one hand, and the combination of the prediction residual signal 24’’’’ and the prediction signal 26 signaled in the data stream, on the other hand. As described above, this combination may be an addition. The prediction signal 26 is shown in FIG. 3 as a subdivision into intra-coded blocks and inter-coded blocks of the picture area, the intra-coded blocks being shown exemplarily with hatching and the inter-coded blocks being shown exemplarily without hatching. This subdivision may be any subdivision, and the picture area is divided into blocks by a regular subdivision of the picture area into blocks or rows and columns of blocks, or by a multi-tree subdivision of picture 12 into leaf blocks of various sizes, such as a quadtree subdivision, and a mixture of these subdivisions is shown in FIG. 3. There, the picture area is first subdivided into rows and columns of tree root blocks and then further subdivided according to a recursive multi-tree subdivision. Repeating, the data stream 14 may have therein, in encoded state, the intra-coding mode for the intra-coded blocks 80, the intra-coding mode assigning one of several supported intra-coding modes to the individual intra-coded blocks 80. Further details will be described below.

[0018] In the case of inter-encoded block 82, the data stream 14 may have one or more motion parameters encoded within it. Generally speaking, inter-encoded block 82 is not limited to those encoded in time. Alternatively, inter-encoded block 82 may be any block predicted from a portion encoded prior to the current picture 12 itself, for example, a previously encoded picture in the video to which picture 12 belongs, or a picture in another view, or a lower layer in the hierarchy if the encoder and decoder are hierarchical encoder and decoder, respectively. The predicted residual signal 24'''' in Figure 3 is also shown as a subdivision of the picture region into block 84. These blocks are sometimes called transform blocks to distinguish them from encoded blocks 80 and 82. In fact, Figure 3 shows that the encoder 10 and decoder 20 may each use two different subdivisions to divide picture 12 and picture 12' into multiple blocks, namely, one subdivision subdividing into encoded blocks 80 and 82, and the other subdivision subdividing into block 84. Both subdivisions may be the same, meaning that each encoded block 80 and 82 may simultaneously form a transform block 84. However, Figure 3 shows, for example, a case where the subdivision to a transform block 84 forms an extension of the subdivision to encoded blocks 80 / 82. As a result, either the boundary between the two blocks 80 and 82 coincides with the boundary between the two blocks 84, or in other words, each block 80 / 82 coincides with one of the transform blocks 84, or with a group of transform blocks 84. However, the subdivisions may also be determined or selected independently of each other so that the transform block 84 intersects the block boundaries between blocks 80 / 82. As far as the subdivision to a transform block 84 is concerned, the same explanation as that given for the subdivision to blocks 80 / 82 applies.That is, the block 84 may be the result of regularly sub-dividing the picture area into a plurality of blocks, that is, blocks arranged in rows and columns, may be the result of a recursive multi-tree sub-division of the picture area, or a combination thereof, or other types of block formation. Incidentally, it should be noted that the blocks 80, 82, and 84 are not limited to secondary shapes, rectangles, or other shapes.

[0019] FIG. 3 shows that the combination of the prediction signal 26 and the prediction residual signal 24'''' directly yields the reconstructed signal 12'. However, it should be noted that according to an alternative embodiment, a plurality of prediction signals 26 greater than 1 may be combined with the prediction residual signal 24'''' to obtain the picture 12' as a result.

[0020] In FIG. 3, the transform segment 84 shall have the following meaning. The transform unit 28 and the inverse transform unit 54 perform the transform in units of these transform segments 84. For example, many coders use a certain type of DST or DCT for all transform blocks 84. In some coders, such a transform is skipped, so for some segments 84, the prediction residual signal is directly encoded in the spatial domain. However, according to the embodiments described below, the encoder 10 and the decoder 20 are configured such that they support some transforms. For example, the transforms supported by the encoder 10 and the decoder 20 can include the following. · DCT-II (or DCT-III), where DCT represents the discrete cosine transform · DST-IV, where DST represents the discrete sine transform · DCT-IV · DST-VII · Identity transform (IT)

[0021] Of course, while the transform unit 28 supports all forward transform versions of these transforms, the decoder 20 or the inverse transform unit 54 will support the corresponding backward or inverse versions of them. • Inverse DCT-II (or Inverse DCT-III) · Reverse DST-IV ·Inverse DCT-IV · Reverse DST-VII • Identity transformation (IT)

[0022] The following description provides details of the transformations that may be supported by the encoder 10 and decoder 20. In any case, the set of supported transformations may include only one transformation, such as a single spectral-space or spatial-spectral transformation.

[0023] As described above, Figures 1-3 have been presented as examples of how the intra-prediction concept, further described below, may be implemented to form specific examples of encoders and decoders according to the present application. So far, the encoders and decoders in Figures 1 and 2 represent possible implementations of the encoders and decoders described below in this specification, respectively. When constructing an embodiment of the intra-prediction described below in the present application within the encoders and decoders of Figures 1 and 2, as outlined in more detail below, the encoder in Figure 1 and the decoder in Figure 2 support, as at least one optional choice, processing the intra-prediction block 80 in the manner outlined below. Thus, the embodiments described below refer to encoders equivalent to the encoder 10 in Figure 1 that process the intra-encoded block 80 in the manner outlined below, and the same applies to the decoder in Figure 2. That is, Figure 2 represents an example of a decoder according to one embodiment in which the intra-encoded block is processed in the manner outlined below. However, Figures 1 and 2 are only specific examples. However, an encoder according to an embodiment of the present invention may perform block-based coding of picture 12 using concepts different from the encoder in Figure 1, as outlined below. For example, the encoder may not be a video encoder, may not support interprediction, or the subdivision into blocks 80 may be performed in a different manner than illustrated in Figure 3, or the encoder may encode the predictive residuals directly in the spatial domain instead of using transformative predictive residual coding. Similarly, a decoder according to an embodiment of the present invention may perform block-based decoding of picture 12' from data stream 14 using the intrapredictive coding concept outlined below, but may differ from the decoder 20 in Figure 2, as outlined below. For example, the decoder may not be a video decoder but a still picture decoder, may not support intraprediction, or may subdivision picture 12' into blocks in a different manner than described with respect to Figure 3, and / or derive the predictive residuals from data stream 14 in the spatial domain instead of the transformative domain.

[0024] Having given the above caveats, the following description will focus on describing intraprediction according to embodiments of the present invention. According to the intraprediction presented herein, an intraprediction block, such as block 80 in Figure 4, may be divided into one-dimensional horizontal partitions or one-dimensional vertical partitions. Such block processing may be available for intraprediction blocks 80 of any size, or it may be limited to blocks 80 within a given range of block sizes, such as blocks larger than a certain size. "One-dimensional"—when relating to partitions that are the result of partitioning—refers to the fact that multiple partitions have only one sample width along the partition dimension. However, the one-dimensionality of the partitioning mode discussed herein refers to the fact that the partitioning is performed along a certain dimension, and the resulting multiple partitions are like stripes that extend completely across the block in a direction traversing the partitioning direction. See, for example, Figure 4. Figure 4 shows, on the left, an intraprediction block 80, i.e., a block to be decoded or encoded. It has dimensions W × H. In other words, this is a W×H dimension block, where H is the height and W is the width of block 80 measured with multiple samples. According to Figure 4, two partitioning or division options are available. One option is a horizontal partitioning 100, in which case block 80 is divided or divided into several partitions 1021, 1022, 1023 and 1024 along the vertical axis, i.e., the partition dimension 104. According to the example in Figure 4, which is an application example in the following description, each partition 1021-1024 is one sample width as indicated by the double-headed arrow 106, so the number of partitions 1021-1024 obtained from block 80 is equal to H, i.e., the height of block 80 in units of samples 108 of block 80. However, it is clear that the division may be performed by the encoder and decoder according to another method agreed upon between the encoder and decoder, as follows.For example, the division of block 80 along dimension 104 may be done in a manner that yields a predetermined number of partitions 102i, where the predetermined number is, for example, greater than 2 or a mixture thereof, and the dimension of block 80 is evenly distributed along the partition dimension to the predetermined number of partitions.

[0025] Another encoding option, shown in Figure 4 and indicated by reference numeral 110, corresponds to dividing block 80 into vertical partitions 1121, 1122, ..., 1128. That is, according to option 110, block 80 is divided into partitions 112i along the horizontal axis, i.e., the horizontal partition dimension 104. In the case of option 100, each partition 102i has the same width as block 80, i.e., has the width W of the block, but each partition 112i adopts the height H of block 80, i.e., has a height H. In summary, similar to the description of option 100, vertical partitioning 110 can divide block 80 into W partitions 112i, where W represents the horizontal width of block 80 measured at sample 108, and each partition 112i is 1 sample width horizontally. However, the partitioning according to option 110 can also be performed in another manner agreed upon between the encoder and decoder.

[0026] Therefore, as shown in Figure 4, the encoder can freely divide block 80 into H W×1 partitions 102i according to the horizontal partitioning option 100, or into W 1×H partitions 112i according to the vertical partitioning option 110, and the partitioning option selected by the encoder for block 80 may be signaled in the data stream 14 for block 80, for example, by a corresponding partition dimension flag 114 in the data stream 14. However, it is clear that embodiments of the present application cover encoders and decoders that, by default, use only one of options 100 and 110 without requiring the flag 114 in the data stream. Furthermore, in other examples, the flag 114 may be transmitted in the data stream 14 depending on an intra-coding mode 116 that is signaled in the data stream 14 for block 80 from the encoder to the decoder. As described above, the intra-coding mode may indicate one from a set of available / supported intra-coding modes, including, for example, an angular mode, or optionally, one or more non-angular modes such as DC mode and planar mode. That is, according to alternative embodiments not further described below, the flag 114 may be transmitted within the data stream 14 in a manner that is conditionally dependent on the intra-encoding mode 116. According to the embodiments described below, the flag 114 exists within the data stream 14 for block 80 independently of the intra-encoding mode 116 signaled for block 80 within the data stream 14. However, the flag switching between the partitioning of the intra-encoded block 80 as described above and the different intra-encoding methods of block 80 outlined below may be dependent on the intra-encoding mode 116.

[0027] According to embodiments of the present invention, each of the partitions 102 / 112 is individually predicted, transformed, quantized, and encoded, and multiple partitions are processed sequentially in this manner. Thus, a reconfigured sample of a particular partition can be used to predict any subsequent partition 102 / 112 in the partition order among the multiple partitions into which block 80 is divided, and in this way the intra-prediction process circulates through the partitions 102 / 112 into which block 80 is divided. Figure 5 illustrates an intra-prediction block 80 divided according to option 100. Each partition 1021-1024 of block 80 is subjected to prediction, i.e., derivation of the predictor for each partition 102i, and tasks related to prediction residuals, i.e., modification of the predictor using the prediction residuals. The latter task can be performed by combining the prediction residuals and the predictor. This is done by the decoder for reconstruction. The encoder performs tasks related to prediction residuals, such as determining the prediction residuals, including transformations and quantization, and modifying the predictor using the prediction residuals. In other words, the prediction loop is kept synchronized with the decoder by filling the decoded picture buffer in the encoder with the reconstructed picture. The above tasks, namely prediction and residual processing, are performed individually for partitions 1021-1024 and sequentially across partitions. After these two steps are performed for the partition currently being processed, the next partition 102i is processed in the same manner in the partition order. The partition order is illustrated in Figure 5 using three arrows 126.

[0028] Figure 5 shows that the partition containing the top-leftmost pixel of block 80 is processed first before proceeding to the adjacent partition 1022 immediately below it, thus corresponding to the assignment of indices to partitions 1021-1024 in Figure 5. However, this order is merely an example, and as will become clear in the following description, this partition order may be chosen depending on other settings, such as the intra-encoding mode and / or the size of block 80, the dependency on the intra-encoding mode will be described later.

[0029] In the example described below, partition order 126 only changes between partitions traversing partitions 102 / 112. That is, immediately following partitions are directly adjacent to each other, and in partition type 100, the partition order proceeds from top to bottom or bottom to top, and in partition type 110, it proceeds from left to right or right to left, respectively. However, other examples are possible. For example, a partition order could be chosen in which partitions are scanned twice in the adjacent order described above, with the first scan processing every other partition in any applicable order such as top to bottom, bottom to top, left to right, or right to left, and then processing the remaining partitions in the same order or in the reverse order.

[0030] In any case, Figure 5 shows the first partition 1021, which is the partition that should be processed first and is currently being processed. For the first partition (1021 in this example), the set of neighboring samples 1181 used to form the predictor for partition 1021 may simply be selected based on samples outside the boundaries of block 80, since the samples in block 80 have not yet been processed, i.e., reconstructed or encoded, when processing the first partition of block 80. That is, the samples of set 1181 have already been reconstructed in the encoder using any predictions and modifications of the corresponding predictor with the prediction residuals transmitted in the data stream. They belong to previously encoded / decoded picture blocks, which may be inter-encoded, intra-encoded, or otherwise encoded blocks. As for the number and exact location of the samples in the set 1181 of neighboring samples used to form the predictor for the first partition 1021, they depend on the intra-encoded mode assigned to block 80. This intra-encoded mode is used congruently or equally for processing all partitions of block 80, as will be described below. To complete the processing of the first partition 1021, the decoder and encoder derive a predictor for this partition 1021 by filling this partition 1021 with one or more already reconstructed / encoded samples from set 1181, and its predictive residual is determined by the transformation and quantization described above, as far as the encoder is concerned. This predictive residual (the version transmitted in the data stream, i.e., including the quantization loss) is then used to reconstruct this partition 1021 by modifying the predictor using the predictive residual in data stream 14. For example, Figure 5 illustrates the predictive residual of partition 1021 with 1201, where 1201 contains transformation coefficients corresponding to the transformation of the predictive residual of partition 1021, and the description of data 1201 is described in detail below.

[0031] Now we move to the next partition in the partition order, i.e., partition 1022 in the example of Figure 5. The situation has changed in that the set of already reconstructed / encoded adjacent samples used to derive the predictor for partition 1022 may consist of samples located outside of sample block 80 and / or samples within block 80. That is, the samples within block 80 are the samples located within an already processed partition, in this case partition 1021 in the example of Figure 5, because the prediction residuals for these samples have already been determined and are already available in the data stream. That is, the encoder and decoder derive the predictor for this partition 1022, followed by the determination of the prediction residual in the encoder and the use of the prediction residual for correction of the predictor in the encoder and decoder, respectively. Next, this process continues with the next partition, i.e., the next partition in the partition order, thereby processing all partitions of block 80 sequentially.

[0032] As already mentioned above, the partition order 126 may be selected in a way other than traversing partitions so that directly consecutive partitions become directly adjacent partitions. In other words, the partition order may jump from one partition to the next. This means that the set of adjacent samples 118i used to derive each predictor by filling each partition 102i is not limited to the directly adjacent samples of each partition, as shown in Figure 5. This also relates to the selection of the start of the partition order 126. For example, suppose partition 1024 is the first partition in the partition order. In that case, its predictor can be derived by filling it with a set of adjacent samples 1184, which, although not shown in Figure 5, is a collection of samples located to the left and above block 80 along the perimeter of block 80. Some of the samples in set 1184 will not be directly adjacent to partition 1024. Incidentally, this would correspond to the situation of filling the last row of samples in a normal intra-prediction filling of block 80 as a whole. Such possibilities also apply to any partitions processed afterward, i.e., the second and subsequent partitions in the partition order. That is, their adjacent sample sets 118i may include samples that are not directly adjacent to each partition 102i. Furthermore, if the partition order is not limited to a traversal method such that consecutive partitions are directly adjacent to each other, the set of reference samples 118i for any second and subsequent processed partitions 102i may not only collect samples that are to the left and above each partition 102i, but may also include samples that are below each partition 1021, depending on whether any partition in block 80 was processed before partition 1021 according to the partition order. That is, set 180i may include samples located on three or more sides of partition 102i.

[0033] In short, Figure 5 illustrates the sequential processing of partitions 102 / 112 of block 80 with respect to horizontal partitions, but the same explanation applies to the vertical mode 110 with respect to vertical partitions 112i. For each partition 102i, the corresponding predicted residual 102i is included in the data stream 14. Data 1201-1204 together form the predicted residual 120 for block 80. It should be remembered that, according to alternative embodiments of the present application, transform residual coding may not be used, i.e., the predicted residual 120 for block 80 may be signaled directly in the data stream 14, for example, in the spatial domain. In this case, the data 1201-1204 of the various partitions 1021-1024 may not include separate fields for each partition in the data stream 14, as shown in Figure 5, where each data portion 120i represents the signaling of a particular transform of each partition 102i. Rather, in that case, the predicted residual 120 of block 80 may form one field of data 14. In this alternative embodiment, when the decoder processes a particular partition 102i, it would collect information about the predicted residual of that partition 102i from field 120. This procedure could also be applied when using a positively reversible version of the transformation so that quantization can be performed in the spatial domain.

[0034] Therefore, Figure 5 shows that in the encoder and decoder, two tasks are performed for each partition 102i: (1) a prediction derivation task 122 that generates a prediction or predictor for each partition 102i, i.e., a task that generates the predicted sample value for each sample of each partition 102i; and (2) a prediction residual-related task that is performed thereafter, i.e., the derivation of the prediction residuals in the encoder, including the quantization of the prediction residuals for entry into the data stream 14, and the reconstruction of the samples of each partition 102i by combining or modifying the prediction residuals and predictors in order to obtain the reconstructed samples of this partition 102i. The reconstructed samples can serve as a reservoir for the adjacent sample set 118j of partition 102j, which will be processed later according to the partition order 126 for the prediction derivation task.

[0035] Before proceeding to a further detailed description of the embodiments of the present invention, Figure 6 illustrates the process of predictive derivation 122 by filling the currently processed partition 102i. It should be remembered that the figure relating to the horizontal partition 102 is selected merely as an example, and the same explanation applies to the vertical partition 112. Figure 6 shows the currently processed partition 102i and the corresponding set of adjacent samples 118i that have already been reconstructed / encoded. As already mentioned with respect to Figure 5, the set 118i is not limited to samples 128 that are directly adjacent to or adjacent to partition 102i. However, due to the partition, the average distance 130 between the samples of partition 102i and the samples 128 of set 118i is lower when averaged over all samples in block 80 compared to when performing intra-prediction of block 80 as known from, for example, H.264 or HEVC. As explained with respect to Figure 5, predictor derivation or filling 122 is performed for each partition 102i using an intra-prediction mode associated with block 80, which represents one of the set of available intra-prediction modes. This set may include angular or directional modes in which the angle or direction 132 in which the sample content of an adjacent sample set 118i is copied to a sample 134 of partition 102i differs from each other. To perform this copy, the prediction for each sample 134 of partition 102i may be derived based on several adjacent samples 134 from set 118i located on the opposite side of the direction 132 from the sample 134. The number is defined, for example, by the kernel of the interpolation filter used to derive the inter-pelpositions between samples 128 of sample set 118i. Figure 6 shows, for example, that three samples 128 from set 118i are used to compute the prediction for one sample 134 from partition 102i currently being processed. Because the average distance of 130 is relatively small, the number of reference samples 134 per sample 134 in partition 102i can be kept low. Details are shown below.However, for completeness, it should be noted that the set of available intra-prediction modes may include the DC mode. In the DC mode, a single DC value is assigned to all samples 134 in partition 102i, and this DC value is derived by averaging the set of neighboring samples 118i. Furthermore, a planar mode is also possible, in which the predicted value of sample 134 is defined by a linear function over the sample positions in partition 102i, and the slope and offset of this linear function are derived based on the neighboring samples 118i. Furthermore, it should be noted that the set of neighboring samples 118i may differ depending on the intra-prediction mode selected for block 80, for example, it may differ between angular and non-angular modes, and between DC and planar.

[0036] For example, the latest JEM decoder offers 67 intra-prediction modes. Of these, 65 are angular modes, and two of them, namely DC and planar, form a non-directional texture. That is, performed on partitions 102 / 112, and following the predictor derivation 122 mentioned earlier and later, block 80 is divided / split into multiple partitions along dimension 104, the resulting partitions extending across the full width of the block in the direction traversing dimension 104 and being one sample width or more along direction 104. This 1D partition mode (simply called 1D partition mode) can be combined with any of the intra-prediction modes described above, or in other words, can be implemented using any of them. According to the 1D partition mode, as already explained with respect to Figure 5, all partitions 102 / 112 of a single block 80, such as the coding unit CU, use the same associated intra-prediction mode of block 80, thereby avoiding excessive overhead in signaling. This is because the intra-prediction mode 116 only needs to be transmitted once for block 80 within the data stream 14.

[0037] In other words, prediction 122 can be performed in the same way as in the two-dimensional case outlined in the JEM decoder. However, compared to JEM, only one line, horizontal or vertical, is computed for the currently processed partitions 102 / 112 so that the prediction process 122 can be adjusted accordingly. If a partition order is chosen that traverses partitions so that consecutive partitions are directly adjacent to each other, the prediction process 122 can correspond to the two-dimensional case of JEM, but only with respect to the first line, i.e., the line closest to the already reconstructed / encoded neighbor. In some cases, both HEVC and JEM allow the use of specific filters applied to the reference sample 128 or the resulting predictor. This is effective in the two-dimensional case to better predict samples in prediction block 80 that are far from the reference sample 128 and to reduce boundary discontinuities. However, by using partitions to partitions 102 / 112, it becomes possible to leverage the high correlation between neighboring pixels, which should be the goal.

[0038] In other words, the reduced average distance 130 should be used. Excessive smoothing may degrade this quality. Therefore, if the encoder or decoder can perform both types of intra prediction, i.e., intra prediction using the division described above with respect to Figures 4-6 and intra prediction outlined below, then when using the division described above, the intra filter, i.e., the filter involved in predictor derivation 122, is disabled or at least reduced compared to the number of samples 135 contributing to each partition sample 134 compared to the number of samples contributing to one sample in the two-dimensional case. In the two-dimensional case, intra prediction of block 80 is performed on the block in a batch or according to HEVC, i.e., it is decomposed into rectangular blocks that are leaf blocks of the hierarchical quadtree subpartition of block 80.

[0039] As is clear from the above discussion, in order to perform the prediction residual-related task 124, the decoder, for example, decodes the transformation of each prediction residual for the currently processed partition from the data stream 14, and performs an inverse transformation such as a spectral-spatial transformation on this transformation to generate prediction residuals that are used to modify the predictor obtained in 122 by combination / addition. The same is done in the encoder to maintain synchronization between the decoder and the prediction loop. Furthermore, the encoder performs a transformation of the prediction error of the predictor determined using 122 for the currently processed partition, performs a transformation such as a spatial-spectral transformation, then quantizes the transformation coefficients, and then encodes that transformation into the data stream 14 to generate data 120i corresponding to the currently processed partition 102i. With respect to the transformation, all partitions 102 / 112 within block 80 can be processed using this same transformation. It may be DCT-II, except in the case of planar mode where DST-VII is available, for example. Therefore, all tools related to transforms and inverse transforms that the encoder and decoder can use on other blocks, such as transform skipping, i.e., encoding in the spatial domain, EMT (Explicit Multiple Core Transform), NSST (Mode-Dependent Non-Separable Transforms), etc., may be disabled to avoid unnecessary overhead bits when block 80 is encoded using the intra-predictive mode in the partitioning method outlined in Figures 4-7 and further described below. Alternatively, the transform may be a linear transform, the type of which may be selected based on one or more of the intra-predictive mode, dedicated syntax elements, and a given partition order.

[0040] We have already described to some extent the partition order 126 used when partitions 102 / 112 of block 80 currently being processed are processed sequentially. It should be emphasized that this embodiment is merely an example, and according to alternative embodiments, the partition order may be static, or it may change in a different way according to other embodiments, which are exemplified below. Figure 7 shows the possible partition / processing order indicated in Figure 5 with arrows 126, numbered accordingly. Here, this order continues in ascending order of the assigned numbers. Figure 5 shows an example where order 126 begins with the partition containing the top-left pixel / sample 140 of block 80 and proceeds downward toward the bottommost partition. Similarly, if the partition type is vertical, the processing order begins with the leftmost partition containing the top-left pixel / sample and proceeds to the right. However, this is not the optimal case for all existing intra-prediction modes. This is illustrated in Figure 7, which shows the vertical and horizontal divisions of block 80 for diagonal mode 2, i.e., the mode in which the copy angle / direction 132 points 45° from the lower left to the upper right, and diagonal mode 34, i.e., the mode in which the copy angle / direction 132 points -45° from the upper left to the lower right. In the former case, if the division is horizontal, starting at the upper left corner of block 80 would produce a partition in which the reconstructed sample does not affect the prediction of the next partition. Consequently, it is more rational to start from the lower left corner of the block, so that the reconstructed sample of each partition can be used to predict the next partition in the partition order. However, in the vertical division, this is not necessary, as can be seen in the aforementioned figure. On the other hand, in mode 34, this problem does not occur because samples come from both sides in both the horizontal and vertical division cases. Therefore, the normal processing order can be used for both divisions.

[0041] Table 1 shows a complete list of processing orders based on intra-prediction mode and partition type.

[0042] [Table I]

[0043] For a summary of the embodiments described so far regarding signaling overhead, please refer to Figure 8. Figure 8 shows what is transmitted for block 80 according to embodiments of the present application. In particular, there is an intra-prediction mode signaling 116 that informs which intra-prediction mode should be applied to block 80. That is, the signaling 116 indicates, for example, one of the angular modes, or one of the available modes, which includes angular modes and non-angular modes such as DC and planar. In addition to this signaling 116, there is a partitioning flag 160 which is encoded in the data stream 14 by the encoder and decoded from the data stream for block 80 by the decoder, which indicates whether the partitioning process according to Figures 4-7 was applied to block 80, or whether it was processed "as usual" in bulk, in one piece, or in two dimensions, that is, whether only samples outside block 80 were used to form a reference sample reservoir 118 for predicting each sample within block 80. Alternatively, flag 160 may be switched between the partitioning process described with respect to Figures 4-7 and the decomposition of block 80 using quadtree subpartitioning into transformation blocks. However, decomposition using quadtree subpartitioning has the disadvantage that the transformation blocks are processed sequentially, but the decomposition needs to be signaled within the data stream 14. If partitioning flag 160 indicates partitioning according to Figure 4, the data stream 14 includes partitioning dimension flags 114 that switch between partitioning types 100 and 110 described with respect to Figure 4 for block 80. Also, if partitioning flag 160 indicates this partitioning option, for each partition of block 80 being subpartitioned / divided, the data stream 14 includes signaling / data 1201, which has the predicted residuals of each partition encoded in the data stream in the transformation domain, etc., as described above.

[0044] With respect to Figure 8, it should be noted that the predicted residual data 1201, 1202… may be encoded into the data stream 14 in an order corresponding to the partition / encoding order 126. The partition order 126 may be determined independently by the intra-prediction mode indicated by the signaling 116, as described above. However, in an alternative embodiment, the partition order 126 may also be determined at least partially based on any additional signaling within the data stream 14.

[0045] In further alternatives to the explanations presented herein, signaling 116 may be used instead to indicate whether a partitioning option is used. In other words, a single syntax element may share the responsibility for both signaling 116 and 160. Such a syntax element can be assumed to be a single value from a range of values, each value corresponding to a combination of an intra-prediction mode and an indication of whether block partitioning is used. In such a case, it is also possible to provide the partitioning option for only a subset of intra-prediction modes. Finally, it should be noted that partitioning flag 160 may also be transmitted within the data stream 14, provided that the intra-prediction modes indicated by signaling 116 are assumed to be a particular subset of the available intra-prediction modes.

[0046] Figure 9 illustrates how data 120i with a predicted residual for a particular partition 102 / 112i might look. According to the embodiment of Figure 9, the predicted residual is encoded in the data stream 14 in the transform domain. That is, the encoder generates a transform 182 of the predicted residual by transform 180, and the decoder derives the predicted residual in the spatial domain by inverse transform 184. Figure 9 shows transform coefficients 186 corresponding to, for example, different spectral frequencies f of transform 182. Data 120i may include an encoded block flag CBF, and data 120i may include an encoded block flag CBF 188 indicating whether transform 182 contains a significant transform coefficient 186, i.e., whether transform 182 is completely zero. If CBF188 is set, the transformation 182 is not zero, and data 120i may include a final position (LP) syntax element 190, which indicates the final position 192 starting from the lowest or DC coefficient 196 along the increasing spectral frequency (see axis 194) of a significant transformation coefficient, i.e., a non-zero transformation coefficient 186. Data 120i then includes signaling 198 indicating the transformation coefficients from 196 to 192.

[0047] In other words, Figure 9 shows that each partition 102i / 112i may have its prediction residual encoded within the data stream 14 by CBF188, LP190, and transformation coefficient data 198. That is, for a block 80 having n partitions 102 / 112, there are n CBF188s, one LP190 for each partition with a non-zero CBF188, and transformation coefficient data 198 only for these partitions with the associated non-zero CBF188. This coefficient data 198 can be encoded in the same way as intra-prediction blocks that are processed as usual, i.e., blocks 80 where the partitioning flag 160 indicates a non-partitioning option, with the following exception: Each LP190 requires only one coordinate if the partition is one sample width (otherwise, it requires two coordinates as usual). That is, it requires only the x coordinate for a horizontal partition 100 and the y coordinate for a vertical partition 110. However, in the case of a two-dimensional partition, LP190 indicates the final position along the scan direction or scan path using rank indication or x and y coordinates. The context of each CBF188 may be selected to be the value of the previously encoded CBF, i.e., the CBF of the previous partition in partition order 126. Furthermore, this partitioning relates to different shapes of the transformation coefficient data 198. That is, the transformation 182 also has different shapes. As described with respect to Figure 4, if the partition is a one-dimensional partition, the transformation 182 is a one-dimensional transformation. That is, the transformation 182 may be a W / H length vector of the transformation coefficients 186 depending on the partition type 100 or 110.

[0048] Regarding flags 160 and 114 in Figure 8 and their encoding, please note the following: Flag 160, which indicates whether block 80 is to be divided into partitions 102 / 112, defines the condition under which flag 114 should be checked for whether it is to be propagated within the data stream 14 for block 80. In particular, if flag 160 indicates a division into partitions 102 / 112, flag 114 is present in the data stream 14 and sent to the decoder to signal what type of division 100 / 110 should be performed, i.e., horizontal or vertical. Similar to flag CBF, flag 114 may also be encoded using context-dependent entropy coding / decoding. The context of flag 114 can have three possibilities, according to the intra-prediction mode of block 80: 0 for non-angular mode, 1 for horizontal mode, and 2 for vertical mode.

[0049] Figure 9 shows that CBF188 may exist once per partition i of the current block 80. Additionally or alternatively, the transformation 182 of partition 120i of the current block may also be divided into one or more subblocks, in which case each subblock has an encoded subblock flag notified in the data 120i, which indicates whether all transformation coefficients 186 in the subblock are zero or whether at least one of the coefficients is non-zero. Thus, only the coefficients 186 in a subblock for which the encoded subblock flag indicates the presence of a non-zero coefficient will be encoded. Other coefficients in a subblock for which the encoded subblock flag indicates there are no non-zero coefficients will be assumed to be zero by the decoder. Since each partition 120i is transformed separately, it should be noted that multiple subblocks belonging to the same partition will differ in the spectral components of the transformation 182 of that partition and in the transformation coefficients 186 that constitute that transformation. For example, a subblock can be set to be a 4x4 coefficient block, as long as each partition 102i / 112i has dimensions x (partition width) and y (partition height), and both of these dimensions are greater than or equal to 4 samples (140), and consequently, each partition 102i / 112i's transformation 180 has dimensions x and y, and both of these dimensions are greater than or equal to 4 coefficients (186). In the case of a 4xN partition, the subblock forms a column consisting of m 4x4 subblocks, where m*4=N and m is an integer. In the case of an Nx4 partition, the subblock forms a row consisting of m 4x4 subblocks, where m*4=N and m is an integer.

[0050] For wider partitions, an array of 4x4 subblocks arranged in rows and columns may be generated. However, depending on the embodiment, such partitions, i.e., partitions with four or more samples or the same width as four samples, may not occur. Regardless of whether they occur or not, if a partition is narrow, i.e., if one of its dimensions is less than four samples, i.e., less than four sample width in at least one dimension x or y, a subblock partition of the transformation 180 into subblocks may be performed, gathering different groups of coefficients for that transformation 180, so that the subblocks have the smallest number M coefficients in all possible cases of the current block size. In other words, a partition may be set to the same size as the block width N along one dimension and partitioned along the other dimensions 104. Thus, the size of the transformation 180 for each partition may be 1×N, 2×N, N×1, or N×2. In fact, the transformation 180 for a particular partition may have a number of coefficients equal to the number of samples in that partition. In the case of a 1×N partition / transformation, the subblocks may form columns consisting of m 1×M subblocks, where m*M=N and m is an integer. In the case of an N×1 partition, the subblocks may form rows consisting of m M×1 subblocks, where m*M=N and m is an integer. In the case of a 2×N partition / transformation, the subblocks may form columns consisting of m 2×(M / 2) subblocks, where m*(M / 2)=N and m is an integer. In the case of an N×2 partition, the subblocks may form rows consisting of m (M / 2)×2 subblocks, where m*(M / 2)=N and m is an integer. This is illustrated in Table 1 for the exemplary case where M=16 for the smallest coefficient.

[0051] [Table 1]

[0052] Figure 9 shows that a CBF188 can exist once per partition i of the current block 80, but it may be agreed between the decoder and encoder that at least one of the n partitions of the current block 80 has a non-zero CBF188. Thus, if n is the number of subpartitions and the first (n-1) subpartitions in the coding order produce zero CBFs, then the CBF of the nth partition will be presumed to be 1. Therefore, it does not need to be decoded and is not coded. Thus, if the CBF in data 1201-120n-1 signals zero, then the CBF of data 120n will be missing, and the decoder will also presum that this CBF signals that there is at least one non-zero coefficient in the transformation of its partition.

[0053] As far as the intra-encoding mode signaling 116 is concerned, the following may be true: the encoding mode signaling 116 may be sent as a pointer or index pointing to one of the most probable modes (MPMs) in a list. This MPM list may be determined in the same way by the encoder and decoder based on the intra-prediction modes used in previously encoded / decoded intra-prediction blocks, such as spatially and / or temporally adjacent intra-prediction modes. Thus, the list of MPMs may represent a suitable subset of the available / supported intra-prediction modes, i.e., one or more of the aforementioned angular modes and / or DC and planar modes. As described above, there may be intra-prediction blocks using a LIP or ISP scheme, such as block 80 in the figure, or there may be conventionally intra-predicted blocks, i.e., blocks intra-predicted in batches or in units of transform blocks, from which such intra-predicted blocks are divided using recursive quadtree partitioning. Both types of intra-prediction blocks may support the same set of available / supported intra-prediction modes. For normal / conventional intra-prediction blocks, an MPM flag may be signaled in the data stream—the decoder decodes it, and the encoder encodes it—in which case a pointer / index to this MPM list is sent—the decoder decodes it, and the encoder encodes it. For intra-prediction blocks using the LIP or ISP scheme, such as block 80, it can be inferred that the MPM flag indicates limitations of the MPM list. If, for a particular normal / conventional intra-prediction block, the MPM flag indicates that no MPM mode is used, then there is no index / pointer for that block in the data stream; instead, an alternative pointer / index to the remaining list of intra-prediction modes (remainderlist) is sent in the data stream for that block.The remaining list may also be a suitable subset of the set of available / supported intra-prediction modes, and in particular, a supplementary set to the MPM list compared to the set of available / supported intra-prediction modes. That is, every member of the set of available / supported intra-prediction modes will be either a member of the MPM list or a member of the remaining set. Pointers / indexes to the MPM list may be VLC encoded, and pointers / indexes to the remaining set may be encoded using fixed-length codes. Naturally, even in the case of intra-prediction blocks of LIP or ISP schemes, the MPM flag may be sent, allowing the encoder to freely select any mode from the set of available / supported intra-prediction modes and set the MPM flag depending on whether the selected mode is in the MPM list or the remaining set.

[0054] The MPM list may be the same, meaning it may be determined similarly by the encoder and decoder for both normal / traditional intra-prediction blocks and ISP / LIP intra-prediction blocks. However, regardless of whether the constraints on the MPM list and the inference of MPM flags indicating the use of the MPM list for ISP / LIP intra-prediction blocks apply, alternatively, the MPM list for ISP / LIP intra-prediction blocks may be determined differently to adapt to the statistics of ISP / LIP modes. For example, the DC intra-mode may be excluded from the MPM list, and the horizontal intra-mode may be preferred for ISP horizontal splitting (i.e., horizontal 104), and the vertical intra-mode may be preferred for vertical splitting (i.e., vertical 104). In other words, for normal / traditional intra-prediction blocks, the MPM list can form a suitable subset of the available / supported intra-prediction modes, which may be selected and ordered according to a particular concept. For an ISP / LIP intra-prediction block 80, the MPM index may refer to an MPM list that depends on the partitioning direction 104 indicated by flag 114, and / or an MPM list that forms a suitable subset of the set of available / supported intra-prediction modes, i.e., a suitable subset of the angular mode in the set of available / supported intra-prediction modes, without including DC mode or without including DC and planar mode. When constructing an MPM list based on previously used intra-prediction modes of a previously encoded / decoded block, if flag 114 indicates that the partitioning direction 104 is horizontal, an angular mode of an angular intra-prediction direction closer to the horizontal dimension would be preferred, and if flag 114 indicates that the partitioning direction 104 is vertical, an angular mode of an angular intra-prediction direction closer to the vertical dimension would be preferred.

[0055] Regarding the explanation given above, it should be noted again that the intra-prediction mode that is normally processed and the intra-prediction mode processed using partitions as outlined herein do not need to coexist (juxtaposition). That is, the encoder and decoder may process the intra-prediction block 80 using the partitions presented herein, in which case, for example, the partition flag 160 may be unnecessary. However, if the partition option signaled by flag 160 is available as one decision for the encoder, the following explanation clarifies the possibilities of how the encoder makes that decision, or which partition mode should be used for a particular block 80, and which partition type, i.e., horizontal or vertical, is optimal. To do this, the encoder should test both options of different intra-prediction modes for each block. The encoder's speed will be slower because it needs to test more options than when the encoder has only one option, such as the normal option. To mitigate this effect, the partition mode signaled by flag 160 may be tested by encoding according to the following policy, see Figures 10 and 11.

[0056] 1) 1D partition mode is the last intra mode to be tested. 2) Let Cmin be the minimum cost up to the point in time when the 1D partition mode is about to be tested. 3) Select the combination of intra-mode and split type that should be tested. 4) The block is divided into N 1D partitions, where i is the index of each of these partitions, i=[1,N]. 5) After all partitions have been encoded, their subcost Ji is calculated. Therefore, after partition i has been encoded, the sum of all available subcosts, i.e.

number

[0057] The advantage of this procedure is that in the 1D partition mode, it is already possible to know that it is unlikely to obtain a cost better than the existing minimum cost, so the processing of unnecessary 1D partitions can be avoided. Moreover, there is no drawback in terms of the RD loss. The overall process is shown as a flowchart in FIG. 11.

[0058] All of the above embodiments show segments that are executed in stripes of 1-sample width crossing the direction 104. Alternatively, the segments may be executed to be wider partitions, and it should be noted that, thereby, as long as the specific details in the description of the embodiments do not utilize one-dimensionality, it can be done in a way that leads to two-dimensional partitions. Further alternatives regarding the segments are shown below.

[0059] In other words, the above description can be briefly described as an embodiment that includes a line-based intra-prediction (LIP) coding mode tool in which an intra-predicted W×H block 80 is divided into one-dimensional partitions 102 / 112 or lines. There, it was described that each of the resulting lines 102 / 112 is predicted, a residual signal is generated, which is transformed, quantized, entropy coded, and finally the coefficients are sent to the decoder. A reconstructed sample of such a line can be used to predict the next line, and so on. This process is repeated until all one-dimensional partitions in the original block have been coded.

[0060] However, modifications are possible to this LIP concept. As has already been shown above when discussing Figure 4, embodiments of the present application are not limited to having partitions 102 / 112 with a width of 1 sample along the division / splitting direction 104. In the embodiments described below, the width along the splitting direction 104 is defined based on 1) whether the intra-prediction mode is an angular mode or a non-angular mode, and 2) the width of the intra-prediction block along that direction 104.

[0061] 1) A W × H block 80 (where W and H are assumed to be powers of 2) can be divided horizontally or vertically (as indicated by, for example, the syntax element 114 sent to the decoder) into K equal partitions 102 / 112 of w × h dimensions. Their values ​​are listed in Table II. According to Table II, a block with W=16, H=8 predicted using non-angular intra-mode and subjected to vertical partitioning (i.e., partitioning in the vertical direction 104) may be divided into, for example, four partitions 102, all of which will have dimensions w=16 and h=2. An example of this is shown in Figure 12a. If the same block 80 were predicted using angular intra-mode, the block would be divided into eight partitions 102 with dimensions w=16 and h=1.

[0062] [Table II]

[0063] 2) The W×H block 80 (where W and H are assumed to be powers of 2) can alternatively be divided horizontally or vertically (e.g., as shown in syntax element 114 sent to the decoder) into K equal partitions of w×h dimensions, where the value of K is not fixed (and therefore its value is sent to the decoder using syntax element), but can range from 2 to a power of 2 between 2 and S, where S is the value of the dimension being divided (width for vertical partitions and height for horizontal partitions). The values ​​of w and h are obtained as shown in Table III.

[0064] [Table III]

[0065] Alternatively, the width of the partition along dimension 104 can be directly signaled for block 80.

[0066] 3) Block 80 W × H (where W and H are assumed to be powers of 2) can alternatively be divided horizontally or vertically into K partitions of wi × hi dimensions (where K depends on W and H) i = 1, 2, ..., K (as shown, for example, using syntax element 114 sent to the decoder). If the division is horizontal, S = H and si = hi; if the division is vertical, S = W and si = wi. Various options for the value of si are described in Table IV for different values ​​of S, where the value of S quantifies the width of block 80 along dimension 104, and si quantifies the width of partition i along dimension 104.

[0067] [Table IV]

[0068] The options used by the decoder may be fixed or implicitly determined according to the values ​​of parameters present on the decoder side.

[0069] 4) Block 80 W × H (where W and H are assumed to be powers of 2) can alternatively be divided into K partitions of wi × hi dimensions (where K depends on W and H) horizontally or vertically (as shown, for example, using syntax element 114 sent to the decoder), i = 1, 2, ..., K. If the division is horizontal, S = H and si = hi; if the division is vertical, S = W and si = wi. The value of si will be determined by a syntax element indicating which of the three options shown in Example 3) should be used to divide the block into subpartitions.

[0070] Therefore, as illustrated in Examples 1-4 above, partitioning may be performed along a one-dimensional 104, where the partition has the same width as a given block in a direction perpendicular to a given dimension, while the width of the partition measured along a given dimension 104 is selected from at least two different width settings or options. Concepts of explicit or implicit signaling may be used to maintain synchronization of the selection between the encoder and decoder. Thus, this selection allows for partitioning between blocks of the same size and shape while keeping the overhead associated with this change reasonably low. The selection can be made depending on the intra-coding mode of a given block, for example, depending on whether the intra-coding mode for a given block is angular mode. The selection can also be made depending on an index in the data stream for a given block that indexes one of at least two different width settings, as shown in Example 4. Partitions can be one sample width or more along the partitioning dimension. Within a single block, the partition width along the partition / predetermined direction may vary. One may be one sample width, i.e., a one-dimensional stripe, and the other may be greater than one sample width, i.e., a two-dimensional field of samples.

[0071] Furthermore, in some embodiments of the LIP concept described above, two types of processing orders (referred to as partition orders 126 in the above description) have been proposed for use in each block 80, and the one ultimately applied has been selected depending on the intra-mode used in block 80. However, as already mentioned above, alternatives exist for determining the partition order 126. The processing order 126 indicates the order in which the subpartitions 102 / 112 should be processed. Possible processing orders 126 are to start from the top-left subpartition and proceed in a predetermined order, such as downwards for horizontal partitioning, to the right for vertical partitioning, and other orders such as raster scan format in other cases where other divisions to partitions are used. In general, the processing order 126 could be determined by existing parameters available on the decoder side when each subpartition is decoded / processed. That is, for the decoder, the processing order 126 may be determined on the fly, i.e., according to predictions of various subpartitions 102 / 112. Such existing parameters may include intra-mode, subpartition index, original block dimensions, subpartition dimensions, and CBF flags for the current partition. Sequence 126 can also be sent directly to the decoder.

[0072] Based on the ideas already discussed above regarding Figure 5, there may be an incentive to change the partition order for block 80, which is subject to partitioned intra-prediction using the same divisions for partitions 102 / 112. That is, changing the order in which partitions 102 / 112 are processed 126 allows for the distribution of prediction accuracy among the various partitions 102 / 112. For example, if partitions 102 / 112 that are far from the adjacent sample set 118 are chosen to be processed first according to partition order 126, as illustrated above, this would mean that the intra-prediction would be worse than if the distant partitions were processed last according to partition order 126. This is because, in the latter case, the reference samples used to fill those partitions are placed in the closer partitions, i.e., the partitions adjacent to that partition on the side facing the reference sample set 118. For example, in Figure 5, if the intra-prediction result obtained for partition 1024 is the first in partition order 126 (the prediction will be obtained based on adjacent samples outside block 80), it is clear that the prediction residual will be larger compared to if partition 1024 is processed last according to partition order 126 (covering samples directly adjacent to partition 1024 and generating a prediction based on an adjacent sample set including, for example, partition 1023). However, the opposite is true for the remaining partitions. If partition 1024 is processed first, its reconstruction using the prediction residual of partition 1024 can be included in the adjacent sample set 118i of any partition processed subsequently according to partition order 126. This allows us to predict the interiors of each partition 1021-1023 in Figure 5, for example, using the intra-prediction mode of block 80 from both sides of these partitions.

[0073] When processing partition 1024, the adjacent sample set 118i is located on only one side of each partition for each partition 102i i=1...4. That is, for partitions 1021-1023, the situation would be reversed. For these partitions, the predicted residuals would be lower when partition 1024 is processed first compared to when partition 1024 is processed last. Furthermore, as mentioned above, it is not only possible to switch the order between the two options of traversing partitions adjacently, but it is also necessary to consider the possibility of allowing yet another partition order 126. This order could be, for example, processing every two partitions first according to a predetermined order, and then processing the remaining partitions in the same or reverse predetermined order. The best option is determined by testing various ordering options on the encoder side, and either an additional signal (signaling) for each of the order 126 of block 80 is sent in the data stream, or the order 126 can be selected in the same way on the encoder and decoder sides depending on the syntax element sent in the data stream for block 80 or adjacent blocks, so that even blocks 80 of the same size and shape and divided similarly into partitions 102 / 112 may not have the same order 126 and may differ among those blocks 80.

[0074] Therefore, the partition order in which each partition of block 80 is processed can be selected from at least two different orders. The selection can be synchronized between the encoder and decoder using the concept of explicit or implicit signaling. That is, this selection allows one partition order to be applied to a given block while another order is applied to another block, i.e., a block that is also encoded using the concept of partitioned intra-prediction, has the same size and shape, and is partitioned in the same way. The degree of freedom of the encoder in selecting the partition processing order, or the degree of freedom in rendering a partition processing order that depends on parameters other than size, shape, and partitioning, is effective in increasing the effectiveness of the partitioned intra-prediction mode. The effectiveness can be further increased when, for the derivation of a predictor for a particular partition 102i, reference samples 118i are recruited in a manner corresponding to the selection of a given partition order 126 for a given block from at least two different orders. In particular, as described above, in the case of one available or selectable partition order, the collected reference samples 118i can be placed on two opposing sides of the current partition, while in the case of another selectable partition order, the collected reference samples 118i can be placed on only one of the two opposing sides of that partition 120i. When partitioning along dimension 104, “sides” may be both sides of partition 120i facing each other along that direction, such as the top and bottom sides in the case of the vertical direction 104, or the left and right sides in the case of the horizontal direction. However, in the case of another partition, which will be briefly described below, “sides” may simply be defined as one side of the partition facing samples from reference sample set 118i that are outside block 80, and the other side of the partition facing samples from reference sample set 118i that are inside block 80, i.e., in one of the previously processed partitions.For example, one of at least two different selectable orders may begin across partitions starting from the partition furthest from the top-left corner of a given block, while the other of at least two different selectable orders may begin across partitions starting from the partition closest to the top-left corner of a given block.

[0075] Another issue to address relates to residual coding. As mentioned above, residual coding can be performed using transform coding. Each subpartition 102 / 112 may have its own coded block flag (CBF) 188, final position (LP) syntax element 190, and transform coefficient 198 in the data stream, which will be sent to the decoder. Thus, for a block 80 such as a CU having K subpartitions 102 / 112, there will be K CBFs 188 and one LP 190 for each partition 102 / 112 having a non-zero CBF. The context used to code each CBF 188 may depend on the CBF values ​​of previously coded subpartitions within the same block—for example, according to order 126. Furthermore, additional undescribed syntax elements may be sent to the decoder within the data stream to indicate whether the above-described concepts are used in all blocks, or to indicate whether the partitioned intra-prediction concept described herein is used in all intra-prediction blocks 80 within the entire data stream or in the range corresponding to a particular picture, or, for example, a slice of a particular picture, or to indicate whether some (partitions) are signaled to be treated as a single piece, i.e., to be partitioned into a single partition.

[0076] Similarly, as described above, each subpartition can be transformed individually using one transformation, thereby generating one transformation for each partition 102 / 112 that is not quantized to all zeros. A 2D transformation may be used as the transformation for a particular partition 102 / 112, except when one of the dimensions of that partition 102 / 112 is 1, in which case a 1D transformation would be applied. The transformation core can be DCT-II, or any other transformation determined by parameters present on the decoder side when the subpartition is to be decoded. For example, the transformation can be selected according to a combination of intra-mode, subpartition index, subpartition dimension, or a subset of the latter parameters. Transformations can also be signaled to the decoder directly, or in other words, in the form of additional syntax elements sent, for example, for all partitions in block 80, or individually for each partition 102 / 112 in a single block 80.

[0077] One aspect relates to the aspect described above, where the following fact exists: After quantization in a spatial domain or some intermediate transformation domain, which is reached by applying a partition-specific transformation to the predicted residuals of each partition and then quantizing the transformation coefficients, the residuals of partitions 102 / 112 of block 80 may be further transformed, and this transformation is lossless or inversely transformable. In other words, the decoder can obtain the transformation coefficient level for the entire block 80, perform an inverse lossless transformation on that transformation coefficient level to obtain the predicted residuals for each partition 102 / 112 in the spatial domain, or obtain an intermediate transformation domain for each partition 102 / 112 by retransformation from the predicted residuals in the spatial domain.

[0078] It should be noted that, according to the modifications of the above embodiments, partitioning can be done in a manner different from the form of partitioning along dimension 104. Intra-predictive coding using such modifications may be named Flexible Intra-Predictive Subpartitioning (FIPS), etc. Instead of partitioning into stripes 102 / 112, partitioning / dividing block 80 may result in arbitrary rectangular subpartitions of block 80. Flexible Intra-Predictive Subpartitioning (FIPS) divides a single W×H intra-predictive block 80 into K non-overlapping rectangular subpartitions of size wi×hi (i=1,2,…,K). The resulting subpartition layout is completely gapless, meaning that the sum of the subpartition areas is equal to the area of ​​the original block. That is,

number

[0079] [Table V]

[0080] So far, the embodiments described above can be said to represent exemplary divisions of the divisions described immediately. For example, Figure 4 shows two examples of such FIPS partitioning of block 80. However, in this case, all subpartitions 102 / 112 have the same size. In particular, perpendicular to dimension 104, the subpartitions are the width of the block, and along dimension 104, they are of equal width and correspond to a specific fraction of the width of the block along dimension 104. As with any of the above partitions 102 / 112, each subpartition 102 generated in FIPS is predicted, and the resulting residual signal is, for example, individually transformed, quantized, and encoded. Thus, its reconstructed value may be used to predict other subpartitions 102 that have not yet been encoded / decoded. For example, in the case of block 80 shown in Figure 12b, subpartition number 1 is predicted first, and then its reconstructed sample may be used to predict subpartition numbers 2 and 3. This process is repeated until all subpartitions have been encoded / decoded.

[0081] To summarize the generalization of FIPS, the division of intra-prediction block 80 into partitions 102 / 112 may be defined and signaled via the data stream in a different way than described above, for example, by using recursive multi-tree subpartitioning of block 80 into rectangular partitions of various sizes, or by defining any other possible partitions. For example, the division can be defined by the derivation of dimension 104 as described above, and based on that dimension, it is determined whether the partition of block 80 is a horizontal stripe 102 or a vertical stripe 112, and also the width of the stripes, i.e., the height of the horizontal stripe 102 and the width of the vertical stripe 112, is determined depending on the intra-prediction mode. All other possibilities discussed above remain, for example, the possibility of changing the processing / partition order 126. That is, the change may depend on the intra-prediction mode as described above, on some syntactic element about block 80 that is sent in addition to the intra-prediction mode parameter in the data stream, or on some other information sent in the data stream, such as information that can be derived from the prediction residuals sent in the data stream for various partitions.

[0082] Furthermore, as already mentioned, the predicted residuals of the various partitions of block 80 are quantized and encoded sequentially into a data stream for each partition, alternating with the individual intra-predictions of those partitions. This is true not only with respect to Figure 5, but also in the explanations for Figures 10 and 11. However, the decoder does not need to perform decoding by alternating between residual decoding on the one hand and reconstructing the various partitions by combining the intra-predictions and predicted residuals on the other hand. That is, when decoding a particular block 80, the decoder may decouple the decoding of the predicted residuals 120 of the various partitions from the actual reconstruction procedure, which involves the individual intra-predictions of the various partitions. See Figure 5. Here, the decoder may decode the predicted residuals 120 of all partitions, i.e., the predicted residuals 1201-1204 of block 80, from the data stream 14 according to one processing task, and the decoder may, according to another task, use the predicted residuals 120i of partition 102i to reconstruct the interior of block 80 partition by partition according to partition order 126. To this end, the decoder continues the reconstruction of block 80 by performing intra-prediction for each partition 120i using the intra-prediction mode of block 80 in the second task, adding the prediction residuals 120i obtained from the first task, and then stepping to the next partition 120i+1 in partition order 126. This performs spatial prediction, and then reconstructs the intra-prediction result using the prediction residuals of that partition. Before starting the second task which performs prediction and prediction correction using prediction residuals, the decoder may perform the first task which fully derives the prediction residuals 120 from the data stream 14, or the decoder may perform the above two tasks in parallel, in which case it must have means to ensure that the prediction residuals are ready when the prediction residuals 120i of a particular partition 102i are needed, that is, when the prediction result for that partition 102i has been obtained using the intra-prediction mode of that block and needs to be corrected.In particular, during the first task or phase, the decoder may perform all inverse transforms in parallel for all non-zero partitions, i.e., all partitions 102 that are informed that the predicted residual 120i is non-zero.

[0083] As an aside, according to the above embodiment in which the residual 120i of partition i is quantized in the transformation domain, it should be noted that the reconstructed samples of these partitions may fall outside, exceed, or inherit a certain range of acceptable sample values. As described above, the reconstructed samples may function as members of the reference sample 118j for the subsequent partition j in order 126. According to one embodiment, these samples are left as they are for the purpose of predicting the subsequent partition j in order 126, and clipping of these samples of block 80 is performed as the final clipping step for the entire block 80. This improves, for example, the ease of implementation on the decoder side. Thus, when deriving the predictor of partition 102i, samples that are among one or more already reconstructed samples 118i that are reconstructed samples of partitions preceding this partition 102i according to partition order 126 and function as references for the current partition may be used in an unclipped state, and clipping the reconstructed samples from an unclipped state to a state clipped to the acceptable sample value range is performed last in order to finally reconstruct a given block after performing a series of reconstructions. On the encoder side, clipping is performed solely to obtain a reconstructed version of such samples that will serve as a predictive reference for subsequent encoded blocks in order to maintain reference synchronization with the decoder. However, this last cleanup type of clipping is just one example; alternatively, clipping may be performed immediately, i.e., before the reconstructed samples of partition i serve as reference samples 118j for partition j that will be processed later.

[0084] Of the embodiments described so far, one embodiment will be described below with a specific example. In particular, according to this embodiment, the data stream 14 signals whether or not an intra-coded block 80 is coded using a LIP or ISP scheme via a subpartition mode flag 160. The corresponding syntax element in the data stream 14 can be named in-tra_subpartitions_mode_flag. For example, if this flag is 1, the intra-coded block 80 can be coded using a LIP or ISP scheme; otherwise, the block 80 is coded using normal intra-prediction. A LIP or ISP scheme may be available for the current intra-coded block 80 only if, for example, one or more specific conditions are met. One or more conditions may include, for example, the intra-coded block 80 must be larger than some minimum size with respect to the number of samples in the block 80, and / or the intra-coded block 80 must not exceed a predetermined dimension in at least both horizontal and vertical directions, for example, to prevent the transformation size from becoming excessive. More precisely, the LSP or ISP mode may only be available if block 80 is less than or equal to the aforementioned maximum transformation-related size in at least one direction, i.e., horizontally or vertically. Therefore, the in-tra_subpartitions_mode_flag may only be present in the data stream if block 80 satisfies the above condition. Otherwise, the decoder may infer that the intra-encoded block 80 is intra-encoded as usual.

[0085] If the split mode flag (intra_subpartitions_mode_flag) indicates that the intra-encoded block 80 is an LSP or ISP encoded block, the partition dimension flag 114 may further signal the intra-encoded block 80. However, this intra_subpartitions_mode_flag is not necessarily explicitly signaled, but may be inferred to indicate a specific partition dimension 104 in certain circumstances. For example, if the intra-encoded block 80 has a width exceeding the aforementioned maximum transformation size (but a height not exceeding it), the partition dimension 104 may necessarily be horizontal, and if the height of the block 80 exceeds the previously mentioned maximum transformation size (but its width not exceeding it), the dimension 104 may necessarily be vertical. In either case, the intra_subpartitions_split_flag will not be explicitly signaled in the data stream, but will be inferred accordingly by the decoder. The intra-encoding mode 116 can be signaled in the data stream by using a list of most probable intra-predictive modes constructed on the encoder and decoder sides, as outlined above. On the other hand, in the case of an intra-encoding block 80 of LIP or ISP, the data stream 14 can signal the intra-encoding mode via an MPM list pointer called, for example, intra_luma_mpm_IDX, which necessarily points to a list of most probable intra-predictive modes, and if the intra-encoding block is not encoded in a LIP or ISP scheme, there may be an MPM flag before this pointer in the data stream 14. For example, if an MPM flag called intra_luma_mpm_flag has a particular flag state, a pointer to the rest of the list of intra-predictive modes will be signaled in the data stream instead of a pointer to the list of most probable intra-predictive modes.However, as mentioned above, this is merely an example, and the signalable set of intra-prediction modes may be the same, that is, it may cover all supported intra-prediction modes for both intra-prediction blocks encoded as usual and LIP or ISP intra-prediction blocks.

[0086] For example, the intra_luma_mpm_flag may be sent for both types of intra-encoded blocks. Alternatively, a pointer sent for both types of intra-prediction blocks can directly point to a complete list of supported intra-prediction modes for both types of intra-encoded blocks, without the MPM flag. When the intra-encoded block 80 is encoded using the LIP or ISP scheme, the number of partitions 102 / 112 may be defined as follows: In particular, the encoder and decoder may determine the number of partitions depending on the size of the block 80. No signal will be consumed in the data stream. For small block sizes, the number may be 2, but otherwise, the number of partitions 102 / 112 is 4. The partition order in which the encoding of the intra-prediction and prediction residuals into the data stream of the partitions is performed may proceed sequentially along the partition direction 104, starting from the leftmost partition in the case of the horizontal direction 104, or from the topmost partition in the case of the vertical partition direction, to the furthest partition. No signal will be consumed in this case either. As described above, a residual transformation may be performed for each partition 102 / 112. That is, each partition may be transformed individually.

[0087] In contrast, for a block 80 that is intra-encoded as usual, the number of transformations may depend on the size of the intra-encoded block 80, as follows: If the intra-encoded block is smaller than the aforementioned maximum transformation size in both the horizontal and vertical directions, the residual of the intra-encoded block 80 is encoded using one transformation, meaning that the residual of block 80 is subjected to exactly one transformation. If it exceeds the maximum transformation size in the horizontal direction, the intra-encoded block 80 is horizontally divided into two half-blocks or a corresponding number of transformation blocks, where these half-blocks or transformation blocks match the maximum transformation size, and the residual of block 80 is subjected to one transformation for each half-block / transformation block. The same applies to block 80 that exceeds the maximum transformation size vertically. If it exceeds the maximum transformation size in both the vertical and horizontal directions, four or a corresponding number of transformations are used to transform the residual of block 80 into the four quadrants of this block 80, or to transform the standard two-dimensional subdivision of block 80 into a corresponding number of transformation blocks. Furthermore, the processing of a normal intra-encoded block 80 may differ from that of a LIP or ISP-encoded intra-encoded block 80 in that the normal intra-encoded block is intra-predicted as a whole block. In other words, the normal intra-encoded block is not sub-divided. Further differences may relate to the encoding of the transform block for encoding the prediction residual of block 80. For each transform, an encoded block flag 188 such as tu_cbf_luma may be sent, but in the case of a normal intra-encoded block 80, this flag may always be encoded for each transform within block 80, whereas if block 80 is LIP or ISB-encoded and all preceding CBFs of previous transforms are zero, this flag may be inferred to be 1 for the last transform of that block 80. Furthermore, the choice of dimensions for sub-blocks within each transform may differ between a normal intra-encoded block 80 and a LIP or ISP-encoded block 80. Details are described above.However, alternatively, the subdivision of transformation 182 into subblocks may be performed in the same way as for regular intra-encoded blocks and LIP or ISP-encoded blocks. For example, let log2SbW and log2SbH be the logarithms of the width and height of the subblock, respectively, and log2TbWidth and log2TbHeight be the logarithms of the width and height of the transformation, respectively. Then, the dimensions of the subblock can be determined as follows:

[0088]

number

[0089] The pseudocode above generates subblocks of the sizes shown in Table 1. Due to the minimum size inherent to the intra-encoded block 80 and the non-subdivision of a normal intra-encoded block, for a normal intra-encoded block 80, only subblocks of a coefficient of 4 × 4 may be obtained. Finally, while the examples outlined above may result in intra-prediction blocks of LIP or ISP of various sizes, including blocks divided into only two partitions 102 / 112, it should be noted that LIP or ISP intra-prediction blocks divided into three or more partitions exist regardless of whether such LIP or ISP intra-prediction blocks exist.

[0090] While several embodiments have been described in the context of the apparatus, these embodiments also represent descriptions of the corresponding methods, and it is clear that blocks or devices correspond to method steps or features of method steps. Similarly, embodiments described in the context of method steps also represent descriptions of the corresponding blocks, items, or features of the corresponding apparatus. Some or all of the method steps can be performed by (or using) hardware devices such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such devices.

[0091] The data stream of the present invention can be stored in a digital storage medium, or transmitted via a transmission medium such as a wireless transmission medium such as the Internet or a wired transmission medium.

[0092] Depending on the specific implementation requirements, embodiments of the present invention can be implemented in hardware or software. Implementations can be carried out using digital storage media such as flexible disks, DVDs, Blu-ray®, CDs, ROMs, PROMs, EPROMs, EEPROMs, or flash memory. Furthermore, each method can (or may) cooperate with a programmable computer system to perform the respective method. Thus, the digital storage media may be computer-readable.

[0093] Some embodiments of the present invention include a data carrier having an electronically readable control signal that can cooperate with a programmable computer system so that one of the methods described herein is performed.

[0094] Generally, embodiments of the present invention can be implemented as a computer program product having program code, the program code operates to perform one of the methods when the computer program product is executed on a computer. The program code may be stored, for example, in a machine-readable carrier.

[0095] Other embodiments include a computer program stored in a machine-readable carrier for performing one of the methods described herein.

[0096] Therefore, in other words, an embodiment of the method of the present invention is a computer program having program code for performing one of the methods described herein when the computer program is executed on a computer.

[0097] Accordingly, a further embodiment of the method of the present invention is a data carrier (or digital storage medium, or computer-readable medium) on which a computer program for performing one of the methods described herein is recorded. The data carrier, digital storage medium, or recorded medium is typically tangible and / or non-temporary.

[0098] Therefore, a further embodiment of the method of the present invention is a data stream or sequence of signals representing a computer program for performing one of the methods described herein. The data stream or sequence of signals may be configured to be transmitted over a data communication connection, such as the Internet.

[0099] Further embodiments include processing means configured or adapted to perform one of the methods described herein, such as a computer or a programmable logic device.

[0100] Further embodiments include a computer on which a computer program for performing one of the methods described herein is installed.

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

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

[0103] The apparatus described herein can be implemented using hardware devices, a computer, or a combination of hardware devices and a computer.

[0104] The apparatus described herein, or any component of the apparatus described herein, may be implemented at least in part in hardware and / or software.

[0105] The methods described herein can be performed using hardware devices, using a computer, or using a combination of hardware devices and a computer.

[0106] Any method or apparatus described herein can be performed at least partially by hardware and / or software.

[0107] The embodiments described above are merely illustrative of the principles of the present invention. Modifications and variations of the configurations and details described herein will be obvious to those skilled in the art. Therefore, it is intended that the invention is limited only by the appended claims and not by the specific details presented as part of the description and explanation of the embodiments herein.

Claims

1. A decoder for decoding a picture from a data stream, The decoder comprises a processor, The aforementioned processor, The intra-encoding mode for the block of the aforementioned picture, which is divided into multiple partitions along the partition dimension, is determined. Using the intra-encoding mode of the block, a predictor for the current partition is derived based on one or more already reconstructed samples adjacent to the current partition among the plurality of partitions. The data stream is configured to decode the encoded partition flag of the current partition using context-dependent entropy decoding. The context is derived based on the encoded partition flag decoded for the partition preceding the current partition in a given partition order. The aforementioned processor, If the encoded partition flag of the current partition is equal to 1, the transformation coefficient of the current partition is decoded from the data stream. If the encoding partition flag of the current partition is equal to 0, the conversion coefficient of the current partition is estimated to be zero. Based on the predictor and the conversion coefficient, the current partition is reconstructed. A decoder configured in such a way.

2. The partition dimension is horizontal or vertical. The decoder according to feature 1.

3. The aforementioned plurality of partitions include two or four partitions, The decoder according to feature 1.

4. A method for decrypting a picture from a data stream, The aforementioned method, The steps include determining an intra-encoding mode for a block of the picture, which is divided into multiple partitions along the partition dimension, Using the intra-encoding mode of the block, the steps include: deriving a predictor for the current partition based on one or more already reconstructed samples adjacent to the current partition among the plurality of partitions; The steps include: decoding the encoded partition flag of the current partition from the data stream by context-dependent entropy decoding; Equipped with, The context is derived based on the encoded partition flag decoded for the partition preceding the current partition in a given partition order. The aforementioned method, The steps include decoding the transformation coefficient of the current partition from the data stream in response to the encoding partition flag of the current partition being equal to 1, The steps include: In response to the encoding partition flag of the current partition being equal to 0, estimating that the conversion coefficient of the current partition is zero; The steps include: reconstructing the current partition based on the predictor and the conversion coefficient; A method that includes this.

5. The partition dimension is horizontal or vertical. The method according to feature 4.

6. The aforementioned plurality of partitions include two or four partitions, The method according to feature 4.

7. An encoder for encoding pictures, The encoder comprises a processor, The aforementioned processor, The intra-encoding mode for the block of the aforementioned picture, which is divided into multiple partitions along the partition dimension, is determined. Using the intra-encoding mode of the block, a predictor for the current partition is derived based on one or more already reconstructed samples adjacent to the current partition among the plurality of partitions. The encoding partition flag for the current partition is configured to be encoded into the data stream using context-dependent entropy encoding. The context is derived based on the encoded partition flag encoded for the partition preceding the current partition in a given partition order. The aforementioned processor, In response to the encoding partition flag of the current partition being equal to 1, the transformation coefficient of the current partition is encoded into the data stream. In response to the encoding partition flag of the current partition being equal to 0, the transformation coefficient of the current partition is not encoded. Based on the predictor and the conversion coefficient, the current partition is reconstructed. An encoder configured in such a way.

8. The partition dimension is horizontal or vertical. The encoder according to feature 7.

9. The aforementioned plurality of partitions include two or four partitions, The encoder according to feature 7.

10. A method for encoding a picture, The aforementioned method, The steps include determining an intra-encoding mode for a block of the picture, which is divided into multiple partitions along the partition dimension, Using the intra-encoding mode of the block, the steps include: deriving a predictor for the current partition based on one or more already reconstructed samples adjacent to the current partition among the plurality of partitions; The steps include encoding the encoded partition flag for the current partition into a data stream using context-dependent entropy encoding, Equipped with, The context is derived based on the encoded partition flag encoded for the partition preceding the current partition in a given partition order. The aforementioned method, The steps include: encoding the conversion coefficients of the current partition into the data stream in response to the encoding partition flag of the current partition being equal to 1; In response to the encoding partition flag of the current partition being equal to 0, the steps include not encoding the transformation coefficient of the current partition, The steps include: reconstructing the current partition based on the predictor and the conversion coefficient; A method that includes this.

11. The partition dimension is horizontal or vertical. The method according to the present invention, characterized by the present invention.

12. The aforementioned plurality of partitions include two or four partitions, The method according to the present invention, characterized by the present invention.