Decoder, encoder and method comprising coding for intra subpartition

JP2025157517APending Publication Date: 2025-10-15FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025124175
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-09-24
Filing Date
2025-07-24
Publication Date
2025-10-15

AI Technical Summary

Technical Problem

Current video coding technologies face inefficiencies due to limitations in using low-frequency non-separable transforms for intra subpartitions, leading to increased data usage and bitrates.

Method used

Implementing quadratic transforms and partition-specific intra prediction modes for intra subpartitions, allowing for flexible coding by using two-stage transforms and partition-specific intra prediction.

Benefits of technology

This approach reduces data usage and bitrates, achieving higher coding efficiency and improved coding quality by condensing non-zero coefficients effectively.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025157517000001_ABST
    Figure 2025157517000001_ABST
Patent Text Reader

Abstract

To provide an encoder and a decoder configured to ease restrictions when using intra subpartitions.SOLUTION: A decoder is configured to derive, from a data stream 112 into which a picture is coded, an assignment of a picture, at a granularity of blocks into which the picture 110 is subdivided, to a set 114 of prediction types which include intra prediction 116 and inter prediction 118, so that each block 120 is assigned to an associated prediction type out of the set of prediction types, and derive, from the data stream, for each of intra-predicted blocks 120 to which the intra-prediction is assigned, associated intra-prediction modes 123a-123d out of a set of intra-prediction modes.SELECTED DRAWING: Figure 4
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] This application relates to picture coding / decoding or video coding / decoding. [Background technology]

[0002] Today, to encode or decode a picture or video, there are coding constraints on blocks that use intra subpartitions. Summary of the Invention [Means for solving the problem]

[0003] Preface In the following, different inventive embodiments and aspects are described.

[0004] Further embodiments are defined by the enclosed claims.

[0005] It should be noted that any embodiment defined by the claims may be supplemented by any of the details (features and functions) described in the following embodiments.

[0006] Also, the embodiments can be used individually and can also be supplemented by any of the features of the other embodiments or by any of the features contained in the claims.

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

[0008] It should also be noted that this disclosure explicitly or implicitly describes features usable in an encoder (a device for providing an encoded representation of an input signal, e.g., a picture or video) and in a decoder (a device for providing a decoded representation of a signal based on the encoded representation). Thus, any of the features described herein may be used in the context of an encoder and in the context of a decoder.

[0009] In addition, features and functions disclosed herein relating to a method may also be used in an apparatus (configured to perform such function). Furthermore, any feature and function disclosed herein relating to an apparatus may also be used in the corresponding method. In other words, the method disclosed herein may be supplemented by any of the features and functions described in relation to the apparatus.

[0010] Also, as described in the "Implementation Alternatives" section, any of the features and functionality described herein may be implemented in hardware or software, or using a combination of hardware and software.

[0011] It is an objective of the present subject matter to provide a video codec that uses block-based predictive coding with improved coding efficiency. It would be desirable to have more flexible coding concepts for blocks that use intra subsections, or alternative coding concepts for blocks that use intra subsections.

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

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

[0014] According to a first aspect, the inventors of the present application have recognized that one problem encountered when encoding or decoding blocks that use intra subsections (ISPs) stems from the fact that, currently, in VTM-5.0, intra subsections cannot use low-frequency non-separable transforms (LFNSTs), i.e., quadratic transforms. According to a first aspect of the present application, this difficulty is overcome by enabling the use of quadratic transforms for blocks that use ISPs, i.e., by allowing the use of two-stage transforms at the transform unit level. While the use of a first transform and a concatenation of a first and a second transform in intra subsections introduces additional syntax elements, it has been found that this additional signaling overhead is more than compensated for by the fact that a second transform following a first transform can better condense non-zero coefficients, thereby resulting in a reduced amount of data used to represent partition-specific residual blocks. It has been found that by using quadratic transforms also for intra subsections, higher coding efficiency and reduced bitrates can be achieved. Hereinafter, the second transform may be equivalent to a concatenation of a primary transform and a secondary transform applied to a subset of the coefficients of the first transform. The primary transform may be the first transform. Enabling the second transform for an intra partition may be linked to certain conditions. The second transform is enabled for a partition, for example, if no non-zero transform coefficients, i.e., non-zero coefficients of the primary transform, are outside a predetermined area, and / or the number of non-zero transform coefficients is below a predetermined limit, and / or the position of the last non-zero coefficient along a scan path proceeding from the position of the DC coefficient to the position of the highest frequency coefficient, as indicated by a last position syntax element in the data stream, is below a further predetermined threshold.

[0015] Therefore, according to a first aspect of the present application, an encoder for encoding a picture and a decoder for decoding a picture are proposed. The decoder / encoder is configured to derive / encode from / into a data stream in which the picture is coded an allocation of the picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra prediction and inter prediction, such that each block is assigned to an associated prediction type from the set of prediction types. Thus, each block of the picture is, for example, assigned to either intra prediction or inter prediction. The allocation may define a prediction type for each block. Furthermore, the decoder / encoder is configured to derive / encode from / into a data stream an associated intra prediction mode from a set of intra prediction modes for each intra-predicted block assigned intra prediction.

[0016] For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the decoder / encoder is configured to derive / encode information regarding the partitioning of the respective predetermined intra-predicted block into partitions from / into the data stream. The information regarding the partition may indicate horizontal, vertical, or quad-split partitioning. Furthermore, for each predetermined intra-predicted block, the encoder / decoder is configured to intra-predict each partition of the respective predetermined intra-predicted block in a manner corresponding to the predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block. The predetermined intra-prediction mode for each predetermined intra-predicted block may be represented by an intra-prediction mode from the set of intra-prediction modes for the respective intra-predicted block. For each partition of the respective predetermined intra-predicted block, the same intra-prediction mode, i.e., the predetermined intra-prediction mode, may be used for intra prediction. The predetermined subset of predetermined intra-prediction modes is, for example, a subset of the set of intra-prediction modes. For each of the predetermined intra-predicted blocks, the predetermined subset of intra-prediction modes defines, for example, a list of most likely intra-prediction modes from the set of intra-prediction modes for the respective predetermined intra-predicted block.

[0017] The decoder / encoder is configured to derive / encode, for each block, information regarding the prediction residual of each block from / into the data stream by deriving / encoding, for each partition of each predetermined intra-predicted block, a partition-specific prediction residual signal from / into the data stream, the partition-specific prediction residual signal being associated with a spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform. For each partition of each predetermined intra-predicted block, the partition-specific prediction residual signal may be in the transform domain. Furthermore, the decoder / encoder is configured to derive / encode, for each block, information regarding the prediction residual of each block from / into the data stream by deriving / encoding, for each block, information identifying a predetermined transform from a set of transforms including a first transform and a second transform equal to a concatenation of a linear transform and a secondary transform applied to a subset of the coefficients of the linear transform. The linear transform may be the first transform. In this case, the second transform is equivalent to the concatenation of the first transform and a secondary transform applied to a subset of the coefficients of the first transform. If the predetermined transform is the second transform, the decoder / encoder may be configured to use the primary and secondary transforms individually, or to use one transform that combines the primary and secondary transforms to produce the same result. Alternatively, the predetermined transform is the first transform, and the secondary transform is not composed of a predetermined transform for each partition. The decoder / encoder may be configured to derive / encode information identifying a predetermined transform from / to the data stream by reading / transmitting a transform syntax element transmitted within the data stream for each predetermined intra-predicted block. The information identifying a predetermined transform from / to the set of transforms may be an index pointing to a list of transforms, and the list of transforms may be equal to or include a subset of the set of transforms. The transforms in the decoder's set of transforms may be the inverse of the transforms in the encoder's set of transforms.

[0018] Furthermore, the decoder is configured to reconstruct each block using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block. For each block encoded by the encoder, the respective block is reconstructible using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block.

[0019] The information specifying the predetermined transform of the set of transforms may be derived / encoded individually for each predetermined intra-predicted block or for each partition of each predetermined intra-predicted block. In other words, the decoder / encoder may be configured to derive / encode the information specifying the predetermined transform of the set of transforms from / to the data stream for each partition or for the entire block. If the information is derived / encoded for the entire block, the predetermined transform is the same for each partition of each predetermined intra-predicted block.

[0020] According to an embodiment, information identifying a predetermined transform from a set of transforms may be derived / encoded by reading / signaling a secondary transform flag in / from the data stream for each predetermined intra-predicted block, the secondary transform flag indicating whether the predetermined transform is a first transform or a second transform. The secondary transform flag may indicate whether a second transform is used for the entire block. If the use of a second transform is indicated, the decoder / encoder may be configured to derive / encode, for each partition, information identifying the predetermined transform by deriving / encoding information identifying a second transform for the respective partition. The information identifying the second transform may indicate a primary transform and / or a secondary transform. If the primary transform and / or the secondary transform cannot be set or selected by default or based on the associated intra-prediction mode, block dimension, partition dimension, partition processing rank, and / or partition, information identifying the second transform may be derived / signaled from / to the data stream. According to an embodiment, a primary transformation is set and a secondary transformation is selected based on information specifying a second transformation, or a secondary transformation is set and a primary transformation is selected based on information specifying a second transformation.

[0021] According to a second aspect, the inventors of the present application have realized that one problem encountered when partitioning blocks stems from the fact that current designs of intra subpartitions (ISPs) only allow the use of horizontal or vertical partitioning, resulting in partitions with different horizontal and vertical dimensions. According to a second aspect of the present application, this difficulty is overcome by introducing a quadrant, which divides a block in both the horizontal and vertical dimensions. This quadrant can result in partitions with the same horizontal and vertical dimensions. Thus, partitions of equal size can be realized. It has been found that the introduction of a third partition, which may be called a quadrant, requires increased signaling overhead due to the need to distinguish between horizontal, vertical, and quadrant partitioning compared to simply selecting between horizontal and vertical partitioning, and therefore may require additional syntax elements or syntax elements with an increased number of states, but that higher coding efficiency and reduced bit rates can be realized.

[0022] Therefore, according to a second aspect of the present application, an encoder for encoding a picture and a decoder for decoding a picture are proposed. The decoder / encoder is configured to derive / encode from / into a data stream in which the picture is coded an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra prediction and inter prediction, such that each block is assigned to an associated prediction type from the set of prediction types. Thus, each block of the picture is, for example, assigned to either intra prediction or inter prediction. The allocation may define a prediction type for each block. Furthermore, the decoder / encoder is configured to derive / encode from / into a data stream an associated intra prediction mode from a set of intra prediction modes for each intra-predicted block assigned intra prediction.

[0023] For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the decoder / encoder is configured to derive / encode from / into the data stream information specifying the partitioning of each predetermined intra-predicted block into partitions among a set of partition modes including: a first partition in which each predetermined intra-predicted block is divided horizontally so that the partitions are the same width as each predetermined intra-predicted block, a second partition in which each predetermined intra-predicted block is divided vertically so that the partitions are the same height as each predetermined intra-predicted block, and a third partition in which each predetermined intra-predicted block is divided horizontally and vertically so that the partitions are arranged in partition rows and partition columns. In the horizontal partitioning, each predetermined intra-predicted block is partitioned along the vertical dimension, resulting in n partitions having the same horizontal size as each predetermined intra-predicted block and a reduced vertical size equal to 1 / n times the vertical size of each predetermined intra-predicted block. In vertical partitioning, each given intra-predicted block is partitioned along the horizontal dimension, resulting in n partitions having the same vertical size as each given intra-predicted block and a reduced horizontal size equal to 1 / n times the horizontal size of each given intra-predicted block. In third partitioning, each given intra-predicted block can be partitioned into n portions along the horizontal dimension and n portions along the vertical dimension, resulting in n portions having a reduced horizontal size equal to 1 / n times the horizontal size of each given intra-predicted block and a reduced vertical size equal to 1 / n times the vertical size of each given intra-predicted block. 2 This results in individual division.

[0024] Furthermore, the decoder / encoder is configured to, for each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of the predetermined intra-prediction modes, intra-predict each partition of the respective predetermined intra-predicted block in a manner according to a predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block.

[0025] Further, the decoder / encoder is configured to derive / encode, for each block, information regarding the prediction residual of the respective block from / into the data stream by deriving / encoding, for each partition of the respective predetermined intra-predicted block, a prediction residual for the respective predetermined intra-predicted block by deriving / encoding, from / into the data stream, a partition-specific prediction residual signal that is associated with the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transformation.

[0026] Furthermore, the decoder is configured to reconstruct each block using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block. For each block encoded by the encoder, the respective block is reconstructible using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block.

[0027] According to a third aspect, the inventors of the present application have realized that one problem encountered when encoding or decoding a block using intra subpartitioning (ISP) stems from the fact that current designs of intra subpartitioning (ISP) only allow the use of the same intra prediction mode for all partitions of a block. According to a third aspect of the present application, this difficulty is overcome by determining a partition-specific intra prediction mode for each partition of a given intra-predicted block using a predetermined rule. The predetermined rule determines the partition-specific intra prediction mode based on the intra prediction mode of the entire block. This feature allows the intra prediction of a block to take into account local variations between partitions of the block. Although the individual intra prediction decisions for each partition are guided by information in the data stream, such as additional syntax elements indicating the individual intra prediction modes to be used and / or additional syntax elements indicating predetermined rules from a set of rules, it has been found that higher coding efficiency and coding quality can be achieved despite the additional signaling overhead associated with such information.

[0028] Therefore, according to a third aspect of the present application, an encoder for encoding a picture and a decoder for decoding a picture are proposed. The decoder / encoder is configured to derive / encode from / into a data stream in which the picture is coded an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra prediction and inter prediction, such that each block is assigned to an associated prediction type from the set of prediction types. Thus, each block of the picture is, for example, assigned to either intra prediction or inter prediction. The allocation may define a prediction type for each block. Furthermore, the decoder / encoder is configured to derive / encode from / into a data stream an associated intra prediction mode from a set of intra prediction modes for each intra-predicted block assigned intra prediction.

[0029] For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the decoder / encoder is configured to derive / encode from / into the data stream information regarding the partitioning of the respective predetermined intra-predicted block into partitions, and to derive / encode from the data stream information specifying a predetermined rule from a set of rules, whereby, for each partition of the respective predetermined intra-predicted block, a partition-specific intra-prediction mode is determined from the predetermined subset of predetermined intra-prediction modes based on the associated intra-prediction mode for the respective predetermined intra-predicted block using the information specifying the predetermined rule. The predetermined intra-prediction modes of the predetermined subset of predetermined intra-prediction modes may be sorted, for example, in a list. Similar intra-prediction modes may be grouped together. Using the predetermined rule, a predetermined intra-prediction mode that is close to the predetermined intra-prediction mode of the entire block in the list may be determined for each partition. Thus, local variations of the intra-prediction modes for each partition may be taken into account. Furthermore, the decoder / encoder is configured to, for each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, intra-predict each partition of the respective predetermined intra-predicted block using a partition-specific intra-prediction mode determined for the respective partition.

[0030] Further, the decoder / encoder is configured to derive / encode, for each block, information regarding the prediction residual of the respective block from / to the data stream by deriving / encoding, for each partition of the respective predetermined intra-predicted block, a prediction residual signal specific to the partition from the data stream that is associated with the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transformation.

[0031] Furthermore, the decoder is configured to reconstruct each block using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block. For each block encoded by the encoder, the respective block is reconstructible using information about the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block.

[0032] The drawings are not necessarily to scale, emphasis instead generally being placed upon illustrating the principles of the invention.In the description below, various embodiments of the invention are described with reference to the following drawings: [Brief explanation of the drawings]

[0033] [Figure 1] FIG. 2 is a schematic diagram of an encoder. [Figure 2] FIG. 2 is a schematic diagram of a decoder. [Figure 3] FIG. 1 is a schematic diagram of block-based reconstruction of a picture by a decoder; [Figure 4] 1 is a schematic diagram of the use of a quadratic transform for each partition of a block of a picture to be decoded according to an embodiment; [Figure 5] 1 is a schematic diagram of an area of ​​non-zero transform regions located within a partition of a block of a picture, according to an embodiment; [Figure 6] 10 is a schematic diagram of the use of a third partition of blocks of a picture according to an embodiment; [Figure 7] FIG. 10 is a schematic diagram of partition-specific intra-prediction mode usage according to an embodiment. [Figure 8] FIG. 10 is a schematic diagram of the use of partition-specific angular intra prediction modes according to an embodiment. [Figure 9] 1 is a block diagram of a method for decoding a picture using a quadratic transform for each partition of a block of the picture to be decoded, according to an embodiment; [Figure 10] 1 is a block diagram of a method for encoding a picture using a quadratic transform for each partition of a block of the picture to be encoded according to an embodiment; [Figure 11] 10 is a block diagram of a method for decoding a picture using a third partition for blocks of the picture according to an embodiment. [Figure 12] 1 is a block diagram of a method for encoding a picture using a third partition for blocks of the picture according to an embodiment; [Figure 13] 1 is a block diagram of a method for decoding a picture using partition-specific intra-prediction modes for blocks of the picture, according to an embodiment. [Figure 14] 1 is a block diagram of a method for encoding a picture using partition-specific intra-prediction modes for blocks of the picture, according to an embodiment. [Figure 15] FIG. 2 illustrates the syntax of a coding unit according to an embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0034] In the following description, equal or equivalent elements or elements having equal or equivalent functions are designated by equal or equivalent reference numerals even if they appear in different figures.

[0035] In the following description, numerous details are set forth to provide a more thorough explanation of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced without these specific details. In other instances, well-known structures and devices are shown in block diagram form, rather than in detail, to avoid obscuring the embodiments of the present invention. In addition, features of different embodiments described hereinafter may be combined with each other unless expressly stated otherwise.

[0036] The following description of the figures begins with the presentation of a description of an encoder and decoder of a block-based predictive codec for coding pictures of video, to form an example of a coding framework into which embodiments of the present invention may be incorporated. Each encoder and decoder is described in relation to Figures 1 to 3. Below, in relation to Figures 4 to 8, descriptions of embodiments of the inventive concepts are presented, along with descriptions of how such concepts may be incorporated into the encoders and decoders of Figures 1 and 2, respectively, although the embodiments described below using Figure 4 onwards may be used to form encoders and decoders that do not operate according to the coding framework underlying the encoders and decoders of Figures 1 and 2.

[0037] FIG. 1 illustrates an apparatus (e.g., a video encoder) for predictively coding a picture 12 into a data stream 14, illustratively using transform-based residual coding. The apparatus or encoder is indicated using the reference numeral 10. FIG. 2 illustrates a corresponding decoder 20, i.e., apparatus 20 configured to predictively decode a picture 12′ from data stream 14, also using transform-based residual decoding, with an apostrophe used to indicate that picture 12′ reconstructed by decoder 20 deviates from picture 12 originally coded by apparatus 10 in terms of coding loss caused by quantization of the predictive residual signal. While FIGS. 1 and 2 illustratively use transform-based predictive residual coding, embodiments of the present application are not limited to this type of predictive residual coding. This also applies to other details described in connection with FIGS. 1 and 2, as summarized below.

[0038] The encoder 10 is configured to subject the prediction residual signal to a spatial-to-spectral transformation and to encode the prediction residual signal thus obtained into a data stream 14. Similarly, the decoder 20 is configured to decode the prediction residual signal from the data stream 14 and to subject the prediction residual signal thus obtained to a spectral-to-spatial transformation.

[0039] Internally, the encoder 10 may include a prediction residual signal former 22 that generates a prediction residual 24 to measure the deviation of a prediction signal 26 from the original signal, i.e., the picture 12; the prediction signal 26 may, according to an embodiment of the present invention, be interpreted as a linear combination of a set of one or more predictor blocks. The prediction residual signal former 22 may, for example, be a subtractor that subtracts the prediction signal from the original signal, i.e., the picture 12. The encoder 10 then further includes a transformer 28 that subjects the prediction residual signal 24 to a spatial-to-spectral transformation to obtain a spectral-domain prediction residual signal 24′, which is then quantized by a quantizer 32 also included in the encoder 10. The quantized prediction residual signal 24″ is then coded into the bitstream 14. For this purpose, the encoder 10 may optionally include an entropy coder 34 that entropy codes the transformed and quantized prediction residual signal into the data stream 14.

[0040] A prediction signal 26 is generated by a prediction stage 36 of the encoder 10 based on a prediction residual signal 24" that is encoded into and decodable from the data stream 14. To this end, the prediction stage 36 may internally include, as shown in FIG. 1, an inverse quantizer 38 that inversely quantizes the prediction residual signal 24" to obtain a spectral-domain prediction residual signal 24'" that corresponds to the signal 24' except for quantization losses, followed by an inverse transformer 40 that subjects the latter prediction residual signal 24'" to an inverse transform, i.e., a spectral-to-spatial transformation, to obtain a prediction residual signal 24"" that corresponds to the original prediction residual signal 24 except for quantization losses. A combiner 42 of the prediction stage 36 then recombines, such as by addition, the prediction signal 26 and the prediction residual signal 24"" to obtain a reconstructed signal 46, i.e., a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to the signal 12'. A prediction module 44 of the prediction stage 36 then generates a predicted signal 26 based on the signal 46, for example by using spatial prediction, i.e., intra-picture prediction, and / or temporal prediction, i.e., inter-picture prediction.

[0041] Similarly, the decoder 20 shown in FIG. 2 may be internally composed of components corresponding to the prediction stage 36 and interconnected in a manner corresponding to the prediction stage 36. In particular, an entropy decoder 50 of the decoder 20 may entropy decode a quantized spectral domain prediction residual signal 24″ from the data stream, after which an inverse quantizer 52, an inverse transformer 54, a synthesizer 56, and a prediction module 58, interconnected and cooperating in the manner described above in connection with the modules of the prediction stage 36, recover a reconstructed signal based on the prediction residual signal 24″, such that the output of the synthesizer 56 provides the reconstructed signal, i.e., picture 12′, as shown in FIG. 2.

[0042] Although not specifically described above, it is quite clear that the encoder 10 may set some coding parameters, including, for example, prediction modes, motion parameters, etc., according to some optimization scheme, such as to optimize some rate- and distortion-related criteria, i.e., coding cost. For example, the encoder 10 and the decoder 20 and corresponding modules 44, 58 may support different prediction modes, such as intra-coding and inter-coding modes, respectively. The granularity at which the encoder and the decoder switch between these types of prediction modes may correspond to a subdivision of the pictures 12 and 12′ into coding segments or coding blocks, respectively. In units of these coding segments, for example, a picture may be subdivided into intra-coded blocks and inter-coded blocks.

[0043] Intra-coded blocks are predicted based on the spatially already coded / decoded neighbors (e.g., current template) of each block (e.g., current block), as outlined in more detail in connection with Figures 4 to 8. Several intra-coding modes may be selected for each intra-coded segment, including directional or angular intra-coding modes, according to which each segment is filled by extrapolating neighboring sample values ​​along a specific direction specific to each directional intra-coding mode. The intra-coding modes may also include one or more additional modes, such as, for example, a DC coding mode in which prediction for each intra-coded block assigns a DC value to all samples in each intra-coded segment, and / or a planar intra-coding mode in which prediction for each block approximates or is determined as the spatial distribution of sample values ​​represented by a two-dimensional linear function on the sample positions of each intra-coded block by manipulating the slope and offset of the plane defined by the two-dimensional linear function based on neighboring samples.

[0044] In comparison, inter-coded blocks may be temporally predicted. For inter-coded blocks, a motion vector may be signaled in data stream 14, indicating the spatial displacement of a portion of an already coded picture (e.g., a reference picture) of the video to which picture 12 belongs, from which the already coded / decoded picture is sampled to obtain a prediction signal for the respective inter-coded block. This means that in addition to the residual signal coding included by data stream 14, such as entropy-coded transform coefficient levels representing the quantized spectral-domain prediction residual signal 24", data stream 14 may also encode within its stream coding mode parameters for allocating coding modes to various blocks, prediction parameters for portions of the blocks, such as motion parameters for inter-coded segments, and any further parameters, such as parameters controlling and signaling the subdivision of pictures 12 and 12′ into segments, respectively. The decoder 20 uses these parameters to sub-divide the picture in the same way as the encoder did, assigning the same prediction modes to the segments and performing the same predictions resulting in the same prediction signals.

[0045] 3 illustrates the relationship between a reconstructed signal, i.e., a reconstructed picture 12′, on the one hand, and the combination of a prediction residual signal 24″″ and a prediction signal 26 signaled in the data stream 14, on the other hand. As already indicated above, the combination can be additive. The prediction signal 26 is illustrated in FIG. 3 as a subdivision of the picture area into intra-coded blocks, which are shown using diagonal lines for illustrative purposes, and inter-coded blocks, which are shown without diagonal lines for illustrative purposes. The subdivision can be any subdivision, such as a regular subdivision of the picture area into rows and columns of square or non-square blocks, or a multi-tree subdivision of the picture 12 from a root block of a tree, such as a quadtree subdivision, into multiple leaf blocks of various sizes; a mixture of these is illustrated in FIG. 3, in which the picture area is first subdivided into rows and columns of a root block of a tree, which are then further subdivided into one or more leaf blocks by repeated multi-tree subdivision.

[0046] Again, data stream 14 may code an intra-coding mode within itself for intra-coded blocks 80, which assigns one of several supported intra-coding modes to each intra-coded block 80. For inter-coded blocks 82, data stream 14 may code one or more motion parameters within itself. In general, inter-coded blocks 82 are not limited to being temporally coded. Alternatively, inter-coded block 82 may be any block predicted from an already coded picture of the video to which picture 12 belongs, or from an already coded portion outside current picture 12 itself, such as a picture of another view or a hierarchically lower layer if the encoder and decoder are scalable encoder and decoder, respectively.

[0047] The prediction residual signal 24"" in FIG. 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 the coding blocks 80 and 82. Indeed, FIG. 3 shows that the encoder 10 and the decoder 20 may use two different subdivisions of the picture 12 and the picture 12' into blocks, respectively: one subdivision into coding blocks 80 and 82, respectively, and another subdivision into transform blocks 84. While both subdivisions may be the same, that is, each coding block 80 and 82 may simultaneously form a transform block 84, FIG. 3 shows the case where the subdivision into transform blocks 84 forms an extension of the subdivision into the coding blocks 80, 82, for example, such that any boundary between the two blocks 80 and 82 covers the boundary between the two blocks 84, or in other words, such that each block 80, 82 either coincides with one of the transform blocks 84 or with a group of transform blocks 84. However, the subdivisions may be determined or selected independently of each other, and thus transform block 84 could alternatively straddle the block boundary between blocks 80, 82. As far as the subdivision into transform block 84 is concerned, the same holds true as mentioned in relation to the subdivision into blocks 80, 82, i.e., block 84 may be the result of a regular subdivision of the picture area into blocks (either arranged in rows and columns or not), a recursive multi-tree subdivision of the picture area, or a combination of these, or any other type of block division. Merely as an aside, it is noted that block residual signals 82 and 84 are not limited to being square, rectangular, or any other shape.

[0048] 3 further illustrates that combining the prediction signal 26 with the prediction residual signal 24'''' immediately results in the reconstructed signal 12'. However, it should be noted that, according to alternative embodiments, more than one prediction signal 26 may be combined with the prediction residual signal 24'''' to result in the picture 12'.

[0049] In Figure 3, the transform blocks 84 have the following significance: the transformer 28 and the inverse transformer 54 perform their transforms on a per-transform block basis. For example, many codecs use some kind of DST (Discrete Sine Transform) or DCT (Discrete Cosine Transform) for all transform blocks 84. Some codecs allow skipping the transform for some of the transform blocks 84 so that the prediction residual signal is directly coded in the spatial domain. However, according to the embodiments described in relation to Figures 4 to 8, the encoder 10 and the decoder 20 are configured such that they support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include: DCT-II (or DCT-III). DCT stands for Discrete Cosine Transform. DST-IV. DST stands for Discrete Sine Transform DCT-IV DST-VII Identity Transformation (IT)

[0050] Naturally, while the transformer 28 supports all of the forward transform versions of these transforms, the decoder 20 or inverse transformer 54 supports their corresponding backward or inverse versions, namely: Inverse DCT-II (or Inverse DCT-III) Reverse DST-IV ·Inverse DCT-IV Reverse DST-VII Identity Transformation (IT)

[0051] The following description provides further details regarding which transforms may be supported by the encoder 10 and decoder 20. Note that in any case, the set of supported transforms may only include one transform, such as one spectral-to-spatial or spatial-to-spectral transform, but it is also possible that a transform may not be used by the encoder or decoder at all or for a single block 80, 82, 84.

[0052] As already outlined above, Figures 1 to 3 have been presented as examples in which the inventive concepts described in connection with Figures 4 to 8 may be implemented to form specific examples of an encoder and decoder according to the present application. The encoder and decoder of Figures 1 and 2 may respectively illustrate possible implementations of the encoder and decoder described herein. However, Figures 1 and 2 are merely examples. However, an encoder according to embodiments of the present application may perform block-based encoding of picture 12 using the concepts outlined in more detail in connection with Figures 4 to 8 and may differ from the encoder of Figure 1 in, for example, further subdividing an intra-coded block 80 into partitions, and / or the subdivision into partitions is performed by horizontal and vertical partitioning for a single intra-coded block 80, and / or first and secondary transforms are used for the partitions of a single intra-coded block 80, and / or individual intra-prediction modes are used for the partitions of a single intra-coded block 80, etc. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of a picture 12′ from a data stream 14 using the coding concepts further outlined in connection with FIGS. 4 to 8, but may differ from the decoder 20 of FIG. 2 in that, for example, an intra-coded block 80 is further sub-divided into partitions, and / or the sub-division into partitions is performed by horizontal and vertical partitioning with respect to a single intra-coded block 80, and / or a first transform and a secondary transform are used for the partitions of a single intra-coded block 80, and / or individual intra-prediction modes are used for the partitions of a single intra-coded block 80.

[0053] 4, the data stream 112 in which the picture 110 is coded may carry information 112a, which is inserted into the data stream 112 by the encoder, and based on the information 112a, the decoder derives an allocation of the picture 110 to a set of prediction types 114 at the granularity of blocks into which the picture is sub-divided. That is, the information 112a allocates each of the blocks of the picture 110 to one prediction type from the set of prediction types 114. The set of prediction types 114 includes intra prediction 116 and inter prediction 118, as described above, so that each block is allocated to an associated prediction type from the set 114. For each intra-predicted block 120, i.e., for each block allocated to intra prediction 116, data stream 112 includes information 112c, which is inserted by the encoder, from which the decoder derives, for each intra-predicted block 120, which intra-prediction mode from set of intra-prediction modes 122 to which each intra-predicted block 120 is associated. For each given intra-predicted block 120, i.e., each intra-predicted block 120 whose associated intra-prediction mode is included in subset 124 of given intra-prediction modes, data stream 112 further includes information 112d, which is inserted into data stream 112 by the encoder to enable the decoder to derive partition 128 of each given intra-predicted block 120 into partition 130 from information 112d. Note that not every intra-predicted block is a given intra-predicted block. Rather, as described above and further below, information 112b carried in the data stream for an intra-predicted block may determine whether a particular intra-predicted block is a predetermined intra-predicted block, i.e., an ISP block. Similarly, a subset of intra-prediction modes may not be a true subset; all intra-prediction modes in set 122 may be members of subset 124.Set 122 may include angular intra-prediction modes 123a, planar intra-prediction modes 123b, DC intra-prediction modes 123c, and / or block-based intra-prediction modes 123d. Subset 124, for example, includes angular intra-prediction modes 123a, planar intra-prediction modes 123b, and / or DC intra-prediction modes 123c.

[0054] Different possibilities for partitioning are shown in Figure 4. Based on the partition 128 for each given intra-predicted block 120, each partition 130 of each given intra-predicted block 120 is intra-predicted in a manner according to a given intra-prediction mode assigned to each given intra-predicted block to obtain a partition-specific prediction signal. Some examples of intra-prediction modes are presented above, and further details will be briefly given herein below.

[0055] The data stream 112 further includes, for each block, information 112e related to the prediction residual of the respective block. For each given intra-predicted block 120, this is conveyed within the data stream as follows. In particular, the data stream 112 includes, for each partition 130 of each given intra-predicted block 120, a partition-specific prediction residual signal 132 that is related to the spatial-domain prediction residual signal 134 of the respective partition 130 by a given transform T. Information 136 within the data stream 112 is inserted into the data stream by the encoder and derived from the data stream by the decoder for each given intra-predicted block, identifying the given transform T from a set of transforms 138. The information 136 is derived, for example, by reading a transform syntax element 112f transmitted within the data stream 112 for each given intra-predicted block 120. The transform syntax element 112f may be signaled within the data stream 112 for the entire block or for each partition 130 of each given intra-predicted block 120. Information 136 identifying a predetermined transform T among a set of transforms 138 may be derived for each partition 130 or for the entire block 120. The set of transforms 138 includes at least a first transform T1 and a second transform T2, where the second transform T2 corresponds to a concatenation of a primary transform T1 / Tp and a secondary transform Ts applied to a subset 140 of transform coefficients of the primary transform T1 / Tp. The primary transform Tp may be the first transform T1. The first transform T1 and / or the primary transform Tp may be a separable transform such as a DCT or DST, and the secondary transform may be a non-separable transform. Based on information about the prediction residual and the prediction signal, each block can then be reconstructed by a decoder using a prediction type assigned to the respective block. That is, for inter-predicted blocks, a prediction signal is derived by inter prediction, and for intra-predicted blocks, a prediction signal is obtained by intra prediction.

[0056] The transform syntax element 112f may be represented by a secondary transform flag and / or a secondary transform instruction syntax element. The secondary transform flag may indicate whether a given transform is the first transform T1 or the second transform T2, and the secondary transform instruction syntax element may indicate a secondary transform Ts to be used when the given transform is the second transform T2.

[0057] According to an embodiment, the decoder / encoder is configured to determine whether the predetermined transform T is the first transform T1 or the second transform T2, and to decide among different secondary transform candidates to determine the secondary transform Ts at different levels among the block level and the partition level. Thus, the predetermined transform T can be the first transform T1 or the second transform T2, and the secondary transform Ts for the second transform T2 can be selected from different secondary transform candidates to determine the secondary transform Ts at different levels among the block level and the partition level.

[0058] Before proceeding with the description of various possibilities for signaling transform information 136 for ISP blocks, some additional nodes illustrate possible implementations of the above description. For example, the above description temporarily ignored that an intra-predicted block need not necessarily be an ISP block. That is, frankly, not every intra-predicted block is a given intra-predicted block. This and further implementation details will become apparent from the brief discussion below.

[0059] In particular, the decoder and encoder may support different intra-prediction modes, which are grouped into a set 122 in FIG. 4. An angular intra-prediction mode 123a may exist, in which neighboring reference samples of an intra-predicted area (e.g., the entire intra-predicted block for a non-ISP intra-predicted block and the area of ​​each individual partition 130 for an ISP block) are used to fill a given block 120 and obtain an intra-prediction signal for the block. In particular, the reference samples, which may be arranged parallel to the boundary of the area, such as parallel to the top and left edges of the area, represent picture content that is extrapolated or copied into this area along a predetermined direction. Before extrapolation or copying, the picture content represented by the neighboring samples may be subjected to interpolation filtering, or in other words, may be derived from the neighboring samples by interpolation filtering. The angular intra-prediction modes 123a differ from each other in the direction of intra-prediction. Each angular intra-prediction mode 123 a may have an index associated with it, and the association of the indices to the angular intra-prediction modes 123 a may be such that when ordering the angular intra-prediction modes 123 a according to the associated mode index, the direction rotates monotonically clockwise or counterclockwise.

[0060] Non-angular intra-prediction modes may also exist, such as planar intra-prediction mode 123b, in which a two-dimensional linear function defined by a horizontal gradient, a vertical gradient, and an offset is derived based on the neighboring samples in the neighborhood of the intra-predicted area, and this linear function defines the predicted sample values ​​within the intra-predicted area, i.e., the entire block 120 or the area of ​​a particular partition 130. The horizontal gradient, vertical gradient, and offset are derived based on the neighboring samples.

[0061] A particular non-angular intra-prediction mode 123c, the DC mode, may be included in the set 122, where one value, i.e., a DC value, is derived based on neighboring samples and is considered to belong to all samples in the area to be intra-predicted, i.e., the entire block 120 or the area of ​​a particular partition 130, to obtain an intra-predicted signal. Two examples of non-intra-prediction modes are shown, but there may be none, one, or more than two in the set 122.

[0062] The intra-prediction modes 123a-c form a subset 124 of intra-prediction modes supported by the encoder and decoder. The intra-prediction modes 123a-c may optionally compete for rate / distortion optimization with block-based intra-prediction modes, denoted using reference numeral 123d, as shown at 123d in FIG. 4. According to these block-based intra-prediction modes 123d, a matrix-vector product between vectors derived from neighboring samples on the one hand and a predetermined prediction matrix on the other hand may be used to yield a prediction vector used to predict samples within the intra-predicted area. Such block-based intra-prediction modes 123d may differ from each other in the prediction matrices associated with each mode, if any. Thus, briefly summarized, an encoder and decoder according to embodiments described herein may include a set 124 of intra-prediction modes 123a-123d.

[0063] An intra-predicted block 120 may be coded / decoded using intra prediction as follows. For example, mode indication 112c may be provided as follows. In particular, if block-based prediction mode 123d is supported, set selection syntax element or information 112b—which may be named intra_mip_flag—may be carried within data stream 120 to indicate whether block 120 should be predicted using any of subset 124 of intra-prediction modes or any of mode 123d. Information 112b is illustrated in FIG. 4 with particular reference to information 112c. From one perspective, information 112b and 112c work together to indicate the intra-prediction mode for block 120 of set 122, but note that when block 120 in FIG. 4 is assumed to be an ISP block, the mode of the block is already known to be in set 124, and information 112c is sufficient to indicate the mode of block 120.

[0064] If information 112b indicates that block 120 should be predicted using one of the modes in subset 124, information 112c may be signaled as follows: A list of the most likely candidates from set 124 may be constructed / formed in the decoder and encoder based on the intra-prediction modes used to predict neighboring blocks in the neighborhood of block 120. The neighboring blocks may be determined relative to the position of block 120 in a predetermined manner, such as by determining neighboring blocks that overlay a particular neighboring sample of block 120, such as the sample above the upper-left sample of block 120, and the block containing the sample to the left of the just-mentioned corner sample. Of course, this is merely an example. The same applies to the number of neighboring blocks used for mode prediction, which is not limited to two for all embodiments. Three or more or only one may be used. If any of these neighboring blocks is missing, a default intra-prediction mode from set 124 may be used by default instead of the intra-prediction mode of the missing neighboring block. The same may be true if any of the neighboring blocks were coded / decoded using an inter-prediction mode, such as by motion-compensated prediction. The construction of the list of most probable modes from set 122 may be such that the length of the list, i.e., the number of most probable modes in the list, may be fixed by default. An index in the data stream may indicate one mode from this list to be used for block 120. The indexing is performed along a list order or ranking such that the list index is of variable length, e.g., coded so that the length of the index monotonically increases along order 530. The list index forms part of information 112c. Initially, only the most probable modes from set 124 are populated into the most probable mode list, with more probable modes being placed upstream along the list order relative to less likely modes suitable for intra-predicted block 120. is valuable. When the modes of the list are derived based on the modes used for neighboring blocks, any of the latter may have been intra-predicted using block-based mode 123d. In that case, a mapping from block-based mode 123d to modes in set 124 may be used to construct the list. When set-selective syntax element 112b indicates that a given block 120 should be coded by any mode in set 124, optionally, an MPM syntax element—which may be called intra_luma_mpm_flag—may be part of information 112c indicating whether the intra-prediction mode used for given block 120 is in the MPM list, and if the intra-prediction mode used for given block 120 is in the MPM list, data stream 112 includes an index of the just-mentioned list into the MPM list—which may be called intra_luma_mpm_idx—that indicates the mode used for the given block in the MPM list by indexing it along the order of the list. However, if a mode from set 124 is not in the MPM list, data stream 112 includes as part of information 112c for block 120 a further syntax element—which syntax element may be called intra_luma_mpm_remainder—that indicates which mode from set 124 should be used for block 120. This syntax element may indicate the mode in a way that simply distinguishes between modes from set 124 that are not included in the MPM list.

[0065] Otherwise, if information 112b indicates that a given block 120 should be predicted using one of the block-based intra-prediction modes 123d, coding of block 120 to and decoding of block 120 from the data stream may be performed. For this purpose, indexing may be used to index a selected one of block-based intra-prediction modes 123d or to indicate which of block-based intra-prediction modes 123d should be used. For this purpose, construction of a separate MPM list may be used, along with information indicating whether a selected mode of modes 123d is in the MPM list, and if so, which mode in the MPM list is the selected mode, or if not, which mode of modes 123d the mode of block 120 is.

[0066] If block 120 is coded using one of the modes in subset 124, i.e., is a potentially predetermined intra-predicted block, further syntax elements or information may be included in the data stream that in some way parameterize the intra-prediction modes in set 124. Optionally, a syntax element—which may be called intra_luma_ref_idx—may parameterize or vary the region around block 120 in which the above-mentioned reference samples are located, based on which the modes in set 124 are used to intra-predict within block 120, such as in terms of distance to the perimeter of block 120. 4, and may be referred to as intra_subpartitions_mode_flag, may indicate whether block 120 is an ISP block; that is, the syntax element parameters whether the above-mentioned reference samples are used by the selected mode of set 124 to intra-predict within block 120 as a whole or en bloc, or whether intra-prediction is performed in units of partitions 130, in which block 120 is sub-divided and intra-predicted in turn, such that a prediction residual coded into the data stream for one partition 130 may serve to fill / reconstruct new reference samples for intra-predicting subsequent partitions 130. The ISP coding options controlled by the just-mentioned ISP syntax element 112b may, according to any embodiment, be available only if an optionally present syntax element controlling the location of the reference samples has a predetermined state corresponding to an area in which the reference samples are located, e.g., adjacent to block 120 (and the corresponding syntax element may be present in the data stream only in that case).

[0067] The partitions 130 may be defined by subdividing the block 120 along a predetermined direction, such as either horizontally, whereby the partitions 130 are as tall as the block 120, as shown at 127b, or vertically, whereby the partitions 130 are as wide as the block 120, as shown at 127a. Optionally, it may be feasible to indicate one or more other partitions 127c, such as a division into n by n partitions 130. When partitioning is signaled to be active for the block 120, a syntax element as part of the information 112d may be present in the data stream; i.e., if the block 120 is an ISP block as described, this syntax element 112d may control which division direction is used.

[0068] According to an embodiment, section 128 of block 120 may be performed as described in connection with FIG.

[0069] We now turn to a discussion related to residual coding for the ISP block 120. That is, the block 120 is signaled to be partitioned into partitions 130 according to the selected partition 126, and for each partition 130, the data stream 112 encodes a partition-specific residual signal 112e within the data stream 112, and the decoder decodes the residual signal for the partition 130 from the data stream 112. As described, the decoder uses a spatial-domain residual signal 134 derived from the signal 132 to correct the prediction signal derived for each partition 130 using the intra-prediction mode signaled for the ISP block 120. The next partition may then be intra-predicted using reference samples that are in the neighborhood of the next partition, e.g., partially within the previous partition. The partition-specific residual signal 132 is carried within the data stream in the transform domain. Which transformation T underlies the partition-specific signal 132 is signaled in the data stream using information 112f in any of the ways described herein, such as on a partition-by-partition basis so that the transformation T may vary between partitions 130 of one ISP block 120. However, before describing different embodiments in this regard, it will be briefly described how the partition-specific residual signal 132 is coded into the data stream 112, i.e., what the information 112e in the data stream 112 indicating the partition-specific residual signal 132 may look like.

[0070] In particular, the information 112e may include, for each partition 130, a coded block flag (CBF), a last position (LP) syntax element, and transform coefficient level coding of the transform coefficients forming the transform domain signal 132 of the respective partition 130. Thus, for an ISP block 120 having K partitions 130, there may be K CBFs and one LP for each partition 130 with a non-zero CBF. The context used to code each CBF may depend on the CBF values ​​of previously coded partitions 130 in the same block 120—along with the order in which the partitions are subjected to prediction. The transform T for a particular partition 130 may be a 2-D transform unless one of the dimensions of that partition 130 is 1 (sample wide), in which case a 1-D transform is applied. Thus, the decoder can obtain the transform coefficient levels of the transform T for each partition 130 and subject the transform coefficient levels to an inverse transform to obtain prediction residual samples for each partition 130 in the spatial domain as shown at 134.

[0071] According to the ISP scheme, i.e., the partitioning into partitions 130, this scheme may be available for the current intra-coded block only if one or more specific conditions are met. The one or more conditions may include, for example, that the intra-coded block must be larger than some minimum size, e.g., in terms of the number of samples in the block, and / or that the intra-coded block may not be allowed to exceed certain dimensions, e.g., at least horizontally and vertically, so as not to lead to too large a transform size. More precisely, the ISP mode may be available only if the intra-coded block is equal to or smaller than the size associated with the largest transform just mentioned in at least one direction, i.e., horizontally or vertically. Therefore, the intra_subpartitions_mode_flag signaling the ISP mode as part of the information 112b about the intra-coded block may be present in the data stream only if the block meets the just mentioned condition. Otherwise, the decoder may infer that the intra-coded block is intra-coded without partitioning. If the intra_subpartitions_mode_flag indicates that the intra-coded block 80 is an ISP-coded block, a partition dimension flag as part of the information 112d, which may be referred to as the intra_subpartitions_split_flag, may be further signaled for the intra-coded block 80. However, this intra_subpartitions_mode_flag is not always explicitly signaled, and may be inferred to indicate a particular partition dimension in certain circumstances.For example, if the block to be intra-coded has a width that exceeds (but a height that does not exceed) the size of the largest transform mentioned above, the dimension of the partitions may be required to be horizontal, and if the height of the block exceeds (but the width does not exceed) the size of the highest transform just mentioned, the dimension may be required to be vertical. In either case, intra_subpartitions_split_flag is not explicitly signaled in the data stream but is inferred by the decoder accordingly. Furthermore, the encoder and decoder may determine the number of partitions 130 into which the block 120 is divided depending on the size of the block 120. Then, no signal may be used in the data stream. For small block sizes, the number may be 2, while otherwise, the number of partitions 130 may be 4. The order of partitions in which intra prediction of the partitions 130 and coding of the prediction residuals into the data stream are performed may proceed along the direction of the partitions from the leftmost partition in the horizontal direction as shown in 127b and from the topmost partition to the farthest partition in the vertical direction as shown in 127a. No signaling is used in this regard either.

[0072] The residual transform 112e may be performed for each partition 130, as described above. That is, each partition 130 may be transformed separately using some transform T. As an intermediate note, for non-ISP intra-coded blocks, the number of transforms may also depend on the size of the block. If the non-ISP intra-coded block is smaller than the size of the maximum transform mentioned above in the horizontal and vertical directions, the residual of the intra-coded block is coded using one transform, i.e., the residual of the block is completely subjected to one transform. This may not occur in the case of ISP blocks, when the latter are transformed by partitions. If the size of the maximum transform is exceeded in the horizontal direction, the non-ISP intra-coded block is halved or divided horizontally into a corresponding number of transform blocks, so that half of them or transform blocks meet the size of the maximum transform, and the residual of the block is subjected to one transform per half / transform block. The same applies to blocks that exceed the size of the maximum transform in the vertical direction. If the maximum transform size is exceeded in both the vertical and horizontal directions, four or a corresponding number of transforms are used to transform the residuals of the four quadrants of this block or of the blocks of a regular two-dimensional sub-division of the block into a corresponding number of transform blocks. Naturally, the processing of non-ISP intra-coded blocks deviates from the treatment of ISP intra-coded blocks 120 in other ways. For example, explicit signaling such as partition flags is not used for non-ISP intra-coded blocks. According to an embodiment, non-ISP intra-coded blocks are intra-predicted collectively, while ISP blocks are intra-coded partition-by-partition sequentially. A further difference may be related to the coding of the transforms for coding the prediction residuals. For each transform, i.e., for each partition 130 in the case of ISP blocks and for each transform in the case of non-ISP intra-coded blocks, a coded block flag CBF such as tu_cbf_luma is transmitted, but for non-ISP intra-coded blocks, a coded block flag CBF such as tu_cbf_luma is transmitted. For intra-coded blocks of P, while this flag may necessarily be coded for each transform, this flag may be inferred to be 1 for the transform of the last partition 130 of that block 120 if all previous CBFs for the previous transform / partition are 0.

[0073] Some remarks are made about variations of the above description. For example, while sequential intra-coding of partitions has been described, which involves taking into account the prediction residual of a previous partition when intra-coding a current partition, the above embodiment may be modified in that intra-prediction is performed for all or a subgroup of partitions, i.e., collectively, based on reference samples outside the ISP block, while partition-based processing of the ISP block only relates to coding of the partition-based transform. It should be noted that the variations just described may be mixed to result in embodiments in which the encoder and decoder use different ones of the above variations for different block sizes, for example, so that there are blocks of a size in which partition-wise intra-prediction is used when ISP-coded and blocks of a different size in which block-wise or partition-wise group-wise intra-prediction is used when ISP-coded. Furthermore, as often mentioned above, the signaling presented above is merely exemplary and may be performed differently. For example, signaling using an MPM list is merely exemplary and may be performed without such an MPM list. Furthermore, the order of signaling and mutual conditioning between the syntax elements presented above may be changed.

[0074] In the following, the low frequency non-separable transform (LFNST) is used as the quadratic transform Ts, but it is clear that other quadratic transforms can also be used.

[0075] A low-frequency non-separable transform is a secondary transform that is applied only to the upper-left corner of the primary transform coefficients, e.g., to a subset 140 of the coefficients of the primary transform Tp / T1. In VTM-6.0, there are various sets of LFNSTs that are selected depending on the intra mode of the current block. Each set of LFNSTs contains two different transforms. Therefore, the decoder has three options to choose according to an explicitly signaled factor: 0 -> do not use LFNST, 1 -> use the first LFNST, 2 -> use the second LFNST. In some cases, an LFNST may not be applicable to a block depending on certain conditions. Example 1: The primary transformation coefficient is not 0 in a specific area 160 of the block 120. Example 2: The resulting transform coefficients after applying a quadratic transform violate certain conditions, such as the number of significant coefficients exceeding a certain threshold or the resulting final position syntax element exceeding a certain threshold. In the above example and related cases, it is assumed that the signaling is not analyzed by the decoder and no secondary transform is applied.

[0076] Currently, in VTM-6.0, (intra-subpartition) ISP cannot use LFNST. It is proposed to enable this algorithm for blocks that use ISP at the transform unit (TU) level. That means that if a block that uses ISP is divided into n subpartitions, each of the resulting subpartitions will use the LFNST algorithm in the same way as, for example, a normal block that does not use ISP. In subsequent embodiments, different possibilities are described for implicit and explicit signaling of the use of LFNST and any choice among secondary transform candidates, as well as for performing any of the just-mentioned decisions / signaling at the block level and the partition level, respectively.

[0077] The secondary transform Ts is applied at the subsection level. Thus, for example, there is a syntax element, namely, transform syntax element 112f, that is parsed for each subsection 130 to determine whether and, if so, which secondary transform Ts is to be calculated. Of course, this syntax element may be parsed if (e.g., only if) the conditions for a secondary transform are met, e.g., the number of significant coefficients exceeds a certain threshold and / or there are no non-zero coefficients outside a predetermined area.

[0078] As outlined above, currently in VTM-6.0, (intra subsection) ISP cannot use LFNST. It is proposed here to enable this algorithm for blocks that use ISP. This means that each subsection 130 of a block 120 that uses ISP has the possibility to apply a quadratic transform Ts. This can be explicitly indicated to the decoder by syntax element information 112f, but it can also be implicitly indicated by using parameters already present in the decoder or by a combination of implicit and explicit elements. In the following, various examples are provided in addition to the examples mentioned above.

[0079] In other words, the above different possibilities for combining ISP with LFNST have been presented. Below, variants of signaling or modifying the transform T for transform coding the prediction residuals of partition 130 are outlined hereafter.

[0080] Explicitly at the subdivision level The secondary transform Ts may be explicitly signaled to the decoder for each subsection 130. This version simply applies the normal use of LFNST to each subsection 130 generated by the ISP.

[0081] That is, let us resume the discussion related to the transform coding of the prediction residual 132 for each partition 130. As explained, the prediction residual 132 may be coded into the data stream 112 in the transform domain. This transform domain is related to the spatial domain by a transform T. According to the variant just presented, the information 112f may indicate, for each partition 130, whether this transform T is a first transform T1 or a primary transform Tp / T1 followed by a secondary transform Ts. In other words, for each partition, a transform syntax element 112f is read, which indicates whether the first transform T1 or the second transform T2 is used for the respective partition. The secondary transform Ts may be determined by default for the block 120 or may be signaled once for the ISP block 120. Depending on the intra prediction mode of the set 124 for the block 120, two Ts form a set of secondary transform candidates for the block 120, and one secondary transform candidate may be selected for the block 120. The primary transform T1 is, for example, determined by default for the ISP block 120.In that case, a decision is sent to apply the quadratic transform Ts for the entire block 120, but the decision is based on the following conditions: 1) the non-zero transform coefficients are outside a predetermined area 140 (as shown in FIG. 5), 2) the number of non-zero coefficients exceeds some limit, and 3) the last non-zero coefficient along a scan path going from the location of the DC coefficient to the location of the opposite or highest frequency coefficient, indicated by one or more syntax elements, referred to herein as LP syntax elements, for the transform of the residual of each partition, which act in part as a measure for the expected count of non-zero coefficients in the transform. This is only valid for partitions for which the residual information 112e does not immediately indicate that the secondary transformation may not be applied for the reasons set forth above, such as if the location of the zero coefficients exceeds some threshold, or if one of 4) two or more of conditions 1 through 3 is satisfied, then LFNST is unavailable, or 5) if each of a subset of conditions 1 through 3 is satisfied, then LFNST is unavailable for that residual transformation coded by information 112e.

[0082] In this regard, please recall what has already been described above. In particular, for the partitions 130 of the block 120, a CBF is transmitted in the data stream for each partition. The CBF may indicate whether the partition, e.g., a transform unit, includes residual information, e.g., information generated by prediction. If the CBF indicates that the residual is zero, the secondary transform flag 112f may not be present for the respective partition 130. Furthermore, as also described above, the availability of the secondary transform option may depend on a specific situation, for example, the LP syntax element described above serves as an indication of a non-zero zone. The LP syntax element signals, for each partition 130, the area 160 of the non-zero transform region shown in FIG. 5, in which all non-zero coefficients of the partition-specific prediction residual signal 132 are exclusively located, and thus only zero coefficients are located. Depending on the extent and / or location of this non-zero transform region area 160, a given transform T may be required to be equal to only the primary transform T1, or a secondary transform T2 may also be available, in which case a secondary transform flag 112f is transmitted by the encoder or read by the decoder. For example, a secondary transform Ts is available only if the non-zero transform region area 160 does not exceed the portion of the transform coefficients of the transform T1 to which the secondary transform Ts is applied, i.e., portion 140 of FIG. 4 or FIG. 5. Therefore, whether a secondary transform flag 112f exists for a particular partition 130 is a partition-specific matter; a secondary transform flag may exist for one transform 130 of a block 120, while it may not be present or absent for another partition 130 of that block 120.

[0083] Depending on the extent and / or location of this non-zero transform region area 160, the decoder may be configured to determine whether to read from the data stream 112 a secondary transform flag 112f transmitted within the data stream 112 for each section 130, which indicates whether the predetermined transform T is the first transform T1 or the second transform T2, or to infer that the predetermined transform T is the first transform T1. If the non-zero transform region area 160 is located entirely within an area defined by the portion 140 of transform coefficients of the transform T1 to which the secondary transform Ts is applied, the secondary transform flag 112f is read. Otherwise, the predetermined transform T is inferred to be the first transform T1. Whether the secondary transform flag 112f indicates the first transform T1 or the second transform T2 as the predetermined transform may depend on one or more of conditions 1 to 5 above.

[0084] Alternatively or additionally, the decision whether to read the secondary transform flag 112f or infer that a given transform T is the first transform T1 may depend on whether the area 160 of the non-zero transform region exclusively encompasses the coefficients 140 of the primary transform Tp / T1 to which the secondary transform Ts is applied by concatenation of the primary transform Tp / T1 and the secondary transform Ts, and / or may depend on the number of non-zero coefficients in the area 160 of the non-zero transform region.

[0085] According to an embodiment, the decoder / encoder is configured to infer that the given transformation T is the first transformation T1 if the dimension of the partition 130 is below a predetermined threshold.

[0086] Furthermore, a specific flag, i.e., a secondary transform indication syntax element, may be present in the data stream for each partition 130 of block 120 for which a secondary transform option is signaled to be available and applied, i.e., the flag selects the secondary transform Ts from a corresponding set of secondary transforms, i.e., a set including two possible secondary transforms. Instead of sending two flags for such a partition 130, a three-array syntax element may be used to indicate the transform to be used for the respective partition, i.e., as information 112f about that partition 130.

[0087] Before addressing the next option for indicating the transform T used for a partition 130 of block 120, the following is further noted. In particular, it is noted that the coding of transform coefficient levels for a particular partition 130 is limited to only the non-zero portion 160. The LP syntax element may indicate the portion by indicating the location of the first non-zero coefficient when scanning the transform coefficients of transform T1 in one dimension from the location of the highest spectral frequency to the location of the DC frequency, such as the left / top corner of transform T1. The location may be indicated by x and y coordinates in the case of a two-dimensional T1 transform, or as an index measuring the just-mentioned non-zero location as a distance, in coefficients, from the location of the DC transform along the just-mentioned one-dimensional scan order. It is further noted that the transform coefficient levels transmitted for partition 130 in data stream 112 may be transform coefficients of the first transform T1 or coefficients of the second transform T2, depending on the transform signal to be the combined transform T2 or a single transform T1. It is further noted that if the transform T is signaled as a two-stage transform, i.e., T1 followed by a second transform T2, the decoder may perform the inverse transforms to obtain the spatial domain residual signal 134 of each partition 130 by performing the inverse of the second transform followed by the inverse of transform T1 in sequence, or by performing the inverses of T2 combined into one inverse transform. In other words, the partition-specific predicted residual signal 132 is subjected to an inverse transform T2 that forms the inverse of a given transform T to obtain the spatial domain residual signal 134. -1It may be subjected to.

[0088] Explicitly at the block level The secondary transform Ts may be explicitly signaled to the decoder only once for the entire block 120, meaning that all subdivisions 130 within the block 120 apply the same secondary transform Ts. If the secondary transform flag 112f indicates that a given transform T is the second transform T2, the decoder / encoder may be configured to use the second transform T2 for all divisions 130.

[0089] This may imply that certain restrictions on the application of secondary transformations may be applied differently. For example, example 2 above is not strictly necessary in this case, even though it may still apply. Alternatively, they may be applied to the group as a whole, or may require different thresholds, etc.

[0090] In other words, signal 112f may be included in data stream 112 once for the entire block 120, signaling whether Ts is applied, i.e., whether T is T1 or Ts followed by T1, i.e., T2, and, if the latter is true, which Ts from a set of candidate secondary transforms are applied. The availability restriction on applying LFNST, i.e., Ts, may be tested for each partition 130, and the signaling for the entire block 120 applies only for partitions 130 for which LFNST is available. If LFNST is unavailable for all partitions 130, signaling 112f may be discontinued for block 120, i.e., the encoder does not encode such an LFNST activation flag for block 120, and the decoder infers that the flag is set to deactivate LFNST. Further alternatively, signaling 112f may be present for block 120 only if LFNST is available for all partitions 130, suggesting that LFNST is not used otherwise. In the latter case, Ts-selective signaling is therefore coded for block 120 only if LFNST availability for all partitions 130 applies and block-level LFNST activation signaling indicates activation of LFNST for block 120. The same or other criteria or thresholds as discussed in 1 through 5 above may be used in variations of signaling block-level activation of LFNST only if LFNST is available for all partitions 130 of block 120.

[0091] According to an embodiment, the decoder may be configured to determine whether to read from the data stream 112 a secondary transform flag 112f transmitted in the data stream 112 for each predetermined intra-predicted block 120, which indicates whether the predetermined transform T is the first transform T1 or the second transform T2, or to infer that the predetermined transform T is the first transform T1. This determination may depend on the relative position of the area 160 of the non-zero transform region shown in FIG. 5 with respect to the coefficients 140 of the primary transform Tp / T1, to which the secondary transform is applied by concatenation of the primary transform Tp / T1 and the secondary transform Ts. If the area 160 of the non-zero transform region is located entirely within the area defined by the transform coefficients 140 of the primary transform Tp / T1, to which the secondary transform Ts is applied, the secondary transform flag 112f is read. Otherwise, the predetermined transform T is inferred to be the first transform T1. Alternatively or additionally, the decision may depend on whether the area 160 of the non-zero transform domain exclusively encompasses the coefficients 140 of the primary transform Tp / T1 to which the secondary transform Ts is applied by concatenation of the primary transform Tp / T1 and the secondary transform Ts, and / or on the number of non-zero coefficients in the area 160 of the non-zero transform domain. Whether the secondary transform flag 112f indicates the first transform T1 or the second transform T2 as the predetermined transform may depend on one or more of conditions 1 to 5 above. In addition to the secondary transform flag 112f, a secondary transform indication syntax element may be signaled block-wide for each given intra-predicted block 120 to indicate the correct secondary transform for all partitions 130.

[0092] The decoder may be configured to perform the decision once for all partitions 130 of a given intra-predicted block 120, and the above-mentioned conditions on which the decision may depend may be checked for all partitions 130 of a given intra-predicted block 120. According to an embodiment, the decision is performed once for all partitions 130 of a given intra-predicted block 120 by checking one or more of the following criteria for all partitions 130 and determining that the secondary transform flag 112f should be read if one or more of the following criteria are met for all partitions 130: - no non-zero transform coefficients are outside a predetermined area 140, and / or - the number of non-zero coefficients exceeds a predetermined limit, and / or - The position of the last non-zero coefficient along the scan path proceeding from the position of the DC coefficient to the position of the highest frequency coefficient, as indicated by the last-position syntax element in the data stream, exceeds a further predetermined threshold.

[0093] As explained in more detail in the additional notes further below, it is possible that only some of the above criteria must be met for all partitions 130, and some must be met for at least one partition 130 of a given intra-predicted block 120, in order for the secondary transform flag 112f to be read.

[0094] According to an embodiment, the decoder / encoder is configured to infer that the given transformation T is the first transformation T1 if the dimension of the partition 130 is below a predetermined threshold.

[0095] Explicitly combining block-level and subdivision-level There may be explicit syntax elements at both the block level and the subdivision level. For example, at the block level, whether all subdivisions 130 use the secondary transform Ts may be signaled, e.g., by the secondary transform flag 112f. Then, if the secondary transform Ts is used, each subdivision 130 explicitly signals which secondary transform it applies (independently of each other), e.g., by a secondary transform indication syntax element. Naturally, global activation of the LFNST may only affect those subdivisions 130 of a block 120 whose residual information 112e satisfies the condition for the availability of the LFNST. Corresponding activation may be coded in the data stream only for blocks 120 if the condition for the availability of the LFNST is met for at least one subdivision. Then, only for those subdivisions, a syntax element explicitly selecting Ts is coded. Alternatively, signaling 112f may be present for block 120 only if it is available for all partitions 130, implying that LFNST is not used otherwise. That is, signaling of block-level LFNST activation is signaled only if LFNST availability applies for all partitions, and therefore, for each partition, Ts selection signaling is included in the data stream for block 120.

[0096] That is, instead of signaling whether Ts is applied for each partition 130 for which LFNST is available, and if so, which of the set of candidate Ts determined for the ISP block should be used as Ts, alternatively, if the primary transform T1 may be determined for all partitions of block 120 and LFNST is signaled to be applied for partitions 130 of block 120, then information 112f may signal the decision of whether LFNST is applied for partitions 130 of block 120 for which LFNST is available in terms of the other factors mentioned above (location of nonzero portions, and / or number of nonzero coefficients and / or location of the last nonzero coefficient) by coding a respective Ts selection syntax element for each such partition, only once for the entire block.

[0097] In all cases of explicit signaling (e.g., explicit at the subdivision level, and / or explicit at the block level, and / or explicitly combining the block and subdivision levels), the decoder / encoder may be configured to select one or more subsets of candidate secondary transforms Ts from the set of candidate secondary transforms Ts in a manner dependent on the associated intra-prediction mode, i.e., the intra-prediction mode selected for block 120 from set 122 or subset 124. If the subset of one or more candidate secondary transforms Ts includes two or more candidate secondary transforms Ts, the decoder / encoder selects a secondary transform Ts from the subset of one or more candidate secondary transforms Ts in response to a secondary transform indication syntax element transmitted in data stream 112 for each given intra-predicted block 120.

[0098] According to an embodiment, the set of candidate quadratic transforms has no elements in common with the quadratic transforms Ts used by the decoder / encoder for other intra-predicted blocks that are intra-predicted without partitioning.

[0099] implicitly The decoder may use existing factors at the moment the coefficients are decoded to obtain information 136 about the transform used, i.e., to decide whether a secondary transform is applied for each subsection 130. Examples of these parameters are the subsection index, the subsection size, the block size, the intra mode, etc.

[0100] The decoder / encoder may be configured to determine whether the predetermined transform T for each partition 130 is the first transform T1 or the second transform T2 depending on the rank of each partition 130 along the order in which the partitions 130 are subjected to intra prediction 116, the size of each partition 130, the size of a given intra-predicted block 120, and / or the associated intra-prediction mode 122. The result of this determination may be signaled by the secondary transform flag 112f in the above-mentioned explicit signaling. The exact secondary transform Ts may be selected depending on the associated intra-prediction mode 122, the size of the partition, the size of the block 120, the processing rank of the partition 130, and / or the partition 128. This selection may be performed once for all partitions 130 of a given intra-predicted block 120, or for each partition 130 of a given intra-predicted block 120.

[0101] A mix of implicit and explicit Any of the above examples, or related versions of those examples, may be combined with implicit rules. For example, whether or not a secondary transform is used may be explicitly determined, but the decision as to which secondary transform should be used may be implicitly derived by using the intra mode, subsection size, block size, subsection index, ISP partition type (horizontal or vertical), etc.

[0102] Additional notes The following details and examples are added to the above description. For example, another example is added regarding conditions for the availability of LFNST. More precisely, when explicitly signaling the use / activation of a secondary transform at the block level, it is possible that the possibility of LFNST, or more precisely, the transmission of the secondary transform flag 112f for a block 120 to activate the secondary transform Ts for the entire block, may be defined by two or more conditions a), b), c), etc. This has already been explained. For example, it is possible that two or more conditions, such as two or more of the conditions 1 through 5 listed above, are required to be satisfied for all of the partitions 130 of the block. Alternatively, it is possible that two or more conditions are required to be true or satisfied in at least one of those partitions 130. However, it is also possible that one or more conditions (e.g., a) and b)) should be true in all partitions, while one or more other conditions (e.g., c)) are required to be true only in at least one partition.

[0103] For cases where a particular condition must be true or met in only at least one partition 130, an LFNST signaled for an entire block 120, when signaled to be activated, may apply to all partitions 130 within the block 120, regardless of the individual availability conditions of each partition 130. Another possibility is that the LFNST may apply only to those partitions 130 that meet this condition. If no partitions 130 meet this availability condition, the LFNST is not signaled (or parsed), and it is assumed that the LFNST will not be used.

[0104] The decoder / encoder may be configured to perform the above-mentioned decision of whether to read the secondary transform flag 112f or infer that a given transform T is the first transform T1, for example, for the entire block, once for all partitions 130 of a given intra-predicted block 120, by checking one or more of the following criteria a to c for all partitions 130 and determining that the secondary transform flag 112f should be read if a first criterion of one or more of the following criteria a to c is met for all partitions 130, while a second criterion of one or more of the following criteria a to c is met for at least one partition: a) no non-zero transform coefficients are outside a predetermined area 140; and / or b) the position of the last non-zero coefficient along a scan path proceeding from the position of the DC coefficient to the position of the highest frequency coefficient, as indicated by the last-position syntax element in the data stream, exceeds a further predetermined threshold; and / or c) The number of non-zero coefficients exceeds a predetermined limit.

[0105] According to an embodiment, the decoder / encoder is configured to determine that the secondary transform flag 112f should be read if one or more first criteria of criteria a through c are satisfied for all partitions 130 and / or if one or more second criteria of criteria a through c are satisfied for at least one partition 130. Thus, if all partitions 130 satisfy one or more of conditions a through c, the secondary transform flag 112f may be read without also requiring that one or more second criteria be satisfied by at least one of the partitions 130. Alternatively, if at least one partition 130 satisfies one or more of the second criteria, the secondary transform flag 112f may be read for the entire block 120 without requiring that all partitions 130 must satisfy at least one of the first criteria.

[0106] If the secondary transformation flag 112f indicates that a given transformation T is a second transformation T2, the second transformation T2 is used for the partition 130 for which one or more second criteria are met, and the first transformation T1 is used for the partition 130 for which at least one of the one or more second criteria is not met.

[0107] Example 1: Suppose there is a block 120 having N partitions 130, and the availability of LFNST is determined by the condition a) In all partitions 130, all coefficients outside the predetermined area 140 must be zero. b) At least one partition 130 must have a last significant position (in scan order) that exceeds a certain threshold In this example, condition a) must be true in all partitions 130 for the LFNST to be available, but condition b) only needs to be true in at least one.

[0108] According to an embodiment, the one or more first criteria is that no non-zero transform coefficients fall outside a predetermined area 140, and the one or more second criteria is that the position of the last non-zero coefficient along a scan path proceeding from the position of the DC coefficient to the position of the highest frequency coefficient, as indicated by a last position syntax element in the data stream 112, exceeds a further predetermined threshold.

[0109] Example 2: Suppose there is a block 120 having N partitions 130, and the availability of LFNST is determined by the condition a) In all partitions 130, all coefficients outside the predetermined area 140 must be zero. b) In every partition, the last significant position (in scan order) must exceed a certain threshold In this example, both a) and b) must be true in all partitions 130.

[0110] Example 3: Suppose there is a block 120 having N partitions 130, and the availability of LFNST is determined by the condition a) In all partitions 130, all coefficients outside the predetermined area 140 must be zero. In this example, only condition a) exists, which must be true for all partitions 130 for LFNST to be usable.

[0111] Using a new kernel or using an existing kernel The subsections 130 that apply the secondary transform Ts may share the same secondary transform as non-ISP blocks, or they may have dedicated secondary transform tables that are used only for ISP subsections 130. This may apply in all cases, or perhaps only to a subset of them, for example, for 1xN, 2xN, Nx2, and Nx1 subsections (or for that matter any subset depending on the subsection dimension), or perhaps depending on the intra mode, or the subsection index, or the ISP partition type (horizontal or vertical), or other parameters available on the decoder side. That is, if a particular block is coded / decoded as an ISP (predetermined) block compared to being coded as a non-ISP block that would otherwise associate the same intra-coding mode, disjoint Ts candidates may be used for that particular block.

[0112] There is a difference between non-ISP blocks and ISP blocks regarding the use of LFNST.

[0113] From the encoder's perspective, LFNST is the application of a "secondary" transform to the coefficients of a "first-order" transform. This is according to the LFNST index, i.e., transform syntax element 112f, which can take three different values ​​(0 -> LFNST not applied, 1 -> LFNST1 applied, 2 -> LFNST2 applied). In other words, the transform syntax element 112f may indicate whether the second transform T2 is used for the block. When the transform syntax element 112f is in a first state (e.g., 0), it indicates the use of the first transform T1, and when the transform syntax element 112f is in a second state (e.g., 1) or a third state (e.g., 2), it indicates the use of the second transform T2. LFNST1 and LFNST2 are intra-mode dependent. That is, the basis functions used for the transforms change in relation to the intra-mode.

[0114] Furthermore, the value 0 of the LFNST index may be implicitly forced if certain availability conditions are not met. In other words, the decoder / encoder may infer to use the first transform T1 for non-ISP blocks if the following availability conditions are not met: Condition 1: There must be no non-zero coefficients outside a given range (the range depends on the block size). ·Condition 2: There must be at least one non-zero coefficient that is not the DC coefficient (0,0).

[0115] The use of LFNST in ISP blocks is the same as in non-ISP blocks, with the following differences: 1) The LFNST is globally signaled once for the entire block. In other words, the transform syntax element 112f is derived / signaled for the entire block. 2) The availability of the LFNST index, i.e., the transform syntax element 112f, may depend on the following conditions: The conditions that must occur so that the LFNST index can be parsed (otherwise, the LFNST index is assumed to be 0) are as follows: a. The size of the subdivision must be at least 4x4 b. Condition 1 (above) must be met for all subdivisions. Therefore, if at least one violates condition 1, LFNST0 (no LFNST) is used for all divisions. c. Condition 2 (above) is ignored for the ISP case. In other words, the availability of transform syntax element 112f does not require that each partition contain a non-zero coefficient other than the DC coefficient (0,0). 3) When an LFNST index is parsed, the following occurs: a. The index is 0 i. No LFNST is used for all subdivisions b. The index is 1 i. For each subsection, if the CBF (Coded Block Flag) of the subsection is not zero, LFNST1, eg, the first variant of the second transform T2, is applied. c. The index is 2 i. For each subsection, if the CBF of the subsection is not zero, then LFNST2, eg, a second variant of the second transform T2, is applied. If the LFNST index is 1 or 2, the primary transform used for each subdivision is the DCT2.

[0116] According to an embodiment, the transform syntax element 112f, ie, lfnst_idx, is parsed according to the syntax of the coding unit shown in FIG.

[0117] According to an embodiment, the above-discussed values ​​of lfnst_idx 112f may be binarized, for example, using a truncated unary codeword of one or two bins, where the first bin may indicate whether the given transform is the first transform T1 or the second transform T2, and the second bin may indicate which second transform T2 should be used for the block 120 or the partition 130. The first bin may represent a secondary transform flag, and the second bin may represent a secondary transform indication flag, i.e., a secondary transform indication syntax element. The binarized lfnst_idx 112f, for example, the first bin and / or the second bin, may be entropy coded into a data stream using context-adaptive binary arithmetic coding (CABAC). This is just an example and it is clear that lfnst-idx 112f can be signaled differently in the data stream.

[0118] The function transform_tree 113 shown in FIG. 15 is iterative and loops over all subsections 130. Therefore, lfnst_idx 112f is signaled only once at the end of block 120. It may be checked (213) whether the width and height of the subsections 130 of the transform block 120 are both at least 4. lfnst_idx 112f may be signaled in the data stream or derived by the decoder from the data stream only if both the width and height of each subsection 130 of the transform block 120 are at least 4. This condition may only be violated in the LUMA component if the given block is an ISP block, i.e., an intra-predicted block 120 that is partitioned into partitions 130 using partitions 128. In the case of ISP, i.e., for a given block 120 that is subjected to partitions 128, condition 2 is ignored (see LfnstDcOnly 313). In other words, for a given block 120 undergoing partition 128, information 136 specifying the predetermined transform T may be derived / signaled from / to the data stream without controlling whether at least one non-zero coefficient other than the DC coefficient (0,0) is present in each partition 130. However, for each partition, it is checked whether the CBF (Coded Block Flag) of the respective partition is non-zero. Information 136 specifying the predetermined transform T may be derived / signaled from / to the data stream only for partitions that contain at least one non-zero transform coefficient. Note that in VVC, a block using ISP always has at least one partition with a non-zero CBF.

[0119] The transform process for the scaled transform coefficients is described below. The selection of the linear transform for the ISP may be influenced by the lfnst_idx syntax element 112f. The linear transform is specified by the trTypeHor and trTypeVer for the horizontal and vertical directions of the block 120 or each partition 130. The linear transform is a separable transform.

[0120] The variable trTypeHor that specifies the horizontal transformation kernel and the variable trTypeVer that specifies the vertical transformation kernel are derived as follows. - If one or more of the following conditions are true, trTypeHor and trTypeVer are set equal to 0: - cIdx is greater than 0 - IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and lfnst_idx is not equal to 0 - Otherwise, if implicitMtsEnabled is equal to 1, the following applies: If cu_sbt_flag is equal to 1, trTypeHor and trTypeVer are specified in table 40 according to cu_sbt_horizontal_flag and cu_sbt_pos_flag. - Otherwise (cu_sbt_flag is equal to 0), trTypeHor and trTypeVer are derived as follows: trTypeHor = ( nTbW >= 4 && nTbW <= 16 ) ? 1 : 0 trTypeVer = ( nTbH >= 4 && nTbH <= 16 ) ? 1 : 0 - Otherwise, trTypeHor and trTypeVer are specified in Table 39 of the VVC standard according to mts_idx.

[0121] For the ISP case, trTypeHor and trTypeVer are set to 0 (0 represents DCT-II) if lfnst_idx is > 0. Thus, a given block 120 that is intra predicted and partitioned uses DCT-II as the primary transform for both the horizontal and vertical transforms. The primary transform is the same as the first transform.

[0122] The flag that forces (DCT-II, DCT-II) as the primary transform is called sps_mts_enabled_flag (MTS stands for "Multiple Transform Selection"). If sps_mts_enabled_flag is 0, the primary transform is (DCT-II, DCT-II) in all cases, completely independent of whether LFNST is used or not. In other words, the primary transform Tp is equal to the first transform T1. The decoder / encoder is therefore configured to derive / encode from / into the data stream information 136 that identifies a given transform T among a set of transforms 138 that includes the first transform T1 and a second transform T2 that is equal to the concatenation of the first transform T1 and a secondary transform Ts applied to a subset 140 of the coefficients of the first transform T1. Thus, we have DCT-II as the primary transform in this case for the cases lfnst_idx = 0 and lfnst_idx > 0.

[0123] sps_mts_enabled_flag equal to 1 specifies that sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are present in the SPS. sps_mts_enabled_flag equal to 0 specifies that sps_explicit_mts_intra_enabled_flag and sps_explicit_mts_inter_enabled_flag are not present in the SPS.

[0124] In the transform process for scaled transform coefficients, the HLS flag set to 0 prevents setting the values ​​of trTypeHor and trTypeVer.

[0125] The variable implicitMtsEnabled is derived as follows: - If sps_mts_enabled_flag is equal to 1 and one or more of the conditions below are true, then implicitMtsEnabled is set equal to 1. - IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT - cu_sbt_flag is equal to 1 and Max( nTbW, nTbH ) is less than or equal to 32 - sps_explicit_mts_intra_enabled_flag is equal to 0, CuPredMode

[0000] [ xTbY ][ yTbY ] is equal to MODE_INTRA, lfnst_idx[ x0 ][ y0 ] is equal to 0, and intra_mip_flag[ x0 ][ y0 ] is equal to 0 Otherwise, implicitMtsEnabled is set equal to 0. The variable implicitMtsEnabled remains at 0 value, which prevents the primary transform from being any transform other than the DCT-II.

[0126] The variable trTypeHor that specifies the horizontal transformation kernel and the variable trTypeVer that specifies the vertical transformation kernel are derived as follows. - If one or more of the following conditions are true, trTypeHor and trTypeVer are set equal to 0: - cIdx is greater than 0 - IntraSubPartitionsSplitType is not equal to ISP_NO_SPLIT and lfnst_idx is not equal to 0 (this forces the primary to be CDT-II if lfnst_idx is not 0. This is independent of implicitMtsEnabled. The primary transformation is the first transformation) - Otherwise, if implicitMtsEnabled is equal to 1, the following applies: If cu_sbt_flag is equal to 1, trTypeHor and trTypeVer are specified in table 40 according to cu_sbt_horizontal_flag and cu_sbt_pos_flag. - Otherwise (cu_sbt_flag is equal to 0), trTypeHor and trTypeVer are derived as follows: trTypeHor = ( nTbW >= 4 && nTbW <= 16 ) ? 1 : 0 trTypeVer = ( nTbH >= 4 && nTbH <= 16 ) ? 1 : 0 - Otherwise, trTypeHor and trTypeVer are specified in table 39 of the VVC standard depending on mts_idx. The transform for a given block 120, i.e., trTypeHor and trTypeVer, are set to their default values ​​(mts_idx is always 0 for ISP). Thus, trTypeHor and trTypeVer are set to 0, i.e., DCT-II.

[0127] It is therefore clear that the primary transforms of the first transform and the second transform can be the same transform, and the decoder / encoder is configured to use the first transform as the primary transform.

[0128] Regardless of whether block 120 is partitioned 128 or not, i.e., whether it is an ISP block or not, a second transformation can be applied according to the following characteristics.

[0129] In particular, using lfnst_idx 112f, the variable ApplyLfnstFlag is derived as follows: - If treeType is equal to SINGLE_TREE, the following applies: ApplyLfnstFlag = ( lfnst_idx > 0 && cIdx == 0 ) ? 1 : 0 - Otherwise, the following applies: ApplyLfnstFlag = ( lfnst_idx > 0 ) ? 1 : 0

[0130] In the transform process for scaled transform coefficients, ApplyLfnstFlag prepares the variables for the transform process, and ApplyLfnstFlag invokes the transform process.

[0131] When ApplyLfnstFlag is equal to 1, transform_skip_flag[ xTbY ][ yTbY ][ cIdx ] is equal to 0, and both nTbW and nTbH are greater than or equal to 4, the following applies: The variables predModeIntra, nLfnstOutSize, log2LfnstSize, nLfnstSize, and nonZeroSize are derived as follows: predModeIntra = ( cIdx == 0 ) ? IntraPredModeY[ xTbY ][ yTbY ] : IntraPredModeC[ xTbY ][ yTbY ] (1178) nLfnstOutSize = ( nTbW >= 8 && nTbH >= 8 ) ? 48 : 16 log2LfnstSize = ( nTbW >= 8 && nTbH >= 8 ) ? 3 : 2 nLfnstSize = 1 << log2LfnstSize nonZeroSize = ( ( nTbW == 4 && nTbH == 4 ) || ( nTbW == 8 && nTbH == 8 ) ) ? 8 : 16 - When intra_mip_flag[xTbY][yTbY] is equal to 1 and cIdx is equal to 0, predModeIntra is set equal to INTRA_PLANAR. When predModeIntra is equal to either INTRA_LT_CCLM, INTRA_L_CCLM, or INTRA_T_CCLM, predModeIntra is derived as follows: - If intra_mip_flag[ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ] is equal to 1, predModeIntra is set equal to INTRA_PLANAR. Otherwise, if CuPredMode [ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ] is equal to MODE_IBC or MODE_PLT, then predModeIntra is set equal to INTRA_DC. - Otherwise, predModeIntra is set equal to IntraPredModeY[ xTbY + nTbW * SubWidthC / 2 ][ yTbY + nTbH * SubHeightC / 2 ]. The wide angle intra prediction mode mapping process specified in section 8.4.5.2.6 is called with predModeIntra, nTbW, nTbH, and cIdx as input and the modified predModeIntra as output. The values ​​of the list u[ x ], where x = 0..nonZeroSize - 1, are derived as follows: xC = DiagScanOrder

[0002]

[0002] [x]

[0000] yC = DiagScanOrder

[0002]

[0002] [x]

[0001] u[ x ] = d[ xC ][ yC ] - The 1D low-frequency non-separable transform process specified in Section 8.7.4.2 is called with inputs of the scaled transform coefficient input length nonZeroSize, the transform output length nTrS set equal to nLfnstOutSize, the list u[x] of scaled non-zero transform coefficients, x = 0..nonZeroSize - 1, and the intra prediction mode predModeIntra for the selection of the LFNST set, and output list v[x], x = 0..nLfnstOutSize - 1. (This invokes the process that actually performs the LFNST transform process.) - An array d[x][y] where x=0..nLfnstSize-1 and y=0..nLfnstSize-1 is derived as follows: - If predModeIntra is less than or equal to 34, the following applies: d[ x ][ y ] = ( y < 4 ) ? v[ x + ( y << log2LfnstSize ) ] : ( ( x < 4 ) ? v[ 32 + x + ( ( y - 4 ) << 2 ) ] : d[ x ][ y ] ) - Otherwise, the following applies: d[ x ][ y ] = ( x < 4 ) ? v[ y + ( x << log2LfnstSize ) ] : ( ( y < 4 ) ? v[ 32 + y + ( ( x - 4 ) << 2 ) ] : d[ x ][ y ] )

[0132] According to an embodiment, the encoder / decoder described in relation to Figures 4 and / or 5 may include features and / or functionality described in relation to Figures 6 to 8.

[0133] Use of 4 divisions (embodiment) The current design of the ISP allows for the use of two different split types. Horizontal split: Split into n parts along the vertical dimension Vertical split: Split into n parts along the horizontal dimension In VTM-5.0, n can be 2 or 4 depending on the block size.

[0134] In the embodiment shown in Figure 6, a third partition type is introduced. A picture 110 is coded into a data stream 112. The decoder / encoder according to Figure 6 is configured to derive / encode from / into the data stream 112 an allocation 112a of the picture 110 at the granularity of blocks 120 into which the picture 110 is sub-divided, to a set of prediction types 114 including intra-prediction 116 and inter-prediction 118, such that each block 120 is assigned to an associated prediction type from the set of prediction types 114. Furthermore, the decoder / encoder is configured to derive / encode from / into the data stream 112, for each intra-predicted block 120 assigned an intra-prediction 116, an associated intra-prediction mode 125 from the set of intra-prediction modes 122.

[0135] For each of the predetermined intra-predicted blocks 120 whose associated intra-prediction mode 125 is included in the predetermined subset 124 of predetermined intra-prediction modes, the decoder / encoder divides the respective predetermined intra-predicted block 120 horizontally into first partitions 127a such that the partitions 130 of the respective predetermined intra-predicted block 120 are the same width as the respective predetermined intra-predicted block 120, and into second partitions 127b such that the partitions 130 of the respective predetermined intra-predicted block 120 are the same height as the respective predetermined intra-predicted block 120. and a third partition 127c, in which each predetermined intra-predicted block 120 is divided horizontally and vertically so that the partitions 130 of each predetermined intra-predicted block 120 are arranged in partition rows and partition columns. Furthermore, for each predetermined intra-predicted block 120 whose associated intra-prediction mode 125 is included in the predetermined subset 124 of predetermined intra-prediction modes, the decoder / encoder is configured to intra-predict each partition 130 of each predetermined intra-predicted block 120 in a manner according to the predetermined intra-prediction mode 125 assigned to the respective predetermined intra-predicted block 120.

[0136] The decoder / encoder is configured to derive / encode, for each block 120, information 112e relating to the prediction residual 132 of the respective block 120 from / into the data stream 112, by deriving / encoding, for each partition 130 of the respective predetermined intra-predicted block 120, the prediction residual 132 for the respective predetermined intra-predicted block 120 by deriving / encoding, from / into the data stream 112, a partition-specific prediction residual signal 132 that is associated with the spatial domain prediction residual signal of the respective partition 130 of the respective predetermined intra-predicted block 120 by a predetermined transform T.

[0137] Furthermore, the decoder / encoder is configured to reconstruct each block 120 using information about the prediction residual 132 of each block 120 and the prediction signal obtained using the prediction type 125 assigned to each block 120.

[0138] According to an embodiment, each given intra-predicted block 120 is divided horizontally as frequently as vertically in the third partition 127c, such that the number of rows in the partition is equal to the number of columns in the partition.

[0139] According to an embodiment, the decoder is configured to derive information 126 from the data stream 112 that identifies the partition 128 of each given intra-predicted block 120 into partitions 130 of the set of partition modes 127 by reading the partition indicator 112d transmitted in the data stream 112 for each given intra-predicted block 120 and using the partition indicator 112d, i.e., partition index, to identify the partition 128 of each given intra-predicted block 120 into the set of partition modes 127. The encoder may include similar features as the decoder, and is configured to encode the information 126 into the data stream 112 by transmitting the partition indicator 112d in the data stream 112.

[0140] According to an embodiment, the decoder is configured to read the partition indicator 112d transmitted in the data stream 112 for each given intra-predicted block 120 by reading a first flag included by the partition indicator 112d, which indicates whether the partition 128 of each given intra-predicted block 120 is the third partition 127c. The encoder may include similar features to the decoder, in that the encoder is configured to transmit the partition indicator 112d by transmitting the first flag. If the partition 128 of each given intra-predicted block 120 is not the third partition 127c, the decoder / encoder is configured to read / transmit a second flag included by the partition indicator 112d, which indicates whether the partition 128 of each given intra-predicted block 120 is the first partition 127a or the second partition 127b.

[0141] According to an embodiment, the encoder / decoder described in connection with FIG. 6 may include features and / or functionality described in connection with one of the embodiments of FIG. 4, FIG. 5, FIG. 7, and FIG. 8.

[0142] Examples of preferred versions: Each partition is of equal size, and a preferred value of n can be 2 or 4. Thus, there are either 4 partitions or 16 partitions with the same dimensions.

[0143] Algorithm proposal: It is proposed to include another partition type, namely, a third partition 127c, i.e., a quadrant, which divides the block into n parts in both the horizontal and vertical dimensions. Thus, the total number of subdivisions is n 2For example, for n=2, there will be a total of 4 subpartitions. This partition type may require a new syntax element to indicate its use, or it may be implicitly determined by existing block parameters at the decoder, such as block dimensions or intra mode. The partition works in the same way as the existing partition types.

[0144] Use of local intra mode (embodiment) In the VTM-5.0 ISP design, the intra mode is shared by all subdivisions, so that for example it only needs to be signaled once for the whole block, and we will define this mode as global block mode.

[0145] 7, local intra modes are introduced. Each partition 130 (e.g., 1300-1303) may be assigned to a unique intra mode. Some partitions 130 of a given intra-predicted block 120 may be assigned to the same intra mode as other partitions 130 of the given intra-predicted block 120. Alternatively, each partition 130 of a given intra-predicted block 120 is assigned to a different intra mode than the other partitions 130 of the given intra-predicted block 120.

[0146] Figure 7 shows details of a decoder for decoding pictures from data stream 112 and an encoder for encoding pictures into data stream 112. Although not shown in Figure 7, the decoder / encoder is also configured to derive / encode from / into data stream 112 an allocation of pictures at the granularity of blocks, into which the pictures are sub-divided, to a set of prediction types 114 that includes intra-prediction 116 and inter-prediction 118, such that each block 120 is allocated to an associated prediction type from set of prediction types 114. This may be performed by the decoder / encoder in a manner similar to the decoder / encoder described in connection with Figures 4 to 6.

[0147] Furthermore, the decoder / encoder is configured to derive, for each intra-predicted block 120 to which intra-prediction is allocated, an associated intra-prediction mode 125 from the set of intra-prediction modes from the data stream 112. The set of intra-prediction modes may be equal to or similar to the set 122 described in connection with Figure 4 or Figure 6, and hereinafter, references to subsets of predetermined intra-prediction modes may be equal to or similar to the subset 124 of predetermined intra-prediction modes described in connection with Figure 4 or Figure 6.

[0148] For each of the predetermined intra-predicted blocks 120 whose associated intra-prediction mode 125 is included in the predetermined subset 124 of the predetermined intra-prediction modes, the decoder / encoder is configured to derive / encode from / into the data stream 112 the partitions 128 of the respective predetermined intra-predicted blocks 120 into partitions 130. The derivation or encoding of the partitions 128 may be performed as described in connection with Figures 4 and / or 6. Furthermore, for each predetermined intra-predicted block 120 whose associated intra-prediction mode 125 is included in the predetermined subset 124 of predetermined intra-prediction modes, the decoder / encoder is configured to derive / encode from / into the data stream 112 information 150 identifying a predetermined rule 156 from the set of rules 154, and use the information 150 to determine, for each partition 130 of the respective predetermined intra-predicted block 120, a partition-specific intra-prediction mode 152 from the predetermined subset 124 of predetermined intra-prediction modes based on the associated intra-prediction mode 125 for the respective predetermined intra-predicted block 120. Each partition 130 of the respective predetermined intra-predicted block 120 is intra-predicted using the partition-specific intra-prediction mode 152 determined for the respective partition. A first partition-specific intra-prediction mode 1520 may be allocated to the first partition 1300, a second partition-specific intra-prediction mode 1521 may be allocated to the second partition 1301, a third partition-specific intra-prediction mode 1522 may be allocated to the third partition 1302, and a fourth partition-specific intra-prediction mode 1523 may be allocated to the fourth partition 1303. Which partition-specific intra-prediction mode 152 is determined for a partition 130 depends on the predetermined rules 156 and associated intra-prediction mode 125 for each given intra-predicted block 120.

[0149] Furthermore, the decoder / encoder is configured to derive / encode, for each block 120, information regarding the prediction residual of the respective block 120 from / to the data stream 112 by deriving, for each partition 130 of the respective predetermined intra-predicted block 120, a partition-specific prediction residual signal 132 from the data stream 112 that is related to the spatial-domain prediction residual signal 134 of the respective partition 130 of the respective predetermined intra-predicted block 120 by a predetermined transform T. The derivation of the prediction residual may be performed as described in FIG. 4 or FIG. 6.

[0150] The decoder / encoder is configured to reconstruct each block 120 using information about the prediction residual of the respective block 120 and a prediction signal obtained using a prediction type assigned to the respective block 120. The block 120 may be reconstructed by, for each partition 130, obtaining a partition-specific prediction signal using a partition-specific intra-prediction mode 152 determined for the respective partition 130. The partitions 130 may be intra-predicted in sequence. The block 120 may be reconstructed by reconstructing each partition 130 of the block 120 in sequence using the partition-specific prediction signal and partition-specific prediction residual of the respective partition 130.

[0151] According to an embodiment, the decoder / encoder is configured to perform intra prediction of a partition 130 of each predetermined intra predicted block 120 in a manner according to a predetermined intra prediction mode 125 assigned to each predetermined intra predicted block 120, in turn, by using correction of the intra prediction signal for the previous partition using a prediction residual signal 132 specific to the partition of the previous partition.

[0152] According to an embodiment, the decoder / encoder is configured to derive / encode information 150 identifying a predetermined rule 156 from / into the data stream 112, and use the information 150 to determine, for each partition 130 of each predetermined intra-predicted block 120, a partition-specific intra-prediction mode 152 from a predetermined subset 124 of predetermined intra-prediction modes based on the associated intra-prediction mode 125 for each predetermined intra-predicted block by reading a rule index 112g transmitted in the data stream 112 for each predetermined intra-predicted block 120 or by predicting the rule index based on characteristics of neighboring blocks. Thus, the information 150 identifying a predetermined rule 156 from the set of rules 154 can be explicitly signaled by the rule index 112g transmitted in the data stream 112 or can be implicitly obtained by predicting the rule index based on characteristics of neighboring blocks in the neighborhood of the predetermined block 120. The rule index may be used to identify the predetermined rule 156 from the set of rules 154.

[0153] According to an embodiment, the decoder / decoder is configured such that each rule of the set of rules 154 determines the partition-specific intra-prediction mode 152 for the partition 130 of each given intra-predicted block 120 such that if the associated intra-prediction mode 125 for each given intra-predicted block 120 is angular mode 123a, then the partition-specific intra-prediction mode 152 for the partition 130 of each given intra-predicted block 120 is also angular mode 123a. Furthermore, as shown in Figure 8, the average of the intra-prediction directions 170 of the partition-specific intra-prediction modes 152 for the partition 130 of each given intra-predicted block 120 is equal to the intra-prediction direction 172 of the associated intra-prediction mode 125 for each given intra-predicted block 120. Figure 8 shows on the left the intra prediction direction 170 of the intra prediction mode 152 specific to the partition according to the first rule 1551 of the set of rules 154, and on the right the intra prediction direction 170 of the intra prediction mode 152 specific to the partition according to the second rule 1552 of the set of rules 154, when the angular intra prediction modes 123a are ordered according to the clockwise rotation of their associated intra prediction directions.

[0154] As already outlined above, the angular intra-prediction modes 123a differ from one another in their intra-prediction directions 170 / 172. Each angular intra-prediction mode 123a may have an associated index, and the association of the indices to the angular intra-prediction modes 123a may be such that when ordering the angular intra-prediction modes 123a according to the associated mode index, the direction rotates monotonically clockwise or counterclockwise.

[0155] According to an embodiment, the decoder / encoder is configured such that the set of rules 154 includes one or more pairs of a first variant rule, e.g., 1551, and a second variant rule, e.g., 1552. The first variant rule, e.g., first rule 1551, determines the partition-specific intra-prediction mode 152 for the partition 130 of each given intra-predicted block 120 such that the intra-prediction direction 170 of the partition-specific intra-prediction mode 152 for the partition 130 of each given intra-predicted block 120 deviates from the intra-prediction direction 172 of the associated intra-prediction mode 125 for each given intra-predicted block 120 when, when spatially traversing the partition 130 along the predetermined direction 174, the magnitude of the angular deviation monotonically increases along the predetermined direction 174 as one moves away from the center of the respective given intra-predicted block 120, with the sign of the angular deviation opposite upstream of the center compared to downstream of the center. A second variation rule, e.g., second rule 1552, determines, for each partition 130 of each given intra-predicted block 120, the partition-specific intra-prediction mode 152 for the partition 130 of each given intra-predicted block 120 so that the intra-prediction direction 170 of the partition-specific intra-prediction mode 152 for the respective partition 130 deviates from the intra-prediction direction 172 of the associated intra-prediction mode 125 for each given intra-predicted block 120 with a magnitude of deviation equal to and a sign of deviation opposite to the magnitude of deviation of the intra-prediction direction 170 of the partition-specific intra-prediction mode 152 for the respective partition 130 from the associated intra-prediction mode 125 for each given intra-predicted block 120 according to the first variation rule, e.g., first rule 1551. The first transformation rule 1551 and the second transformation rule 1552 define partition-specific intra prediction modes 152 for each partition with the same angular deviation magnitude but opposite angular deviation sign.

[0156] In the above-described derivation or encoding of partitions 128, information 126 may identify partitions 128 of a set of partition modes 127. Set of partition modes 127 may include first partitions 127a in which each predetermined intra-predicted block 120 is divided horizontally so that the partitions 130 of each predetermined intra-predicted block 120 are the same width as each predetermined intra-predicted block 120, and second partitions 127b in which each predetermined intra-predicted block 120 is divided vertically so that the partitions 130 of each predetermined intra-predicted block 120 are the same height as each predetermined intra-predicted block 120, as shown in Figure 4 or 6. Optionally, set of partition modes 127 includes third partitions 127c in which each predetermined intra-predicted block 120 is divided horizontally and vertically so that the partitions 130 of each predetermined intra-predicted block 120 are arranged in partition rows and partition columns. The predetermined method 174 is vertical if the partition 128 of each predetermined intra-predicted block 120 is the first partition 127a, and is horizontal if the partition 128 of each predetermined intra-predicted block is the second partition 127b. The partitioning shown in Figures 7 and 8 is performed according to the first partition 127a.

[0157] According to an embodiment, the decoder / encoder is configured to determine the partitions 128 in terms of the number of partitions 130 based on the dimensions of each given intra-predicted block 120. The partitions 128 depend, for example, on the height and width of each given intra-predicted block 120. The partitions 128 may result in a number of partitions 130 greater than two. Each given intra-predicted block 120 may be partitioned by the partitions 128 into at least three partitions 130.

[0158] According to an embodiment, the encoder / decoder described in relation to Figures 7 and / or 8 may include features and / or functionality described in relation to Figures 1 to 6.

[0159] Algorithm proposal: It is proposed to allow each subsection 130 to have its own intra mode, i.e., a partition-specific intra-prediction mode 152 that may not necessarily be equal to the global block mode, i.e., the associated intra-prediction mode 125. In this new approach, the global block mode 125 is still analyzed, for example, by a decoder, but each subsection 130 has its own local mode 152. This local mode 152 may depend on the global block mode 125, the subsection index, explicitly transmitted syntax elements, neighboring intra modes, etc. For example, suppose we have a block 120 with four subsections, e.g., partitions 1300 to 1303, with indices 0 to 3 and a global intra mode i. Then, the local intra modes 152 of the subsections 130 may be: Local mode 0 = i - 2 Local mode 1 = i - 1 Local mode 2 = i + 1 Local mode 3 = i + 2

[0160] Examples of preferred versions: If ISP is used, a flag, i.e., local intra prediction indication 112h, is analyzed by the decoder to determine whether a local variant of intra mode 125 will be present. The decoder / encoder may be configured to read / send local intra prediction indication 112h, which indicates whether a partition-specific intra prediction mode 152 will be used for prediction of each partition 130. If a local transformation is to be present, a second flag, i.e., rule index 112g, is transmitted to indicate which model of transformation, i.e., rule 156, is to be used. If the local intra-prediction indication 112h indicates the use of a partition-specific intra-prediction mode 152, the decoder / encoder may be configured to read / transmit the rule index 112g or predict the rule index based on the characteristics of neighboring blocks and use the rule index to identify a given rule 156 from the set of rules 154. For example, there are two possibilities:

[0161] [Table 1]

[0162] Additional notes: The picture 110 shown in Figure 4 or 6 may be associated with the picture 12 or 12' described in connection with Figures 1 to 3. The data stream 112 shown in Figures 4, 6, and 7 may be associated with the data stream 14 described in connection with Figures 1 and 2. The intra-predicted block 120 shown in Figures 4, 6, 7, and 8 may be associated with the intra-predicted block 80 described in connection with Figure 3.

[0163] 9 shows a method 1000 for decoding a picture, the method including deriving 1100 an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra-prediction and inter-prediction, such that each block is assigned to an associated prediction type from the set of prediction types. For each intra-predicted block to which intra-prediction is assigned, the method 1000 includes deriving 1200 an associated intra-prediction mode from the data stream. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of the predetermined intra-prediction modes, the method 1000 includes deriving 1300 information regarding the partitioning of the respective predetermined intra-predicted block into partitions from the data stream, and intra-predicting 1400 each partition of the respective predetermined intra-predicted block in a manner according to the predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block. Further, method 1000 includes deriving 1500, for each block, information regarding the prediction residual of the respective block from the data stream by deriving 1510, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal from the data stream that is associated with the spatial-domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform. Further, method 1000 includes deriving 1500, for each block, information regarding the prediction residual of the respective block from the data stream by deriving 1520, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal from the data stream that is associated with the spatial-domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block. Each block is reconstructed (1600) using information regarding the prediction residual of the respective block and a prediction signal obtained using the prediction type assigned to the respective block.

[0164] 10, a method 2000 for encoding a picture corresponding to the method 1000 for decoding includes encoding 2100 an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra prediction and inter prediction, such that each block is assigned to an associated prediction type from the set of prediction types, into a data stream from which the picture is coded. For each intra-predicted block to which intra prediction is assigned, the method 2000 includes encoding 2200 an associated intra-prediction mode from the set of intra-prediction modes into the data stream. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of the predetermined intra-prediction modes, the method 2000 includes encoding 2300 information regarding the partitioning of the respective predetermined intra-predicted block into partitions, and intra-predicting 2400 each partition of the respective predetermined intra-predicted block in a manner according to the predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block. Further, method 2000 includes encoding 2500, for each block, information regarding the prediction residual of the respective block into a data stream by encoding the prediction residual for each predetermined intra-predicted block by, for each partition of the respective predetermined intra-predicted block, encoding 2510, a partition-specific prediction residual signal that is associated with the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform into a data stream. Further, method 2000 includes encoding 2500, for each block, information regarding the prediction residual of the respective block into a data stream by encoding 2520, information identifying a predetermined transform from a set of transforms that includes a first transform and a second transform that is equal to a concatenation of a linear transform and a secondary transform applied to a subset of coefficients of the linear transform. The prediction signal obtained using the selected prediction type can be reconstructed using the prediction signal.

[0165] 11 shows a method 3000 for decoding a picture that includes deriving 1100 from a data stream from which the picture is coded an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra-prediction and inter-prediction, such that each block is assigned to an associated prediction type from the set of prediction types. The method 3000 includes deriving 1200 from the data stream, for each intra-predicted block that is assigned intra-prediction, an associated intra-prediction mode from a set of intra-prediction modes. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the method 3000 includes deriving 1300 information from the data stream that identifies a partition of each predetermined intra-predicted block into partitions of a set of partition modes including: a first partition in which each predetermined intra-predicted block is divided horizontally so that the partitions of each predetermined intra-predicted block are the same width as the respective predetermined intra-predicted block; a second partition in which each predetermined intra-predicted block is divided vertically so that the partitions of each predetermined intra-predicted block are the same height as the respective predetermined intra-predicted block; and a third partition in which each predetermined intra-predicted block is divided horizontally and vertically so that the partitions of each predetermined intra-predicted block are arranged in partition rows and partition columns. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the method 3000 includes intra-predicting 1400 each partition of the respective predetermined intra-predicted block in a manner according to the predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block.Further, the method 3000 includes deriving 1500, for each block, information regarding the prediction residual of the respective block from the data stream by deriving, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal from the data stream that is related to the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform. The method 3000 includes reconstructing 1600 each block using the information regarding the prediction residual of the respective block and the prediction signal obtained using the prediction type assigned to the respective block.

[0166] 12, a method 4000 for encoding a picture corresponding to the method 3000 for decoding includes encoding 2100 into a data stream in which the picture is coded an allocation of the picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra-prediction and inter-prediction, such that each block is assigned to an associated prediction type of the set of prediction types. Method 4000 includes encoding 2200 into the data stream, for each intra-predicted block assigned intra-prediction, an associated intra-prediction mode of the set of intra-prediction modes. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the method 4000 includes encoding 2300 information into the data stream that identifies the partitioning of each predetermined intra-predicted block into partitions of a set of partition modes including: a first partition in which each predetermined intra-predicted block is divided horizontally so that the partitions of each predetermined intra-predicted block are the same width as each predetermined intra-predicted block; a second partition in which each predetermined intra-predicted block is divided vertically so that the partitions of each predetermined intra-predicted block are the same height as each predetermined intra-predicted block; and a third partition in which each predetermined intra-predicted block is divided horizontally and vertically so that the partitions of each predetermined intra-predicted block are arranged in partition rows and partition columns. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of predetermined intra-prediction modes, the method 4000 includes intra-predicting 2400 each partition of the respective predetermined intra-predicted block in a manner according to the predetermined intra-prediction mode assigned to the respective predetermined intra-predicted block.Furthermore, the method 4000 includes encoding 2500, for each block, information regarding the prediction residual of the respective block into a data stream by encoding, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal that is associated with the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform into a data stream, whereby the respective block is reconstructable using the information regarding the prediction residual of the respective block and a prediction signal obtained using a prediction type assigned to the respective block.

[0167] 13 shows a method 5000 for decoding a picture that includes deriving 1100 from a data stream from which the picture is coded an allocation of a picture at a block granularity into which the picture is sub-divided to a set of prediction types including intra-prediction and inter-prediction, such that each block is assigned to an associated prediction type from the set of prediction types. Method 5000 includes deriving 1200 from the data stream, for each intra-predicted block that is assigned intra-prediction, an associated intra-prediction mode from a set of intra-prediction modes. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of the predetermined intra-prediction modes, the method 5000 includes deriving 1300 information regarding the partitioning of the respective predetermined intra-predicted block into partitions from the data stream; deriving 1350 information identifying a predetermined rule from a set of rules from the data stream, wherein, using the information identifying the predetermined rule, for each partition of the respective predetermined intra-predicted block, a partition-specific intra-prediction mode is determined from the predetermined subset of the predetermined intra-prediction modes based on the associated intra-prediction mode for the respective predetermined intra-predicted block; and intra-predicting 1400 each partition of the respective predetermined intra-predicted block using the partition-specific intra-prediction mode determined for the respective partition. Further, the method 5000 includes deriving 1500, for each block, information regarding the prediction residual of the respective block from the data stream by deriving, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal from the data stream that is related to the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform. The method 5000 includes reconstructing 1600 each block using the information regarding the prediction residual of the respective block and the prediction signal obtained using the prediction type assigned to the respective block.

[0168] 14, a method 6000 for encoding a picture corresponding to the method 5000 for decoding includes encoding 2100 into a data stream in which the picture is coded an allocation of the picture at the block granularity into which the picture is sub-divided to a set of prediction types including intra-prediction and inter-prediction, such that each block is assigned to an associated prediction type from the set of prediction types. The method 6000 includes encoding 2200 into the data stream, for each intra-predicted block assigned intra-prediction, an associated intra-prediction mode from the set of intra-prediction modes. For each predetermined intra-predicted block whose associated intra-prediction mode is included in a predetermined subset of the predetermined intra-prediction modes, the method 6000 includes encoding 2300 information regarding the partitioning of the respective predetermined intra-predicted block into partitions into a data stream; encoding 2350 information identifying a predetermined rule from a set of rules into the data stream, wherein, using the information identifying the predetermined rule, for each partition of the respective predetermined intra-predicted block, a partition-specific intra-prediction mode is determined from the predetermined subset of the predetermined intra-prediction modes based on the associated intra-prediction mode for the respective predetermined intra-predicted block; and intra-predicting 2400 each partition of the respective predetermined intra-predicted block using the partition-specific intra-prediction mode determined for the respective partition. Furthermore, the method 6000 includes encoding 2500, for each block, information regarding the prediction residual of the respective block into a data stream by encoding, for each partition of the respective predetermined intra-predicted block, a partition-specific prediction residual signal that is related to the spatial domain prediction residual signal of the respective partition of the respective predetermined intra-predicted block by a predetermined transform into a data stream. For each block, the respective block uses the information regarding the prediction residual of the respective block and a prediction signal obtained using a prediction type assigned to the respective block. It can be reconstructed using

[0169] Further embodiments: While some aspects have been described in the context of an apparatus, it will be apparent that these aspects also refer to a description of a corresponding method, with blocks or devices corresponding to method steps or features of method steps. Similarly, aspects described in the context of a method step also refer to a description of a corresponding block or item or feature of the corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus, 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 an apparatus.

[0170] Depending on the requirements of a particular implementation, embodiments of the present invention may be implemented in hardware or software. Implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blue-Ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory, that stores electronically readable control signals and cooperates (or can cooperate) with a programmable computer system to execute the respective methods. Thus, the digital storage medium may be computer-readable.

[0171] Some embodiments according to the present invention include a data carrier having electronically readable control signals that can cooperate with a programmable computer system to cause one of the methods described herein to be performed.

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

[0173] Other embodiments comprise the computer program for performing one of the methods described herein, stored on a machine readable carrier.

[0174] In other words, an embodiment of the inventive method is, therefore, a computer program having a program code for performing one of the methods described herein, when the computer program runs on a computer.

[0175] A further embodiment of the inventive method is therefore a data carrier (or digital storage medium, or computer readable medium) comprising, recorded thereon, a computer program for performing one of the methods described herein. The data carrier, digital storage medium, or recorded medium is generally tangible and / or non-transitory.

[0176] A further embodiment of the inventive method is, therefore, a data stream or a sequence of signals representing the computer program for performing one of the methods described herein, The data stream or the sequence of signals may for example be adapted to be transmitted via a data communication connection, for example via the Internet.

[0177] A further embodiment comprises a processing means, for example a computer, or a programmable logic device, configured to or adapted to perform one of the methods described herein.

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

[0179] Further embodiments according to the 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, for example, include a file server for transferring the computer program to the receiver.

[0180] 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 methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor to perform one of the methods described herein. In general, the methods are preferably performed by any hardware apparatus.

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

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

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

[0184] The methods described herein, or any components of the apparatus described herein, may be implemented at least in part by hardware and / or by software.

[0185] The above-described embodiments merely illustrate the principles of the present invention. It is understood that modifications and variations of the arrangements and details described herein will be apparent to those skilled in the art. It is therefore intended to be limited only by the scope of the claims that follow, and not by the specific details presented by the description and illustration of the embodiments herein. [Explanation of symbols]

[0186] 10 Encoder, device 12 pictures, original signal 12' Picture, Signal 14 Data Stream 20 Decoder, device 22 Prediction residual signal format 24 Prediction Residuals 24' Spectral domain prediction residual signal 24'' quantized prediction residual signal 24'' Spectral domain prediction residual signal 24'''' prediction residual signal 26 Predictive Signals 28 Converter 32 Quantizer 34 Entropy Coder 36 Prediction Stage 40 Inverse converter 42 Synthesizer 44 Prediction Module 46 Reconstructed Signal 50 Entropy Decoder 52 Inverse quantizer 54 Inverse converter 56 Synthesizer 58 Prediction Module 80 Intra-coded blocks 82 Inter-coded blocks 84 blocks 110 Pictures 112 Data Stream 112a Information, allocation 112b Information 112c Information, mode display 112d Information, classification indicator 112e Information, Residual Signal, and Residual Transformation 112f Transformation syntax element, information, secondary transformation flag, lfnst_idx 112g Rules Index 112h Local intra prediction display 113 Function transform_tree 114 Forecast Type Collection 116 Intra Prediction 118 Inter Prediction 120 intra predicted blocks A set of 122 intra prediction modes 123a Angular Intra Prediction Mode 123b Planar Intra Prediction Mode 123c DC intra prediction mode 123d block-based intra prediction mode A subset of 124 intra-prediction modes 125 Associated intra prediction modes, prediction types 126 Information 127 Set of partition modes 127a First Division 127b Second division 127c Third Division 128 division 130 divisions, subdivisions 1300 First Division 1301 Second Division 1302 Third Division 1303 4th division 132 segment-specific prediction residual signals, prediction residuals 134 Spatial domain prediction residual signal 136 Information 138 Set of transformations 140 Subset of transform coefficients of linear transform T1 / Tp 150 Information 152 Partition-specific intra prediction modes, local modes, and local intra modes 1520 first partition-specific intra prediction mode 1521 Second partition-specific intra prediction mode 1522 third partition-specific intra prediction modes 1523 Fourth division specific intra prediction mode 154 Set of Rules 1551 First Rule 1552 Second Rule 156 Prescribed Rules 160 Specific Area, Area of ​​Non-Zero Transform Domain 170 Intra Prediction Direction 172 Intra Prediction Direction 313 LfnstDcOnly 530 order 1000 ways 2000 methods 3000 ways 4000 ways 5000 ways 6000 ways

Claims

1. A secondary transform index for an intra prediction block divided into partitions is decoded from the data stream, and the secondary transform index indicates whether a secondary transform is commonly applied to all partitions of the intra prediction block; determining a partition-specific transform domain residual for each partition of the intra-predicted block; For every partition, determining whether any non-zero transform coefficients of the partition-specific transform domain residual are outside a predetermined region; If it is determined that no non-zero transform coefficients exist outside a predetermined region for all partitions, the secondary transform indicated by the secondary transform index is applied to all partitions in common; configured to reconstruct each partition of the intra-predicted block using the partition-specific transform domain residual; The video decoder of claim 1, wherein the partition-specific transform domain residual is transformed or untransformed according to the secondary transform index.

2. 2. The video decoder of claim 1, wherein the secondary transform index indicates one of: not using an inverse secondary transform; using a first inverse secondary transform; or using a second inverse secondary transform.

3. 2. The video decoder of claim 1, configured to infer that no secondary transform is used for the intra-predicted block if it is determined that there are non-zero transform coefficients outside a predetermined region for at least one partition.

4. 3. The video decoder of claim 2, wherein the first inverse secondary transform or the second inverse secondary transform is further indicated by an intra-prediction mode assigned to the intra-predicted block.

5. The video decoder of claim 1 , wherein the secondary transform indicated by the secondary transform index is commonly applied to all partitions of the intra-predicted block.

6. decoding, from the data stream, a secondary transform index for an intra-predicted block divided into partitions, the secondary transform index indicating whether a secondary transform is to be applied to all partitions of the intra-predicted block in common; determining a partition-specific transform domain residual for each partition of the intra-predicted block; determining, for every partition, whether any non-zero transform coefficients of the partition-specific transform domain residual lie outside a predetermined region; applying the secondary transform indicated by the secondary transform index to all partitions in common when it is determined that no non-zero transform coefficient exists outside a predetermined region for all partitions; reconstructing each partition of the intra-predicted block using the partition-specific transform domain residual; The method of claim 1, wherein the partition-specific transform domain residual is transformed or untransformed according to the secondary transform index.

7. 7. The method of claim 6, wherein the secondary transform index indicates one of: not using an inverse secondary transform; using a first inverse secondary transform; or using a second inverse secondary transform.

8. The method of claim 6 , further comprising: estimating that no secondary transform is used for the intra-predicted block if it is determined that a non-zero transform coefficient exists outside a predetermined region for at least one partition.

9. 8. The method of claim 7, wherein the first inverse secondary transform or the second inverse secondary transform is further indicated by an intra-prediction mode assigned to the intra-prediction block.

10. The method of claim 6, wherein the secondary transformation indicated by the secondary transformation index is commonly applied to all partitions of the intra-prediction block.

11. For each partition of the intra-predicted block, determine a partition-specific transform domain residual; determining whether any non-zero transform coefficients of the partition-specific transform domain residual for all partitions are outside a predetermined region; If it is determined that no non-zero transform coefficient exists outside a predetermined region in all partitions, a secondary transform index for the intra prediction block is coded into a data stream, the secondary transform index indicating whether a secondary transform is commonly applied to all partitions of the intra prediction block; applying the secondary transformation indicated by the secondary transformation index to all partitions of the intra-predicted block in common; configured to encode the partition-specific transform domain residual into a data stream; The video encoder of claim 1, wherein the partition-specific transform domain residual is transformed or untransformed according to the secondary transform index.

12. 12. The video encoder of claim 11, wherein the secondary transform index indicates one of: no secondary transform; use of a first secondary transform; or use of a second secondary transform.

13. 12. The video encoder of claim 11, configured to, if it is determined that a non-zero transform coefficient exists outside a predetermined region for at least one partition, estimate that a secondary transform is not used for the intra-predicted block and omit the secondary transform index from the data stream.

14. 13. The video encoder of claim 12, wherein the first secondary transform or the second secondary transform is determined based on an intra-prediction mode assigned to the intra-prediction block.

15. The video encoder of claim 11 , wherein the secondary transform indicated by the secondary transform index is commonly applied to all partitions of the intra-predicted block.

16. determining a partition-specific transform domain residual for each partition of the partitioned intra-predicted block; determining for all partitions whether any non-zero transform coefficients of the partition-specific transform domain residual lie outside a predetermined region; If it is determined that no non-zero transform coefficient exists outside a predetermined region in all partitions, encoding a secondary transform index for the intra prediction block into a data stream, the secondary transform index indicating whether a secondary transform is commonly applied to all partitions of the intra prediction block; applying the secondary transformation indicated by the secondary transformation index to all partitions of the intra-predicted block in common; encoding the partition-specific transform domain residual, which may be transformed or untransformed according to the secondary transform index, into a data stream; A picture encoding method including:

17. 17. The method of claim 16, wherein the secondary transform index indicates one of: no secondary transform; use of a first secondary transform; or use of a second secondary transform.

18. 17. The picture encoding method of claim 16, further comprising the step of estimating that a secondary transform is not used for the intra-predicted block and omitting the secondary transform index from the data stream when it is determined that a non-zero transform coefficient exists outside a predetermined region for at least one partition.

19. The method of claim 17, wherein the first secondary transform or the second secondary transform is determined based on an intra-prediction mode assigned to the intra-prediction block.

20. The method of claim 16, wherein the secondary transform indicated by the secondary transform index is commonly applied to all partitions of the intra-predicted block.

Citation Information

Patent Citations

  • Method and apparatus for configuring transform for video compression

    WO2019027302A1

  • Intra prediction-based video signal processing method and device

    WO2020175965A1

  • Method and apparatus for video coding

    WO2020206254A1

  • Methods and apparatuses for coding video data with adaptive secondary transform signaling depending on TB level syntax

    WO2020211775A1