DECODER FOR DECODING, ENCODER FOR ENCODING, METHOD FOR DECODING AND ENCODING, DIGITAL STORAGE MEDIA AND CONTINUOUS DATA STREAM
The decoder and encoder system addresses blocking and ringing artifacts in codecs by applying a deblocking filter with variable intensity based on local measures, enhancing image quality and reducing bit rate at low bitrates.
Patent Information
- Application Number
- BR122026016569
- Authority / Receiving Office
- BR · BR
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2018-10-19
- Filing Date
- 2019-09-26
- Publication Date
- 2026-07-28
AI Technical Summary
Existing image and video codecs face issues with blocking and ringing artifacts at low bitrates, particularly due to aggressive deblocking filters that can smooth original image content and increase encoding bit rate, necessitating a more efficient solution for variable filtering intensities.
A decoder and encoder system that applies a deblocking or rebound elimination filter with variable intensity based on local measures such as average block size and non-zero encoding frequency of prediction residuals, allowing selective control of filtering to improve image quality without excessive signaling.
The system effectively reduces blocking and ringing artifacts while minimizing additional signaling bits, resulting in better image quality and reduced encoding bit rate at low bitrates.
Smart Images

Figure 00000000_0000_ABST
Description
1 / 59 “DECODER FOR DECODING, ENCODER FOR ENCODING, METHOD FOR DECODING AND ENCODING, DIGITAL STORAGE MEDIA AND CONTINUOUS DATA STREAM” Split order from BR 11 2021 005758 7.
[001] The embodiments of the present invention relate to a deblocking or rebound elimination filter, as well as to an encoder, a decoder and respective methods for block-based encoding and decoding of figure data using a deblocking or rebound elimination filter, wherein the intensity of said deblocking or rebound elimination filter may be varied depending on one or more conditions. Some embodiments may relate particularly to selective signaling of a respective filter control parameter.
[002] Contemporary image and video codecs (encoders / decoders) with perceptual block transformation (i.e., lossy) can achieve very good visual reconstruction quality even at relatively low bitrates. At very low bitrates, however, artifacts such as blurring and discontinuities around block boundaries, often referred to as “blocking,” appear. To mitigate these typically disruptive artifacts, post-processing deblocking algorithms are used in modern codecs such as H.265 / HEVC, H.266 / VVC, and AV1.
[003] In video encoding, a typical deblocking post-processor operates as a loop filter on each decoded image or frame, that is, on each source image / frame of the interfigure prediction (also known as motion compensation) before encoding the next image / frame in the encoding loop. The deblocking post-filter analyzes the bounding pixel values of each reconstructed sub-block of the decoded image in terms of potential discontinuities. If a weak discontinuity is found, it is considered to have been caused by the low encoding rate itself, and not as part of the original image, and thus this discontinuity is reduced by smoothing the values of Petition 870260064788, dated 01 / 07 / 2026, pages 248 / 340 2 / 59 pixel (for example, adding shifts from the adaptive pixel value).
[004] A similar loop filter is the Sample Adaptive Shift (SAO) method used in HEVC, which classifies decoded pixels by (sub)block based on their values and determines additive shifts for each pixel class. These additive shifts are then signaled to, and applied to, the decoder by (sub)block. In doing so, the SAO filter acts as a bounce-free filter.
[005] Details about the HEVC deblocking filter are given at https: / / ieeexplore.ieee.org / document / 6324414, A. Norkin et al., “HEVC Deblocking Filter,” IEEE Trans. Circ. Syst. Video Tech. (CSVT), vol. 22, 2012, an overview of the SAO loop filter is provided at https: / / ieeexplore.ieee.org / document / 6324411, CM Fu et al., “Sample Adaptive Offset in the HEVC Standard,” IEEE Trans. CSVT, vol. 22, 2012.
[006] In H.266 / VVC, the maximum transformation block size doubled compared to the size allowed in HEVC, which was found to necessitate the use of stronger deblocking filters (i.e., deblocking post-processors that modify a wider range of pixels), especially around large block boundaries. Such more aggressive deblocking filters, however, increase the risk of smoothing—and thus potentially erasing—of the original image content that was not caused by the low encoding rate.
[007] Therefore, it is concluded that very strong deblocking filtering is desirable for some high-resolution image and video content encoded at low rates and that it is essential to allow highly selective control of the application of said strong deblocking filtering.Naturally, a bit indicator can be assigned to each sub-block (e.g., each coding tree unit, CTU) to indicate to the receiver (i.e., the decoder) whether the strong deblocking filter is allowed to be applied. This approach, however, will lead to many additional signaling bits being included in the continuous bit stream, thus increasing the encoding bit rate to an unacceptable level, especially in... Petition 870260064788, dated 01 / 07 / 2026, pages 249 / 340 3 / 59 very low bit rates.
[008] Thus, a more efficient solution is required. In this way, it is an objective of the present invention to improve existing artifact filtering and provide efficient signaling of variable filtering intensities without the aforementioned disadvantages.
[009] According to a first aspect of the invention, this problem is solved with a decoder having the features according to claim 1, an encoder having the features according to claim 14, a method for decoding according to claim 26, a method for encoding according to claim 27, a computer-readable digital storage medium according to claim 28 and a continuous data stream according to claim 29.
[010] According to a second aspect of the invention, this problem is solved with an unlocking filter having the features according to claim 30, a decoder having the features according to claim 48, an encoder having the features according to claim 50, a method for unlocking according to claim 52, a computer-readable digital storage medium according to claim 53 and a continuous data stream according to claim 54.
[011] The inventive decoder of the first aspect is configured for block-based decoding of figure data using an unblocking or rebound elimination filter. The decoder is configured to reconstruct, in a block-by-block manner, a figure from a continuous data stream using prediction and using a prediction residue encoded in the continuous data stream to obtain a reconstructed version of the figure. Predictive coding can, for example, be performed via spatial intrafigure prediction and / or via temporal interfigure prediction. Intrafigure prediction can be applied to both still and moving images, while interfigure prediction can only be applied to moving images. Petition 870260064788, dated 01 / 07 / 2026, pages 250 / 340 4 / 59 For images with low visual activity, for example, with few image details, prediction typically works very efficiently. As a result, the corresponding prediction residuals may comprise very little signal energy and can therefore often be completely quantized to zero. By doing so, these zero-encoded prediction residuals can be dispensed with from transmission. For images with higher visual activity, for example, with more image details, prediction can typically exhibit relatively high signal variance in its prediction residual, thus requiring a transmission of at least one (roughly) quantized prediction residual that is not completely zero. This can also be referred to as non-zero encoding of the respective prediction residual.The aforementioned non-zero prediction residuals encoded may be candidates for causing visible blocking or rebound elimination in the reconstructed (i.e., decoded) version of the figure. Thus, the decoder is configured to apply the unblocking or rebound elimination filter to the reconstructed version of the figure. In this particular case, the inventive decoder is further configured to locally vary the intensity of the unblocking or rebound elimination filter. In other words, the decoder can control the amount of unblocking or rebound elimination that is applied to the decoded figure. This can result in better image quality compared to conventional unblocking or rebound elimination filters without said control. The said intensity of the unblocking or rebound elimination filter can be quantitatively measured.Intensity measures can, for example, be a width of the circumferential parts of a block that are affected by the filter, or, put differently, a measure of the range in which the filter causes filtering from the block contour of the blocks, where the greater the intensity, the greater the width. Additionally or alternatively, an average energy of the difference between the filtered and unfiltered versions of the reconstructed figure to which the filter is applied can be used to measure the filter intensity, where the greater the intensity, the greater the average energy. The inventive decoder can decide. Petition 870260064788, dated 01 / 07 / 2026, pages 251 / 340 5 / 59 selectively applies said filter control, that is, whether the filter intensity is varied or not, depending on a pre-selection of candidate figures or candidate figure areas (e.g., blocks), respectively. Said candidate figures or candidate figure areas (e.g., blocks) can be selected depending on a first measure that locally measures an average block size, and a second measure that locally measures a non-zero encoding frequency of the prediction residual. The non-zero encoding frequency is intended to describe how frequently a non-zero encoding of a prediction residual in the respective figure or figure area (e.g., block) was applied.In other words, depending on the number of encoded non-zero forecast residuals and depending on the average block size (e.g., a number of blocks or sub-blocks), the decoder can vary the filter intensity of the unblocking or rebound elimination filter.
[012] The inventive encoder of the first aspect is configured for block-based encoding of figure data using an unblocking or rebound elimination filter as a loop filter. The encoder is configured to encode, in a block-by-block manner, a figure in a continuous data stream using prediction and to encode a prediction residual in the continuous data stream with the provision of a reconstructed version of the figure in a prediction loop of the encoder. The encoder is further configured to apply the unblocking or rebound elimination filter to the reconstructed version of the figure, and to locally vary an intensity of the unblocking or rebound elimination filter depending on a first measure that locally measures an average block size, and a second measure that locally measures a non-zero encoding frequency of the prediction residual.In other words, the encoder can compute an optimal block-based partitioning of the figure in a rate-distortion loop. Based on this computation, the encoder can select a candidate figure or a candidate figure area (e.g., block), respectively, based on the average block size and the number of residuals. Petition 870260064788, dated 01 / 07 / 2026, pages 252 / 340 6 / 59 non-zero encoded prediction. These selected candidate figures or candidate figure areas (e.g., blocks) can then be subjected to variable filter intensity. In other words, if a candidate figure or a candidate figure area (e.g., block) has been selected by the encoder, the encoder can apply the deblocking or rebound elimination filter with variable filter intensity to said selected candidate figure or candidate figure area (e.g., block), i.e., the amount of deblocking or rebound elimination can be selectively controlled by the encoder and thus the coding quality of the figure can be improved compared to conventional encoders.
[013] According to a second aspect of the invention, a deblocking filter is suggested, wherein said deblocking filter is configured to filter a block from a figure in order to reduce blocking or bounce artifacts. In this way, the deblocking filter can also be referred to as a bounce elimination filter. The deblocking filter according to the second aspect can be combined with the encoder and / or the decoder and / or the methods according to the first aspect. Alternatively, the deblocking filter according to the second aspect can be combined with encoders and / or decoders and / or methods that are different from the first aspect.
[014] The unblocking filter according to the second aspect can be configured to filter a block of a figure that is processed in a block-based manner. This filtering can be exploited to reduce blocking or rebound artifacts that may appear when the figure is processed in a block-based manner. The figure can be partitioned into several blocks and sub-blocks. The unblocking filter can be applied to one or more of these blocks and sub-blocks to reduce blocking or rebound artifacts when the figure is coded. Each block can have a block boundary, which can correspond to the outer circumferential boundary of said block. The blocks can be square or, generally, rectangular, depending on the partitioning scheme applied. In this way, the boundary of each block can also be square or rectangular, respectively. Petition 870260064788, dated 01 / 07 / 2026, pages 253 / 340 7 / 59 The outline can comprise several parts, for example, parts that extend along an edge (also referred to as edge outline parts) and parts that extend around a corner (also referred to as corner outline parts). If a figure is partitioned into a plurality of blocks, said blocks can be contiguously arranged, that is, the blocks can touch each other. In this way, a first block can be surrounded by one or more other blocks. The content (e.g., pixels contained in a block) of neighboring blocks can differ from each other, for example, if there is a transition from a dark region of the figure to a light region of the figure. In this way, there can be a dissimilarity between the content of the figure contained inside a first block and the content of the figure contained outside said first block.The figure content outside the first block may be contained within a second surrounding block and may therefore also be referred to as a figure content in the vicinity. Dissimilarities may represent a difference between the figure content contained inside the first block and the figure content in the vicinity contained outside the first block. These dissimilarities may also be referred to as a displacement between the figure content contained inside the first block and the figure content in the vicinity contained outside the first block. The higher the dissimilarities, the greater the magnitude of the displacement value. Dissimilarities may cause blocking or rebound artifacts during figure encoding. Thus, they need to be standardized, which may also be referred to as unblocking or rebound elimination, which can be achieved by the inventive unblocking filter.Therefore, the inventive unblocking filter can be configured to determine, for each of at least eight contour parts of a block contour, a dissimilarity between an unfiltered block content and a figure content in the vicinity around the block through the respective contour part. Said at least eight contour parts include four corner contour parts, each arranged at a corner of the block, and four edge contour parts, each arranged at... Petition 870260064788, dated 01 / 07 / 2026, pages 254 / 340 8 / 59 intermediate contour parts between the corners of the block. The unblocking filter can perform unblocking filtering using different filter characteristics depending on the current content of the figure, that is, depending on the aforementioned dissimilarities. These different filter characteristics can be adjusted by means of adjustable parameters, which may depend on the current dissimilarities of the figure. In this way, the inventive unblocking filter can be configured to parameterize a block unblocking filtering process using the dissimilarities determined for at least eight contour parts in order to obtain a filtered content of the block.
[015] Next, embodiments of the present invention are described in more detail in relation to the figures, in which Figure 1 shows a schematic block diagram of an apparatus for predictive coding of a figure as an example for an encoder in which an intraprediction concept according to the embodiments of the present application can be implemented, Figure 2 shows a schematic block diagram of an apparatus for predictive decoding of a figure, which conforms to the apparatus of Figure 1, as an example for a decoder in which an intraprediction concept according to the embodiments of the present application can be implemented, Figure 3 shows a schematic diagram illustrating an example for a relationship between the prediction residue signal, the prediction signal and the reconstructed signal to illustrate the possibilities of defining the subdivisions for coding mode selection, transformation selection and transformation performance, respectively,Figure 4 shows a schematic block diagram of a decoder according to a modality; Figure 5 shows a schematic view of a figure that is pre-partitioned into blocks and sub-partitioned into sub-blocks; Figures 6A-6F show schematic views of a figure that is... Petition 870260064788, dated 01 / 07 / 2026, pp. 255 / 340 9 / 59 partitioned into blocks using different multi-tree subdivisioning schemes, Figure 7 shows a schematic block diagram of a modality-based encoder, Figure 8 shows a block diagram of a method for block-based decoding of figure data using a modality-based unblocking or rebound elimination filter, Figure 9 shows a block diagram of a method for block-based encoding of figure data using a modality-based unblocking or rebound elimination filter as a modality-based loop filter, Figure 10 shows a block comprising boundary parts on which a modality-based unblocking filter can be applied, Figure 11 shows the block of Figure 10, in which the boundary-bounding sample vectors are represented, to apply the modality-based unblocking filter, Figure 12 shows the block of Figure 10,In which the corner bounding sample vectors are represented, to apply the unblocking filter according to a modality, Figures 13A-13D show an upper left corner of a block with different spatial positions of edge bounding vectors and corner bounding vectors according to a modality, Figure 14 shows a block comprising a bounding band to apply the unblocking filter according to a modality, Figure 15 shows a block that is separated into several processing regions according to a modality, Figure 16 shows a block comprising several partitioning parts according to a modality, Figure 17 shows an exemplary application of the unblocking filter on a block according to a modality, Petition 870260064788, dated 01 / 07 / 2026, pages 256 / 340 10 / 59 Figure 18 shows a block, where the size of the boundary vectors and the size of the corner vectors may depend on the size of the block, and Figure 19 shows a schematic block diagram of a method for filtering a block 1000 of a block-encoded figure based on block 12 by applying an unblocking filter according to a modality.
[016] Equal or equivalent elements or elements with equal or equivalent functionality are denoted in the following description by equal or equivalent reference numbers.
[017] The steps of the method that are represented by means of a block diagram and that are described in relation to said block diagram can also be performed in a different order from the order represented and / or described. Furthermore, the steps of the method in relation to a particular feature of a device can be interchangeable with said feature of said device, and vice versa.
[018] In this document, the first aspect of the invention will first be described in relation to Figures 1 to 9. Subsequently, the second aspect of the invention will be described in relation to Figures 10 to 19. INTRODUCTION TO BLOCK-BASED CODING
[019] The following description of the figures begins with a presentation of a description of an encoder and a decoder of a block-based predictive codec for encoding video figures in order to form an example of an encoding structure in which embodiments of the present invention can be constructed. The respective encoder and decoder are described in relation to Figures 1 to 3. Next, the description of embodiments of the concept of the present invention is presented together with a description of how such concepts can be constructed in the encoder and decoder of Figures 1 and 2, respectively, although the embodiments described in the subsequent Figures 4 and following can also be used to form encoders and decoders that do not operate according to the encoding structure underlying the encoder and decoder. Petition 870260064788, dated 01 / 07 / 2026, pages 257 / 340 11 / 59 decoder for figures 1 and 2.
[020] Figure 1 shows an apparatus for predictive coding of a figure 12 in a continuous data stream 14 that exemplarily uses transform-based residual coding. The apparatus, or encoder, is indicated using the reference signal 10. Figure 2 shows a corresponding decoder 20, that is, an apparatus 20 configured to predictively decode the figure 12' from the continuous data stream 14 also using transform-based residual decoding, wherein the apostrophe has been used to indicate that the figure 12' reconstructed by the decoder 20 deviates from the figure 12 originally encoded by the apparatus 10 in terms of the coding loss introduced by a quantization of the prediction residual signal. Figure 1 and Figure 2 exemplarily use transform-based prediction residual coding, although the embodiments of the present application are not restricted to this type of prediction residual coding.This is also true for other details described in relation to Figures 1 and 2, as will be outlined below.
[021] Encoder 10 is configured to subject the forecast residual signal to spatial-to-spectral transformation and to encode the forecast residual signal thus obtained in the continuous data stream 14. Likewise, decoder 20 is configured to decode the forecast residual signal from the continuous data stream 14 and subject the forecast residual signal thus obtained to spectral-to-spatial transformation.
[022] Internally, the encoder 10 may comprise a forecast residual signal shaper 22 that generates a forecast residual 24 to measure a deviation of a forecast signal 26 from the original signal, i.e., from figure 12. The forecast residual signal shaper 22 may, for example, be a subtractor that subtracts the forecast signal from the original signal, i.e., from figure 12. The encoder 10 then further comprises a transformer 28 that subjects the forecast residual signal 24 to a spatial-to-spectral transformation to obtain a forecast residual signal in the spectral domain 24' which is then subjected to quantization by Petition 870260064788, dated 01 / 07 / 2026, pages 258 / 340 12 / 59 a quantizer 32, also comprised by encoder 10. The thus quantized prediction residue signal 24'' is encoded in the continuous bit stream 14. For this purpose, encoder 10 may optionally comprise an entropy encoder 34 which entropy encodes the transformed and quantized prediction residue signal in the continuous data stream 14. The prediction signal 26 is generated by a prediction stage 36 of encoder 10 based on the prediction residue signal 24'' encoded in, and decodable from, the continuous data stream 14.For this purpose, the prediction stage 36 may, internally, as shown in Figure 1, comprise a dequantizer 38 that dequantizes the prediction residual signal 24'' to the prediction residual signal in the spectral gain domain 24''', which corresponds to the signal 24', except for the loss of quantization, followed by an inverse transformer 40 that subjects the last prediction residual signal 24''' to an inverse transformation, i.e., a spectral-to-spatial transformation, to obtain the prediction residual signal 24'''', which corresponds to the original prediction residual signal 24, except for the loss of quantization. A combiner 42 of the prediction stage 36 then recombines, as by addition, the prediction signal 26 and the prediction residue signal 24'''' to obtain a reconstructed signal 46, that is, a reconstruction of the original signal 12. The reconstructed signal 46 may correspond to the signal 12'.A forecasting module 44 of forecasting stage 36 then generates the forecast signal 26 based on signal 46 by using, for example, spatial forecasting, i.e., intrafigure forecasting, and / or temporal forecasting, i.e., interfigure forecasting.
[023] Likewise, the decoder 20, as shown in Figure 2, may be internally composed of components corresponding to, and interconnected in a manner corresponding to, the prediction stage 36. In particular, the entropy decoder 50 of the decoder 20 may entropy decode the quantized prediction residue signal in the spectral domain 24'' from the continuous data stream, whereby the dequantizer 52, the inverse transformer 54, the combiner 56 and the prediction module 58, interconnected and cooperating in the manner described above with respect to the modules of the prediction stage 36, recover the signal. Petition 870260064788, dated 01 / 07 / 2026, pages 259 / 340 13 / 59 reconstructed based on the signal from the prediction residue 24'', so that, as shown in figure 2, the output of combiner 56 results in the reconstructed signal, namely, figure 12'.
[024] Although not specifically described above, it is readily apparent that encoder 10 can define some coding parameters, including, for example, prediction modes, motion parameters and the like, according to some optimization scheme, such as, for example, in a way that optimizes some criterion related to rate and distortion, i.e., coding cost. For example, encoder 10 and decoder 20 and the corresponding modules 44, 58, respectively, can support different prediction modes, such as intracoding modes and intercoding modes. The granularity at which the encoder and decoder switch between these types of prediction mode can correspond to a subdivision of figures 12 and 12', respectively, into coding segments or coding blocks. In units of these coding segments, for example, the figure can be subdivided into blocks that are intracoded and blocks that are intercoded.Intracoded blocks are predicted based on a pre-encoded / decoded spatial neighborhood of the respective block, as outlined in more detail below. Several intracoding modes can exist and be selected for a given intracoded segment, including directional or angular intracoding modes according to which the respective segment is filled by extrapolating the neighborhood sample values along a certain direction that is specific to the respective directional intracoding mode, in the respective intracoded segment.Intracoding modes may also, for example, comprise one or more additional modes, such as a DC coding mode, according to which the prediction for the respective intracoded block assigns a DC value to all samples in the respective intracoded segment, and / or a planar intracoding mode according to which the prediction of the respective block is approximated or determined as a spatial distribution of the sample values described by a two-dimensional linear function. Petition 870260064788, dated 01 / 07 / 2026, pages 260 / 340 14 / 59 in relation to the sample positions of the respective intracoded block with drive tilt and plane displacement defined by the two-dimensional linear function based on neighboring samples. Compared to this, intercoded blocks can be predicted, for example, temporally. For intercoded blocks, motion vectors can be signaled in the continuous data stream, the motion vectors indicating the spatial displacement of the part of a previously encoded video figure to which figure 12 belongs, in which the previously encoded / decoded figure is sampled in order to obtain the prediction signal for the respective intercoded block.This means that, in addition to the encoding of the residual signal comprised by the continuous data stream 14, such as the entropy-encoded transformation coefficient levels representing the quantized prediction residual signal in the spectral domain 24'', the continuous data stream 14 may also have encoded within it the encoding mode parameters to assign encoding modes to the various blocks, the prediction parameters for some of the blocks, such as the motion parameters for the intercoded segments, and additional optional parameters, such as the parameters to control and signal the subdivision of figures 12 and 12', respectively, into segments. The decoder 20 uses these parameters to subdivide the figure in the same way that the encoder did, to assign the same prediction modes to the segments, and to perform the same prediction to result in the same prediction signal.
[025] Figure 3 illustrates the relationship between the reconstructed signal, that is, the reconstructed figure 12', on the one hand, and the combination of the prediction residual signal 24'''', of the form signaled in the continuous data stream 14, and the prediction signal 26, on the other hand. As previously denoted, the combination can be an addition. The prediction signal 26 is illustrated in Figure 3 as a subdivision of the figure area into intracoded blocks, which are illustratively indicated using hatching, and intercoded blocks, which are illustratively indicated as not hatched. The subdivision can be any subdivision, such as a regular subdivision of the figure area into rows and columns of square blocks or non-square blocks, or a Petition 870260064788, dated 01 / 07 / 2026, pages 261 / 340 15 / 59 multi-tree subdivision of Figure 12 from a root block of the tree into a plurality of leaf blocks of varying size, such as a quadruple tree subdivision or similar, a mixture of which is illustrated in Figure 3 where the figure area is first subdivided into rows and columns of the root blocks of the tree which are then further subdivided according to a recursive multi-tree subdivision into one or more leaf blocks.
[026] Again, the continuous data stream 14 may have an intracoding mode encoded within it for the intracoded blocks 80, which assigns one of several supported intracoding modes to the respective intracoded block 80. For the intercoded blocks 82, the continuous data stream 14 may have one or more motion parameters encoded within it. Generally speaking, the intercoded blocks 82 are not restricted to being temporally encoded. Alternatively, the intercoded blocks 82 may be any block foreseen from previously encoded parts beyond the current figure 12 itself, such as previously encoded figures from a video to which figure 12 belongs, or the figure from another visualization or a hierarchically lower layer in the case of the encoder and decoder being scalable encoders and decoders, respectively.
[027] The signal of the 24'' prediction residue in Figure 3 is also illustrated as a subdivision of the figure area into 84 blocks. These blocks can be called transformation blocks in order to distinguish them from the 80 and 82 encoding blocks. Indeed, Figure 3 illustrates that encoder 10 and decoder 20 can use two different subdivisions of Figure 12 and Figure 12', respectively, into the blocks, namely, a subdivision into 80 and 82 encoding blocks, respectively, and another subdivision into 84 transformation blocks. Both subdivisions can be equal, that is, each 80 and 82 encoding block can concurrently form an 84 transformation block, but Figure 3 illustrates the case where, for example, a subdivision into 84 transformation blocks forms an extension of the subdivision into 80, 82 encoding blocks, so that any Petition 870260064788, dated 01 / 07 / 2026, pages 262 / 340 16 / 59 The outline between two blocks of blocks 80 and 82 overlaps an outline between two blocks 84, or, alternatively, each block 80, 82 either coincides with one of the transformation blocks 84 or coincides with a grouping of the transformation blocks 84. However, the subdivisions can also be determined or selected independently of each other, so that the transformation blocks 84 can alternatively cross the block outlines between blocks 80, 82. Insofar as the subdivision into transformation blocks 84 is related, similar statements are thus true as those presented in relation to the subdivision into blocks 80, 82, that is, the blocks 84 can be the result of a regular subdivision of the figure area into blocks (with or without arrangement in rows and columns), the result of a recursive multi-tree subdivision of the figure area, or a combination thereof, or any other type of block arrangement.As an aside, it should be noted that blocks 80, 82, and 84 are not restricted to being square, rectangular, or any other shape.
[028] Figure 3 further illustrates that the combination of the forecast signal 26 and the forecast residual signal 24''” directly results in the reconstructed signal 12'. However, it should be noted that more than one forecast signal 26 can be combined with the forecast residual signal 24'''' to result in figure 12' according to the alternative modalities.
[029] In Figure 3, the 84 transformation blocks should have the following significance. The transformer 28 and the inverse transformer 54 perform their transformations in units of these 84 transformation blocks. For example, many codecs use some type of DST or DCT for all 84 transformation blocks. Some codecs allow bypassing the transformation so that, for some of the 84 transformation blocks, the prediction residue signal is encoded directly in the spatial domain. However, according to the modalities described below, the encoder 10 and the decoder 20 are configured in such a way that they support various transformations. For example, the transformations supported by the encoder 10 and the decoder 20 may include: Petition 870260064788, dated 01 / 07 / 2026, pages 263 / 340 17 / 59 * 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).
[030] Naturally, although transformer 28 supports all forward transform versions of these transforms, decoder 20 or inverse transformer 54 will support the corresponding backward or inverse versions of the same: * DCT-II inverse (or DCT-III inverse); * Reverse STD-IV; * Reverse DCT-IV; * Reverse STD-VII; * Identity Transformation (IT).
[031] The following description provides more details about which transforms can be supported by encoder 10 and decoder 20. In any case, it should be noted that the set of supported transforms may comprise merely one transform, such as a spectral-to-spatial or spatial-to-spectral transform.
[032] As previously outlined, Figures 1 to 3 have been presented as an example in which the inventive concept further described below can be implemented in order to form specific examples for encoders and decoders according to the present application. To a certain extent, the encoder and decoder of Figures 1 and 2, respectively, may represent possible implementations of the encoders and decoders described herein. Figures 1 and 2 are, however, only examples. An encoder according to the embodiments of the present application may, however, perform block-based encoding of a Figure 12 using the concept outlined in more detail below and which Petition 870260064788, dated 01 / 07 / 2026, pages 264 / 340 18 / 59 is different from the encoder in Figure 1, for example, in that it is not a video encoder, but a still image encoder, in that it does not support interprediction, or in that the subdivision into 80 blocks is performed in a different way than that exemplified in Figure 3.Likewise, decoders according to the embodiments of the present application may perform block-based decoding of figure 12' from the continuous data stream 14 using the encoding concept further outlined below, but may differ, for example, from decoder 20 of figure 2 in that it is not a video decoder but a static figure decoder, in that it does not support intraprediction, or in that it subdivides figure 12' into blocks in a manner different from that described in relation to figure 3 and / or in that it does not derive the prediction residual from the continuous data stream 14 in the transform domain but in the spatial domain, for example. FIRST ASPECT
[033] Figure 4 shows a decoder 20 according to an exemplary embodiment of the present application according to the first aspect of the invention. The decoder 20 can use the above-described concept of block-based decoding of figure data, i.e., of a static figure or a moving figure 12'.
[034] The decoder 20 shown in Figure 4 may comprise an internal structure similar to that described above in relation to Figure 2. Thus, the equal or equivalent elements or the elements with equal or equivalent functionality are denoted in Figures 2 and 4 by equal or equivalent reference numbers. However, the decoder 20 of Figure 4 may differ from the decoder of Figure 2 in that it may additionally comprise a deblocking or bounce elimination filter 110 for filtering and attenuating blocking and / or bounce artifacts, wherein blocking may be considered as a particular case of a bounce artifact.
[035] In the manner described above, the reconstructed version of the figure, that is, the figure Petition 870260064788, dated 01 / 07 / 2026, pages 265 / 340 The decoded 12' 19 / 59 can be obtained by combining the residual signal 26 and the prediction residual 24'' in combiner 56. Decoder 20 in Figure 4 can additionally apply the unblocking or bounce elimination filter 110 to the reconstructed version of the figure, i.e., the decoded 12' figure, by combining the residual signal 26 and the prediction residual 24''.
[036] According to the inventive principle, the decoder 20 can locally vary the intensity of the unblocking or rebound elimination filter 110. In other words, the decoder 20 can decide on the intensity of the filter that should be applied to the decoded figure 12', for example, whether a weak or strong unblocking or rebound elimination filter function should be applied, or even whether an unblocking or rebound elimination filter should be applied at all.
[037] This decision on the applicable filter intensity of the 110 unblocking or rebound elimination filter may be based on a first and a second measurement. The first measurement may represent a locally measured average block size. The second measurement may represent a non-zero coding frequency of the 24'' forecast residual, i.e., the number of 24'' coded non-zero forecast residuals.
[038] Decoder 20 can determine the intensity of the variable filter on a block-by-block basis. Therefore, decoder 20 can be configured to partition figure 12 into blocks and to perform the reconstruction of figure 12 using said blocks, similar to what was described above in relation to figure 3.
[039] Figure 5 shows an example where figure 12 can be partitioned into one or more blocks 181, 182, 183, 184. These blocks 181, 182, 183, 184 can also be referred to as encoding blocks. The decoder 20 can perform the reconstruction of figure 12, that is, the decoding of figure 12, by using said encoding blocks 181, 182, 183, 184.
[040] Furthermore, coding blocks 181, 182, 183, 184 may be subject to sub-partitioning into one or more sub-blocks 181a-181g and 182a-182d, Petition 870260064788, dated 01 / 07 / 2026, pages 266 / 340 20 / 59 respectively. The term “blocks”, in general, as used here, can thus refer to coding blocks 181, 182, 183, 184 and / or sub-blocks 181a-181g, 182a-182d. The aforementioned first measure can be designed to measure the size of the blocks locally. In this way, the size of the blocks can, for example, be measured in terms of coding blocks 181, 182, 183, 184 and / or in terms of sub-blocks 181a-181g, 182a-182d.
[041] The partitioning mode for partitioning the coding blocks 181, 182, 183, 184 into one or more sub-blocks 181a-181g, 182a-182d can be signaled in the continuous data stream 14 by means of a coding tree, which can also be referred to as a partitioning tree or a split tree. A root block of the tree, which may correspond to a coding block 181, 182, 183, 184, can be split into one or more leaf blocks, which may correspond to the sub-blocks 181a-181g and 182a-182d.
[042] In this way, as exemplarily represented in figure 5, the decoder 20 can be configured to perform the partitioning of figure 12 into blocks by subjecting each of the plurality of root blocks of the tree 181, 182, 183, 184 to a recursive multitree subdivision, so that the blocks form leaf blocks 181a-181g, 182a-182d of the plurality of root blocks of the tree 181, 182, 183, 184. The decoder 20 can determine the first measure and the second measure locally for each root block of the tree 181, 182, 183, 184.
[043] For example, in HEVC, coding blocks 181, 182, 183, 184 may also be referred to as Coding Tree Units (CTU), and sub-blocks 181a-181g, 182a-182d may also be referred to as Coding Units (CU). A non-limiting exemplary embodiment shall be described below using the HEVC standard. However, the principle of the present application is not restricted to the HEVC standard.
[044] Consider an application of this order principle in an image or video codec that defines an L x L block size as the largest possible encoding block size. An encoding block such as this 181, 182, 183, 184, Petition 870260064788, dated 01 / 07 / 2026, pages 267 / 340 21 / 59, also previously called CTU, can be subjected to sub-partitioning into multiple square or rectangular sub-blocks 181a-181g, 182a-182d, each of pixel units of size M x N. Examples are shown in Figures 6A6F, which illustrate, as non-limiting examples, various possibilities for partitioning a 181 encoding block.
[045] For example, Figure 6A shows an example in which the coding block 181 is not further partitioned into sub-blocks. In this way, the coding block 181 can only comprise a single sub-block (sub-block 1) and can thus be the same sub-block 1. Figure 6A therefore implies the absence of sub-partitioning.
[046] Some additional examples for CTU segmentations, including rectangular subblocks, are shown in Figures 6B to 6E. On both the encoder and decoder sides, the case of partitioning a CTU 181, 182, 183, 184 into one or more subblocks (CUs) 181a-181g, 182a-182d can be identified by means of the CTU encoding tree signaled in the continuous bit stream. For example, dividing a block by a quadruple tree can lead to four square subblocks, while dividing a block by a (generalized) binary tree can lead to two (generalized) rectangular subblocks.
[047] Figure 6B shows an exemplary partitioning of the coding block 181 into four square sub-blocks (1 to 4) divided by a quadruple tree. Figure 6C shows an exemplary partitioning of the coding block 181 into seven square sub-blocks (1 to 7) divided by a quadruple tree. Figure 6D shows an exemplary partitioning of the coding block 181 into seven sub-blocks, wherein sub-block 7 is a square sub-block divided by a quadruple tree, wherein sub-blocks 1 to 4 are vertically generalized rectangular sub-blocks divided by a binary tree, and wherein sub-blocks 5 and 6 are horizontally generalized rectangular sub-blocks divided by a binary tree. Figure 6E shows an exemplary partitioning of the 181 encoding block into seven sub-blocks, where sub-blocks 1 and 2 are vertically generalized rectangular sub-blocks. Petition 870260064788, dated 01 / 07 / 2026, pages 268 / 340 22 / 59 divided by a binary tree, and where sub-blocks 3 to 8 are square sub-blocks divided by a quadruple tree.
[048] In other words, decoder 20 can be configured to read partitioning information (e.g., quad tree, binary tree) from the continuous data stream 14. Decoder 20 can be further configured to perform the subjecting of the tree root blocks (CTUs) 181, 182, 183, 184 to recursive multi-tree subdivisioning depending on said partitioning information. Decoder 20 can be further configured to determine the first measure depending on said partitioning information.
[049] According to one embodiment, the decoder 20 can be configured to determine the first measure by determining, for each root block of the tree (CTU) 181, 182, 183, 184, the number of leaf blocks (sub-blocks) 181a-181g, 182a-182d into which the respective root block of the tree (CTU) 181, 182, 183, 184 is divided. This first measure can then be referenced with the capital letter A. That is, A can represent, for each root block of the tree (CTU), the number of leaf blocks or sub-blocks (CUs), respectively.
[050] CTUs 181, 182, 183, 184 with low visual activity (i.e., few image details) are typically not subpartitioned or are subpartitioned into only a few relatively large sub-blocks, as shown in Figure 6A, for example. Furthermore, for these low-activity CTUs 181, 182, 183, 184, spatial intrafigure prediction (and temporal interfigure prediction, if applicable) typically works very efficiently. As a result, the 24'' prediction residuals in said CTUs 181, 182, 183, 184 may comprise very little signal energy and thus may often be completely quantized to zero and, in doing so, may be dispensed with from transmission.
[051] Sometimes, however, at least one sub-block in a low-activity CTU such as 181, 182, 183, 184 may exhibit relatively high signal variance in its 24'' prediction residual, thus requiring a transmission of at least one (roughly) quantized residual that is not completely Petition 870260064788, dated 01 / 07 / 2026, pages 269 / 340 23 / 59 zero and that is likely to cause visible blocking in the decoded figure 12'.
[052] Each of the residual coefficient signals, which are also referred to as residual transformation units (TU) in HEVC, is associated with a subblock. In other words, each subblock (CU) can comprise a transformation unit (TU) to perform a piecewise transformation of the forecast residual with at least one transformation unit per block, i.e., per coding block or per subblock, depending on the partitioning granularity. In this way, in the coding tree, for each root block of the tree (CTU), a number of leaf blocks (CUs) and a number of coefficient blocks (TUs) can be determined.
[053] A coded block indicator (CBF) can indicate whether a residual coefficient (TU) signal has been fully quantized to zero (CBF = 0) or whether a residual coefficient (TU) signal has not been fully quantized to zero (CBF = 1). The latter may also be referred to as a non-zero coded block indicator, or non-zero CBF. The number of non-zero coded block indicators (CBF = 1) that can be signaled in the continuous bit stream for each CTU.
[054] Next, the number of non-zero coded block indicators (CBF = 1) can be referenced with the capital letter B. In other words, the capital letter B can represent the number of coefficient blocks that are not completely quantized to zero. According to the inventive principle, this number B of non-zero coded blocks can represent the second measure.
[055] According to such an embodiment, decoder 20 can be configured to decode the forecast residual of the continuous data stream 14 into coefficient block (TU) units that represent a piecewise transformation of the forecast residual with at least one coefficient block (TU) per block (CTU or CU). Decoder 20 can be further configured to determine the second measure B by determining, for each root block of the tree (CTU), the number of coefficient blocks (TUs) that are not completely quantized to zero. This can be managed by counting the number of Petition 870260064788, dated 01 / 07 / 2026, pages 270 / 340 24 / 59 non-zero coded block indicators (CBF = 1) in the CTU, for example.
[056] As a non-limiting example, CTUs 181, 182, 183, 184 which are subpartitioned into fewer than nine (i.e., A < 9) sub-blocks (CUs) with, at the same time, non-zero encoding and transmission of B > 0 residual coefficient signals (the TUs, each associated with a sub-block), can benefit primarily from the application of very strong deblocking or bounce-freezing post-filters. In this way, these CTUs can be candidate blocks to be subjected to very strong deblocking or bounce-freezing.
[057] For example, Figure 6F shows a partitioning of the coding block 185 into nine sub-blocks, that is, the number of sub-blocks in this example is A = 9. Thus, the aforementioned condition of A < 9, for example, will not be satisfied. Therefore, the coding block 185 in Figure 6F may not be subject to very strong deblocking post-filters. In this way, this CTU 185 may not be a candidate block to be subjected to very strong deblocking or bounce elimination.
[058] Again, on both the encoder and decoder sides, the case of partitioning into fewer than A sub-blocks can be identified by means of the CTU coding tree signaled in the continuous bit stream, while the presence of B non-zero residual coefficient signals can be perceived by counting the number of non-zero coded block indicators (CBFs) in the CTU, which are also signaled in the continuous bit stream.
[059] In the manner described above, it can be verified whether a block (CTU) is a potential candidate block to be subjected to very strong de-blocking or rebound elimination using the de-blocking or rebound elimination filter, or whether this block should instead be subjected to a lower intensity of de-blocking or rebound elimination. This corresponds to the principle described here of a highly selective control of the application of said strong de-blocking filtering. In other words, the intensity of the de-blocking or rebound elimination filter can be locally varied.
[060] This local variation in filter intensity may depend on two Petition 870260064788, dated 01 / 07 / 2026, pages 271 / 340 25 / 59 measures, namely, a first measure A representing the number of sub-blocks into which the respective encoding block is divided and a second measure B representing the number of non-zero encoded residues. If a block satisfies both these measures A and B, then this block is a potential candidate block to be subjected to strong unblocking or bounce elimination. This can be indicated in the continuous bit stream by means of a filter control parameter (FCP).
[061] Thus, according to a modality such as this, the decoder 20 can perform the local variation of the filter intensity by, for the first parts of the figure (i.e., for the candidate blocks), where the first and second measurements A, B satisfy a pre-determined criterion (e.g., A < 9, B > 0), reading the intensity information (FCP) from the continuous data stream 14 indicative of an intensity of the unblocking or bounce elimination filter 110 to be applied to the respective part (i.e., block). For the second parts of the figure (i.e., for the non-candidate blocks), where the first and second measurements A, B do not satisfy the predetermined criterion (e.g., A < 9, B > 0), the decoder 20 can be configured to set the intensity of the unblocking or bounce elimination filter 110 to be applied to the respective part (block) at a second, lower intensity that is lower than the first filter intensity.
[062] Thus, at least for the aforementioned non-limiting example, it can be summarized that Condition 1: A desired loop filtering (e.g., very strong unblocking) must be allowed in a CTU if * the signaled encoding tree indicates a partitioning of said CTU into fewer than A sub-blocks, and / or * the number of non-zero value CBFs (i.e., CBF = 1) signaled in said CTU is B, where B > 0.
[063] In other words, if condition 1 is not met, the desired loop filtering must be disallowed and must therefore always be disabled in the affected CTU on both the encoder and decoder sides. If, for Petition 870260064788, dated 01 / 07 / 2026, pp. 272 / 340 26 / 59 On the other hand, if condition 1 is satisfied in a CTU, the desired loop filtering is allowed, but this does not necessarily mean that said loop filtering is also enabled.
[064] In the above-described non-limiting example, the predetermined criterion, that is, Condition 1, was satisfied when A < 9 and B > 0. However, stated in more general terms, the predetermined criterion is satisfied if the first measure A falls below a predetermined limit, and if the second measure B exceeds or is equal to a second predetermined limit.
[065] For example, the first predetermined limit is p, with p satisfying 1 < p < 17 for each of the root blocks of the tree (CTUs), that is, A < p. Additionally or alternatively, the second predetermined limit is q, with q satisfying -1 < q < 51, that is, B > q.
[066] In fact, as discussed above, it is highly desirable to provide a means for achieving highly selective control of the application of super-strong loop filters, such as very strong unblocking filters. An exemplary way of providing this means is Condition 2: Signal a loop filter control parameter (FCP), for example, by transmitting a continuous bit stream, in a CTU if * condition 1 is satisfied for said CTU.
[067] In other words, if condition 1 is not met, the said loop filter control parameter (FCP) is not signaled. If, on the other hand, condition 1 is met in a CTU, the said filter control parameter (FCP) – for example, an additional individual bit element – is written into the continuous bit stream by the encoder and read from the said continuous bit stream by the decoder.
[068] If the filter control parameter is present in the continuous bit stream (i.e., condition 1 is satisfied) for a given CTU, then the value of this control parameter determines whether the decoder should enable the desired loop filtering (e.g., value 1) or disable it (e.g., value 0) in that CTU. In this way, the encoder can control - and signal - the desired application. Petition 870260064788, dated 01 / 07 / 2026, pages 273 / 340 27 / 59, for example, very strong unblocking.
[069] In summary, the concept of the present application may suggest a selective signaling of a loop filter control parameter per coding block (e.g., coding tree unit, CTU), to disable or attenuate the application of said loop filter in said coding block. The loop filter control parameter may be signaled only if the coding block is partitioned into fewer than A sub-blocks or if residual coefficient coding (i.e., non-zero coding) is applied in B of the sub-blocks.
[070] Figure 7 shows an encoder 10 that can be applied according to the concept of the present application according to the first aspect of the invention. The encoder 10 shown in Figure 7 may comprise an internal structure similar to that described above in relation to Figure 1. Thus, identical or equivalent elements or elements with identical or equivalent functionality are denoted in Figures 1 and 7 by identical or equivalent reference numbers. However, the encoder 10 of Figure 7 may differ from the encoder of Figure 1, in that it may additionally comprise a deblocking or rebound elimination filter 120 for filtering and attenuating blocking and / or rebound artifacts, wherein blocking may be considered as a particular case of a rebound artifact. The deblocking or rebound elimination filter 120 may be a loop filter.
[071] Encoder 10 is configured for block-based encoding of figure data using a deblocking or rebound elimination filter 120 as a loop filter. Encoder 120 can be further configured to encode, in a block-by-block manner, a figure 12 in a continuous data stream 14 using prediction and by encoding a prediction residue in the continuous data stream 14 with the provision of a reconstructed version of the figure in a prediction loop 136 of encoder 10. The prediction loop 136 can be a part of the prediction stage 36 which has already been explained earlier in relation to figure 1.
[072] In said prediction loop 136, the reconstruction of figure 12 and the application of Petition 870260064788, dated 01 / 07 / 2026, pages 274 / 340 28 / 59 unblocking or rebound elimination filter 120 can be simulated. In this way, encoder 10 can be configured to apply the unblocking or rebound elimination filter 120 to the reconstructed version 12' of figure 12.
[073] In said prediction loop 136, the encoder 10 can additionally experiment with different filter intensities of the unblocking or rebound elimination filter 120 in a manner similar to that explained previously for the decoder side. In particular, the filter intensity can be varied depending on the above-described first measurement A and second measurement B. In this way, the encoder 10 can be configured to locally vary an intensity of the unblocking or rebound elimination filter 120 depending on a first measurement A that locally measures an average block size and a second measurement B that locally measures a non-zero encoding frequency of the prediction residual.
[074] Encoder 10 is additionally configured to partition figure 12 into blocks (CTUs) 181, 182, 183, 184, as described in figure 3 and figures 6A to 6F shown. Encoder 10 is additionally configured to perform encoding using blocks 181, 182, 183, 184, where the first measurement A is drawn to locally measure a size of blocks 181, 182, 183, 184.
[075] In particular, with regard to figures 6A to 6F, encoder 10 can also divide blocks 181, 182, 183, 184 into one or more sub-blocks by using a multi-tree subdivision, wherein the encoding tree can, for example, be a quad tree or a (generalized) binary tree.
[076] Thus, encoder 10 can be configured to perform partitioning by subjecting each of a plurality of tree root blocks (CTUs) 181, 182, 183, 184 in which Figure 12 is pre-partitioned to recursive multitree subdivisioning, such that blocks 181, 182, 183, 184 form the leaf blocks (sub-blocks or CUs) of the plurality of tree root blocks 181, 182, 183, 184. Furthermore, encoder 10 can be configured to determine the first measure A and the second measure B locally for each block of Petition 870260064788, dated 01 / 07 / 2026, pages 275 / 340 29 / 59 root of the tree 181, 182, 183, 184.
[077] To do this, encoder 10 can try, in prediction loop 136, one or more different types of multitree subdivisioning. If encoder 10 has found a multitree subdivision that works well with the respective CTU, then encoder 10 selects this multitree subdivision and adds the corresponding partitioning information to the continuous bit stream, based on the selected multitree subdivision. Depending on said partitioning information entered, encoder 10 can determine the first measure A.
[078] For example, in the form shown in figure 6E, encoder 10 can select a combined quadruple tree - binary tree scheme for dividing CTU 181 into six square sub-blocks (sub-blocks 3 to 8) and two rectangular sub-blocks (sub-blocks 1 and 2). In this way, encoder 10 can divide the encoding block (CTU) 181 into eight sub-blocks (CUs) that correspond to a first measure A of A = 8.
[079] Declared in terms of the encoding tree, encoder 10 can be configured to perform the subjection of each of the plurality of root blocks of the tree to recursive multitree subdivisioning based on partitioning information (e.g., quad tree / binary tree). Encoder 10 can insert the partitioning information into the continuous data stream 14, and encoder 10 can determine the first measure A depending on the partitioning information.
[080] Encoder 10 can determine the first measurement A on a block-by-block basis. That is, encoder 10 can determine the number of sub-blocks (CUs) for each coding block (CTU) 181, 182, 183, 184 separately.
[081] Thus, in terms of the encoding tree, encoder 10 can be configured to determine the first measure A by determining, for each root block of the tree (CTU) 181, 182, 183, 184, the number of leaf blocks (CUs or subblocks) in which the respective root block of the tree (CTU) 181, 182, 183, 184 is located. Petition 870260064788, dated 01 / 07 / 2026, pages 276 / 340 30 / 59 split.
[082] In the manner described above, with respect to decoder 20, encoder 10 can also be configured to predictively encode figure data using one or more signals from the prediction residue.
[083] Residual signals, which are also referred to as residual transformation units (TU) in HEVC, are each associated with a sub-block (CU). In other words, each sub-block (CU) can comprise a transformation unit (TU) to perform a piecewise transformation of the forecast residual with at least one transformation unit per block, i.e., per coding block or per sub-block, depending on the partitioning granularity. In this way, in the coding tree, for each root block of the tree (CTU), a number of leaf blocks (CUs) and a number of coefficient blocks (TUs) can be determined.
[084] A coded block indicator (CBF) can indicate whether a residual coefficient (TU) signal has been fully quantized to zero (CBF = 0) or whether a residual coefficient (TU) signal has not been fully quantized to zero (CBF = 1). The latter may also be referred to as a non-zero coded block indicator, or non-zero CBF. Non-zero coded block indicators (CBF = 1) may be signaled in the continuous bit stream for each CTU.
[085] Next, the number of non-zero coded block indicators (CBF = 1) can be referenced with the capital letter B. In other words, the capital letter B can represent the number of coefficient blocks that are not completely quantized to zero. According to the inventive principle, this number B of non-zero coded blocks can represent the second measure.
[086] In this way, encoder 10 can be configured to encode the forecast residual in the continuous data stream 14 into coefficient block (TU) units that represent a piecewise transformation of the forecast residual with at least one coefficient block (TU) per block (CTU or CU). Encoder 10 can be further configured to determine the second Petition 870260064788, dated 01 / 07 / 2026, pages 277 / 340 31 / 59 measure B by determining, for each root block of the tree (CTU), the number of coefficient blocks (TU) that are not completely quantized to zero.
[087] Again, on both the encoder and decoder sides, the first measure A, that is, the number of sub-blocks (CUs) into which a coding block (CTU) is partitioned, can be identified by means of the coding tree of the CTU which can be signaled in the continuous bit stream by the encoder 10, while the presence of B non-zero residual coefficient signals can be perceived by counting the number of non-zero coded block indicators (CBFs) in the CTU, which can also be signaled in the continuous bit stream by the encoder 10.
[088] In prediction loop 136, it can be checked whether a block (CTU) is a potential candidate block to be subjected to very strong unblocking or rebound elimination using the unblocking or rebound elimination filter, or whether this block should instead be subjected to a lower intensity of unblocking or rebound elimination. This corresponds to the principle described here of a highly selective control of the application of said strong unblocking filtering on the encoder side. In other words, the intensity of the unblocking or rebound elimination filter can be locally varied.
[089] This local variation in filter intensity may depend on two measures, namely, a first measure A which represents the number of sub-blocks into which the respective coding block is divided and a second measure B which represents the number of non-zero coded residues. If a block satisfies these two measures A and B, then this block is a potential candidate block to be subjected to strong unblocking or bounce elimination. This can be indicated in the continuous bit stream by the encoder 10 by means of a filter control parameter (FCP).
[090] Thus, according to a modality such as this, the encoder 10 can perform the local variation of the filter intensity by, for the first parts of the figure (that is, for the candidate blocks), where the first and second measurements A, B Petition 870260064788, dated 01 / 07 / 2026, pages 278 / 340 32 / 59 satisfy a pre-determined criterion (e.g., A < 9, B > 0), insertion of intensity information (FCP) into the continuous data stream 14 indicating an intensity of the unblocking or rebound elimination filter 120 to be applied to the respective part (i.e., block). For the second parts of the figure (i.e., for the non-candidate blocks), where the first and second measurements A, B do not satisfy the pre-determined criterion (e.g., A < 9, B > 0), the encoder 10 can be configured to set the intensity of the unblocking or rebound elimination filter 120 to be applied to the respective part (block) at a second, lower intensity that is lower than the first filter intensity.
[091] In the above-described non-limiting example, the predetermined criterion, that is, Condition 1, was satisfied when A < 9 and B > 0. However, stated in more general terms, the predetermined criterion is satisfied if the first measure A falls below a predetermined limit, and if the second measure B exceeds or is equal to a second predetermined limit.
[092] For example, the first predetermined limit is p, with p satisfying 1 < p < 17 for each of the root blocks of the tree (CTUs), that is, A < p. Additionally or alternatively, the second predetermined limit is q, with q satisfying -1 < q < 51, that is, B > q.
[093] The operating principles of encoder 10 and decoder 20 should be summarized as follows: Encoder 10 can calculate an ideal partitioning in a rate distortion loop. Based on this calculation, encoder 10 can check if the aforementioned Condition 1 (candidate block) is satisfied. If Condition 1 is satisfied, then encoder 10 can experiment with strong CTU deblocking. If the strong deblocking leads to measurable improvements (e.g., SNR or SSIM gain) in the CTU, then encoder 10 can use the strong deblocking for this CTU and signal a value of the loop filter control parameter (FCP), e.g., FCP = 1 (enabled), for said CTU in the continuous bit stream 14. Otherwise, if there is no measurable improvement, e.g., SNR or SSIM gain, Petition 870260064788, dated 01 / 07 / 2026, pages 279 / 340 33 / 59 or if there is even a loss in SNR or SSIM during the application of strong unblocking, then encoder 10 can discard the result of the strong unblocking and signal a respective value of the loop filter control parameter (FCP), for example, a value of the loop filter control parameter (FCP) of zero FCP = 0 (disabled), for the respective CTU. This should signal to decoder 20 to refrain from using strong unblocking for said CTU. If encoder 10 can determine that Condition 1 is not satisfied, no loop filter control parameter (FCP) will be signaled in the continuous bit stream 14 and thus strong unblocking will not be experienced for the respective CTUs.
[094] Decoder 20 can receive the continuous bit stream 14 with the previously calculated optimal partitioning of the CTU. Based on the corresponding partitioning information, decoder 20 can check, for each CTU, whether Condition 1 is satisfied. If Condition 1 is satisfied in the respective CTU, a loop filter control parameter (FCP) is read from the continuous bit stream 14. If the value of the loop filter control parameter (FCP) is enabled (e.g., FCP = 1), strong unblocking will be exploited. If the value of the loop filter control parameter (FCP) is disabled (e.g., FCP = 0), strong unblocking will not be exploited. If decoder 20 can determine that Condition 1 is not met, no loop filter control parameter (FCP) will be read from the continuous bit stream 14, and thus strong unblocking will not be exploited for the respective CTUs.
[095] Figure 8 shows a schematic block diagram of a method for block-based decoding of figure data using a deblocking or bounce-out filter 110.
[096] In block 801, a figure is reconstructed, in a block-by-block manner, from a continuous data stream 14 using prediction and using a prediction residue encoded in the continuous data stream 14 to obtain a reconstructed version 12' of figure 12.
[097] In block 802, the 110 unblocking or rebound elimination filter is Petition 870260064788, dated 01 / 07 / 2026, pages 280 / 340 34 / 59 applied to the reconstructed version 12' of figure 12.
[098] In block 803, an intensity of the unblocking or bounce elimination filter 110 is locally varied depending on a first measurement A that locally measures an average block size and a second measurement B that locally measures a non-zero encoding frequency of the prediction residual.
[099] Figure 9 shows a schematic block diagram of a method for block-based encoding of figure data using a 120 unblocking or rebound elimination filter as a loop filter.
[0100] In block 901, a figure 12 is encoded, in a block-by-block manner, in a continuous data stream 14 using prediction and encoding of a prediction residue in the continuous data stream 14 with the provision of a reconstructed version 12' of figure 12 in a prediction loop 136.
[0101] In block 902, the unblocking or rebound elimination filter 120 is applied in the reconstructed version 12' of figure 12.
[0102] In block 903, an intensity of the unblocking or bounce elimination filter 120 is locally varied depending on a first measurement A that locally measures an average block size and a second measurement B that locally measures a non-zero encoding frequency of the prediction residual. SECOND ASPECT
[0103] In the first aspect discussed above, a selective signaling of a filter control (in a loop), for example, by means of a filter control parameter, was suggested in order to choose between different unblocking or rebound elimination filters to be applied to a figure. Next, the second aspect will be discussed, in which a concept of the unblocking filter is suggested. The said unblocking or rebound elimination filter according to the second aspect can be combined with the first aspect, or it can be applied separately in encoders and / or decoders and / or methods different from the first aspect.
[0104] Conventional unblocking methods based on the approach Petition 870260064788, dated 01 / 07 / 2026, pp. 281 / 340 35 / 59 adaptive signal filtering applied in HEVC (see the Introduction section on page 1), in general, leads to subjective improvements, but is sometimes still too weak to remove excessive blocking artifacts around large coding blocks, as mentioned earlier. In combination with the first aspect described previously, it has been found that it is beneficial to apply “super-strong” deblocking filtering with a larger filter support (e.g., 16 spatial samples) than that used in the state of the art (e.g., 4 or 8 samples).Given that the filter control parameter (FCP) introduced in the first aspect allows control over the filtering process on the encoder side, for example, through rate / distortion testing, it can also be concluded that the application of very simple super-strong unblocking filters, with little or no adaptive intensity control to the signal, is sufficient (since their execution can be disabled by the encoder using the signaled FCP).
[0105] For example, if FCP = 0 in a CTU, traditional unlocking with filter intensity detection on the decoder side of the reconstructed image component can be applied to each sub-area of the CTU's TU. If FCP = 1 in a CTU, the very strong unlocking filter described here can be used in each TU whose width and height both equal 32 or more pixels. This can be extended by filter intensity detection on the decoder side. A filter can remain strong enough, i.e., it can advantageously employ between 8 and 16 filter derivations.
[0106] The first step in a superstrong unblocking algorithm is the derivation of the left, right, top, and bottom bounding offsets for each TU that satisfies the stated size constraint. Specifically, given d = {left, right, top, bottom}, offsetd = Clip3(-127,127, (Pd - Qd + Nd) >> (log2(Nd) + 1)), where Pd and Qd are the sums of the reconstructed outer and inner bounding samples of the TU, respectively (excluding the four outer corner samples), along the d-direction of length Nd (i.e., the respective width-height). Petition 870260064788, dated 01 / 07 / 2026, pages 282 / 340 36 / 59 of the TU). Unavailable Pd sums on slice or image boundaries are replaced by adjacent Qd sums. Then, by unblocking in the case of FCP = 1 in a CTU (see also the first aspect), weighted offset d additions can be applied, for each d, along the 16 columns or rows of the inner bounding sample perpendicular to d. This adds a linear ramp with slope offset d ^ 16 in the direction of the TU bounding d, achieving offset d on the bounding, with blends at the corners of the TU.
[0107] In a modification, very strong unblocking can be performed before traditional unblocking in the luma channels as well as chroma (note that, for 4:2:0 chroma [spatially descending sampled], the three bold values shown are halved).
[0108] In summary, a conventional super-strong corrective unblocking algorithm may rely on four control values (average displacement values computed along the left, right, top, and bottom block boundaries, respectively) with undisclosed blends of the four control values in the four corner blocks.
[0109] However, this conventional unblocking algorithm can lead to blocking or bounce artifacts, particularly in areas near corner blocks, which can lead to a partially subideal subjective perception of encoding quality. Given the partially subideal subjective performance of the state of the art, the second aspect of the invention suggests improvements through a corrective unblocking design dependent on eight, rather than four, control values.
[0110] The said inventive eight-value corrective unblocking approach extends the conventional four-value design by four additional corner values, i.e., an average offset value c for each of the c = {top-left, top-right, bottom-left, bottom-right} corners of the given block. Furthermore, given the undisclosed (and subideal) conventional merging implementation of the prior technology, a detailed embodiment of an inventive merging algorithm Petition 870260064788, dated 01 / 07 / 2026, pages 283 / 340 37 / 59 for unblocking around corner blocks, using pairs of adjacent control values, will be described.
[0111] Figure 10 shows an example of a 1000 block that can be processed by the unblocking filter according to the second aspect of the invention. The 1000 block can be a sub-block of a block-based coding scheme. For example, the 1000 block can be a so-called Transformation Unit (TU).
[0112] Block 1000 may comprise a square shape or, in general, a rectangular shape. Block 1000 may comprise a block 1010 outline, which may represent the outer circumferential demarcation of block 1000. The block 1010 outline may comprise a plurality of outline parts into which the block 1010 outline may be subdivided.
[0113] Block 1000 may comprise at least four corners and four edges extending between said four corners. In this manner, block contour 1010 may comprise four corner contour parts 1021, 1022, 1023, 1024 and four edge contour parts 1011, 1012, 1013, 1014 extending between the four corner contour parts 1021, 1022, 1023, 1024.
[0114] Block 1000 may contain a plurality of pixels representing a figure content 1015. The figure content inside block 1000 is illustrated by hatched lines. There may also be figure content 1016 outside block 1000, which may be represented by the surrounding pixels. Said surrounding figure content (surrounding pixels) 1016 may be arranged around block 1000 along the respective contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024.
[0115] The content of figure 1015 within block 1000 may not yet be filtered, and may therefore be referred to as unfiltered content of block 1000. Applying the unblocking filter to said unfiltered content of figure 1015 may provide filtered figure content, which may also be referred to as filtered content of block 1000. Petition 870260064788, dated 01 / 07 / 2026, pages 284 / 340 38 / 59
[0116] Therefore, the unblocking filter can compare the content of the still unfiltered figure 1015 inside block 1000 with a content of the adjacent figure 1016 outside block 1000. This can be done in each of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024.
[0117] For example, as shown in Figure 11, an unfiltered content of Figure 1015 inside Block 1000 that extends along the first part of the boundary contour 1011 can be compared with the content of the adjacent Figure 1016 that also extends along the first part of the boundary contour 1011, but outside Block 1000. The content of Figure 1015 inside Block 1000 may differ from the content of Figure 1016 outside Block 1000. Thus, a dissimilarity between the content of Figure 1015 inside Block 1000 and the content of Figure 1016 outside Block 1000 may exist, which can be determined by the unblocking filter.
[0118] The processing, that is, the unblocking filtering, of the unblocking filter can be adjusted based on said dissimilarities. In other words, the unblocking filtering can be parameterized based on the dissimilarities determined between the content of figure 1015 inside block 1000 and the content of figure 1016 outside block 1000.
[0119] Thus, according to one embodiment, an unblocking filter for filtering a block 1000 of a figure is suggested, wherein the unblocking filter can be configured to determine, for each of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 of a contour 1010 of block 1000, a dissimilarity between an unfiltered content 1015 of block 1000 and a figure content in the vicinity 1016 around block 1000 along the respective contour part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, the eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 including four corner contour parts 1021, 1022, 1023, 1024, each arranged in a corner of block 1000, and four edge contour parts 1011, 1012, 1013, 1014, each arranged in intermediate parts of contour 1010 between the corners of Petition 870260064788, dated 01 / 07 / 2026, pages 285 / 340 39 / 59 block 1000. The unblocking filter can be further configured to parameterize an unblocking filtering of block 1000 using the dissimilarities determined for at least eight boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 in order to obtain a filtered content of block 1000. CALCULATION OF UNBLOCKING CONTROL VALUES FROM DELIMITATION BLOCK SAMPLES
[0120] Still in relation to figure 11, the content of exemplarily illustrated figure 1015 inside block 1000 and the content of exemplarily illustrated figure 1016 outside block 1000 can each comprise a plurality of pixels, also referred to as samples. For example, a plurality of first samples can be located inside block 1000 and a plurality of second samples can be located outside block 1000.
[0121] According to one embodiment, the unblocking filter can be configured to determine, for each of at least eight boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, the dissimilarity by computing an average difference between the first samples and the second samples, said first samples being located inside block 1000 and adjacent to the respective boundary part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, and said second samples being located outside block 1000 and adjacent to the respective boundary part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024.
[0122] The plurality of first samples can be subsumed into a first sample vector Q, and the plurality of second samples can be subsumed into a second sample vector P. Since the sample vectors P, Q can extend along a respective boundary part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, said vectors P, Q can also be referred to as bounding sample vectors. Each bounding sample vector P, Q can comprise a sum of samples, for example, the first sample vector Q can comprise a sum of first samples and the second sample vector P can comprise a sum of second samples. Petition 870260064788, dated 01 / 07 / 2026, pages 286 / 340 40 / 59
[0123] The example shown was described by reference to a border contour part 1011. However, the same remains true for corner contour parts 1021, 1022, 1023, 1024, as should be exemplarily described in relation to figure 12.
[0124] Figure 12 shows a corner bounding part 1024 in the upper left corner of block 1000. An inner bounding sample vector Q1 extends along a vertical part of the corner bounding part 1024 inside block 1000. Adjacent to the inner bounding sample vector Qi, an outer bounding sample vector P1 extends along a vertical part of the corner bounding part 1024 outside block 1000.
[0125] Furthermore, an additional inner bounding sample vector Q2 extends along a horizontal portion of the corner bounding portion 1024 inside block 1000. Adjacent to the additional inner bounding sample vector Q2, an additional outer bounding sample vector P2 extends along a horizontal portion of the corner bounding portion 1024 outside block 1000.
[0126] The inner bounding sample vectors Qi and Q2 can be subsumed as a first corner sample vector Qc, and the outer bounding sample vectors P1 and P2 can be subsumed as a second corner sample vector Pc.
[0127] According to one embodiment, the unblocking filter can be configured to determine, for each of at least eight boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, the dissimilarity by computing a difference between a first sum (vector Q) through the first samples and a second sum (vector P) through the second samples, said first samples being located inside block 1000 and adjacent to the respective boundary part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, and said second samples being located outside block 1000 and adjacent to the respective boundary part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024.
[0128] In this way, a (average) difference between the first vectors of Petition 870260064788, dated 01 / 07 / 2026, pages 287 / 340 41 / 59 sample Q (inner) and the second sample vectors P (outer) can be computed, which corresponds to Δ = P - Q.
[0129] A displacement between the outer and inner sample vectors along the boundary parts of edge 1011, 1012, 1013, 1014 can be computed in a conventional way, given d = {left edge, right edge, top edge, bottom edge}: offset d = Clip3 (-127,127, (Pd - Qd + Nd) >> (log2 (Nd) + 1)).
[0130] According to the concept described here, in addition to the edge contour parts 1011, 1012, 1013, 1014, a displacement between the outer and inner sample vectors along the corner contour parts 1021, 1022, 1023, 1024 can be computed, given c = {top left corner, top right corner, bottom left corner, bottom right corner}: offsetc = Clip3 (-127,127, (Pc - Qc + Nc) >> (log2 (Nc) + 1)), where the aforementioned (average) difference Δ = P - Q is considered for the corner bounding vectors Qc and Pc.
[0131] In other words, for each of the four c corners (top-left, top-right, bottom-left, and bottom-right), the corrective offset, to be used as the control value in the actual unblocking process, is the average of the difference between the reconstructed sample sets of the outer (Pc) and inner (Qc) bounding around the block corner (e.g., TU) (again, excluding the four outer corner samples). Preferably, Nc equals the filter support length, i.e., the number of columns / rows to be unblocked on each side of a 1010 block contour, but Nc can also be a fraction in power of two of Nd, i.e., the block width or height (TU), as in the previous technology. More specifically, according to the concept described here, Nc = 16 (or 8 in the case of 4:2:0 chroma), although the previous technology uses Nd^32.
[0132] According to one embodiment, the unblocking filter can generally be configured to define the widths of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, depending on a block size. Petition 870260064788, dated 01 / 07 / 2026, pages 288 / 340 42 / 59 1000, such that, at least for one of the eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, a width of the respective contour part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 equals a fraction of a block contour length 1010 that may vary for different block sizes. For example, the larger the block, the greater the width of a respective contour part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 may be. In the aforementioned way, the contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 can be fractions of the contour length of the blocks 1010. In other words, the contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 themselves can always be smaller than the contour length of the block 1010.
[0133] With the widths of the variable boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, the spatial locations of the previously discussed bounding vectors P and Q can also be varied.
[0134] Figures 13A to 13D show the possible spatial locations of the Pc and Qc sums of the samples used in the offsetc derivation for the non-limiting example of c = top-left. In general, an offset can be calculated from four individual vector sums P1, P2, Q1, Q2, in the form illustrated, with Pc = P1 + P2 and Qc = Q1 + Q2.
[0135] According to some examples, P2 and Q2 may not overlap or may partially overlap with Pd and Qd, in the form introduced in the previous technology (in which case it can simply be defined Pd = P3 and Qd = Q3, see figures 13A to 13C), or P2 and Q2 may completely overlap with Pd and Qd (in which case it can be specified Pd = P2 + P3 or Pd = P2 + P3 + P4 and Qd = Q2 + Q3 or Qd = Q2 + Q3 + Q4, see figure 13D, with P4 and Q4 used to calculate an offset at another corner). In the case of Figure 13D, such a summation of non-overlapping vector sums reduces algorithmic complexity.Note that the vectors for P3 and Q3 can also be of zero length, that is, Pd = P2 + P4 and Qd = Q2 + Q4.
[0136] In this way, figures 13A to 13D show possible spatial locations of boundary parts of the boundary edge 1011 and corner boundary parts 1024 and corresponding boundary sample vectors P and Q of a block of Petition 870260064788, dated 01 / 07 / 2026, pages 289 / 340 43 / 59 encoding 1000. In particular, in Figures 13A to 13C, the respective contour parts 1011, 1024 and the corresponding bounding sample vectors Pc, Qc (at the corners) and Pd, Qd along the edges may not overlap (Figure 13A), may touch each other (Figure 13B), may partially overlap (Figure 13C), or may completely overlap (Figure 13D) for offsetc and offsetd. As an example, the case represented in Figure 13A may be preferred for block dimensions greater than 4Nc, the cases represented in Figures 13B and 13C may be preferred for block dimensions between 3Nc and 4Nc, and the case represented in Figure 13D may be preferred for block dimensions less than 3Nc.
[0137] Thus, according to one embodiment, the unblocking filter can be configured to define the widths of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, depending on a block size 1000, in general, in two different ways. First, if the block size 1000 is smaller than a first predetermined quantity, for example, block size < 3Nc, the four edge contour parts 1011, 1012, 1013, 1014 and the four corner contour parts 1021, 1022, 1023, 1024 can overlap each other (see figures 13C and 13D). Second, if the size of block 1000 is greater than the first predetermined quantity, for example, block size > 3Nc, the four edge contour parts 1011, 1012, 1013, 1014 and the four corner contour parts 1021, 1022, 1023, 1024 may not overlap (see figures 13A and 13B).
[0138] According to the most precise modality, the unblocking filter can be configured to define the widths of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024, depending on a block size 1000 in three different ways. First, if the block size 1000 is smaller than a first predetermined quantity, for example, block size < 3Nc, the four edge contour parts 1011, 1012, 1013, 1014 and the four corner contour parts 1021, 1022, 1023, 1024 can overlap each other (see Figure 13D). Second, if the block size 1000 is between a first Petition 870260064788, dated 01 / 07 / 2026, pages 290 / 340 44 / 59 If the block size is a predetermined quantity and a second predetermined quantity, for example, 3Nc < block size < 4Nc, the four edge contour parts 1011, 1012, 1013, 1014 and the four corner contour parts 1021, 1022, 1023, 1024 can touch each other (see Figure 13B). Third, if the block size 1000 is greater than the second predetermined quantity, for example, block size > 4Nc, the four edge contour parts 1011, 1012, 1013, 1014 and the four corner contour parts 1021, 1022, 1023, 1024 can be spaced apart from each other (see Figure 13A).
[0139] For the cases in figures 13A to 13C, it may be advantageous to modify the calculation of the previous offset d technology, as follows: offset d = Clip3 (-127,127, (Pd - Qd + Ne) >> (log2 (Ne) + 1)), where Ne< Nd-2Nc is the length of vectors P3 and Q3. Ne can be a power of 2 for the >> displacement. APPLICATION OF EIGHT-VALUE UNLOCKING THAT INCLUDES BLENDING IN CORNER BLOCKS
[0140] Figures 14 to 16 can serve to give a brief introduction to the terminology of the following description. Figure 14 shows the previously discussed block 1000 which has a block contour 1010 that is partitioned into eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024. Within block 1000, the rows 1031 and columns 1032 of the samples can be arranged.
[0141] The line represented 1031 in figure 14 can be the second line when viewed from the outline of block 1010. In this way, said line 1031 can have a sample displacement of one line relative to the outline of block 1010. The column represented 1032 in figure 14 can be the third column when viewed from the outline of block 1010. In this way, said column 1032 can have a sample displacement of two columns relative to the outline of block 1010. Lines 1031 and columns 1032 can be subsumed as sample lines.
[0142] The unblocking filter may comprise a length of support of Petition 870260064788, dated 01 / 07 / 2026, pages 291 / 340 45 / 59 filter representing the number of rows 1031, 1032 (i.e., rows / columns) of block 1000 that should be subjected to the filtering process, i.e., the number of rows 1031, 1032 (i.e., rows / columns) of block 1000 that should be unblocked on each side of the block boundary 1010. Said number of rows 1031, 1032 (i.e., rows / columns) is counted from the outside, i.e., from the boundary 1010 to the interior 1030 of block 1000.
[0143] In this way, a delimiting band 1033 (illustrated in hatched lines) can represent the number of lines 1031, 1032 of samples that must be unblocked by the unblocking filter, while the bandwidth of said delimiting band 1033 can represent the intensity of the filter. The delimiting band 1033 can extend circumferentially around the interior 1030 of the block 1000.
[0144] In the example shown in Figure 14, the 1033 delimiting band may comprise a vertical bandwidth of five columns in each vertical part of the 1010 boundary and a horizontal bandwidth of four rows in each horizontal part of the 1010 boundary. Stated more generally, the length of the filter support, i.e., the bandwidth of the 1033 delimiting band, may be different between the vertical and horizontal parts.
[0145] Alternatively, the length of the filter support, that is, the bandwidth of the delimiting band 1033, may be equal in each contour part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024. Thus, according to one embodiment, the unblocking filter may be configured so that the delimiting band 1033 comprises a constant circumferential width.
[0146] Furthermore, it may be possible that the filter strength, i.e., the bandwidth of the 1033 delimiting band, may vary with the size of the 1000 block to be encoded. For example, the filter strength, i.e., the bandwidth of the 1033 delimiting band, may increase with the increasing size of the 1000 block. Thus, according to one embodiment, the unblocking filter may be configured to set a bandwidth of the 1033 delimiting band increasing Petition 870260064788, dated 01 / 07 / 2026, pages 292 / 340 46 / 59 monotonically with respect to a block size of 1000.
[0147] As shown in Figure 15, the bounding band 1033 can be partitioned into one or more bounding regions 1030, 1040, 1050, which can also be referred to as processing regions. For example, the bounding band 1033 may comprise corner regions 1040 and edge-centered regions 1050. These bounding regions 1040, 1050 may be square or, in general, rectangular in shape. These bounding regions 1040, 1050 may be subject to unblocking filtering. The bounding band 1033 may additionally comprise an inner region 1030 which may not be subject to unblocking filtering.
[0148] As shown in Figure 16, the bounding regions 1040, 1050 may comprise bounding parts. For example, the corner regions 1040 (exemplarily shown in the top left and top right corners) may comprise the corner bounding parts 1041a, 1041b which extend diagonally from the respective corner of block 1000 towards the interior (inner region) 1030 of block 1000. The two corner bounding parts exemplarily represented 1041a, 1041b form a pair of neighboring corner bounding parts.
[0149] Two or more additional boundary parts may be arranged between the pair of neighboring corner boundary parts 1041a, 1041b. For example, a middle boundary part 1051 may extend circumferentially between the pair of neighboring corner boundary parts 1041a, 1041b. Furthermore, sections 1061a, 1061b may extend circumferentially between neighboring corner boundary parts 1041a, 1041b and the middle boundary part 1051. For example, a first section 1061a may be arranged between the middle boundary part 1051 and the first corner boundary part 1041a, and a second section 1061b may be arranged between the middle boundary part 1051 and the second corner boundary part 1041b.
[0150] Thus, according to one modality, the unblocking filter may be Petition 870260064788, dated 01 / 07 / 2026, pages 293 / 340 47 / 59 configured, such that the boundary parts of the boundary band 1033 may at least comprise, at each corner of block 1000, a corner boundary part 1041a, 1041b extending diagonally from the respective corner towards the interior 1030 of block 1000, and, between each pair of neighboring corner boundary parts 1041a, 1041b of block 1000, two or three boundary parts 1051, 1061a, 1061b.
[0151] According to an additional embodiment, the unblocking filter can be configured so that the two or three boundary parts 1051, 1061a, 1061b between each pair of neighboring corner boundary parts 1041a, 1041b of block 1000 can comprise a first section 1061a circumferentially adjacent to a first corner boundary part 1041a of the respective pair, a second section 1061b circumferentially adjacent to a second corner boundary part 1041b of the respective pair, and a middle boundary part 1051 circumferentially between the first and second corner boundary parts of the respective pair.
[0152] In some examples, the middle boundary section 1051 may not be present. This may depend on the block size and the segmentation of the boundary section 1010. In this case, the above-described sections 1061a, 1061b may touch each other.
[0153] Thus, according to one embodiment, the unblocking filter can be configured to either provide three bounding parts 1051, 1061a, 1061b or only two bounding parts 1061a, 1061b between each pair of neighboring corner bounding parts 1041a, 1041b. This may depend on the size of the block that is measured horizontally in this example, i.e., between the two corner bounding parts 1041a, 1041b. Or, stated in more general terms, the size of the block is measured along a direction that extends between the corners from which the respective pair of neighboring corner bounding parts 1041a, 1041b extends in the direction of the interior of the block 1000.
[0154] In the first case, if the block size is greater than twice Petition 870260064788, dated 01 / 07 / 2026, pp. 294 / 340 48 / 59 a bounding band width of 1033, then three bounding parts can be arranged between the pair of corner bounding parts 1041a, 1041b, namely, a first section 1061a circumferentially adjacent to the first corner bounding part 1041a of the respective pair, a second section 1061b circumferentially adjacent to the second corner bounding part 1041b of the respective pair, and the middle bounding part 1051 which extends circumferentially between the first and second corner bounding parts 1041a, 1041b of the respective pair.
[0155] In a second case, if the block size is not greater than twice the width of the bounding band 1033, then the middle bounding part 1051 may not be present. In this way, only two bounding parts may be present, namely, the first section 1061a circumferentially adjacent to the first corner bounding part 1041a of the respective pair, and the second section 1061b circumferentially adjacent to the second corner bounding part 1041b of the respective pair. However, in this case, the first and second sections 1061a, 1061b touch each other.
[0156] Based on the description given, a non-limiting example of a deblocking filter processing that is applied to a block (e.g., TU) that has middle delimiting parts 1051 and corner delimiting parts 1041a, 1041b should be explained below.
[0157] As mentioned above, the filter characteristics of the unblocking filter can be parameterized based on the dissimilarities between the inner and outer bounding vectors P and Q in corner regions 1040, and in edge-centered regions 1050, if applicable.
[0158] Figure 17 shows an example of how the unblocking filter can apply the unblocking filtering process to a block of 1000.
[0159] According to one embodiment, the unblocking filter can be configured to shift each sample in a 1033-block delimiting band 1000 that extends along the 1010-block contour by using a value of Petition 870260064788, dated 01 / 07 / 2026, pages 295 / 340 49 / 59 offset (e.g., offsetc for corner regions 1040 and offsetd for edge-centered regions 1050). Said offset value (offsetc and offsetd) is defined such that the offset value (offsetc and offsetd) is constant for each row 1031, 1032 (i.e., row / column) of the samples in each bounding part 1041a, 1041b, 1051, 1061a, 1061b. Or, stated more generally, constant for each row 1031, 1032 of the samples that are similarly modeled relative to the block boundary 1010 and that have a constant sample offset relative to the block boundary 1010.
[0160] According to the concept described here, the filter intensity decreases from the 1010 boundary of the 1000 block to the 1030 interior of the 1000 block, that is, in the direction of the 1070 arrow. Stated differently, the filter intensity is higher for lines 1031, 1032 (i.e., lines / columns) that are located closer to the 1010 boundary of the 1000 block than for lines 1031, 1032 (i.e., lines / columns) that are located closer to the 1030 interior of the 1000 block. In this way, the offset value (offset and offsetd) is subject to attenuation of the 1010 boundary relative to a 1030 midpoint of the 1000 block.
[0161] Furthermore, the offset value (offsetc and offsetd) in the respective boundary part 1041a, 1041b, 1051, 1061a, 1061b is computed based on the dissimilarity determined for one or more of the boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 that are circumferentially closer to the respective boundary part 1041a, 1041b, 1051, 1061a, 1061b. For example, the offset value of the samples contained in the region centered on the edge 1050, that is, in the middle boundary part 1051, is computed based on the dissimilarity between the outer vector P3 and the inner vector Q3 (not shown in Figure 17), while the offset value of the samples contained in the corner regions 1040, that is, in the corner boundary part 1041a and in the sections 1061a, is computed based on the dissimilarity between the outer vector Pc = P1 + P2 and the inner vector Qc = Q1 + Q2 (not shown in Figure 17).
[0162] In this way, eight displacement values can be computed with Petition 870260064788, dated 01 / 07 / 2026, pages 296 / 340 50 / 59 based on the dissimilarities between the inner and outer bounding vectors P and Q, where four offset d values for the four edge contour parts 1011, 1012, 1013, 1014 and four offset c values for the four corner contour parts 1021, 1022, 1023, 1024 are computed. Using the four offset c control values and the four offset d control values determined as described, an exemplary unblocking process can be constructed as follows.
[0163] As shown in Figure 18, given a coding block 1000 (e.g., TU) of size MxN to be subjected to unblocking, eight processing regions (i.e., four corner regions 1040 and four edge-centered regions 1050) in the inner bounds of the block are defined based on the bounding segmentation of Figures 13B and 13D. The square-shaped regions 1040 in the corner blocks may preferably be of fixed size, NcxNc each, while the edge-centered regions 1050 may be of variable size, Ncx(Nd -2Nc) or (Nd -2Nc)xNc each, with possibly Nd - 2Nc = 0. Furthermore, the pixels inside the inner rectangular region 1030 of the coding block 1000 may not be modified by the unblocking process.
[0164] Thus, according to one embodiment, the unblocking filter can be configured so that the region centered on the edge 1050 and thus the corresponding mid-bounding part 1051 is circumferentially as wide as the block 1000 minus twice the width of the corner regions 1040 and thus the corresponding corner-bounding parts 10401a, 1041b. Furthermore, if the bounding band 1033 comprises a constant circumferential width, the mid-bounding part 1051 is circumferentially as wide as the block 1000 minus twice the width of the bounding band 1033, since the circumferential width can equal the length of the vectors Pi, P2, Q1, Q2 in the corner regions 1040.
[0165] However, in the aforementioned manner, the regions centered on the edge 1050, and thus the mid-boundary parts 1051, may not be present in Petition 870260064788, dated 01 / 07 / 2026, pages 297 / 340 51 / 59 absolute, depending on the block size. For example, in blocks with width or height Nd = 2Nc, the aforementioned regions centered on the 1050 edge may not be present along the top / bottom or left / right edges, respectively, and thus may not be processed. Nd < 2Nc, however, is not allowed.
[0166] Still referring to figure 17, which shows the spatial locations of the segments of the 1030, 1040, 1050 boundary block processed by the unblocking, it can be seen that the outer columns / rows P1 to P4 of the pixel samples are not processed during the unblocking of the current encoding block. Instead, they are processed during the unblocking of the adjacent blocks, here left and top. The line regions Qi, Q2, and Q4 are part of their respective corner regions 1040 and Q3 is part of its centered region on the edge 1050.
[0167] Next, consider Nc as the filter length, preferably equal to 16 or 8 pixels, and which may depend on the image component (luma or chroma) or the block size. Unblocking a region centered on the edge is straightforward. In the case of a horizontal top or bottom block outline, Nc lines of pixels p(x, y) are subject to a weighted addition of offset: Top row: p'(x, y) = p(x, y) + Od, baseline: p'(x, H-1-y) = p(x, H-1-y) + Od, Od = (offsetd (2Nc-1-2y) + Nc) >> (log2 (Nc) + 1), with H being the block height in pixel units, Nc < x < W - Nc (W is the block width), and 0 < y < Nc. In the case of a center left or right vertical block border, Nc columns of pixels p(x, y) are treated similarly: left column: p'( x, y) = p( x, y) + od, right column: p'( W -1- x, y) = p( W-1- x, y) + od, od = (offset d · (2 Nc-1-2 x) + Nc) >> (log2 Petition 870260064788, dated 01 / 07 / 2026, pp. 298 / 340 52 / 59 (Nc) + 1), with W being the width of the block in pixel units, Nc < y < H - Nc (H is again the height) and 0 < x < Nc.
[0168] In both cases, the length of each processed row / column of 1031, 1032 pixels equals Nd - 2Nc. These operations can be similar to those performed in the previous technology. Effectively, the closer the pixel p(x, y) is to the center of the 1000 block, the more attenuated the offset d is added. Again, in a 1000 block that has width or height Nd = 2Nc, the edge-centered regions 1050 will not be present along the affected dimension according to this aspect. The unblocking applied to the corner regions 1040, which is the main concept of this aspect of the invention, is somewhat more sophisticated: diagonal: p'( f, H-1- f) = p( f, H-1- f) + oc, p'(W-1-f, f) = p( W-1-f, f) + oc, p'(W-1-f, H-1-f) = p(W-1-f, H-1-f) + oc, p'(f, f) = p(f, f) + oc, oc = (((Nc -f) · offsetc + f · mc) · (2Nc-1-2 f) + Nc2) >> (log2 (Nc2) + 1), where 0 < f < Nc are the pixel locations along the diagonals towards the center of the 1030 block, and mc is the arithmetic mean of the two offset values adjacent to the corner, i.e., ½ (offsettop + offsetleft) or ½ (offsettop + offsetright) or ½ (offsetbottom + offsetleft) or ½ (offsetbottom + offsetright). This means that the closer the diagonal pixel p(f, f) or p(W-1-f, f) or p(f, H-1-f) or p(W-1-f, H-1-f) is to the center 1030 of the block 1000, the more mc dominates the weighted addition and the more attenuated the weighted addition is.
[0169] Alternatively, oc in the unlocking of corner regions 1040 can be simplified to depend only on offsetc, but not on mc, as follows: oc = (offsetc · (2Nc-1-2f) + Nc) >> (log2 (Nc) + 1).
[0170] This produces very similar subjective quality. The two remaining corner sections are given by Petition 870260064788, dated 01 / 07 / 2026, pp. 299 / 340 53 / 59 horizontal: p'(x, f) = p(x, f) + ( (((Nc -x) · offsetc + x · offsetd) · (2Nc-1-2f) + Nc2) >> (log? (Nc2) + 1) ), with f < x < Nc, vertical parts: P'(f- y) = P(f- y) + ( (((Nc -y) · offsetc + y · offsetd) · (2Nc-1-2f) + Nc2) >> (log2 (Nc2) + 1) ) with f < y < Nc, for oc = top-left corner 1040 as an example. The other three corners are processed equivalently. In other words, the last two equations represent a special, hardware-friendly realization of a linear interpolation between adjacent weighted offset c and offset d values. It is noticeable that, in all the equations of the preceding 14 pages, log2 (N) + 1 = log2 (2 N) and log2 (N2) + 1 = 2 log2 (N) + 1, thus, the particular implementations may vary in the details.
[0171] As stated in the appended claims, according to one embodiment, the unblocking filter can be configured to define, for each of the corner delimiting parts 1041, the offset value oc for the samples in the respective corner delimiting part 1041, such that the offset value oc of the samples in the respective corner delimiting part 1041 varies from the contour 1010 of the block 1000 towards the interior of the block 1000 according to a weighted average.
[0172] The said weighted average is an average with respect to a first offsetc value for the corner contour parts 1021 and a second offsetmc value for the two corner border contour parts adjacent to 1011, 1014 (see also Figure 10). More generally, the first offsetc value can be determined based on the dissimilarity determined for the respective corner contour part 1021, 1022, 1023, 1024 from which the respective corner boundary part 1041 extends diagonally in the direction Petition 870260064788, dated 01 / 07 / 2026, pages 300 / 340 54 / 59 of the interior 1030 of block 1000, while the second displacement value mc can be determined based on the dissimilarities determined for the edge contour parts 1011, 1012, 1013, 1014 circumferentially adjacent to the respective corner contour part 1021, 1022, 1023, 1024 from which the respective corner boundary part 1041 extends diagonally in the direction of the interior 1030 of block 1000.
[0173] The weights (see Nc-f ef in the formula shown) of the weighted average may depend on the distance of the samples fa from the 1010 boundary of the 1000 block in such a way that the weighted average depends monotonically decreasingly less on the first offset value c, compared to the second offset value mc with increasing distance. In other words, the closer the diagonal pixel p(f, f) or p(W-1-f, f) or p(f, H-1-f) or p(W-1-f, H-1-f) is to the 1030 center of the 1000 block, the more mc dominates the weighted addition and the more attenuated the weighted addition is.
[0174] Again, with regard to figure 16, the corner boundary parts 1041a, 1041b can extend diagonally from the corner of the block 1000 to the interior 1030 of the block. A first and a second section 1061a, 1061b can be arranged between a middle boundary part 1051, as explained previously.
[0175] The offset values for the samples contained in the first section 1061a can be interpolated between the first corner delineation part 1041a and the middle delineation part 1051. In particular, when viewed along a line 1031, an offset value for a sample contained in the first section 1061a can be interpolated between an offset value of the first corner delineation part 1041a (on the same line 1031) and an offset value of the middle delineation part 1051 (on the same line 1031).
[0176] The displacement values for the samples contained in the second section 1061b can be interpolated between the second corner delineation part 1041b and the middle delineation part 1051. In particular, when viewed along Petition 870260064788, dated 01 / 07 / 2026, pages 301 / 340 55 / 59 a line 1031, a displacement value of a sample contained in the second section 1061b can be interpolated between a displacement value of the second corner delimiter part 1041b (in the same line 1031) and a displacement value of the middle delimiter part 1051 (in the same line 1031).
[0177] As stated in the appended claims, according to one embodiment, the unblocking filter is configured to set, for the first section 1061a, the offset value for the samples in the first section 1061a, such that, for each row (i.e., row / column) 1031, 1032, the offset value of the samples in the respective row (i.e., row / column) 1031, 1032 is interpolated between the offset value of the first corner delimiter part 1041a in the respective row (i.e., row / column) 1031, 1032 and the offset value of the middle delimiter part 1051 in the respective row (i.e., row / column) 1031, 1032.Furthermore, the unblocking filter is configured to set, for the second section 1061b, the offset value for the samples in the second section 1061b, such that, for each row (i.e., row / column) 1031, 1032, the offset value of the samples in the respective row (i.e., row / column) 1031, 1032 is interpolated between the offset value of the second corner delimiter part 1041b in the respective row (i.e., row / column) 1031, 1032 and the offset value of the middle delimiter part 1051 in the respective row (i.e., row / column) 1031, 1032.
[0178] Figure 19 shows a schematic block diagram of a method for filtering a block 1000 of a figure encoded based on block 12.
[0179] In block 1901, for each of at least eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 of a contour 1010 of block 1000, a dissimilarity between an unfiltered content 1015 of block 1000 and a figure content in the vicinity 1016 around block 1000 along the respective contour part 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 is determined, wherein the eight contour parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 include four corner contour parts 1021, 1022, 1023, 1024, each arranged in a corner of block 1000, and four edge contour parts 1011, 1012, 1013, Petition 870260064788, dated 01 / 07 / 2026, pages 302 / 340 56 / 59 1014, each arranged in intermediate parts of the contour 1010 between the corners of block 1000.
[0180] In block 1902, a block 1000 unblocking filter is parameterized using the dissimilarities determined for at least eight boundary parts 1011, 1012, 1013, 1014, 1021, 1022, 1023, 1024 in order to obtain a filtered block 1000 content.
[0181] Note that, unlike filters of prior technology, for example, those in HEVC, the inventive “super-strong” unblocking algorithm may not adapt its unblocking intensity depending on the pixel samples to be unblocked and thus exhibits lower computational complexity than prior technology during filter application. Certainly, an adaptation of the unblocking intensity can be achieved through the first aspect of the present invention, that is, by using a conditionally signaled filter control parameter that allows selecting, in both the encoder and the decoder, an unblocking process from a “weak” or “medium-strong” algorithm of prior technology and the “super-strong” algorithm described herein. Note, furthermore, that in Figure 13A, not all pixel samples along a block boundary are considered in the calculation of the offset ce of the offset d control values.This represents a reduction in algorithmic complexity compared to the state of the art during filter calculation. In conclusion, it can be summarized that the very strong inventive corrective unblocking approach presented in the second aspect of the invention achieves better visual performance than the previous technology, while simultaneously exhibiting lower computational complexity in both the calculation and application of the corrective unblocking algorithm.
[0182] Although some aspects have been described in the context of a device, it is clear that these aspects also represent a description of the corresponding method, in which a block or a device corresponds to a step of the method or a feature of a step of the method. Similarly, the aspects described in the context of a step of the method also represent a Petition 870260064788, dated 01 / 07 / 2026, pages 303 / 340 57 / 59 description of a corresponding block or item or feature of a corresponding device.
[0183] Some or all of the steps of the method may be performed by (or using) a hardware device, such as a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important steps of the method may be performed by such a device.
[0184] Depending on certain implementation requirements, embodiments of the invention may be implemented in hardware or in software, or at least partially in hardware or at least partially in software. Implementation may be carried out using a digital storage medium, for example, a floppy disk, a DVD, a Blu-ray, a CD, a ROM, a PROM, an EPROM, an EEPROM, or a flash memory, which has electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system in such a way that the respective method is carried out. Therefore, the digital storage medium may be computer-readable.
[0185] Some embodiments of the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, in such a way that one of the methods described herein is carried out.
[0186] In general, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative to perform one of the methods when the computer program product runs on a computer. The program code can, for example, be stored in a machine-readable carrier.
[0187] Other embodiments include the computer program for performing one of the methods described herein, stored on a machine-readable carrier. Petition 870260064788, dated 01 / 07 / 2026, pages 304 / 340 58 / 59
[0188] In other words, an embodiment of the inventive method is therefore a computer program that has program code to perform one of the methods described herein, when the computer program runs on a computer.
[0189] A further embodiment of the inventive methods is therefore a data carrier (or a digital storage medium, or a computer-readable medium) comprising, recorded thereon, the computer program for performing one of the methods described herein. The data carrier, the digital storage medium or the recorded medium is typically tangible and / or non-transitory.
[0190] An additional embodiment of the inventive method is therefore a continuous stream of data or a sequence of signals representing the computer program for carrying out one of the methods described herein. The continuous stream of data or the sequence of signals may, for example, be configured to be transferred via a data communication connection, for example, via the Internet.
[0191] An additional embodiment comprises a processing means, for example, a computer, or a programmable logic device, configured for or adapted to perform one of the methods described herein.
[0192] An additional embodiment comprises a computer that has installed on it the computer program to perform one of the methods described herein.
[0193] An additional embodiment according to the invention comprises an apparatus or system configured to transfer (e.g., electronically or optically) a computer program to perform one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device, or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.
[0194] In some embodiments, a programmable logic device (e.g., Petition 870260064788, dated 01 / 07 / 2026, pages 305 / 340 59 / 59 a field-programmable gate array) can be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field-programmable gate array can cooperate with a microprocessor in order to perform one of the methods described herein. In general, the methods are preferably performed by any hardware device.
[0195] The device described here can be implemented using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0196] The methods described here can be performed using a hardware device, or using a computer, or using a combination of a hardware device and a computer.
[0197] Although this disclosure has been described in relation to illustrative embodiments, it is not intended that this disclosure be interpreted in a limiting sense. Various modifications and combinations of the illustrative embodiments, as well as other embodiments of this disclosure, will be apparent to those skilled in the art by reference to the description. Therefore, it is intended that the appended claims encompass any such modifications or embodiments. Petition 870260064788, dated 01 / 07 / 2026, pp. 306 / 340
Claims
1 / 9 CLAIMS 1. Decoder (20) for block-based decoding of image data using a deblocking or rebound elimination filter (110), characterized in that it is configured to partition an image (12) into a plurality of encoding tree units (181, 182, 183, 184) and determine, for at least one encoding tree unit (181, 182, 183, 184), i) a first metric (A) representing the number of encoding units (181a - 181g; 182a - 182g) contained in at least one encoding tree unit (181, 182, 183, 184), and ii) a second metric (B) representing the number of non-zero coded block flags (CBFs) within said at least one encoding tree unit (181, 182, 183, 184);receive, from a data stream (14), a filter control parameter (FCP), wherein the filter control parameter (FCP) indicates a filter intensity to be applied to the bell-ringing artifact removal or unlocking filter (110), wherein the decoder (20) is configured to: select a first filter intensity if the first metric (A) is below a first predetermined threshold value and the second metric (B) exceeds a second predetermined threshold value, or select a lower second filter intensity, or a lower standard filter intensity otherwise; and apply the selected filter intensity to the said at least one encoding tree unit (181, 182, 183, 184).
2. Decoder (20), according to claim 1, characterized in that the first metric (A) is designed to measure a size of said at least one encoding tree unit (181, 182, 183, 184).
3. Decoder (20), according to claim 1 or 2, Petition 870260064788, dated 01 / 07 / 2026, page 8 / 340 2 / 9 characterized in that the second metric (B) is designed to measure a frequency of non-zero encodings of a prediction residual.
4. Decoder (20), according to any one of claims 1 to 3, characterized in that the first predetermined limit value is p, with p satisfying 1 < p < 17 for said at least one coding tree unit (181, 182, 183, 184), and / or the second predetermined limit value is q, with q satisfying -1 < q < 51 for said at least one coding tree unit (181, 182, 183, 184).
5. Decoder (20), according to any one of claims 1 to 4, characterized in that it is configured to, in the reconstruction of the image (12), assign to said at least one coding tree unit (181, 182, 183, 184) one of a plurality of prediction modes comprising one or more intraprediction modes and / or one or more interprediction modes.
6. Decoder (20), according to any one of claims 1 to 5, characterized in that it is configured to perform the partitioning of the image (12) into the plurality of encoding tree units (181, 182, 183, 184) by subjecting the plurality of encoding tree units (181, 182, 183, 184) in which the image (12) is pre-partitioned to recursive multi-tree subdivisioning resulting in encoding units (181a-181g; 182a-182d) of the plurality of encoding tree units (181, 182, 183, 184), and determining the first metric (A) and the second metric (B) locally for each of the plurality of encoding tree units (181, 182, 183, 184).
7. Decoder (20), according to claim 6, characterized by being configured to read the partitioning information from the continuous data stream (14), perform the subjecting of each of the plurality of encoding tree units (181, 182, 183, 184) to recursive multitree subdivisioning depending on the partitioning information, and determine the first metric (A) depending on the partitioning information.
8. Decoder (20), according to claim 6 or 7, characterized in that it is configured to determine the first metric (A) by determining, for each encoding tree unit (181, 182, 183, 184), the number of encoding units (181a-181g; 182a-182d) into which the respective encoding tree unit (181, 182, 183, 184) is divided.
9. Decoder (20), according to any one of claims 1 to 8, characterized in that it is configured to decode a prediction residual from the continuous data stream (14) into coefficient block units that represent a piecewise transformation of the prediction residual with at least one coefficient block per coding tree unit (181, 182, 183, 184), and determine the second metric (B) by determining, for each coding tree unit (181, 182, 183, 184), the number of coefficient blocks that are not completely quantized to zero.
10. Decoder (20), according to claim 9, characterized in that it is configured to, for each coefficient block, select one of a plurality of inverse transformations, optionally including an identity transformation, and use the selected inverse transformation to obtain a corresponding encoding tree unit (181, 182, 183, 184) or encoding units (181a-181g; 182a-182d) thereof. Petition 870260064788, dated 01 / 07 / 2026, p. 10 / 340 4 / 9 12. Decoder (20), according to any one of claims 1 to 11, characterized in that the plurality of encoding tree units (181, 182, 183, 184) are root blocks of the tree in which the image (12) is pre-partitioned and which are additionally subjected to multi-tree subdivisioning to result in blocks (181, 182, 183, 184; 181a-181g; 182a-182d) using which reconstruction is performed.
13. Decoder (20), according to any one of claims 1 to 12, characterized in that the image data comprise a video and the decoder (20) is a video decoder, a loop filter of which is formed by the unblocking or bounce elimination filter (110).
14. Encoder (10) for block-based encoding of figure data using a deblocking or de-blocking filter (120) as a loop filter, characterized in that it is configured to partition an image (12) into a plurality of encoding tree units (181, 182, 183, 184) and determine, for at least one encoding tree unit (181, 182, 183, 184), i) a first metric (A) representing the number of encoding units (181a - 181g; 182a - 182g) contained in at least one encoding tree unit (181, 182, 183, 184), and ii) a second metric (B) representing the number of non-zero encoded block flags (CBFs) within said at least one encoding tree unit (181, 182, 183, 184). 183, 184);encode, in a data stream (14), a filter control parameter (FCP), wherein the filter control parameter (FCP) indicates a filter intensity to be applied to the deringing or touch artifact removal filter (110), wherein the encoder (10) is configured to: Petition 870260064788, dated 01 / 07 / 2026, page 11 / 340 5 / 9 set a first filter intensity if the first metric (A) is below a first predetermined threshold value and the second metric (B) exceeds a second predetermined threshold value, or set a lower second filter intensity, or a lower default filter intensity otherwise.; 15. Encoder (10), according to claim 14, characterized in that the first metric (A) is designed to measure a size of said at least one encoding tree unit (181, 182, 183, 184).
16. Encoder (10), according to claim 15, characterized in that it is configured to, in the encoding, assign to each block (181, 182, 183, 184; 181a-181g; 182a-182d) one of a plurality of prediction modes to the respective block (181, 182, 183, 184; 181a-181g; 182a-182d), the plurality of prediction modes comprising one or more intraprediction modes and / or one or more interprediction modes.
17. Encoder (10), according to claim 15 or 16, characterized in that the second metric (B) is designed to measure a non-zero encoding frequency of a prediction residual.
18. Encoder (10), according to any of claims 15 to 17, characterized in that the first predetermined limit value is p, with p satisfying 1 < p < 17 for said at least one coding tree unit (181, 182, 183, 184), and / or the second predetermined limit value is q, with q satisfying -1 < q < 51 for each said at least one coding tree unit (181, 182, 183, 184).
19. Encoder (10), according to any one of claims 15 to 18, characterized in that it is configured to, in the encoding, Petition 870260064788, dated 01 / 07 / 2026, page 12 / 340 6 / 9 assign to at least one encoding tree unit (181, 182, 183, 184) one of a plurality of prediction modes, the plurality of prediction modes comprising one or more intraprediction modes and / or one or more interprediction modes.
20. Encoder (10), according to any one of claims 15 to 19, characterized in that it is configured to perform partitioning by subjecting each of the plurality of encoding tree units (181, 182, 183, 184) in which the image (12) is pre-partitioned to recursive multi-tree subdivisioning, resulting in encoding units (181a-181g; 182a-182d) of the plurality of encoding block units (181, 182, 183, 184), and determining the first metric (A) and the second metric (B) locally for each of the plurality of encoding tree units (181, 182, 183, 184).
21. Encoder (10), according to claim 20, characterized in that it is configured to perform the subjection of each of the plurality of encoding tree units (181, 182, 183, 184) to recursive multitree subdivisioning based on partitioning information, insert the partitioning information into the continuous data stream (14), and determine the first metric (A) depending on the partitioning information.
22. Encoder (10), according to claim 20 or 21, characterized in that it is configured to determine the first metric (A) by determining, for each encoding tree unit (181, 182, 183, 184), the number of encoding units (181a-181g; 182a-182d) into which the respective encoding tree unit (181, 182, 183, 184) is divided.
23. Encoder (10), according to any one of claims 15 to 22, characterized in that it is configured to encode a prediction residual in the continuous data stream (14) into coefficient block units that represent a piecewise transformation of the prediction residual with at least one coefficient block per coding tree unit (181, 182, 183, 184), and determine the second metric (B) by determining, for each coding tree unit (181, 182, 183, 184), the number of coefficient blocks that are not completely quantized to zero.
24. Encoder (10), according to claim 23, characterized in that it is configured to, for each coefficient block, select one of a plurality of transformations, including optionally an identity transformation, and use the selected inverse transformation to obtain a corresponding encoding tree unit (181, 182, 183, 184) or an encoding unit (181a-181g; 182a-182d) thereof.
25. Encoder (10), according to any one of claims 15 to 24, characterized in that the plurality of encoding tree units (181, 182, 183, 184) are root blocks of the tree in which the image (12) is pre-partitioned and which are additionally subjected to multi-tree subdivisioning to result in blocks (181a-181g; 182a-182d) using which encoding is performed.
26. Method for block-based decoding of figure data using a deblocking or rebound elimination filter (110), characterized in that the method comprises the steps of partitioning an image (12) into a plurality of encoding tree units (181, 182, 183, 184) and determining, for at least one encoding tree unit (181, 182, 183, 184), i) a first metric (A) representing the number of encoding units (181a - 181g; 182a - 182g) contained in at least one encoding tree unit (181, 182, 183, 184), and Petition 870260064788, dated 01 / 07 / 2026, p. 14 / 340 8 / 9 ii) a second metric (B) representing the number of non-zero encoded block flags (CBFs) within said at least one encoding tree unit (181, 182, 183, 184);receive, from a data stream (14), a filter control parameter (FCP), wherein the filter control parameter (FCP) indicates a filter intensity to be applied to the unlock or touch artifact removal filter (110), wherein the method further comprises one of the following two conditional steps of the method: a) either select a first filter intensity if the first metric (A) is below a first predetermined threshold value and the second metric (B) exceeds a second predetermined threshold value, or b) select a second lower filter intensity or a lower default filter intensity otherwise; and apply the selected filter intensity to said at least one encoding tree unit (181, 182, 183, 184).
27. Method for block-based coding of figure data using a deblocking or rebound-elimination filter (120) as a loop filter, characterized in that the method comprises the steps of partitioning an image (12) into a plurality of coding tree units (181, 182, 183, 184) and determining, for at least one coding tree unit (181, 182, 183, 184), i) a first metric (A) representing the number of coding units (181a - 181g; 182a - 182g) contained in at least one coding tree unit (181, 182, 183, 184), and ii) a second metric (B) representing the number of non-zero coded block flags (CBFs) within said at least one coding tree unit (181, 182, 183, 184). 184); encode, in a data stream (14), a filter control parameter (FCP), wherein the filter control parameter (FCP) indicates a filter intensity Petition 870260064788, dated 01 / 07 / 2026, page.15 / 340 9 / 9 to be applied to the touch artifact unlocking or removal filter (110), wherein the method further comprises one of the following two conditional steps: a) either set a first filter intensity if the first metric (A) is below a first predetermined threshold value and the second metric (B) exceeds a second predetermined threshold value, or b) set a lower second filter intensity or a lower default filter intensity otherwise.
28. Computer-readable digital storage media, characterized in that it contains a computer program that has program code for performing, during execution on a computer, a method as defined in claim 26 or 27.
29. Continuous data stream, characterized by being obtained by a method as defined in claim 26 or 27. Petition 870260064788, dated 01 / 07 / 2026, page 16 / 340