Encoder, decoder, method, and computer program using improved transform-based scaling

By adapting quantization precision to transform modes and block sizes, the method addresses inefficiencies in video coding, enhancing compression efficiency and reducing distortion.

JP2025183438AActive Publication Date: 2025-12-16FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2025161855
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2019-06-14
Filing Date
2025-09-29
Publication Date
2025-12-16
Estimated Expiration
2040-06-12

AI Technical Summary

Technical Problem

Existing video coding standards face challenges in achieving efficient compression due to varying quantization and scaling factors across different transform modes and block sizes, leading to increased distortion and inefficiency.

Method used

The solution involves selecting quantization precision based on the transform mode used for a block, allowing different quantization precisions for different transform modes and block sizes, and adjusting quantization parameters and scaling factors accordingly to minimize distortion and improve compression efficiency.

Benefits of technology

This approach enhances compression efficiency by optimizing quantization and scaling based on transform modes, reducing distortion and improving visual quality while minimizing bit rate.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025183438000001_ABST
    Figure 2025183438000001_ABST
Patent Text Reader

Abstract

To provide an encoder, a decoder, a method and a computer program product that use improved transform-based scaling.SOLUTION: A method for block-based decoding implemented by a decoder for block-based decoding of a coded picture signal using transform decoding includes: selecting a selected transform mode for a predetermined block; entropy decoding, from a data stream, a block to be dequantized that is associated with the predetermined block according to the selected transform mode; and dequantizing the block to be dequantized using a quantization accuracy that depends on the selected transform mode to obtain a dequantized block.SELECTED DRAWING: Figure 9
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] SUMMARY OF THE INVENTION Embodiments in accordance with the present invention relate to encoders, decoders, methods, and computer programs that use improved transform-based scaling. [Background technology]

[0002] Introduction Various embodiments and aspects of the present invention are described below, with further embodiments defined by the accompanying claims.

[0003] It should be noted that any embodiment defined by the claims can be supplemented by any of the details (features and functions) described in the following different embodiments and aspects of the invention.

[0004] Furthermore, it should be noted that the individual aspects described herein may be used individually or in combination, and thus details may be added to each of the individual aspects without adding details to another of the aspects.

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

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

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

[0008] In state-of-the-art lossy video compression, the encoder quantizes the prediction residual or the transformed prediction residual using a certain quantization step size Δ. The smaller the step size, the finer the quantization and the smaller the error between the original and the reconstructed signal. Recent video coding standards (such as H.264 and H.265) use an exponential function of the so-called quantization parameter (QP), e.g.

[0009]

number

[0010] to derive the quantization step size Δ.

[0011] The exponential relationship between the quantization step size and the quantization parameter allows for finer adjustment of the resulting bitrate. The decoder needs to know the quantization step size to perform the correct scaling of the quantized signal. Although quantization is lossy, this stage is sometimes called "inverse quantization." To do so, the decoder analyzes the scaling factor or QP from the bitstream. QP signaling is typically performed hierarchically, i.e., a base QP is signaled at a higher level in the bitstream, e.g., at the picture level. At the sub-picture level, where a picture may consist of multiple slices, tiles, or bricks, only a delta relative to the base QP is signaled. To adjust the bitrate at even finer granularity, a delta QP may be further signaled per block or area of ​​a block, e.g., in HEVC, per transform unit within an NxN area of ​​a coding block. Encoders typically use delta QP techniques for subjective optimization or rate control algorithms. Without loss of generality, in the following it is assumed that the basic unit in the presented invention is a picture, and therefore a base QP is signaled by the encoder for each picture consisting of a single slice. In addition to this base QP, also called slice QP, a delta QP may be signaled for each transform block (or transform block of any unit, also called quantization group).

[0012] State-of-the-art video coding schemes, such as High Efficiency Video Coding (HEVC) and the upcoming Versatile Video Coding (VVC) standard, optimize energy compaction for various residual signal types by allowing additional transforms beyond the integer approximation of the widely used Type II Discrete Cosine Transform (DCT-II). The HEVC standard further specifies an integer approximation of the Type VII Discrete Sine Transform (DST-VII) for 4×4 transform blocks using a specific intra-directional mode. This fixed mapping eliminates the need to signal whether DCT-II or DST-VII is used. In addition, a discriminant transform can be selected for a 4×4 transform block. Here, the encoder needs to signal whether DCT-II / DST-VII or a discriminant transform is applied. A discriminant transform is also called a transform skip, since it is a matrix equivalent to multiplication by 1. Furthermore, current VVC developments allow the encoder to select more transforms from the DCT / DST family on the residual, as well as additional non-separable transforms that are applied after the DCT / DST transform at the encoder and before the inverse DCT / DST at the decoder. Both the expanded set of DCT / DST transforms and the additional non-separable transforms require additional signaling per transform block.

[0013] 1b shows a hybrid video coding approach using a forward transform and subsequent quantization of the residual signal 24 at the encoder 10, and scaling of the quantized transform coefficients followed by an inverse transform for the decoder 36. The transform and quantization related blocks 28 / 32 and 52 / 54 are highlighted. Summary of the Invention [Problem to be solved by the invention]

[0014] It is therefore desirable to provide a concept for quantization and / or scaling that can be used in picture and / or video coding, resulting in improved compression efficiency. [Means for solving the problem]

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

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

[0017] According to a first aspect of the present invention, the inventors have realized that one problem faced when quantizing transform coefficients and scaling the quantized transform coefficients arises from the fact that different transform modes and / or block sizes may result in different scaling factors and quantization parameters. Quantization precision in one transform mode may increase distortion in another transform mode. According to the first aspect of the present invention, this difficulty is overcome by selecting a quantization precision depending on the transform mode used for the block to be quantized. Thus, different quantization precisions may be chosen for different transform modes and / or block sizes.

[0018] Thus, according to a first aspect of the present application, an encoder for block-based coding of a picture signal using transform coding is configured to select a selected transform mode, e.g., a discriminant transform or a non-discriminant transform, for a predetermined block, e.g., a block within an area of ​​blocks in a video signal or picture signal. The discriminant transform may be understood as a transform skip. Furthermore, the encoder is configured to quantize a block to be quantized associated with the predetermined block according to the selected transform mode using a quantization precision that depends on the selected transform mode to obtain a quantized block. The block to be quantized is, for example, the predetermined block to which the selected transform mode is applied and / or a block obtained by applying the transform underlying the selected transform mode to the predetermined block in the case where the selected transform mode is a non-discriminant transform, or by equalizing the predetermined block in the case where the selected transform mode is a discriminant transform. The quantization precision is defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size. To obtain a quantized block, the value of the block to be quantized is divided, for example, by the quantization parameter (QP), the scaling factor, and / or the quantization step size. Additionally, the encoder is configured to entropy encode the quantized blocks into a data stream.

[0019] Similarly, according to a first aspect of the present application, a decoder for block-based decoding of a coded picture signal using transform decoding is configured to select a selected transform mode, e.g., a discriminant transform or a non-discriminant transform, for a predetermined block, e.g., a block within an area of ​​blocks in a decoded picture signal or video signal. The discriminant transform may be understood as a transform skip. The non-discriminant transform may be an inverse / inverse transform of a transform applied by an encoder. Furthermore, the decoder is configured to entropy decode a block to be dequantized from a data stream, the block being associated with the predetermined block according to the selected transform mode. The block to be dequantized is, for example, the predetermined block before being subjected to the selected transform mode. Furthermore, the decoder is configured to dequantize the block to be dequantized using a quantization precision that depends on the selected transform mode to obtain a dequantized block. The quantization precision is, for example, defined by a quantization parameter (QP), a scaling factor, and / or a quantization step size. To obtain a dequantized block, the value of the block is multiplied by, for example, the quantization parameter (QP), the scaling factor, and / or the quantization step size. The quantization precision defines, for example, the precision of the inverse quantization of the block to be inverse quantized. The quantization precision may be understood as the scaling precision.

[0020] According to one embodiment, the quantization accuracy depends in part on whether the selected transform mode is discriminative or non-discriminative. Note that different adaptations may be made depending on the prediction mode and / or block size and / or block shape. The dependence on the transform mode is based on the idea that a non-discriminative transform may improve the accuracy of the residual signal, thereby improving the dynamic range. However, this is not the case for a discriminative transform. A quantization accuracy associated with low distortion for a non-discriminative transform may result in higher distortion when the transform mode is discriminative. Therefore, the distinction between discriminative and non-discriminative transforms is advantageous.

[0021] When the selected transform mode is discriminative, the encoder and / or decoder may be configured to determine an initial quantization precision for a given block and check whether the initial quantization precision is finer than a predetermined threshold. In the case where the selected transform mode is non-discriminative, a quantization precision finer than the predetermined threshold may reduce distortion, but this is not the case when the selected transform mode is discriminative. When the initial quantization precision is finer than the predetermined threshold, the encoder and / or decoder may be configured to set the quantization precision to a default quantization precision, for example, a default quantization precision corresponding to the predetermined threshold, when the selected transform mode is discriminative. Thus, additional distortion that is not present with the default quantization precision may be avoided.

[0022] Furthermore, the encoder and / or decoder may be configured to use the initial quantization precision as the quantization precision if the initial quantization precision is not finer than a predetermined threshold. In this case, the initial quantization precision should not introduce additional distortion, and therefore there is no problem in using the initial quantization precision without modification or adjustment.

[0023] According to one embodiment, the initial quantization precision is determined by determining an index from a quantization parameter list in the case of an encoder or from a dequantization parameter list in the case of a decoder. The index, for example, points to a quantization parameter in a quantization parameter list, for example, an inverse quantization parameter list for a decoder, for example, an inverse quantization parameter or scaling parameter for the decoder, and is related to a quantization step size via a function that is equal for all quantization parameters in the quantization parameter list. For example, the encoder may be configured to quantize by dividing the value of the block to be quantized by the quantization step size, and the decoder may be configured to dequantize by multiplying the value of the block to be dequantized by the quantization step size. The index may be equal to the quantization parameter (QP), and the quantization parameter list and / or the dequantization parameter list may be defined by levelScale[]={40, 45, 51, 64, 72}. The quantization step size (Δ(QP)) may be derived using an exponential function of the index (QP), for example,

[0024]

number

[0025] , where levelScale[]={40, 45, 51, 64, 72}.

[0026] According to one embodiment, the encoder and / or decoder is configured to check whether the initial quantization precision is finer than a predetermined threshold by checking whether the index, i.e., the index from the quantization parameter list, is smaller than a predetermined index value. The predetermined index value defines, for example, index 4, i.e., an index equal to 4. If the selected transform mode is a discriminant transform, the encoder and / or decoder may be configured to reduce the index, e.g., the quantization parameter QP, to a minimum value of 4. The encoder and / or decoder may be configured to prohibit quantization parameters (QP) less than 4. If the QP is less than 4, the encoder and / or decoder may be configured to set the QP to 4; if the QP is 4 or greater, the QP is maintained, e.g., Trafo Skip?Max(4, QP):QP. Thus, indices resulting in scaling factors less than 1, e.g., QP 0, 1, 2, and 3, which may introduce distortions in the transform skip mode, are avoided or disallowed for the transform skip mode. Note that the above example is for an 8-bit video signal and requires adjustment depending on the input video signal bit depth. If the bit depth increases by 1, the threshold decreases by 6. The signaling can be direct or indirect, such as via specifying the difference between the internal bit depth and the input bit depth, direct signaling of the input bit depth, and / or signaling of a threshold. An example of an indirect configuration is as follows: sps_internal_bit_depth_minus_input_bit_depth specifies the minimum allowed quantization parameter for transform skip mode as follows: QpPrimeTsMin = 4 + 6 * sps_internal_bit_depth_minus_input_bit_depth The value of sps_internal_bit_depth_minus_input_bit_depth shall be in the range of 0 to 8 inclusive. Otherwise (transform_skip_flag[xTbY][yTbY][cldx] equals 1), the following applies: qP = Clip3(QpPrimeTsMin, 63 + QpBdOfset, qP + QpActOffset)

[0027] According to one embodiment, the quantization of the block to be quantized, performed by the encoder, includes scaling followed by integer quantization, e.g., quantization to the nearest integer value. Similarly, the inverse quantization of the block to be dequantized, performed by the decoder, includes scaling, e.g., rescaling, followed by integer inverse quantization, e.g., inverse quantization to the nearest integer value. Furthermore, the encoder and / or decoder are configured such that a predetermined threshold and / or default quantization precision is related to a scaling factor of 1, e.g., a rescaling factor in the case of a decoder. The encoder may be configured to quantize the block to be quantized using the scaling factor, and the decoder may be configured to inverse quantize the block to be dequantized using the scaling factor. The encoder may be configured to quantize the block to be quantized by dividing the values ​​of the block to be quantized by the scaling factor, and the decoder may be configured to dequantize the block to be dequantized by multiplying the values ​​of the block to be dequantized by the scaling factor. The encoder and / or decoder may be configured to check whether the initial quantization precision is finer than a predetermined threshold, for example by checking whether a scaling factor, e.g., a quantization step size Δ(QP), is smaller than a predetermined scaling factor. The predetermined scaling factor may, for example, define a scaling factor of 1. If the selected transform mode is a discriminant transform, the encoder and / or decoder may be configured to reduce the scaling factor to a minimum value of 1. The encoder and / or decoder may be configured to prohibit scaling factors less than 1. If Δ(QP) is less than 1, the encoder is configured to set Δ(QP) to 1; if Δ(QP) is greater than or equal to 1, Δ(QP) is maintained, e.g., resulting in a scaling factor of at least 1 if the selected transform mode is a discriminant transform.

[0028] According to one embodiment, the encoder and / or decoder is configured to determine the initial quantization accuracy for several blocks, for example, adjacent blocks including the predetermined block, such as the entire picture including the predetermined block, several pictures including the predetermined block, or slices of a picture including the predetermined block. In the case of several pictures, at least one or only one of the pictures must include the predetermined block. In the case of an encoder, the picture is a picture of a picture signal or a video signal to be coded, and the several blocks are, for example, blocks within a picture of a picture signal or a video signal. In the case of a decoder, the blocks are, for example, prediction residual blocks within a residual picture of a decoded picture signal or a decoded video signal.

[0029] An encoder may be configured to signal an initial quantization precision in a data stream, e.g., for a number of blocks, such as an entire picture, several pictures, or slices of a picture. A decoder may be configured to read the initial quantization precision from a data stream, e.g., for a number of blocks, such as an entire picture, several pictures, or slices of a picture.

[0030] According to one embodiment, the encoder is configured to signal the quantization precision and / or the selected transform mode in the data stream, and the decoder is configured, for example, to read the quantization precision and / or the selected transform mode from the data stream.

[0031] According to one embodiment, in the case of an encoder, the predetermined block represents a block of prediction residuals of a picture signal to be block-based coded, in the case of a decoder, the predetermined block represents, for example, a block of prediction residuals of a picture signal to be block-based decoded, in the case of a decoder, the predetermined block represents, for example, a decoded residual block.

[0032] According to one embodiment, the encoder and / or decoder is configured to determine an initial quantization precision for a given block and modify the initial quantization precision depending on the selected transform mode. The initial quantization precision, for example, comprises an index, i.e., QP, and / or a scaling factor, i.e., Δ(QP). Thus, it is possible to improve compression efficiency. This is based on the idea that an initial quantization precision can be signaled in the data stream for a group of blocks or for several pictures, and that this initial quantization precision can be adapted individually for each block to be coded or decoded depending on the transform mode for the respective block.

[0033] The modification of the initial quantization precision may be performed by offsetting the initial quantization precision using an offset value depending on the selected transform mode. The offset may be chosen to improve compression efficiency, for example, by maximizing perceived visual quality, or minimizing an objective distortion such as square error for a given bit rate, or by reducing the bit rate for a given quality / distortion. According to one embodiment, the encoder and / or decoder is configured to determine an offset value for each transform mode. This may be performed individually for each picture signal or video signal. Alternatively, an offset value is determined for smaller entities such as several pictures, one picture, one or more slices of a picture, a group of blocks, individual blocks, etc. Alternatively or additionally, for each transform mode, the offset value may be obtained from a list of offset values.

[0034] As mentioned above, the encoder may be configured to determine the initial quantization precision by determining an index from a quantization parameter list. Similarly, the decoder may be configured to determine the initial quantization precision by determining an index from an inverse quantization parameter list. According to one embodiment, the encoder and / or decoder is configured to modify the initial quantization precision by adding or subtracting an offset value to or from the index. The index, i.e., the quantization parameter (QP), is, for example, decreased or increased by the offset value.

[0035] As mentioned above, in the case of an encoder, quantization of a block to be quantized may include scaling followed by integer quantization, e.g., quantization to the nearest integer value. The encoder may be configured to perform scaling by dividing the values ​​of the block to be quantized by a scaling factor. Similarly, in the case of a decoder, inverse quantization of a block to be dequantized may include scaling, e.g., rescaling, followed by integer inverse quantization, e.g., inverse quantization to the nearest integer value, and the decoder may be configured to perform scaling by multiplying the values ​​of the block to be dequantized by a scaling factor, e.g., a rescaling factor. Furthermore, the encoder and / or decoder may be configured to modify the initial quantization precision by adding or subtracting an offset value to or from the scaling factor. The scaling factor is, for example, equal to the quantization step size (QP). The quantization step size Δ(QP) may be decreased or increased by the offset value.

[0036] According to one embodiment, the encoder and / or decoder may be configured to provide a modified initial quantization accuracy depending on whether the selected transform mode is a discriminant or a non-discriminant transform. In other words, the encoder and / or decoder may be configured to modify the initial quantization accuracy depending on whether the selected transform mode is a discriminant or a non-discriminant transform.

[0037] According to one embodiment, the encoder and / or decoder is configured to determine an initial quantization precision for a given block when the selected transform mode is a discriminative transform and check whether the initial quantization precision is coarser than a predetermined threshold. If the initial quantization precision is coarser than the predetermined threshold, the encoder and / or decoder is further configured to modify the initial quantization precision using an offset value depending on the selected transform mode so that the modified initial quantization precision is finer than the predetermined threshold. The initial quantization precision is coarser than the predetermined threshold, for example, when the index (QP) is greater than 10, 20, 30, 35, 40, or 45. In other words, the predetermined threshold may be represented by an index of 10, 20, 30, 35, 40, or 45. Therefore, the index or scaling factor is reduced by the offset value at the second end of the bitrate range, i.e., for low bitrates. The second end of the bitrate range is associated with the end of the bitrate range opposite to the first end of the bitrate range, which is associated with a QP of 4 or less.

[0038] According to one embodiment, the encoder and / or decoder is configured, depending on the selected transform mode, not to use the offset value to modify the initial quantization precision if the initial quantization precision is not coarser than a predetermined threshold.

[0039] According to one embodiment, the encoder and / or decoder is configured not to use the offset value to modify the initial quantization precision if the selected transform mode is a non-identical transform, and thus the offset is used, for example, only in the case where the transform mode is an discriminative transform.

[0040] According to one embodiment, the encoder and / or decoder are configured to determine the offset by using rate-distortion optimization. Thus, depending on the transform mode to be used for a given block for which the offset is determined, high compression efficiency can be achieved with only small or no distortion.

[0041] According to one embodiment, the encoder is configured to signal in the data stream an offset, e.g. an offset value or an index pointing to an offset value within a set of offset values, for several blocks, e.g., neighboring blocks, that include the predetermined block, such as the whole picture that includes the predetermined block, several pictures that include the predetermined block, or slices of a picture that includes the predetermined block. The pictures are, e.g., pictures of a picture signal or a video signal to be coded, and the several blocks are, e.g., blocks within pictures of a picture signal or a video signal.

[0042] According to one embodiment, the decoder is configured to read an offset, e.g., an offset value or an index pointing to an offset value within a set of offset values, from the data stream for a number of blocks that include the predetermined block, such as the entire picture that includes the predetermined block, several pictures that include the predetermined block, or slices of a picture that includes the predetermined block, and is configured to read offsets from the data stream for a number of blocks that include the predetermined block, such as the entire picture that includes the predetermined block, several pictures that include the predetermined block, or slices of a picture that includes the predetermined block.

[0043] In the case of an encoder, optionally, quantization of a block to be quantized includes block-global scaling, e.g., one scaling factor for all values ​​of the block, and scaling using an intra-block variation scaling matrix followed by integer quantization, e.g., quantization to the nearest integer value. For example, the intra-block variation scaling matrix is ​​a matrix having multiple scaling factors, e.g., multiple quantization parameters (QP) or multiple quantization step sizes Δ(QP). For example, by applying a selected transform to a given block, each transform coefficient obtained by the encoder before scaling is scaled by one of the multiple scaling factors of the scaling matrix. Scaling using the intra-block variation scaling matrix may result in frequency-dependent weighting or spatial-dependent weighting. Furthermore, the encoder may be configured to determine the intra-block variation scaling matrix according to a selected transform mode.

[0044] In the case of a decoder, the inverse quantization of a block to be inversely quantized includes block-global scaling, i.e., block-global rescaling, e.g., one scaling factor, i.e., rescaling factor, for all values ​​of the block, and scaling, e.g., rescaling, followed by integer inverse quantization, e.g., inverse quantization to the nearest integer value, using an intra-block variation scaling matrix, i.e., an intra-block variation rescaling matrix. For example, the intra-block variation scaling matrix is ​​a matrix having multiple scaling factors, e.g., a matrix having multiple quantization parameters (QPs) or multiple quantization step sizes Δ(QPs). Each value of the block is individually scaled, e.g., by one of the multiple scaling factors of the scaling matrix. Scaling with the intra-block variation scaling matrix results in, e.g., frequency-dependent weighting or spatial-dependent weighting. Furthermore, the decoder may be configured to determine the intra-block variation scaling matrix according to a selected transform mode.

[0045] According to one embodiment, the encoder and / or decoder is configured to determine intra-block variation scaling matrices such that the determination results in different intra-block variation scaling matrices for different blocks to be quantized or dequantized that have the same size and shape, such that a first intra-block variation scaling matrix for a first block may be different from a second intra-block variation scaling matrix for a second block, and the first and second blocks may have the same size and shape.

[0046] Furthermore, optionally, the determination is such that the intra-block variation scaling matrix determined for different blocks to be quantized or dequantized that are equal in size and shape depends on the selected transform mode, and the selected transform mode is not equal to the discriminant transform. This is based on the idea that frequency-weighted scaling is not beneficial when the selected transform mode is the discriminant transform. In the discriminant transform, for example, block-global scaling or a spatial-weighted scaling matrix may be used. However, in the transform mode equal to the non-discriminant transform, it is beneficial to individually scale each transform coefficient of the block to be quantized or dequantized. The intra-block variation scaling matrix may be different for different non-discriminant transform modes.

[0047] According to one embodiment, the encoder is configured to apply a transform corresponding to the selected transform mode to a predetermined block to obtain a block to be quantized if the selected transform mode is a non-identical transform, and the predetermined block is a block to be quantized if the selected transform mode is an identity transform.

[0048] According to one embodiment, the decoder is configured to apply an inverse transform corresponding to the selected transform mode to the inverse quantization block to obtain a predetermined block if the selected transform mode is a non-discriminative transform, and the inverse quantization block is the predetermined block if the selected transform mode is a discriminative transform.

[0049] One embodiment relates to a method for block-based coding of a picture signal using transform coding, comprising selecting a selected transform mode, e.g., a discriminative transform or a non-discriminative transform, for a predetermined block, e.g., a block within an area of ​​blocks in a video or picture signal. The discriminative transform may be understood, for example, as a transform skip. The method further comprises quantizing a block to be quantized associated with the predetermined block according to the selected transform mode using a quantization precision that depends on the selected transform mode to obtain a quantized block. The block to be quantized is, for example, the predetermined block to which the selected transform mode is applied and / or a block obtained by applying the transform underlying the selected transform mode to the predetermined block in the case where the selected transform mode is a non-discriminative transform, or by equalizing the predetermined block in the case where the selected transform mode is a discriminative transform. The quantization precision is defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size. To obtain a quantized block, the value of the block is divided, for example, by the quantization parameter (QP), the scaling factor, and / or the quantization step size. Additionally, the method includes entropy encoding the quantized blocks into a data stream.

[0050] One embodiment relates to a method for block-based decoding of a coded picture signal using transform decoding, comprising selecting a selected transform mode, e.g., a discriminative transform or a non-discriminative transform, for a predetermined block, e.g., a residual block in an area of ​​neighboring residual blocks in a decoded residual picture signal or a residual video signal. The discriminative transform may be understood, for example, as a transform skip, and the non-discriminative transform may be, for example, an inverse / inverse transform of a transform applied by an encoder. The method further comprises entropy decoding a block to be dequantized from a data stream, the block being associated with the predetermined block according to the selected transform mode, and dequantizing the block to be dequantized using a quantization precision that depends on the selected transform mode to obtain a dequantized block. The quantization precision may be defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size. To obtain the dequantized block, the values ​​of the block may be multiplied by the quantization parameter (QP), the scaling factor, and / or the quantization step size. The quantization precision may, for example, define the precision of dequantization of the block to be dequantized.

[0051] The aforementioned method is based on the same considerations as the aforementioned encoder and / or decoder, whereby the method may comprise all the features and functions also described with respect to the encoder and / or decoder.

[0052] One embodiment relates to a computer program having a program code for performing the methods described herein, when the computer program is running on a computer.

[0053] One embodiment relates to a data stream obtained by a method for block-based coding of a picture signal.

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

[0055] [Figure 1a] FIG. 2 is a schematic diagram of an encoder. [Figure 1b] FIG. 1 is a schematic diagram of an alternative encoder. [Figure 2] FIG. 2 is a schematic diagram of a decoder. [Figure 3] FIG. 1 is a schematic diagram of block-based coding. [Figure 4] FIG. 2 is a schematic diagram of an encoder according to one embodiment. [Figure 5] FIG. 2 is a schematic diagram of a decoder according to one embodiment; [Figure 6] FIG. 1 is a schematic diagram of decoder-side scaling and inverse transform in recent video coding standards. [Figure 7] FIG. 10 is a schematic diagram of decoder-side scaling and inverse transform according to one embodiment. [Figure 8] FIG. 1 is a block diagram of a method for block-based coding according to one embodiment. [Figure 9] FIG. 2 is a block diagram of a method for block-based decoding according to one embodiment. DETAILED DESCRIPTION OF THE INVENTION

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

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

[0058] The following description of the figures begins with presenting a description of an encoder and decoder of a block-based predictive codec for coding pictures of video to form an example of a coding framework into which embodiments of the present invention may be incorporated. Each encoder and decoder is described in conjunction with Figures 1a through 3. While embodiments of the inventive concepts described herein may be incorporated within the encoders and decoders of Figures 1a, 1b, and 2, respectively, embodiments described in conjunction with Figures 4 through 7 may also be used to form encoders and decoders that do not operate according to the underlying coding framework of the encoders and decoders of Figures 1a, 1b, and 2.

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

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

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

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

[0063] Similarly, as shown in Figure 2, decoder 20 may be internally composed of components that correspond to prediction stage 36 and that are interconnected in a manner that corresponds to prediction stage 36. Specifically, entropy decoder 50 of decoder 20 may entropy decode quantized spectral domain prediction residual signal 24" from the data stream, and then inverse quantizer 52, inverse transformer 54, combiner 56, and prediction module 58, interconnected and cooperating in the manner described above in connection with the modules of prediction stage 36, recover a reconstructed signal based on prediction residual signal 24" such that the output of combiner 56 is the reconstructed signal, i.e., picture 12', as shown in Figure 2.

[0064] Although not specifically described above, it is readily apparent that encoder 10 may set certain coding parameters, including, for example, prediction modes, motion parameters, etc., according to some optimization scheme, such as, for example, some rate- and distortion-related criteria, i.e., a scheme that optimizes coding cost. For example, encoder 10 and decoder 20 and their corresponding modules 44, 58 may support different prediction modes, such as intra-coding and inter-coding modes. The granularity with which the encoder and decoder switch between these prediction mode types may correspond to the subdivision of pictures 12 and 12′, respectively, into coding segments or coding blocks. These coding segment units may, for example, subdivide a picture into intra-coded blocks and inter-coded blocks.

[0065] As outlined in more detail below, intra-coded blocks are predicted based on the spatial, already coded / decoded neighbors (e.g., current templates) of each block (e.g., current block). Several intra-coding modes may exist and may be selected for each intra-coded segment, including directional or angular intra-coding modes, according to which each segment is filled by extrapolating neighboring sample values ​​within the respective intra-coded segment along a certain direction specific to each directional intra-coding mode. The intra-coding modes may also include one or more other modes, such as, for example, a DC coding mode according to which prediction for each intra-coded block assigns a DC value to all samples within the respective intra-coded segment, and / or a planar intra-coding mode according to which prediction for each block is approximated or determined to be a spatial distribution of sample values ​​described by a two-dimensional linear function over the sample positions of the respective intra-coded block, together with a planar driving slope and offset defined by the two-dimensional linear function based on neighboring samples.

[0066] In comparison, inter-coded blocks may be predicted, for example, temporally. For inter-coded blocks, motion vectors may be signaled in data stream 14, indicating the spatial displacement of a portion of a previously coded picture (e.g., a reference picture) of the video to which picture 12 belongs, at which the previously coded / decoded picture is sampled to obtain a prediction signal for the respective inter-coded block. This means that in addition to the residual signal coding included by data stream 14, such as entropy-coded transform coefficient levels representing the quantized spectral domain prediction residual signal 24″, other optional parameters may be coded in data stream 14, such as coding mode parameters for assigning coding modes to various blocks, prediction parameters for some of the blocks, such as motion parameters for inter-coded segments, and parameters for controlling and signaling the subdivision of pictures 12 and 12′ into segments, respectively. Decoder 20 uses these parameters to subdivide the picture in the same way as the encoder did, assign the same prediction modes to the segments, and perform the same prediction, resulting in the same prediction signal.

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

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

[0069] The prediction residual signal 24"" in FIG. 3 is also shown as a subdivision of the picture area into blocks 84. These blocks are sometimes called transform blocks to distinguish them from the coding blocks 80 and 82. Indeed, FIG. 3 shows that the encoder 10 and the decoder 20 may use two different subdivisions of the picture 12 and the picture 12', respectively, into blocks: one subdivision into coding blocks 80 and 82, respectively, and another subdivision into transform blocks 84. While both subdivisions may be identical, i.e., each coding block 80 and 82 may simultaneously form a transform block 84, FIG. 3 also shows the case where, for example, the subdivision into transform blocks 84 forms an extension of the subdivision into the coding blocks 80, 82, so that any boundary between the two blocks 80 and 82 overlaps with the boundary between the two blocks 84, or in other words, either of the blocks 80, 82 coincides with one of the transform blocks 84 or with a cluster of transform blocks 84. However, the subdivisions may be determined or selected independently of one another, so that, alternatively, the transformation block 84 may cross the block boundary between the blocks 80, 82. As far as the subdivision into transformation blocks 84 is concerned, similar statements are true as those advanced with regard to the subdivision into blocks 80, 82, i.e., the block 84 may be the result of a regular subdivision of the picture area into blocks (with or without organization into rows and columns), a recursive multi-tree subdivision of the picture area, or a combination thereof, or any other kind of blockation. It should be noted, however, that the blocks 80, 82, and 84 are not limited to being square, rectangular, or any other shape.

[0070] 3 further illustrates that the combination of the prediction signal 26 and the prediction residual signal 24"" directly results in the reconstructed signal 12'. However, it should be noted that, according to alternative embodiments, multiple prediction signals 26 may be combined with the prediction residual signal 24"" to result in the picture 12'.

[0071] 3, the transform blocks 84 have the following meaning: the transformer 28 and the inverse transformer 54 perform transforms in units of these transform blocks 84. For example, many codecs use some kind of DST (Discrete Sine Transform) or DCT (Discrete Cosine Transform) for all transform blocks 84. Some codecs allow skipping the transform, so that for some of the transform blocks 84, the prediction residual signal is coded directly in the spatial domain. However, according to the embodiment described below, the encoder 10 and the decoder 20 are configured in a manner to support several transforms. For example, the transforms supported by the encoder 10 and the decoder 20 may include: 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 Identification transformation (IT)

[0072] Naturally, the transformer 28 will support all of the forward transform versions of these transforms, while the decoder 20 or inverse transformer 54 will support their corresponding backward or inverse versions. Inverse DCT-II (or Inverse DCT-III) Reverse DST-IV ·Inverse DCT-IV Reverse DST-VII Identification transformation (IT)

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

[0074] As already outlined above, Figures 1a-2 are presented as examples in which the inventive concepts described herein may be implemented to form specific examples of encoders and decoders according to the present application. To that extent, the encoders and decoders of Figures 1a, 1b, and 2, respectively, may represent possible implementations of the encoders and decoders described above. However, Figures 1a, 1b, and 2 are merely examples. However, an encoder according to an embodiment of the present application may perform block-based encoding of picture 12 using concepts outlined above or in more detail below, and differ from the encoder of Figure 1a or 1b, for example, in that the subdivision into blocks 80 is performed in a different manner than in the example of Figure 3 and / or in that a transform (e.g., a transform skip / identification transform) is not used at all or not used for a single block. Similarly, a decoder according to an embodiment of the present application may perform block-based decoding of picture 12′ from data stream 14 using coding concepts further outlined below, but may differ from decoder 20 of FIG. 2 in, for example, that decoder 20 of FIG. 2 subdivides picture 12′ into blocks in a different manner than that described in connection with FIG. 3, and / or that decoder 20 of FIG. 2 does not derive prediction residuals from data stream 14 in the transform domain, but rather in, for example, the spatial domain, and / or that decoder 20 of FIG. 2 does not use any transforms at all, or for single blocks.

[0075] According to one embodiment, the inventive concepts described above may be implemented in the quantizer 32 of the encoder or the inverse quantizer 38, 52 of the decoder. Thus, according to one embodiment, the quantizer 32 and / or the inverse quantizer 38, 52 may be configured to apply different scaling to the block to be quantized depending on the selected transformation applied by the transformer 28 or to be applied by the inverse transformer 54. Thus, the quantizer 32 and / or the inverse quantizer 38, 52 are configured to use not only one predefined scaling for all transform modes (i.e., transform types), but also different scaling for each selected transform mode.

[0076] State-of-the-art hybrid video coding techniques utilize the same scaling factor for inverse quantization independent of the transform and block size employed. The presented invention describes a method that allows the use of different scaling factors depending on the selected transform and block size. From the encoder's perspective, the quantization step size varies depending on the selected transform and transform block size. By combining different quantization step sizes depending on the transform type and transform block size, the encoder can achieve higher compression efficiency.

[0077] 4 shows an encoder 10 for block-based encoding of a picture signal using transform coding. A given block 18 of prediction residuals 24 of an input picture 12 is run by the encoder 10.

[0078] The encoder 10 is configured to select a selected transform mode 130 for a given block 18. The selected transform mode 130 is selected, for example, based on the content of the given block 18, based on the content of the prediction residual 24 of the input picture 12, or based on the content of the input picture 12. The encoder may choose the selected transform mode 130 from transform modes 128, which may be divided into non-identical transforms 1281 and discriminative transforms 1282.

[0079] According to one embodiment, the non-discriminating transform 1281 includes a DCT-II, DCT-III, DCT-IV, DST-IV, and / or DST-VII transform.

[0080] Further, the encoder 10 is configured to quantize the block to be quantized 18′ associated with the given block 18 according to the selected transform mode 130 using a quantization precision 140 that depends on the selected transform mode 130 to obtain a quantized block 18″.

[0081] According to one embodiment, the block 18' to be quantized by the quantizer 32 may be obtained by one or more processing steps applied by the encoder to the predetermined block 18, and the encoder 10 may be configured to use the selected transform mode 130 in one of the steps. The block 18' to be quantized is, for example, a processed version of the predetermined block 18. The block 18' to be quantized may be, for example, obtained by application of the selected transform mode 130 to the predetermined block 18, and the identified transform may correspond to a transform skip.

[0082] The block 18' to be quantized is quantized with a constant quantization precision 140. The quantization precision 140 may be determined based on the selected transform mode 130 selected for a given block 18, and the given block 18 is associated with the block 18' to be quantized. With the optimized quantization precision 140, distortion resulting from quantization may be reduced. The same quantization precision may result in different amounts of distortion for different transform modes 128. Therefore, it is advantageous to associate individual quantization precisions 140 with different transform modes 128.

[0083] The encoder 10 is configured to determine a quantization parameter for the block 18′ to be quantized, which, for example, defines a quantization precision 140. The quantization precision 140 is defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size.

[0084] The quantized blocks 18 ″ resulting from quantizing the blocks 18 ′ using the respective quantization precisions 140 are entropy coded into the data stream 14 by the entropy encoder 34 of the encoder 10 .

[0085] Optionally, encoder 10 may include similar or additional features as described with respect to FIG.

[0086] 5 shows a decoder 20 for block-based decoding of a coded picture signal using transform decoding. The decoder 20 may be configured to reconstruct an output picture from the data stream 14, where a given block 118 may represent a block of prediction residuals of the output picture.

[0087] The decoder 20 is configured to select a selected transform mode 130 for a given block 118. The selected transform mode 130 is selected, for example, based on signaling in the data stream 14. The decoder may choose the selected transform mode 130 from transform modes 128, which may be divided into a non-identifying transform 1281 and an identifying transform 1282.

[0088] The non-discriminative transform 1281 may represent the inverse / inverse transform of the transform applied by the encoder. According to one embodiment, the non-discriminative transform 1281 includes an inverse DCT-II, an inverse DCT-III, an inverse DCT-IV, an inverse DST-IV, and / or an inverse DST-VII transform.

[0089] Further, the decoder 20 is configured to entropy decode, by the entropy decoder 50, from the data stream 14, a block to be dequantized 118' that is associated with the predetermined block 118 according to the selected transform mode 130. According to one embodiment, the block to be dequantized 118' may be processed by one or more steps performed by the decoder 20 to result in the predetermined block 118, and the decoder 20 may be configured to use the selected transform mode 130 in one of the steps. The predetermined block 118 is, for example, a processed version of the block to be dequantized 118'. The block to be quantized 118' is, for example, the predetermined block 118 before being subjected to the selected transform mode 130. As shown in FIG. 5, optionally, the decoder 20 is configured to use the inverse transformer 54 to obtain the predetermined block 118 using the selected transform mode 130.

[0090] Further, the decoder 20 is configured to dequantize the block to be dequantized 118′ by the inverse quantizer 52 using a quantization precision 140 that depends on the selected transform mode 130 to obtain an inverse quantized block 118″.

[0091] The block 118' to be dequantized is dequantized with a constant quantization precision 140. The quantization precision 140 may be determined based on the selected transform mode 130 selected for the given block 118, and the given block 118 is associated with the block 118' to be dequantized. With the optimized quantization precision 140, distortion resulting from quantization may be reduced. The same quantization precision may cause different amounts of distortion for different transform modes 128. Therefore, it is advantageous to associate individual quantization precisions 140 with different transform modes 128.

[0092] The decoder 20 is configured to determine a quantization parameter for the block 118′ to be dequantized, i.e., an inverse quantization parameter, that defines, for example, a quantization precision 140. The quantization precision 140 is defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size.

[0093] The optional transformer 54 may be configured to transform the inverse quantization block 118 ″ using the selected transform mode 130 to obtain the predetermined block 118 .

[0094] The present invention allows the possibility to change the quantization step size, i.e., the quantization precision, depending on the selected transform and transform block size. The following description is written from the decoder's perspective, and it can be understood that the decoder-side scaling 52 (multiplication) with the quantization step size is the inverse (irreversible) of the encoder-side division by the step size.

[0095] On the decoder side, as shown in Figure 6, the (quantized) transform coefficient level scaling 52, i.e., inverse quantization, in current video coding standards such as H.265 / HEVC is designed for transform coefficients obtained from a higher precision DCT / DST integer transform, where the variable bitDepth specifies the bit depth of the image samples, e.g., 8 or 10 bits. The variables log2TbW and log2TbH specify the base 2 logarithms of the transform block width and height, respectively. Figure 6 shows the decoder-side scaling 52 and inverse transform 54 in recent video coding standards such as H.265 / HEVC.

[0096] At the decoder, two 1D DCT / DST-based integer transforms 1281 are added as additional factors.

[0097]

number

[0098] Note that we introduce the additional factor log2TbH+log2TbW and the scaling must be compensated for by the inverse scaling. For non-square blocks with fractional log2TbH+log2TbW, the scaling is

[0099]

number

[0100] This can be taken into account by adding a scale factor 181 / 256, or by using a different set of levelScale values ​​that incorporates that factor for this case, e.g., levelScale[]={29, 32, 36, 40, 45, 51}. In the discriminant transform or skip transform case 1282, this is not the case.

[0101] Step size or scaling factor

[0102]

number

[0103] It can be seen that is less than 1 for QPs less than 4 because levelScale for these QPs is less than 64=26. For transform coefficients, this is not a problem because the integer forward transform 1281 improves the precision and therefore the dynamic range of the residual signal. However, for the residual signal in the case of a discriminative transform or transform skip 1282, the dynamic range is not improved. In this case, a scaling factor less than 1 may introduce distortion for QPs<4 that is not present for QP 4 with a scaling factor of 1. This contradicts the intent of the quantizer design, where reducing the QP should reduce distortion.

[0104] Varying the quantization step size depending on the selected transform, e.g., whether the transform is skipped or not, can be used to derive different quantization step sizes for the transform skip 1282. This would solve the problem of having a quantization step size / scaling factor less than 1 for the lowest QPs, particularly for the lowest QPs 0, 1, 2, and 3. In one embodiment shown in FIG. 7 , the solution may be to reduce the quantization parameter (53) to the smallest allowed value of 4 (QP′), resulting in a quantization step size that cannot be reduced below 1. In addition, the size-dependent normalization required by the transform using bdShift1 541 and the final rounding to bit depth using bdShift2 542 may be moved to the transform path 54. This reduces the transform skip scaling to a 10-bit downshift along with the rounding. In another embodiment, rather than reducing the QP value to 4, a bitstream restriction may be defined that does not allow the encoder to use QP values ​​that result in a scaling factor less than 1 for the transform skip. FIG. 7 illustrates improved decoder-side scaling 52 and inverse transform 54 according to the present invention.

[0105] At the other end of the bitrate range, i.e., at lower bitrates, the quantization step size for the discriminant transform 1282 may be reduced by an offset, resulting in higher fidelity for blocks that do not apply a transform or that apply the discriminant transform 1282. This allows the encoder to select an appropriate QP value for the transform skip block to achieve higher compression efficiency. This aspect is not limited to the discriminant transform / transform skip 1282 but can also be used to modify the QP for other transform types 1281 by an offset. The encoder determines this offset in a manner that improves coding efficiency, e.g., by maximizing perceived visual quality or minimizing objective distortion such as squared error for a given bitrate or reducing the bitrate for a given quality / distortion. This optimal derivation (with respect to the applied criterion) from the slice QP depends on other factors, e.g., the content, bitrate, or complexity operation point, as well as the selected transform and transform block size. The present invention describes a method for signaling QP offsets for the case of multiple transforms. Without loss of generality, assuming two alternative transforms, a fixed QP offset may be signaled by the encoder in a high-level syntax structure (sequence parameter set, picture parameter set, tile group header, slice header, etc.) for each of the two alternative transforms. Alternatively, a QP offset may be signaled by the encoder for each transform block, for example, when the encoder selects an alternative transform. A combination of the two approaches is signaling a base QP offset in the high-level syntax structure and an additional offset for each transform block that uses an alternative transform. The offset may be a value to be added or subtracted from the base QP, or an index into a set of offset values. The set may be predefined or signaled in the high-level syntax structure. In a preferred embodiment of the present invention, the QP offset relative to the base QP for the discriminative transform is signaled in a high-level syntax structure, for example on the sequence, picture, tile group, tile, or slice level. In another preferred embodiment of the present invention, the QP offset relative to the base QP for the identity transform is signaled for each coding unit or a predefined set of coding units. In another preferred embodiment of the present invention, the QP offset relative to the base QP for the identity transform is signaled for each transform unit that applies the identity transform.

[0106] Another aspect of the present invention is the use of different scaling matrices for different transform types, such as discriminative transforms / skip transforms. The scaling matrices allow different scaling for different transform coefficients. Because transform coefficients typically relate to different spatial frequencies of the residual signal, this can be interpreted as frequency-dependent weighting. Because the variances of coefficients resulting from different transform types may be different, it is suggested to use different scaling matrices for different transform types. A special case of this is discriminative transforms, in which the coefficients are equal to residual samples that are not related to spatial frequency. In this case, frequency-weighted scaling is not beneficial, and a separate spatial-weighted scaling matrix may be applied, or matrix-based scaling may not be applied.

[0107] Furthermore, Figures 8 and 9 illustrate methods based on the principles described above with respect to the encoder and / or decoder.

[0108] FIG. 8 illustrates a method 800 for block-based coding of a picture signal using transform coding, including selecting (810) a selected transform mode, e.g., a discriminative transform or a non-discriminative transform, for a given block, where the discriminative transform may be understood as a transform skip. Furthermore, the method 800 includes quantizing (820) a block to be quantized associated with the given block according to the selected transform mode, e.g., the given block to which the selected transform mode is applied, using a quantization precision dependent on the selected transform mode, e.g., defined by a quantization parameter (QP), a scaling factor, and / or a quantization step size, to obtain a quantized block. The block to be quantized may be obtained by applying the underlying transform of the selected transform mode to the given block in the case where the selected transform mode is a non-discriminative transform, or by equalizing the given block in the case where the selected transform mode is a discriminative transform. To obtain a quantized block, quantizing (820) may be performed by dividing the value of the block by the quantization parameter (QP), the scaling factor, and / or the quantization step size. Additionally, the method 800 includes entropy encoding (830) the quantized blocks into a data stream.

[0109] FIG. 9 illustrates a method 900 for block-based decoding of a coded picture signal using transform decoding, including selecting (910) a selected transform mode, e.g., a discriminative transform or a non-discriminative transform, for a given block, e.g., a residual block in an area within a decoded residual picture signal or a neighboring residual block in a residual video signal. The discriminative transform may be understood as a transform skip, and the non-discriminative transform may be an inverse / inverse transform of a transform applied by an encoder or used by an encoding method. Furthermore, the method 900 includes entropy decoding (920) a block to be dequantized associated with the given block according to the selected transform mode from the data stream, e.g., the given block before being subjected to the selected transform mode. Furthermore, the method 900 includes dequantizing (930) the block to be dequantized using a quantization precision that depends on the selected transform mode to obtain a dequantized block. The quantization precision may define the precision of the dequantization 930 of the block to be dequantized. The quantization precision is defined, for example, by a quantization parameter (QP), a scaling factor, and / or a quantization step size. To receive a dequantized block, dequantizing (930) is performed, for example, by multiplying the values ​​of the block by the quantization parameter (QP), the scaling factor, and / or the quantization step size.

[0110] Implementation alternatives: While some aspects have been described in the context of an apparatus, it will be apparent that these aspects also represent a description of a corresponding method, with a block or device corresponding to a method step or feature of a method step. Similarly, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be performed by (or using) a hardware apparatus, such as, for example, a microprocessor, a programmable computer, or an electronic circuit. In some embodiments, one or more of the most important method steps may be performed by such an apparatus.

[0111] Depending on certain implementation requirements, embodiments of the present invention may be implemented as hardware or software. Implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blue-ray, CD, ROM, PROM, EPROM, EEPROM, or FLASH memory, on which electronically readable control signals are stored, which cooperate (or can cooperate) with a programmable computer system so that the respective methods are performed. Thus, the digital storage medium may be computer-readable.

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

[0113] In general, embodiments of the present invention may be implemented as a computer program product having program code operable to perform one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine-readable carrier.

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

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

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

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

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

[0119] Another embodiment may comprise a computer having installed thereon the computer program for performing one of the methods described herein.

[0120] Another embodiment according to the invention includes an apparatus or system configured to transfer (e.g., electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may be, for example, a computer, a mobile device, or a memory device. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.

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

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

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

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

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

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

[0127] 10 Encoders 12 Pictures 14 Data Stream 18 Prescribed Blocks 18' Block to be quantized 18'' quantization block 20 Decoder 22 Prediction residual signal former 24 Prediction residual, prediction residual signal 24' Spectral domain prediction residual signal 24'' prediction residual signal 24'' spectral domain prediction residual signal 24'''' prediction residual signal 26 Predictive Signals 28 Converter 32 Quantizer 34 Entropy Coder 36 Prediction Stage 38 Inverse quantizer 40 Inverse converter 42 Combiner 44 Prediction Module 46 Reconfiguration signal 50 Entropy Decoder 52 Inverse quantizer 54 Inverse converter 56 Combiner 58 Prediction Module 80 intra-coded blocks 82 inter-coded blocks 84 Conversion Blocks 118 Prescribed Block 118' Block to be dequantized 118'' Inverse Quantization Block 128 Conversion Mode 1281 Non-identifying transformation 1282 Identification Conversion 130 Selected Conversion Mode 140 Quantization precision

Claims

[Claim 1] An encoder (10) for block-based encoding of a picture signal using transform coding, comprising: Selecting a selected transformation mode (130) for a given block (18); quantizing (32) a block to be quantized (18') associated with the given block (18) according to the selected transform mode (130) using a quantization precision (140) that depends on the selected transform mode (130) to obtain a quantized block (18''); entropy encoding the quantized block (18'') into a data stream (14); It is configured as follows: the quantization precision (140) depends on whether the selected transform mode (130) is a discriminant transform (1282) or a non-discriminant transform (1281), The encoder (10) of claim 1.

Citation Information

Patent Citations

  • Image encoder, image encoding method and program, image decoder, image decoding method and program

    JP2014011482A

  • Image processing device and method

    WO2014050676A1

  • Harmonized palette coding

    WO2015194187A1

  • Image processing device, image processing method, and program

    WO2019003676A1