Encoding and decoding pictures using filtering blocks - Patents.com

By subdividing pictures into flexible filtering blocks, the method addresses inefficiencies in current video coding standards, enhancing filtering efficiency and reducing resource requirements while maintaining effective artifact reduction.

JP2025529883APending Publication Date: 2025-09-09FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 8 Cites 0 Cited by

Patent Information

Application Number
JP2025511620
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2022-08-23
Filing Date
2023-08-22
Publication Date
2025-09-09

AI Technical Summary

Technical Problem

Current video coding standards face challenges in managing the large amount of signaling data required for filter parameters, leading to increased bitstream size and resource requirements, while existing methods for adaptive loop filtering (ALF) and other in-loop filters are inefficient in reducing coding artifacts.

Method used

The proposed solution involves subdividing pictures into flexible filtering blocks that can deviate from the coding block structure, allowing for adaptive filter parameters to be signaled with a granularity that optimizes the rate-distortion relationship and reduces resource requirements by enabling more efficient filtering.

Benefits of technology

This approach improves the trade-off between rate-distortion performance, complexity, and resource usage by allowing for more efficient filtering, reducing coding artifacts, and minimizing signaling overhead.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025529883000001_ABST
    Figure 2025529883000001_ABST
Patent Text Reader

Abstract

A picture of a sequence of pictures is decoded by deriving partition information from a data stream, subdividing the picture into coded blocks according to the partition information, and decoding the picture in units of coded blocks. Filtering information is derived from the data stream indicating the subdivision of the picture into filtering blocks. The subdivision into filtering blocks is used to filter the picture.
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] FIELD OF THE INVENTION Some embodiments relate to an apparatus for determining filter parameters for a frame sub-region. Summary of the Invention [Problem to be solved by the invention]

[0002] Since H.261, all video coding standards, including the state-of-the-art ITU-T H.266 | MPEG-I Part 3 VVC video coding standard (Reference 1: ITU-T and ISO / IEC. Versatile video coding. ITU-T Recommendation H.266 | ISO / IEC 23090-3 (VVC), edition 2, 2022), rely on the basic concept of block-based hybrid video coding. Here, the input signal for each color component is segmented into discrete blocks that are coded using a hybrid video coding scheme based on prediction, transformation, quantization, (in-loop) filtering, and entropy coding. Therefore, one of the steps in the encoding and decoding algorithms is filtering or denoising the quantized signal for the current block. The embodiments of the present invention described below focus on improving an adaptive loop filter (ALF) and a method for deriving its parameters. However, the method can be applied to any in-loop filter with parameters signaled per block level, such as a sample adaptive offset (SAO) or future neural network-based filters.

[0003] In current video coding standards, the basic approach is to divide input samples into basic processing units, so-called coding tree units (CTUs), which are shown by solid lines in Figure 1. These units are further divided in terms of the coding process, but filter parameters are determined for each basic processing unit (CTU). Therefore, filter processing blocks, i.e., blocks to which filters with the same parameters can be applied, are arranged in the same grid as the CTUs. The obtained parameters are then coded, for example via entropy coding, and transmitted to the decoder side. In the following, this kind of filtering block will be called a filter processing unit (FPU) and is shown as a white box separated by a dashed line in Figure 1 below.

[0004] On the encoder side, the encoded and decoded / reconstructed picture is input to a filtering process. In VVC, this includes luma mapping with chroma scaling (LMCS), deblocking, SAO, and ALF, in that order. Future video codecs may employ more or different in-loop filtering stages. Due to lossy compression introduced by quantization, the original picture loses visual quality. Various coding artifacts are typical types of distortion found in the reconstructed picture. In particular, for ALF, a key feature is the Wiener filter, which allows for the restoration of many losses by bringing the filtered picture closer to the original uncompressed picture. Such filters typically process each sample of the distorted picture. To know how to process the sample, the filter requires a set of parameters: filter coefficients in the case of ALF, the type of filtering and associated offset values ​​in the case of SAO, and activation flags and mapping values ​​in the case of LMCS. While deblocking does not require per-block parameters, its filtering strength is also controlled by a threshold derived from the quantization parameter (QP), which can vary at the block level.

[0005] Ideally, one set of parameters is needed for one picture sample. This results in a huge amount of signaling data and significantly increases the size of the bitstream. To reduce the parameter signaling overhead, one parameter set is used for a block of samples, e.g., called an FPU. In the VVC standard, such a block is equal to the size of a basic processing unit, or CTU. For ALF, there is typically a predefined set of different filters, each with specific coefficients and corresponding filtering characteristics that can be signaled. Then, the encoder only needs to transmit the index of the selected filter for each block.

[0006] Specifically for ALF, the following algorithm can be used: In addition to the set of predefined filters, new filters, possibly better suited to enhancing the current picture content, can be designed during the encoding process. Typically, to limit the encoder's complexity, one set of filter coefficients is determined for each new picture. This involves a sample-by-sample classification of the picture content, the collection of correlation statistics between the reconstructed picture and the original picture, their accumulation per FPU, and finally the solution of a system of linear equations. As a result, the determined filter coefficients satisfy a minimum distortion criterion for all FPUs in the picture. In the final step, the best filtering mode is determined for each FPU with respect to an encoder-specific optimization criterion: filter-off or filter-on using a filter from all currently available filters that best suits the selected criterion.

[0007] In VVC for ALF, an FPU corresponds to a CTU, and there are three parameters signaled at the CTU level: alf_ctb_flag, alf_luma_filter_idx, and alf_ctb_filter_alternative_idx. If a newly determined filter is used for some FPU, its parameters (coefficients, etc.) are sent to the decoder using an adaptive parameter set (APS), which increases the list of available filters. The new filter becomes available for future pictures as well.

[0008] The above-mentioned features may optionally be implemented individually or in combination in any of the embodiments described below.

[0009] There is a continuing desire to provide video coding concepts, in particular encoders, decoders, methods for encoding and decoding, and video data streams, that offer improved trade-offs between the rate-distortion relationship of the encoded video signal, complexity, and resource requirements, such as computational or memory resources. [Means for solving the problem]

[0010] This object is solved by the embodiments according to the independent claims.

[0011] Embodiments of the present invention rely on the idea that filtering of pictures, e.g., reconstructed pictures, can reduce coding artifacts particularly efficiently if the filter is adapted to the content of the picture on a filtering block basis, and in this regard, it may be advantageous to be flexible and / or facilitate a subdivision of the picture into filtering blocks that deviates from the subdivision of the picture into coded blocks on a unit basis, e.g., with respect to prediction. In particular, the inventors have found that the increased complexity and / or signaling overhead that may result from allowing a flexible subdivision into filtering blocks and / or a subdivision that deviates from the subdivision into coded blocks can be overcompensated by increased efficiency in reducing coding artifacts. Efficient filtering can result in a better rate-distortion relationship, or an equivalent rate-distortion relationship at lower complexity and / or reduced resource requirements.

[0012] An embodiment of the present invention provides an apparatus for compositing a sequence of pictures from a data stream, the apparatus being configured to derive partition information from the data stream, subdivide pictures into coded blocks according to the partition information, and composite pictures of the sequence by decoding pictures in units of coded blocks. The apparatus is configured to filter the pictures by deriving filtering information (e.g., size or partition information) from the data stream (e.g., in addition to the partition information) indicating the subdivision of the pictures into filtering blocks, and using the subdivision of the pictures into filtering blocks for filtering the pictures (e.g., filtering the pictures with a granularity of subdivision, e.g., filtering the pictures in units of filtering blocks).

[0013] The use of filtering information signaled within the data stream enables flexible subdivision of a picture into filtering blocks for filtering. In particular, when filtering information is signaled in addition to partition information, the subdivision into filtering blocks may be independent of the subdivision into coding blocks. Thus, signaling filtering information enables flexible adaptation of filtering, e.g., with respect to filtering functions, on a filtering block-by-filtering block basis, which allows adaptation to a picture since filtering blocks can be flexibly determined. For example, for homogeneous content, a larger grid as shown may be beneficial because filter parameters are expected to be homogeneous as well, and a larger grid may require less signaling overhead for signaling the subdivision into filtering blocks (e.g., for signaling parameters related to filtering). For more structured content with abundant activity at high spatial frequencies, smaller filtering blocks may be beneficial by exploiting the diversity of different filters within the picture. In this case, the additional signaling overhead may be overcompensated so that the overall rate-distortion metric may be improved.

[0014] A further embodiment of the present invention provides an apparatus for encoding pictures of a sequence of pictures into a data stream, the apparatus being configured to subdivide the pictures into coding blocks, to encode the pictures in units of the coding blocks, and to encode partition information into the data stream, the partition information indicating the subdivision of the picture into the coding blocks, the apparatus being configured to derive a subdivision of the picture into filtering blocks and, for each filtering block, a respective parameterization of a filter for filtering the filtering block, and to encode filtering information into the data stream, the filtering information indicating the subdivision of the picture into the filtering blocks.

[0015] A further embodiment provides a method for decoding pictures of a sequence of pictures from a data stream, the method comprising: deriving partition information from the data stream, subdividing the picture into coding blocks according to the partition information, decoding the picture in units of the coding blocks, and filtering the picture, wherein the filtering is performed by deriving filtering information from the data stream (e.g., in addition to the partition information) indicating the subdivision of the picture into filtering blocks, and using the subdivision of the picture into filtering blocks to filter the picture (e.g., filtering the picture with a granularity of subdivision, e.g., filtering the picture in filtering block units).

[0016] A further embodiment provides a method for encoding pictures of a sequence of pictures into a data stream, the method comprising: subdividing the picture into coding blocks; encoding the picture in units of the coding blocks; encoding partition information into the data stream, the partition information indicating the subdivision of the picture into the coding blocks; deriving a subdivision of the picture into filtering blocks and, for each of the filtering blocks, a respective parameterization of a filter for filtering the filtering block; and encoding filtering information indicating the subdivision of the picture into the filtering blocks into the data stream.

[0017] A further embodiment provides an apparatus for decoding pictures of a sequence of pictures from a data stream, the apparatus being configured to: subdivide the picture into coded blocks (e.g., units in which prediction can be performed) by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs); subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partition tree, e.g., the apparatus divides the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning to divide the child blocks into child blocks of child blocks, e.g., until the child blocks meet a predetermined criterion); and decode the picture in units of coded blocks. The apparatus is configured to, for each filtering block into which the picture is subdivided, filter the picture using a filter by using a respective parameterization of the filter, wherein the subdivision of the picture into filtering blocks differs from the subdivision of the picture into tree root blocks.

[0018] The inventors have found that subdivision of a picture other than subdivision into tree root blocks may provide more efficient filtering in terms of reducing coding artifacts. In particular, the additional effort of deriving subdivision into filtering blocks may be overcompensated by extended filtering, so that the overall trade-off between rate-distortion relation, complexity, and resource requirements may be improved by using subdivision into filtering blocks other than tree root blocks.

[0019] A further embodiment provides an apparatus for encoding pictures of a sequence of pictures into a data stream, the apparatus being configured to: subdivide the picture into coding blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs); subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partitioning tree, e.g., the apparatus partitions the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning to partition the child blocks into child blocks of the child blocks, e.g., until the child blocks meet a predetermined criterion); and encode the picture in units of coding blocks. The apparatus is configured to encode a picture by: obtaining a residual signal using a prediction signal for predicting the picture, subjecting the residual signal to a spatial-spectral transform to obtain a transform signal, quantizing the transform signal to obtain a quantized signal, encoding the quantized signal into a data stream, and reconstructing the picture based on the quantized signal to obtain a reconstructed picture, thereby deriving a prediction signal for predicting a subsequent picture of a sequence of pictures. The apparatus is configured to filter the reconstructed picture using a filter by using, for each of the filtering blocks into which the reconstructed picture is subdivided according to a subdivision of the picture into filtering blocks, a respective parameterization of the filter.

[0020] A further embodiment provides a method for decoding pictures of a sequence of pictures from a data stream, the method comprising: subdividing the picture into coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; decoding the picture in units of coded blocks; and filtering the picture using a filter by using, for each of the filtering blocks into which the picture is subdivided, a respective parameterization of the filter, wherein the subdivision of the picture into filtering blocks is different from the subdivision of the picture into tree root blocks.

[0021] A further embodiment provides a method for encoding pictures of a sequence of pictures into a data stream, the method comprising: subdividing the picture into coding blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and encoding the picture in units of coding blocks, the method comprising: obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transform to obtain a transformed signal; encoding a picture by: quantizing the transformed signal to obtain a quantized signal, and encoding the quantized signal into a data stream; and deriving a prediction signal for predicting a subsequent picture in the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; and filtering the reconstructed picture using a filter by using, for each of the filtering blocks into which the reconstructed picture is subdivided according to the subdivision of the picture into filtering blocks, a respective parameterization of the filter.

[0022] A further embodiment provides a sequence of pictures in a video data stream, the sequence of pictures being encoded into the data stream using any of the methods for encoding pictures.

[0023] Advantageous embodiments are the subject matter of the dependent claims. Embodiments of the present disclosure are described in more detail below with reference to the drawings. [Brief explanation of the drawings]

[0024] [Figure 1] FIG. 2 illustrates an example of a filter processing unit. [Figure 2] FIG. 1 illustrates an example of an encoder. [Figure 3] FIG. 1 illustrates an example of a decoder. [Figure 4] FIG. 10 is a diagram illustrating an example of picture subdivision. [Figure 5] FIG. 2 illustrates a decoder according to one embodiment. [Figure 6] FIG. 2 illustrates an encoder according to one embodiment. [Figure 7] FIG. 1 illustrates a filtering block for subdivision into slices according to one embodiment. [Figure 8] FIG. 1 illustrates a filtering block for subdivision into portions according to one embodiment. [Figure 9] FIG. 10 shows a decoder according to a further embodiment. [Figure 10] FIG. 10 shows an encoder according to a further embodiment. [Figure 11] FIG. 1 illustrates a picture subdivided into filtering blocks containing multiple coded blocks according to one embodiment. [Figure 12] FIG. 1 illustrates a picture subdivided into coding blocks containing multiple filtering blocks according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

[0025]

[0023] Embodiments of the present invention will now be described in more detail with reference to the accompanying drawings, in which identical or similar elements or elements having the same or similar functions are assigned the same reference numerals or are identified by the same names. In the following description, numerous details are set forth to provide a more complete description of the embodiments of the present disclosure. However, it will be apparent to those skilled in the art that other embodiments can be practiced without these specific details. Furthermore, features of different embodiments described herein can be combined with each other unless specifically stated otherwise.

[0026] The following description begins with a description of an encoder and decoder of a block-based predictive codec for coding video pictures, to form an example of a coding framework into which embodiments of the present invention can be incorporated. Respective encoders and decoders are described with reference to Figures 2, 3, and 4. Below, a description of embodiments of the inventive concepts is presented along with an explanation of how such concepts can be incorporated into the encoder and decoder of Figures 2 and 3, respectively, although the embodiments in subsequent figures and described below can also be used to form encoders and decoders that do not operate according to the coding framework underlying the encoder and decoder of Figures 2 and 3.

[0027] FIG. 2 illustrates an apparatus for predictively coding a picture 12 into a data stream 14, illustratively using transform-based residual coding. The apparatus or encoder is designated with the reference numeral 10. FIG. 3 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; an apostrophe is used to indicate that the picture 12′ reconstructed by decoder 20 deviates from the picture 12 originally encoded by apparatus 10 in terms of coding loss introduced by quantization of the prediction residual signal. While FIGS. 2 and 3 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 with respect to FIGS. 2 and 3, as outlined below.

[0028] 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-spatial transformation.

[0029] Internally, the encoder 10 may comprise a prediction residual signal former 22 that generates a prediction residual 24 to measure the deviation of a prediction signal 26 from an original signal, i.e., picture 12. The prediction residual signal former 22 may, for example, be a subtractor that subtracts the prediction signal from the original signal, i.e., picture 12. The encoder 10 then further comprises a transformer 28 that performs a spatial-spectral transform of the prediction residual signal 24 to obtain a spectral-domain prediction residual signal 24′, which is quantized by a quantizer 32 also included in the encoder 10. The prediction residual signal 24″ thus quantized is coded into the bitstream 14. For this purpose, the encoder 10 may optionally comprise an entropy coder 34 that entropy codes the prediction residual signal that is transformed and quantized into the data stream 14. The prediction signal 26 is generated by a prediction stage 36 of the encoder 10 based on the prediction residual signal 24″, which is coded into the data stream 14 and decodable therefrom. For this purpose, the prediction stage 36 may include, as shown in FIG. 2 , 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-spatial transform, 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, e.g., 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 the prediction signal 26 based on the signal 46, for example, using spatial prediction, i.e., intra-picture prediction, and / or temporal prediction, i.e., inter-picture prediction.

[0030] Similarly, decoder 20 may be internally composed of components corresponding to prediction stage 36, interconnected in a manner corresponding to prediction stage 36, as shown in Figure 3. In particular, entropy decoder 50 of decoder 20 may entropy decode a quantized spectral-domain prediction residual signal 24" from the data stream, with inverse quantizer 52, inverse transformer 54, combiner 56, and prediction module 58 interconnected and cooperating in the manner described above with respect to the modules of prediction stage 36 to recover a reconstructed signal based on prediction residual signal 24" such that the output of combiner 56 provides the reconstructed signal, i.e., picture 12', as shown in Figure 3.

[0031] Although not specifically described above, it is readily apparent that the encoder 10 can set several coding parameters, including, for example, prediction modes, motion parameters, etc., according to several optimization schemes, such as, for example, a scheme that optimizes several rate- and distortion-related criteria, i.e., coding cost. For example, the encoder 10 and the decoder 20 and their respective corresponding modules 44, 58 can support different prediction modes, such as intra-coded and inter-coded modes. The granularity with which the encoder and decoder switch between these prediction mode types can correspond to the subdivision of the pictures 12 and 12′, respectively, into coded segments or coded blocks. In units of these coded segments, for example, a picture can be subdivided into intra-coded blocks and inter-coded blocks. The intra-coded blocks are predicted based on their spatial already coded / decoded neighbors, as outlined in more detail below. Several intra-coding modes may be selected for each intra-coded segment, including a directional intra-coding mode or an angular intra-coding mode, 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 a DC coding mode in which the prediction of each intra-coded block assigns a DC value to all samples in the respective intra-coded segment, and / or a planar intra-coding mode in which the prediction of each block is approximated or determined to be a spatial distribution of sample values ​​described by a two-dimensional linear function over the sample positions of each intra-coded block with a planar driving slope and offset defined by the two-dimensional linear function based on neighboring samples. In comparison, inter-coded blocks may be predicted, for example, temporally.For inter-coded blocks, motion vectors may be signaled within the data stream, indicating the spatial displacement of portions of previously coded pictures of the video to which picture 12 belongs, where the previously coded / decoded pictures are sampled to obtain a prediction signal for the respective inter-coded blocks. This means that in addition to the residual signal coding included in 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 any further parameters therein, such as coding mode parameters for assigning coding modes to various blocks, some prediction parameters of the blocks, such as motion parameters for inter-coded segments, and parameters for controlling and signaling the subdivision of pictures 12 and 12' into segments. Decoder 20 uses these parameters to subdivide the picture in the same way as the encoder did, assign the same prediction modes to the segments, and perform the same prediction, resulting in the same prediction signal.

[0032] 4 illustrates the relationship between, on the one hand, a reconstructed signal, i.e., a reconstructed picture 12′, and, on the other hand, the combination of a prediction residual signal 24″″ and a prediction signal 26 signaled in data stream 14. As already mentioned above, the combination may be additive. In FIG. 4, the prediction signal 26 is illustrated as a subdivision of the picture region into intra-coded blocks, exemplarily shown using hatching, and inter-coded blocks, exemplarily shown without hatching. The subdivision may be any subdivision, such as a regular subdivision of the picture region into rows and columns of square or non-square blocks, or a multi-tree subdivision of the picture 12 from a tree root block into multiple leaf blocks of various sizes, such as a quad-tree subdivision, a mixture of which is illustrated in FIG. 4, in which the picture region is first subdivided into rows and columns of tree root blocks, which are then further subdivided into one or more leaf blocks according to a recursive multi-tree subdivision.

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

[0034] The prediction residual signal 24"" in FIG. 4 is also shown as a subdivision of the picture area into blocks 84. These blocks are sometimes called transform blocks to distinguish them from the coded blocks 80 and 82. In fact, FIG. 4 shows that the encoder 10 and the decoder 20 can use two different subdivisions into blocks for each of the pictures 12 and 12': one subdivision into coded blocks 80 and 82, respectively, and another subdivision into transform blocks 84. While both subdivisions may be the same, i.e., each coded block 80 and 82 may simultaneously form a transform block 84, FIG. 4 also shows the case where the subdivision into transform blocks 84 forms an extension of the subdivision into coded blocks 80, 82, for example, so that any boundary between the two blocks 80 and 82 covers the boundary between the two blocks 84, or alternatively, where each block 80, 82 coincides with one of the transform blocks 84 or with a cluster of transform blocks 84. However, the subdivisions may also be determined or selected independently of one another, such that the transform blocks 84 may alternatively cross block boundaries between the blocks 80, 82. Thus, as far as the subdivision into transform blocks 84 is concerned, similar statements apply as those presented with respect to the subdivision into blocks 80, 82; i.e., the blocks 84 may be the result of a regular subdivision of the picture region into blocks (with or without arrangement into rows and columns), a recursive multi-tree subdivision of the picture region, or a combination thereof, or any other type of blocking. As a mere aside, it should be noted that the blocks 80, 82, and 84 are not limited to being square, rectangular, or any other shape.

[0035] 4 further illustrates that the combination of the prediction signal 26 and the prediction residual signal 24'''' directly results in the reconstructed signal 12'. However, it should be noted that, according to alternative embodiments, more than one prediction signal 26 can be combined with the prediction residual signal 24'''' into the picture 12'.

[0036] In Figure 4, the transform blocks 84 have the following meaning: The transformer 28 and the inverse transformer 54 perform their transforms in units of these transform blocks 84. For example, many codecs use some kind of DST or DCT for all transform blocks 84. Some codecs allow for skipping the transform for some of the transform blocks 84, so that the prediction residual signal is coded directly in the spatial domain. However, according to embodiments described below, the encoder 10 and the decoder 20 are configured so that they support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include:

[0037] DCT-II (or DCT-III), where DCT stands for Discrete Cosine Transform DST-IV, where DST stands for discrete sine transform ○DCT-IV ○DST-VII Identity Transformation (IT) Of course, the transformer 28 supports all of the forward transform versions of these transforms, while the decoder 20 or inverse transformer 54 supports the corresponding backward or inverse versions of the following:

[0038] Inverse DCT-II (or inverse DCT-III) ○Reverse DST-IV ○Reverse DCT-IV ○Reverse DST-VII Identity Transformation (IT) 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 include only one transform, such as one spectral-spatial transform or a spatial-spectral transform.

[0039] As already outlined above, Figures 2, 3, and 4 are presented as examples in which the inventive concepts further described below can be implemented to form specific examples of encoders and decoders according to the present application. To that extent, the encoders and decoders of Figures 2 and 3 may represent possible implementations of the encoders and decoders described later in this specification. However, Figures 2 and 3 are merely examples. However, an encoder according to embodiments of the present application may perform block-based encoding of picture 12 that uses concepts outlined in more detail below but differs from the encoder of Figure 2, for example, by being a still image encoder rather than a video encoder, not supporting inter-prediction, or by performing the subdivision into blocks 80 in a different manner than illustrated in Figure 4. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of pictures 12′ from data stream 14 using coding concepts further outlined below, but may differ from decoder 20 of FIG. 3, for example, in that it is a still image decoder rather than a video decoder, in that it does not support intra-prediction or in that it subdivides pictures 12′ into blocks in a different manner than described with respect to FIG. 4, and / or in that it does not derive prediction residuals from data stream 14 in the transform domain but, for example, in the spatial domain.

[0040] As shown in FIG. 3, the decoder 20 may further comprise a filtering module 62 for filtering the reconstructed signal 12′, and the prediction 58 is performed based on the filtered reconstructed signal 12′. Alternatively or additionally, filtering may be performed before the combining 56, i.e., the dequantized and retransformed signal may undergo filtering before the combining 56 with the predicted signal, as indicated by the filtering module 62′ in FIG. 3. The filtering by the filtering modules 62, 62′ is referred to as in-loop filtering. Similarly, the encoder 10 of FIG. 2 may comprise a filtering module 61 that may perform the same filtering as the filtering module 62 in the prediction stage 36 to filter the reconstructed signal 46. Additionally or alternatively, the prediction residual signal 24″″ may undergo filtering before the combiner 42, as described with reference to the decoder 20. Thus, embodiments of the present invention may optionally be implemented as described with reference to FIGS. 2, 3, and 4, with the filtering referring to the filtering modules 61, 62, and / or 62′.

[0041] FIG. 5 illustrates an apparatus 20 for decoding or reconstructing a picture 12′ from a data stream 14 according to one embodiment. The apparatus 20 is also referred to as a decoder 20. The details described with respect to FIG. 3 may, but need not, be implemented in the decoder 20 of FIG. 5 . The picture 12′ may be part of a sequence of pictures and may be decoded according to the inter-picture coding order. The decoder 20 derives partition information 16 from the data stream 14 and, for example, by a subdivision unit 21 illustrated in FIG. 5 , subdivides the picture 12′ to be reconstructed into coded blocks according to the partition information. That is, for example, the subdivision unit 21 may derive a subdivision 19 of the picture 12′ into coded blocks. The decoder 12 decodes the picture 12′ on a coded block-by-code block basis, for example, by using a decoding block 31 illustrated in FIG. 5 . In an example, the decoder 20 may decode the coded blocks according to the inter-picture coding order of the coded blocks of the picture 12′. The decoder 20 further filters the picture to be reconstructed. To this end, the decoder 20 derives filtering information 18 from the data stream 14, e.g., size of partition information indicating the subdivision of the picture into filtering blocks. The decoder 20 uses the subdivision of the picture into filtering blocks for filtering the picture. That is, for example, the decoder 20 may derive a further subdivision 17 of the picture 12′ into filtering blocks based on the filtering information.

[0042] For example, the subdivision into filtering blocks 17 may be obtained by a subdivision device 21 or by separate means. For example, the decoder 20 may comprise a block for determining the subdivision into coding blocks and a block for determining the subdivision into filtering blocks. These blocks may be combined or separated from each other.

[0043] For example, the decoder 20 may subject the decoded picture signal 12'' provided by the decoding block 31 to filtering, e.g., as shown by the filtering block 62 in FIG. 5. However, the arrangement of the filtering block 62 in FIG. 5 is illustrative. In other examples, the filtering block 62 may be part of the decoding block 31, e.g., as described with respect to the filtering module 61 in FIG. 3.

[0044] For example, decoding block 31 may include blocks 52, 54, 56, and 58 of FIG.

[0045] FIG. 6 illustrates an apparatus 10 for encoding a picture 12 into a data stream 14 according to one embodiment. The apparatus 10 may also be referred to as an encoder 10. The features described with reference to FIG. 2 may be implemented in the encoder 10 of FIG. 6, but need not necessarily be. The encoder 10 of FIG. 6 may be implemented as a counterpart to the decoder 20 of FIG. 5. The encoder 10 encodes the picture 12, for example, by subdividing the picture 12 into coding blocks 25 using a subdivision unit 23, and then encoding the picture 12 on a coding block-by-coded block basis using, for example, the coding blocks 33 shown in FIG. 6. The encoder 10 encodes segmentation information 16 into the data stream 14, indicating the subdivision of the picture 12 within the coding blocks. The encoder 10 further derives a subdivision of the picture 12 into filtering blocks, for example, by a further subdivision unit 27. The encoder further derives, for each filtering block, a filter, for example, a respective parameterization of a filter function for filtering the filtering block. The encoder 10 encodes filtering information 18 into the data stream 14 that indicates the subdivision of the picture 12 into filtering blocks.

[0046] For example, encoding block 33 may include blocks 22, 28, 32, and 36 of FIG. 2 and may be performed block by block, ie, in individual coding blocks.

[0047] For example, when filtering information is signaled in addition to partitioning information, the subdivision into filtering blocks may be different from the subdivision into coding blocks.

[0048] According to one embodiment, as shown in FIG. 2, the encoder 20 is configured to encode a picture by using a prediction signal 26 for predicting a picture 12 to obtain a residual signal 24. The encoder 10 may subject the residual signal 24 to a spatial-spectral transform 28 to obtain a transformed signal 24′, and the encoder 10 may quantize the transformed signal 24′ to obtain a quantized signal 24″, and encode the quantized signal 24″ into a data stream 14. The encoder 10 may derive the prediction signal 24 for predicting a subsequent picture in the sequence of pictures by reconstructing the picture based on the quantized signal 24″ to obtain a reconstructed picture 46. Optionally, the reconstruction is performed by an inverse quantization 38, an inverse transform 40, and a combiner 42, as shown in FIG. 2. According to this embodiment, the encoder 10 is configured to filter 61 the reconstructed picture 46 by using a picture subdivision into filtering blocks 18 for filtering the picture. Further details described with respect to FIG. 2, such as details of prediction 44, or operator 22, or encoder 34, are optional.

[0049] According to one embodiment, the encoder 10 is configured to filter 61 the reconstructed picture 46 using a filter by using a respective parameterization of the filter for each of the filtering blocks into which the reconstructed picture is subdivided according to the subdivision of the picture into filtering blocks.

[0050] According to one embodiment, the encoder 10 is configured to derive the subdivision of the picture into filtering blocks using rate-distortion optimization (in terms of the rate of the encoded data stream and the distortion of the reconstructed version of the picture reconstructed from the data stream compared to the original picture).

[0051] According to one embodiment, the encoder 10 is configured to subdivide a picture into filtering blocks by partitioning the picture into tree root filtering blocks and subdividing the tree root filtering blocks using recursive tree partitioning, and the device is configured to derive a decision to further partition the currently processed block or to stop the recursive tree partitioning using rate-distortion optimization.

[0052] In the following, further optional details of the decoder 20 of Figure 5 and the encoder 10 of Figure 6 are described. Some features may be implemented equally on the encoder and decoder sides. In particular, it should be understood that information derived by the decoder 20 from the data stream 14 will be encoded by the encoder 10 into the data stream 14.

[0053] According to an embodiment, the encoder 10 provides the data stream 14 in a VVC compliant manner, and the decoder 20 is VVC compliant.

[0054] According to one embodiment, the decoder 10 is configured to filter the picture using a filter by using, for each of the filtering blocks, a respective parameterization of the filter (e.g., using a respective parameterization for each sample position of the filtering block).

[0055] For example, decoder 20 may derive the parameterization to be used from information signaled in data stream 14. Alternatively, decoder 20 derives the parameterization based on each filtering block, e.g., based on the characteristics of the filtering block.

[0056] According to one embodiment, the encoder 10 and / or decoder 20 are configured to derive a prediction mode from a plurality of prediction modes from the data stream for a coding block of a coding block, e.g., a currently coded or predetermined coding block (or for each of the coding blocks), the prediction modes including at least an intra prediction mode in which the coding block is coded using prediction from previously coded coding blocks (of the coding block) of a picture, and an inter prediction mode in which the coding block is coded using temporal prediction (e.g., prediction from grouped coding blocks of previously coded pictures of a sequence of pictures).

[0057] For example, the decoder 20 may comprise a prediction loop, e.g., as described with respect to Fig. 3. See the prediction module 58 and the combiner 56, which provide the prediction loop. The prediction mode may be a mode that the prediction module 58 uses to determine the prediction signal 26 of the current coded block. For example, as described with respect to Fig. 4, prediction may be performed on a coded block basis, i.e., the prediction signal 26 may be determined block by block on a coded block basis, e.g., as described above with respect to Figs. 2 to 4. In other words, for each coded block, the prediction module 58 (44 on the encoder side) may determine the prediction signal 26 according to a respective prediction mode and may apply, e.g., intra prediction and / or inter prediction, with respect to one or more respective reference blocks forming the basis for the prediction, e.g., previously coded blocks of the same picture or grouped blocks of previously coded pictures.

[0058] Similarly, encoder 10 may include a prediction loop, for example provided by prediction stage 36 described with respect to FIG.

[0059] According to one embodiment, the filtering information 18 (e.g., includes a syntax element, one possible state / value of which) indicates whether the subdivision 17 of the picture into filtering blocks corresponds to the subdivision 19 of the picture into coding blocks.

[0060] Indicating that the subdivision into filtering blocks and coding blocks is the same may save bitrate for signaling the filtering blocks, while still maintaining the flexibility to have different subdivisions.

[0061] According to one embodiment, the filtering information 18 includes an indication of the size of the filtering block.

[0062] According to one embodiment, the filtering information 18 includes a syntax element indicating whether the size of the filtering blocks is equal for all of the filtering blocks, and if the size of the filtering blocks is equal for all of the filtering blocks, includes an indication of the size of the filtering blocks.

[0063] According to one embodiment, the encoder 10 and / or decoder 20 are configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs), and to subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partitioning tree, e.g., the device partitions the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning, dividing the child blocks into child blocks of child blocks, e.g., until the child blocks meet a predetermined criterion).

[0064] For example, as previously mentioned, Figure 4 illustrates, with respect to prediction signal 26, a subdivision of a picture into tree root blocks (regular blocks arranged in three rows and four columns in the illustrative example of Figure 4), and a subdivision of one of the tree root blocks into four child blocks. As discussed with respect to Figure 4, the child blocks may be further subdivided, for example, as shown with respect to block 86 of residual signal 24'''' of Figure 4.

[0065] According to one embodiment, the encoder 10 is configured to derive the filtering block such that the height of the filtering block is less than or equal to the height of the tree root block (e.g., the maximum height of the tree root blocks, or the tree root blocks have an equal height).

[0066] According to one embodiment, the filtering information 18 (e.g., includes a syntax element, one possible state / value of which) indicates whether the subdivision 17 of the picture into filtering blocks corresponds to a subdivision of the picture into tree root blocks.

[0067] According to one embodiment, the filtering information 18 indicates (e.g., includes syntax elements indicating) a maximum depth of the recursive tree division or a minimum block size, and the subdivision of the picture into filtering blocks up to the minimum block size corresponds to the subdivision of the picture into coding blocks.

[0068] Thus, the filtering blocks may be derived starting from the level of the recursive tree division performed on the coding block, which level is indicated by the maximum depth or the smallest block size, thus resulting in filtering blocks that are smaller than the tree root block, as shown, for example, in Figure 12, which shows an example where the tree root block contains multiple filtering blocks (compare the description of Figure 12 below).

[0069] According to one embodiment, the encoder 10 and / or decoder 20 are configured to further subdivide the maximum depth or minimum block size block based on the filtering information 18 (e.g., using recursive tree partitioning, e.g., until further partitioning results in a filtered block size smaller than a further minimum block size, which may, e.g., be further indicated in the filtering information) to obtain filtered blocks.

[0070] For example, as described below, the filtering block may be fixed at an indicated CTU partitioning level indicated by a maximum depth or minimum size, and the coded block at this indicated level may be used as a starting point for deriving the filtering block by further partitioning indicated in the filtering information.

[0071] According to one embodiment, the encoder 10 and / or decoder 20 are configured to subdivide the picture into filtering blocks by partitioning the picture into tree-root filtering blocks (e.g., regular, secondary blocks, equal-sized blocks in rows and columns) and subdividing the tree-root filtering blocks using recursive tree partitioning (e.g., until further partitioning results in a filtering block size smaller than the minimum size indicated in the filtering information).

[0072] That is, for example, the FPU partition is fixed to a rectangular grid that is smaller than the CTU grid and different from that defined by the CTU size.

[0073] For example, the filtering block of the tree root may be larger, equal to, or smaller than the tree root block, or may even be particularly larger, thereby allowing for filtering blocks that are larger than the tree root block, so that one filtering block can contain multiple tree root blocks, as shown, for example, in FIG. 11 (see description below).

[0074] According to one embodiment, the encoder 10 / decoder 20 is configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs), and to subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partitioning tree, e.g., the device partitions the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning, dividing the child blocks into child blocks of child blocks, e.g., until the child blocks meet a predetermined criterion). According to this embodiment, the decoder 20 is configured to split a block into child filtering blocks along the recursive tree division of one tree root block up to a maximum depth or a minimum block size if, in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block (e.g., referred to as a child filtering block resulting from the division of one of the tree root filtering blocks or from the division of its child filtering block, or a child filtering block resulting from any recursion of the recursive tree division) matches one of the tree root blocks.

[0075] For example, the decoder 20 can assume by default, or can derive from a signaling in the data stream 14, that the subdivision into filtering blocks is different from the subdivision into coded blocks. If the filtering blocks match the coded blocks, this information can be utilized by the decoder 20 by further subdividing the filtering blocks, e.g., without explicit signaling in the data stream 14. Thus, bitrate savings are achieved compared to explicit signaling of this division.

[0076] According to an alternative embodiment, the decoder 20 is configured to derive a syntax element from the data stream that indicates whether to split the blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of one tree root block into coded blocks. If the syntax element indicates that, in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is to be divided along the recursive tree division of the one tree root block into coded blocks, the decoder 20 can divide the block into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size in the recursive tree division of the tree root filtering block, and in the case of a block resulting from the recursive tree division of the tree root filtering block (e.g., a child filtering block resulting from the division of one of the tree root filtering blocks, or a child filtering block resulting from the division of its child filtering block, or a child filtering block resulting from any recursion of the recursive tree division), coincides with one or the tree root block. According to one embodiment, the encoder 10 encodes the syntax element into the data stream 14.

[0077] According to one embodiment, the decoder 20 is configured to further subdivide the maximum depth or minimum block size block based on the filtering information in a recursive tree splitting to obtain the filtering block (e.g., using recursive tree splitting, e.g., until further splitting results in a filtering block size smaller than a further minimum block size, which may be further indicated in the filtering information, for example) to obtain the filtering block.

[0078] According to one embodiment, the encoder 10 is configured to encode information into the data stream (e.g., into the filtering information) regarding the maximum depth in the recursive tree division to obtain the filtering blocks or the further subdivision of the blocks of the minimum block size.

[0079] According to an alternative embodiment, the encoder 10 / decoder 20 is configured to stop the recursive tree splitting of a block and use the block as one of the filtering blocks if, in the recursive tree splitting of the tree root filtering block, a block resulting from the recursive tree splitting of the tree root filtering block (e.g., referred to as a child filtering block resulting from the splitting of one of the tree root filtering blocks, or from the splitting of its child filtering block, or from any recursion of the recursive tree splitting) matches one or more coding blocks.

[0080] According to an alternative embodiment, the encoder 10 / decoder 20 is configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs), and to subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partitioning tree, e.g., the device partitions the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning, dividing the child blocks into child blocks of child blocks, e.g., until the child blocks meet a predetermined criterion). According to this embodiment, in the recursive tree division of the tree root filtering block, if a block resulting from the recursive tree division of the tree root filtering block (e.g., referred to as a child filtering block resulting from the division of one of the tree root filtering blocks, or resulting from the division of its child filtering block, or resulting from any recursion of the recursive tree division) matches one of the tree root blocks, the decoder 20 divides the block into filtering blocks in accordance with the subdivision of the picture into coding blocks, so that each filtering block in the block corresponds to a coding block.

[0081] Thus, this embodiment allows flexible subdivision of filtering blocks larger than the tree root block into filtering blocks independent of coding blocks, but subdivision into coding blocks may be used if the filtering block is selected to be equal to or smaller than the tree root block. In this way, the relatively high signaling overhead for signaling high-granularity subdivision can be avoided for filtering blocks while still providing the possibility of subdivision into high-granularity filtering blocks. In particular, this embodiment utilizes the idea that cases in which small-sized coding blocks are beneficial may overlap to some extent with cases in which small-sized filtering blocks are beneficial.

[0082] According to one embodiment, the encoder 10 is configured to comply with the constraint (e.g., based on a bitstream constraint associated with the current operation of the device or signaled in the data stream to be complied with) that the height of the filtering block is less than or equal to the height of the tree root block when deriving the filtering block.

[0083] According to one embodiment, the decoder 20 is configured to derive from the data stream a syntax element (e.g., in the SPS of the PPS, e.g., from the syntax structure defined below) that indicates that the height of the filtering block is less than or equal to the height of the tree root block (e.g., based on bitstream constraints associated with the current operation of the device or signaled in the data stream to be followed).

[0084] For example, the decoder 20 may perform filtering block subdivision without filtering information from the data stream, down to subdivision into blocks having a height equal to or less than the tree root block.

[0085] According to one embodiment, the encoder 10 comprises: one tree root block contains an integer number of filtering blocks; one filtering block contains an integer number of tree root blocks; is satisfied (eg, in the division of the tree root filtering block).

[0086] According to one embodiment, the encoder 10 performs the following for every picture in the sequence: one tree root block contains an integer number of filtering blocks; one filtering block contains an integer number of tree root blocks; is configured to encode into the data stream a notification indicating that one or both of the conditions have been met.

[0087] According to one embodiment, the decoder 20 determines whether the data stream includes, for all pictures of the sequence: one tree root block contains an integer number of filtering blocks; one filtering block contains an integer number of tree root blocks; (e.g., to allow the device to process multiple CTUs or multiple FPUs in parallel).

[0088] According to one embodiment, the decoder 20 is configured to derive from the data stream a syntax structure including a notification indicating whether the subdivision 17 of the picture into filtering blocks corresponds to a subdivision of the picture into tree root blocks, the syntax structure being: all pictures of a sequence of pictures (for example, whose syntax structure is a Sequence Parameter Set, SPS), and one or more pictures of a sequence of pictures (for example, a syntax structure of a Picture Parameter Set, PPS, or a Picture Header, or an Adaptation Parameter Set, APS), - all subsequent pictures in the sequence of pictures, and - relating to (e.g., valid for) one (e.g., exactly one) slice of the slices into which the picture is partitioned.

[0089] According to one embodiment, the encoder 10 is configured to encode syntax structures into descriptive data of a data stream that precedes or is interleaved with payload packets that carry pictures.

[0090] According to one embodiment, the decoder 20 is configured to derive the syntax structure from descriptive data of the data stream that precedes or is interleaved with payload packets carrying pictures (e.g., having samples of the pictures encoded therein).

[0091] According to one embodiment, if the syntax structure indicates that the subdivision of the picture into filtering blocks does not correspond to the subdivision of the picture into tree root blocks, the syntax structure further includes an indication of the maximum size of the filtering block and, optionally, an indication of the minimum size of the filtering block, for example as in the embodiment of Table 1 below.

[0092] According to one embodiment, the filtering information comprises an indication of a maximum size of a filtering block and, optionally, an indication of a minimum size of a filtering block.

[0093] According to one embodiment, the encoder 10 / decoder 20 is configured to derive the filtering blocks using recursive tree partitioning by dividing a block of a picture (e.g., a coded block, or a block resulting from a recursion of a recursive tree partitioning to obtain a coded block, or one of the tree-root filtering blocks from which the picture is subdivided to obtain a filtering block) into child filtering blocks, each of which is further divided into child filtering blocks of the child filtering block after the recursive tree partitioning to divide the child filtering block into child filtering blocks of the child filtering block until the child filtering block satisfies a predetermined criterion. The filtered blocks are then input into a subsequent recursion (e.g., until the data stream indicates to stop the recursive splitting, or until a minimum size for the filtered block is reached or exceeded, or in case of further splitting is exceeded; for example, the device splits the block until its child blocks have a size less than or equal to the maximum size, and for each block having a size less than or equal to the maximum size, checks whether splitting the block would result in a size less than the minimum size, and if so, stops the recursive splitting; otherwise, checks whether there is a notification in the data stream indicating whether to split the block or not, and decides whether to split the block or not depending on the notification). For example, in the case of an encoder, the predetermined criterion may be a rate-distortion optimization criterion.

[0094] According to an alternative embodiment, the decoder 20 is configured to derive filtering blocks by subdividing the picture into tree root filtering blocks of maximum size (e.g., rectangular or secondary blocks, e.g., equal size except for blocks at the right or bottom boundary of the picture), and to subdivide the tree root filtering blocks (e.g., each of the tree root filtering blocks) by performing recursive tree splitting. The decoder 20 can perform the recursive tree splitting by deriving a notification (e.g., a syntax element, e.g., a two-state flag from the data stream) indicating whether the tree root filtering block should be split. If the tree root filtering block should be split, the decoder 20 can split the tree root filtering block into child filtering blocks, each of which is input to a subsequent recursion of the recursive tree splitting (if the tree root filtering block is not split, the recursive tree splitting stops).

[0095] According to one embodiment, the encoder 10 is configured to encode a syntax element into the data stream that indicates whether to split blocks resulting from the recursive tree division of the tree root filtering block that coincide with one of the tree root blocks along the recursive tree division of the tree root filtering block into coded blocks of the one tree root block.

[0096] According to one embodiment, the decoder 20 is configured to split a block into child filtering blocks along the recursive tree division of one tree root block up to a maximum depth or a minimum block size if, in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block (e.g., referred to as a child filtering block resulting from the division of one of the tree root filtering blocks or from the division of its child filtering block, or a child filtering block resulting from any recursion of the recursive tree division) coincides with one or more tree root blocks.

[0097] According to an alternative embodiment, the decoder 20 is configured to derive a syntax element from the data stream that indicates whether to split the blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of one tree root block into coded blocks. If the syntax element indicates that, in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is to be divided along the recursive tree division of the one tree root block into coded blocks, the decoder 20 can, in the recursive tree division of the tree root filtering block, divide the block into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size, and in the case of a block resulting from the recursive tree division of the tree root filtering block (e.g., a child filtering block resulting from the division of one of the tree root filtering blocks, or a child filtering block resulting from the division of its child filtering block, or a child filtering block resulting from any recursion of the recursive tree division), coincides with one or the tree root block. According to one embodiment, the encoder 10 derives the syntax element based, for example, on a rate-distortion criterion, and, for example, encodes the syntax element into a data stream.

[0098] According to one embodiment, the encoder 10 / decoder 20 is configured to further subdivide the block of maximum depth or minimum block size based on the filtering information in a recursive tree splitting to obtain the filtering block (e.g., using recursive tree splitting, e.g., until further splitting results in a filtering block size smaller than a further minimum block size, which may be further indicated in the filtering information, for example).

[0099] According to one embodiment, the decoder 20 is configured to derive a syntax element from the data stream that indicates whether to split blocks resulting from the recursive tree division of the tree root filtering block that coincide with one of the tree root blocks along the recursive tree division of the tree root filtering block into coding blocks of one tree root block. If the syntax element indicates that a block resulting from the recursive tree division of the tree root filtering block is to be divided along the recursive tree division of one tree root block into coding blocks, the decoder 20 divides the block into filtering blocks in accordance with the subdivision of the picture into coding blocks, such that each filtering block in the block corresponds to a coding block in the recursive tree division of the tree root filtering block, and in the case of a block resulting from the recursive tree division of the tree root filtering block (e.g., a child filtering block resulting from the division of one of the tree root filtering blocks, or a child filtering block resulting from the division of its child filtering block, or a child filtering block resulting from any recursion of the recursive tree division) is coincident with one or the tree root block. According to one embodiment, the encoder 10 derives the syntax element based, for example, on a rate-distortion criterion, and encodes the syntax element into a data stream, for example.

[0100] According to one embodiment, if the syntax structure indicates that the subdivision of the picture into filtering blocks does not correspond to the subdivision of the picture into tree root blocks, the syntax structure further indicates (e.g., includes a syntax element indicating) whether the size of the filtering blocks is equal for all of the filtering blocks, and if the size of the filtering blocks is equal for all of the filtering blocks, indicates a notification of the size of the filtering blocks, e.g., as in the embodiment of Table 2 below. See sps_adaptive_fpu_flag.

[0101] According to one embodiment, the encoder 10 is configured to encode in the syntax structure, if the subdivision of the picture into filtering blocks does not correspond to the subdivision of the picture into tree root blocks, a notification indicating whether the size of the filtering blocks is equal for all of the filtering blocks and, if the size of the filtering blocks is equal for all of the filtering blocks, a notification of the size of the filtering blocks.

[0102] According to one embodiment, if the syntax structure indicates that the size of the filtering blocks is not equal for all of the filtering blocks, the syntax structure includes an indication of the maximum size of the filtering blocks and the minimum size of the filtering blocks.

[0103] According to one embodiment, a syntax structure (e.g., as in the embodiment of Table 3) indicates which options of a set of options apply, the set of options being: a subdivision of the picture into filtering blocks corresponding to a subdivision of the picture into tree root blocks; - the size of the filtering blocks is equal for all of the filtering blocks; a data stream (e.g. syntax structure) including signaling of the size of the filtering blocks, the signaling being specific to a picture or a part of a picture; a subdivision of the picture into filtering blocks that corresponds to the subdivision of the picture into coding blocks.

[0104] According to one embodiment, the syntax structure indicates whether the data stream includes signaling of the size of the filtering blocks, and if the syntax structure indicates that the data stream includes signaling of the size of the filtering blocks, the decoder 20 extracts from the data stream (e.g., the syntax structure or a further syntax structure, e.g., a syntax structure relating to a sequence of pictures, a further syntax structure that is specific to a picture or a part of a picture) the signaling of the size of the filtering blocks. - Notification of the relative size of the filtering block to the size of the tree root block; - notification of the relative size of the filtering block to the maximum size of the tree root block; - notification of the relative size of the filtering block with respect to the maximum size of the filtering block; - configured to derive the size and / or position of the filtering block by deriving an indication of whether the size of the filtering block is smaller, larger or equal to the size of the tree root block, and if the filtering block is larger than the tree root block, an indication of the number of tree root blocks contained in the filtering block, and if the filtering block is smaller than the tree root block, an indication of the size of the filtering block (e.g., indicated in the number of luma samples).

[0105] According to one embodiment, the encoder 10 is configured to encode into the syntax structure a notification indicating whether the data stream includes signaling of the size of the filtering blocks, and the device, if the syntax structure indicates that the data stream includes signaling of the size of the filtering blocks, encodes a notification of the size and / or position of the filtering blocks (e.g. a syntax structure or a further syntax structure, e.g. a syntax structure relating to a sequence of pictures, a further syntax structure that is specific to a picture or a part of a picture), and - Notification of the relative size of the filtering block to the size of the tree root block; - notification of the relative size of the filtering block to the maximum size of the tree root block; - notification of the relative size of the filtering block with respect to the maximum size of the filtering block; - configured to encode into the data stream an indication of whether the size of the filtering block is smaller, larger, or equal to the size of the tree root block, and if the filtering block is larger than the tree root block, an indication of the number of tree root blocks contained in the filtering block, and if the filtering block is smaller than the tree root block, an indication of the size of the filtering block (e.g., indicated in the number of luma samples).

[0106] According to one embodiment, the decoder 20 is configured to derive from the data stream syntax structures associated with one or more or all pictures of a sequence and indicating multiple filtering block size indications. According to this embodiment, the decoder 20 is configured to select one of the filtering block size indications for a picture or part of a picture by deriving from the data stream an indication associating the filtering block with one of the filtering block size indications. For example, the embodiment can be implemented as described with respect to Table 14 and Table 15.

[0107] According to one embodiment, the encoder 10 is configured to encode into the data stream syntax structures associated with one or more or all pictures of a sequence and indicating a plurality of filtering block size notifications, and is also configured to encode into the data stream notifications for pictures or parts of pictures, the notifications associating filtering blocks with one of the filtering block size notifications.

[0108] According to one embodiment, the notification associating the filtering block with one of the filtering block size notifications is: - a syntax structure indicating the Z of a filtering block size notification; - a syntax structure (e.g., SPS or PPS) associated with one or more or all pictures of the sequence, or -contained in syntax structures that specifically relate to a picture (e.g., a picture header) or part of a picture (e.g., a slice header).

[0109] According to one embodiment, the encoder 10 generates a signal associating a filtering block with a filtering block size signal as follows: - a syntax structure indicating the Z of a filtering block size notification; - a syntax structure (e.g., SPS or PPS) associated with one or more or all pictures of the sequence, or - configured to encode syntax structures that specifically relate to a picture (e.g., a picture header) or a part of a picture (e.g., a slice header).

[0110] According to one embodiment, each of the filtering block size notifications includes an indication of a maximum size of the filtering block and, optionally, an indication of a minimum size of the filtering block. According to an alternative embodiment, each of the filtering block size notifications includes an indication of a size of the filtering block (e.g., a uniform size for all filtering blocks within the range of the filtering size block notification).

[0111] According to one embodiment, the decoder 20 is configured to filter the picture using the filters by using, for each of the filtering blocks, a respective parameterization of the filter. According to this embodiment, the decoder 20 is configured to filter the picture using further filters and to derive from the data stream an indication of whether further filtering blocks of the further filters match filtering blocks of the filter (and e.g., using, for each of the further filtering blocks for the further filters, a respective parameterization of the further filters).

[0112] For example, the filtering and further filtering may be performed by filtering block 62. For example, the further filtering may be performed after the filtering, for example on the output of the filtering.

[0113] Similarly, on the encoder side, the encoder 10 is configured, according to one embodiment, to filter the reconstructed picture 46 by filtering the reconstructed picture with the filters by using, for each of the filtering blocks, the respective parameterization of the filters, and to filter the reconstructed picture with further filters and encode into the data stream a notification indicating whether the further filtering blocks of the further filters match the filtering blocks of the filters (and, for example, for each of the further filtering blocks for the further filters, using the respective parameterization of the further filters). For example, the filtering and further filtering may be performed by block 61. For example, the further filtering may be performed after the filtering, e.g., on the output of the filtering.

[0114] According to one embodiment, the encoder 10 / decoder 20 is configured to derive filtering blocks using recursive tree partitioning, and if the further filtering blocks of the further filters do not match the filtering blocks of the filters, to derive from the data stream a notification indicating whether the further filtering blocks match the filtering blocks up to a certain depth of the recursive tree partitioning (and, if there is a match, to derive the further filtering blocks by recursively subdividing the blocks at a certain depth of the recursive tree partitioning based on the filtering information to obtain the further filtering blocks).

[0115] According to one embodiment, the decoder 20 is configured to derive the filtering blocks using recursive tree partitioning and, if the further filtering blocks of the further filter do not match the filtering blocks of the filter, to derive information about the size of the further filtering blocks from the data stream (e.g., the size of the further filtering blocks for performing the recursive tree partitioning, or the maximum size (and optionally minimum size); e.g., information about the size of the further filtering blocks may be signaled equally as specified for the filtering blocks).

[0116] According to one embodiment, decoder 20 is configured to filter the picture using filters by using, for each of the filtering blocks, a respective parameterization of the filter. Encoder 10 may filter reconstructed picture 46 by filtering the reconstructed picture using filters by using, for each of the filtering blocks, a respective parameterization of the filter. Each parameterization may be a filter template (e.g., determining sample positions relative to the scan positions of the filtering block, and based on the sample positions, determining filtered values ​​for the scan positions; e.g., filtering is performed by determining filtered values ​​for each sample position of the picture according to the scan order); one or more sets of filter coefficients (e.g. filter coefficients of a filter template, e.g. filter coefficients at positions of the filter template); - activating or deactivating a filter.

[0117] According to one embodiment, the decoder 20 is configured to filter the picture by using one of an adaptive loop filter (ALF), a deblocking filter (DBF), a luma mapping chroma sampling (LMCS) filter, a sample adaptive offset (SAO) filter, and a neural network (e.g., to filter the picture in units of filtering blocks by applying a filter, which is one of the aforementioned filters, to each of the filtering blocks).

[0118] Similarly, for each of the filtering blocks, the encoder 10 can filter the reconstructed picture by filtering the reconstructed picture using a filter by using a respective parameterization of the filter, where the filter is one of an adaptive loop filter (ALF), a deblocking filter (DBF), a luma mapping chroma sampling (LMCS) filter, a sample adaptive offset (SAO) filter, and a neural network.

[0119] According to one embodiment, the filter is an adaptive loop filter (ALF), and each parameterization comprises a set of filter coefficients for a filter template.

[0120] 7 shows an example of a picture subdivision into tree root blocks, filtering blocks, and slices. In FIG. 7, the tree root blocks are shown with solid lines, i.e., in the example of FIG. 7, the picture is subdivided into four rows and six columns of tree root blocks, and the filtering blocks are shown with dashed lines, i.e., in the example of FIG. 7, each filtering block includes four tree root blocks. In the example of FIG. 7, the picture is subdivided into two slices 71a and 71b, where slice 71a covers the tree root blocks of the upper three rows and slice 71b covers the tree root blocks of the lower row. In the scenario of FIG. 7, the filtering blocks of filtering block row 73 cross the boundary between two slices.

[0121] According to embodiments described below, the decoder 20 may be sensitive to whether the filtering block crosses a slice boundary, or the decoder 20 may utilize information indicating the relationship between slice boundaries and the filtering block, for example in subdivision of the filtering block or for independent decoding of slices.

[0122] According to the embodiments described below, the encoder 10 and / or decoder 20 are configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and the decoder 20 is further configured to decode the picture in slices, in which the picture is subdivided in such a way that each slice contains one or more of the tree root blocks.

[0123] According to one embodiment, the encoder 10 / decoder 20 is configured to decode pictures in slices, where the picture is subdivided in such a way that each slice contains one or more (e.g., entire) rows of tree root blocks, as shown, for example, in Fig. 7. According to this embodiment, the decoder 20 is configured to check, for all pictures of the sequence, whether the data stream indicates (e.g., includes a syntax element, e.g., a binary syntax element, one possible state / value of which indicates) that the height of all slices, or the height of all slices except the last slice of each of the pictures, is an integer multiple of the height of a filtering block (e.g., the maximum height of a filtering block). (If the check reveals that the height of a slice is an integer multiple of the height of a filtering block, the device can take advantage of the fact that slices (or tiles or sub-pictures as claimed below) can be decoded independently of each other. For example, the device can decode multiple slices in parallel, or, for example, extract a portion of the data stream signaling a portion of a picture without having to collect information about filtering from another slice.) The encoder 10 may be configured to indicate in the data stream, for all pictures of the sequence, whether the height of all slices, or the height of all slices except the last slice of each of the pictures, is an integer multiple of the height of the filtering block (e.g., the maximum height of the filtering block).

[0124] According to an alternative embodiment, the decoder 20 is configured to check whether the data stream indicates (e.g., includes a syntax element, e.g., a binary syntax element, one possible state / value of which indicates) that, for all pictures of the sequence, all of the boundaries of each of the filtering blocks coincide with one or more slice boundaries. The encoder 10 may be configured to indicate in the data stream that, for all pictures of the sequence, all of the boundaries of each of the filtering blocks coincide with one or more slice boundaries.

[0125] In other words, the data stream 14 may indicate that each filtering block includes one or more entire slices.

[0126] According to an alternative embodiment, the decoder 20 is configured to check whether the data stream indicates, for all pictures of the sequence, that each of the slices contains one or more filtering blocks, and that each filtering block is located in one of the slices (e.g., includes a syntax element, e.g., a binary syntax element, one of whose possible states / values ​​indicates). The encoder 10 may be configured to indicate in the data stream, for all pictures of the sequence, that each of the slices contains one or more filtering blocks, and that each filtering block is located in one of the slices.

[0127] According to an alternative embodiment (optionally, each slice includes one or more (whole) rows of the tree root block), the decoder 20 is configured to check whether the data stream includes a notification indicating whether the filtering block is restricted to be located within one slice (e.g., including a syntax element, e.g., a binary syntax element, one possible state / value of which indicates). The encoder 10 may be configured to indicate in the data stream that the filtering block is restricted to be located within one slice. If the filtering block is indicated as being restricted to be located within one slice, the decoder 20 and / or the encoder 10 derive the filtering block by splitting the filtering block at a slice boundary (and if the filtering block is not indicated as being restricted to be located within one slice, the decoder 20 and / or the encoder 10 derive the filtering block by not splitting the filtering block at a slice boundary until a condition for splitting the filtering block at a slice boundary is met, e.g., according to a general rule for deriving filtering blocks).

[0128] According to an alternative embodiment (optionally, each slice includes one or more (whole) rows of tree root blocks), the encoder 10 and / or decoder 20 are configured to derive the filtering blocks by splitting the filtering blocks at slice boundaries.

[0129] 8 shows an example of a subdivision of a picture into tree root blocks, filtering blocks, and portions, such as tiles or subpictures. In FIG. 8, the tree root blocks are shown with solid lines, i.e., in the example of FIG. 8, the picture is subdivided into four rows and six columns of tree root blocks, and the filtering blocks are shown with dashed lines, i.e., in the example of FIG. 8, each filtering block includes four tree root blocks. In the example of FIG. 8, the picture is subdivided into two portions 81a and 81b, where portion 81a covers the tree root blocks of the three columns on the left, and portion 81b covers the tree root blocks of the column on the right. In the scenario of FIG. 8, the filtering blocks of filtering block column 88 cross the boundary between two slices.

[0130] According to the embodiments described below, the encoder 10 and / or decoder 20 are configured to subdivide a picture into coding blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and are further configured to decode the picture in parts (e.g., tiles or sub-pictures) into which the picture is subdivided in such a way that each part contains one or more of the tree root blocks.

[0131] According to one embodiment, the portions are rectangular and the decoder 20 determines that the data stream includes, for all pictures of the sequence: -All parts or -All parts of the picture except for the part located on one of the lower borders is an integer multiple of the height of the filtering block (e.g., the maximum height of the filtering block); -All parts or - All parts of the picture except for the part located on one of the right borders is an integer multiple of the width of the filtering block (e.g., the maximum height of the filtering block), and indicates (e.g., includes a syntax element, e.g., a binary syntax element, one possible state / value of which indicates) (e.g., any combination of the OR option).

[0132] According to one embodiment, the encoder 10 determines whether the data stream includes, for all pictures of the sequence: -All parts or -All parts of the picture except for the part located on one of the lower borders is an integer multiple of the height of the filtering block (e.g., the maximum height of the filtering block); -All parts or - All parts of the picture except for the part located on one of the right borders is an integer multiple of the width of the filtering block (e.g., the maximum height of the filtering block).

[0133] According to one embodiment, the decoder 20 is configured to check whether the data stream indicates (e.g., includes a syntax element, e.g., a binary syntax element, one of whose possible states / values ​​indicates) that, for all pictures of the sequence, each of the portions includes one or more filtering blocks, and that each filtering block is located in one of the portions. The encoder 10 may be configured to indicate in the data stream, for all pictures of the sequence, that each of the portions includes one or more filtering blocks, and that each filtering block is located in one of the portions.

[0134] According to one embodiment, the decoder 20 is configured to check whether the data stream includes a notification (e.g., including a syntax element, e.g., a binary syntax element, indicating one possible state / value) indicating whether the filtering block is restricted to be located within one portion. The encoder 10 may be configured to indicate in the data stream that the filtering block is restricted to be located within one portion. If the filtering block is indicated as being restricted to be located within one portion, the encoder 10 / decoder 20 derives the filtering block by splitting the filtering block at the portion boundaries (if the filtering block is not indicated as being restricted to be located within one portion, the encoder 10 / decoder 20 derives the filtering block by not splitting the filtering block at the portion boundaries until the conditions for splitting the filtering block at the portion boundaries are met, e.g., until the data stream includes a notification in the respective portion to split or not split the filtering block).

[0135] Continuing with the description of FIG. 5, the following embodiments can be combined with any of the previous embodiments described with respect to FIGS.

[0136] According to one embodiment, decoder 20 is configured to filter the picture using the filters by using, for each of the filtering blocks, the respective parameterization of the filter (and encoder 10 is configured to filter reconstructed picture 46). According to this embodiment, decoder 20 is further configured to subdivide the picture into coded blocks by partitioning the picture into tree-root blocks and subdividing the tree-root blocks using recursive tree partitioning. If a filtering block of the filtering blocks includes one or more of the tree-root blocks, decoder 20 may extract from data stream 14 (which encoder 10 encodes into the data stream): derive a signaling of a filter parameterization signaled for a first tree root block of one or more tree root blocks according to a coding order of the one or more tree root blocks (e.g., signaled in a syntax structure for which sample values ​​of the tree root block are coded; e.g., device 20 derives the parameterization from this syntax structure), and use the signaled parameterization for the first tree root block for filtering of one or more (e.g., all) tree root blocks; or derive a signaling of a filter parameterization signaled for a second tree root block of one or more tree root blocks according to a coding order of the one or more tree root blocks (e.g., signaled in a syntax structure for which sample values ​​of the tree root block are coded; e.g., device 20 derives the parameterization from this syntax structure), and use the signaled parameterization for the second tree root block for filtering of one or more (e.g., all) tree root blocks; or derive (e.g., signaled in a syntax structure for which sample values ​​of the tree root block are coded; e.g., the device derives the parameterization from this syntax structure) notification of a filter parameterization signaled for a first tree root block of one or more tree root blocks in coding order that satisfy a predetermined condition (e.g., the predetermined condition is one or a combination of the tree root block being coded in inter mode or intra mode, not in skip mode, having at least a predetermined number of CUs, and having more than a predetermined number of non-zero coefficients), and use the signaled parameterization for the first tree root block that satisfies the predetermined condition for filtering of one or more (all) tree root blocks; or -Derive a syntax structure (e.g., a syntax structure sandwiched between syntax structures for which a tree root block is coded, i.e., for which sample values ​​of the tree root block are coded; e.g., a syntax structure on the syntactic level of the tree root block; e.g., a syntax structure that is valid for or associated with multiple tree root blocks; e.g., a syntax structure signaled before the first tree root block or after the last tree root block of the filtering block) that includes notification of the parameterization of the filter and uses the parameterization for filtering of the tree root block of the filtering block (e.g., the syntax structure further includes filtering information or part thereof).

[0137] According to one embodiment, decoder 20 is configured to filter the picture using the filters (and encoder 10 is configured to filter reconstructed picture 46) by using, for each of the filtering blocks, a respective parameterization of the filter. According to this embodiment, encoder 10 and / or decoder 20 are configured to subdivide the picture into coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and are further configured to decode the picture in portions (e.g., slices (e.g., covering one or more entire rows of the tree root blocks), tiles, or subpictures) in which the picture is subdivided in such a manner that each portion includes one or more of the tree root blocks, and the portions are rectangular. If a filtering block of a filtering block is distributed across multiple portions, the decoder 20 derives from the data stream (and the encoder 10 encodes into the data stream, for each portion that includes one of the tree root blocks of the filtering block) a filter parameterization notification signaled for the first or last tree root block among the filtering block and tree root blocks belonging to the portion in the coding order (e.g., signaled in a syntax structure for which the sample values ​​of the tree root block are coded; for example, the decoder 20 derives the parameterization from this syntax structure) for each portion that includes one of the tree root blocks of the filtering block, and uses the parameterization signaled for the first or last tree root block for filtering the filtering block and tree root blocks belonging to the portion (e.g., all of them).

[0138] According to one embodiment, the decoder 20 is configured to filter the picture using the filters by using, for each of the filtering blocks, a respective parameterization of the filter. According to this embodiment, the decoder 20 is configured to subdivide the picture into coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and decodes the picture in portions (e.g., slices (e.g., covering one or more entire rows of the tree root blocks), tiles, or subpictures) in which the picture is subdivided in such a manner that each portion contains one or more of the tree root blocks, and the portions are rectangular. If a filtering block of the filtering block contains one or more of the tree root blocks, the decoder 20 checks, for one (or each) of the tree root blocks of the filtering block that belongs to one of the portions, whether the tree root block satisfies a predetermined criterion (e.g., the predetermined condition is one or a combination of the tree root block being coded in inter mode or intra mode, not in skip mode, having at least a predetermined number of CUs, and having more than a predetermined number of non-zero coefficients). If the tree root block satisfies the predetermined criterion, the decoder 20 derives from the data stream the indication of the filter parameterization signaled for the tree root block (e.g., signaled in a syntax structure for which the sample values ​​of the tree root block are coded; e.g., the device derives the parameterization from this syntax structure) and uses the parameterization of the filtering block and the tree root blocks belonging to one part (e.g., each or all of the tree root blocks). If the tree root block does not satisfy the predetermined criterion, the decoder 20 uses the filter parameterization signaled for the filtering block and further tree root blocks belonging to one part (e.g., the previous tree root block or a subsequent filtering block in the coding order that satisfies the criterion) for filtering the tree root block.If none of the tree root blocks of the filtering block that belong to one part meets the predetermined criteria, the decoder 20 uses a predetermined parameterization of the filter (e.g., a parameterization from another part) for filtering the tree root block.

[0139] Similarly, according to one embodiment, encoder 10 is configured to filter a picture, e.g., reconstructed picture 46, using the filters by using, for each of the filtering blocks, a respective parameterization of the filter. Encoder 10 is configured to subdivide the picture into coding blocks by partitioning the picture into tree-root blocks and subdividing the tree-root blocks using recursive tree partitioning, and is further configured to encode the picture in portions (e.g., slices (e.g., covering one or more entire rows of the tree-root blocks), tiles, or sub-pictures) in which the picture is subdivided in a manner such that each portion includes one or more of the tree-root blocks, and the portions are rectangular. If a filtering block of the filtering block includes one or more tree root blocks, the encoder 10 may check, for one (or each) of the tree root blocks of the filtering block that belongs to one of the portions, whether the tree root block satisfies a predetermined criterion (e.g., the predetermined conditions are one or a combination of the tree root block being coded in inter mode or intra mode, not in skip mode, having at least a predetermined number of CUs, and having more than a predetermined number of non-zero coefficients). If the tree root block satisfies the predetermined criterion, the encoder 10 may encode into the data stream an indication of the parameterization of the filter of the tree root block (e.g., in a syntax structure for which the sample values ​​of the tree root block are coded; e.g., the device derives the parameterization from this syntax structure), (e.g., using the parameterization of the filtering block and the tree root blocks (e.g., each or all of the tree root blocks) that belong to one portion). If a tree root block does not meet a predetermined criterion, the encoder 10 may suppress encoding of notification of the parameterization of the filter of the tree root block into the data stream (e.g., using the parameterization of the filtering block and the tree root blocks belonging to one part (e.g., each or all of the tree root blocks)).

[0140] According to one embodiment, the decoder 20 is configured to derive, for each filtering block, a respective parameterization for filtering of the filtering block from the data stream (e.g., the parameterization is signaled with respect to the first coding block or the tree root block, starting from the filtering block).

[0141] Figure 9 shows an apparatus 20 for decoding or reconstructing a picture 12' from a data stream 14 according to a further embodiment. The decoder 20 of Figure 9 is configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs), subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partition tree, e.g., the apparatus divides the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning to divide the child blocks into child blocks of the child blocks, e.g., until the child blocks meet a predetermined criterion), and decode the picture in units of coded blocks. For example, the subdivision into tree root blocks and coded blocks can be performed as described above, e.g., as explained with respect to Figure 4. According to the embodiment of Figure 9, the device is configured to filter a picture using a filter by using, for each of the filtering blocks into which the picture is subdivided, a respective parameterization of the filter, wherein the subdivision of the picture into filtering blocks is different from the subdivision of the picture into tree root blocks.

[0142] FIG. 10 illustrates an apparatus 10 for encoding a picture 12 into a data stream 14 according to one embodiment. The apparatus 10 is also referred to as an encoder 10. The encoder 10 of FIG. 10 may be implemented as a counterpart of the decoder 20 of FIG. 9. The encoder 10 of FIG. 10 is configured to subdivide a picture into coded blocks by partitioning the picture into tree root blocks (e.g., secondary blocks, blocks of equal size, regularly in rows and columns, e.g., CTUs) and to subdivide the tree root blocks using recursive tree partitioning (e.g., each parent block forms the root of a partitioning tree; e.g., the apparatus partitions the tree root block into child blocks, each of which is input to a subsequent recursion of the recursive tree partitioning to partition the child blocks into child blocks of the child blocks, e.g., until the child blocks meet a predetermined criterion). The encoder 10 encodes the picture in coded block units. According to this embodiment, the encoder 10 is configured to obtain a residual signal 24 using a prediction signal 26 to predict the picture. The encoder 10 subjects the residual signal 24 to a spatial-spectral transformation 28 to obtain a transformed signal 24′. The encoder 10 further quantizes 32 the transformed signal 24′ to obtain a quantized signal 24″. The encoder 10 further encodes the quantized signal 24″ into a data stream 14 in a coding block 34, e.g., an entropy encoder. The encoder 10 derives a prediction signal 26 for predicting a subsequent picture in a sequence of pictures or a subsequently coded block of a current picture by reconstructing a picture (or a current block), e.g., block 41 in FIG. 10, based on the quantized signal 24″ to obtain a reconstructed picture 12′ (e.g., signal 46 in FIG. 2). The encoder 10 is configured to filter the reconstructed picture 12′ using a filter, e.g., in a filtering block 62, by using the respective parameterization of the filter for each of the filtering blocks into which the reconstructed picture is subdivided according to the subdivision of the picture into filtering blocks.

[0143] Blocks and signals having corresponding reference numerals in Figure 2 may optionally be implemented as or correspond to the respective signals described with respect to Figure 2. Block 41 in Figure 10 may optionally include blocks 38, 40, and 42 in Figure 2.

[0144] The embodiments of Figures 9 and 10 may optionally be implemented like the embodiments of Figures 5 and 6, respectively, but according to the embodiments of Figures 9 and 10, the transmission of classification information and / or filtering information is optional and may be omitted.

[0145] Further optional details of the decoder 20 of Figure 9 are described below. Equivalent features may optionally be implemented in the encoder 10 of Figure 10.

[0146] According to one embodiment, the subdivision of the picture into filtering blocks corresponds to the subdivision of the picture into coding blocks.

[0147] According to one embodiment, each of the filtering blocks includes an integer number of tree root blocks.

[0148] According to one embodiment, each tree root block includes an integer number of filtering blocks.

[0149] As mentioned above, in VVC, there is no concept of an FPU, but it can be interpreted as a fixed-size FPU that corresponds one-to-one with the existing CTU concept. In an embodiment of the present invention, the size of the FPU is proposed to be flexible and, for example, independent of the CTU size. This can be signaled in the bitstream, for example, by a high-level syntax. Depending on the picture content and / or user needs, such as target bitrate and hardware resources, different FPU block grids can be utilized for different pictures in a single bitstream. The idea is that, for example, for homogeneous content, a larger grid such as that shown in FIG. 11 is preferable, since the filter parameters are expected to be homogeneous as well. FIG. 11 shows an example of four CTUs (solid grid) within one FPU (dashed grid). For more structured content with abundant activity at high spatial frequencies, smaller FPU blocks (e.g., FIG. 12, which shows an example of four FPUs (dashed grid) within one CTU (solid grid)) can be beneficial by exploiting the diversity of different filters within the picture. As a result, such a flexible FPU concept reduces signaling overhead (first case) or increases coding gain by using finer adaptive granularity to enhance filtering (second case). However, the selection of an appropriate FPU size depends on the original image content and is typically performed on the encoder side. An optimized encoder analyzes the cost of a particular decision by utilizing rate-distortion theory. This involves trading off the amount of additional FPU-related signaling, e.g., per-FPU flags and filter parameters such as filter indices, against the distortion reduction achieved by applying these parameters in filtering picture samples.

[0150] According to an embodiment, the concept of flexible filter parameter application and signaling using the FPU, which enables content-dependent filter adaptation and optimization, is established as follows.

[0151] In one embodiment, we distinguish between a general description and a high-level concept of FPUs that includes supplemental information and FPU parameters associated with each single FPU.

[0152] According to a first aspect of the embodiment, the FPU general description includes a flag indicating adaptive derivation of the FPU size during the coding process. Furthermore, a maximum allowed FPU size (FpuSizeMax) is included, and if adaptive FPU size mode is used, a minimum allowed FPU size (FpuSizeMin) is also included in the bitstream or may be inferred to be equal to FpuSizeMax. FpuSizeMax and FpuSizeMin may be coded as absolute values, ratios, or differences relative to some existing previously coded syntax element, such as CTU size. The general description may be signaled using a high-level syntax structure, such as a parameter set or header, such as a picture or slice header.

[0153] An example is shown in Table 1 below using the syntax shown in SPS. [Table 1]

[0154] In this example, a flag (sps_fpu_equal_ctu) is included to indicate whether the FPU is equal to the CTU. If the exemplary flag is set to 1, the FPU grid matches the CTU grid and is not adaptive, so there is no flexible FPU size. Otherwise, a value indicating the FPU size is indicated in the bitstream. For example, if an adaptive flexible FPU size is used, two values ​​FpuSizeMax and FpuSizeMin are given by two exemplary syntax elements (sps_log2_max_fpu_size_minus3 and sps_log2_min_fpu_size_minus3), which in this case can have values ​​from 8 to 1024. Obviously, other values ​​can be chosen. If the FPU size is different from the CTU size but is not flexible (e.g., larger or smaller than the CTU size), a single syntax element can convey the respective size in the bitstream when the respective flag (sps_adaptive_fpu_flag) is set to 1, as in the following syntax example in Table 2:

[0155] [Table 2] Another option for instantiating the described embodiment is shown in the following example in Table 3 along with the Mode IDC syntax elements:

[0156] [Table 3]

[0157] In this case, three potential values ​​(sps_fpu_size_mode_idc) are added to the FPU mode. A value of 0 means that the FPU is equal to the CTU, i.e., there is no flexible FPU size that is always equal to the CTU. A value of 1 means that the FPU size is constant within the coded video sequence, but the size indicated in the SPS can differ from the CTU size (indicated by sps_log2_max_fpu_size_minus3 in this example). A value of 2 means that FpuSizeMax and FpuSizeMin are given by two exemplary syntax elements (sps_log2_max_fpu_size_minus3 and sps_log2_min_fpu_size_minus3), which in this case can have values ​​from 8 to 1024. Obviously, other values ​​can also be chosen. It indicates that the FPU size is an adaptive size indicated in the slice payload; i.e., maximum and minimum values ​​are given, but the current FPU size must be determined during the decoding of the payload data of each slice.

[0158] Although not shown in the above example, a further mode can be envisaged in which the FPU size is equal to the coding unit (CU) which is essentially equal to the partition performed by the division within each CTU.

[0159] Note that the above signaling covers multiple cases where the FPU is larger than, equal to, or smaller than the CTU size.

[0160] Also note that the signaling example above shows absolute sizes on a logarithmic scale, but other options are possible as listed below: Furthermore, note that the described modes can be replaced by some flags, for example case 4 below.

[0161] Also, note that high-level signaling can be designed to carry initial parameters (sps_fpu_equal_ctu, sps_adaptive_fpu_flag, sps_fpu_size_mode_idc, sps_log2_min_fpu_size_minus3, sps_log2_max_fpu_size_minus3) in syntax structures with a larger scope, e.g., VPS or SPS, and to carry additional or more refined parameters in syntax structures with a smaller scope, e.g., PPS, picture, or slice header. The additional or refined parameters can be coded as deltas relative to the initial parameters.

[0162] FPU size signaling possibilities: 1. Compared to the CTU size. For example, diff_log2_fpu_ctu_size_plus3 (plus3 can be plus4, plus2, etc.): For example, CTU size 128, log2 CTUSize=7 diff_log2_fpu_ctu_size_plus3=0, diff_log2_fpu_ctu_size=-3, FPUSizeLog2=10, FPUSize = 1024 diff_log2_fpu_ctu_size_plus3=2, diff_log2_fpu_ctu_size=-1, FPUSizeLog2=8, FPUSize = 256 diff_log2_fpu_ctu_size_plus3=3, diff_log2_fpu_ctu_size=0, FPUSizeLog2=7, FPUSize = 128 diff_log2_fpu_ctu_size_plus3=4, diff_log2_fpu_ctu_size=1, FPUSizeLog2=6, FPUSize = 64 eg CTU size 64, log2 CTUSize = 6 diff_log2_fpu_ctu_size_plus3=0, diff_log2_fpu_ctu_size=-3, FPUSizeLog2=9, FPUSize = 512 diff_log2_fpu_ctu_size_plus3=2, diff_log2_fpu_ctu_size=-1, FPUSizeLog2=7, FPUSize = 128 diff_log2_fpu_ctu_size_plus3=3, diff_log2_fpu_ctu_size=0, FPUSizeLog2=6, FPUSize = 64 diff_log2_fpu_ctu_size_plus3=4, diff_log2_fpu_ctu_size=1, FPUSizeLog2=5, FPUSize = 32 2. For the maximum CTU size, the CTU size is constant, e.g., diff_log2_fpu_max_ctu_size_plus3 Similar to 1, but compared to the maximum CTU size (which is always constant).

[0163] 3. Define a maximum FPU size, e.g. 1024, and signal only the logarithmic difference (e.g. diff_fpu_max_fpu_size). So diff_fpu_max_fpu_size=0, FPUSize=1024; diff_fpu_max_fpu_size=2, FPUSize=256; diff_fpu_max_fpu_size=4, FPUSize=64... etc.

[0164] 4. Signals using four flags: fpu_size_equal_ctu_size. Else, fpu_size_smaller_ctu_size. Else, signal diff_log2_fpu_ctu_size_minus1 (behaves like 1). If fpu_size_smaller_ctu_size==0, signal num_ctus_in_fpu_width_minus2 (so, for example, if signaled as 0, the FPU contains 2x2 CTUs, if signaled as 1, the FPU contains 3x3 CTUs, etc.).

[0165] Also, note that the given example corresponds to indicating such sizes in an SPS, which means that the FPU size or its maximum and minimum values ​​are constant for the entire coded video sequence. However, it may be beneficial to allow the values ​​to vary per picture or per slice / tile / region, and therefore could also be signaled in the PPS, APS, or picture or slice header.

[0166] In the next aspect of the embodiment, the maximum FPU size is less than or equal to the CTU size. Depending on the variants considered in this case (see bullet points below), the FPU parameters (e.g., the filter selected for the FPU or FPU partition if adaptive FPU size is considered) may be embedded before the CTU data after the slice or picture header information, in the header, or within the CTU data. Here, the filter parameters are signaled and present in the bitstream according to a specific FPU scan order. This can be a raster scan within the CTU, or in the case of a layer-based approach, for example, following a z-scan when using a quad-tree for the FPU. For example, if a partitioning mechanism such as quad-tree partitioning is used to indicate the structure of the FPU, the signaling in the bitstream indicates one or more of the following options:

[0167] -The partitioning of FPUs is consistent with the partitioning of CTUs at all partitioning levels, e.g., each CU is an FPU.

[0168] -The FPU partitioning matches the CTU partitioning up to the notified level, for example (up to the first level partitioning only), from there, separate partitioning information can be given to the FPUs regardless of the CTU partitioning information, i.e., the FPU partitioning is fixed at the notified CTU partitioning level.

[0169] -The FPU division is fixed to a rectangular grid that is smaller than the CTU grid and different from the one defined by the CTU size.

[0170] As explained, when the FPU size is smaller than the CTU, one option is that the allocation of the FPU can be guided by the CTU partitioning process. That is, if the CTU is not partitioned, an FPU of the CTU size is allocated. Otherwise, the FPU is allocated at the minimum partitioning level, which, when signaled, is still greater than or equal to the minimum possible FPU size (FpuSizeMin). A parameter set (e.g., SPS or PPS) or even a flag in the slice or picture header can indicate whether CTU partitioning is used as described above, or whether (and which alternative is used) the partitioning alternatives mentioned in the above bullet points are used to signal the FPU size within the CTU.

[0171] An example instantiation is shown in SPS when the FPU follows the CTU partitioning.

[0172] [Table 4]

[0173] In this example, a flag (sps_fpu_reuse_ctu_split) indicates that the FPU follows CTU splitting. As explained, one option is to always follow splitting up to the smallest possible FPU size (e.g., as indicated by sps_log2_min_fpu_size_minus3, as in the previous example). As an alternative, or even a complement, to this reuse of the CTU split used for the FPU, the level up to which splitting is used for the CTU and FPU can be signaled, as in the example above (see sps_log2_diff_min_fpu_reuse_ctu_split). Such a level would be useful for deriving an FPU size that determines the threshold for FPU split signaling. The size is determined, for example, by FPUSplitThresholdWidth and FPUSplitThresholdHeight. Once such a size is reached, each FPU requires a separate split if the FPU size must be smaller.

[0174] Note that in some cases, i.e., when the FPU partitioning matches the CTU partitioning at all partition levels, or when the FPU partitioning matches the CTU partitioning up to the signaled level, the CTU syntax structure logically contains one or more FPUs, and the FPU parameters are included within the CTU data. For example, when the FPU partitioning matches the CTU partitioning up to the signaled level, the syntax can be as follows in Table 5, see especially lines 33 to 36:

[0175] [Table 5] Note that the above syntax example includes a new structure, coding_fpu(), which accommodates the case where, at a particular level, the CTU splits for the CU and FPU are no longer aligned. Such a coding_fpu() structure can include additional split_fpu_flag and parameters related to the filters used in each FPU. When the FPU=CU variant is used, parameters related to the filters used in each FPU can be included in the coding_unit() structure.

[0176] In general terms, in this aspect of the embodiment, when adaptive FPU size mode is used, the size and location of each FPU must be arranged. A single FPU is arranged for each subsequent CU (i.e., the FPU parameters go within each CU) of the current CTU, unless FpuSizeMin is exceeded. If the coding tree exceeds the latter, the FPU is arranged before the next tree split, and the FPU data is either in additional syntax structures as shown above, or at the beginning or end of the CU within that particular FPU.

[0177] If the FPU partition is fixed to a rectangular grid different from that defined by the CTU size and is smaller in size than the CTU grid; this is an alternative signaling to the above (which includes the CTU data and inline FPU parameters), and the FPU parameters are signaled from the CTU structure.

[0178] [Table 6] Therefore, the concepts of filter processing unit and coding tree unit are separated. Also, the new filter_processing_unit() structure (see line 3 in Table 6) includes parameters such as split_fpu_flag, which indicates the slice to split across FPUs, and parameters related to the filter to be used on each FPU.

[0179] In a third aspect of the embodiment, the maximum FPU size is greater than the CTU size, and therefore the FPU can contain multiple CTUs. In this case, one option consists of FPU parameters being signaled within the CTU data (CTU level). In a further aspect of the embodiment, the signaling is performed in one of the CTUs inside the FPU. This could be the first CTU to allow filtering to start as early as possible, or a CTU that satisfies certain conditions, e.g., is coded using a certain coding mode or contains a certain number of sub-blocks, or CUs, that indicate higher activity in that region. The latter option, in other words, consists of including FPU parameters in the first CTU that, in some cases, satisfies the stated conditions, e.g., it is coded in inter- or intra-mode, not skip, has at least a certain number of CUs, has more than a certain number of non-zero coefficients, etc. If such conditions are not met, there is no need to transmit the FPU parameters. See lines 4-5 of the following embodiment in Table 7.

[0180] [Table 7] In this case, the filter_processing_unit() structure only contains parameters related to the filters used by each FPU when static FPU sizes are taken into account.

[0181] In other words, if the FPU parameters are transmitted along the CTU coding path in the first CTU of the FPU, this CTU can be determined through its relationship to the FPU dimensions using the current CTU position given by xCtb and yCtb in samples.

[0182] FpuAddrX=xCtb / FpuSizeMax, FpuAddrY=yCtb / FpuSizeMax, Here, FpuAddrX, FpuAddrY are in FPU coordinates (counting FPUs in each dimension). Therefore, for each FPU, FPU parameters are sent only for CTUs that satisfy the following: xCtb is equal to FpuAddrX*FpuSizeMax and yCtb is equal to FpuAddrY*FpuSizeMax.

[0183] According to a final aspect, the FPU parameters are transmitted along the CTU coding path, within the CTU data, in the last CTU of the FPU.

[0184] Note that the above cases mainly focus on static FPU sizes larger than the CTU. However, it is also possible to have an adaptive FPU case with FpuSizeMax larger than the CTU size. In this case, the option of using FPU parameters signaled from the CTU data would also be beneficial. An example is shown in Table 8 (see line 3) and Table 9 below.

[0185] [Table 8]

[0186] [Table 9] In this case, the example shows a loop over blocks of size FpuSizeMax, and for each of these, it shows the partitioning, and if not partitioned, the FPU is coded with the relevant parameters shown, e.g., which filter is used for the FPU.

[0187] This embodiment can be combined with the previous embodiment where the CTU split is aligned with the FPU. This means that if FpuSizeMax is larger than the CTU, the first split occurs as described above. If the split is indicated up to the CTU size, further splits in the coding_tree_unit() syntax structure can be reused. For example: -The partitioning of FPUs is consistent with the partitioning of CTUs at all partitioning levels, e.g., each CU is an FPU.

[0188] -The FPU partitioning matches the CTU partitioning up to the notified level, for example (up to the first level partitioning only), from there, separate partitioning information can be given to the FPUs regardless of the CTU partitioning information, i.e., the FPU partitioning is fixed at the notified CTU partitioning level.

[0189] If the split in the slice_filter_processing_unit() syntax structure indicates an FPU that is larger than the CTU (split_fpu_flag is 0 before the CTU size is obtained), the split in the coding_tree_unit() relates only to the CU, and the filter parameters are not included in the CTU.

[0190] An example is shown in Tables 10 and 11 below (see lines 25-28).

[0191] [Table 10]

[0192] [Table 11] Another alternative is that the FPU has its own partitioning mechanism and is not fixed to the CTU. However, in a further aspect of the embodiment, if the size of the partition matches the CU, no partitioning is included and implicitly the FPU becomes equal to that CU without the possibility of further partitioning.

[0193] As mentioned above, a single example is used, but any combination with the previously described embodiments for adaptive FPU size can be applied to the combinations described.

[0194] In summary, in the above embodiments, the signaling is done within the CTU data, and the CTU contains one or more FPUs, if adaptive, and if non-adaptive FPU size mode is used.

[0195] Also according to the above aspect, in another embodiment, the parameters of all FPUs are signaled in a continuous bitstream at the start of the CTU and before the first CU.

[0196] In another option, according to the aforementioned aspect, the parameters of all FPUs are signaled in a continuous bitstream after the last CU of the current CTU.

[0197] Additionally, according to another aspect of the aforementioned embodiment, the parameters of the FPU are signaled before the CTU syntax structure.

[0198] Furthermore, a combination of both approaches is possible as well: for example, if FpuSizeMax is larger than the CTU size, splitting is first done before the CTU data, and then further splitting is done within the CTU data if necessary.

[0199] Another aspect of the present invention deals with the use of multiple filters. All filters may use the same FPU. Alternatively, each filter may employ its own FPU structure, e.g., its own FPU size, e.g., separate FPU sizes for LMCS, SAO, and ALF.

[0200] If different filters are not allowed to use a common FPU structure, the bitstream may include one or more of the following signaling options:

[0201] - A flag indicating whether the FPU grid / size / parameters are the same across two filters, e.g., detailed signaling occurs only for the first filter, while the second filter indicates parameter reuse. Such signaling can be included in the parameter set indicating whether the FPUs are aligned across filters.

[0202] - Bitstream signaling indicating that the FPU partition information of the second filter is fixed to the FPU partition information of some level of the first filter, i.e., one is signaled as a delta above another at a particular partition level / FPU size. In this case, the level at which both (or more) filters are aligned with the partition information is also signaled.

[0203] -All divisions of all filters are freely configurable and not fixed to each other.

[0204] Alternatively, the flags mentioned above can be indicated by a mode with different modes, such as one of three options for multiple filters in the example above.

[0205] When the decoder performs filtering, it can execute in a pipelined manner with reconstruction (inter prediction, intra prediction, residual decoding, etc.) typically performed per CTU row, i.e., in a CTU raster scan fashion. If the FPU spans multiple CTU lines, filtering requires accessing FPU parameters potentially transmitted in far earlier CTUs and many intervening CTUs, necessitating extensive caching of these parameters during processing. According to this last aspect, the FPU size can be constrained to have a single CTU height to reduce line memory access between CTUs and the implementation cost of the FPU design.

[0206] In a next aspect of the embodiment, to limit implementation complexity, FPU partition constraints are expressed in the bitstream, and the decoder checks that either one CTU contains one or more integer number of FPUs and / or one FPU contains one or more integer number of CTUs. In either case, the maximum number of FPUs contained in a CTU or the maximum number of CTUs contained in an FPU may also be constrained.

[0207] Another important aspect to consider is the interaction of the FPU with slice / tile or region partitions of a picture. In particular, one issue is how to deal with the case where the FPU grid (in FpuSizeMax units) spans two or more such partitions. This is one option that may be acceptable, but it does not allow for independent processing of different slices / tiles, as filter parameters for a particular slice are signaled within another slice / tile. See Figure 7, which shows an FPU grid spanning two slices, and Figure 8, which shows an FPU grid spanning two tiles.

[0208] In further embodiments (see, for example, the embodiments described with respect to Figures 7 and 8), to avoid dependencies between slices, when a fixed FPU size is used, a constraint is applied / signaled in the bitstream and checked by the decoder to ensure that slice heights are integer multiples of the FPU height (FpuSizeMax) and that tile and subpicture heights and widths are integer multiples of the FPU height and width, respectively. This constraint can be relaxed for the last slice in a picture, i.e., the bottom slice.

[0209] The same aspect applies to tiles, especially the right boundary or tile. Consistent with the constraints above, tile widths are constrained to be multiples of the FPU width (FpuSizeMax). Again, such constraints can be relaxed for the rightmost tiles in a picture.

[0210] If no tiles / slices exist, then the relaxation at the bottom and right boundaries is equivalent to no constraints in effect. Furthermore, explicit notifications, for example in the form of GCI flags, can be added to indicate such constraints.

[0211] As an alternative to the above constraints, in another aspect of the embodiment, the FPU grid is adapted to slice / tile boundaries, meaning that a slice or tile starts a new FPU, and on boundaries that are not multiples of the signaled grid (width or height not multiple of FpuSizeMax) the division of the FPU is implicitly derived, or the FPU size is simply automatically reduced, so that the FPU covers only a slice or tile, and not more than one.

[0212] In other words: - The size (e.g. width and height) of the FPU should be clipped at tile, slice, and subpicture boundaries.

[0213] The size of the bottom FPU in the last FPU row or rightmost FPU column can be at most height(slice / tile)%FpuSizeMax or width(slice / tile)%FpuSizeMax, respectively.

[0214] -The FPU's position (e.g. topLeftX / topLeftY) should be aligned with the horizontal slice boundary.

[0215] - The FPU position (e.g. topLeftX / topLeftY) should be aligned with tile and subpicture boundaries.

[0216] As a further alternative, the FPU can span different tiles or slices. In a further aspect of this alternative, whether this is allowed or not depends on additional signaling and is explicitly indicated, for example, depending on whether filtering across two particular slices or tiles is allowed or not.

[0217] In other words, if filtering on tile / subpicture / slice boundaries is enabled, the FPU may not be clipped to tile, subpicture, or slice boundaries.

[0218] Note that other reasons may also drive the decision to clip or not clip the FPU to a tile / slice / subpicture, for example due to pipelining in a hardware implementation, so a separate flag unrelated to filtering across such regions could be added to indicate, for example, whether to clip or not clip the FPU in the parameter set.

[0219] In the case where the FPU is not clipped to slice / tile / subpicture boundaries, e.g., covers multiple tiles, in a further aspect of the embodiment, several options can be envisaged for slices, tiles or subpictures and the FPU parameters to be signaled.

[0220] Include FPU signaling in the first or last CTU of an FPU as if the FPU did not span several slices / tiles, introducing dependencies across slices / tiles. Including FPU signaling in the first or last CTU belonging to two or more slices / tiles, i.e., the respective portions of the FPU within each slice / tile · Adaptively include FPU signaling in CTUs, i.e., for CTUs that meet certain CTU conditions, such as the number of subdivisions being greater than a threshold, inter-mode, intra-mode, etc.

[0221] Simply applying it to FPUs that span slices / tiles / subpictures would result in analysis dependencies across them, which is undesirable. Note that only the first CTU that satisfies the condition contains information, requiring knowledge of whether such a CTU exists in another slice / tile / subpicture. Therefore, instead, the following process is applied: Evaluate the adaptation criteria for each portion of a tile, slice, or subpicture covered by the FPU independently.

[0222] ■In that case, the criteria may not be met in some parts of the FPU, and therefore the parameters are not signaled. Here, FPU parameters signaled from different parts of the same FPU can be used as default for the final filtering. This explains the case where parameters indicated in another slice / tile are used.

[0223] ■ Alternatively, if some part of the FPU does not have parameters, the same applies to this area as if the CTU did not meet certain criteria.

[0224] ■ If the criteria are met for multiple parts of the FPU in different tiles, slices, or subpictures, the signaled parameters must be the same.

[0225] If used, disable adaptive signaling based on specific conditions of the CTU and fall back to signal FPU parameters with the first / last CTU.

[0226] Another aspect described below relates to dynamic regions within a single picture.

[0227] Note that different regions of a picture, such as slices or sub-pictures as defined in VVC, can benefit from having different values ​​of FpuSizeMax and FpuSizeMin.

[0228] Table 12 shows an example of how such properties can be signaled, for example, by indicating such values ​​in the slice header using any of the variations described for the parameter sets above.

[0229] [Table 12] In this example, the size is given in luma samples, but the grid can be signaled in the parameter set and the size can be given in terms of a defined grid size.

[0230] Alternatively, this can be signaled in the picture header or even in the picture parameter set where all the sizes of all the regions are described. See the example in Table 13.

[0231] [Table 13] One drawback of signaling in the picture header (PH) parameters that depend on the number of slices is that the PH needs to be modified if sub-pictures are used and some of them may be dropped. Therefore, a constraint can be added that such signaling can only be included if sub-pictures are not used. Otherwise, a better place to include similar signaling may be the PPS.

[0232] To avoid such problems and efficiently signal different sizes that can be reused by several slices, in a further aspect of the embodiment, some values ​​are signaled in a parameter set, e.g., SPS or PPS, and an index is indicated in the slice header. An example is shown in Tables 14 and 15.

[0233] [Table 14]

[0234] [Table 15]

[0235] However, in such a case, when several subpictures are merged in the new bitstream, the indexes signaled in the slice_header() structure need to be rewritten. Therefore, instead of signaling the indexes in slice_header(), this can be done in the parameter set. Additional signaling indicates which of the sizes is used in each slice or subpicture. Indicating in the parameter set which of the multiple sizes defined therein applies to each slice / subpicture, as in the embodiment of Table 16, avoids the need to modify the slice header, and thus avoids the complexity of rewriting when several independent bitstreams are merged into a single bitstream.

[0236] [Table 16] It should be noted that the signaling is illustratively done in SPS for each sub-picture, but may have a different granularity, for example per slice, and be signaled in PPS.

[0237] FPU dimension signaling in parameter sets (SPS / PPS / APS) Further aspects include the following:

[0238] FPU signaling when the FPU contains multiple CTUs -parameters with first CTU ○ Should be used for WPP -Parameters with last CTU FPU signaling when a CTU contains only one or more FPUs -All parameters at the start of the CTU (current case of VVC) -All last parameters of CTU Each FPU parameter was signaled guided by the CTU division (i.e., QT level corresponding to the FPU size).

[0239] The above presentation of embodiments of the encoder 10 and decoder 20 applies equally to the respective methods for encoding or decoding pictures, respectively, and the described apparatus blocks and functions represent steps of the respective methods.

[0240] 5 may also be understood as illustrating a method for decoding pictures of a sequence of pictures from a data stream 14, the method comprising: deriving partition information 16 from the data stream, subdividing the picture into coded blocks according to the partition information, decoding the picture in units of coded blocks 31, and filtering the picture 62, wherein the filtering 62 is performed by deriving filtering information from the data stream (e.g., in addition to the partition information) indicating the subdivision of the picture into filtering blocks 17, and using the subdivision of the picture into filtering blocks 17 to filter the picture 62 (e.g., filtering the picture with a granularity of subdivision, e.g., filtering the picture in units of filtering blocks). For example, the subdivision into coded blocks and filtering blocks is represented by block 21 in FIG. 5.

[0241] Figure 6 may also be understood as showing a method for encoding pictures of a sequence of pictures into a data stream, the method comprising: subdividing the picture into coding blocks 23; encoding the picture in units of the coding blocks 33; encoding partition information 16 into the data stream, the partition information indicating the subdivision of the picture into the coding blocks; deriving 27 a subdivision of the picture into filtering blocks 17 and, for each of the filtering blocks, a respective parameterization of a filter for filtering the filtering block; and encoding filtering information 18 into the data stream, indicating the subdivision of the picture into filtering blocks.

[0242] Figure 9 may also be understood as showing a method for decoding pictures of a sequence of pictures from a data stream, the method comprising: subdividing the picture into coding blocks by partitioning the picture into tree root blocks and dividing the tree root blocks using recursive tree partitioning; decoding the picture in units of coded blocks 31; and, for each of the filtering blocks into which the picture is subdivided, filtering the picture using a filter 62 by using a respective parameterization of the filter, wherein the subdivision of the picture into filtering blocks 17 differs from the subdivision of the picture into tree root blocks 19.

[0243] 10 may also be understood as illustrating a method for encoding a picture 12 of a sequence of pictures into a data stream 14, the method comprising: partitioning 23 the picture into tree root blocks and dividing the tree root blocks using recursive tree partitioning, thereby subdividing 23 the picture into coding blocks 25; and encoding 34 the picture in units of coding blocks, the method comprising: obtaining a residual signal 24 using a prediction signal 26 for predicting 22 the picture; subjecting the residual signal 24 to a spatial-spectral transform 28 to obtain a transformed signal 24′; quantizing 32 the transformed signal to obtain a quantized signal 24″, and encoding 34 the quantized signal into the data stream 14; deriving a prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing 41 the picture based on the quantized signal to obtain a reconstructed picture 46; and filtering 62 the reconstructed picture using a filter by using a respective parameterization of the filter for each of the filtering blocks into which the reconstructed picture has been subdivided according to the subdivision of the picture into filtering blocks.

[0244] While some aspects are described as features in the context of an apparatus, it will be apparent that such description may also be considered a description of a corresponding feature of a method. Although some aspects are described as features in the context of a method, it will be apparent that such description may also be considered a description of a corresponding feature with respect to the function of the apparatus.

[0245] 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, and in some embodiments, one or more of the most important method steps may be performed by such an apparatus.

[0246] The coded image signal of the present invention can be stored on a digital storage medium and can be transmitted over a transmission medium, such as a wireless or wired transmission medium, such as the Internet. In other words, further embodiments provide a video bitstream product, e.g., a digital storage medium having a video bitstream stored thereon, comprising a video bitstream according to any of the embodiments described herein.

[0247] Depending on specific implementation requirements, embodiments of the present invention can be implemented in hardware or software, or at least partly in hardware, or at least partly in software. Implementation can be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray, CD, ROM, PROM, EPROM, EEPROM, or flash memory, on which electronically readable control signals are stored, which cooperate (or can cooperate) with a programmable computer system to perform the respective methods. Thus, the digital storage medium may be computer-readable.

[0248] 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 perform one of the methods described herein.

[0249] 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, and the program code can be stored on, for example, a machine-readable carrier.

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

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

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

[0253] 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 can for example be arranged to be transmitted via a data communication connection, for example via the Internet.

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

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

[0256] Further embodiments according to the invention comprise 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 for example be a computer, a mobile device, a memory device, etc. The apparatus or system may for example comprise a file server for transferring the computer program to the receiver.

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

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

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

[0260] In the foregoing Detailed Description, it can be seen that various features are grouped together in examples for the purpose of streamlining the disclosure. This method of disclosure should not be interpreted as reflecting an intention that the claimed examples require more features than are expressly recited in each claim. Rather, as the appended claims reflect, subject matter may lie in fewer than all features of a single disclosed example. Accordingly, the appended claims are hereby incorporated into the Detailed Description, with each claim standing on its own as a separate example. While each claim may stand on its own as a separate example, it should be noted that while a dependent claim may refer to a specific combination with one or more other claims in the claim, other examples may also include a combination of a dependent claim with the subject matter of each of the other dependent claims, or a combination of each feature with other dependent or independent claims. Such combinations are suggested herein unless it is stated that a specific combination is not intended. Furthermore, including features of a claim in any other independent claim is also contemplated, even if that claim is not directly dependent on that independent claim.

[0261] The above-described embodiments are merely illustrative of the principles of the present disclosure. 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 appended claims and not by the specific details presented by way of description and explanation of the embodiments herein.

Claims

1. An apparatus for decoding pictures of a sequence of pictures from a data stream, the apparatus being configured to derive partition information from the data stream, subdivide the pictures into coded blocks according to the partition information, and decode the pictures in units of the coded blocks, the apparatus comprising: deriving filtering information from the data stream indicative of a subdivision of the picture into filtering blocks; using the subdivision of the picture into filtering blocks for filtering the picture; and filtering the picture by:

2. The apparatus of claim 1 , configured to, for each of the filtering blocks, filter the picture using a filter by using a respective parameterization of the filter.

3. 3. The apparatus of claim 1, configured to derive a prediction mode from a plurality of prediction modes from the data stream for a coding block of the coding block, the prediction modes including at least an intra prediction mode in which the coding block is coded using prediction from previously coded coding blocks of the picture, and an inter prediction mode in which the coding block is coded using temporal prediction.

4. The device according to claim 1 , wherein the filtering information indicates whether the subdivision of the picture into filtering blocks corresponds to the subdivision of the picture into coding blocks.

5. The apparatus of claim 1 , wherein the filtering information includes an indication of the size of the filtering block.

6. 6. The apparatus of claim 1, wherein the filtering information includes a syntax element indicating whether the sizes of the filtering blocks are equal for all of the filtering blocks, and includes a notification of the sizes of the filtering blocks if the sizes of the filtering blocks are equal for all of the filtering blocks.

7. 7. The apparatus of claim 1, configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree splitting.

8. The apparatus of claim 7 , wherein the filtering information indicates whether the subdivision of the picture into the filtering blocks corresponds to the subdivision of the picture into the tree root blocks.

9. 9. The apparatus according to claim 7, wherein the filtering information indicates a maximum depth of the recursive tree division or a minimum block size, and wherein the subdivision of the picture into filtering blocks up to the minimum block size corresponds to the subdivision of the picture into coding blocks.

10. The apparatus of claim 9 , configured to further subdivide the deepest or smallest block size block based on the filtering information to obtain the filtered block.

11. 8. The apparatus of claim 1 , configured to subdivide the picture into the filtering blocks by partitioning the picture into tree root filtering blocks and subdividing the tree root filtering blocks using recursive tree partitioning.

12. subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; 12. The device of claim 11, further comprising: in the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one of the tree root blocks, splitting the block into child filtering blocks to a maximum depth or a minimum block size along the recursive tree splitting of the one tree root block.

13. deriving a syntax element from the data stream indicating whether to split blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks in the recursive tree division of the tree root filtering blocks; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, 12. The device of claim 11, wherein in the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more tree root blocks, splitting the block into child filtering blocks to a maximum depth or a minimum block size along the recursive tree splitting of the one tree root block.

14. 14. The device according to claim 12 or 13, wherein in the recursive tree partitioning to obtain the filtering block, the device is configured to further subdivide the block of the maximum depth or the minimum block size based on the filtering information to obtain the filtering block.

15. 12. The apparatus of claim 11, wherein, in the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more of the coded blocks, the recursive tree splitting of the block is stopped and the block is used as one of the filtering blocks.

16. subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; dividing the tree root filtering block into filtering blocks in accordance with the subdivision of the picture into coding blocks, such that if a block resulting from the recursive tree division of the tree root filtering block coincides with one of the tree root blocks, each filtering block within the block corresponds to a coding block; The apparatus of claim 11 configured to:

17. 17. An apparatus according to claim 1, configured to derive from the data stream a syntax element indicating that the height of the filtering block is less than or equal to the height of the tree root block.

18. the data stream, for all pictures of the sequence, - one tree root block contains an integer number of filtering blocks; - one filtering block contains an integer number of tree root blocks; 12. An apparatus according to any one of claims 7 to 11, configured to check whether one or both of the following conditions are met:

19. configured to derive from the data stream a syntax structure including a notification indicating whether the subdivision of the picture into filtering blocks corresponds to the subdivision of the picture into the tree root blocks, the syntax structure comprising: - all the pictures of said sequence of pictures, one or more of the pictures of said sequence of pictures, and - all subsequent pictures of said sequence of pictures, and one slice of the slices into which the picture is partitioned; 19. The device according to any one of claims 7 to 18, wherein

20. 20. The apparatus of claim 19, configured to derive the syntax structure from descriptive data of the data stream preceding or interleaved with payload packets carrying the pictures.

21. 21. The apparatus of claim 19 or 20, wherein if the syntax structure indicates that the subdivision of the picture into the filtering blocks does not correspond to the subdivision of the picture into the tree root blocks, the syntax structure further comprises an indication of a maximum size of the filtering blocks and, optionally, an indication of a minimum size of the filtering blocks.

22. 21. The apparatus of claim 1, wherein the filtering information comprises an indication of a maximum size of the filtering block and, optionally, an indication of a minimum size of the filtering block.

23. 23. The apparatus of claim 21 or 22, configured to derive the filtering blocks using recursive tree partitioning by dividing blocks of the picture into child filtering blocks, each of the child filtering blocks being input to a subsequent recursion of the recursive tree partitioning for dividing the child filtering block into child filtering blocks of the child filtering block until the child filtering block satisfies a predetermined criterion.

24. subdividing the picture into tree root filtering blocks of the maximum size; deriving a notification indicating whether the tree root filtering block is split; and if the tree root filtering block is split, splitting the tree root filtering block into child filtering blocks, each child filtering block being an input to a subsequent recursion of the recursive tree splitting; subdividing the tree root filtering block of said tree root filtering block by performing a recursive tree splitting according to 23. Apparatus according to claim 21 or 22, configured to derive the filtering block by:

25. In the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more of the tree root blocks, and dividing the blocks into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size.

26. deriving a syntax element from the data stream indicating whether to split blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks in the recursive tree division of the tree root filtering blocks; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, 25. The device of claim 24, further comprising: in the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more tree root blocks, splitting the block into child filtering blocks to a maximum depth or a minimum block size along the recursive tree splitting of the one tree root block.

27. 27. The apparatus according to claim 25 or 26, wherein in the recursive tree partitioning to obtain the filtering blocks, the apparatus is configured to further subdivide the deepest or smallest block size block based on the filtering information to obtain the filtering blocks.

28. deriving a syntax element from the data stream indicating whether to split blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks in the recursive tree division of the tree root filtering blocks; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, In the recursive tree division of the tree root filtering block, dividing the block into filtering blocks in accordance with the subdivision of the picture into coding blocks, such that if a block resulting from the recursive tree division of the tree root filtering block coincides with one or more of the tree root blocks, each filtering block within the block corresponds to a coding block; 25. The apparatus of claim 24 configured to:

29. 21. The apparatus of claim 19 or 20, wherein if the syntax structure indicates that the subdivision of the picture into the filtering blocks does not correspond to the subdivision of the picture into the tree root blocks, the syntax structure further indicates whether sizes of the filtering blocks are equal for all of the filtering blocks, and indicates notification of the sizes of the filtering blocks if the sizes of the filtering blocks are equal for all of the filtering blocks.

30. 30. The apparatus of claim 29, wherein if the syntax structure indicates that the sizes of the filtering blocks are not equal for all of the filtering blocks, the syntax structure includes an indication of a maximum size of the filtering blocks and a minimum size of the filtering blocks.

31. The syntax structure indicates which options of a set of options apply, the set of options being: - said subdivision of said picture into said filtering blocks corresponding to said subdivision of said picture into said tree root blocks; the size of the filtering blocks, which is equal for all of them; - the data stream including signaling of the size of the filtering blocks, the signaling being specific to a picture or part of a picture; - said subdivision of said picture into filtering blocks corresponding to said subdivision of said picture into said coding blocks; 21. Apparatus according to claim 19 or 20, comprising one or more or all of:

32. The syntax structure indicates whether the data stream includes signaling of the size of the filtering block, and if the syntax structure indicates that the data stream includes signaling of the size of the filtering block, the device - notification of the relative size of the filtering block with respect to the size of the tree root block; - notification of the relative size of said filtering block with respect to the maximum size for said tree root block; - notification of the relative size of said filtering block with respect to a maximum size for said filtering block; a notification indicating whether the size of the filtering block is smaller than, larger than, or equal to the size of the tree root block, and if the filtering block is larger than the tree root block, a notification of the number of tree root blocks contained in the filtering block, and if the filtering block is smaller than the tree root block, a notification of the size of the filtering block; 32. Apparatus according to claim 19 or 31, configured to derive the size and / or position of the filtering block by deriving:

33. The device, deriving from the data stream syntax structures associated with one or more or all pictures of the sequence and indicating a plurality of filtering block size indications; - selecting one of the filtering block size indications for a picture or part of a picture by deriving from the data stream an indication associating the filtering block with one of the filtering block size indications; 33. The apparatus of any one of claims 1 to 32, configured to:

34. the notification associating the filtering block with one of the filtering block size notifications, a syntax structure indicating a set of filtering block size notifications; - syntax structures relating to one or more or all pictures of said sequence, or - Syntax structures that specifically relate to one picture or part of one picture 34. The apparatus of claim 33, comprising:

35. each of said filtering block size notifications - notification of a maximum size of said filtering block and optionally a minimum size of said filtering block; or Notification of the size of the filtering block 35. The apparatus of claim 33 or 34, comprising:

36. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; filtering the picture using a further filter and deriving from the data stream an indication of whether a further filtering block of the further filter matches the filtering block of the filter; 36. An apparatus according to any one of claims 1 to 35, configured to:

37. 37. The apparatus of claim 36, configured to derive the filtering blocks using recursive tree partitioning, and if the further filtering blocks of the further filter do not match the filtering blocks of the filter, to derive from the data stream an indication of whether the further filtering blocks match the filtering blocks up to a particular depth in the recursive tree partitioning.

38. 37. The apparatus of claim 36, configured to derive the filtering blocks using recursive tree partitioning, and to derive information about the size of the further filtering blocks from the data stream if the further filtering blocks of the further filter do not match the filtering blocks of the filter.

39. for each of the filtering blocks, configured to filter the picture using a filter by using a respective parameterization of the filter, the respective parameterization comprising: - a filter template; - one or more sets of filter coefficients; - activating or deactivating said filter; 39. An apparatus according to any one of claims 1 to 38, comprising one or more of:

40. an adaptive loop filter (ALF); a deblocking filter (DBF); a Luma Mapping Chroma Sampling (LMCS) filter; - a sample adaptive offset (SAO) filter; - neural networks, 40. The apparatus of claim 1, configured to filter the picture by using one of:

41. 41. The apparatus of claim 1, wherein the filters are adaptive loop filters (ALF), and the respective parameterizations comprise sets of filter coefficients of a filter template.

42. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the pictures in slices, in which the picture is subdivided in a manner such that each slice comprises one or more rows of the tree root blocks, and wherein the apparatus is further configured to decode the pictures in slices, in which the picture is subdivided in a manner such that each slice comprises one or more rows of the tree root blocks, and wherein the data stream comprises, for all pictures of the sequence: all said slices, or - all the slices except the last slice of each of the pictures 42. The apparatus of claim 1, configured to check whether the height of the filtering block indicates that the height of the filtering block is an integer multiple of the height of the filtering block.

43. 43. The apparatus of claim 1, further configured to: subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and to decode the picture in slices, in which the picture is subdivided in a manner such that each slice contains one or more of the tree root blocks; and wherein the apparatus is configured to check whether the data stream indicates that, for all pictures of the sequence, all boundaries of each of the filtering blocks coincide with boundaries of one or more slices.

44. 44. The apparatus of claim 1, further configured to: subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and to decode the picture in slices, in which the picture is subdivided in a manner such that each slice includes one or more of the tree root blocks; and wherein the apparatus is configured to check whether the data stream indicates, for all pictures of the sequence, that each of the slices includes one or more filtering blocks, and each filtering block is located within one of the slices.

45. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in slices, where the picture is subdivided in a manner such that each slice contains one or more of the tree root blocks, and the device is configured to check whether the data stream includes a notification indicating whether filtering blocks are constrained to be located within a slice; 45. The apparatus of claim 1, wherein if the filtering block is indicated as being constrained to be located within one slice, the apparatus derives the filtering block by splitting the filtering block at a slice boundary.

46. 46. ​​The apparatus of claim 1, configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in slices, in which the picture is subdivided in a manner such that each slice contains one or more of the tree root blocks, and the apparatus is configured to derive the filtering blocks by splitting the filtering blocks at slice boundaries.

47. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion comprises one or more of the tree root blocks, the portions being rectangular, and the apparatus is configured to decode the picture in a manner such that the data stream comprises, for all pictures of the sequence, all of the above parts, or all said parts except the part located on the lower boundary of one of said pictures is an integer multiple of the height of the filtering block; all of the above parts, or all said parts except the part located on the right border of one of said pictures 47. An apparatus according to claim 1, configured to check whether the width of the filtering block indicates that

48. 48. An apparatus according to claim 1, configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree splitting, and further configured to decode the picture in portions where the picture is subdivided in such a way that each portion comprises one or more of the tree root blocks, and wherein the apparatus is configured to check whether the data stream indicates, for all pictures of the sequence, that each of the portions comprises one or more filtering blocks, and each filtering block is located within one of the portions.

49. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion includes one or more of the tree root blocks, and the device is configured to check whether the data stream includes a notification indicating whether a filtering block is constrained to be located within a portion; 49. The apparatus of claim 1, wherein, if the filtering block is indicated as being constrained to be located within one portion, the filtering block is derived by splitting the filtering block at the boundary of the portion.

50. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and extracting from the data stream if a filtering block of the filtering block contains one or more of the tree root blocks. deriving the indication of the parameterization of the filter signaled for a first tree root block of the one or more tree root blocks according to coding order of the one or more tree root blocks, and using the parameterization signaled for the first tree root block for the filtering of the one or more tree root blocks; or deriving the indication of the parameterization of the filter signaled for the last tree root block of the one or more tree root blocks according to coding order of the one or more tree root blocks, and using the parameterization signaled for the last tree root block of the filtering of the one or more tree root blocks; or deriving a signal of the parameterization of the filter signaled for a first one of the one or more tree root blocks in coding order that satisfy a predetermined condition, and using the parameterization of the filtering of the one or more tree root blocks signaled for the first one that satisfies the predetermined condition; or deriving a syntax structure including an indication of the parameterization of the filter and using the parameterization for the filtering of the tree-root block of the filtering block; and 50. An apparatus according to any one of claims 1 to 49, configured to:

51. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, the subdivision being further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion includes one or more of the tree root blocks, the portions being rectangular; If a filtering block of the filtering blocks includes multiple tree root blocks distributed across multiple of the portions, deriving, for each of the portions including one of the tree root blocks of the filtering block, from the data stream an indication of the parameterization of a filter signaled for the filtering block and the first or last tree root block in coding order among the tree root blocks belonging to the portion, and using the parameterization signaled for the first or last tree root block for the filtering of the filtering block and the tree root blocks belonging to the portion; 51. An apparatus according to any one of claims 1 to 50, configured to:

52. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, the subdivision being further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion includes one or more of the tree root blocks, the portions being rectangular; If a filtering block of the filtering blocks includes one or more of the tree root blocks, - checking, for one of the tree root blocks of the filtering block that belongs to one of the portions, whether the tree root block satisfies a predetermined criterion; if said tree root block satisfies said predetermined criterion, deriving from said data stream an indication of said parameterization of said filter signaled for said tree root block and using said parameterization of said filtering block and of said tree root block belonging to said one part; - if said tree root block does not satisfy said predetermined criterion, using for filtering said tree root block said parameterization of the filter signaled for said filtering block and further tree root blocks belonging to said one part; - if none of the tree root blocks of the filtering block that belong to the one part meets the predetermined criterion, using a predetermined parameterization of the filter for filtering the tree root blocks; 52. An apparatus according to any one of claims 1 to 51, configured to:

53. 53. Apparatus according to any one of claims 1 to 52, configured to derive, for each of the filtering blocks, the respective parameterization for filtering of the filtering block from the data stream.

54. 1. An apparatus for decoding pictures of a sequence of pictures from a data stream, the apparatus being configured to: subdivide the pictures into the coded blocks by partitioning the pictures into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and decode the pictures in units of the coded blocks, the apparatus comprising:

1. An apparatus configured to: filter the picture using a filter by using, for each filtering block into which the picture is subdivided, a respective parameterization of the filter, wherein the subdivision of the picture into the filtering blocks is different from the subdivision of the picture into the tree root blocks.

55. 55. The apparatus of claim 54, wherein the subdivision of the picture into the filtering blocks corresponds to the subdivision of the picture into the coding blocks.

56. 55. The apparatus of claim 54, wherein each of the filtering blocks comprises an integer number of tree root blocks.

57. 55. The apparatus of claim 54, wherein each of the tree root blocks includes an integer number of filtering blocks.

58. An apparatus (20) for encoding pictures (12) of a sequence of pictures into a data stream (14), the apparatus being configured to subdivide (23) the pictures into coding blocks (25), encode (33) the pictures in units of the coding blocks, and encode (16) the partition information into the data stream, the partition information indicating the subdivision of the pictures into the coding blocks, and the apparatus: - deriving (27) a subdivision of the picture into filtering blocks and, for each of the filtering blocks, a respective parameterization of a filter for filtering said filtering block; and encoding (18) filtering information into the data stream indicative of the subdivision of the picture into the filtering blocks.

59. obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transformation to obtain a transformed signal; quantizing the transformed signal to obtain a quantized signal and encoding the quantized signal into the data stream; deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; 59. The apparatus of claim 58, wherein the apparatus is configured to filter the reconstructed picture by using the subdivision of the picture into filtering blocks for filtering the picture.

60. 60. The apparatus of claim 58 or 59, wherein the reconstructed picture is configured to filter the reconstructed picture using a filter by using, for each of the filtering blocks subdivided in accordance with a subdivision of the picture into the filtering blocks, the respective parameterization of the filter.

61. 61. An apparatus according to any one of claims 58 to 60, configured to derive the subdivision of the picture into filtering blocks using rate-distortion optimization.

62. 62. The apparatus of claim 58, configured to subdivide the picture into the filtering blocks by partitioning the picture into tree root filtering blocks and subdividing the tree root filtering blocks using recursive tree partitioning, and configured to derive a decision whether to further partition a currently processed block or to stop the recursive tree partitioning using rate-distortion optimization.

63. 63. The apparatus of claim 58, configured to derive a prediction mode from a plurality of prediction modes for a coding block of the coding block, the plurality of prediction modes including at least an intra prediction mode in which the coding block is coded using prediction from previously coded coding blocks of the picture, and an inter prediction mode in which the coding block is coded using temporal prediction.

64. 64. The apparatus of any one of claims 58 to 63, wherein the filtering information indicates whether the subdivision of the picture into filtering blocks corresponds to the subdivision of the picture into the coding blocks.

65. 65. Apparatus according to any one of claims 58 to 64, wherein the filtering information includes an indication of the size of the filtering block.

66. 66. The apparatus of claim 58, wherein the filtering information includes a syntax element indicating whether the sizes of the filtering blocks are equal for all of the filtering blocks, and including a notification of the sizes of the filtering blocks if the sizes of the filtering blocks are equal for all of the filtering blocks.

67. 67. The apparatus of claim 58, configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree splitting.

68. 68. Apparatus according to any one of claims 58 to 67, configured to derive the filtering blocks in such a way that the height of the filtering blocks is less than or equal to the height of the tree root block.

69. 68. The apparatus of claim 67, wherein the filtering information indicates whether the subdivision of the picture into the filtering blocks corresponds to the subdivision of the picture into the tree root blocks.

70. 70. The apparatus of claim 67, wherein the filtering information indicates a maximum depth of the recursive tree division or a minimum block size, and wherein the subdivision of the picture into filtering blocks up to the minimum block size corresponds to the subdivision of the picture into coding blocks.

71. 71. The apparatus of claim 70, configured to further subdivide the deepest or smallest block size block based on the filtering information to obtain the filtered block.

72. 68. The apparatus of claim 58, configured to subdivide the picture into the filtering blocks by partitioning the picture into tree root filtering blocks and subdividing the tree root filtering blocks using recursive tree partitioning.

73. subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; In the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more of the tree root blocks, dividing the blocks into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size; 73. The apparatus of claim 72 configured to:

74. encoding a syntax element into the data stream indicating whether to split blocks resulting from the recursive tree division of the tree root filtering blocks that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks of the tree root filtering blocks; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, In the recursive tree division of the tree root filtering block, if a block resulting from the recursive tree division of the tree root filtering block coincides with one or the tree root block, dividing the block into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size; 73. The apparatus of claim 72 configured to:

75. 75. An apparatus according to claim 73 or 74, configured to encode into the data stream information regarding the maximum depth in the recursive tree division to obtain the filtered blocks or further subdivision of the blocks of the minimum block size.

76. 73. The apparatus of claim 72, further configured to: stop the recursive tree splitting of the tree root filtering block if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more of the coded blocks; and use the block as one of the filtering blocks.

77. subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; In the recursive tree division of the tree root filtering block, dividing the block into filtering blocks in accordance with the subdivision of the picture into coding blocks, such that if a block resulting from the recursive tree division of the tree root filtering block coincides with one or more of the tree root blocks, each filtering block within the block corresponds to a coding block; 73. The apparatus of claim 72 configured to:

78. 73. An apparatus according to any one of claims 67 to 72, configured to, when deriving the filtering blocks, obey a constraint that the height of the filtering blocks is less than or equal to the height of the tree root block.

79. For every picture of said sequence, - one tree root block contains an integer number of filtering blocks; - one filtering block contains an integer number of tree root blocks; 73. An apparatus according to any one of claims 67 to 72, configured to encode into the data stream an indication that one or both of the following conditions have been met:

80. - one tree root block contains an integer number of filtering blocks; - one filtering block contains an integer number of tree root blocks; 73. An apparatus according to any one of claims 67 to 72, configured to derive the filtering block in such a way that one or both of the following are satisfied:

81. The method is configured to encode into the data stream a syntax structure including a notification indicating whether the subdivision of the picture into filtering blocks corresponds to the subdivision of the picture into the tree root blocks, the syntax structure comprising: - all the pictures of said sequence of pictures, one or more of the pictures of said sequence of pictures, and - all subsequent pictures of said sequence of pictures, and one slice of the slices into which the picture is partitioned; 81. The apparatus of any one of claims 67 to 80,

82. 82. The apparatus of claim 81 , configured to encode the syntax structure into descriptive data of the data stream that precedes or is interleaved with payload packets that carry the pictures.

83. 83. The apparatus of claim 81 or 82, wherein, if the subdivision of the picture into the filtering blocks does not correspond to the subdivision of the picture into the tree root blocks, the syntax structure is further adapted to encode an indication of a maximum size of the filtering blocks and, optionally, an indication of a minimum size of the filtering blocks.

84. 83. Apparatus according to any one of claims 58 to 82, wherein the filtering information comprises an indication of a maximum size of the filtering block and, optionally, an indication of a minimum size of the filtering block.

85. 85. The apparatus of claim 83 or 84, configured to derive the filtering blocks using recursive tree partitioning by dividing blocks of the picture into child filtering blocks, each of the child filtering blocks being input to a subsequent recursion of the recursive tree partitioning to divide the child filtering block into child filtering blocks of the child filtering block until the child filtering block satisfies a predetermined criterion.

86. 86. The apparatus of claim 85, configured to encode a syntax element into the data stream indicating whether, in the recursive tree splitting of the tree root filtering block, to split blocks resulting from the recursive tree splitting of the tree root filtering block that coincide with one of the tree root blocks along the recursive tree splitting of the one tree root block into coded blocks.

87. In the recursive tree splitting of the tree root filtering block, if a block resulting from the recursive tree splitting of the tree root filtering block matches one or more of the tree root blocks, dividing the blocks into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size; 87. The apparatus of claim 86 configured to:

88. deriving a syntax element indicating whether to split blocks resulting from the recursive tree division of the tree root filtering block that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks of the tree root block in the recursive tree division of the tree root filtering block; and encoding the syntax element into the data stream; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, In the recursive tree division of the tree root filtering block, if a block resulting from the recursive tree division of the tree root filtering block coincides with one or the tree root block, dividing the block into child filtering blocks along the recursive tree division of the one tree root block to a maximum depth or a minimum block size; 87. The apparatus of claim 86 configured to:

89. 89. The apparatus of claim 87 or 88, configured to, in the recursive tree partitioning to obtain the filtering blocks, further subdivide the deepest or smallest block size blocks based on the filtering information to obtain the filtering blocks.

90. deriving a syntax element indicating whether to split blocks resulting from the recursive tree division of the tree root filtering block that coincide with one of the tree root blocks along the recursive tree division of the one tree root block into coded blocks of the tree root block in the recursive tree division of the tree root filtering block; and encoding the syntax element into the data stream; If the syntax element indicates that in the recursive tree division of the tree root filtering block, a block resulting from the recursive tree division of the tree root filtering block that coincides with one of the tree root blocks is divided along the recursive tree division of the one tree root block into coding blocks, In the recursive tree division of the tree root filtering block, dividing the block into filtering blocks in accordance with the subdivision of the picture into coding blocks, such that if a block resulting from the recursive tree division of the tree root filtering block coincides with one or more of the tree root blocks, each filtering block within the block corresponds to a coding block; 87. The apparatus of claim 86 configured to:

91. 83. The apparatus of claim 81 or 82, wherein, if the subdivision of the picture into the filtering blocks does not correspond to the subdivision of the picture into the tree root blocks, the apparatus is configured to: encode into the syntax structure a notification indicating whether sizes of the filtering blocks are equal for all of the filtering blocks, and, if the sizes of the filtering blocks are equal for all of the filtering blocks, indicating an indication of the sizes of the filtering blocks.

92. 92. The apparatus of claim 91, wherein if the syntax structure indicates that the sizes of the filtering blocks are not equal for all of the filtering blocks, the syntax structure includes an indication of a maximum size of the filtering blocks and a minimum size of the filtering blocks.

93. The syntax structure indicates which options of a set of options apply, the set of options being: - said subdivision of said picture into said filtering blocks corresponding to said subdivision of said picture into said tree root blocks; the size of the filtering blocks, which is equal for all of them; - the data stream including signaling of the size of the filtering blocks, the signaling being specific to a picture or a part of a picture; - said subdivision of said picture into filtering blocks corresponding to said subdivision of said picture into said coding blocks; 83. Apparatus according to claim 81 or 82, comprising one or more or all of:

94. - the device is configured to encode into the syntax structure a notification indicating whether the data stream includes signaling of the size of the filtering blocks, and the device, if the syntax structure indicates that the data stream includes signaling of the size of the filtering blocks, encodes a notification of the size and / or position of the filtering blocks; - notification of the relative size of the filtering block with respect to the size of the tree root block; - notification of the relative size of said filtering block with respect to the maximum size for said tree root block; - notification of the relative size of said filtering block with respect to a maximum size for said filtering block; - indication of whether the size of the filtering block is smaller, larger or equal to the size of the tree root block, and if the filtering block is larger than the tree root block, indication of the number of tree root blocks contained in the filtering block, and if the filtering block is smaller than the tree root block, indication of the size of the filtering block; 94. An apparatus according to any one of claims 81 to 93, configured to encode into the data stream.

95. encoding into said data stream syntax structures associated with one or more or all pictures of said sequence and indicating a plurality of filtering block size indications; - encoding, for a picture or part of a picture, into the data stream a signaling, said signaling associating said filtering block with one of said filtering block size signals; 95. An apparatus according to any one of claims 58 to 94, configured to:

96. the notification associating the filtering block with one of the filtering block size notifications, a syntax structure indicating a set of filtering block size notifications; - syntax structures relating to one or more or all pictures of said sequence, or - Syntax structures that specifically relate to one picture or part of one picture 96. The apparatus of claim 95 configured to encode the

97. each of said filtering block size notifications - notification of a maximum size of said filtering block and optionally a minimum size of said filtering block; or Notification of the size of the filtering block 97. The apparatus of claim 95 or 96, comprising:

98. The picture, obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transformation to obtain a transformed signal; quantizing the transformed signal to obtain a quantized signal and encoding the quantized signal into the data stream; deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; The device, - for each of the filtering blocks, filtering the reconstructed picture using a filter by using a respective parameterization of the filter; filtering the reconstructed picture using a further filter and encoding into the data stream a notification indicating whether a further filtering block of the further filter matches the filtering block of the first filter; 98. An apparatus according to any one of claims 58 to 97, configured to:

99. 99. The apparatus of claim 98, configured to derive the filtering blocks using recursive tree partitioning, and if the further filtering blocks of the further filter do not match the filtering blocks of the filter, to encode into the data stream a notification indicating whether the further filtering blocks match the filtering blocks up to a particular depth of the recursive tree partitioning.

100. 99. The apparatus of claim 98, configured to derive the filtering blocks using recursive tree partitioning, and to encode information about a size of the further filtering blocks into the data stream if the further filtering blocks of the further filter do not match the filtering blocks of the filter.

101. The picture, obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transformation to obtain a transformed signal; quantizing the transformed signal to obtain a quantized signal and encoding the quantized signal into the data stream; deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; The device, for each of the filtering blocks, filtering the reconstructed picture using a filter by using a respective parameterization of the filter, wherein the respective parameterization comprises: - a filter template; - one or more sets of filter coefficients; - activating or deactivating said filter; 101. An apparatus according to any one of claims 58 to 100, configured to perform filtering, including one or more of:

102. The picture, obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transformation to obtain a transformed signal; quantizing the transformed signal to obtain a quantized signal and encoding the quantized signal into the data stream; deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; The device, for each of the filtering blocks, filtering the reconstructed picture using a filter by using a respective parameterization of the filter, wherein the filter: an adaptive loop filter (ALF); a deblocking filter (DBF); a Luma Mapping Chroma Sampling (LMCS) filter; - a sample adaptive offset (SAO) filter; - neural networks, 102. The apparatus of any one of claims 58 to 101, configured to perform filtering, the filtering being one of:

103. 103. The apparatus of any one of claims 58 to 102, wherein the filters are adaptive loop filters (ALF), and the respective parameterizations comprise sets of filter coefficients of a filter template.

104. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to encode the picture in slices, in which the picture is subdivided in a manner such that each slice comprises one or more rows of the tree root blocks, and wherein the apparatus is further configured to encode the picture in slices, in which the picture is subdivided in a manner such that each slice comprises one or more rows of the tree root blocks, and wherein the data stream comprises, for all pictures of the sequence, all said slices, or - all the slices except the last slice of each of the pictures is an integer multiple of the height of the filtering block.

105. 105. An apparatus according to claim 58, further configured to: subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and to decode the picture in slices, in which the picture is subdivided in such a manner that each slice contains one or more of the tree root blocks; and further configured to indicate in the data stream that, for all pictures of the sequence, all boundaries of each of the filtering blocks coincide with boundaries of one or more slices.

106. 106. An apparatus according to claim 58, further configured to: subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and to decode the picture in slices, in which the picture is subdivided in a manner such that each slice comprises one or more of the tree root blocks; and further configured to indicate in the data stream, for all pictures of the sequence, that each of the slices comprises one or more filtering blocks, and that each filtering block is located in one of the slices.

107. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in slices, where the picture is subdivided in a manner such that each slice contains one or more of the tree root blocks, and the device is configured to indicate in the data stream that a filtering block is restricted to be located within one slice; 107. The apparatus of claim 58, wherein if the filtering block is indicated as being constrained to be located within one slice, the apparatus derives the filtering block by splitting the filtering block at a slice boundary.

108. 108. The apparatus of claim 58, further configured to: subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and to encode the picture in slices, in which the picture is subdivided in a manner such that each slice contains one or more of the tree root blocks; and wherein the apparatus is configured to derive the filtering blocks by splitting the filtering blocks at slice boundaries.

109. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion comprises one or more of the tree root blocks, the portions being rectangular, and the apparatus is configured to decode the picture in a manner such that the data stream comprises, for all pictures of the sequence, all of the above parts, or all said parts except the part located on the lower boundary of one of said pictures is an integer multiple of the height of the filtering block; all of the above parts, or all said parts except the part located on the right border of one of said pictures is an integer multiple of the width of the filtering block.

110. 110. An apparatus according to any one of claims 58 to 109, configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in portions in which the picture is subdivided in such a way that each portion comprises one or more of the tree root blocks, and wherein the apparatus is configured to indicate in the data stream, for all pictures of the sequence, that each of the portions comprises one or more filtering blocks, and that each filtering block is located within one of the portions.

111. configured to subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and further configured to decode the picture in portions where the picture is subdivided in a manner such that each portion comprises one or more of the tree root blocks, and the device is configured to indicate in the data stream that a filtering block is restricted to be located within one portion; deriving the filtering block by dividing the filtering block at the boundary of the portion if the filtering block is indicated as being constrained to be located within one portion; 111. Apparatus according to any one of claims 58 to 110.

112. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdivide the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, and if a filtering block of the filtering block contains one or more of the tree root blocks, signaling the parameterization of the filter for a first one of the one or more tree root blocks in coding order; or signaling the parameterization of the filter for a last one of the one or more tree root blocks according to coding order; or or - notifying the parameterization of the filter for tree root blocks of the one or more tree root blocks in coding order that satisfy a predetermined condition; Syntax structure containing notification of the parameterization of the filter 112. An apparatus according to any one of claims 58 to 111, configured to:

113. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdividing the picture into the coding blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, the subdivision being further configured to encode the picture in portions where the picture is subdivided in a manner such that each portion includes one or more of the tree root blocks, the portions being rectangular; If a filtering block of the filtering blocks includes a plurality of the tree root blocks distributed across a plurality of the portions, encoding, for each of the portions including one of the tree root blocks of the filtering block, into a data stream, a notification of the parameterization of the filter for the first tree root block or the last tree root block in coding order among the filtering block and the tree root blocks belonging to the portion; 113. An apparatus according to any one of claims 58 to 112, configured to:

114. for each of the filtering blocks, filtering the picture using a filter by using a respective parameterization of the filter; subdividing the picture into the coding blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning, the subdivision being further configured to encode the picture in portions where the picture is subdivided in a manner such that each portion includes one or more of the tree root blocks, the portions being rectangular; If a filtering block of the filtering blocks includes one or more of the tree root blocks, - checking, for one of the tree root blocks of the filtering block that belongs to one of the portions, whether the tree root block satisfies a predetermined criterion; encoding an indication of the parameterization of the filter of the tree root block into the data stream if the tree root block satisfies the predetermined criteria; suppressing encoding of the indication of the parameterization of the filter of the tree root block into the data stream if the tree root block does not satisfy the predetermined criterion; 114. An apparatus according to any one of claims 58 to 113, configured to:

115. An apparatus for encoding pictures of a sequence of pictures into a data stream, the apparatus being configured to: subdivide the pictures into coding blocks by partitioning the pictures into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and encode the pictures in units of the coding blocks, the apparatus comprising: obtaining a residual signal using a prediction signal for predicting the picture; subjecting the residual signal to a spatial-spectral transformation to obtain a transformed signal; quantizing the transformed signal to obtain a quantized signal and encoding the quantized signal into the data stream; deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing the picture based on the quantized signal to obtain a reconstructed picture; the apparatus is configured to filter the reconstructed picture using a filter by using the respective parameterization of the filter for each of the filtering blocks into which the reconstructed picture is subdivided according to a subdivision of the picture into the filtering blocks.

116. 116. The apparatus of claim 115, wherein the subdivision of the picture into the filtering blocks corresponds to the subdivision of the picture into the coding blocks.

117. 116. The apparatus of claim 115, wherein each of the filtering blocks comprises an integer number of tree root blocks.

118. 116. The apparatus of claim 115, wherein each of the tree root blocks includes an integer number of filtering blocks.

119. A method for decoding pictures of a sequence of pictures from a data stream (14), said method comprising: deriving partition information from the data stream, dividing the picture into coded blocks according to the partition information, and decoding the picture in units of the coded blocks (31); filtering (62) the picture, deriving filtering information from the data stream indicative of a subdivision (17) of the picture into filtering blocks; using the subdivision (17) of the picture into filtering blocks for filtering (62) the picture, thereby filtering (62).

120. 1. A method for decoding pictures of a sequence of pictures from a data stream, said method comprising: subdividing the picture into the coded blocks by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and decoding the picture in units of the coded blocks (31); and filtering (62) the picture using a filter by using, for each of the filtering blocks into which the picture is subdivided, a respective parameterization of the filter, wherein the subdivision (17) of the picture into the filtering blocks is different from the subdivision (19) of the picture into the tree root blocks.

121. 1. A method for encoding pictures of a sequence of pictures into a data stream, said method comprising: a step of encoding the picture in units of the coded blocks; and encoding partition information into the data stream, the partition information indicating the subdivision of the picture into the coded blocks; a subdivision (17) of the picture into filtering blocks and deriving (27) for each of the filtering blocks a respective parameterization of a filter for filtering said filtering block; and encoding filtering information (18) into the data stream indicating the subdivision of the picture into the filtering blocks.

122. A method for encoding pictures (12) of a sequence of pictures into a data stream (14), said method comprising: subdividing (23) the picture into the coding blocks (25) by partitioning the picture into tree root blocks and subdividing the tree root blocks using recursive tree partitioning; and encoding the picture in units of the coding blocks, the method comprising: obtaining a residual signal (24) using a prediction signal (26) for predicting (22) said picture; subjecting said residual signal (24) to a spatial-spectral transformation (28) to obtain a transformed signal (24'); quantizing (32) the transformed signal to obtain a quantized signal (24'') and encoding (34) the quantized signal into the data stream (14); deriving the prediction signal for predicting a subsequent picture of the sequence of pictures by reconstructing (41) the picture based on the quantized signal to obtain a reconstructed picture (12', 46); and filtering (62) the reconstructed picture using a filter by using the respective parameterization of the filter for each of the filtering blocks into which the reconstructed picture is subdivided according to a subdivision of the picture into the filtering blocks.

123. A video data stream comprising a sequence of pictures, said sequence of pictures being encoded into said data stream using a method according to claim 121 or 122.

124. 123. A computer program for performing the method of any one of claims 119 to 122 when the computer program is run on a computer or signal processor.

Citation Information

Patent Citations

  • Image processor and method

    JP2011035621A

  • Video encoding method and apparatus with in-loop filtering based on a coding unit with a tree structure, and video decoding method and apparatus

    JP2013524676A

  • Method and apparatus for improved loop-type filtering process

    JP2014506061A

  • Method and device for encoding / decoding video

    JP2019514308A

  • Image processing apparatus and method

    US20110026600A1