Audio encoder with signal dependent number and precision control, audio decoder and related methods and computer programs

By using a two-stage encoder processor to perform signal characteristic-dependent preprocessing and encoding of audio data, the problem of inaccurate estimation of high-pitched signal bit consumption is solved, thereby improving audio quality and bit utilization efficiency.

CN114974272BActive Publication Date: 2026-06-09FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV

Patent Information

Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
FRAUNHOFER GESELLSCHAFT ZUR FORDERUNG DER ANGEWANDTEN FORSCHUNG EV
Filing Date
2020-06-10
Publication Date
2026-06-09

AI Technical Summary

Technical Problem

Existing audio encoders often fail to accurately estimate bit consumption when processing high-pitched signals, leading to decreased audio quality or wasted bits and an inability to effectively utilize the bit budget.

Method used

A two-stage encoder processor is used to perform signal characteristic-dependent preprocessing and encoding of audio data through a preprocessor and an encoder processor, reducing the number of audio data items in high-pitched signals, and enhancing the encoding efficiency of information units in the optimized encoding stage. A signal adaptive background noise adder is used to adjust bit consumption.

Benefits of technology

It improves the audio quality and bit utilization efficiency of high-pitched signals, reduces the inaccuracy of bit consumption, and ensures good audio quality within the bit budget.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN114974272B_ABST
    Figure CN114974272B_ABST
Patent Text Reader

Abstract

An audio encoder for encoding audio input data (11) comprises a pre-processor (10) for pre-processing the audio input data (11) to obtain audio data to be encoded, an encoder processor (15) for encoding the audio data to be encoded, and a controller (20) for controlling the encoder processor such that, depending on a first signal characteristic of a first frame of the audio data to be encoded, the number of audio data items to be encoded by the encoder processor (15) for the first frame is reduced compared to a second signal characteristic of a second frame, and a first number of information units used for encoding the reduced number of audio data items for the first frame is more strongly enhanced compared to a second number of information units used for the second frame.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] This application is a divisional application of the invention patent application filed on June 10, 2020, with PCT international application number PCT / EP2020 / 066088 entitled "Audio encoder, audio decoder and related methods and computer program with signal-dependent quantity and precision control". Technical Field

[0002] This invention relates to audio signal processing, and more particularly to audio encoders / decoders that apply signal-dependent quantity and precision control. Background Technology

[0003] Modern transform-based audio encoders apply a series of psychoacoustic actuation processes to the spectral representation of audio segments (frames) to obtain a residual spectrum. This residual spectrum is then quantized, and entropy coding is used to encode the coefficients.

[0004] In this approach, the quantization step size, typically controlled by global gain, directly impacts the bit consumption of the entropy encoder and needs to be selected in a way that satisfies a generally finite and often fixed bit budget. Since the bit consumption of the entropy encoder, and specifically the arithmetic encoder, is not precisely known before encoding, calculating the optimal global gain may only be possible through closed-loop iterations of quantization and encoding. However, this is infeasible under certain complexity constraints, such as the significant computational complexity of arithmetic encoding.

[0005] As is common in state-of-the-art encoders found in 3GPP EVS codecs, these typically feature a bit consumption estimator used to derive a first global gain estimate, which usually operates based on the power spectrum of the residual signal. Depending on complexity constraints, this can be followed by a rate loop to optimize the first estimate. Using this estimate alone or in combination with extremely limited correction capabilities reduces complexity, but also reduces accuracy, leading to a significant underestimation or overestimation of bit consumption.

[0006] The overestimation of bit consumption after the first coding stage results in excess bits. State-of-the-art encoders use these excess bits to optimize the quantization of coding coefficients in a second coding stage called residual coding. Residual coding differs fundamentally from the first coding stage because it operates at the bit granularity and therefore does not incorporate any entropy coding. Furthermore, residual coding is typically applied only at frequencies with non-zero quantized values, thus preserving a blind zone without further improvement.

[0007] On the other hand, underestimation of bit consumption inevitably leads to a partial loss of spectral coefficients, typically at the highest frequencies. In state-of-the-art encoders, this effect is mitigated by applying noise substitution at the decoder, based on the assumption that high-frequency content is generally noisy.

[0008] In this setup, it is obvious that as much signal as possible needs to be encoded in the first encoding step, which uses entropy coding and is therefore more efficient than residual coding. Therefore, it is desirable to choose a global gain with a bit estimate that is as close as possible to the available bit budget. While power spectrum-based estimators are suitable for most audio content, they can lead to problems with high-pitched signals, where the first-stage estimate is primarily based on uncorrelated sidelobes from the frequency decomposition of the filter bank, and important components are lost due to underestimation of bit consumption. Summary of the Invention

[0009] The purpose of this invention is to provide an improved concept for audio encoding or decoding, which is effective and achieves good audio quality.

[0010] This objective is achieved by the audio encoder of technical solution 1, the method for encoding audio input data of technical solution 33, the audio decoder of technical solution 35, the method for decoding encoded audio data of technical solution 41, or the computer program of technical solution 42.

[0011] This invention is based on the finding that, in order to improve efficiency, particularly regarding bit rate and audio quality, it is necessary to consider signal-dependent changes in a given typical case by psychoacoustics. When averaging results are expected, typical psychoacoustic models or psychoacoustic considerations, applied evenly to all signal categories—that is, all audio signal frames regardless of their signal characteristics—produce good audio quality at low bit rates. However, it has been found that for specific signal categories or for signals with specific signal characteristics, such as near-tonal signals, simple psychoacoustic models or direct psychoacoustic control of encoders produce only suboptimal results relative to audio quality (when the bit rate remains constant) or relative to the bit rate (when the audio quality remains constant).

[0012] Therefore, to address this drawback of typical psychoacoustic considerations, in the context of an audio encoder, the present invention provides: a preprocessor for preprocessing audio input data to obtain audio data to be encoded; and an encoder processor for encoding the audio data to be encoded; and a controller for controlling the encoder processor such that, depending on the specific signal characteristics of the frame, the number of audio data items to be encoded by the encoder processor is reduced compared to typical, simple results obtained through state-of-the-art psychoacoustic considerations. Furthermore, this reduction in the number of audio data items is performed in a signal-dependent manner, such that for a frame having a specific first signal characteristic, the reduction is greater compared to another frame having a different signal characteristic than the first frame. Although this reduction in the number of audio data items can be considered as an absolute reduction or a relative reduction, it is not deterministic. However, it is characterized in that the information units “saved” by the predetermined reduction in the number of audio data items are not simply lost, but are used to more accurately encode the remaining number of data items, i.e., data items not eliminated by the predetermined reduction in the number of audio data items.

[0013] According to the invention, a controller for controlling an encoder processor operates in a manner such that, depending on a first signal characteristic of a first frame of audio data to be encoded, the number of audio data items encoded by the encoder processor for the first frame is reduced compared to a second signal characteristic of a second frame, and simultaneously, the first number of information units for encoding the reduced number of audio data items for the first frame is more strongly enhanced compared to the second number of information units for the second frame.

[0014] In a preferred embodiment, the reduction is accomplished in a manner that, for a greater number of tone signal frames, a substantial reduction is performed, while simultaneously, the number of bits in the corresponding line is increased more significantly compared to frames with lower tones, i.e., more noisy ones. Here, the number is not reduced to such a high degree, and correspondingly, the number of information units used to encode lower-tone audio data items is not increased as much.

[0015] This invention provides a framework in which, in a signal-dependent manner, more or less violates commonly provided psychoacoustic considerations. However, on the other hand, this violation is not considered in ordinary encoders, where psychoacoustic violations occur, for example, in emergency situations, such as setting higher frequency portions to zero to maintain a desired bit rate. In fact, according to the invention, this violation of ordinary psychoacoustic considerations occurs regardless of any emergency situation, and the "saved" information unit is used to further optimize the "retained" audio data items.

[0016] In a preferred embodiment, a two-stage encoder processor is used, having, for example, an entropy encoder such as an arithmetic encoder or a variable-length encoder such as a Huffman encoder as the initial coding stage. The second coding stage acts as an optimization stage, and this second encoder is typically implemented in the preferred embodiment as a residual encoder or a bit encoder operating at the bit granularity, which can be implemented, for example, by adding a specific defined offset in the case of a first value of an information unit or subtracting an offset in the case of the opposite value of an information unit. In one embodiment, this optimization encoder is preferably implemented as a residual encoder that adds an offset in the case of a first bit value and subtracts an offset in the case of a second bit value. In a preferred embodiment, the reduction in the number of audio data items results in a distribution of available bits in a typical fixed frame rate case, such that the way the initial coding stage receives a lower bit budget than the optimization coding stage changes. So far, the paradigm has been to have the initial coding stage receive the highest possible bit budget, regardless of signal characteristics, because an initial coding stage such as an arithmetic coding stage is considered to be the most efficient, and therefore, from an entropy point of view, better encoded than a residual coding stage. However, this paradigm has been removed according to the present invention because it has been found that for certain signals, such as signals with higher pitches, the efficiency of an entropy encoder, such as an arithmetic encoder, is not as high as that obtained by a residual encoder subsequently connected, such as a bit encoder. However, while entropy coding stages are efficient on average for audio signals, the present invention now addresses this problem by reducing the bit budget of the initial coding stage, preferably the pitch signal portion, in a signal-dependent manner without observing averages.

[0017] In a preferred embodiment, the bit budget shift from the initial coding level to the optimized coding level based on the signal characteristics of the input data is performed in a manner that allows at least two optimization information units to be used for all audio data items retained in at least one, and preferably 50% or even more, reduction in the number of data items. Furthermore, it has been found that a particularly efficient process for calculating these optimization information units on the encoder side and applying them on the decoder side is an iterative process, wherein the remaining bits from the bit budget used for the optimized coding level are consumed sequentially in a specific order, such as from low frequency to high frequency. Depending on the number of retained audio data items and the number of information units in the optimized coding level, the number of iterations can be significantly greater than two, and it has been found that for strong tone signal frames, the number of iterations can be four, five, or even higher.

[0018] In a preferred embodiment, the controller determines the control value indirectly, i.e., without explicit determination of signal characteristics. For this purpose, the control value is calculated based on manipulated input data, which is, for example, the input data to be quantized or amplitude-related data derived from the input data to be quantized. Although the encoder processor's control value is determined based on the manipulated data, the actual quantization / encoding is performed without this manipulation. In this way, a signal-dependent process is obtained by determining the manipulation value in a signal-dependent manner, wherein, without explicit knowledge of specific signal characteristics, this manipulation more or less affects the reduction in the number of audio data items.

[0019] In another implementation, a direct mode can be applied, in which specific signal characteristics are directly estimated, and depending on the results of this signal analysis, a specific reduction in the number of data items is performed to obtain higher accuracy in retaining data items.

[0020] In another implementation, a splitting process can be applied for the purpose of reducing audio data items. In this splitting process, a specific number of data items are obtained based on the input audio signal by means of quantization controlled by a typically psychoacoustic driven quantizer. The number of quantized audio data items is reduced relative to their quantity, and preferably, this reduction is achieved by eliminating the smallest audio data item relative to its amplitude, energy, or power. Similarly, the control of this reduction can be determined by direct / explicit signal characteristics or obtained by indirect or non-explicit signal control.

[0021] In another preferred embodiment, an integrated process is applied, wherein a variable quantizer is controlled to perform a single quantization, but based on manipulated data, while unmanipulated data is quantized. Quantizer control values, such as global gain, are calculated using signal-dependent manipulated data, while unmanipulated data is quantized, and all available information units are used to encode the quantization result, thus preserving the typically large number of information units required for the optimized coding level in the case of two-level coding.

[0022] The embodiment provides a solution to the problem of quality loss in high-tone content, based on a modification of the power spectrum used to estimate the bit consumption of the entropy encoder. While this modification increases the bit budget estimate for high-tone content, it exists within a signal-adaptive noise-floor adder that maintains the estimate of common audio content using a practically unchanged flat residual spectrum. The effects of this modification are twofold. First, it quantizes the uncorrelated sidelobes of filter bank noise and harmonic components to zero, which are covered by the noise floor. Second, it shifts the bits from the first coding level to the residual coding level. While this shift is undesirable for most signals, it is perfectly effective for high-tone signals because the bits are used to improve the quantization accuracy of the harmonic components. This means the shift is used to encode bits with low efficiency, which typically follow a uniform distribution and are therefore perfectly and efficiently encoded with a binary representation. Furthermore, the process is computationally inexpensive, making it a highly effective tool for solving the aforementioned problem. Attached Figure Description

[0023] The preferred embodiments of the invention are then disclosed with reference to the accompanying drawings, wherein:

[0024] Figure 1 This is an embodiment of an audio encoder;

[0025] Figure 2 illustrate Figure 1 Preferred implementation of the encoder processor;

[0026] Figure 3 Explain the preferred implementation at the code level;

[0027] Figure 4a This describes an exemplary frame syntax for the first or second frame with iterative optimization bits;

[0028] Figure 4b This describes a preferred implementation of an audio data term reducer for a variable quantizer;

[0029] Figure 5 This describes a preferred implementation of an audio encoder with a spectrum preprocessor;

[0030] Figure 6 A preferred embodiment of an audio decoder with a time post-processor is described;

[0031] Figure 7 illustrate Figure 6 The implementation of the encoder processor for the audio decoder;

[0032] Figure 8 illustrate Figure 7 The preferred implementation of the optimized decoding level;

[0033] Figure 9Explain the implementation of the indirect mode used for control value calculation;

[0034] Figure 10 illustrate Figure 9 The preferred implementation of the value manipulation calculator;

[0035] Figure 11 Explain the calculation of direct mode control values;

[0036] Figure 12 This describes the implementation of the reduction of separate audio data items; and

[0037] Figure 13 This explains the implementation of the reduction in integrated audio data items. Detailed Implementation

[0038] Figure 1 This describes an audio encoder used to encode audio input data 11. The audio encoder includes a preprocessor 10, an encoder processor 15, and a controller 20. The preprocessor 10 preprocesses the audio input data 11 to obtain each frame of audio data or audio data to be encoded as described in item 12. The audio data to be encoded is input to the encoder processor 15 for encoding the audio data to be encoded, and the encoder processor outputs the encoded audio data. Regarding its input, the controller 20 is connected to the preprocessor for each frame of audio data, but alternatively, the controller may also be connected to receive audio input data without any preprocessing. The controller is configured to reduce the number of audio data items per frame depending on the signal in the frame, and simultaneously, the controller increases the number of information units, or preferably, the number of bits, for the reduced number of audio data items depending on the signal in the frame. The controller is configured to control the encoder processor 15 such that, depending on the first signal characteristics of the first frame of the audio data to be encoded, the number of audio data items encoded by the encoder processor for the first frame is reduced compared to the second signal characteristics of the second frame, and the number of information units used to encode the reduced number of audio data items for the first frame is increased more than the second number of information units for the second frame.

[0039] Figure 2 A preferred embodiment of the encoder processor is described. The encoder processor includes an initial coding stage 151 and an optimized coding stage 152. In one embodiment, the initial coding stage includes an entropy encoder, such as an arithmetic or Huffman encoder. In another embodiment, the optimized coding stage 152 includes a bit encoder or a residual encoder operating at the bit or information unit granularity. Additionally, functionality regarding the reduction of the number of audio data items is described. Figure 2 This is embodied in the audio data item reducer 150, which can, for example, in... Figure 13The integrated reduction mode described herein is implemented as a variable quantizer, or alternatively, as described in the individual reduction mode 902, as a separate element operating on quantized audio data items. In another embodiment not shown, the audio data item reducer may also operate on such unquantized elements by setting unquantized elements to zero or by weighting the data items to be eliminated with a specific weight, such that such audio data items are quantized to zero and thus eliminated in a subsequently connected quantizer. Figure 2 The audio data item reducer 150 can operate on unquantized or quantized data elements in a separate reduction procedure, or can be as follows: Figure 13 The integrated reduction mode is implemented by a variable quantizer that is specifically controlled by a control value that depends on the signal.

[0040] Figure 1 The controller 20 is configured to reduce the number of audio data items encoded by the initial coding level 151 for the first frame, and the initial coding level 151 is configured to encode the reduced number of audio data items of the first frame using the initial number of information units of the first frame, and the calculated bit / unit of the initial number of information units is as follows: Figure 2 The output of block 151, item 151, is described in the document.

[0041] Furthermore, the optimization coding level 152 is configured to use the remaining amount of information units in the first frame for optimized coding of the reduced number of audio data items in the first frame, and to add the initial amount of information units in the first frame to the remaining amount of information units in the first frame to produce a predetermined amount of information units in the first frame. Specifically, the optimization coding level 152 outputs the remaining amount of bits in the first frame and the remaining amount of bits in the second frame, and for at least one, or preferably at least 50% or even better, all non-zero audio data items, i.e., the audio data items retained after the reduction of audio data items and initially encoded by the initial coding level 151, there are indeed at least two optimized bits.

[0042] Preferably, the predetermined number of information units in the first frame is equal to or very close to the predetermined number of information units in the second frame, so as to obtain a constant or substantially constant bit rate operation of the audio encoder.

[0043] like Figure 2As described, the audio data item reducer 150 reduces audio data items to below the psychoacoustic drive number in a signal-dependent manner. Therefore, for a first signal characteristic, the number is reduced only slightly compared to the psychoacoustic drive number, and, for example, in a frame with a second signal characteristic, the number is significantly reduced to below the psychoacoustic drive number. Furthermore, preferably, the audio data item reducer eliminates data items with minimum amplitude / power / energy, and this operation is preferably performed via an indirect selection obtained in the integration mode, wherein the reduction of audio data items is achieved by quantizing specific audio data items to zero. In one embodiment, the initial coding stage only encodes audio data items that have not yet been quantized to zero, and the optimization coding stage 152 only optimizes audio data items that have already been processed by the initial coding stage, i.e., those not yet quantized to zero. Figure 2 The audio data item reducer 150 quantizes the audio data items into zero.

[0044] In a preferred embodiment, the optimization coding level is configured to iteratively allocate the remaining number of information units of the first frame to a reduced number of audio data items in the first frame in at least two sequentially executed iterations. Specifically, the values ​​of the allocated information units for the at least two sequentially executed iterations are calculated, and the calculated values ​​of the information units for the at least two sequentially executed iterations are introduced into the encoded output frame in a predetermined order. Specifically, the optimization coding level is configured to allocate the information units of each of the reduced number of audio data items in the first frame in the first iteration in order from the low-frequency information of the audio data items to the high-frequency information of the audio data items. Specifically, the audio data items may be corresponding spectral values ​​obtained through time / spectral conversion. Alternatively, the audio data items may be tuples of two or more spectral lines that are typically adjacent to each other in the spectrum. Subsequently, bit values ​​are calculated from a specific starting value with low-frequency information to a specific ending value with the highest frequency information, and in another iteration, the same procedure is performed, that is, the processing from low-spectral information values / tuples to high-spectral information values / tuples is performed again. Specifically, the optimization coding level 152 is configured to check whether the number of allocated information units is less than a predetermined number of information units in the first frame, which is less than the initial number of information units in the first frame. The optimization coding level is also configured to stop the second iteration if the check result is negative, or to perform multiple further iterations if the check result is positive, until a negative check result is obtained. The number of further iterations is 1, 2… preferably, the maximum number of iterations is limited by a two-digit number, such as a value between 10 and 30, and preferably 20 iterations. In an alternative embodiment, if non-zero spectral lines are counted first, and the number of residual bits is adjusted accordingly for each iteration or for the entire program, the check for the maximum number of iterations can be omitted. Therefore, when there are, for example, 20 retained spectral tuples and 50 residual bits, without any checks during the program in the encoder or decoder, the number of iterations can be determined to be three, and in the third iteration, the optimized bits will be calculated or are available in the bitstream for the first ten spectral lines / tuples. Therefore, this alternative example does not require checking during iterative processing because information about the number of non-zero or retained audio items is known after the initial processing in the encoder or decoder.

[0045] Figure 3 Explanation by Figure 2 A preferred implementation of the iterative process performed by the optimized coding level 152 is possible because, compared with other processes, the number of optimized bits for a particular frame has been significantly increased for this particular frame due to the corresponding reduction in the audio data items for a particular frame.

[0046] In step 300, the audio data items to be retained are determined. This determination can be made by... Figure 2 The operation is performed automatically on the audio data items processed by the initial coding level 151. In step 302, the program begins at a predefined audio data item, such as an audio data item with the lowest spectral information. In step 304, the bit value of each audio data item in a predefined sequence is calculated, where this predefined sequence is, for example, a sequence from low spectral values / tuples to high spectral values / tuples. The calculation in step 304 is performed using the starting offset 305 and the optimization bits still available in control 314. At item 316, a first iterative optimization information unit is output, that is, a bit pattern indicating a bit of each retained audio data item, wherein the bit indicating the offset, i.e., the starting offset 305, is to be added or subtracted, or alternatively, whether the starting offset is to be added or not.

[0047] In step 306, the offset is reduced according to a predetermined rule. This predetermined rule could be, for example, halving the offset, that is, the new offset is half of the original offset. However, other offset reduction rules different from the 0.5 weighting can also be applied.

[0048] In step 308, the bit value of each item in the predefined sequence is recalculated, but now in the second iteration. As input to the second iteration, the optimized term following the first iteration, as described at 307, is input. Therefore, for the calculation in step 314, the optimization represented by the first iteration optimization information unit has been applied, and with the prerequisite that the optimized bits are still available as indicated in step 314, the second iteration optimization information unit is calculated and output at 318.

[0049] In step 310, the offset is reduced again by preparing a predetermined rule for the third iteration, and the third iteration once again depends on the optimized term after the second iteration as described at 309 and, again under the premise that the optimized bit is still available as indicated at 314, the third iteration optimization information unit is calculated and output at 320.

[0050] Figure 4aThis describes an exemplary frame syntax with information units or bits for a first or second frame. A portion of the frame's bit data consists of an initial number of bits, i.e., item 400. Additionally, first iteration optimization bits 316, second iteration optimization bits 318, and third iteration optimization bits 320 are also included in the frame. Specifically, according to the frame syntax, the decoder is positioned appropriately to identify which bits of the frame are the initial number of bits, which bits are the first, second, or third iteration optimization bits 316, 318, 320, and which bits in the frame are any other bits 402. For example, this could also include, for instance, an encoded representation of the global gain (gg). This side information can be calculated directly by controller 200 or influenced by controller output information 21, for example. Within portions 316, 318, 320, a specific sequence of corresponding information units is given. This sequence is preferably such that the bits in the bit sequence are applied to the initially decoded audio data item to be decoded. Because this sequence is not useful for explicitly signaling anything about the first, second, and third iterations of optimized bits relative to the bit rate requirement, the order of the corresponding bits in blocks 316, 318, and 320 should be the same as the corresponding order of the retained audio data items. In view of the above, it is preferable to... Figure 3 The encoder side as described in the document and as follows Figure 8 The same iterative procedure is used on the decoder side as described in the document. It is not necessary to signal any specific bit assignments or bit associations, at least in blocks 316 to 320.

[0051] Furthermore, the initial number of bits and the remaining number of bits are merely illustrative. Typically, the initial number of bits encoding the most significant portion of an audio data item, such as a spectral value or a tuple of spectral values, is greater than the iteratively optimized number of bits representing the least significant portion of the “remaining” audio data item. Additionally, the initial number of bits (400) is typically determined using an entropy encoder or an arithmetic encoder, but the iteratively optimized number of bits is determined using a residual or bit encoder operating at the information unit granularity. Although the optimization coding stage probably does not perform any entropy coding, the encoding of the least significant portion of the audio data item is more efficient by the optimization coding stage because it can be assumed that the least significant portion of the audio data item, such as spectral values, is evenly distributed. Therefore, any entropy coding with variable-length codes or arithmetic coding and a specific context does not introduce any additional advantages, but rather even introduces additional burdens.

[0052] In other words, for the least significant bit portion of an audio data item, using an arithmetic encoder is less efficient than using a bit encoder because a bit encoder does not require any bit rate for a given context. A predetermined reduction in audio data items caused by the controller not only improves the accuracy of the main spectrum line or line tuple, but also provides efficient encoding operations for optimizing the MSB portion of these audio data items represented by arithmetic or variable-length codes.

[0053] In view of this situation, by means of an initial coding level 151 on the one hand and an optimized coding level 152 on the other hand, as... Figure 2 The description in Figure 1 The implementation of the encoder processor 15 obtains several advantages, such as the following.

[0054] An efficient two-level coding scheme is proposed, consisting of a first entropy coding level and a second residual coding level based on single-bit (non-entropy) coding.

[0055] The scheme employs a low-complexity global gain estimator, which incorporates an energy-based bit consumption estimator for the first coding stage, characterized by a signal-adaptive noise floor adder.

[0056] The noise floor adder effectively transfers bits from the first coding level to the second coding level for high-pitched signals, while keeping the estimation unchanged for other signal types. This bit shift from the entropy coding level to the non-entropy coding level is sufficiently effective for high-pitched signals.

[0057] Figure 4b This describes a preferred implementation of a variable quantizer, which can be implemented, for example, preferably in relation to... Figure 13 The illustrated integrated reduction mode performs audio data item reduction. For this purpose, the variable quantizer includes a weighter 155 that receives the unmanipulated audio data to be encoded, as illustrated at line 12. This data is also input to controller 20, which is configured to calculate a global gain 21, but based on the unmanipulated data as input to weighter 155, and using signal-dependent manipulation. The global gain 21 is applied in weighter 155, and the output of the weighter is input to a quantizer core 157 that depends on a fixed quantization step size. The variable quantizer 150 is implemented as a controlled weighter, where it is controlled using the global gain (gg) 21 and the subsequently connected fixed quantization step size quantizer core 157. However, other implementations, such as quantizer cores with variable quantization step sizes controlled by the output value of controller 20, may also be implemented.

[0058] Figure 5 This describes a preferred implementation of the audio encoder, and more specifically, describes... Figure 1A specific implementation of the preprocessor 10. Preferably, the preprocessor includes a windower 13 that generates frames of time-domain audio data windowed from audio input data 11 using a specific analysis window, which may be, for example, a cosine window. The frames of time-domain audio data are input to a spectrum converter 14, which may be implemented to perform a modified discrete cosine transform (MDCT) or any other transform such as FFT or MDST, or any other time-spectrum transformation. Preferably, the windower operates with specific advance control to ensure overlapping frame generation. In the case of 50% overlap, the prior value of the windower is half the size of the analysis window applied by the windower 13. Frames of (unquantized) spectral values ​​output from the spectrum converter are input to a spectrum processor 15, which is configured to perform several spectrum processing operations, such as runtime noise shaping, spectral noise shaping, or any other operation such as spectral whitening. Through these spectral processing operations, the modified spectral values ​​generated by the spectrum processor have a flatter spectral envelope than the spectral values ​​before processing by the spectrum processor 15. The audio data to be encoded (per frame) is forwarded via line 12 to the encoder processor 15 and the controller 20, whereby the controller 20 provides control information to the encoder processor 15 via line 21. The encoder processor outputs its data to a bitstream writer 30, for example, implemented as a bitstream multiplexer, and outputs the encoded frames on line 35.

[0059] Regarding decoder-side processing, refer to... Figure 6 The bitstream output through block 30 can be directly input to bitstream reader 40, for example, after some storage or transmission. Of course, any other processing, such as transmission processing, can be performed between the encoder and decoder according to a wireless transmission protocol such as DECT, Bluetooth, or any other wireless transmission protocol. The input to... Figure 6 Data from the audio decoder shown is input to the bitstream reader 40. The bitstream reader 40 reads the data and forwards it to the encoder processor 50, which is controlled by the controller 60. Specifically, the bitstream reader receives encoded data, wherein the encoded audio data includes information units for the initial number of frames and information units for the remaining number of frames per frame. The encoder processor 50 processes the encoded audio data, and the encoder processor 50 includes, as shown in the figure... Figure 7 The initial decoding level and optimized decoding level described herein, at item 51 for the initial decoding level and item 52 for the optimized decoding level, are both controlled by controller 60. Controller 60 is configured to control optimized decoding level 52 to optimize decoding as described herein. Figure 7When the initial decoding stage 51 outputs the initially decoded data item, at least two information units from the remaining number of information units are used to optimize the same initially decoded data item. Additionally, the controller 60 is configured to control the encoder processor such that the initial decoding stage uses the initial number of information units of the frame to optimize the data item. Figure 7 The initially decoded data items are obtained at line connection blocks 51 and 52, wherein preferably, the controller 60 is as follows: Figure 6 or Figure 7 The input lines in block 60 indicate the information units received from bitstream reader 40 regarding the initial number of frames and the initial remaining number of frames. Postprocessor 70 processes the optimized audio data items to obtain decoded audio data 80 at the output of postprocessor 70.

[0060] In corresponding Figure 5 In a preferred embodiment of the audio decoder of the audio encoder, the post-processor 70 includes a spectrum processor 71 as an input stage, which performs inverse time noise shaping, or inverse spectral noise shaping, or inverse spectral whitening, or reduces noise caused by... Figure 5 The spectrum processor 15 is used for any other operation of a certain processing. The output of the spectrum processor is input to a time converter 72, which performs a conversion from the spectral domain to the time domain, and preferably, the time converter 72 is connected to... Figure 5 The spectrum converter 14 is matched. The output of the time converter 72 is input to the overlap-add stage 73, which performs overlap / add operations on multiple overlap frames, such as at least two overlap frames, to obtain decoded audio data 80. Preferably, the overlap-add stage 73 applies a synthesis window to the output of the time converter 72, wherein this synthesis window matches the analysis window applied by the analysis windower 13. In addition, the overlap operation performed by block 73 is matched with the output of the time converter 72. Figure 5 The window adder 13 performs block advance operations to match.

[0061] like Figure 4a As explained, the information unit for the remaining number of frames includes calculated values ​​of information units 316, 318, and 320 for at least two sequential iterations in a predetermined order, wherein... Figure 4a In the embodiment, even three iterations are described. Additionally, controller 60 is configured to control the optimized decoding level 52 to use computed values ​​such as block 316 for the first iteration in a predetermined order, and to use computed values ​​from block 318 for the second iteration in a predetermined order.

[0062] Subsequently, regarding Figure 8 This describes a preferred implementation of the optimized decoding level under the control of controller 60. In step 800, the controller or... Figure 7The optimization decoding level 52 identifies the audio data items to be optimized. These audio data items are typically composed of... Figure 7 All audio data items output by block 51. As indicated in step 802, a start is performed at a predefined audio data item, such as minimum spectral information. Using a start offset 805, a first iterative optimization information unit received from the bitstream or from controller 16 is applied for each item in the predefined sequence, for example, 804. Figure 4a The data in block 316, wherein the predefined sequence extends from low spectral values / spectral tuples / spectral information to high spectral values / spectral tuples / spectral information. The result is an optimized audio data item after the first iteration as illustrated in line 807. In step 808, the bit value of each item in the predefined sequence is applied, wherein the bit value comes from the second iteration optimization information unit as illustrated in 818, and these bits are received from the bit stream reader or controller 60 depending on the specific implementation. The result of step 808 is the optimized item after the second iteration. Similarly, in step 810, the offset is reduced according to the predetermined offset reduction rule applied in block 806. Using the reduced offset, the bit value of each item in the predefined sequence is applied as illustrated in 812, using, for example, a third iteration optimization information unit received from the bit stream or from controller 60. Figure 4a At item 320, the third iteration optimization information unit is written into the bit stream. The result of the process in block 812 is the optimized item after the third iteration, as indicated at item 821.

[0063] This process continues until all iteratively optimized bits included in the bitstream of the frame have been processed. This is checked by controller 60 via control line 814, which preferably controls the remaining availability of optimized bits for each iteration, but at least for the second and third iterations processed in blocks 808, 812. In each iteration, controller 60 controls the optimized decoding stage to check whether the number of read information units is less than the number of information units in the remaining information units of the frame, thereby stopping the second iteration if the check result is negative, or performing multiple further iterations until a negative check result is obtained if the check result is positive. The number of further iterations is at least one. Since similar processes exist in... Figure 3 The encoder side and such discussed in the context Figure 8 The decoder-side applications outlined herein do not require any specific signal notification. In fact, the multi-iterative optimization process is performed efficiently without any specific overhead. In an alternative embodiment, the check for the maximum number of iterations can be omitted if the non-zero spectral lines are counted first, and the number of residual bits is adjusted accordingly for each iteration.

[0064] In a preferred embodiment, the optimized decoding stage 52 is configured to add an offset to the initially decoded data item when the read information data unit in the remaining information units of the frame has a first value, and to subtract the offset from the initially decoded item when the read information data unit in the remaining information units of the frame has a second value. For the first iteration, this offset is... Figure 8 The starting offset is 805. In such a case... Figure 8 In the second iteration described at point 808, when the read information data unit in the remaining frame information units has a first value, the reduced offset generated by block 806 is used to add the reduced or second offset to the result of the first iteration, and when the read information data unit in the remaining frame information units has a second value, the reduced offset is used to subtract the second offset from the result of the first iteration. Generally, the second offset is lower than the first offset, and preferably, the second offset is between 0.4 and 0.6 times the first offset, and most preferably 0.5 times the first offset.

[0065] In use Figure 9 In the preferred embodiment of the invention, which describes the indirect mode, any explicit signal characteristic determination is not necessary. In practice, it is preferable to use... Figure 9 The embodiment described herein is used to calculate the manipulation value. For indirect mode, controller 20, as... Figure 9 The implementation is as indicated in the document. Specifically, the controller includes a control preprocessor 22, a manipulation value calculator 23, a combiner 24, and a global gain calculator 25, which performs the final calculation as follows: Figure 4b The variable quantizer described in the document Figure 2 The global gain of the audio data item reducer 150 is reduced. Specifically, the controller 20 is configured to analyze the audio data of a first frame to determine a first control value for the variable quantizer for the first frame, and to analyze the audio data of a second frame to determine a second control value for the variable quantizer for the second frame, the second control value being different from the first control value. The analysis of the audio data of the frames is performed by the manipulation value calculator 23. The controller 20 is configured to perform manipulation of the audio data of the first frame. In this operation, there is no... Figure 9 As described in the control preprocessor 20, the bypass pipeline of block 22 is active.

[0066] However, when manipulation is not performed on the audio data of the first or second frame, but applied to amplitude-related values ​​derived from the audio data of the first or second frame, a control preprocessor 22 exists and no bypass pipeline exists. The actual manipulation is performed by combiner 24, which combines the manipulated value output from block 23 with the amplitude-related value derived from the audio data of a specific frame. At the output of combiner 24, manipulated (preferably energy) data is indeed present, and based on this manipulated data, global gain calculator 25 calculates the global gain indicated at 404, or at least the control value of the global gain. Global gain calculator 25 must impose a limit on the allowed bit budget of the spectrum to obtain a specific data rate or a specific number of information units allowed for the frame.

[0067] exist Figure 11 In the direct mode described herein, controller 20 includes an analyzer 201 for determining the signal characteristics of each frame, and analyzer 208 outputs quantitative signal characteristic information, such as pitch information, and uses this preferred quantitative data to control control value calculator 202. A process for calculating the pitch of a frame is used to calculate the spectral flatness measure (SFM) of the frame. Any other pitch determination process or any other signal characteristic determination process can be executed by block 201, and a conversion from a specific signal characteristic value to a specific control value will be performed to reduce the expected number of audio data items obtained for the frame. Figure 11 The output of the direct-mode control value calculator 202 can be sent to the encoder processor, such as to a variable quantizer, or alternatively to the control value of the initial encoder level. When the control value is given to the variable quantizer, an integrated reduction mode is performed, while when the control value is given to the initial encoder level, a separate reduction is performed. Another implementation of the separate reduction should remove or specifically affect selected unquantized audio data items that exist before actual quantization, such that, by means of a specific quantizer, this affected audio data item is quantized to zero, and thus eliminated for entropy coding and subsequent optimized coding purposes.

[0068] although Figure 9 The indirect mode has been shown along with the integrated reduction, i.e., the global gain calculator 25 is configured to calculate the variable global gain, but the manipulated data output by the combiner 24 can also be used to directly control the initial coding level to remove any particular quantized audio data item, such as the minimum quantized data item, or alternatively, the control value can also be sent to an unspecified audio data influence level that influences the audio data before the actual quantization using the variable quantization control value determined without any data manipulation, and thus generally follows psychoacoustic rules, however, the process of the present invention intentionally violates the psychoacoustic rules.

[0069] like Figure 11 As described in the direct mode, the controller is configured to determine a first tone characteristic as a first signal characteristic and a second tone characteristic as a second signal characteristic in such a way that the bit budget of the optimized coding level under the first tone characteristic is increased compared to the bit budget of the optimized coding level under the second tone characteristic, wherein the first tone characteristic indicates a tone that is greater than the second tone characteristic.

[0070] This invention does not produce the coarser quantization typically obtained by applying a large global gain. In fact, this calculation, based on the global gain of the signal-dependent manipulation data, only produces a bit budget shift from the initial coding stage receiving a smaller bit budget to the optimized decoding stage receiving a higher bit budget, but this bit budget shift is signal-dependent and larger for higher-pitched signal portions.

[0071] Preferably, Figure 9 The control preprocessor 22 calculates amplitude-related values ​​as multiple power values ​​derived from one or more audio values ​​of the audio data. Specifically, these power values ​​are manipulated by means of the combiner 24 using the addition of the same manipulation value, and are combined with all the power values ​​of the multiple power values ​​of the frame by the same manipulation value determined by the manipulation value calculator 23.

[0072] Alternatively, as indicated by the bypass pipeline, a value obtained from the same quantity of the manipulated value calculated by block 23, but preferably with a random sign, and / or a value obtained by subtracting the same quantity (but preferably with a random sign) from a slightly different term, or a complex manipulated value, or more generally, a value obtained as a sample from a specific normalized probability distribution scaled using the calculated complex or real quantity of the manipulated value, is added to all audio values ​​included in the frame of audio values. Processes performed by controlling the preprocessor 22, such as calculating the power spectrum and downsampling, can be included within the global gain calculator 25. Therefore, preferably, the background noise is added directly to the spectral audio values ​​or, alternatively, to the amplitude-related values ​​derived from each frame of audio data, i.e., the output of the preprocessor 22 is controlled. Preferably, the controller preprocessor calculates the downsampled power spectrum corresponding to an exponent raised to the power of 2. However, alternatively, different exponent values ​​higher than 1 can be used. For example, an exponent value equal to 3 should represent loudness rather than power. However, other exponent values, such as smaller or larger exponent values, can also be used.

[0073] exist Figure 10 In the preferred embodiment described herein, the manipulation value calculator 23 includes a searcher 26 for searching the frame for the maximum spectral value and a calculator for calculating the maximum spectral value in the frame. Figure 10 Item 27 indicates at least one of the independent contributions of the signal or is used for, for example Figure 10Block 28 describes a calculator that computes one or more moments per frame. Essentially, there exists either block 26 or block 28 to provide signal-dependent effects on the manipulation values ​​of the frame. Specifically, searcher 26 is configured to search for the maximum value of multiple audio data items or amplitude-related values, or to search for the maximum value of multiple downsampled audio data items or multiple downsampled amplitude-related values ​​for the corresponding frame. The outputs of blocks 26, 27, and 28 are used for the actual computation via block 29, where blocks 26 and 28 represent actual signal analysis.

[0074] Preferably, the independent contribution of the signal is determined by means of the bit rate, frame duration, or sampling frequency of the actual encoder session. Additionally, the calculator 28 for calculating one or more moments per frame is configured to calculate a first sum of magnitudes from at least the intra-frame audio data or downsampled audio data, a second sum of the intra-frame audio data or downsampled audio data magnitudes multiplied by an index associated with each magnitude, and a signal-dependent weighted value derived from the quotient of the second sum and the first sum.

[0075] In passing Figure 9 In a preferred embodiment executed by the global gain calculator 25, the required bit estimate for each energy value is calculated based on the energy value and candidate values ​​of the actual control value. The required bit estimates of the energy values ​​and candidate values ​​of the control values ​​are accumulated, and the accumulated bit estimates of the candidate values ​​of the control values ​​are checked to see if they satisfy, for example… Figure 9 The allowed bit consumption criteria described herein include, for example, the bit budget of the spectrum introduced into the global gain calculator 25. If the allowed bit consumption criteria are not met, the candidate value of the control value is modified, and the calculation of the required bit estimate, the accumulation of the required bit rate, and the check of the implementation of the allowed bit consumption criteria for the modified candidate value of the control value are repeated. Once this optimal control value is found, i.e., in Figure 9 Output this value at line 404.

[0076] The preferred embodiments will then be described.

[0077] ■Detailed description of the encoder (e.g.) Figure 5 )

[0078] ■Memorization

[0079] via f s The potential sampling frequency is expressed in Hertz (Hz), through N ms The potential frame duration is represented in milliseconds, and the potential bit rate is represented in bits per second by br.

[0080] ■Derivation of residual spectrum (e.g., preprocessor 10)

[0081] The embodiment is based on the true residual spectrum X f(k), k = 0..N-1 operations, the true residual spectrum is typically derived through time-to-frequency transformation such as MDCT, followed by psychoacoustic actuation modifications such as time noise shaping (TNS) to remove temporal structure and spectral noise shaping (SNS) to remove spectral structure. Therefore, for audio content with a slowly changing spectral envelope, the residual spectrum X f The envelope of (k) is flat.

[0082] ■ Global gain estimation (e.g.) Figure 9 )

[0083] via the following through global gain g glob Quantization of control spectrum

[0084]

[0085] After downsampling by a factor of 4, the power spectrum X(k) is obtained. 2 Derivation of initial global gain estimate ( Figure 9 Item 22),

[0086] PX lp (k)=X f (4k) 2 +X f (4k+1) 2 +X f (4k+2) 2 +X f (4k+3) 2

[0087] and adaptive background noise N(X) through the following given signal f )

[0088] (For example Figure 9 Item 23).

[0089] The parameter regBits depends on the bit rate, frame duration, and sampling frequency, and is calculated as follows:

[0090] (For example Figure 10 Item 27)

[0091] Where C(N) ms f s As specified in the table below.

[0092]

[0093]

[0094] The parameter lowBits depends on the centroid of the absolute value of the residual spectrum and is calculated as follows:

[0095] (For example Figure 10 Item 28)

[0096] in

[0097]

[0098] and

[0099]

[0100] It is the moment of the absolute spectrum.

[0101] From value

[0102] E(k) = 10log 10 (PX lp (k)+N(X f )+2 -31 ),(For example Figure 9 (output of combiner 24)

[0103] by

[0104]

[0105] The global gain is estimated in the form of [formula / method].

[0106] Among them gg off The bit rate and sampling frequency depend on the offset.

[0107] It should be noted that before calculating the power spectrum, the background noise term N(X) should be included. f Add to PX lp (k) Provides the addition of the corresponding background noise to the residual spectrum X f The expected result of (k), for example, is the term 0.5√N(X). f The term may be randomly added to or subtracted from each spectral line.

[0108] An estimation based on the pure power spectrum may have been found, for example, in the 3GPP EVS codec (3GPP TS 26.445, section 5.3.3.2.8.1). In the embodiment, the noise floor N(X) is completed. f The addition of ) . The background noise is adaptive to the signal in two ways.

[0109] First, it has the maximum amplitude X f Scaling. Therefore, the effect on the energy of the flat spectrum is minimal, where all amplitudes are close to their maximum amplitude. However, for high-pitched signals, where the residual spectrum is also characterized by spectral expansion and multiple strong peaks, the total energy increases significantly, as described in the bit estimate of the global gain calculation below.

[0110] Second, if the spectrum exhibits a low centroid, the noise floor is reduced by the parameter lowBits. In this case, it is primarily low-frequency content, so the loss of high-frequency components may not be as critical as that of high-pitched content.

[0111] This is performed using a low-complexity binary search as outlined in the C code below (e.g.) Figure 9 The actual estimate of the global gain in block 25), where nbits′ spec This represents the bit budget used for encoding the spectrum. Considering the context dependencies in the arithmetic encoder used for stage 1 encoding, the bit consumption estimate (accumulated in the variable tmp) is based on the energy value E(k).

[0112]

[0113]

[0114] ■ Residual encoding (e.g.) Figure 3 )

[0115] Residual coding is used in the quantized spectrum X q The excess bits available after arithmetic encoding of (k). Let B represent the number of excess bits, and let K represent the encoded non-zero coefficient X. q The number of (k). Additionally, make k i Let i = 1..K represent the row arrangement of these non-zero coefficients from the lowest frequency to the highest frequency. Coefficient k i The residual bit b i (j) (values ​​0 and 1) are calculated to minimize the error.

[0116]

[0117] This can be done iteratively by testing whether the following holds true.

[0118]

[0119] If (1) is true, then the coefficient k i The nth residual bit b i (n) is set to 0, otherwise it is set to 1. By calculating each k i The calculation of the first residual bit, then the second, and so on, continues until all residual bits are exhausted, or the maximum number of residual bits n has been calculated. max This continues until the last iteration. This leaves the coefficient X. q (k i )of

[0120]

[0121] One residual bit. This residual coding scheme improves upon the residual coding scheme used in 3GPP EVS codecs that consume at most one bit per non-zero coefficient.

[0122] The following pseudocode illustrates that n has max Calculation of the residual bits of 20, where gg represents the global gain:

[0123]

[0124]

[0125] ■Description of the decoder (e.g.) Figure 6 )

[0126] At the decoder, the entropy-encoded spectrum is obtained through entropy decoding. The remaining bits are used to optimize this spectrum as shown in the following pseudocode (see also example...). Figure 8 ).

[0127]

[0128]

[0129] Based on the following decoded residual spectrum

[0130]

[0131] ■Conclusion:

[0132] ● Propose an efficient two-level coding scheme, including a first entropy coding level and a second residual coding level based on single-bit (non-entropy) coding.

[0133] ● The scheme employs a low-complexity global gain estimator, which incorporates an energy-based bit consumption estimator for the first coding stage, characterized by a signal-adaptive noise floor adder.

[0134] ● The noise floor adder effectively transfers bits from the first coding level to the second coding level for high-pitched signals, while keeping the estimation of other signal types unchanged. This bit shift from the entropy coding level to the non-entropy coding level is considered sufficiently effective for high-pitched signals.

[0135] Figure 12This describes a procedure for reducing the number of audio data items in a signal-dependent manner using discrete reduction. In step 901, quantization is performed without any manipulation using unmanipulated information such as global gain calculated from the signal data. For this purpose, a (total) bit budget of the audio data items is required, and at the output of block 901, the quantized data items are obtained. In block 902, the number of audio data items is reduced by eliminating a (controlled) amount of preferably minimal audio data items based on a signal-dependent control value. At the output of block 902, the reduced number of data items is obtained, and in block 903, an initial coding level is applied, and, in the case of the bit budget of the residual bits retained due to controlled reduction, an optimized coding level is applied as described in 904.

[0136] remove Figure 12 In addition to the process described above, reduction block 902 can also be performed before actual quantization using a global gain value or a specific quantizer step size typically determined using unmanipulated audio data. Therefore, this reduction of audio data items can also be performed in the unquantized domain by setting a specific, preferably smaller value to zero or by weighting a specific value with a weighting factor, ultimately producing a value quantized to zero. In a split reduction implementation, an explicit quantization step size and an explicit reduction step are performed simultaneously while controlling a specific quantization, without any data manipulation.

[0137] On the contrary, Figure 13 This describes an integrated reduction mode according to an embodiment of the present invention. In block 911, the controller 20 determines manipulated information, such as... Figure 9 The global gain is described at the output of block 25. In block 912, the quantization of the unmanipulated audio data is performed using the manipulated global gain or the manipulated information typically calculated in block 911. At the output of the quantization procedure in block 912, a reduced number of audio data items, initially encoded in block 903 and optimized encoded in block 904, are obtained. Due to the signal-dependent reduction in the number of audio data items, residual bits are reserved for at least a single complete iteration and at least a portion for a second iteration, and preferably for even more than two iterations. The bit budget shift from the initial coding level to the optimized coding level is performed in a signal-dependent manner according to the invention.

[0138] This invention can be implemented in at least four different modes. As examples of operation, the control value can be determined in a direct mode using explicit signal characteristics, or in an indirect mode without explicit signal characteristics but by adding noise to the audio data or derived audio data that depends on the signal's background. Simultaneously, audio data items are reduced either in an integrated manner or separately. Indirect determination and integrated reduction, or indirect generation and separate reduction of the control value, can also be performed. Alternatively, direct determination and integrated reduction, as well as direct determination and separate reduction of the control value, can also be performed. For efficiency reasons, indirect determination of the control value and integrated reduction of audio data items are preferred.

[0139] It should be mentioned here that all alternatives or aspects as discussed above and all aspects as defined by the independent claims in the following claims may be used accordingly, i.e., no other alternatives or objects other than the contemplated alternatives, objects, or independent claims. However, in other embodiments, two or more of the alternatives or aspects or independent claims may be combined with each other, and in other embodiments, all aspects or alternatives and all independent claims may be combined with each other.

[0140] The encoded audio signal of the present invention can be stored on a digital storage medium or a non-transitory storage medium, or can be transmitted on a transmission medium (such as a wireless transmission medium or a wired transmission medium, such as the Internet).

[0141] Although some aspects have been described in the context of the apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or apparatus corresponds to a method step or a feature of a method step. Similarly, aspects described in the context of a method step also represent a description of a corresponding block, item, or feature of the corresponding apparatus.

[0142] Depending on certain implementation requirements, embodiments of the present invention may be implemented in hardware or software. Implementation may be performed using a digital storage medium, such as a floppy disk, DVD, CD, ROM, PROM, EPROM, EEPROM, or flash memory, on which electronically readable control signals are stored, which cooperate (or are capable of cooperating with) a programmable computer system to execute the corresponding methods.

[0143] Some embodiments of the invention include a data carrier having electronically readable control signals, which is capable of cooperating with a programmable computer system to perform one of the methods described herein.

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

[0145] Other embodiments include a computer program for performing one of the methods described herein, which is stored on a machine-readable carrier or a non-transitory storage medium.

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

[0147] Therefore, another embodiment of the method of the present invention is a data carrier (or digital storage medium, or computer-readable medium) including a computer program recorded thereon for performing one of the methods described herein.

[0148] Therefore, another embodiment of the method of the present invention represents a data stream or signal sequence for performing one of the methods described herein. The data stream or signal sequence may, for example, be configured to be transmitted via a data communication connection, such as via the Internet.

[0149] Another embodiment includes a processing component, such as a computer or programmable logic device configured or adapted to perform one of the methods described herein.

[0150] Another embodiment includes a computer having a computer program installed thereon for performing one of the methods described herein.

[0151] In some embodiments, a programmable logic device (e.g., a field-programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, the field-programmable gate array may cooperate with a microprocessor to enable the execution of one of the methods described herein. Generally, the methods are preferably executed by any hardware device.

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

Claims

1. An audio decoder for decoding encoded audio data, the encoded audio data including information units for the initial number of frames and information units for the remaining number of frames, the audio decoder comprising: The encoder processor (50) is used to process the encoded audio data, and the encoder processor (50) includes an initial decoding stage (51) and an optimized decoding stage (52). and A controller (60) controls the encoder processor (50) such that the initial decoding stage (51) uses the initial number of information units of the frames to obtain initially decoded data items, and the optimized decoding stage (52) uses the remaining number of information units of the frames, wherein the remaining number of information units of the frames includes a calculated value (316) for information units of the first iteration (804) in at least two sequential iterations in a predetermined order and a calculated value (318) for information units of the second iteration (808) in at least two sequential iterations in a predetermined order. The controller (60) is configured to control the optimization decoding stage (52) to optimize the same initially decoded data item using at least two information units from the remaining number of information units when optimizing the initially decoded data item, wherein the controller (60) is configured to control the optimization decoding stage (52) to use the calculated value (316) for the first iteration (804) according to the predetermined order for the first iteration (804), and to use the calculated value (318) for the second iteration (808) according to the predetermined order for the second iteration (808); and A post-processor (70) is used to post-process the optimized audio data items to obtain decoded audio data.

2. The audio decoder according to claim 1, wherein the optimized decoding stage (52) is configured to sequentially read and apply information units for each initially decoded audio data item of the frame from the remaining number of information units in the first iteration (804), in order from low-frequency information for the initially decoded audio data item to high-frequency information for the initially decoded audio data item. The optimized decoding stage (52) is configured to, in the second iteration (808), sequentially read and apply information units for each initially decoded audio data item of the frame from the remaining number of information units of the frame in the order from low-frequency information for the initially decoded audio data item to high-frequency information for the initially decoded audio data item, and The controller (60) is configured to control the optimized decoding level (52) to check whether the number of information units read (814) is less than the number of information units in the remaining information units of the frame for the frame, to stop the second iteration (808) in the case of a negative check result, or to perform multiple further iterations (812) until a negative check result is obtained in the case of a positive check result, wherein the number of further iterations is at least one.

3. The audio decoder according to claim 1, The optimized decoding stage (52) is configured to count the number of non-zero audio items and determine the number of iterations from the number of non-zero audio items and the frame remaining information units for the frame.

4. The audio decoder according to claim 1, wherein the optimized decoding stage (52) is configured to add an offset to the initially decoded data item when the read information data unit in the remaining number of information units of the frame has a first value, and to subtract the offset from the initially decoded data item when the read information data unit in the remaining number of information units of the frame has a second value.

5. The audio decoder of claim 1, wherein the controller (60) is configured to control the optimized decoding stage (52) to perform a plurality of at least two iterations (804, 808), wherein the optimized decoding stage (52) is configured to, in the first iteration (804), add a first offset to the initially decoded data item when the read information data unit in the remaining number of information units of the frame has a first value, and subtract the first offset from the initially decoded data item when the read information data unit in the remaining number of information units of the frame has a second value. The optimized decoding stage (52) is configured to, in the second iteration (808), add a second offset to the result of the first iteration when the read information data unit in the remaining information units of the frame has a first value, and subtract the second offset from the result of the first iteration when the read information data unit in the remaining information units of the frame has a second value. The second offset is lower than the first offset.

6. The audio decoder according to claim 1, wherein the post-processor (70) is configured to perform at least one of the following in the time domain: inverse spectral whitening operation (71), inverse spectral noise shaping operation (71), inverse time noise shaping operation (71), spectral domain to time domain conversion (72), and overlap addition operation (73).

7. A method for decoding encoded audio data, the encoded audio data including information units for the initial number of frames and information units for the remaining number of frames, the method comprising: The encoded audio data is processed, the processing including an initial decoding step and an optimized decoding step; and The process is controlled such that the initial decoding uses the initial number of information units of the frame to obtain the initially decoded data item, and the optimized decoding step uses the remaining number of information units of the frame, wherein the remaining number of information units of the frame includes a calculated value (316) for information units of the first iteration (804) in at least two sequential iterations in a predetermined order and a calculated value (318) for information units of the second iteration (808) in at least two sequential iterations in a predetermined order. The control includes controlling the optimization decoding step to optimize the same initially decoded data item using at least two information units from the remaining number of information units in the frame when optimizing the initially decoded data item, and the control includes controlling the optimization decoding step to use the calculated value (316) for the first iteration (804) according to the predetermined order for the first iteration (804), and the calculated value (318) for the second iteration (808) according to the predetermined order for the second iteration (808); and Post-process the optimized audio data items to obtain decoded audio data.

8. A computer program product for executing the method of claim 7 when run on a computer or processor.