Encoder, decoder, system and method for encoding and decoding

Through the dead-band uniform threshold scalar quantization technology, the optimization of quantization residual quantization is solved, and the problem of difficult bit consumption in the transform encoder is difficult to predict and insufficient bit utilization is insufficient, achieving effective optimization of the bit stream and error reduction.

CN112954323BActive Publication Date: 2024-12-31FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202110277333.9
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-07-28
Filing Date
2015-07-24
Publication Date
2024-12-31
Estimated Expiration
2035-07-24

AI Technical Summary

Technical Problem

Existing transformation encoders are complex and difficult to predict when optimizing bit consumption, which makes it difficult to meet the bit stream fixed size requirements after quantization noise forming, and fails to effectively utilize unused bits, resulting in quantization errors and unfavorable truncation of bit streams.

Method used

Using dead-zone uniform threshold scalar quantization (DZ-UTSQ) technology, the quantization residual value is determined through the dead-zone in the quantization stage, the quantization error on the encoder side is optimized, and the output signal is improved by inverse quantization level on the decoder side to form an encoded signal. to meet fixed bitstream requirements.

Benefits of technology

The error between the input signal and the quantized inverse quantization signal is reduced, the utilization rate of the bitstream is optimized, and the transmission of a fixed-sized bitstream is ensured per frame, and the problems of quantized saturation and bitstream truncation are avoided.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112954323B_ABST
    Figure CN112954323B_ABST
Patent Text Reader

Abstract

An embodiment of the present invention provides an encoder, which includes a quantization stage, an entropy encoder, a residual quantization stage, and a coded signal former. The quantization stage is used to quantize an input signal using a dead zone to obtain a plurality of quantized values. The entropy encoder is used to encode the plurality of quantized values ​​using an entropy coding scheme to obtain a plurality of entropy coded values. The residual quantization stage is used to quantize a residual signal caused by the quantization stage, wherein the residual quantization stage is used to determine at least one quantized residual value according to the dead zone of the quantization stage. The coded signal former is used to form a coded signal from the plurality of entropy coded values ​​and the at least one quantized residual value.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application entitled “Encoder, decoder, system and method for encoding and decoding” with application number 201580050928.3 filed on July 24, 2015. Technical Field

[0002] Embodiments relate to an encoder, a decoder, a system including an encoder and a decoder, a method for encoding, and a method for decoding. Some embodiments relate to an apparatus and method for optimizing residual quantization in source coding. Some embodiments relate to a source coding scheme that encodes a quantized signal on a determined number of bits using entropy coding. Background Art

[0003] Entropy coding is an effective tool for utilizing symbol redundancy for transmission. It is usually used in transform-based coding after quantization of spectral lines. By utilizing a priori probability distribution, the quantized values ​​can be encoded losslessly using a reduced number of bits. The principle is to generate codewords whose length is a function of the symbol probability.

[0004] The bit cost is usually known only after the entropy coded symbols are written to the bitstream. This is often problematic when optimizing the quantization stage which requires knowledge of the bit cost for optimizing the rate-distortion function. This is even more problematic when the bitstream must have a fixed size per frame (also called a fixed bit rate), which is a necessary condition for most communication network protocols.

[0005] In a transform encoder, a set of scaling factors usually defines quantization by shaping the quantization noise in the frequency domain. Noise shaping is the result of the perceived distortion and the resulting bit consumption effect, which is usually given by a psychoacoustic model. However, the final factor is usually known only after the fixed quantization noise is shaped. An optimization loop can be used to converge the optimization. Nevertheless, in practical applications, this optimization is relatively complex and the number of iterations must be strictly limited. In addition, in order to reduce complexity more, the bit consumption is usually not fully calculated but only estimated. If the final bit consumption is underestimated, the bit stream will have to be truncated, which is avoided in most cases. Indeed, underestimation will lead to an unfavorable truncation of the bit stream, which is equivalent to saturating the quantization. Therefore, quantization optimization is usually designed to overestimate bit consumption. Therefore, in the final bit stream, a small number of bits are usually not utilized.

[0006] To overcome this problem, a residual (or second) quantization stage can be added after the first quantization stage to utilize the last unused bits. These remaining bits can then be used to improve the quantization noise. This principle is explained below.

[0007] Fig.10A block diagram of a transform encoder 10 is shown. The transform encoder 10 comprises a first quantization stage 12, a residual quantization stage 14, an entropy encoder 16, an entropy coded bit estimation unit 18, a multiplexer 20 and a transform unit 22.

[0008] The transform unit 22 is used to transform the input signal from the time domain to the frequency domain. The first quantization stage 12 is used to quantize the input signal in the frequency domain into a plurality of quantized spectral values ​​q. The plurality of quantized spectral values ​​q, the input signal x in the frequency domain and a certain number of residual bits are input to the residual (or second) quantization stage 14, which is used to improve the output of the first quantization stage 12 and provide a plurality of quantized residual values ​​q. r The entropy encoder 16 is used for entropy encoding the plurality of quantized spectral values ​​q to obtain a plurality of entropy coded values ​​e. The multiplexer 20 is used for multiplexing the plurality of entropy coded values ​​e, the scaling factors depending on the information provided by the first quantization stage 14 and the plurality of quantized residual values ​​delivered by the second quantization stage 16 to obtain a bitstream.

[0009] Fig.10 The transform encoder 10 shown is designed to deliver a specific target number of bits per frame. The quantization is adjusted to achieve this goal, but for complexity reasons, only an estimate of the entropy encoder bit consumption is performed when adjusting the quantization step. In addition, even if the bit estimate is very accurate, it may still be impossible to find a set of scaling factors that leads to the expected target bits. After the first quantization stage 12, the quantized value q is entropy encoded. The remaining unused bits are then allocated to residual quantization, which will improve the output of the first quantization stage 12. The residual quantization stage 14 takes the quantized spectral value q, the original spectral value x and a certain number of residual bits as input. The number of residual bits can be an estimate or the actual number of residual bits. The estimate is usually used when local synthesis is required on the encoder side, for example, in a closed-loop decision mode (such as in AMR-WB+ (Adaptive Multi-Rate Wide Band Extended) to make a switching decision. In this case, the residual encoding must be called before the last call of the entropy encoder 16.

[0010] In the conventional transform encoder 10, the residual quantization stage 14 performs simple uniform scalar quantization on the difference between the dequantized input signal obtained by dequantizing the quantized spectrum values ​​and the original input signal. However, through rate-distortion performance analysis, it can be seen that uniform quantization is only better for memory-free and uniformly distributed sources. Summary of the invention

[0011] It is therefore an object of the present invention to provide improved residual quantization for non-memory-less and non-uniformly distributed sources.

[0012] This object is achieved by the independent claims.

[0013] An embodiment of the present invention provides an encoder, which includes a quantization stage, an entropy encoder, a residual quantization stage, and a coded signal former. The quantization stage is used to quantize an input signal using a dead zone to obtain a plurality of quantized values. The entropy encoder is used to encode the plurality of quantized values ​​using an entropy coding scheme to obtain a plurality of entropy coded values. The residual quantization stage is used to quantize a residual signal caused by the quantization stage, wherein the residual quantization stage is used to determine at least one quantized residual value according to the dead zone of the quantization stage. The coded signal former is used to form a coded signal from the plurality of entropy coded values ​​and the at least one quantized residual value.

[0014] In addition, an embodiment of the present invention provides a decoder, which includes a coded signal parser, an entropy decoder and an inverse quantization stage. The coded signal parser is used to parse the coded signal to obtain multiple entropy coded values ​​and at least one quantized residual value. The entropy decoder is used to decode the multiple entropy coded values ​​using an entropy decoding scheme to obtain multiple quantized values. The inverse quantization stage is used to inverse quantize the multiple quantized values ​​to obtain an output signal. In addition, the inverse quantization stage is used to improve the inverse quantization level used to obtain the output signal according to the quantized residual value and the dead zone.

[0015] According to the conception of the present invention, when improving the dequantization level used to obtain the dequantized signal (referred to as the output signal), the error between the (original) input signal and the dequantized signal obtained by dequantizing multiple quantization values ​​can be reduced or even optimized by taking into account the residual quantization stage on the encoder side that takes into account the dead zone used to quantize the input signal and the dequantization stage on the decoder side that also takes into account this dead zone.

[0016] In addition, an embodiment of the present invention provides a method for encoding. The method includes: quantizing an input signal using a dead zone to obtain a plurality of quantized values; encoding the plurality of quantized values ​​using an entropy coding scheme to obtain a plurality of entropy coded values; quantizing a residual signal caused by quantization in the quantization stage according to the dead zone in the quantization stage and determining a plurality of quantized residual values; and forming a bit stream from the plurality of entropy coded values ​​and the plurality of quantized residual values.

[0017] In addition, an embodiment of the present invention provides a method for decoding, which includes: parsing a coded signal to obtain multiple entropy coded values ​​and quantization residual values; decoding the multiple entropy coded values ​​using an entropy decoding scheme to obtain multiple quantization values; dequantizing the multiple quantization values ​​using a dead zone to obtain an output signal; and improving the dequantization level used to obtain the output signal based on the dead zone and the quantization residual value. BRIEF DESCRIPTION OF THE DRAWINGS

[0018] Embodiments of the present invention are discussed herein with reference to the accompanying drawings.

[0019] Figure 1A block diagram of an encoder according to an embodiment of the present invention is shown.

[0020] Figure 2 A block diagram of a decoder according to an embodiment of the present invention is shown.

[0021] Figure 3 A block diagram of a system according to an embodiment of the present invention is shown.

[0022] Figure 4 Shown is a block diagram of a residual quantization stage according to an embodiment of the present invention.

[0023] Figure 5 The figure shows the dequantization level and quantization threshold used in the dead-zone uniform threshold scalar quantization scheme.

[0024] Figure 6 Two improved dequantization levels for non-zero quantization values ​​are shown in the figure.

[0025] Figure 7 Three improved dequantization levels for a zero quantized value are shown in the figure.

[0026] Figure 8 A flowchart of a method for encoding according to an embodiment of the present invention is shown.

[0027] Fig. 9 A flowchart of a method for decoding according to an embodiment of the present invention is shown.

[0028] Fig.10 A block diagram showing a conventional transform encoder using residual quantization. DETAILED DESCRIPTION

[0029] In the following description, the same or equivalent elements or elements having the same or equivalent functions are denoted by the same or equivalent reference numerals.

[0030] In the following description, a number of details are presented to provide a more in-depth explanation of embodiments of the present invention. However, it will be apparent to those skilled in the art that embodiments of the present invention may be practiced without these specific details. In other examples, known structures and devices are shown in block diagram form rather than in detail to avoid confusion with embodiments of the present invention. In addition, unless otherwise specified, the features of the different embodiments described below may be combined with each other.

[0031] Since entropy coding delivers codewords of variable length, it is difficult to predict the exact bit consumption before writing to the bitstream. However, the bit consumption is required to optimize the quantization. Most of the time, and for complexity reasons, the quantization is suboptimal and some few bits remain unused. Residual quantization is a second level of quantization that exploits these unused bits in order to improve the quantization error.

[0032] The embodiments of the present invention described below provide an encoder, a decoder and a method for optimizing the residual quantization.

[0033] Figure 1 A block diagram of an encoder 100 according to an embodiment of the present invention is shown. The encoder 100 includes a quantization stage 102 (e.g., a first quantization stage), an entropy encoder 104, a residual quantization stage 106 (e.g., a second quantization stage), and a coded signal former 108. The quantization stage 102 is used to quantize an input signal 140 using a dead zone to obtain a plurality of quantized values ​​142 (q). The entropy encoder 104 is used to encode the plurality of quantized values ​​142 (q) using an entropy coding scheme to obtain a plurality of entropy coded values ​​144 (e). The residual quantization stage 106 is used to quantize a residual signal caused by quantization in the quantization stage 102, wherein the residual quantization stage 106 is used to determine at least one quantized residual value 146 (q) according to the dead zone of the quantization stage 102. r The coded signal generator 108 is used to generate a quantized residual value 146 (q) from a plurality of entropy coded values ​​144 (e) and at least one quantized residual value 146 (q r ) forms the encoded signal 148.

[0034] The idea of ​​the invention is to reduce or even optimize the error between the (original) input signal and the dequantized version of the quantized version of the input signal by a residual quantization stage on the encoder side taking into account the dead zone used to quantize the input signal and a dequantization stage on the decoder side also taking into account this dead zone, when improving the dequantization level used to obtain the dequantized signal.

[0035] In an embodiment, the quantization stage 102 may be used to perform dead-zone uniform threshold scalar quantization (DZ-UTSQ).

[0036] In an embodiment, the coded signal former 108 is operable to form a coded signal 148 by appending at least one quantized residual value 146 or a plurality of quantized residual values ​​146 to the plurality of entropy coded values ​​144 until the coded signal 148 comprises a maximum length available for transmission to a decoder. It is not restricted that the bitstream contains other information, such as a scaling factor defining the first quantization stage noise shaping, prediction coefficients for shaping the quantization noise and for post filtering of the output signal in the time domain.

[0037] For example, the coded signal former 108 may be configured to provide a bitstream as the coded signal 148. Thus, the coded signal former 108, such as a multiplexer, may be configured to add at least one quantized residual value 146 or a plurality of quantized residual values ​​146 to the end of the bitstream. The bitstream generated by the encoder 100 may be transmitted (e.g., transmitted or broadcasted) to a decoder or stored in, for example, a non-volatile storage medium for subsequent decoding by the decoder. Thus, the bitstream may be transmitted or stored using data frames or data packets, wherein the bitstream may need to have a fixed size (also referred to herein as target bits) per data frame or data packet.

[0038] In order to obtain a bitstream having a fixed size or a predetermined number of target bits, the coded signal former 108 may be configured to append the quantized residual value 146 to the entropy coded value 144 until the bitstream reaches the predetermined number of target bits. The residual quantization stage 106 may stop determining the quantized residual value 146 when the bitstream includes the predetermined length or number of target bits.

[0039] In an embodiment, the input signal 140 may be a frequency domain input signal 140. The encoder 100 may comprise a transform unit for transforming the time domain input signal into the frequency domain input signal 140.

[0040] Figure 2 A block diagram of a decoder 120 according to an embodiment of the present invention is shown. The decoder 120 includes a coded signal parser 122, an entropy decoder 124, and an inverse quantization stage 126. The coded signal parser 122 is used to parse the coded signal 148 to obtain a plurality of entropy coded values ​​144 (e) and at least one quantized residual value 146 (q r ). The entropy decoder 124 is used to decode the plurality of entropy coded values ​​144 (e) using an entropy decoding scheme to obtain a plurality of quantized values ​​142 (q). The inverse quantization stage 126 is used to inverse quantize the plurality of quantized values ​​142 (q) to obtain an output signal 150. Therefore, the inverse quantization stage 126 is used to inverse quantize the plurality of quantized values ​​142 (q) according to the quantized residual value 146 (q r ) and the dead zone used in the encoder 100 in the quantization stage 106 to obtain the plurality of quantized values ​​142 (q) to improve the inverse quantization levels used to obtain the output signal 150.

[0041] In an embodiment, the inverse quantization stage 126 may be used to improve the inverse quantization level by determining an improved inverse quantization level based on the dead zone.

[0042] For example, the dequantization stage 126 can be used to determine the level to which the dequantization level needs to be improved (i.e., increased or decreased) based on the dead zone or more precisely based on the width of the dead zone to obtain an improved dequantization level. In addition, the dequantization stage 126 can be used to determine at least two new dequantization levels based on the dead zone, and to obtain the output signal 150 by using one of the at least two improved dequantization levels represented by the quantization residual value 146. In other words, the quantization residual value 146 indicates which of the at least two improved dequantization levels is used to obtain the output signal 150.

[0043] Figure 3 A block diagram of a system 130 according to an embodiment of the present invention is shown. The system 130 includes Figure 1 The encoder 100 shown in FIG. Figure 2 The decoder 120 shown in .

[0044] Below, the features of the encoder 100 and the decoder 120, as well as the interaction or interaction of the features of the encoder 100 and the decoder 120, will be described in more detail.

[0045] Figure 4 A block diagram of the residual quantization stage 106 according to an embodiment is shown. The residual quantization stage 106 may include a residual quantizer 106', a dequantizer 160, and a comparator 162. The dequantizer 160 may be used to dequantize the plurality of quantized values ​​142(q) provided by the quantization stage 102 to obtain a dequantized input signal 152(x_q). The comparison stage 162 may be used to compare the input signal 140(x) with the dequantized input signal 152(x_q) to obtain a residual signal 154. The residual quantizer 106' may be used to quantize the residual signal resulting from the quantization stage 102.

[0046] In other words, Figure 4 The residual quantization block diagram is shown in FIG. 142 (q) is inversely quantized and compared to the original spectrum 140 (x). Then, a second level of quantization is performed based on the available remaining bits. The second quantization step performed by the residual quantization stage 106 is typically a greedy quantization, i.e., quantization is performed line by line and each requantized value is calculated independently from the information subsequently transmitted. In this way, the residual quantized bit stream 146 (q) can be truncated whenever the bit stream 148 provided by the coded signal former 108 reaches the desired size. r ).

[0047] like Figure 4 As shown, the residual quantization stage 106 may further include a control unit 164, such as a regulator. The control unit 164 may be used to control or optimize the residual quantizer 106'.

[0048] For example, the control unit 164 may be used to control the residual quantizer 106' so that the residual quantizer 106' quantizes the residual signal 154 according to the dead zone or more precisely according to the width of the dead zone used to obtain the plurality of quantized values ​​142 (q) in the quantization stage 102. In addition, the control unit 164 may be used to control the residual quantizer 106' according to a certain number of target bits and a certain number of consumed bits (e.g., consumed by the entropy coded values ​​144 provided by the entropy encoder, or consumed by the entropy coded values ​​144 and the quantized residual values ​​already provided by the residual quantizer 106'). In addition, the control unit 164 may be used to control the residual quantizer 106' according to information provided by the inverse quantizer 160. The information provided by the inverse quantizer 160 may include the width of the dead zone, which may be fixed or adaptively modified, and may also include a scaling factor applied in the first quantization stage to normalize the spectrum and define the quantization step size, and may also include an indication of whether the quantized value is reset to zero.

[0049] In existing residual quantization, Qr performed by the residual quantization stage is a simple uniform scalar quantization of the difference x[i]-x_q[i]:

[0050] if x[i]>x_q[i]

[0051] Qr[i]=(int)(05+(x[i]-x_q[i]) / delta_r)

[0052] Else

[0053] Qr[i]=(int)(-0.5+(x[i]-x_q[i]) / delta_r)

[0054] where x[i] is the input signal 140, where x_Q[i] is the dequantized input signal 152, where (int) is a rounding function, and where delta_r is the quantization step size of the residual quantizer Qr, which is typically smaller than the quantization step size delta used in the first quantizer Q. Typically:

[0055] delta_r=0.5*delta

[0056] Embodiments of the present invention solve two problems regarding residual quantization. The first main problem is knowing how to get a good Qr for the first quantization stage 102 (a function of the residual quantization stage 106). The second problem is how to minimize the mismatch between the encoder local synthesis and the decoder synthesis when the number of remaining bits needs to be estimated.

[0057] Through rate-distortion performance analysis, it can be seen that uniform quantization (as used in existing residual quantization) is only optimal for memory-free and uniformly distributed sources. If entropy coding is used afterwards, uniform quantization is quasi-optimal for Gaussian sources and at very high bit rates. At lower bit rates, a near-optimal solution is with dead zone and uniform threshold scalar quantization (DZ-UTSQ). This family of quantizers is quasi-optimal for a wide range of distributions (such as Gaussian, Laplacian, and generalized Laplacian). The dead zone factor can be optimized by different methods. It can be optimized in real time based on an estimate of the distribution. More simply, it can be fixed to a default optimal value created for the expected input signal or changed based on some measurement (such as the tonality of the spectrum that also reflects the distribution).

[0058] In the following, a solution for optimizing the residual quantization Qr performed by the residual quantization stage 106 which depends on the first stage DZ-UTSQ 102 will be presented. The dead zone parameter is called dz, and the DZ-UTSQ 102 is defined as:

[0059] ifx[i]>0

[0060] Q[i]=(int)(rounding_dz+(x[i]) / delta)

[0061] Else

[0062] Q[i]=(int)(-rounding_dz+(x[i]) / delta)

[0063] and

[0064] x_q[i]=delta*Q[i]

[0065] where x[i] is the input signal 140, where x_Q[i] is the dequantized input signal 152, where (int) is the integer function, and where delta is the quantization step size used in the DZ-UTSQ 102, and where rounding_dz=1-dz / 2.

[0066] Figure 5 The DZ-UTSQ 102 scheme is shown, where the scaling is normalized by delta. The dead zone is usually larger than the normalized cell size with a step size of 1. A dead zone of 1.25 is a good estimate for most frequency transformed audio samples. It can be reduced in the case of noisy signals, and increased for higher pitches.

[0067] Embodiments of the present invention define a better quantization improvement of the error x[i]-x_q[i]. Because the residual coding is not entropy limited, no additional dead zone is used in the residual quantization Qr. In addition, it is assumed that the distribution of the quantization error of the first quantization stage 102 is uniform in the left and right parts of the quantization unit 170 defined by the reconstruction level. This is a high-ratio assumption, i.e., the size of the new quantization unit is considered small enough to discard non-uniformly distributed errors in the unit. This assumption is valid for most target bit rates.

[0068] There are two main cases: samples are quantized with non-zero values ​​and samples are quantized with zero values.

[0069] For non-zero quantization values, 1 bit is allocated for each sample of the residual quantization Qr and two relative reconstruction levels fac_m and fac_p are defined:

[0070] fac_p=0.5-rounding_dz*05=0.25*(dz)

[0071] fac_m=0.5*rounding_dz=0.5*(1-05*dz)

[0072] Thus, fac_p may represent the normalized absolute value to which the normalized absolute value of the dequantization level (or reconstruction level) 172 is to be increased in order to obtain the first improved dequantization level 174 of the two improved dequantization levels 174, 176. Wherein fac_m represents the normalized absolute value to which the normalized absolute value of the dequantization level 172 is to be reduced in order to obtain the second improved dequantization level 176 of the two improved dequantization levels 174, 176, where dz is the normalized width of the dead zone, as will be obtained from Figure 6 Become clear.

[0073] Figure 6 Two relative (or improved) reconstruction levels 174, 176 for a reconstruction level 172 of 1 are shown. Using an extra bit of 1, the reconstruction level 172 can be improved using 1-fac_m (resulting in a second improved inverse quantization level 176) or using 1+fac_p (resulting in a first improved inverse quantization level 174). The original unit is split into two non-uniform units. Since the quantization error of Q (the quantization function of the first quantization stage 102) is assumed to be uniformly distributed in the new unit, the residual quantization Qr is better with respect to RD performance. Note that the quantization Q and the residual quantization Qr form an embedded quantization, i.e. bits allocated to the residual quantization Qr can be discarded and Q-1 can still be performed.

[0074] The residual quantization Qr performed by the residual quantization stage 106 can be summarized as:

[0075]

[0076] Where prm is the bitstream generated by the residual quantization stage 106 using the quantized residual values, where x[i] is the input signal, where x_Q[i] is the dequantized input signal, where n is an index incremented by 1 for each non-zero quantization value improved by Qr, and where i is an index incremented by 1 for each resulting quantization value.

[0077] Then, the inverse Qr can be expressed as:

[0078] if(x_Q[i]>0&n<N bits )then

[0079]

[0080] else if(n<N bits )then

[0081]

[0082] It can be seen that only for the first N bits bits to perform inverse Qr. That is, the encoder may generate more bits than the encoder or decoder will actually decode. This mechanism is used when the remaining number of bits is estimated and when a local synthesis on the encoder side needs to be generated. Although the decoder may decode more or less bits depending on the actual remaining available bits in the bitstream, the expected reconstructed signal is generated at the encoder.

[0083] Optionally, more than 1 bit may be allocated to Qr for each sample. Using the same principle, a better reconstruction level may be defined for Qr reconstruction levels of powers of 2 bits.

[0084] For zero quantization values, the residual quantization Qr can be allocated more than 1 bit. The reason is that for perceptual reasons it is required to have zero as the reconstruction level. It avoids creating artificial noisy signals, for example during silence. A special 3-level variable length coding can be used:

[0085] 0: Encoding zero

[0086] 10: Negative reconstruction level

[0087] 11: Positive reconstruction level

[0088] Calculate the new relative reconstruction level, tac_z:

[0089] fac_z=dz / 3

[0090] Thus, fac_z may represent the normalized absolute value to which the normalized absolute value of the dequantization level 172 is to be increased in order to obtain the first improved dequantization level 174 of the two improved dequantization levels 174, 176, and the normalized absolute value to which the normalized absolute value of the dequantization level is to be decreased in order to obtain the second improved dequantization level 176 of the two improved dequantization levels 174, 176, wherein dz is the normalized width of the dead zone, as obtained from Figure 7 It will become clearer.

[0091] Figure 7 The residual quantization Qr performed by the residual quantization stage 106 is shown for a zero quantization value 142. The cells around zero are divided into three uniform new cells.

[0092] The residual quantization Qr performed by the residual quantization stage 106 for a quantization value of zero can be summarized as:

[0093]

[0094] if prm[n]==1 then

[0095]

[0096] Where C depends on the dead zone of the quantization stage and can be calculated as C = delta * (fac_z / 2), where prm is the bitstream generated by the residual quantization stage 106 using the quantized residual values, where x[i] is the input signal, and where x_Q[i] is the dequantized input signal. The index n is increased by 1 for each zero quantization value that is requantized to zero, where n is increased by 2 for each zero quantization value that is requantized to a non-zero value.

[0097] Inverse Qr can then be expressed as:

[0098] if(n<N bits )then

[0099]

[0100] Embodiments of the present invention can be easily extended using the following assumption: the distribution in the original quantization unit is not uniform. In this case, the relative reconstruction level can be derived from the distribution of the quantization error. The method to achieve this is to split the original quantization unit into non-uniform new smaller units. A second dead zone parameter can also be used.

[0101] Other embodiments of the encoder 100 and the decoder 120 will be briefly described below.

[0102] First, the encoder 100 is described.

[0103] Residual quantization is an improved quantization layer that improves the first SQ stage (or quantization stage 102). It utilizes the last unused bits, i.e., unused bits = target_bits-nbbits, where nbbits is the number of bits consumed by the entropy encoder 104. Residual quantization uses a greedy strategy and no entropy to stop encoding whenever the bitstream reaches the desired size.

[0104] The improvement consists in requantizing the quantized spectrum line by line. First, the non-zero quantized lines are processed using a 1-bit residual quantizer:

[0105]

[0106] Therefore, X[k] is the scaled sample of the input signal 140, are the corresponding scaled samples of the inverse quantized input signal 152 .

[0107] Finally, if the remaining bits allow, the zero quantization line is considered and quantized using 3 levels, as follows:

[0108]

[0109] Therefore, X[k] is the scaled sample of the input signal 140, is the corresponding scaled sample of the dequantized input signal 152, fac_z may represent the normalized absolute value to which the normalized absolute value of the dequantization level 172 is to be increased in order to obtain the first improved dequantization level 174 of the two improved dequantization levels 174, 176, and the normalized absolute value to which the normalized absolute value of the dequantization level is to be reduced in order to obtain the second improved dequantization level 176 of the two improved dequantization levels 174, 176, where rounding_dz=1-dz / 2.

[0110] Next, the decoder 120 is described.

[0111] The remaining bits improve the non-zero decoded lines. For each non-zero spectral value read 1 bit:

[0112] fac_p=(1-rounding_dz) / 2

[0113] fac_m=rounding_dz / 2

[0114] if (read_bit() == 0) then

[0115]

[0116] else then

[0117]

[0118] Therefore, X[k] is the input signal 140, is the dequantized input signal 152, fac_p may represent the normalized absolute value to which the normalized absolute value of the dequantization level (or reconstruction level) 172 is to be increased in order to obtain the first improved dequantization level 174 of the two improved dequantization levels 174, 176, and fac_m may represent the normalized absolute value to which the normalized absolute value of the dequantization level 172 is to be reduced in order to obtain the second improved dequantization level 176 of the two improved dequantization levels 174, 176, where rounding_dz=1-dz / 2.

[0119] If at least 2 bits are left to read, the zero value is improved to:

[0120]

[0121] Therefore, X[k] is the scaled sample of the input signal 140, is the corresponding scaled sample of the dequantized input signal 152, fac_z may represent the normalized absolute value to which the normalized absolute value of the dequantization level 172 is to be increased in order to obtain the first improved dequantization level 174 of the two improved dequantization levels 174, 176, and the normalized absolute value to which the normalized absolute value of the dequantization level is to be reduced in order to obtain the second improved dequantization level 176 of the two improved dequantization levels 174, 176, where rounding_dz=1-dz / 2.

[0122] Figure 8 A flow chart of a method 200 for encoding according to an embodiment is shown. The method 200 comprises: step 202, quantizing an input signal using a dead zone to obtain a plurality of quantized values; step 204, encoding the plurality of quantized values ​​using an entropy coding scheme to obtain a plurality of entropy coded values; step 206, quantizing a residual signal caused by quantization in the quantization stage according to the dead zone in the quantization stage and determining a plurality of quantized residual values; and step 208, forming a bit stream from the plurality of entropy coded values ​​and the plurality of quantized residual values.

[0123] Fig. 9 A flow chart of a method 220 for decoding according to an embodiment is shown. The method 220 includes: step 222, parsing the encoded signal to obtain a plurality of entropy coded values ​​and a quantized residual value; step 224, decoding the plurality of entropy coded values ​​using an entropy decoding scheme to obtain a plurality of quantized values; step 226, dequantizing the plurality of quantized values ​​using a dead zone to obtain an output signal; and step 228, improving a dequantization level used to obtain the output signal according to the dead zone and the quantized residual value.

[0124] Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent descriptions of corresponding methods, where modules or apparatus correspond to method steps or features of method steps. Similarly, aspects described in the context of method steps also represent descriptions of features of corresponding modules or items or corresponding apparatus. Some or all of the method steps may also be performed by (or using) hardware devices, such as microprocessors, programmable computers, or electronic circuits. In some embodiments, some or most of the most important method steps may be performed by this device.

[0125] Embodiments of the present invention may be implemented in hardware or software, depending on specific implementation requirements. This implementation may be performed using a digital storage medium, such as a floppy disk, DVD, Blu-ray disc, CD, ROM, PROM, EPROM, EEPROM, or flash memory, on which electronically readable control signals are stored, which may operate (or be capable of operating) in conjunction with a programmable computer system to cause the various methods to be performed. Thus, the digital storage medium may be computer readable.

[0126] Some embodiments according to the invention comprise a data carrier having electronically readable control signals, which are capable of cooperating with a programmable computer system, such that one of the methods is performed.

[0127] Generally, the embodiments of the present invention can be implemented as a computer program product with a program code, which can be executed to perform one of the methods when the computer program product runs on a computer. The program code can be stored on a machine-readable carrier, for example.

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

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

[0130] A further embodiment of the inventive method 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 are generally tangible and / or non-volatile.

[0131] Therefore, another embodiment of the inventive method is a data stream or a sequence of signals representing a computer program for executing one of the methods described herein. The data stream or the sequence of signals may, for example, be configured to be transmitted via a data communication connection (for example, via the Internet).

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

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

[0134] Another embodiment according to the invention comprises an apparatus or system configured to transmit to a receiver a computer program for performing at least one of the methods described herein. For example, the transmission may be electronic or optical. 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 transmitting the computer program to the receiver.

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

[0136] The embodiments described above are merely illustrative of the principles of the present invention. It should be understood that variations and changes in the configurations and details described herein will be apparent to those skilled in the art. Therefore, it is intended that the present invention be limited only by the scope of the pending claims, rather than by the specific details presented by the description and explanation of the embodiments herein.

Claims

1. An audio encoder (100), comprising: A quantization stage (102) configured to quantize an input signal (140) using a dead zone to obtain a plurality of quantized values ​​(142); An entropy encoder (104) configured to encode the plurality of quantized values ​​(142) using an entropy encoding scheme to obtain a plurality of entropy encoded values ​​(144); a residual quantization stage (106) configured to quantize a residual signal resulting from the quantization stage (102), wherein the residual quantization stage (106) is configured to determine at least one quantized residual value (146) and a width of a residual quantization unit for a non-zero quantized value according to the width of the dead zone of the quantization stage (102); as well as a coded signal former (108) configured to form a coded signal (148) from the plurality of entropy coded values ​​(144) and the at least one quantized residual value (146), The input signal (140) is an audio signal.

2. The audio encoder (100) of claim 1, wherein the residual quantization stage (106) comprises: A dequantizer (160) configured to dequantize the plurality of quantized values ​​(112) according to the dead zone of the quantization stage (102) to obtain a dequantized input signal (152); wherein the residual quantization stage (106) is configured to determine the at least one quantized residual value (146) such that the quantized residual value (146) includes 1 bit for a non-zero quantized value; as well as The residual quantization stage (106) is configured to determine the quantized residual value (146) to include a logic 0 for the non-zero quantized value when the input signal (140) is less than the inverse quantized input signal (152) for the non-zero quantized value, and to determine the quantized residual value (146) to include a logic 1 otherwise.

3. The audio encoder (100) of claim 1, wherein the residual quantization stage (106) comprises: A dequantizer (160) configured to dequantize the plurality of quantized values ​​(142) according to the dead zone to obtain a dequantized input signal (152); and A comparator (162) is configured to compare the input signal (140) with the dequantized input signal (152).

4. The audio encoder (100) of claim 3, wherein the comparator (162) is configured to compare the input signal (140) with the dequantized input signal (152) in order to obtain a residual signal (154); The residual quantization stage (106) is configured to quantize the residual signal (154) according to the dead zone.

5. The audio encoder (100) of claim 4, wherein the residual quantization stage (106) is configured to determine the at least one quantized residual value (146) such that the quantized residual value (146) comprises 1 bit for a non-zero quantization value; and The residual quantization stage is configured to determine the quantized residual value (146) to include a logic 0 for the non-zero quantized value when the residual signal (154) is negative for the non-zero quantized value, and to determine the quantized residual value (146) to include a logic 1 for the non-zero quantized value otherwise.

6. The audio encoder (100) of claim 1, wherein the residual quantization stage (106) is configured to determine the at least one quantized residual value (146) such that the quantized residual value (146) comprises 1 bit for a non-zero quantized value, wherein the residual quantization stage (106) is configured to determine the quantized residual value (146) based on the following syntax wherein prm is a bitstream generated by the residual quantization stage (106) using the quantized residual values ​​(146), wherein x[i] is the input signal (140), wherein x_Q[i] is the inverse quantized input signal (152), wherein n is an index increasing by 1 for each non-zero quantization value, and wherein i is an index increasing by 1 for each obtained quantization value (142).

7. The audio encoder (100) of claim 1, wherein the residual quantization stage (106) is configured to determine the quantized residual value (146) such that the quantized residual value (146) comprises 2 bits for a zero quantized value, wherein the residual quantization stage (106) is configured to determine the quantized residual value (146) based on the following syntax If prm[n] == 1, then wherein C depends on the dead zone of the quantization stage (102), wherein prm is a bitstream generated by the residual quantization stage (106) using the quantized residual value (146), wherein x[i] is the input signal (140), wherein x_Q[i] is the inverse quantized input signal (152), wherein n is an index that increases by 1 for each zero quantization value that is requantized to a zero quantization value and by 2 for each zero quantization value that is requantized to a non-zero quantization value, and wherein i is an index that increases by 1 for each obtained quantization value (142).

8. An audio encoder (100) according to claim 1, wherein the encoded signal former (108) is configured to form the encoded signal (148) by appending the at least one quantized residual value (146) or multiple quantized residual values ​​(146) to the multiple entropy coded values ​​(144) until the encoded signal (148) includes a maximum length available for transmission to a decoder.

9. The audio encoder (100) of claim 1, wherein the coded signal former (108) is configured to provide a bitstream as the coded signal (148), wherein the coded signal former (108) is configured to form the bitstream from the plurality of entropy coded values ​​(144) and the at least one quantized residual value (146), wherein the coded signal former (108) is configured to append the quantized residual value (146) to the entropy coded value (144), wherein the residual quantization stage (106) comprises: Residual quantizer (106'); as well as a regulator (164) configured to control the residual quantizer (106') to quantize the residual signal according to the width of the dead zone used in the quantization stage (102) of obtaining the plurality of quantized values ​​(142); wherein the adjuster (164) is configured to obtain a plurality of target bits and a plurality of consumed bits; and The regulator (164) is configured to control the residual quantization stage to stop determining the quantized residual value when the bitstream includes the plurality of target bits.

10. An audio decoder (120), comprising: A coded signal parser (122) configured to parse the coded signal (148) to obtain a plurality of entropy coded values ​​(144) and at least one quantized residual value (146); an entropy decoder (124) configured to decode the plurality of entropy encoded values ​​(144) using an entropy decoding scheme to obtain a plurality of quantized values ​​(142); and a dequantization stage (126) configured to dequantize the plurality of quantized values ​​(142) to obtain an output signal (150); wherein the dequantization stage (126) is configured to improve a dequantization level (172) used to obtain the output signal (150) according to the quantization residual value (146) and the width of the dead zone, The dequantization stage (126) is configured to improve the dequantization level (172) by determining an improved dequantization level (174, 176) based on the width of the dead zone.

11. An audio decoder (120) according to claim 10, wherein the dequantization stage (126) is configured to determine two improved dequantization levels (174, 176) for non-zero quantization values, and wherein the dequantization stage (126) is configured to obtain the output signal (150) by using one of the two improved dequantization levels (174, 176) indicated by a quantization residual value.

12. An audio decoder (120) according to claim 11, wherein the dequantization stage (126) is configured to increase the normalized absolute value of the dequantization level (172) by an increment so as to obtain a first (174) of the two improved dequantization levels; wherein the dequantization stage (126) is configured to reduce the normalized absolute value of the dequantization level (172) by a decrement value in order to obtain a second of the two improved dequantization levels (176); and wherein the increase in value and the decrease in value are different from each other.

13. The audio decoder (120) of claim 11, wherein the dequantization stage (126) is configured to determine the two improved dequantization levels (174, 176) for non-zero quantization values ​​based on the following two factors: fac_p=0.25*dz fac_m=0.5*(1-0.5*dz) wherein fac_p indicates the normalized absolute value to which the normalized absolute value of the inverse quantization level (172) is to be added in order to obtain the first of the two improved inverse quantization levels (174), wherein fac_m indicates the normalized absolute value to which the normalized absolute value of the inverse quantization level (172) is to be reduced in order to obtain the second of the two improved inverse quantization levels (176), and wherein dz is the normalized width of the dead zone.

14. An audio decoder (120) according to claim 10, wherein the dequantization stage (126) is configured to determine two improved dequantization levels (174, 176) for a zero quantization value, and wherein the dequantization stage (126) is configured to obtain the output signal (150) by using the dequantization level (172) indicated by the quantization residual value and one of the two improved dequantization levels (174, 176).

15. An audio decoder (120) according to claim 14, wherein the dequantization stage (126) is configured to increase the normalized absolute value of the dequantization level (172) by an increment so as to obtain a first (174) of the two improved dequantization levels; The inverse quantization stage (126) is configured to reduce the normalized absolute value of the inverse quantization level (172) by a decrement value to obtain a second of the two improved inverse quantization levels (176).

16. The audio decoder (120) of claim 14, wherein the dequantization stage (126) is configured to determine the two improved dequantization levels (174, 176) based on the zero quantization value of the following factors: fac_z=dz / 3 wherein fac_z indicates the normalized absolute value to which the normalized absolute value of the inverse quantization level (172) is to be added in order to obtain the first of the two improved inverse quantization levels (174), and the normalized absolute value to which the normalized absolute value of the inverse quantization level (172) is to be subtracted in order to obtain the second of the two improved inverse quantization levels (176), and wherein dz is the normalized width of the dead zone.

17. A system comprising: The audio encoder (100) according to claim 1; as well as The audio decoder (120) of claim 10.

18. A method (200) for encoding, the method comprising: quantizing an input signal using a dead zone (202) to obtain a plurality of quantized values; encoding the plurality of quantized values ​​using an entropy coding scheme (204) to obtain a plurality of entropy coded values; quantizing (206) a residual signal resulting from quantizing (202) the input signal and determining at least one quantized residual value and a width of a residual quantization unit for non-zero quantized values ​​based on the width of the dead zone used for quantizing (202) the input signal; as well as forming (208) a bitstream from the plurality of entropy coded values ​​and the at least one quantized residual value, The input signal is an audio signal.

19. A method (220) configured to decode, the method comprising: parsing (222) the coded signal to obtain a plurality of entropy coded values ​​and a quantized residual value; Decoding (224) the plurality of entropy coded values ​​using an entropy decoding scheme to obtain a plurality of quantized values; Dequantizing (226) the plurality of quantized values ​​to obtain an output signal; as well as improving (228) the inverse quantization level for obtaining the output signal according to the width of the dead zone and the quantization residual value, wherein the dequantization level is improved by determining the improved dequantization level according to the width of the dead zone, The output signal is an audio signal.

20. A digital storage medium storing a computer program for performing the method according to claim 18 or 19 when the computer program is executed by a processor.