A partition-based intra-encoding concept with efficient implementation

The intra-subpartition coding mode in block-based video codecs addresses inefficiencies in intra-prediction by allowing flexible partitioning and parallel processing of subpartitions, enhancing encoding efficiency and accuracy.

JP2026062964APending Publication Date: 2026-04-10FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 0 Cites 0 Cited by

Patent Information

Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2026-01-07
Publication Date
2026-04-10

AI Technical Summary

Technical Problem

Existing block-based video codecs face inefficiencies in intra-prediction due to high signaling overhead and reduced accuracy in predicting larger blocks, necessitating improvements in implementation efficiency while maintaining coding efficiency.

Method used

The introduction of an intra-subpartition (ISP) coding mode that allows for flexible partitioning of blocks into transform partitions, enabling parallel encoding and decoding of subpartitions, and selecting between global, sequential, or grouped intra-prediction methods based on block size and shape.

Benefits of technology

Enhances encoding efficiency by reducing the minimum sample requirement per cycle and allowing for more accurate intra-prediction, thereby improving overall coding performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026062964000001_ABST
    Figure 2026062964000001_ABST
Patent Text Reader

Abstract

This provides a decoder that realizes a more efficient intra-coding concept. [Solution] The decoder includes decoding the intra-encoding mode of a block, a partition dimension flag, and the size of the block from a data stream; determining a plurality of predicted partitions into which the block is divided based on the size of the block; deriving a predictor 122 for the first predicted partition corresponding to two transformed partitions using at least one reconstructed sample 118 and intra-encoding mode corresponding to the first predicted partition among the plurality of predicted partitions; deriving first and second predicted residuals for the two transformed partitions 300 after deriving the predictor for the first predicted partition; and compositing the predictor for the first predicted partition and the first and second predicted residuals.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to an intra encoding concept for use in block-based codecs, such as hybrid video codecs. [Background technology]

[0002] Given a particular block, intra-prediction is performed in HEVC by extrapolating decoded boundary samples of adjacent blocks according to a specific pattern, namely 33 angular modes and DC and planar modes[1]. One intra-prediction mode that minimizes the rate-distortion cost is then signaled to the decoder. Despite the many codecs known to support intra-prediction modes (IPMs), finding good intra-predictors that yield high coding efficiency remains a subject of development for the intra-predictions achieved thereby. This concerns not only HEVC but also other block-based codecs that use intra-prediction. To find a suitable set of intra-prediction modes for efficiently coding the inside of a block, it is necessary to consider the overhead of signaling intra-prediction modes with respect to signaling overhead, such as more accurate predictors reducing prediction residuals, thereby reducing the signaling overhead associated with coding prediction residuals, and the resulting quality of predictors obtained by these intra-prediction modes. To keep the signaling overhead associated with intra-prediction modes low, intra-predicted blocks must be large, meaning the granularity at which intra-prediction modes are signaled must be coarse. However, spatial prediction of larger blocks tends to be less accurate because the average sample distance of the samples is longer within the intra-predicted blocks (i.e., the predicted blocks) relative to the already decoded / encoded samples adjacent to this block (i.e., the reference samples). HEVC mitigates this dilemma somewhat by allowing transform residual blocks to inherit the intra-prediction modes of the corresponding coded units, where the transform residual blocks form leaf blocks into which coded units are subpartitioned by multi-tree subpartitioning. However, this still requires signaling overhead to signal the subpartitioning of each intra-encoded coded unit into transform blocks from encoder to decoder. [Overview of the Initiative] [Problems that the invention aims to solve]

[0003] The newly developed intra-coding concept is presented by the intra-subpartition (ISP) coding mode in the newly developed Versatile Video Coding (VVC) standard, but improvements in implementation efficiency are needed.

[0004] Therefore, it is desirable to have a concept that further improves the implementation efficiency of intra coding while maintaining equivalent coding efficiency.

[0005] Therefore, the object of the present invention is to provide a more efficient intra coding concept. [Means for solving the problem]

[0006] This objective is achieved by the subject matter of the independent claims of this application.

[0007] Advantageous aspects of the present invention are the subject matter of the dependent claims.

[0008] According to a first aspect of the present invention, the inventors of this application recognize that one problem encountered when using subpartitioning in relation to intra coding is that the number of subpartitions per block on which predictions are made individually should be limited in consideration of the minimum width of coding advance per coding cycle, such as the resulting subpartition size, e.g., a desired minimum throughput of 16 samples per cycle and / or a minimum of 4 sample wide advances per prediction. These ideas led to the idea of ​​interpreting a flag-controlled intra-prediction mode / decision for an intra-encoded (predetermined) block, which in turn leads to partitioning of this given block from the perspective of predictive residual transformation, and further to subpartitioning from the perspective of intra-prediction; that is, whether a given block is intra-predicted in an integrated manner (at once), or whether the transform partition is used for sequential partition-level intra-prediction with intermediate use of the predictive residual and correction of the intra-predicted subpartition, using the same for the intra-prediction of the next subpartition, or whether a group of transform partitions for predictive subpartitions can be freely implemented as needed, for example, rendering the latter choice depending on the block size to avoid intra-predictions that result in too few samples per intra-prediction performed or too small a width advance for the intra-prediction. It should be noted that the encoding and decoding of transform partitions may be performed independently between transform partitions, that is, they may be encoded / decoded in parallel, thereby avoiding the problem of minimum samples per cycle or width advance per cycle. This allows multiple partitions to be intrapredicted and reconstructed in the same cycle, making it possible to partition intrapredicted blocks into partitions with, for example, fewer than 16 samples. This is advantageous if all subpartitions encoded or decoded in the same cycle contain at least 16 samples together.Here again, according to the modified forms described herein, the encoded code supports many block sizes, and depending on the size of a given intra-predicted block, and / or its width and / or height, the decoder and encoder partition the prediction to yield one of the following options:

[0009] 1) Predicting intra-prediction blocks globally, that is, all (at once) or as a whole (in other words, for example, predicting an entire given block at once, or, to put it another way, predicting all samples within a given block based on adjacent samples exclusively located outside that given block, and processing the transformation partitions of the given block independently (i.e., the transformation is performed region by region within each transformation partition)), and / or, 2) Sequential intra-prediction in units of transform partitions that also function as predictive subpartitions (in other words, for example, predicting a transform partition, obtaining reconstructed samples within that transform partition to encode / decode the predictive residual for that transform partition, then using the reconstructed samples obtained for the previous transform partition to predict the next transform partition in a given block, and encoding / decoding the predictive residual for the next transform partition, etc.) and / or, 3) Sequential intra-prediction at the unit of groups of transformed partitions (each transformed partition belongs to exactly one partition group) (in other words, for example, predict a group of transformed partitions, i.e., a predicted subpartition, based on adjacent samples that are exclusively located outside that predicted subpartition; obtain reconstructed samples within that predicted subpartition at the unit of transformed partitions within that predicted subpartition; encode / decode the predicted residuals for that predicted subpartition (i.e., the transformation is performed region by region within each transformed partition); then predict the next group of transformed partitions, i.e., the next predicted subpartition, within a given block, using the reconstructed samples, including the samples obtained for the previous predicted subpartition but excluding samples located within the next predicted subpartition; encode / decode the predicted residuals for the next predicted subpartition at the unit of transformed partitions).

[0010] Accordingly, according to a first aspect of this application, a decoder for block-based decoding of a picture from a data stream is configured to decode an intra-encoding mode from the data stream for a given block of the picture. The decoder is configured to decode a partition dimension flag from the data stream for a given block of the picture to set a partition dimension, which depends on the partition dimension flag, to horizontal or vertical. In other words, the partition dimension flag indicates whether the partition dimension is horizontal or vertical. The decoder is configured to partition a given block along a given dimension (i.e., along the partition dimension) into a transformation partition of the same width as a given block that is perpendicular to the given dimension. If the partition dimension is vertical, the transformation partition may be associated with vertically stacked horizontal blocks, and if the partition dimension is horizontal, the transformation partition may be associated with horizontally aligned vertical blocks. For each transformation partition, the decoder is configured to decode a transformation of the predicted residual from the data stream. Furthermore, the decoder is configured to intra-predict a given block in a manner dependent on the intra-coding mode, depending on one or more already reconstructed samples adjacent to the given block, to obtain a predictor for the given block, and to reconstruct the given block by correcting the predictor in each transform partition using the transformed predicted residuals decoded for each transform partition.

[0011] According to the first option, the decoder is configured to sequentially predict predictors for any transformation partition and reconstruct the transformation partition by correcting the predictors within each transformation partition using the transformed predicted residuals decoded for each transformation partition.

[0012] According to the second alternative, the decoder is configured to intra-predict the predictor for each transformation partition and to decode the transformation of the predicted residuals from the data stream for each transformation partition. The decoder is then configured to reconstruct a given block by correcting the predictor using the transformed predicted residuals decoded for each transformation partition. Thus, first all predictors are intra-predicted and all transformations of the predicted residuals are decoded, and then all transformation partitions are reconstructed by correcting the predictor within each transformation partition using the transformed predicted residuals decoded for each transformation partition. Thus, for example, all predictors are corrected in one step.

[0013] In contrast, according to the first option, any transformation partition is reconstructed one after another. In other words, according to the first option, the predictor is intrapredicted and corrected for the current transformation partition, and then for subsequent transformation partitions, the new predictor is intrapredicted and corrected.

[0014] According to a third alternative, the decoder is configured to intra-predict an entire given block in one step to obtain a prediction signal (i.e., a predictor), and to split this prediction signal into predictors for, for example, the transformation partitions of the given block. According to one embodiment, each predictor is associated with a different transformation partition. The transformation partitions are processed independently by the decoder, for example. Thus, for example, the decoder is configured to reconstruct the given block by decoding the transformation of the prediction residual from the data stream for each transformation partition and correcting the predictor using the decoded transformation of the prediction residual for each transformation partition. Alternatively, this is not performed all at once for the entire block, but for subpartitions of a given block that can be further divided into transformation partitions. In this case, for example, the decoder is configured to intra-predict a subpartition of a given block in one step to obtain a prediction signal (i.e., a predictor), and to split this prediction signal into predictors for, for example, the transformation partitions of the subpartitions of the given block.

[0015] According to one embodiment, the decoder is configured to divide a predetermined block, which depends on the block size, into subpartitions, and sets a minimum predicted width of 4 to reduce the complexity of the hardware implementation. The present invention is not limited to the following examples of various partitionings performed by the decoder. It is obvious that other subpartitions and / or converted partitions can also be implemented by the decoder.

[0016] • 4x4 block (Example 1) • Horizontal splitting (Hor.Split): One 4x4 PU (prediction unit) and four independent 4x1 TU (transformation unit). • Vertical split (Ver.Split): One 4x4 pickup and four independent 1x4 tuners. In other words, the entire 4x4 block is predicted at once, and then divided into four transformation partitions that are processed independently.

[0017] • 8x4 block (Example 2) • Horizontal splitting (Hor.Split): Two 8x2 PUs and four 8x1 TUs. The second PU is predicted using reconstructed samples from the second TU. • Vertical splitting (Ver.Split): Two 4x4 PUs and four 2x4 TUs. The second PU is predicted using reconstructed samples from the second TU. In other words, an 8x4 block is divided into two subpartitions (i.e., PUs), and each subpartition is further divided into two translation partitions that are processed independently.

[0018] • 4x8 blocks (Example 3) • Horizontal splitting (Hor.Split): Two 4x4 PUs and four 4x2 TUs. The second PU is predicted using reconstructed samples from the second TU. • Vertical split (Ver.Split): One 4x8 pickup and four independent 1x8 tuners. In other words, in horizontal partitioning, a 4x8 block is divided into two subpartitions (i.e., PUs), and each subpartition is further divided into two transformation partitions that are processed independently, while in vertical partitioning, the entire 4x8 block is predicted at once and then divided into four transformation partitions that are processed independently.

[0019] • 4x8 blocks (Example 3', alternative to Example 3) • Horizontal splitting (Hor.Split) (no change compared to subpartitioning with respect to both prediction and transform residual coding / decoding): Two 4x4 PUs are used to simultaneously form two 4x4 TUs. The second PU is predicted using the reconstructed samples of the first PU. • Vertical split (Ver.Split) (Revised): One 4x8 PU and two independent 2x8 TUs. In other words, in horizontal partitioning, a 4x8 block is divided into two subpartitions (i.e., PUs), each subpartition ending in one transformation partition, while in vertical partitioning, the entire 4x8 block is predicted at once and then divided into two transformation partitions that are processed independently.

[0020] • 4 x M block (Example 4) The entire 4xM block is predicted at once and then divided into four 1xM transform partitions that are processed independently.

[0021] • 4 x M blocks (Example 4' where M > 8) • Horizontal splitting (Hor.Split) (no change compared to subpartitioning in terms of both prediction and transform residual coding / decoding): A 4xM block is predicted by 4x(M / 4) PUs, each of which is simultaneously one of 4 transform partitions. • Vertical Splitting (Ver.Split): The entire 4xM block is predicted at once and then split into four 1xM transform partitions that are processed independently.

[0022] • 8 x N block (Example 5) An 8xN block can be divided into two 4xN subpartitions, which can then be further divided into four 1xN transformed partitions.

[0023] • 8 × N blocks (Example 5' where N > 4) • Horizontal splitting (Hor.Split) (no modification compared to subpartitioning with respect to both prediction and transform residual coding / decoding): An 8xN block is split into four 8x(N / 4) subpartitions (for prediction and transform residual coding / decoding). • Vertical splitting (Ver.Split): An 8xN block is divided into two 4xN subpartitions, which can be further divided into two 2xN transformed partitions (for prediction purposes).

[0024] The examples outlined above may be individually or collectively applied to codecs according to corresponding embodiments (i.e., decoders and encoders, respectively) for different block sizes, or two or more combinations of these examples may be applied to a codec. As can be understood, according to one embodiment, for at least one given block size (e.g., comparative examples 3-5), depending on the division direction, there may be differences in the decision regarding how to choose between the aforementioned options 1-3 (between two of 1-3), such that in the case of horizontal division, such as option 2, one option is selected, and each TU is also a PU, and therefore the number of PUs and TUs is the same, while in the case of vertical division, such as option 1, different options may be selected, the entire block functions as a PU but is divided into several Tus, and therefore the number of PUs and TUs is different, or in option 3, a given block is divided into PUs, each of which is further divided into TUs, and therefore the number of PUs and TUs is different. Additionally or alternatively, for another block size (comparative example 2), this decision may ultimately result in the same options, regardless of the division direction. Therefore, the aforementioned dependencies between choices for the partitioning direction may be added to the block size direction as already mentioned, but of course, they may also be applied without the latter.

[0025] One embodiment of the present invention relates to a picture-to-datastream block-based encoding encoder configured to encode an intra-encoding mode into a datastream for a given block of a picture. The encoder is configured to encode a partition dimension flag into a datastream for a given block of a picture, the partition dimension flag signaling that the partition dimension is set horizontally or vertically. In other words, the partition dimension flag indicates whether the partition dimension is horizontal or vertical. The encoder is configured to divide a given block along a given dimension (i.e., along a partition dimension), the transform partition having the same width as the given block perpendicular to the given dimension. If the partition dimension is vertical, the transform partition may be associated with vertically stacked horizontal blocks, and if the partition dimension is horizontal, the transform partition may be associated with horizontally aligned vertical blocks. Furthermore, the encoder is configured to intra-predict a given block in a manner dependent on one or more already reconstructed samples adjacent to the given block in order to obtain a predictor for the given block. For each transformation partition, the encoder is configured to encode the transformation of the predicted residuals into a data stream, and as a result, a given block can be reconstructed by correcting the predictor within each transformation partition using the transformed predicted residuals encoded for each transformation partition.

[0026] The data streams generated by the encoder described above, as well as by the methods performed by the encoders and decoders described herein, and by any encoder described herein, are based on the same considerations as the decoder described above. Incidentally, the method can be completed with all the features and functions described for the decoder and / or encoder as well.

[0027] Preferred embodiments of this application are described below with reference to the drawings. [Brief explanation of the drawing]

[0028] [Figure 1] As an example of an encoder in which the ISP concept can be implemented, this is a block diagram of a device for predictively encoding pictures. [Figure 2] As an example of a decoder in which the ISP concept can be implemented, Figure 1 shows a block diagram of a device for predictively decoding pictures, which is compatible with the device shown in Figure 1. [Figure 3] This schematic diagram illustrates an example of the relationship between the predicted residual signal, the predicted signal, and the reconstructed signal, in order to show the possibilities of setting sub-partitions for encoding mode selection, transformation selection, and transformation performance, respectively. [Figure 4] This is a schematic diagram illustrating the partitioning of intra-encoded blocks using an ISP variant that allows selection between different partition dimensions, i.e., between horizontal and vertical partitioning. [Figure 5] This is a schematic diagram illustrating the sequential processing of partitions in an ISP-encoded block. [Figure 6] This is a schematic diagram showing the predicted derivation of the partition filling process. [Figure 7] This figure shows an example of an ISP block that is partitioned according to a horizontal partition mode and a vertical partition mode, respectively, and has two different intra-prediction modes associated with each, in order to demonstrate the possibility of rendering-dependent determination of partition order on the intra-prediction mode associated with the intra-predicted block. [Figure 8] This is a schematic diagram showing possible signaling spent in intra-predicted block 80, which is processed using partition options. [Figure 9] This is a schematic diagram illustrating possible methods for transmitting predicted residuals for partitions. [Figure 10]This schematic diagram shows the partial sum determination of coding costs related to partitions in intra-prediction mode, so that the test can be stopped if it becomes clear that it will not perform better than any of the normal intra-prediction modes. [Figure 11] This is a flowchart of the encoder modes or operations for performing a partition mode test. [Figure 12-1] This is a schematic diagram showing a decoder for block-based decoding of pictures, in which the ISP concept of the present invention is implemented. [Figure 12-2] This is a schematic diagram showing a decoder for block-based decoding of pictures, in which the ISP concept of the present invention is implemented. [Figure 13] This is a schematic diagram illustrating the use of the final position syntax element. [Figure 14-1] This is a schematic diagram showing an encoder for block-based decoding of pictures, in which the ISP concept of the present invention is implemented. [Figure 14-2] This is a schematic diagram showing an encoder for block-based decoding of pictures, in which the ISP concept of the present invention is implemented. [Figure 15a] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided vertically. [Figure 15b] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided vertically. [Figure 15c] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided vertically. [Figure 15d] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided vertically. [Figure 16a] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided horizontally. [Figure 16b] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided horizontally. [Figure 16c] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided horizontally. [Figure 16d] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x4 block divided horizontally. [Figure 17] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in a 4x8 block divided vertically. [Figure 18] This is a schematic diagram illustrating the intra-prediction of individual transformation partitions in an 8x4 block divided horizontally. [Figure 19a] This figure shows the vertical partitioning of a 4×M block (M>8) of the ISP design in VVC Draft 5 (left) and the proposed version (right). [Figure 19b] This figure shows the vertical partitioning of an 8×N block (N>4) of the ISP design in VVC Draft 5 (left) and the proposed version (right). [Modes for carrying out the invention]

[0029] The drawings are not necessarily to scale; instead, the focus is on illustrating the overall principle of the invention.

[0030] The following description of the figures begins with a presentation describing a block-based predictive codec encoder and decoder for encoding video pictures, in order to form an example of an encoding framework in which an embodiment of an intra predictive codec may be incorporated. The former encoder and decoder will be described with reference to Figures 1 to 3. Below, a description of a variation of the ISP concept will be presented, along with a description of how the concept may be incorporated into the encoder and decoder in Figures 1 and 2. However, the concepts described in subsequent Figure 4 and below may also be used to form encoders and decoders that do not operate according to the encoding framework that underlies the encoder and decoder in Figures 1 and 2. Later, an embodiment that utilizes the ISP but is improved in terms of implementation efficiency will be described. Furthermore, an embodiment that utilizes a variation of partition-based intra encoding will be described.

[0031] Figure 1 illustrates a device that predictively encodes 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 a corresponding decoder 20, a device 20 configured to predictively decode picture 12' from the data stream 14 using transform-based residual decoding, where an apostrophe is used to indicate that picture 12' reconstructed by decoder 20 deviates from picture 12 initially encoded by device 10 with respect to coding loss captured 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.

[0032] The encoder 10 is configured to convert the predicted residual signal from space to spectrum and encode the resulting predicted residual signal into a data stream 14. Similarly, the decoder 20 is configured to decode the predicted residual signal from the data stream 14 and convert the resulting predicted residual signal from spectrum to space.

[0033] Internally, the encoder 10 may include a predictive residual signal generator 22 that generates a predictive residual 24 to measure the deviation of the original signal, i.e., the predicted signal 26 from the picture 12. The predictive residual signal generator 22 may be, for example, a subtractor that subtracts the original signal, i.e., the predicted signal from the picture 12. The encoder 10 then further includes a converter 28 that converts the predictive residual signal 24 from space to spectrum to obtain a spectral domain predictive residual signal 24', which is also quantized by a quantizer 32 provided in the encoder 10. The thus quantized predictive residual signal 24'' is encoded in the bitstream 14. For this purpose, the encoder 10 may optionally include an entropy encoder 34 that entropically encodes the converted and quantized predictive residual signal into a datastream 14. The predictive residual 24 is decoded into the datastream 14 and generated by the prediction stage 36 of the encoder 10 based on the predictive residual signal 24'' that can be decoded from the datastream 14. For this purpose, the prediction stage 36 may internally include an inverse quantizer 38 that inversely quantizes the prediction residual signal 24'' to obtain a spectral domain prediction residual signal 24'''' corresponding to the signal 24' other than the quantization loss, as shown in Figure 1, and an inverse converter 40 that inversely transforms the latter prediction residual signal 24'''', i.e., transforms it from spectral to spatial, to obtain a prediction residual signal 24'''' corresponding to the original prediction residual signal 24 other than the quantization loss. Next, the coupler 42 of the prediction stage 36 recombines the prediction signal 26 and the prediction residual signal 24'''' by addition or other means to obtain a reconstructed signal 46, i.e., a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to signal 12'. Then, the prediction module 44 of the prediction stage 36 generates a prediction signal 26 based on the signal 46, for example by using spatial prediction, i.e., intra-prediction, and / or time prediction, i.e., inter-prediction.

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

[0035] Although not specifically described above, it is readily apparent that encoder 10 can set several coding parameters, including prediction mode and motion parameters, according to several optimization methods, such as several rate and distortion-related criteria, i.e., methods for optimizing coding cost. For example, encoder 10 and decoder 20 and corresponding modules 44 and 58 may support various prediction modes, such as intra-coding mode and inter-coding mode, respectively. The granularity at which encoders and decoders switch between these prediction mode types may correspond to subdivisions of picture 12 and 12' into coding segments or coding blocks. At the level of these coding segments, for example, a picture may be subdivided into intra-coding blocks and inter-coding blocks. Intra-coding blocks are predicted based on the spatially already coded / decoded neighborhoods of each block, as outlined in more detail below. For each intra-coding segment, several intra-coding modes exist and can be selected, including directional intra-coding mode or angular intra-coding mode, in which each segment is filled by extrapolating neighborhood sample values ​​along a specific direction specific to each directional intra-coding mode into each intra-coding segment. For example, the intra-coding modes may include one or more further modes, such as a DC coding mode in which the prediction of each intra-coded block assigns a DC value to all samples within each intra-coded segment, and / or a planar intra-coding mode in which the prediction of each block is approximated or determined to be a spatial distribution of sample values ​​described by a two-dimensional linear function over the sample positions of each intra-coded block with a driving slope, and a plane offset defined by the two-dimensional linear function based on adjacent samples. In contrast, inter-coded blocks may be predicted, for example, in time.In the case of inter-encoded blocks, motion vectors may be signaled within the data stream, and the motion vectors represent the spatial displacement of the previously encoded portion of the video to which picture 12 belongs, where the previously encoded / decoded picture is sampled to obtain the prediction signal for each inter-encoded block. This means that in addition to the residual signal coding contained in the data stream 14, such as the entropy-encoded transformation coefficient level representing the quantized spectral domain prediction residual signal 24'', the data stream 14 may be encoded to include encoding mode parameters for assigning encoding modes to various blocks, several prediction parameters for the blocks such as motion parameters for the inter-encoded segments, and optional further parameters such as parameters that control and signal the subdivision into segments of picture 12 and 12' respectively. The decoder 20 uses these parameters to subdivision the picture in the same way that the encoder did, assign the same prediction mode to the segments, perform the same predictions, and obtain the same prediction signal.

[0036] Figure 3 shows the relationship between, on the one hand, the reconstructed signal, i.e., the reconstructed picture 12', and on the other hand, the combination of the predicted residual signal 24'''' and the predicted signal 26, which are signaled within the data stream. As already mentioned above, the combination may be additive. In Figure 3, the predicted signal 26 is shown as a subdivision of the picture area into intra-encoded blocks shown exemplarily with hatching and inter-encoded blocks shown exemplarily without hatching. The subdivision may be any subdivision, such as a regular subdivision of the picture area into rows and columns of one or more blocks, or a multi-tree subdivision of the picture 12 into leaf blocks of various sizes, such as a quadtree subdivision into blocks, and a mixture of these is shown in Figure 3, where the picture area is first subdivision into rows and columns of a tree root block and then further subdivision according to a recursive multi-tree subdivision. Here too, the data stream 14 may have an intra-encoded mode encoded for the intra-encoded blocks 80, assigning one of several supported intra-encoded modes to each intra-encoded block 80. Further details are provided below. In the case of inter-encoded blocks 82, the data stream 14 may have one or more motion parameters encoded therein. Generally speaking, inter-encoded blocks 82 are not limited to being encoded in time. Alternatively, inter-encoded blocks 82 may be any block predicted from a previously encoded portion beyond the current picture 12 itself, such as a previously encoded picture of the video to which picture 12 belongs, or, if the encoder and decoder are scalable encoders and decoders, a picture of another view or a hierarchically lower layer. The predicted residual signal 24'''' in Figure 3 is also shown as a subdivision of the picture area into blocks 84. These blocks may be called transform blocks to distinguish them from encoded blocks 80 and 82.In practice, Figure 3 shows that the encoder 10 and decoder 20 may use two different subdivisions of picture 12 and picture 12' into blocks, respectively: one subdivision into encoded blocks 80 and 82, and the other 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, the case where the subdivision into transform block 84 forms an extension of the subdivision into encoded blocks 80 / 82, and as a result any boundary between the two blocks 80 and 82 covers the boundary between the two blocks 84; in other words, each block 80 / 82 coincides with one of the transform blocks 84, or coincides with a cluster of transform blocks 84. However, the subdivisions can also be determined or selected independently of each other, so that the transform block 84 can alternatively cross the block boundary between blocks 80 / 82. Therefore, as far as the subdivision into transformation block 84 is concerned, the same description as that presented for the subdivision into blocks 80 / 82 applies, that is, block 84 may be the result of a regular subdivision of the picture area into one or more blocks arranged in rows and columns, the result of a recursive multi-tree subdivision of the picture area, a combination thereof, or any other type of block formation. Incidentally, it should be noted that blocks 80, 82, and 84 are not limited to quadratic, rectangular, or any other shape.

[0037] Figure 3 shows that the combination of the predicted signal 26 and the predicted residual signal 24'''' directly yields the reconstructed signal 12'. However, it should be noted that, according to an alternative embodiment, multiple predicted signals 26 can be combined with the predicted residual signals 24'''' to form the picture 12'.

[0038] In Figure 3, the transformation segments 84 are assumed to have the following importance. The converter 28 and inverse converter 54 perform the transformation in units of these transformation segments 84. For example, many codecs use some kind of DST or DCT for all transformation blocks 84. Some codecs may skip the transformation for some of the transformation segments 84 so that the predicted residual signal is directly encoded in the spatial domain. However, according to embodiments described later, the encoder 10 and decoder 20 are configured in such a way that they support several transformations. For example, the transformations supported by the encoder 10 and decoder 20 may include the following: • DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform. • DST-IV, where DST stands for Discrete Sine Transform. · DCT-IV · DST-VII Identity transformation (IT)

[0039] Naturally, the converter 28 supports all forward versions of these conversions, while the decoder 20 or inverse converter 54 supports the following corresponding reverse or inverse versions. • Inverse DCT-II (or Inverse DCT-III) · Inverse DST-IV Inverse DCT-IV · Inverse DST-VII Identity transformation (IT)

[0040] The following description provides further details regarding the possibility of conversions being supported by encoder 10 and decoder 20. Note that in any case, the supported set of conversions may include only single conversions, such as a single spectral-to-space or spatial-to-spectral conversion.

[0041] As already mentioned above, Figures 1-3 are presented as examples of how the intra-prediction concept, which will be further described below, may be implemented. To that extent, the encoder and decoder in Figures 1 and 2 represent possible implementations of the encoder and decoder described herein. When the embodiments for intra-prediction described below are incorporated into the encoder and decoder in Figures 1 and 2, as outlined in detail below, the encoder in Figure 1 and the decoder in Figure 2 support processing the intra-predicted block 80 in the manner outlined in detail below, as at least one option. Thus, the embodiments described below refer to encoders equivalent to the encoder 10 in Figure 1 that processes the intra-coded block 80 in the manner outlined in detail below, and the same applies to the decoder in Figure 2, which thus represents an example of a decoder according to an embodiment in which the intra-coded block is processed in the manner outlined in detail below. However, Figures 1 and 2 are only specific examples. However, an encoder according to an embodiment of the present application may perform block-based encoding of picture 12 using the concepts outlined in detail below, and may differ from the encoder in Figure 1, for example, in that the encoder is not a video encoder, the encoder does not support interprediction, or the subdivision into blocks 80 is performed in a different manner than illustrated in Figure 3, or, depending on the embodiment, the encoder may not use transform-prediction-residual codes, but instead encode the predictive residuals directly in the spatial domain, for example. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of picture 12' from the data stream 14 using the intra-prediction-coding concept outlined further below, but may differ from the decoder 20 in Figure 2, for example, in that the decoder is a still-image decoder rather than a video decoder, the decoder does not support intraprediction, or the decoder subdivisions picture 12' into blocks in a different manner than described with respect to Figure 3, and / or the decoder derives the predictive residuals from the data stream 14 in the spatial domain rather than the transform domain.

[0042] As mentioned above, the following explanation will first focus on the ISP-based intra-prediction. According to ISP intra-prediction, an intra-predicted block, such as block 80 in Figure 4, can be divided into one-dimensional horizontal partitions or one-dimensional vertical partitions. The availability of processing blocks in this manner may be provided for intra-predicted blocks 80 of any size, or it may be limited to blocks 80 within a predefined range of block sizes, such as blocks larger than a certain size. "One dimension" refers to the fact that, if the partition in question is the result of partitioning, the partition has only one sample width along the partition dimension. However, the one-dimensionality of the partition mode described herein refers to the fact that the partitioning is done along a specific dimension, and the resulting partition is like a stripe that extends completely across the block in a direction traversing the partition direction. See, for example, Figure 4. Figure 4 shows the intra-predicted block 80, i.e., the block to be decoded or encoded, on the left. It has dimensions W × H; that is, it is a W × H dimension block, where H is the height of block 80 measured in the sample and W is the width of block 80 measured in the sample. As shown in Figure 4, there are two available partitioning options, namely a horizontal partition 100 in which block 80 is divided or partitioned into several partitions 1021, 1022, 1023, and 1024 along the vertical axis, i.e., partition dimension 104. According to the example in Figure 4, which is an example applied in the following description, each partition 1021-1024 is 1 sample width, as indicated by the double-headed arrow 106, such that the number of partitions 1021-1024 resulting from block 80 is equal to the height H of block 80 in units of samples 108 of block 80. However, it is clear that partitioning can also be performed by the encoder and decoder according to different methods agreed upon between the encoder and decoder, for example, partitioning block 80 along dimension 104 into a predetermined number of partitions 102 iThis can be carried out in such a manner that the predetermined number is, for example, greater than 2 or a mixture thereof, and the size of block 80 is evenly distributed among the predetermined number of partitions along the partition dimensions.

[0043] As shown in Figure 4, another coding option 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 112 along the horizontal axis, i.e., along the horizontal partition dimension 104. i It will be partitioned. In the case of option 100, each partition 102 i It has the same width as block 80, that is, it has the width W of the block, but partition 112 i This adopts a height H for block 80, that is, it has a height H. In summary, in a similar manner to the description of option 100, the vertical division 110 divides block 80 into partitions 112 i It can be divided into several W parts, where W represents the horizontal width of block 80 measured within sample 108, and as a result each partition 112 i The width is 1 sample in the horizontal direction; however, partitioning according to option 110 may be performed in another manner agreed upon between the encoder and decoder.

[0044] Therefore, according to Figure 4, the encoder divides block 80 into H Wx1 partition 102 according to the horizontal division option 100. i , or according to vertical partition option 110, W 1xH partition 112 iThe data can be freely partitioned, and the partitioning option selected by the encoder of block 80 can 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 also cover encoders and decoders that, by default, use only one of options 100 and 110 without requiring flag 114 in the data stream. Furthermore, flag 114 may be transmitted in the data stream 80 in other examples, depending on an intra-coding mode 116 that is signaled from the encoder to the decoder in the data stream 14 for block 80. The intra-coding mode may indicate one of a set of available and supported intra-coding modes, including, as described above, an angular mode and, optionally, one or more non-angular modes such as a DC mode or a planar mode. In other words, flag 114 may be transmitted in the data stream 14 in a conditionally dependent manner on the intra-coding mode 116, according to alternative embodiments not further described below. 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. However, a dependency may exist for flag switching between the partitioning process of the intra-encoded block 80 described above and different methods of processing the intra-encoding of block 80 as outlined below.

[0045] According to the ISP, each of the partitions 102 / 112 is processed sequentially in this way, and is predicted, transformed, quantized, and encoded individually. Thus, the reconstructed samples of a particular partition can be used to predict subsequent partitions 102 / 112 in partition order among the partitions into which block 80 is partitioned. In this way, the process of intra prediction circulates through the partitions 102 / 112 into which block 80 is partitioned. FIG. 5 exemplarily shows an intra-predicted block 80 divided according to option 100. Each partition 1021 - 1024 of block 80 is subject to prediction, i.e., derivation of a predictor for each partition 102 i and prediction-residual related tasks, i.e., correction of the predictor using the prediction residual. The latter task may be performed by combining the prediction residual and the predictor. This is done at the decoder for reconstruction. The encoder performs, as prediction-residual related tasks, determination of the prediction residual including, for example, transformation and quantization, and also correction of the predictor using the prediction residual, i.e., continues to synchronize the prediction loop with the decoder by filling the decoded picture buffer in the encoder with picture reconstruction. The above-described tasks, i.e., prediction and residual processing, are performed individually and sequentially among partitions 1021 - 1024. After these two steps for the currently processed partition, the next partition 102 i is processed in the same way. The partition order is exemplarily shown in FIG. 5 using three arrows 126.

[0046] Figure 5 shows that the partition containing the top-leftmost pixel of block 80 is processed first, corresponding to the index assignment to partitions 1021-1024 in Figure 5, before proceeding to the immediately adjacent partition 1022, etc. However, this order is merely an example, and this partition order may be selected in a way that depends on other settings such as the intra encoding mode and / or the size of block 80, as will become clear from the following explanation, the former dependencies will be described below.

[0047] In the examples described below, the partition order 126 simply changes among those traversing partitions 102 / 112 such that the immediately following partitions are directly adjacent to each other, in the case of partition type 100, the partition order is from top to bottom or bottom to top, and in the case of partitioning type 110, it is from left to right or right to left. However, it should be noted that other examples are possible. For example, the partition order could be selected such that in the first scan, each second partition is processed from top to bottom, bottom to top, left to right, or right to left, in two scans, the partitions are scanned in an adjacent order that is just outlined, and whatever is applied thereafter, the remaining partitions between them are processed in the same or opposite order.

[0048] In either case, Figure 5 shows the first partition 1021, which is the first and currently being processed partition. For the first partition, herefor illustratively 1021, the set of neighboring samples 1181 used to form the predictor of partition 1021 only needs to be selected based on samples outside the boundaries of block 80 during processing of the first partition of block 80, and the samples of block 80 have not yet been processed, i.e., reconstructed or encoded. That is, the samples in set 1181 are already reconstructed in the encoder using the prediction residuals transmitted in the data stream, with any predictions and corrections to the corresponding predictor. They belong to previously encoded / decoded picture blocks, which may be inter-encoded, intra-encoded, or any other encoded block. Regarding the number and exact location of samples in the set 1181 of neighboring samples used to form the predictor of the first partition 1021, the same depends on the intra-encoded mode assigned to block 80. This intra-encoded mode is used together or equally for processing all partitions of block 80, as described below. The predictor of partition 1021, derived by the decoder and encoder by filling this partition 1021, which depends on one or more already reconstructed / encoded samples in set 1181, is then used to reconstruct partition 1021 by correcting the predictor using the predictor in the data stream 14, i.e., by transformation and quantization as outlined above, insofar as the encoder is involved in completing the processing of the first partition 1021, and this predictor residual is then used in the reconstruction of partition 1021 by correcting the predictor using the predictor residual in the data stream 14, i.e., including the quantization loss in the version transmitted in the data stream. For example, Figure 5 illustrates the predictor residual of partition 1021 in 1201. That is, 1201 includes transformation coefficients corresponding to the transformation of the predictor residual of partition 1021, and the description of data 1201 is described in more detail below.

[0049] Next, we focus on the next partition in the partition order, i.e., partition 1022 in the example of Figure 5. The situation has changed, however, as long as the set of adjacent already reconstructed / encoded samples used to derive the predictor for partition 1022 can consist of samples located outside block 80 and / or inside block 80, i.e., samples located in any already processed partition, in this example of Figure 5, the samples currently located in partition 1021, for which the predicted residuals have already been determined and are already available in data stream 14. That is, the encoder and decoder derive the predictor for this partition 1022, followed by the determination of the predicted residuals in the encoder and the use of the predicted residuals for correcting the predictor in the encoder and decoder, respectively. This process is then continued for the next partition in the column, i.e., the next partition in the partition order, thereby processing all partitions of block 80 sequentially.

[0050] As already mentioned above, the partition order 126 is selected in a different way across partitions, and as a result, immediately adjacent partitions may be right next to each other. In other words, the partition order can jump from any partition to the next. This is the case for each partition 102 i A set of 118 adjacent samples is used to derive each predictor by filling them with 118. iHowever, as shown in Figure 5, this means that it is not limited to the immediate sample adjacencies of each partition. This also relates to the selection of the starting point of partition order 126. For example, suppose partition 1024 is the first partition in partition order. Then its predictor can be derived by filling the same set of adjacent samples 1184, not shown in Figure 5, along the perimeter of block 80, collecting samples located to the left and above block 80. Some of the samples in set 1184 are not immediately adjacent to partition 1024. Incidentally, this corresponds to the situation where the last row of samples in block 80 is filled in a batch in a normal intra-predictive filling. The possibilities described above also apply to any subsequently processed partitions, i.e., the second partition and further partitions in partition order, i.e., their adjacent sample sets 1184 i Also, each partition 102 i It may include samples that are not directly adjacent to each other. Furthermore, if the partition order across partitions is not restricted in such a way that consecutive partitions are directly adjacent to each other, then any second or subsequent partition 102 i A set of 118 reference samples. i Each partition 102 i In addition to collecting samples to the left and above, it may also be the samples below each partition 1021, depending on whether any partition of block 80 was processed earlier than partition 1021 according to the partition order. That is, set 180 i Partition 102 i This may include samples located on three or more sides.

[0051] 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 vertical partitions 112. i This also applies to vertical mode 110. Each partition 102i Regarding the corresponding predicted residual 102 i The data is included in the data stream 14. Data 1201-1204 together form the predicted residual, i.e., 120, for block 80. It should be noted that according to an alternative embodiment of this application, transform residual coding may not be used, i.e., the predicted residual 120 of block 80 may be directly signaled 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 a partition separation field in the data stream 14, as shown in Figure 5, and each data portion 120 i Each partition 102 i This represents the signaling of a specific transformation. Rather, the predicted residual 120 of block 80 may in that case form one field of data 14. The decoder then processes a specific partition 102 i When processing, in this alternative embodiment, from field 120, this partition 102 i Gather information about the predicted residuals. This procedure can also be applied when using a strictly reversible version of the transformation, so that quantization can be performed in the spatial domain.

[0052] Therefore, Figure 5 shows that in the encoder and decoder, each partition 102 i There are two tasks to be performed on each partition 1021, namely, 1) predict or forecast each partition 102 i 1) A prediction derivation task 122 that generates predicted sample values ​​for each sample, and 2) a prediction residual-related task performed thereafter, namely, a prediction residual derivation in an encoder that includes quantization of the prediction residuals for input to the data stream 14, and this partition 102 i To obtain a reconstructed sample of each partition 102, combine the predicted residuals and predictor or correct them. iThis is a reconstruction of the sample. The latter reconstructed sample is then processed in partition order 126 for the prediction derivation task, followed by partition 102. j adjacent sample set 118 j It can function as a reservoir.

[0053] Before proceeding to a further detailed explanation of the potential ISP concept, Figure 6 shows partition 102 currently being processed. i The process of predictive derivation 122 by filling in the partitions is shown, and it should be noted that the description for the horizontal partition 102 is selected merely as an example, and the same description is also relevant to the vertical partition 112. Figure 6 shows partition 102 currently being processed. i and already reconstructed / encoded adjacent sample 118 i The corresponding set is shown in Figure 5, as already mentioned above, set 118 i Partition 102 i This may not be limited to directly adjacent or adjacent sample 128. However, due to partitioning, partition 102 i Sample and set 118 i The average distance 130 between sample 128 and block 80 is small when averaged over all samples in block 80, compared to performing intra-prediction on block 80 as known from H.264 or HEVC. As illustrated with respect to Figure 5, the predictor derivation or filling 122 is performed using the intra-prediction mode associated with block 80, and partition 102 i This is executed for each instance, and this mode indicates one of the set of available intra-prediction modes. This set is the adjacent sample set 118 i The sample contents are in partition 102 i The angles or directions 132 copied to sample 134 may include different angle or direction modes. To perform this copy, partition 102 iThe prediction for each sample 134 is set 118, which is located relative to sample 134 in the direction opposite to direction 132. i This number can be derived based on the number of adjacent samples (134) in the sample set 118. i The kernel of the interpolation filter used to derive the inter-pixel positions between 128 samples is defined. Figure 6 shows, for example, set 118 i Three of the 128 samples are currently being processed in partition 102. i This indicates that it will be used to calculate the prediction for one of the 134 samples. Because the average distance 130 is relatively small, partition 102 i The number of reference samples 134 per sample 134 can be kept low. Further details are presented below. However, for completeness, the set of available intra-prediction modes is also partition 102 i It has a DC mode in which one DC value is assigned to all 134 samples, and this DC value is assigned to the set of adjacent samples 118 i Note that this is derived by performing averaging. Furthermore, the predicted values ​​for sample 134 are partitioned into partition 102. i Defined by a linear function relating to the sample position within, and adjacent samples 118 i There may be a planar mode that derives the gradient and offset of this linear function based on this. Furthermore, adjacent set 118 i Note that this may vary depending on the intra-prediction mode selected for block 80, and may differ, for example, particularly between angular mode and non-angular mode DC / planar.

[0054] For example, in a state-of-the-art JEM decoder, 67 intra-prediction modes are available, 65 of which are angular modes, and the remaining two are DC and planar model omnidirectional textures. Block 80 is partitioned / divided into partitions along dimension 104, and the resulting partitions are one or more sample widths along direction 104 and extend lateral to dimension 104 across the entire width of the block, in a 1D partitioning mode (simply called a 1D partition mode), i.e., the predictor derivation 122 performed on partitions 102 / 112 outlined above and below can be combined with any of those partitions, or in other words, can be performed using any of those partitions. 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 the signal transduction, as the intra-prediction mode 116 only needs to be sent once in the data stream 14 for block 80.

[0055] In other words, prediction 122 may be performed in the same way as in the two-dimensional case outlined in the JEM decoder. However, compared to JEM, only one line is calculated, whether horizontal or vertical, with respect to the currently processed partitions 102 / 112, so that prediction process 122 is adjusted accordingly. If the partition order for traversing the partitions is chosen such that consecutive partitions are immediately adjacent to each other, prediction process 122 may correspond to the two-dimensional case of JEM, but only with respect to the first line, i.e., the one closest to the already reconstructed / encoded neighborhood. 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 useful in the two-dimensional case to better predict samples in prediction block 80 that are far from the reference sample 128 in order to reduce boundary discontinuities. However, by using partitioning to partitions 102 / 112, it is possible and should be the goal to take advantage of the high correlation between nearby pixels.

[0056] In other words, the reduced average distance 130 should be used. Excessive smoothing degrades this quality. Therefore, if the encoder or decoder can perform intra prediction of both types, i.e., with respect to Figures 4-6 and intra prediction using partitioning as outlined below, the intra filter, i.e., the filter involved in the predictor derivation 122, is disabled, or at least the number of contributing samples 134 per partition sample 134 is reduced to the number of samples contributing to one sample, in the case of two dimensions where the intra prediction of block 80 is performed on the block or performed according to HEVC, i.e., where block 80 is decomposed into leaf blocks that subdivide the hierarchical quadtree into rectangular blocks.

[0057] As is clear from the above explanation, in order to perform the prediction residual-related task 124, the decoder decodes, for example, the transformation of each prediction residual for the currently processed partition from the data stream 14, performs an inverse transformation on this transformation such as a spectral-to-spatial transformation to generate the prediction residual, which is then used to correct the predictor obtained in 122 by combination / addition. The same thing is done in the encoder to keep the prediction loop synchronized with the decoder. In addition, for the currently processed partition, the encoder performs a transformation of the prediction error of the predictor determined using 122, which undergoes a transformation such as a spatial-to-spectral transformation, followed by quantization of the transformation coefficients, and then encodes that transformation into the data stream 14 for the currently processed partition 102 i Corresponding data 120 i This generates the following. With regard to the transformation, all partitions 102 / 112 within block 80 may be processed using this same transformation. This may be DCT-II, except for the planar mode in which DST-VII may be used, for example. For this reason, all tools related to transformations and inverse transformations that the encoder and decoder can use for other blocks, such as transformation skipping, i.e., encoding in the spatial domain, EMT (EMT = explicit multiple core transformation), NSST (NSST = mode-dependent inseparable quadratic transformation), etc., may be disabled when block 80 is encoded using the intra-predictive mode in the partitioning method outlined so far with respect to Figures 4-7 and further outlined below, in order to avoid unnecessary overhead bits. Alternatively, the transformation may be a linear transformation of a type selected based on one or more of the intra-predictive mode, dedicated syntax elements, and a given partition order.

[0058] Several terms have already been used with respect to the partition order 126 in which partitions 102 / 112 of the currently processed block 80 are processed sequentially. It should be emphasized that this embodiment is merely an example and the partition order may be static according to alternative embodiments or may be modified in different ways according to the examples shown below. Figure 7 shows the possible partition / processing order indicated by arrow 126 in Figure 5, with inscribed numbers, where this order follows the ascending inscribed numbers. Figure 5 shows an example in which order 126 begins with the partition containing the top-left pixel / sample 140 of block 80 and proceeds downward to the lowest partition. Similarly, if the partition type is vertical, the processing order begins with the leftmost partition again containing the top-left pixel / sample, which has its leading edge 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 partitions of block 80 for the diagonal mode as well, namely, the copy angle / direction 132 points 45° from the bottom left to the top right, and 34, namely, the copy angle / direction 132 points -45° from the top left to the bottom right. In the former case, if the partition is horizontal, the partition is generated starting from the top left corner of block 80, and the reconstructed sample does not affect the prediction of subsequent partitions. As a result, it is more reasonable to start from the bottom left corner of the block so that the next partition can be predicted in partition order using the reconstructed sample of each partition. Nevertheless, in vertical partitioning, this is not necessary, as can be observed in the aforementioned figure. On the other hand, in mode 34, these problems do not occur because the sample appears from both sides in both horizontal and vertical partitioning. Therefore, the normal processing order can be adopted for both partitions.

[0059] Table 1 shows a complete list of processing order by intra-prediction mode and partition type. [Table 1] Table 1: Processing order by intra-mode and partition type. HOR_DIR and VER_DIR are horizontal mode and vertical mode, respectively, and VDIA_DIR is vertical diagonal mode.

[0060] Referring to Figure 8, we summarize the concept of ISP described so far regarding signal transduction overhead. Figure 8 shows what is transmitted for block 80 according to one embodiment of the present application. In particular, there is an intra-prediction mode signaling signal 116 indicating which intra-prediction mode should be applied to block 80. Thus, signaling signal 116 indicates one of the available modes, including one of the angular modes, e.g., angular mode, as well as non-angular modes such as DC and planar. In addition to this signaling signal 116, there is a partition flag 160, encoded in the data stream 14 by the encoder and decoded therefrom for block 80 by the decoder, which indicates whether the partitioning process shown in Figures 4-7 is applied to block 80, or whether the partitioning process is processed "properly" in a single, integrated, or bidimensional manner, i.e., whether only samples outside block 80 are used to form the reference sample reservoir 118 and predict each sample within block 80. Alternatively, flag 160 can switch between the partitioning process described with respect to Figures 4-7 and the decomposition of block 80 using quadtree subpartitioning into the transformation block, but the transformation block is then processed sequentially with the drawback that it must signal the decomposition within the data stream 14. If partition flag 160 indicates partitioning according to Figure 4, the data stream 14 includes partition dimension flags 114 for block 80 that switch between partitioning types 100 and 110 described with respect to Figure 4. If partition flag 160 indicates this partitioning option, for each partition of block 80 that is subpartitioned / partitioned, the data stream 14 includes signaling / data 1201 with the predicted residuals of each partition encoded within the transformation region, as described above.

[0061] Regarding Figure 8, note that the predicted residual data 1201, 1202... can be encoded into the data stream 14 in the order corresponding to the partition / coding order 126. The latter can be uniquely determined by the intra-prediction mode indicated by the signaling pathway 116, as described above. However, an alternative is that the partition order 126 is determined at least partially based on an optional additional signaling pathway within the data stream 14.

[0062] A further alternative to the explanation presented herein is the fact that signal 116 may be used alternatively to indicate whether or not a partitioning option is used. In other words, one syntax element may be responsible for the signals 116 and 160 in common. Such a syntax element assumes one of a range of values ​​corresponding to each combination of intra-prediction mode and an indication of whether or not block partitioning is used. In such a case, it is also possible to simply provide a partitioning option for a subset of intra-prediction modes. Finally, it should be noted that the partition flag 160 may also be conditionally transmitted within the data stream 14 only if the intra-prediction mode indicated by signal 116 assumes a particular subset of the available intra-prediction modes.

[0063] Figure 9 shows a specific partition 102 / 112 i Data 120 with predicted residuals i This illustrates what it looks like. According to Figure 9, the predicted residual is encoded in the data stream 14 in the transformation domain. That is, the encoder uses a decoder that derives the predicted residual and spatial domain by the inverse transformation 184, and generates a transformation 182 of the predicted residual by the transformation 180. Figure 9 shows, for example, the transformation coefficients 186 of the transformation 182 corresponding to different spectral frequencies f. Data 120 i This may include the coded block flag CBF, and data 120 iThis may include an encoded block flag CBF188 indicating whether the transformation 182 contains a significant transformation coefficient 186, i.e., whether the transformation 182 is completely zero. If CBF188 is set, the transformation 182 is not zero, and data 120 i This may include a final position (LP) syntax element 190 that indicates a significant transformation coefficient, i.e., a final position 192 along the increasing spectral frequency (see axis 194) of a non-zero transformation coefficient 186 starting from the minimum or DC coefficient 196. Next, data 120 i It includes a signaling 198 that signals a conversion coefficient from 196 to 192.

[0064] In other words, Figure 9 shows each partition 102 i / 112 iHowever, it is shown that the predicted residual may be encoded in 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 having a non-zero CBF188, and simply transformation coefficient data 198 for these partitions having the relevant non-zero CBF188. If the partition is one sample width (otherwise requiring two coordinates as usual), i.e., if x is a horizontal partition 100 and y is a vertical partition 110, then each LP190 can be encoded in the same way as it is done for intra-predicted blocks that are normally processed, i.e., blocks 80 where the partition flag 160 indicates a non-partitioning option, with the exception that each LP190 requires only one coordinate. However, for two-dimension partitions, the LP190 indicates the final position along the scan direction or path, either using rank representation or using 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 partition preceding partition 126 in partition order. Furthermore, partitioning causes the transformation coefficient data 198 to be associated with different shapes. That is, the transformation 182 also has a different shape. Transformation 182 is a one-dimensional transformation when the partition is a one-dimensional partition, as described with respect to Figure 4. That is, transformation 182 may be a W / H length vector of transformation coefficients 186 depending on partition type 100 or 110.

[0065] Regarding flags 160 and 114 in Figure 8, and their encoding, the following points should be noted: Flag 160, which indicates whether block 80 should be partitioned into partitions 102 / 112, defines the condition under which flag 114 should be checked for block 80, whether it should be propagated within the data stream 14. In particular, if flag 160 indicates partitioning into partitions 102 / 112, flag 114 is present in the data stream 14 and sent to the decoder to signal which type of partitioning 100 / 110, i.e., horizontal or vertical, should be performed. Similar to flag CBF, flag 114 can 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-angle mode, 1 for horizontal mode, and 2 for vertical mode.

[0066] Figure 9 shows that CBF188 may exist once for each partition i of the current block 80. Additionally or alternatively, the transformation 182 of partition 120i of the current block may be divided into one or more subblocks, each having an encoded subblock flag signaled for each subblock in data 120i indicating whether all transformation coefficients 186 in that subblock are zero or at least one of the coefficients is non-zero. Thus, only the coefficients 186 in a subblock whose encoded subblock flag signals the presence of a non-zero coefficient are encoded, and other coefficients in a subblock whose encoded subblock flag signals the absence of a non-zero coefficient are presumed to be zero at the decoder side. Since each partition 120i is transformed separately, note that subblocks belonging to one partition will have different spectral components of the transformation 182 of that partition, and therefore different transformation coefficients 186 composed of that transformation. For example, each partition 102 i / 112 iAs long as each partition has dimensions x (partition width) and y (partition height), and both are four or more samples 140, then each partition 102 i / 112 iA subblock can be set up to be a 4x4 coefficient block, as long as the transformation 180 has dimensions x and y, and both dimensions are coefficients 186 of 4 or more. For a 4xN partition, the subblock forms a column of m 4x4 subblocks, m*4=N, where m is an integer. For an Nx4 partition, the subblock forms a row of m 4x4 subblocks, m*4=N, where m is an integer. For a wide partition, the result can be an array of 4x4 subblocks arranged in rows and columns. However, depending on the embedding, such partitions, i.e., wider than 4 samples and / or as wide as 4 samples, may not occur. Whether or not they appear, for narrow partitions, i.e., partitions where one of their dimensions is less than four samples in at least one of dimensions x or y, i.e., less than four sample widths, sub-block partitioning of the transformation 180 into sub-blocks that each collects different groups of the coefficients of the transformation 180, may be done such that the sub-blocks have a minimum number M coefficients with respect to the size of the current block in all possible cases. That is, a partition may be set to the same size as the block width N along one dimension, and the partitioning may be done along the other dimension 104. Thus, the transformation 180 of each partition can be of size 1×N, 2×N, N×1, or N×2. In fact, the transformation 180 of 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 sub-block may form a column of m 1×M sub-blocks, where m*M=N, and m is an integer. In the case of an N×1 partition, the subblocks form m rows of M×1 subblocks, where m*M=N and m is an integer. In the case of a 2×N partition / transformation, the subblocks can form m columns of 2×(M / 2) subblocks, where m*(M / 2)=N and m is an integer. In the case of an N×2 partition, the subblocks can form m rows of (M / 2)×2 subblocks, where m*(M / 2)=N and m is an integer. This is illustrated in Table 2 with an example case where M=16 for the smallest number of coefficients.

[0067] Table 2: Entropy coding coefficient group size [Table 2]

[0068] Figure 9 shows that for each partition i in the current block 80, a CBF188 can exist once. However, for the current block 80, it can be agreed between the decoder and encoder that at least one of the n partitions in the partition has a non-zero CBF188. Thus, if n is the number of subpartitions, and the first n-1 subpartitions in the encoding order produced a zero CBF, then the CBF of the nth partition is presumed to be 1. Therefore, it does not need to be decoded and is not encoded. Thus, the CBF of data 120n is missing because data 1201-120 were signaled with zeros. n-1 The CBF is such that the decoder infers this CBF and signals that there is at least one non-zero coefficient in the partition transformation.

[0069] As far as the intra-encoded mode signaling signal 116 is concerned, the following may hold: The encoded mode signaling signal 116 is transmitted as a pointer or index to one of a list of most likely modes (MPMs). The latter MPM list may be determined in the same manner by the encoder and encoder based on the intra-prediction modes used in previously encoded / decoded intra-predicted blocks, such as spatially and / or temporally adjacent intra-prediction modes. Thus, the MPM list may represent a suitable subset of the available / supported intra-prediction modes, namely one or more of the aforementioned angular modes and / or DC and planar modes. As stated above, in addition to the conventional intra-predicted ones, i.e., as a whole or in units of transformed blocks where the intra-predicted blocks are partitioned using recursive quadtree partitioning, there may be intra-predicted blocks using LIP or ISP schemes, such as block 80 in the figure. Both types of intra-predicted blocks may support the same set of available / supported intra-prediction modes. For subsequent normal / conventional intra-predicted blocks, an MPM flag may be signaled in the data stream, which the decoder decodes and the encoder encodes, indicating whether the mode of that block is selected from the MPM list. If so, a pointer / index to this MPM list is sent, which the decoder decodes and the encoder encodes, and the MPM flag is inferred to signal an MPM list restriction for intra-predicted blocks using LIP or ISP methods, such as block 80. If the MPM flag signals that none of the MPM modes are used for a particular normal / conventional intra-predicted block, then there is no index / pointer for that block in the data stream, and instead an alternative pointer / index to the residual list of intra-predicted modes is sent in the data stream for that block.The residual list may also be a suitable subset of the set of available / supported intra-prediction modes, in particular a complementary set of the MPM list compared to the set of available / supported intra-prediction modes, i.e., every element of the set of available / supported intra-prediction modes is an element of either the MPM list or the residual set. Pointers / indexes to the MPM list may be VLC encoded, and pointers / indexes to the residual set may be encoded using fixed-length codes. Naturally, even intra-predicted blocks in the LIP or ISP manner may have the MPM flag transmitted, and furthermore, the encoder may freely select any mode from the set of available / supported intra-prediction modes by setting the MPM flag, which depends on whether the selected mode is weaker in the MPM list or the residual set.

[0070] The MPM list may be the same, meaning it may be determined in the same way by the encoder for both normal / conventional intra-predicted blocks and ISP / LIP intra-predicted blocks. However, regardless of whether restrictions on the MPM list and inference of MPM flags are applied to signal the use of the MPM list for ISP / LIP intra-predicted blocks, alternatively, the MPM list for ISP / LIP intra-predicted blocks may be determined in a different way to adapt to the statistics of the ISP / LIP mode. For example, it may be modified to exclude the DC intra-mode from the MPM list and to prioritize the horizontal intra-mode for ISP horizontal partitioning, i.e., horizontal 104, and the vertical intra-mode for vertical partitioning, i.e., vertical 104. In other words, for normal / conventional intra-predicted blocks, the MPM list may form a suitable subset of the set of available / supported intra-predicted modes, and the modes are selected and ordered according to a particular concept. For ISP / LIP intra-predicted blocks 80, the MPM index may point to an MPM list that depends on the partition direction 104 signaled by flag 114 and / or forms a suitable subset of the set of available / supported intra-predicted modes, which is less than the DC mode or less than the DC and planar modes, i.e., a suitable subset of the angular modes in the set of available / supported intra-predicted modes. In constructing the MPM list based on the intra-predicted modes previously used in previous encoding / decoding, if flag 114 indicates that the partition direction 104 is horizontal, an angular mode of the angular intra-predicted direction close to the horizontal dimension may be preferred, and if flag 114 indicates that the partition direction 104 is vertical, an angular mode of the angular intra-predicted direction close to the vertical dimension may be preferred.

[0071] Regarding the preceding explanation, it should be noted again that, as outlined herein, juxtaposition between the normally processed intra-prediction mode and the intra-prediction mode processed using partitioning is unnecessary. That is, the encoder and decoder may necessarily process the intra-predicted block 80 using the partitioning presented herein, and accordingly, the partition flag 160 becomes obsolete, for example. However, if the partition choice signaled by flag 160 is available as a decision for the encoder, the following explanation clarifies the possibilities of how the encoder makes the decision, or finds whether a partition mode should be used for a particular block 80, and which partition type, i.e., horizontal or vertical, is best. To do this, the encoder needs to test both choices of the different intra-prediction modes for each block. The encoder becomes slower because it needs to test many choices compared to when the encoder has only one choice, such as the normally chosen choice. To mitigate this effect, the partition mode signaled by flag 160 may be tested by encoding according to the following strategy, see Figures 10 and 11.

[0072] 1) 1D partition mode is the last intra mode to be tested. 2) The lowest cost to date at the time the 1D partition mode is tested is C min Let's assume that. 3) Select the combination of intra-mode and split type to be tested. 4) The block is divided into N 1D partitions, and the index of each of these partitions is i, where i = [1, N]. 5) After all partitions have been encoded, their subcost J i This is calculated. Therefore, the sum of all subcosts available after partition i is encoded, i.e. [Table 3] This can be determined. This procedure is shown in Figure 10, and thus shows the accumulation of 1D partition subcosts to obtain the final cost of the entire block. 6) After all partitions have been processed, formula Si <C min This is evaluated. If this is true, continue encoding the partition to the end. Otherwise, this test mode is C min Since it is guaranteed not to result in lower RD costs, the process is interrupted and proceeds to the next combination of intra mode and split type. 7) If all 1D partitions are encoded, the test mode is the best mode, C min It will be updated accordingly.

[0073] The advantage of this procedure is that it avoids processing unnecessary 1D partitions, as it is already known that 1D partition mode does not offer better cost than existing minimum costs. Furthermore, there are no disadvantages in terms of RD loss. The entire process is shown as a flowchart in Figure 11.

[0074] It should be noted again that all of the above ISP examples, which show partitioning performed within a single sample-width stripe traversing direction 104, could alternatively be performed in a way that widens the partition, thereby resulting in a two-dimension partition. Further alternatives regarding partitioning are shown below.

[0075] In a specific ISP example, the width along the division direction 104 is defined based on 1) whether the intra-prediction mode is angular mode or non-angular mode, and 2) the width of the intra-predicted block along that direction 104.

[0076] 1) A W×H (assuming W and H are powers of 2) block 80 can be divided horizontally or vertically (e.g., as indicated by the syntax element 114 sent to the decoder) into partitions 102 / 112 equal to K having w×h dimensions, the values ​​of which are listed in Table 3. According to Table 3, a block with W=16 and H=8 that is predicted using non-angle intra-mode and is subject to vertical division (i.e., when direction 104 is vertical) will be divided into four partitions 102, all of which have dimensions w=16 and h=2. If the same block 80 is predicted using angle intra-mode, it will be divided into eight partitions 102, each having dimensions w=16 and h=1.

[0077] [Table 4] Table 3: Values ​​of w, h, and K for additional layout example 1

[0078] 2) Block 80 W×H (assuming W and H are powers of 2) can alternatively be divided horizontally or vertically (e.g., as shown in syntax element 114 sent to the decoder) into partitions equal to K having dimensions w×h, where the value of K is not fixed (and is therefore sent to the decoder with the syntax element), and its range may be any power of 2 between 2 and S, where S is the value of the dimension being divided (the width of the vertical division and the height of the horizontal division). The values ​​of w and h can be obtained as shown in Table 4.

[0079] [Table 5] Table 4: w and h values ​​for additional layout example 2

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

[0081] 3) W × H (assuming W and H are powers of 2) Block 80 is alternatively, w i ×hi It can be divided horizontally or vertically (for example, as shown in syntax element 114 sent to the decoder) into K partitions (where K depends on W and H) having dimensions (where i = 1, 2, ..., K). If the division is horizontal, S = H, s i =h i If and perpendicular, then S=W, s i =w i (is). s i Table 5 lists various options for the value of s, for different values ​​of S that measure the width of block 80 along dimension 104. i This measures the width of partition i along dimension 104.

[0082] [Table 6] Table 5: Different partition layouts i value

[0083] The choices used by the decoder may be fixed or implicitly determined according to the values ​​of existing parameters on the decoder side.

[0084] 4) W × H (assuming W and H are powers of 2) Block 80 is alternatively, w i ×h i It can be divided horizontally or vertically (for example, as shown in syntax element 114 sent to the decoder) into K partitions (where K depends on W and H) having dimensions (where i = 1, 2, ..., K). If the division is horizontal, S = H, s i =h i If and perpendicular, then S=W, s i =w i (is). s i The value of is determined by a syntax element that indicates which of the three options presented in Example 3) will be used to divide the block into subpartitions.

[0085] Therefore, as illustrated in Examples 1-4 above, partitioning may be performed along a single dimension 104 such that the partition is the same width as a given block perpendicular to a given dimension, and the width of the partition measured along the given dimension 104 is selected from at least two different width settings or options. Synchronization of selection between the encoder and decoder can be maintained using explicit or implicit signaling concepts. Thus, this selection allows partitioning to vary between blocks of the same size and shape, while keeping the overhead associated with this variation reasonably low. The selection may depend on the intra-coding mode of a given block, for example, whether the intra-coding mode of a given block is angular mode. The selection may also depend on the index in the data stream for a given block indexing with at least two different width settings, as shown in Example 4. Partitions may have one or more sample widths along the partition dimension. Within a single block, the partitioning / partition width along a given direction may vary. Some may have a single sample width, i.e., a one-dimensional stripe, while others may have a number of sample widths greater than one, i.e., a two-dimensional field of samples.

[0086] As far as residual coding is concerned, the same can be done using transform coding, as described above. Within the data stream, each subpartition 102 / 112 may have its own coded block flag (CBF) 188, final position (LP) syntax element 190, and transform coefficient 198, which are sent to the decoder. Thus, for a block 80 such as a CU having K subpartitions 102 / 112, for each partition 102 / 112 having a non-zero CBF, there are K CBFs 188 and one LP 190. The context used to encode each CBF 188 may depend, for example, along sequence 126, on the CBF values ​​of previously encoded subpartitions within the same block. Furthermore, additional syntax elements not yet mentioned may be sent to the decoder in the data stream to indicate whether the ISP concept is used in all blocks, or to indicate, for example, whether the partitioned intra-prediction concept described herein is used in all intra-predicted blocks 80 within the scope corresponding to the entire data stream or a particular picture or slice of a particular picture, or to indicate whether a portion is signaled and treated as a whole, i.e., divided into just one partition.

[0087] Similarly, as mentioned above, each subpartition may be transformed separately using one transformation, thereby resulting in 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 unless one of the dimensions of that partition 102 / 112 is 1, in which case a 1D transformation is applied. The transformation core may be DCT-II or any other transformation determined by existing parameters on the decoder side at the point in time when the subpartition will be decoded. For example, the transformation may be selected according to a combination of intra-mode, subpartition index, and subpartition dimensions, or some subset of the latter parameters. It may also be signaled directly to the decoder, or in other words, it may be signaled in the form of additional syntax elements sent separately, for example, for all partitions in block 80, or for each partition 102 / 112 in a single block 80.

[0088] Furthermore, one aspect already described above is the fact that, after quantization in a spatial or some intermediate transformation region achieved by transforming the predicted residuals of each partition individually, the residuals of partitions 102 / 112 of block 80 may be transformation coefficients to be quantized, or they may be subject to further lossless or reversible transformations. Therefore, the decoder can obtain the transformation coefficient level of the transformation of the entire block 80, and then inversely transform it to obtain the predicted residuals for each partition 102 / 112 in the spatial region, or the intermediate transformation region from the predicted residuals in the spatial region can be obtained by retransforming each partition 102 / 112.

[0089] Furthermore, it has already been described above that the prediction residuals of the various partitions of block 80 are quantized and encoded into the data stream sequentially for each partition, alternately for the individual intra-predictions of these partitions. This has been described with respect to FIG. 5, as well as with respect to FIGS. 10 and 11. However, the decoder does not need to perform decoding by alternately performing residual decoding on one hand and reconstruction of the various partitions by combining intra-prediction on one hand and prediction residuals on the other hand. That is, when decoding a particular block 80, the decoder can decouple the decoding of the prediction residuals 120 of the various partitions from the actual reconstruction procedure including the individual intra-predictions of the various partitions. Referring to FIG. 5, the decoder decodes the prediction residuals 120 of all partitions, i.e., for block 80, the prediction residuals 1201 to 1204, from the data stream 14 according to one processing task, and the decoder reconstructs the interior of block 80 for each partition according to the partition order 126 using the prediction residuals 120 i of partition 102 i . For this purpose, in a second task, the decoder performs an intra-prediction for each partition 120 i using the intra-prediction mode of block 80, then adds the prediction residuals 120 i obtained from the first task, and then steps to the next partition 120 i+1 in the partition order 126 to continue the reconstruction of block 80, and subsequently reconstructs using the prediction residuals of that partition to correct the intra-prediction result. The decoder can fully execute the first task of deriving the prediction residuals 120 from the data stream 14 before starting the second task of performing prediction and prediction correction using the prediction residuals, or the decoder can use the prediction residuals 120 of a particular partition 102 i when needed, i.e., when that partition 102 i i ​Two tasks can be performed in parallel with providing means to ensure that the prediction results are prepared when they need to be corrected, using the intra-prediction mode of the block. In particular, during the first task or phase, the decoder can perform all non-zero partitions, i.e., prediction residuals 120 i For all partitions 102 that are signaled such that is non-zero, the inverse transform can be performed in parallel for all of them.

[0090] As an aside, the residual of partition i is 120. i It should be noted that when these partitions are quantized in the transformation region, it is possible that the reconstructed samples of these partitions may deviate from a specific acceptable sample value range, i.e., exceed it or succeed. As mentioned above, they can function as elements of the reference sample 118j for partition j following sequence 126. According to the modified form of ISP, these samples are left as they are for the purpose of predicting partition j following sequence 126, and clipping of these samples in block 80 is performed as the final clipping step for the entire block 80, thereby improving the convenience of, for example, the decoder-side implementation. Thus, partition 102 i When deriving the predictor, one or more already reconstructed samples 118 serve as the basis for the current partition. i In this partition 102, according to partition order 126, iThe reconstructed samples of the preceding partition may be used in an unclipped state, where the reconstructed samples are clipped from their unclipped state to a state clipped to an acceptable sample value range, after sequential reconstruction has been performed, in order to finally reconstruct a given block. On the encoder side, clipping is performed only to obtain a reconstructed version of such samples to serve as a predictive reference for the block to be encoded afterward, in order to maintain reference synchronization with the decoder. However, this type of final cleanup clipping is just one example, and clipping may be performed alternatively, immediately, i.e., before the reconstructed samples of partition i serve as the reference samples 118j of the subsequent partition j to be processed.

[0091] An example of an ISP is shown below. In particular, according to this example, data stream 14 signals to intra-encoded block 80 by subpartition mode flag 160, regardless of whether it is encoded using the ISP method or not. The corresponding syntax element in data stream 14 can be named intra_subpartitions_mode_flag. For example, if this flag is 1, intra-encoded block 80 may be encoded using the LIP or ISP method; otherwise, block 80 is encoded using normal intra-prediction. The LIP or ISP method may be available for the current intra-encoded block 80 only if, for example, one or more specific conditions are met. One or more conditions may include, for example, that the intra-encoded block 80 must exceed a certain minimum size with respect to, for example, the number of samples in block 80, and / or that the intra-encoded block 80 cannot be allowed to exceed certain dimensions, at least horizontally and vertically, so as not to result in an excessively large conversion size. More precisely, the LSP or ISP mode is only available if block 80 is less than or equal to the maximum transformation-related size described above in at least one direction, i.e., horizontally or vertically. Therefore, the intra_subpartitions_mode_flag can only be present in the data stream if block 80 satisfies the above conditions. Otherwise, the decoder can infer that the intra-encoded block 80 is normally intra-encoded. In the case of the intra_subpartitions_mode_flag, the partition dimension flag 114 may be further signaled to the intra-encoded block 80 to indicate that the intra-encoded block 80 is an LSP or ISP encoded block. However, this intra_subpartitions_mode_flag is not necessarily explicitly signaled, and it may also be inferred to indicate a specific partition dimension 104 in certain circumstances.For example, in the case of an intra-encoded block 80 having a width exceeding the aforementioned maximum conversion size (but a height not exceeding it), the partition dimension 104 may be forced to be horizontal, and if the height of block 80 exceeds the aforementioned maximum conversion size (but the width does not exceed it), the dimension 104 may be forced to be vertical. In either case, the intra_subpartitions_split_flag is not explicitly signaled in the data stream, but is inferred as such by the decoder. The intra-encoded mode 116 may be signaled in the data stream as outlined above, i.e., by using a list of the most likely intra-predicted modes constructed on the encoder and decoder side. For LIP or ISP intra-encoded blocks 80, the data stream 14 may signal the intra-encoded mode by an MPM list pointer, for example, called intra_luma_mpm_IDX, which necessarily points to a list of possible intra-predictive modes, but this pointer may be preceded by an MPM flag in the data stream 14 if the intra-encoded block is not encoded in the ISP manner. For example, if that MPM flag, called intra_luma_mpm_flag, has a particular flag state, then a pointer to a reminder list of intra-predictive modes is signaled in the data stream instead of a pointer to the list of most likely intra-predictive modes. However, as mentioned above, this is merely an example, and the signalable set of intra-predictive modes may be the same, i.e., it may cover all supported intra-predictive modes for both regular encoded intra-predictive blocks and ISP intra-predictive blocks. For example, intra_luma_mpm_flag may be sent for both types of intra-encoded blocks. Alternatively, a pointer sent for both types of intra-predicted blocks may directly point to the 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 ISP method, the number of partitions 102 / 112 can be defined as follows. In particular, the encoder and decoder may determine the number of partitions depending on the size of block 80. No signals are 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 intra-prediction of partitions and the coding of the predicted residuals in the data stream are performed can proceed sequentially from the leftmost partition along the partition direction 104 in the case of the horizontal direction n14, and from the uppermost partition in the case of the vertical partition direction, to the furthest partition. No signaling is consumed in this either. The residual transformation can be performed for each partition 102 / 112 as described above. That is, each partition can be transformed separately. In contrast, for a typical intra-encoded block 80, 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; that is, the residual of block 80 is entirely subject to one transformation. If the maximum transformation size is exceeded horizontally, the intra-encoded block 80 is divided horizontally into two halves of the transformation block or a corresponding number of transformation blocks, such that half or one transformation block satisfies the maximum transformation size and the residual of block 80 is subject to one transformation per half / transformation block. The same applies if block 80 exceeds the maximum transformation size vertically. If the maximum transformation size is exceeded both vertically and horizontally, four or a corresponding number of transformations are used to transform the residual of block 80 within the four quadrants of block 80, or the regular two-dimensional subdivision of block 80, into the corresponding number of transformation blocks. Furthermore, the processing of a normal intra-encoded block 80 may deviate from the processing of a LIP or ISP-encoded intra-encoded block 80 in that the normal intra-encoded block is intra-predicted as a whole.In other words, it is not subpartitioned. Further differences may relate to the encoding of the transformations for encoding the predicted residuals of block 80. For each transformation, an encoded block flag 188 such as tu_cbf_luma may be sent, but for a normal intra-encoded block 80, this flag may necessarily be encoded for each transformation within block 80, and this flag may be inferred to be the flag for the last transformation of that block 80 if block 80 is ISB-encoded and all previous CBFs for previous transformations are zero. Furthermore, the choice of dimensions for subblocks within each transformation may differ between a normal intra-encoded block 80 and an ISP-encoded block 80. Details are as described above. However, alternatively, the subpartitioning of transformation 182 into subblocks may be performed equally for normal intra-encoded blocks and ISP-encoded blocks. For example, log2SbW and log2SbH may be the logarithmic duals of the width and height of the subblock, and log2TbWidth and log2TbHeight may be the width and height of the transformation, respectively. Next, the subblock dimensions can be determined as follows: [Table 7]

[0092] The pseudocode above results in subblocks of the sizes shown in Table 2. Due to the inherent minimum size of the intra-encoded block 80 and the non-subpartitioning of a normal intra-encoded block, only 4x4 coefficient subblocks may occur for a normal intra-encoded block 80. Finally, the above example can result in ISP intra-predicted blocks of various sizes, including those partitioned into only two partitions 102 / 112, but it should be noted that ISP intra-predicted blocks partitioned into more than two partitions exist regardless of whether such ISP intra-predicted blocks exist or not.

[0093] This serves as a starting point for the description of the improved implementation efficiency embodiments presented below. While this description is presented as an alternative method for handling larger ISP blocks as described above, while still handling ISP blocks of specific sizes such as 4x4, 8x4, and 4x8 blocks, it should be noted that further alternative embodiments can be achieved by transferring the partition-based intra-encoding concept described below to a block-based codec without the ISP processing of blocks outlined so far.

[0094] Figure 12 shows a decoder 20 for block-based decoding of a picture from a data stream 14 according to one embodiment. Thus, a given block 80 may be decoded, thereby partitioning the given block into subblocks, which can be understood as transformed partitions 300. The data stream 14 may comprise an encoded intra-encoded mode 116, an encoded partition dimension flag 114, and several encoded transforms 120 of predicted residuals. The intra-encoded mode 116 and the partition dimension flag 114 are signaled, for example, to a given block 80. Conversely, the transforms 120 of predicted residuals are signaled, for example, to individual transformed partitions of a given block 80.

[0095] The decoder 20 is configured to decode a partition dimension flag 114 from the data stream 14 for a given block 80 of the picture, and to set a partition dimension 104 that depends on the partition dimension flag 114 to either horizontal 1041 or vertical 1042. The partition dimension 104 indicates, for example, the direction 105 in which the given block 80 is partitioned by the decoder 20.

[0096] According to one embodiment, the decoder 20 is configured to decode the partition dimension flag 114 by using context-dependent entropy decoding that uses a context dependent on the intra-coding mode 116. According to one embodiment, the decoder 20 is configured to decode the partition dimension flag 114 by using context-dependent entropy decoding that uses one of three contexts, including an intra-coding mode that signals a non-angle mode, an intra-coding mode that signals a horizontal mode, and an intra-coding mode that signals a vertical mode.

[0097] If the partition dimension 1041 is horizontal, a given block 80 is, for example, a vertical conversion partition 300 that extends over the entire vertical height of a given block 801. 1b ~300 6b It is partitioned or divided into. Alternatively, if the partition dimension 1042 is vertical, a given block 80 is, for example, a horizontal conversion partition 300 that extends across the entire horizontal width of a given block 802. 1a ~300 4a The data is partitioned or divided into parts. In other words, the decoder is configured to partition a given block 80 along a given dimension 1041 or 1042 into a conversion partition 300 that is perpendicular to the given dimension 1041 or 1042 and has the same width 1031 or 1032 as the given block 80. The given dimension is, for example, the partition dimension 104.

[0098] The number of conversion partitions 300 is, for example, more than 2, and / or, each conversion partition 300 has one sample width 1011 or 1012 along a predetermined dimension 1041 or 1042. Alternatively, each conversion partition 300 may have two or more sample widths along the partition dimension 1041 or 1042.

[0099] According to one embodiment, the decoder 20 is configured to set the width 101 of the conversion partition 300 measured along a predetermined dimension 104, depending on the size 101a of a predetermined block 80, and / or the intra-coding mode 116 of the predetermined block 80, and / or whether the intra-coding mode 116 of the predetermined block 80 is an angular mode.

[0100] In one embodiment, a predetermined block 80 having a width W and a height H, i.e., a W × H dimension, is divided horizontally or vertically into K conversion partitions of equal size having dimensions W × H / K for horizontal division (along the vertical division dimension) or dimensions W / K × H for vertical division (along the horizontal division dimension).

[0101] The decoder 20 is configured to reconstruct a given block 80 based on an intra coding mode 116 based on already reconstructed samples 118 adjacent to the given block 80, and based on a predicted residual transformation 120.

[0102] Therefore, the decoder is configured to decode the transformation 120 of the predicted residuals from the data stream for each transformation partition. According to one embodiment, the decoder 20 is configured to decode the transformation 120 from the data stream for each partition by decoding an encoded transformation partition flag 188 from the data stream. If the encoded transformation partition flag 188 is not set, the decoder 20 is configured to set the predicted residuals to zero for each transformation partition 300, and if the encoded transformation partition flag is set, the decoder 20 is configured to decode the transformation coefficients of the transformation 120 of the predicted residuals for each transformation partition from the data stream. For example, if the encoded transformation partition flag 188 is zero, the encoded transformation partition flag 188 is not set.

[0103] According to the embodiment shown in Figure 12, for each transformation partition 300, an encoded transformation partition flag 188 is optionally encoded in the data stream 14, and based on this, the decoder 20 is configured to either decode the predicted residual transformation 120 for the transformation partition 300, or to infer that the predicted residual is zero and that the transformation 120 does not need to be decoded by the decoder 20 for this transformation partition. Alternatively, the encoded transformation partition flag 188 is not decoded by the decoder, and instead, the decoder is configured to either directly decode the predicted residual transformation 120 for each transformation partition 300, or to decode a single transformation for a given entire block 80.

[0104] According to one embodiment, the decoder 20 sequentially decodes the encoded transform partition flags 188 from the data stream 14 for the transform partition 300, and if all preceding encoded transform partition flags 188 are not set, the last transform partition in the transform partition sequence 210, for example, transform partition 300 4a or conversion partition 300 6b It is configured to assume that the encoded conversion partition flag 188 is set.

[0105] According to one embodiment, the decoder 20 has a preceding conversion partition, for example, a first conversion partition 300, which precedes each conversion partition in a predetermined conversion partition sequence 210. 1a or 300 1b For each transformed partition, for example, the second transformed partition 300, by using context-dependent entropy decoding that uses a context that depends on the decoded, encoded transformed partition flag 1881 2a or 300 2b The encoded conversion partition flag 1882 is configured to be decoded from the data stream 14.

[0106] Furthermore, the decoder 20 is configured to decode the intra encoding mode 116 from the data stream 14 for a predetermined block 80 of the picture.

[0107] The decoder 20 is configured to obtain a predictor for a given block 80 by relying on one or more already reconstructed samples 118 adjacent to the given block 80 in a manner that depends on the intra coding mode 116. According to one embodiment, the decoder 20 is configured to obtain a predictor for each conversion partition 300 by providing an intra prediction 122.

[0108] According to the first option, the conversion partition 300 is sequentially reconstructed by the decoder 20. Therefore, the decoder reconstructs the first conversion partition 300. 1a or 300 1b Regarding this, the predictor is intrapredicted 1221, and the first conversion partition 300 1a or 300 1b This predictor is corrected using the decoded predicted residual transformation 1201, and then the second transformation partition 300 2a or 300 2b Regarding this, the predictor is intrapredicted 1222, and the second conversion partition 300 2a or 300 2b This predictor is configured to be corrected using the decoded predictive residual transformation 1202. According to the partitioned predetermined blocks 801 and 802 shown in Figure 12, for block 802, the subsequent transformation partition 300 3a and 300 4a , and for block 801, the subsequent conversion partition 300 3b ,300 4b ,300 5b and 300 6b This is predicted intra-and corrected accordingly.

[0109] According to the second option, the transformation partition 300 is reconstructed in one step. Thus, the decoder 20 is configured to decode the transformation 120 of the predicted residuals from the data stream 14 for each transformation partition 300, and to make the predictor intra-prediction 122 for each transformation partition 300. The decoding of the transformation 120 is performed independently of the intra-prediction, for example. According to one embodiment, in the reconstruction 123 of a given block 80, all the transformations 120 of the predicted residuals are decoded by the decoder 20, and all the predictors are intra-predicted by the decoder 20. In other words, in the reconstruction 123 of a given block 80, for each transformation partition 300, there are the transformations 120 of the predicted residuals decoded for each transformation partition 300, and the predictors associated with each available transformation partition 300.

[0110] According to one embodiment, the decoder 20 is configured to re-transform the transformation 120 into the spatial domain for use in correcting the predictor within each transformation partition 300. In other words, an inverse transformation may be applied to the transformation coefficients of the transformation 120 of the prediction residual to obtain the prediction residual in the spatial domain.

[0111] According to one embodiment, the transformation 120 is a DCT transformation when the intra-prediction mode (i.e., intra-coding mode 116) is not planar mode, and a DST transformation when the intra-prediction mode is planar mode, or the transformation is a linear transformation whose type is selected based on the intra-prediction mode, the block size of a given block 80, and / or dedicated syntax elements. Thus, the decoder is configured to determine the type of transformation of the transformation 120 of the prediction residual based, for example, the intra-coding mode. For the above retransformation, the decoder uses, for example, an inverse transformation type.

[0112] According to one embodiment, the decoder 20 is configured to decode a partition mode flag 160 from the data stream 14 for a given block 80 of the picture. If the partition mode flag 160 indicates a first partition mode, the decoder 20 is configured to decode the partition dimension flag 114, perform partitioning 105, and decode the conversion 120 for each conversion partition. If the partition mode flag 160 indicates a second partition mode, instead of decoding the partition dimension flag 114, performing partitioning 105, and decoding the conversion 120 for each conversion partition 300, the decoder 20 is configured to decode one conversion 120 of the predicted residual within the given block 80. In other words, the first partition mode indicates decoding of a given block 80 based on conversion partitions, and the second partition mode indicates decoding of the entire given block 80 without partitioning 105. Therefore, in the second splitting mode, the decoder 20 does not use the transformation partition, and for example, the partition dimension flag 114, the encoded transformation partition flag 188, and the individual transformations 120 of the predicted residuals associated with the transformation partition are not encoded in the data stream 14 for a given block 80.

[0113] Figure 13 shows an embodiment for decoding the transformation 120 of the predicted residuals of a transformation partition 300 from a data stream 14, which can be performed by the decoder shown in Figure 12. According to the embodiment, the decoder 20 decodes a given transformation partition 300 3a or 300 3b (The embodiments are shown for a predetermined block 802 partitioned along a vertical partition dimension 1042, and for a predetermined block 801 partitioned along a horizontal partition dimension 1041) the conversion coefficient 120 for 1 dimension conversion 1203 31 ~120 36 (Conversion partition 300) 3a (related to) or 120 31 ~120 34 (Conversion partition 300)3b By decoding the final position indicator 1903 which forms a data stream 14 indicating the final conversion coefficient position 191 of the conversion 1203 along a predetermined scan order 193 that scans (related to), a predetermined conversion partition 300 3a or 300 3b The decoder 20 is configured to decode the transformed predicted residual 1203 from the data stream 14. Furthermore, the decoder 20 is configured to decode a predetermined transformed partition 300 3a or 300 3b Regarding this, the conversion coefficient 1203 of the conversion 1203 up to the final conversion coefficient position 191 along the predetermined scanning order 193 31 ~120 33 (Conversion partition 300) 3a (related to) or 120 31 ~120 33 (Conversion partition 300) 3b (related to) is decoded from the data stream 14, and the conversion coefficients 120 of the conversion 120 that exceed the final conversion coefficient position 191 along the predetermined scan order 193 34 ~120 36 (Conversion partition 300) 3a (related to) or 120 34 (Conversion partition 300) 3b By inferring that the (related to) is zero, a given conversion partition 300 3a or 300 3b The transformation 1203 of the predicted residuals is configured to decode from the data stream 14.

[0114] According to the embodiment, the final position indicator 190 may be encoded in the data stream 14 in addition to the encoded transformation partition flag 188, as described with respect to Figure 9, for example. Alternatively, only the final position indicator 190 may be encoded in the data stream 14, and the encoded transformation partition flag 188 may not be encoded.

[0115] According to one embodiment, the conversion partition 300 is one sample width along a predetermined dimension 104, and the conversion 120 is one dimension conversion.

[0116] Figure 14 shows an embodiment of an encoder 10 that encodes a picture into a data stream 14 on a block basis, wherein the encoder is configured to encode a partition dimension flag 114 into the data stream 14 for a given block 80 of the picture, the partition dimension flag 114 signaling that the partition dimension 104 should be set to horizontal 1041 or vertical 1042. The encoder 10's determination 200 of whether a given block 80 should be partitioned, and if so, which partition dimension 104 should be selected, depends, for example, on the block size of the given block 80 and / or on one or more partition determinations 200 of the encoder with respect to one or more previously encoded blocks of the picture.

[0117] The encoder 10 is configured to partition a predetermined block 80 along a predetermined dimension 104 into a conversion partition 300 that has the same width 103 as the predetermined block 80 perpendicular to the predetermined dimension. The predetermined dimension is, for example, the partition dimension 104. Thus, the encoder 10 is configured to perform a vertical partition when the partition dimension 1041 is horizontal, and to perform a horizontal partition when the partition dimension 1042 is vertical. Partitioning is performed selectively as shown in Figures 12 and 13 and / or with respect to Figures 15 to 18 in the context of the decoder.

[0118] The encoder 10 is configured to obtain a predictor for a given block 80 by intra-predicting a given block 80 in a manner that depends on one or more already reconstructed samples 118 adjacent to the given block 80, in a manner that depends on an intra-coding mode 116. This is performed by a prediction module 44 in the prediction stage 36, which generates a prediction signal 26, for example by using the intra-prediction mode 116. According to one embodiment, the encoder 10 is configured to perform intra-prediction individually for each transform partition 300 of a given block. The transform partition 300 is sequentially intra-predicted, transformed 28, quantized 32, encoded 34, for example, to become a data stream 14.

[0119] According to one embodiment, the encoder 10 is configured to encode an intra-encoding mode 116 into a data stream 14 for a given block 80 of a picture. The encoder 10 is configured, for example, to use the same intra-encoding mode 116 for a complete given block 80 to obtain a predicted residual 24 for each transformed partition of the given block 80, which can be transformed 28, quantized 32, encoded 34 to become a data stream 14.

[0120] The encoder 10 is configured to encode the transformed predicted residuals 120 into the data stream 14 for each transformed partition 300, so that a given block 80 can be reconstructed by correcting the predictor within each transformed partition 300 using the transformed predicted residuals 120 encoded for each transformed partition 300. In other words, the encoder 10 is configured, for example, to transform the transformed predicted residuals 24 within each partition 300 into a spectral domain 28 for use in correcting the predictor within each transformed partition 300.

[0121] According to one embodiment, the number of conversion partitions is greater than 2, and / or the conversion partitions are 1 sample width along a predetermined dimension.

[0122] According to one embodiment, the encoder 10 is configured to encode the transformation 120 into the data stream 14 by encoding an encoded transformation partition flag 188 into the data stream 14 for each partition 300. If the encoded transformation partition flag 188 is not set, the encoded transformation partition flag 188 signals that the predicted residual 24 is zero for each transformation partition 300. If the encoded transformation partition flag 188 is set, the encoder is configured to encode the transformation coefficients of the transformation 120 for the predicted residual 24 of each transformation partition 300 into the data stream 14. For example, if the encoded transformation partition flag 188 is zero, the encoded transformation partition flag 188 is not set.

[0123] According to one embodiment, if all preceding encoded transformation partition flags, for example, all preceding encoded transformation partition flags 1881-1887 for vertical partitioning, or all preceding encoded transformation partition flags 1881-1883 for horizontal partitioning, are not set and are presumed to be set thereafter, then in the transformation partition sequence 210, the final transformation partition, for example, the transformation partition 300 for vertical partitioning, 8b Or conversion partition 300 related to horizontal partitioning 4b With respect to the encoded conversion partition flags, for example, the encoded conversion partition flag 1888 for vertical partitioning or the encoded conversion partition flag 1884 for horizontal partitioning, the encoder 10 is configured to sequentially encode the encoded conversion partition flag 188 for the conversion partition 300 into the data stream 14.

[0124] According to one embodiment, the encoder 10 is configured to encode the encoded conversion partition flag 188 into the data stream 14 for each conversion partition 300 by using context-dependent entropy coding that uses a context that depends on the encoded conversion partition flag 188 encoded for the preceding conversion partition 300 that precedes each conversion partition 300 in a predetermined conversion partition sequence 210.

[0125] According to one embodiment, the encoder 10 is configured to encode the predicted residual transformation 120 of a predetermined partition 300 into a data stream 14 by encoding a final position indication 190 into a data stream 14 that indicates the final transformation coefficient position of a transformation along a predetermined scan sequence of transformation coefficients for one dimension transformation. Furthermore, the encoder is configured to encode the predicted residual transformation 120 of a predetermined partition 300 into a data stream 14 by encoding the transformation coefficients of the transformation up to the final transformation coefficient position along a predetermined scan sequence for the predetermined partition 300, where the transformation coefficients of the transformation beyond the final transformation coefficient position along the predetermined scan sequence are zero and are presumed to be zero. This can be performed in the same way as a decoder, as described in Figure 13.

[0126] The conversion partition is, for example, one sample width along a given dimension 104, and the conversion is a one-dimensional conversion.

[0127] The transformation is, for example, a DCT transformation if the intra-prediction mode 116 is not a planar mode, and a DST transformation if the intra-prediction mode 116 is a planar mode. Alternatively, the transformation is a linear transformation whose type is selected based on the intra-prediction mode 116, the block size of a given block 80, and / or dedicated syntax elements.

[0128] According to one embodiment, the encoder 10 is configured to encode a split mode flag 160 into a data stream 14 for a given block 80 of the picture. If the split mode flag indicates a first split mode, the encoder is configured to encode a partition dimension flag 114, partition a transformation 120, and encode a transformation 120 for each transformation partition 300. If the split mode flag indicates a second split mode, instead of encoding a partition dimension flag 114, partitioning a transformation 120, and encoding a transformation 120 for each transformation partition 300, the encoder is configured to encode one transformation 120 of the predicted residual within a given block.

[0129] According to one embodiment, the encoder is configured to encode the partition dimension flag 114 by using context-dependent entropy coding that uses a context dependent on the intra coding mode.

[0130] According to one embodiment, the encoder is configured to encode the partition dimension flag 114 by using context-dependent entropy encoding, which uses one of three contexts, including an intra-encoding mode 116 for signaling non-angle modes, an intra-encoding mode 116 for signaling horizontal modes, and an intra-encoding mode 116 for signaling vertical modes.

[0131] According to one embodiment, the encoder is configured to set the width 101 of the conversion partition 300 measured along the predetermined dimension 104, depending on the size of a predetermined block 80 along a predetermined dimension 104, and / or depending on the intra encoding mode 116 of the predetermined block 80, and / or depending on whether the intra encoding mode 116 of the predetermined block 80 is an angular mode.

[0132] The following describes the extension of the intra-subpartition (ISP) encoding mode to 4x4, as well as the modification of the number of subpartitions in 4x8 and 8x4 blocks, which motivates the extension. The subpartitions are independent of each other to maintain a worst-case scenario throughput of 16 samples / cycle. Experimental results show gains of 0%, 1%, and 0.47% for CTC and Class F, respectively, for the AI ​​configuration, and 0, 0.01%, and 0.25% for CTC and Class F, respectively, for the RA configuration. The impact on encoding runtime is 102% for AI and 100% for RA.

[0133] This provides additional test results regarding the impact of extending the ISP concept to all ISP blocks that generate subpartitions with a width of less than four. The experimental results show gains of 0.05% and 0.44% for CTC and Class F, respectively, for AI configurations, and a gain of 0.24% for Class F (no change for CTC) in the case of RA. On the other hand, we are testing the impact of completely removing subpartitions with widths smaller than the four in the current ISP design. This additional information shows losses of 0.14% and 0.31% for CTC and Class F respectively for AI configurations, and 0.04% and 0.23% for CTC and Class F respectively for RA configurations.

[0134] 1. Introduction As shown in [1], the intra-subpartition (ISP) coding mode divides the lumane intra-prediction block vertically or horizontally into two or four equal-sized subpartitions according to the CU dimensions. Table 6 shows the different possibilities.

[0135] Table 6: Number of subpartitions created by ISPs according to CU dimensions in the current VVC draft [Table 8]

[0136] Each subpartition is predicted, transformed, quantized, and then entropy-encoded, and the resulting coefficients are sent to the decoder. The reconstructed samples of the subpartition are then used to generate predictions for the next subpartition, but the intra-mode used is shared among all subpartitions.

[0137] Because this process is on the intra-predictive critical path (in the typical case, a subpartition cannot be decoded until reconstructed samples of the previous subpartition are available), a minimum of 16 samples must be run on each subpartition, which guarantees a worst-case scenario throughput of 16 samples / cycle. This is why 4x8 and 8x4 blocks have two subpartitions (instead of four), and 4x4 blocks cannot be subpartitioned.

[0138] The following description presents an extension of the ISP that enables its use in 4x4 blocks while maintaining a 16 sample / cycle throughput constraint, and modifies the number of subpartitions for 4x8 and 8x4 blocks. This goal can be achieved by generating subpartitions that are independent of each other, i.e., by not using reconstructed samples of subpartitions to predict the next one.

[0139] For example, with respect to 4x8 and 8x4 blocks, partitioning and restructuring of a predetermined block 80, as described below with reference to Figures 15 to 18, can be performed by a decoder as described with reference to Figures 12 and 13, or by an encoder as described with reference to Figure 14.

[0140] It should be noted that subsequent presentations of specific modifications in the ISP represent only possible embodiments, and that variations thereof are readily available. For example, less complex or linear forward variations are described in Section 6 below.

[0141] 2. ISP extension to new block sizes The ISP changes introduced by this contribution affect 4x4, 8x4, and 4x8 blocks.

[0142] 2.1 4x4 blocks According to the embodiments shown in Figures 15 and 16, a given block 80 is divided into four 4×1 (horizontal split) or 1×4 (vertical split) partitions. However, each of their predicted signals 122 is generated using the adjacent sample 118 at the CU boundary as the reference sample. Thus, each subpartition (i.e., the transform partition 300) is independent of the others, and they can all be processed in parallel in a single step. In other words, reusing the terminology applied above, block 80 is not partitioned, or remains as a single partition 112, and all the reference samples 118 used for intra-prediction or prediction derivation are outside of block 80. Partitioning is applied rather to transform-based residual coding, as outlined below, where one partition 112, i.e., the block, is partitioned into transform partitions 300, and each of the transform partitions is transformed separately, resulting in each transform 182 encoded in the manner described above with respect to the data structure 120.

[0143] Figures 15a to 15d show one embodiment of vertical partitioning of a 4x4 block, i.e., partitioning along the horizontal partition dimensions. The reference sample 118 used to generate each 1x4 prediction is only the CU boundary sample. Note that the prediction is the same as in the non-ISP case.

[0144] Note that the predicted samples for all 300 transformation partitions are the same as those generated for blocks that do not use ISP (except for the reference sample and PDPC filtering operation, which are disabled for all ISP blocks). The difference between a 4x4 block that uses ISP and one that does not lies in the transformations (there are four 1D transformations in the case of ISP, and a single 4x4 transformation in the case of non-ISP) and the entropy coding of the coefficients.

[0145] 2.2 8x4 and 4x8 blocks According to the embodiment shown in Figure 17 or Figure 18, the ISP design is modified so that the number of transformation partitions 300 becomes 4 and the number of subpartitions 1121 and 1122 becomes 2. Each subpartition 1121 and 1122 is sub-divided into two transformation partitions 300. As shown in the embodiment of Figure 17 or Figure 18, the predicted signals 122 of transformation partitions 2 and 4 cannot be generated using the reconstructed samples of transformation partitions 1 and 3, respectively. Thus, transformation partition 2 is independent of transformation partition 1, and similarly, transformation partition 4 is independent of 3. Thus, a 4x8 or 8x4 block can be processed in two cycles, which corresponds to a total of 16 samples / cycle. The figures illustrate this for horizontal and vertical partitioning.

[0146] Figure 17 shows one embodiment of vertical partitioning of a given block 80. The given block 80 is, for example, a 4×M block divided into four 1×M conversion partitions 300 where M≧8, an 8×N block divided into four 2×N conversion partitions 300 where N≧4, or a 16×O block divided into four 4×O conversion partitions 300 where O≧1. A reconstructed sample from conversion partition 2 can be used to predict conversion partition 3, but reconstructed samples from conversion partitions 1 and 3 cannot be used to predict 2 and 4, respectively. Vertical partitioning corresponds to partitioning along horizontal partition dimensions.

[0147] Figure 18 shows one embodiment of the horizontal partitioning of a given block 80. The given block 80 is, for example, an Mx4 block divided into four Mx1 transformation blocks where M≧8, an N×8 block divided into four N×2 transformation partitions 300 where N≧4, or an Ox16 block divided into four Ox4 transformation partitions 300 where O≧4. A reconstructed sample from transformation partition 2 can be used to predict transformation partition 3, but reconstructed samples from transformation partitions 1 and 3 cannot be used to predict 2 and 4, respectively. Horizontal partitioning corresponds to partitioning along the vertical partition dimensions.

[0148] As shown in Figures 17 and 18, the decoder described herein intra-predicts a given block 80 in an intra-coding mode-dependent manner, in order to obtain a predictor for a given block 80, by intra-predicting 122 a given block 80 that depends on one or more already reconstructed samples 1181 adjacent to the given block 80, and for the current subpartition, e.g., subpartition 1121 shown in Figure 17 or subpartition 1021 shown in Figure 18, before proceeding to the next subpartition, e.g., subpartition 1122 shown in Figure 17 or subpartition 1022 shown in Figure 18, along a given dimension 104 The decoder is configured to reconstruct a predetermined block 80 by sequentially reconstructing a group of transform partitions 300, such that for each group of transform partitions 300 according to a predetermined subpartition sequence 126 that sequentially traverses sequence 102 / 112, the transform partitions 300 of a predetermined block 80 are grouped to form subpartitions, for example, 1121 and 1122 shown in Figure 17, or 1021 and 1022 shown in Figure 18, thereby correcting the predictor within each transform partition 300 using the transform of the decoded predictive residual for each transform partition 300. The decoder is configured to derive the predictor of the current subpartition 122 by filling the current subpartition with one or more already reconstructed samples 1181 adjacent to the current subpartition in a manner dependent on the intra-coding mode. Furthermore, the decoder is configured to reconstruct the current subpartition by correcting the predictor within each transform partition 300 included in the group of transform partitions that form the current subpartition using the transform of each transform partition 300.

[0149] As shown in Figures 17 and 18, the encoder described herein is similar to the decoder and intrapredicts 122 a predetermined block 80 in an intracoding mode-dependent manner to obtain a predictor for a predetermined block 80, and fills the current subpartition in an intracoding mode-dependent manner to fill the current subpartition, for example, subpartition 1121 shown in Figure 17 or subpartition 1021 shown in Figure 18, so that the transform partition 300 of a predetermined block 80 sequentially traverses subpartitions 102 / 112 along a predetermined dimension 104 for each group of transform partitions, for example, subpartitions 1121 and 1122 shown in Figure 17 or Figure 18, in order to derive a predictor for the current subpartition, for example, subpartition 1121 shown in Figure 17 or subpartition 1021 shown in Figure 18, by intrapredicting 122 a predetermined block 80 in an intracoding mode-dependent manner to obtain a predictor for a predetermined block 80, and by filling the current subpartition in an intracoding mode-dependent manner to fill the current subpartition, for example, subpartition 1121 shown in Figure 17 or subpartition 1021 shown in Figure 18, in order that the transform partition 300 of a predetermined block 80 sequentially traverses subpartitions 102 / 112 along a predetermined dimension 104 for each group of transform partitions, for example, subpartitions 1121 and 1122 shown in Figure 17 or Figure The system is configured to perform the following: sequentially predict groups of transformation partitions 300 that are grouped to form 1021 and 1022 as shown in 18; and determine the transformation of the predicted residuals in each transformation partition 300 that are composed of groups of transformation partitions that form the current subpartition 102 / 112, in order to help reconstruct the current subpartition by correcting the predictors in each transformation partition 300 that are composed of groups of transformation partitions that form the current subpartition 102 / 112 using the transformation of each transformation partition, before proceeding to the next subpartition, for example, subpartition 1122 as shown in Figure 17 or subpartition 1022 as shown in Figure 18; and determine the predicted residuals of a given block 80 to correct the predictors in each transformation partition 300 using the transformation of the predicted residuals to be encoded for each transformation partition 300.

[0150] As shown in Figures 17 and 18, the decoder and / or encoder is configured to use a pre-reconstructed sample 1181 adjacent to a given block 80 to perform predicting 122 the predictor of first and second transformation partitions 300 that are grouped together to form a first subpartition, e.g., subpartition 1121 shown in Figure 17 or subpartition 1021 shown in Figure 18. To predict 122 the predictor of third and fourth transformation partitions 300 that are grouped together to form a second subpartition, e.g., subpartition 1122 shown in Figure 17 or subpartition 1022 shown in Figure 18, the decoder uses, for example, a pre-reconstructed sample 1182 adjacent to a given block 80 and / or a pre-reconstructed sample 1182 of the second transformation partition 300 adjacent to the third transformation partition 300. In other words, in order to predict the predictor of the conversion partition 300 of the second subpartition 1122 / 1022, the decoder is configured to use, for example, an already reconstructed sample 1182 adjacent to the second subpartition 1122 / 1022, and at least a portion of the already reconstructed sample may be associated with an already reconstructed sample of a preceding subpartition, for example, subpartition 1121 shown in Figure 17, or subpartition 1021 shown in Figure 18.

[0151] According to one embodiment, the subpartitions of a given block 80 are reconstructed or encoded sequentially. In other words, a first subpartition, for example, subpartition 1121 according to Figure 17, or subpartition 1021 according to Figure 18, is reconstructed or encoded in a first cycle, and then a second subpartition, for example, subpartition 1122 according to Figure 17, or subpartition 1022 according to Figure 18, is reconstructed or encoded in a second cycle. Thus, all transformed partitions of the same subpartition are reconstructed or encoded in the same cycle. In other words, transformed partitions associated with the same subpartition can be reconstructed or encoded in parallel. Thus, according to one embodiment, since all transformed partitions 300 are reconstructed in parallel, the complete given block 80 in Figure 15 or Figure 16 can be understood as a single partition (i.e., subpartition).

[0152] According to one embodiment, the decoder and / or encoder is configured such that the number of conversion partitions 300 per subpartition 102 / 112 depends on the dimensions of a predetermined block 80.

[0153] According to one embodiment, the decoder and / or encoder is configured such that the number of conversion partitions 300 per subpartition 102 / 112 is 1 if the dimensions of a given block 80 exceed a predetermined threshold, and greater than 1 if the dimensions of a given block 80 do not exceed a predetermined threshold. If a given block exceeds a certain dimension, it is advantageous to refrain from further subdividing the subpartition in order to further enhance the decoding runtime or encoding runtime. The predetermined threshold is, for example, a block dimension of 64 × 64 samples. In other words, the use of ISP is limited to the dimensions of a given block 80 that do not exceed a predetermined threshold.

[0154] According to one embodiment, the decoder and / or encoder is configured such that the number of subpartitions 102 / 112 within a given block depends on the dimensions of the given block and / or the given dimensions.

[0155] According to one embodiment, the decoder and / or encoder is configured such that the number of subpartitions 102 / 112 within a given block 80 is 1 if the dimensions of the given block 80 are below a further predetermined threshold, and greater than 1 if the dimensions of the given block 80 are not below a further predetermined threshold. The further predetermined threshold is determined, for example, so that the given block 80 contains at least 16 samples. The further predetermined threshold is, for example, the dimensions of the given block 80 being greater than 4×4 samples, 8×2 samples, 2×8 samples, 1×16, or 16×1 samples. In the case of 4×4 samples, as shown in Figure 15 or Figure 16, the given block 80 comprises, for example, one subpartition having four 1×4 conversion partitions or four 4×1 conversion partitions. In the case of 2×8 samples, the given block 80 comprises, for example, one subpartition having two 1×8 conversion partitions, and in the case of 8×2 samples, the given block 80 comprises, for example, one subpartition having two 8×1 conversion partitions. For a given block size of 1x16 or 16x1, the entire block is simultaneously a subpartition and a conversion partition. If a given block 80 has only one subpartition, this subpartition is, for example, equal to the entire given block 80. Alternatively, as shown in Figures 17 and 18, larger dimensions of a given block 80 may result in two or more subpartitions, each having two or more conversion partitions.

[0156] According to one embodiment, the decoder and / or encoder is configured such that the number of subpartitions within a given block depends on the dimensions of the given block, with the number of subpartitions being equal to a first number when the dimensions of the given block are assumed to be a first width and a first height, and the second number being different from the first when the dimensions of the given block are assumed to be a second width equal to the first height and a second height equal to the first width. As shown in Figures 15 to 18, for blocks having equal width and height, the number of subpartitions is different compared to blocks having the same width but different heights. A given block 80 having 4x4 dimensions is, for example, not divided; that is, the entire block represents one partition (i.e., a subpartition) having four conversion partitions. Conversely, a given block having 4x8 or 8x4 dimensions is divided into two subpartitions. This can also be applied to larger blocks. For example, a given block 80 with dimensions of 128x128 will not be divided, but a given block 80 with dimensions of 128x64 may be divided vertically (along the horizontal partition dimensions) into four sub-partitions.

[0157] 3. Experimental Results Under typical test conditions [2], the proposed method is evaluated using VTM-4.0.1 software for intra-only (AI), random access (RA), and low-latency b (LDB) configurations. The corresponding simulations were run on an Intel Xeon cluster (E5-2697A v4, AVX2 on, Turbo Boost off) with Linux® OS and GCC 7.2.1 compiler.

[0158] Table 7: Results of AI configuration [Table 9]

[0159] Table 8: Results of RA configuration [Table 10]

[0160] Table 9: Results of LDB configuration [Table 11]

[0161] 4. Additional Information 4.1 Use of subpartitions with a width of less than four Because samples are typically allocated in a raster scanning manner, and certain embodiments write the output of reconstructed samples in 4x1 groups, the use of subpartitions with a width of less than four is mentioned in the JVET reflector as a potential hardware concern. Thus, for example, 1xN or 2xN subpartitions can cause problems. Prediction from a 1xN subpartition is not a major problem; writing 1xN subpartition data is problematic because the data is typically written horizontally with 4 or 8 samples per cycle. To make this work, a 4xN intermediate buffer (register) must be maintained to store this data, and then, for example, 4 samples must be written to memory at a time (for example, due to non-blocking). The same problem arises when reading the 1xN inverse transform output for reconstruction. This increases latency and may also require double buffering. For this reason, the following provides additional information to evaluate the impact of using these subpartitions.

[0162] 4.1.1 Removal of subpartitions with a width smaller than four This change affects the vertical partitioning of 4xN and 8xN blocks as follows: • 4×N: Vertical partitioning no longer exists, meaning it follows horizontal partition dimensions. Therefore, whenever an ISP is used in one of these blocks, the decoder or encoder infers that horizontal partitioning is used and thus does not need to parse the partitioning flag syntax element. Thus, for example, a 4x1 transform partition is used instead of a 1xN transform partition. • 8×N: Vertical partitioning generates two subpartitions instead of four. Therefore, a given block 80 is divided into 4×N subpartitions instead of, for example, 1×N or 2×N subpartitions.

[0163] Note that this modified ISP approach was proposed as Test 1.1.2 at CE3 of the Marrakech Conference in January 2019 in [1]. The results of this approach, applied to VTM-4.0.1, are shown in Tables 10, 11, and 12.

[0164] Table 10: Results for AI configurations that do not have subpartitions with a width of less than four. [Table 12]

[0165] Table 11: Results for RA configurations that do not have subpartitions with a width of less than four. [Table 13]

[0166] Table 12: Results for LDB configurations that do not have subpartitions with a width of less than four. [Table 14]

[0167] 4.1.2 Extending ISP with an independent subpartition approach to subpartitions with widths smaller than four In this case, subpartitions with a width smaller than four are not removed from the ISP structure. Instead, the same design introduced in Section 2 for 4x4, 8x4, and 4x8 structures applies to them. The two different cases are distinguished as follows: The vertical partitioning of a 4xN block is handled in the same way as the vertical partitioning of a 4x4 block described in Section 2.1. For example, a 4x32 block can be vertically partitioned into four independent 1x32 conversion partitions 300 that form one partition 112. The vertical partitioning of an 8×N block is handled in the same manner as the vertical partitioning of an 8×4 block described in Section 2.2. For example, an 8×16 block may be partitioned into four 2×16 transform partitions 300, where transform partitions 1 and 2 form partition 1121, and transform partitions 3 and 4 form partition 1122, and transform partitions 2 and 4 may use the reconstructed samples of transform partitions 1 and 3, respectively, to generate their corresponding predictive signals.

[0168] This method allows reconstructed samples to be written in groups of at least 4x4 samples for all vertical partitions (for horizontal partitions, the minimum remains 16x1). The results of this approach added to VTM-4.0.1 (using independent 4x4, 4x8, and 8x4 conversion partitions, and vertical partitions of 4xN and 8xN blocks) are shown in Tables 13, 14, and 15.

[0169] Therefore, according to one embodiment, the decoder is configured to divide a given block into 16 × M subblocks where M ≥ 1, or into 4 × N subblocks or N × 4 subblocks where N ≥ 4. These subblocks are optionally partitioned into two or more smaller conversion partitions, as described above.

[0170] Table 13: Results of using 4x4, 4x8, and 8x4 independent subpartitions, as well as vertical partitioning of 4xN and 8xN blocks, for AI configurations. [Table 15]

[0171] Table 14: Results of using RA configurations with independent 4x4, 4x8, and 8x4 subpartitions, as well as vertical partitioning of 4xN and 8xN blocks. [Table 16]

[0172] Table 15: Results of using 4x4, 4x8, and 8x4 independent subpartitions, as well as vertical partitioning of 4xN and 8xN blocks, for LDB configurations. [Table 17]

[0173] 5 Conclusion The reported results show gains in CTC and Class F with very little (AI) or no effect (RA and LDB) during encoding runtime.

[0174] Regarding the additional information presented, experimental results show that in AI, for classes C and E, and class F in all configurations, removing subpartitions with a width of less than four results in significant loss. Furthermore, this loss is slightly reduced during encoding runtime. On the other hand, extending the novel ISP design to blocks that generate subpartitions with a width of less than four results in no loss and generates significant gain in class F, with very little impact during encoding runtime, thus performing better than the complete removal of these subpartitions in terms of BD rate gain.

[0175] 6. Methods for reducing the complexity of ISP partition structures As already mentioned above, variations of the above concept exist, and one such variation exists here. As outlined above, in typical decoder hardware implementations, one of the most important aspects affecting the top-level system pipeline is processing dependency. In the case of ISP, the minimum rumor block of the VVC has dimensions of 4x4, i.e., 16 samples, so the minimum 16-sample constraint ensures that the intra-loop dependencies present in intra-prediction do not pose a throughput problem.

[0176] However, ISP introduces new, extremely narrow shapes to VVC designs: 1xN, 2xN, Mx2, and Mx1. Given that pixels are typically allocated within internal line buffer memory using a raster scanning scheme that accesses samples within 4x1 groups, processing dependencies can become an issue for 1xN and 2xN subpartitions. Therefore, filling this buffer is inefficient for all subpartitions with a width of less than four. The impact of this problem can be mitigated by different hardware implementations (such as changing the pixel allocation method or using inverted memory), but this still means an increase in the complexity of the hardware implementation.

[0177] Figures 19a and 19b show examples of different subpartitions 112 / P and conversion partitions 300 / T for different block sizes of a given block 80, where the left example shows a conventional partition and the right example shows the partition proposed by the invention described herein. Decoding and / or encoding of the given block 80 on the right side of Figure 19a may be performed in the same manner as or as described in Figures 15a to 15d, and decoding and / or encoding of the given block 80 on the right side of Figure 19b may be performed in the same manner as or as described in Figure 17.

[0178] To reduce the complexity of the hardware implementation, four minimum prediction widths are established (the transformation size remains unchanged). This affects the vertical partitioning of 4xM (where M>4) and 8xN (where N>4) blocks as follows: ·4xM: As shown in Figure 1a, the entire block is predicted once as a non-ISP block, and a 4xM residual signal is calculated. Then, the residual is divided into four 1xM (or two 2x8 when M = 8) transform sub-partitions that are processed independently. ·8xN: As shown in Figure 1b, the block is divided into two 4xN prediction sub-partitions P1 and P2. After calculating the prediction for P1, a 4xN residual signal is generated and divided into two 2xN transform sub-partitions T1 and T2 that are processed independently. And the same process is repeated for P2, T3, and T4 as well. However, in this case, the prediction signal may use the reconstructed samples of the P1 area.

[0179] 7 References [1] "CE3: Intra Sub-Partitions Coding Mode (Tests 1.1.1 and 1.1.2)" by S. De-Luxan-Hernandez, V. George, J. Ma, T. Nguyen, H. Schwarz, D. Marpe, T. Wiegand et al., Document JVET-M0102, Marrakesh, Morocco, 2019. [2] "JVET common test conditions and software reference configurations for SDR video" by F. Bossen, J. Boyce, X. Li, V. Seregin, K. Suhring et al., Document JVET-M1010, Marrakesh, Morocco, 2019.

[0180] Although some aspects have been described in the context of an apparatus, it will be apparent that these aspects also represent corresponding method descriptions, where a block or device corresponds to a method step or a function of a method step. Similarly, aspects described in the context of a method step also represent corresponding descriptions of corresponding blocks or items or functions of a corresponding apparatus. Some or all of the method steps may 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.

[0181] The data streams of the present invention can be stored on a digital storage medium or transmitted on a transmission medium, such as a wireless transmission medium, or a wired transmission medium such as the Internet.

[0182] Depending on the particular implementation, embodiments of the present invention can be implemented in hardware or software. The implementation can use a digital storage medium, such as a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM, or a flash memory, which stores electronically readable control signals thereon and which cooperate (or can cooperate) with a programmable computer system so that respective methods are executed. Thus, the digital storage medium can be computer-readable.

[0183] Some embodiments according to the present invention include a data carrier having electronically readable control signals that cooperate with a programmable computer system so that one of the methods described herein is executed.

[0184] In general, embodiments of the present invention can be implemented as a computer program product having program code, where the program code operates to execute one of the methods when the computer program product is executed on a computer. The program code can be stored, for example, on a machine-readable carrier.

[0185] Other embodiments include a computer program stored in a machine-readable carrier for performing one of the methods described herein. Therefore, in other words, one embodiment of the method of the present invention is such that when a computer program is executed on a computer, the computer program has program code for executing one of the methods described herein.

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

[0187] 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, for example, over a data communication connection, such as the Internet.

[0188] Further embodiments include processing means, such as a computer or a programmable logic device, configured or adapted to perform one of the methods described herein. Further embodiments include a computer on which a computer program for performing one of the methods described herein is installed.

[0189] 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.

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

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

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

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

[0194] Any method described herein, or any component of the apparatus described herein, may be performed at least partially by hardware and / or software.

[0195] 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 will not be limited by the specific details presented herein as part of the description and explanation of the embodiments, but only by the claims set forth below.

Claims

[Claim 1] A method for decoding blocks of a picture, Decoding the intra-encoding mode of the block from the data stream, wherein the block is divided into four transformation partitions of the same size based on the partition dimension flag and the size of the block, Based on the size of the block, a plurality of predicted partitions into which the block is divided are determined, The method involves deriving a predictor for the first prediction partition using at least one reconstructed sample and the intra-encoding mode, wherein the first prediction partition corresponds to two transformation partitions. After deriving the predictor for the first prediction partition, the first prediction residual for the first transformation partition and the second prediction residual for the second transformation partition are derived, wherein the first and second transformation partitions correspond to the first prediction partition. To reconstruct the first prediction partition, the predictor of the first prediction partition is combined with the first prediction residual and the second prediction residual. A method that includes this.