APPARATUS AND METHOD FOR MDCT M/S STEREO WITH GLOBAL ILD WITH IMPROVED MID/SIDE DECISION

Abstract
An apparatus for encoding a first channel and a second channel of an audio input signal including two or more channels to obtain an encoded audio signal according to an embodiment includes a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal. Moreover, the apparatus includes an encoding unit configured to generate a processed audio signal having a first channel and a second channel. The encoding unit is configured to encode the processed audio signal to obtain the encoded audio signal.
Description
BACKGROUND OF THE INVENTION

Band-wise M/S processing (M/S=Mid/Side) in MDCT-based coders (MDCT=Modified Discrete Cosine Transform) is a known and effective method for stereo processing. Yet, it is not sufficient for panned signals, and an additional processing, such as complex prediction or a coding of angles between a mid and a side channel, may be used.


In [1], [2], [3] and [4], M/S processing on windowed and transformed non-normalized (not whitened) signals is described.


In [7], prediction between mid and side channels is described. In [7], an encoder is disclosed which encodes an audio signal based on a combination of two audio channels. The audio encoder obtains a combination signal being a mid-signal; and further obtains a prediction residual signal being a predicted side signal derived from the mid signal. The first combination signal and the prediction residual signal are encoded and written into a data stream together with the prediction information. Moreover, [7] discloses a decoder which generates decoded first and second audio channels using the prediction residual signal, the first combination signal and the prediction information.


In [5], the application of M/S stereo coupling after normalization separately on each band is described. In particular, [5] refers to the Opus codec. Opus encodes the mid signal and side signal as normalized signals m=M/∥M∥ and s=s/∥s∥. To recover M and S from m and s, the angle θs=arctan(∥S∥/∥M∥) is encoded. With N being the size of the band and with a being the total number of bits available for m and s, the optimal allocation for m is amid=(a−(N−1) log2 tan θs)/2.


In known approaches (e.g in [2] and [4]), complicated rate/distortion loops are combined with the decision in which bands channels are to be transformed (e.g., using M/S, which also may be followed by M to S prediction residual calculation from [7]), in order to reduce the correlation between channels. This complicated structure has high computational cost. Separating the perceptual model from the rate loop (as in [6a], [6b] and [13]) significantly simplifies the system.


Also, coding of the prediction coefficients or angles in each band involves a significant number of bits (as for example in [5] and [7]).


In [1], [3] and [5] only single decision over the whole spectrum is carried out to decide if the whole spectrum should be M/S or UR coded.


M/S coding is not efficient, if an ILD (interaural level difference) exists, that is, if channels are panned.


As outlined above, it is known that band-wise M/S processing in MDCT-based coders is an effective method for stereo processing. The M/S processing coding gain varies from 0% for uncorrelated channels to 50% for monophonic or for a π/2 phase difference between the channels. Due to the stereo unmasking and inverse unmasking (see [1]), it is important to have a robust M/S decision.


In [2], each band, where masking thresholds between left and right vary by less than 2 dB, M/S coding is chosen as coding method.


In [1], the M/S decision is based on the estimated bit consumption for M/S coding and for L/R coding (L/R=left/right) of the channels. The bitrate demand for M/S coding and for L/R coding is estimated from the spectra and from the masking thresholds using perceptual entropy (PE). Masking thresholds are calculated for the left and the right channel. Masking thresholds for the mid channel and for the side channel are assumed to be the minimum of the left and the right thresholds.


Moreover, [1] describes how coding thresholds of the individual channels to be encoded are derived. Specifically, the coding thresholds for the left and the right channels are calculated by the respective perceptual models for these channels. In [1], the coding thresholds for the M channel and the S channel are chosen equally and are derived as the minimum of the left and the right coding thresholds


Moreover, [1] describes deciding between L/R coding and M/S coding such that a good coding performance is achieved. Specifically, a perceptual entropy is estimated for the UR encoding and M/S encoding using the thresholds.


In [1] and [2], as well as in [3] and [4], M/S processing is conducted on windowed and transformed non-normalized (not whitened) signal and the M/S decision is based on the masking threshold and the perceptual entropy estimation.


In [5], an energy of the left channel and the right channel are explicitly coded and the coded angle preserves the energy of the difference signal. It is assumed in [5] that M/S coding is safe, even if L/R coding is more efficient. According to [5], UR coding is only chosen when the correlation between the channels is not strong enough.


Furthermore, coding of the prediction coefficients or angles in each band involves a significant number of bits (see, for example, [5] and [7]).


SUMMARY

According to an embodiment, an apparatus for encoding a first channel and a second channel of an audio input signal having two or more channels to obtain an encoded audio signal may have: a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal, an encoding unit being configured to generate a processed audio signal having a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to obtain the encoded audio signal.


According to another embodiment, a system for encoding four channels of an audio input signal having four or more channels to obtain an encoded audio signal may have: a first inventive apparatus for encoding a first channel and a second channel of the four or more channels of the audio input signal to obtain a first channel and a second channel of the encoded audio signal, and a second inventive apparatus for encoding a third channel and a fourth channel of the four or more channels of the audio input signal to obtain a third channel and a fourth channel of the encoded audio signal.


Another embodiment may have an apparatus for decoding an encoded audio signal having a first channel and a second channel to obtain a first channel and a second channel of a decoded audio signal having two or more channels, wherein the apparatus has a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding, wherein the decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used, wherein the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used, and wherein the apparatus has a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of the decoded audio signal.


According to another embodiment, a system for decoding an encoded audio signal having four or more channels to obtain four channels of a decoded audio signal having four or more channels may have: a first inventive apparatus for decoding a first channel and a second channel of the four or more channels of the encoded audio signal to obtain a first channel and a second channel of the decoded audio signal, and a second inventive apparatus for decoding a third channel and a fourth channel of the four or more channels of the encoded audio signal to obtain a third channel and a fourth channel of the decoded audio signal.


According to another embodiment, a system for generating an encoded audio signal from an audio input signal and for generating a decoded audio signal from the encoded audio signal may have: an inventive apparatus configured to generate the encoded audio signal from the audio input signal, and an inventive apparatus configured to generate the decoded audio signal from the encoded audio signal.


According to another embodiment, a system for generating an encoded audio signal from an audio input signal and for generating a decoded audio signal from the encoded audio signal may have: an inventive system configured to generate the encoded audio signal from the audio input signal, and an inventive system configured to generate the decoded audio signal from the encoded audio signal.


According to another embodiment, a method for encoding a first channel and a second channel of an audio input signal having two or more channels to obtain an encoded audio signal may have the steps of: determining a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, determining a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal, generating a processed audio signal having a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and encoding the processed audio signal to obtain the encoded audio signal.


According to another embodiment, a method for decoding an encoded audio signal having a first channel and a second channel to obtain a first channel and a second channel of a decoded audio signal having two or more channels may have the steps of: determining for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding, using said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and using said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if dual-mono encoding was used, generating a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and generating a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if mid-side encoding was used, and modifying, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of a decoded audio signal.


Another embodiment may have a non-transitory digital storage medium having a computer program stored thereon to perform the inventive methods when said computer program is run by a computer or signal processor.


According to an embodiment, an apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to obtain an encoded audio signal is provided.


The apparatus for encoding comprises a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal.


Moreover, the apparatus for encoding comprises an encoding unit being configured to generate a processed audio signal having a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal. The encoding unit is configured to encode the processed audio signal to obtain the encoded audio signal.


Moreover, an apparatus for decoding an encoded audio signal comprising a first channel and a second channel to obtain a first channel and a second channel of a decoded audio signal comprising two or more channels is provided.


The apparatus for decoding comprises a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding.


The decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used.


Moreover, the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used.


Furthermore, the apparatus for decoding comprises a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of the decoded audio signal.


Moreover, a method for encoding a first channel and a second channel of an audio input signal comprising two or more channels to obtain an encoded audio signal is provided. The method comprises:

    • Determining a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal.
    • Determining a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal.
    • Generate a processed audio signal having a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and encoding the processed audio signal to obtain the encoded audio signal.


Furthermore, a method for decoding an encoded audio signal comprising a first channel and a second channel to obtain a first channel and a second channel of a decoded audio signal comprising two or more channels is provided. The method comprises:

    • Determining for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding.
    • Using said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and using said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used.
    • Generating a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and generating a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used. And:
    • Modifying, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of a decoded audio signal.


Moreover, computer programs are provided, wherein each of the computer programs is configured to implement one of the above-described methods when being executed on a computer or signal processor.


According to embodiments, new concepts are provided that are able to deal with panned signals using minimal side information.


According to some embodiments, FDNS (FDNS=Frequency Domain Noise Shaping) with the rate-loop is used as described in [6a] and [6b] combined with the spectral envelope warping as described in [8]. In some embodiments, a single ILD parameter on the FDNS-whitened spectrum is used followed by the band-wise decision, whether M/S coding or L/R coding is used for coding. In some embodiments, the M/S decision is based on the estimated bit saving. In some embodiments, bitrate distribution among the band-wise M/S processed channels may, e.g., depend on energy.


Some embodiments provide a combination of single global ILD applied on the whitened spectrum, followed by the band-wise M/S processing with an efficient M/S decision mechanism and with a rate-loop that controls the one single global gain.


Some embodiments inter alia employ FDNS with rate-loop, for example, based on [6a] or [6b], combined with the spectral envelope warping, for example based on [8]. These embodiments provide an efficient and very effective way for separating perceptual shaping of quantization noise and rate-loop. Using the single ILD parameter on the FDNS-whitened spectrum allows simple and effective way of deciding if there is an advantage of M/S processing as described above. Whitening the spectrum and removing the ILD allows efficient M/S processing. Coding single global ILD for the described system is enough and thus bit saving is achieved in contrast to known approaches.


According to embodiments, the M/S processing is done based on a perceptually whitened signal. Embodiments determine coding thresholds and determine, in an optimal manner, a decision, whether an L/R coding or a M/S coding is employed, when processing perceptually whitened and ILD compensated signals.


Moreover, according to embodiments, a new bitrate estimation is provided.


In contrast to [1]-[5], in embodiments, the perceptual model is separated from the rate loop as in [6a], [6b] and [13].


Even though the M/S decision is based on the estimated bitrate as proposed in [1], in contrast to [1] the difference in the bitrate demand of the M/S and the L/R coding is not dependent on the masking thresholds determined by a perceptual model. Instead the bitrate demand is determined by a lossless entropy coder being used. In other words: instead of deriving the bitrate demand from the perceptual entropy of the original signal, the bitrate demand is derived from the entropy of the perceptually whitened signal.


In contrast to [1]-[5], in embodiments, the M/S decision is determined based on a perceptually whitened signal, and a better estimate of the bitrate that may be used is obtained. For this purpose, the arithmetic coder bit consumption estimation as described in [6a] or [6b] may be applied. Masking thresholds do not have to be explicitly considered.


In [1], the masking thresholds for the mid and the side channels are assumed to be the minimum of the left and the right masking thresholds. Spectral noise shaping is done on the mid and the side channel and may, e.g., be based on these masking thresholds.


According to embodiments, spectral noise shaping may, e.g., be conducted on the left and the right channel, and the perceptual envelope may, in such embodiments, be exactly applied where it was estimated.


Furthermore, embodiments are based on the finding that M/S coding is not efficient if ILD exists, that is, if channels are panned. To avoid this, embodiments use a single ILD parameter on the perceptually whitened spectrum.


According to some embodiments, new concepts for the M/S decision are provided that process a perceptually whitened signal.


According to some embodiments, the codec uses new concepts that were not part of classic audio codecs, e.g., as described in [1].


According to some embodiments, perceptually whitened signals are used for further coding, e.g., similar to the way they are used in a speech coder.


Such an approach has several advantages, e.g., the codec architecture is simplified, a compact representation of the noise shaping characteristics and the masking threshold is achieved, e.g., as LPC coefficients. Moreover, transform and speech codec architectures are unified and thus a combined audio/speech coding is enabled.


Some embodiments employ a global ILD parameter to efficiently code panned sources.


In embodiments, the codec employs Frequency Domain Noise Shaping (FDNS) to perceptually whiten the signal with the rate-loop, for example, as described in [6a] or [6b] combined with the spectral envelope warping as described in [8]. In such embodiments, the codec may, e.g., further use a single ILD parameter on the FDNS-whitened spectrum followed by the band-wise M/S vs UR decision. The band-wise M/S decision may, e.g., be based on the estimated bitrate in each band when coded in the L/R and in the M/S mode. The mode with least required bits is chosen. Bitrate distribution among the band-wise M/S processed channels is based on the energy.


Some embodiments apply a band-wise M/S decision on a perceptually whitened and ILD compensated spectrum using the per band estimated number of bits for an entropy coder.


In some embodiments, FDNS with the rate-loop, for example, as described in [6a] or [6b] combined with the spectral envelope warping as described in [8], is employed. This provides an efficient, very effective way separating perceptual shaping of quantization noise and rate-loop. Using the single ILD parameter on the FDNS-whitened spectrum allows simple and effective way of deciding if there is an advantage of M/S processing as described. Whitening the spectrum and removing the ILD allows efficient M/S processing. Coding single global ILD for the described system is enough and thus bit saving is achieved in contrast to known approaches.


Embodiments modify the concepts provided in [1] when processing perceptually whitened and ILD compensated signals. In particular, embodiments employ an equal global gain for L, R, M and S, that together with the FDNS forms the coding thresholds. The global gain may be derived from an SNR estimation or from some other concept.


The proposed band-wise M/S decision precisely estimates the number of bits that may be used for coding each band with the arithmetic coder. This is possible because the M/S decision is done on the whitened spectrum and directly followed by the quantization.


There is no need for experimental search for thresholds.





BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:



FIG. 1a illustrates an apparatus for encoding according to an embodiment,



FIG. 1b illustrates an apparatus for encoding according to another embodiment, wherein the apparatus further comprises a transform unit and a preprocessing unit,



FIG. 1c illustrates an apparatus for encoding according to a further embodiment, wherein the apparatus further comprises a transform unit,



FIG. 1d illustrates an apparatus for encoding according to a further embodiment, wherein the apparatus comprises a preprocessing unit and a transform unit,



FIG. 1e illustrates an apparatus for encoding according to a further embodiment, wherein the apparatus furthermore comprises a spectral-domain preprocessor,



FIG. 1f illustrates a system for encoding four channels of an audio input signal comprising four or more channels to obtain four channels of an encoded audio signal according to an embodiment,



FIG. 2a illustrates an apparatus for decoding according to an embodiment,



FIG. 2b illustrates an apparatus for decoding according to an embodiment further comprising a transform unit and a postprocessing unit,



FIG. 2c illustrates an apparatus for decoding according to an embodiment, wherein the apparatus for decoding furthermore comprises a transform unit,



FIG. 2d illustrates an apparatus for decoding according to an embodiment, wherein the apparatus furthermore comprises a spectral-domain postprocessor,



FIG. 2e illustrates an apparatus for decoding according to an embodiment, wherein the apparatus for decoding furthermore comprises a postprocessing unit,



FIG. 1f illustrates a system for decoding an encoded audio signal comprising four or more channels to obtain four channels of a decoded audio signal comprising four or more channels according to an embodiment,



FIG. 3 illustrates a system according to an embodiment,



FIG. 4 illustrates an apparatus for encoding according to a further embodiment,



FIG. 5 illustrates stereo processing modules in an apparatus for encoding according to an embodiment,



FIG. 6 illustrates an apparatus for decoding according to another embodiment,



FIG. 7 illustrates a calculation of a bitrate for band-wise M/S decision according to an embodiment,



FIG. 8 illustrates a stereo mode decision according to an embodiment,



FIG. 9 illustrates stereo processing of an encoder side according to embodiments, which employ stereo filling,



FIG. 10 illustrates stereo processing of a decoder side according to embodiments, which employ stereo filling,



FIG. 11 illustrates stereo processing of an encoder side according to embodiments, which do not employ stereo filling, and



FIG. 12 illustrates stereo filling of a side signal on a decoder side according to some particular embodiments,



FIG. 13 illustrates stereo processing of a decoder side according to embodiments, which do not employ stereo filling.





DETAILED DESCRIPTION OF THE INVENTION


FIG. 1a illustrates an apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to obtain an encoded audio signal according to an embodiment.


The apparatus comprises a normalizer 110 configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal. The normalizer 110 is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal.


For example, the normalizer 110 may, in an embodiment, for example, be configured to determine the normalization value for the audio input signal depending on a plurality of spectral bands the first channel and of the second channel of the audio input signal, the normalizer 110 may, e.g., be configured to determine the first channel and the second channel of the normalized audio signal by modifying, depending on the normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the audio input signal.


Or, for example, the normalizer 110 may, e.g., be configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal being represented in a time domain and depending on the second channel of the audio input signal being represented in the time domain. Moreover, the normalizer 110 is configured to determine the first channel and the second channel of the normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal being represented in the time domain.


The apparatus further comprises a transform unit (not shown in FIG. 1 a) being configured to transform the normalized audio signal from the time domain to a spectral domain so that the normalized audio signal is represented in the spectral domain. The transform unit is configured to feed the normalized audio signal being represented in the spectral domain into the encoding unit 120. For example, the audio input signal may, e.g., be a time-domain residual signal that results from LPC filtering (LPC=Linear Predictive Coding) two channels of a time-domain audio signal.


Moreover, the apparatus comprises an encoding unit 120 being configured to generate a processed audio signal having a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal. The encoding unit 120 is configured to encode the processed audio signal to obtain the encoded audio signal.


In an embodiment, the encoding unit 120 may, e.g., be configured to choose between a full-mid-side encoding mode and a full-dual-mono encoding mode and a band-wise encoding mode depending on a plurality of spectral bands of a first channel of the normalized audio signal and depending on a plurality of spectral bands of a second channel of the normalized audio signal.


In such an embodiment, the encoding unit 120 may, e.g., be configured, if the full-mid-side encoding mode is chosen, to generate a mid signal from the first channel and from the second channel of the normalized audio signal as a first channel of a mid-side signal, to generate a side signal from the first channel and from the second channel of the normalized audio signal as a second channel of the mid-side signal, and to encode the mid-side signal to obtain the encoded audio signal.


According to such an embodiment, the encoding unit 120 may, e.g., be configured, if the full-dual-mono encoding mode is chosen, to encode the normalized audio signal to obtain the encoded audio signal.


Moreover, in such an embodiment, the encoding unit 120 may, e.g., be configured, if the band-wise encoding mode is chosen, to generate the processed audio signal, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit 120 may, e.g., be configured to encode the processed audio signal to obtain the encoded audio signal.


According to an embodiment, the audio input signal may, e.g., be an audio stereo signal comprising exactly two channels. For example, the first channel of the audio input signal may, e.g., be a left channel of the audio stereo signal, and the second channel of the audio input signal may, e.g., be a right channel of the audio stereo signal.


In an embodiment, the encoding unit 120 may, e.g., be configured, if the band-wise encoding mode is chosen, to decide for each spectral band of a plurality of spectral bands of the processed audio signal, whether mid-side encoding is employed or whether dual-mono encoding is employed.


If the mid-side encoding is employed for said spectral band, the encoding unit 120 may, e.g., be configured to generate said spectral band of the first channel of the processed audio signal as a spectral band of a mid signal based on said spectral band of the first channel of the normalized audio signal and based on said spectral band of the second channel of the normalized audio signal. The encoding unit 120 may, e.g., be configured to generate said spectral band of the second channel of the processed audio signal as a spectral band of a side signal based on said spectral band of the first channel of the normalized audio signal and based on said spectral band of the second channel of the normalized audio signal.


If the dual-mono encoding is employed for said spectral band, the encoding unit 120 may, e.g., be configured to use said spectral band of the first channel of the normalized audio signal as said spectral band of the first channel of the processed audio signal, and may, e.g., be configured to use said spectral band of the second channel of the normalized audio signal as said spectral band of the second channel of the processed audio signal. Or the encoding unit 120 is configured to use said spectral band of the second channel of the normalized audio signal as said spectral band of the first channel of the processed audio signal, and may, e.g., be configured to use said spectral band of the first channel of the normalized audio signal as said spectral band of the second channel of the processed audio signal.


According to an embodiment, the encoding unit 120 may, e.g., be configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by determining a first estimation estimating a first number of bits that are needed for encoding when the full-mid-side encoding mode is employed, by determining a second estimation estimating a second number of bits that are needed for encoding when the full-dual-mono encoding mode is employed, by determining a third estimation estimating a third number of bits that are needed for encoding when the band-wise encoding mode may, e.g., be employed, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that has a smallest number of bits among the first estimation and the second estimation and the third estimation.


In an embodiment, the encoding unit 120 may, e.g., be configured to estimate the third estimation b Bw , estimating the third number of bits that are needed for encoding when the band-wise encoding mode is employed, according to the formula:








b
BW

=

nBands





i
=
0


nBands
-
1



min

(


b
bwLR
i

,

b
bwMS
i


)




,




wherein nBands is a number of spectral bands of the normalized audio signal, wherein bbwMSi is an estimation for a number of bits that are needed for encoding an i-th spectral band of the mid signal and for encoding the i-th spectral band of the side signal, and wherein bbwLRi is an estimation for a number of bits that are needed for encoding an i-th spectral band of the first signal and for encoding the i-th spectral band of the second signal.


In embodiments, an objective quality measure for choosing between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode may, e.g., be employed.


According to an embodiment, the encoding unit 120 may, e.g., be configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by determining a first estimation estimating a first number of bits that are saved when encoding in the full-mid-side encoding mode, by determining a second estimation estimating a second number of bits that are saved when encoding in the full-dual-mono encoding mode, by determining a third estimation estimating a third number of bits that are saved when encoding in the band-wise encoding mode, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that has a greatest number of bits that are saved among the first estimation and the second estimation and the third estimation.


In another embodiment, the encoding unit 120 may, e.g., be configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by estimating a first signal-to-noise ratio that occurs when the full-mid-side encoding mode is employed, by estimating a second signal-to-noise ratio that occurs when the full-dual-mono encoding mode is employed, by estimating a third signal-to-noise ratio that occurs when the band-wise encoding mode is employed, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that has a greatest signal-to-noise-ratio among the first signal-to-noise-ratio and the second signal-to-noise-ratio and the third signal-to-noise-ratio.


In an embodiment, the normalizer 110 may, e.g., be configured to determine the normalization value for the audio input signal depending on an energy of the first channel of the audio input signal and depending on an energy of the second channel of the audio input signal.


According to an embodiment the audio input signal may, e.g., be represented in a spectral domain. The normalizer 110 may, e.g., be configured to determine the normalization value for the audio input signal depending on a plurality of spectral bands the first channel of the audio input signal and depending on a plurality of spectral bands of the second channel of the audio input signal. Moreover, the normalizer 110 may, e.g., be configured to determine the normalized audio signal by modifying, depending on the normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the audio input signal.


In an embodiment, the normalizer 110 may, e.g., be configured to determine the normalization value based on the formulae:







NRG
L

=




MDCT

L
,
k

2










NRG
R

=




MDCT

R
,
k

2









ILD
=


NRG
L



NRG
L

+

NRG
R







wherein MDCTL,k is a k-th coefficient of an MDCT spectrum of the first channel of the audio input signal, and MDCTR,k is the k-th coefficient of the MDCT spectrum of the second channel of the audio input signal. The normalizer 110 may, e.g., be configured to determine the normalization value by quantizing ILD.


According to an embodiment illustrated by FIG. 1b, the apparatus for encoding may, e.g., further comprise a transform unit 102 and a preprocessing unit 105. The transform unit 102 may, e.g., be configured to configured to transform a time-domain audio signal from a time domain to a frequency domain to obtain a transformed audio signal. The preprocessing unit 105 may, e.g., be configured to generate the first channel and the second channel of the audio input signal by applying an encoder-side frequency domain noise shaping operation on the transformed audio signal.


In a particular embodiment, the preprocessing unit 105 may, e.g., be configured to generate the first channel and the second channel of the audio input signal by applying an encoder-side temporal noise shaping operation on the transformed audio signal before applying the encoder-side frequency domain noise shaping operation on the transformed audio signal.



FIG. 1c illustrates an apparatus for encoding according to a further embodiment further comprising a transform unit 115. The normalizer 110 may, e.g., be configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal being represented in a time domain and depending on the second channel of the audio input signal being represented in the time domain. Moreover, the normalizer 110 may, e.g., be configured to determine the first channel and the second channel of the normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal being represented in the time domain. The transform unit 115 may, e.g., be configured to transform the normalized audio signal from the time domain to a spectral domain so that the normalized audio signal is represented in the spectral domain. Moreover, the transform unit 115 may, e.g., be configured to feed the normalized audio signal being represented in the spectral domain into the encoding unit 120.



FIG. 1d illustrates an apparatus for encoding according to a further embodiment, wherein the apparatus further comprises a preprocessing unit 106 being configured to receive a time-domain audio signal comprising a first channel and a second channel. The preprocessing unit 106 may, e.g., be configured to apply a filter on the first channel of the time-domain audio signal that produces a first perceptually whitened spectrum to obtain the first channel of the audio input signal being represented in the time domain. Moreover, the preprocessing unit 106 may, e.g., be configured to apply the filter on the second channel of the time-domain audio signal that produces a second perceptually whitened spectrum to obtain the second channel of the audio input signal being represented in the time domain.


In an embodiment, illustrated by FIG. 1e, the transform unit 115 may, e.g., be configured to transform the normalized audio signal from the time domain to the spectral domain to obtain a transformed audio signal. In the embodiment of FIG. 1e, the apparatus furthermore comprises a spectral-domain preprocessor 118 being configured to conduct encoder-side temporal noise shaping on the transformed audio signal to obtain the normalized audio signal being represented in the spectral domain.


According to an embodiment, the encoding unit 120 may, e.g., be configured to obtain the encoded audio signal by applying encoder-side Stereo Intelligent Gap Filling on the normalized audio signal or on the processed audio signal.


In another embodiment, illustrated by FIG. 1f, a system for encoding four channels of an audio input signal comprising four or more channels to obtain an encoded audio signal is provided. The system comprises a first apparatus 170 according to one of the above-described embodiments for encoding a first channel and a second channel of the four or more channels of the audio input signal to obtain a first channel and a second channel of the encoded audio signal. Moreover, the system comprises a second apparatus 180 according to one of the above-described embodiments for encoding a third channel and a fourth channel of the four or more channels of the audio input signal to obtain a third channel and a fourth channel of the encoded audio signal.



FIG. 2a illustrates an apparatus for decoding an encoded audio signal comprising a first channel and a second channel to obtain a decoded audio signal according to an embodiment.


The apparatus for decoding comprises a decoding unit 210 configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding.


The decoding unit 210 is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used.


Moreover, the decoding unit 210 is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used.


Furthermore, the apparatus for decoding comprises a de-normalizer 220 configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of the decoded audio signal.


In an embodiment, the decoding unit 210 may, e.g., be configured to determine whether the encoded audio signal is encoded in a full-mid-side encoding mode or in a full-dual-mono encoding mode or in a band-wise encoding mode.


Moreover, in such an embodiment, the decoding unit 210 may, e.g., be configured, if it is determined that the encoded audio signal is encoded in the full-mid-side encoding mode, to generate the first channel of the intermediate audio signal from the first channel and from the second channel of the encoded audio signal, and to generate the second channel of the intermediate audio signal from the first channel and from the second channel of the encoded audio signal,


According to such an embodiment, the decoding unit 210 may, e.g., be configured, if it is determined that the encoded audio signal is encoded in the full-dual-mono encoding mode, to use the first channel of the encoded audio signal as the first channel of the intermediate audio signal, and to use the second channel of the encoded audio signal as the second channel of the intermediate audio signal.


Furthermore, in such an embodiment, the decoding unit 210 may, e.g., be configured, if it is determined that the encoded audio signal is encoded in the band-wise encoding mode,

    • to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using the dual-mono encoding or the using mid-side encoding,
    • to use said spectral band of the first channel of the encoded audio signal as a spectral band of the first channel of the intermediate audio signal and to use said spectral band of the second channel of the encoded audio signal as a spectral band of the second channel of the intermediate audio signal, if the dual-mono encoding was used, and to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used.


For example, in the full-mid-side encoding mode, the formulae:






L=(M+S)/sqrt (2) , and






R=(M−S)/sqrt (2)


may, e.g., be applied to obtain the first channel L of the intermediate audio signal and to obtain the second channel R of the intermediate audio signal, with M being the first channel of the encoded audio signal and s being the second channel of the encoded audio signal.



20 According to an embodiment, the decoded audio signal may, e.g., be an audio stereo signal comprising exactly two channels. For example, the first channel of the decoded audio signal may, e.g., be a left channel of the audio stereo signal, and the second channel of the decoded audio signal may, e.g., be a right channel of the audio stereo signal.


According to an embodiment, the de-normalizer 220 may, e.g., be configured to modify, depending on the de-normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the intermediate audio signal to obtain the first channel and the second channel of the decoded audio signal.


In another embodiment shown in FIG. 2b, the de-normalizer 220 may, e.g., be configured to modify, depending on the de-normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the intermediate audio signal to obtain a de-normalized audio signal. In such an embodiment, the apparatus may, e.g., furthermore comprise a postprocessing unit 230 and a transform unit 235. The postprocessing unit 230 may, e.g., be configured to conduct at least one of decoder-side temporal noise shaping and decoder-side frequency domain noise shaping on the de-normalized audio signal to obtain a postprocessed audio signal. The transform unit (235) may, e.g., be configured to configured to transform the postprocessed audio signal from a spectral domain to a time domain to obtain the first channel and the second channel of the decoded audio signal.


According to an embodiment illustrated by FIG. 2c, the apparatus further comprises a transform unit 215 configured to transform the intermediate audio signal from a spectral domain to a time domain. The de-normalizer 220 may, e.g., be configured to modify, depending on the de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal being represented in a time domain to obtain the first channel and the second channel of the decoded audio signal.


In similar embodiment, illustrated by FIG. 2d, the transform unit 215 may, e.g., be configured to transform the intermediate audio signal from a spectral domain to a time domain. The de-normalizer 220 may, e.g., be configured to modify, depending on the de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal being represented in a time domain to obtain a de-normalized audio signal. The apparatus further comprises a postprocessing unit 235 which may, e.g., be configured to process the de-normalized audio signal, being a perceptually whitened audio signal, to obtain the first channel and the second channel of the decoded audio signal.


According to another embodiment, illustrated by FIG. 2e, the apparatus furthermore comprises a spectral-domain postprocessor 212 being configured to conduct decoder-side temporal noise shaping on the intermediate audio signal. In such an embodiment, the transform unit 215 is configured to transform the intermediate audio signal from the spectral domain to the time domain, after decoder-side temporal noise shaping has been conducted on the intermediate audio signal.


In another embodiment, the decoding unit 210 may, e.g., be configured to apply decoder-side Stereo Intelligent Gap Filling on the encoded audio signal.


Moreover, as illustrated in FIG. 2f, a system for decoding an encoded audio signal comprising four or more channels to obtain four channels of a decoded audio signal comprising four or more channels is provided. The system comprises a first apparatus 270 according to one of the above-described embodiments for decoding a first channel and a second channel of the four or more channels of the encoded audio signal to obtain a first channel and a second channel of the decoded audio signal. Moreover, the system comprises a second apparatus 280 according to one of the above-described embodiments for decoding a third channel and a fourth channel of the four or more channels of the encoded audio signal to obtain a third channel and a fourth channel of the decoded audio signal.



FIG. 3 illustrates system for generating an encoded audio signal from an audio input signal and for generating a decoded audio signal from the encoded audio signal according to an embodiment.


The system comprises an apparatus 310 for encoding according to one of the above-described embodiments, wherein the apparatus 310 for encoding is configured to generate the encoded audio signal from the audio input signal.


Moreover, the system comprises an apparatus 320 for decoding as described above. The apparatus 320 for decoding is configured to generate the decoded audio signal from the encoded audio signal.


Similarly, a system for generating an encoded audio signal from an audio input signal and for generating a decoded audio signal from the encoded audio signal is provided. The system comprises a system according to the embodiment of FIG. 1f, wherein the system according to the embodiment of FIG. 1f is configured to generate the encoded audio signal from the audio input signal, and a system according to the embodiment of FIG. 2f, wherein the system of the embodiment of FIG. 2f is configured to generate the decoded audio signal from the encoded audio signal.


In the following, advantageous embodiments are described.



FIG. 4 illustrates an apparatus for encoding according to another embodiment. Inter alia, a preprocessing unit 105 and a transform unit 102 according to a particular embodiment are illustrated. The transform unit 102 is inter alia configured to conduct a transformation of 30 the audio input signal from a time domain to a spectral domain, and the transform unit is configured to encoder-side conduct temporal noise shaping and encoder-side frequency domain noise shaping on the audio input signal.


Moreover, FIG. 5 illustrates stereo processing modules in an apparatus for encoding according to an embodiment. FIG. 5 ilustrates a normalizer 110 and an encoding unit 120.


Furthermore, FIG. 6 illustrates an apparatus for decoding according to another embodiment. Inter alia, FIG. 6 illustrates a postprocessing unit 230 according to a particular embodiment. The postprocessing unit 230 is inter alia configured to obtain a processed audio signal from the de-normalizer 220, and the postprocessing unit 230 is configured to conduct at least one of decoder-side temporal noise shaping and decoder-side frequency domain noise shaping on the processed audio signal.


Time Domain Transient Detector (TD TD), Windowing, MDCT, MDST and OLA may, e.g., be done as described in [6a] or [6b]. MDCT and MDST form Modulated Complex Lapped Transform (MCLT); performing separately MDCT and MDST is equivalent to performing MCLT; “MCLT to MDCT” represents taking just the MDCT part of the MCLT and discarding MDST (see [12]).


Choosing different window lengths in the left and the right channel may, e.g., force dual mono coding in that frame.


Temporal Noise Shaping (TNS) may, e.g., be done similar as described in [6a] or [6b].


Frequency domain noise shaping (FDNS) and the calculation of FDNS parameters may, e.g., be similar to the procedure described in [8]. One difference may, e.g., be that the FDNS parameters for frames where TNS is inactive are calculated from the MCLT spectrum. In frames where the TNS is active, the MDST may, e.g., be estimated from the MDCT.


The FDNS may also be replaced with the perceptual spectrum whitening in the time domain (as, for example, described in [13]).


Stereo processing consists of global ILD processing, band-wise M/S processing, bitrate distribution among channels.


Single global ILD is calculated as







NRG
L

=




MDCT

L
,
k

2










NRG
R

=




MDCT

R
,
k

2









ILD
=


NRG
L



NRG
L

+

NRG
R







where MDCTL,k is the k-th coefficient of the MDCT spectrum in the left channel and MDCTR,k is the k-th coefficient of the MDCT spectrum in the right channel. The global ILD is uniformly quantized:






custom-character=max(1, min(ILDrange−1, └ILDrange·ILD+0.5┘))





ILDrange=1«ILDbits


where ILDbits is the number of bits used for coding the global ILD. custom-character is stored in the bitstream.


« is a bit shift operation and shifts the bits by ILDbits to the left by inserting 0 bits.


In other words: ILDrange=2ILDbits.


The energy ratio of the channels is then:







ratio
ILD

=




ILD
range


ILD
^


-
1




NRG
R


NRG
L












1

ratio
ILD


,




If ratioILD>1 then the right channel is scaled with otherwise the left channel is scaled with ratioILD. This effectively means that the louder channel is scaled.


If the perceptual spectrum whitening in the time domain is used (as, for example, described in [13]), the single global ILD can also be calculated and applied in the time domain, before the time to frequency domain transformation (i.e. before the MDCT). Or, alternatively, the perceptual spectrum whitening may be followed by the time to frequency domain transformation followed by the single global ILD in the frequency domain. Alternatively the single global LLD may be calculated in the time domain before the time to frequency domain transformation and applied in the frequency domain after the time to frequency domain transformation.


The mid MDCTM,k and the side MDCTS,k channels are formed using the left channel MDCTL,k and the right channel MDCTR,k as MDCTM,k=1/√{square root over (2)}(MDCTL,k+MDCTR,k) and MDCTS,k=1/√{square root over (2)}(MDCTL,k+MDCTR,k). The spectrum is divided into bands and for each band it is decided if the left, right, mid or side channel is used.


A global gain Gest is estimated on the signal comprising the concatenated Left and Right channels. Thus is different from [6b] and [6a]. The first estimate of the gain as described in chapter 5.3.3.2.8.1.1 “Global gain estimator” of [6b] or of [6a] may, for example, be used, for example, assuming an SNR gain of 6 dB per sample per bit from the scalar quantization.


The estimated gain may be multiplied with a constant to get an underestimation or an overestimation in the final Gest. Signals in the left, right, mid and side channels are then quantized using Gest, that is the quantization step size is 1/Gest.


The quantized signals are then coded using an arithmetic coder, a Huffman coder or any other entropy coder, in order to get the number of bits that may be used. For example, the context based arithmetic coder described in chapter 5.3.3.2.8.1.3-chapter 5.3.3.2.8.1.7 of [6b] or of [6a] may be used. Since the rate loop (e.g. 5.3.3.2.8.1.2 in [6b] or in [6a]) will 15 be run after the stereo coding, an estimation of the bits that may be used is enough.


As an example, for each quantized channel number of bits that may be used for context based arithmetic coding is estimated as described in chapter 5.3.3.2.8.1.3-chapter 5.3.3.2.8.1.7 of [6b] or of [6a].


According to an embodiment, the bit estimation for each quantized channel (left, right, mid or side) is determined based on the following example code:

















int context_based_arihmetic_coder_estimate (



 int spectrum[ ],



 int start_line,



 int end_line,



 int lastnz, // lastnz = last non-zero spectrum line



 int & ctx, // ctx = context



 int & probability, // 14 bit fixed point probability



 const unsigned int cum_freq[N_CONTEXTS][ ]



  // cum_freq = cumulative frequency tables, 14 bit fixed point



)



{



 int nBits = 0;



 for (int k = start_line; k < min(lastnz, end_line); k+=2)



 {



  int a1 = abs(spectrum[k]);



  int b1 = abs(spectrum[k+1]);



  /* Signs Bits */



  nBits += min(a1, 1);



  nBits += min(b1, 1);



  while (max(a1, b1) >= 4)



  {



   probability *= cum_freq[ctx][VAL_ESC];



   int nlz = Number_of_leading_zeros(probability);



   nBits += 2 + nlz;



   probability >>= 14 − nlz;



   a1 >>= 1;



   b1 >>= 1;



   ctx = update_context(ctx, VAL_ESC);



  }



  int symbol = a1 + 4*b1;



  probability *= (cum_freq[ctx][symbol] −



    cum_freq[ctx][symbol+1]);



  int nlz = Number_of_leading_zeros(probability);



  nBits += nlz;



  hContextMem−>proba >>= 14 − nlz;



  ctx = update_context(ctx, a1+b1);



 }



 return nBits;



}











where spectrum is set to point to the quantized spectrum to be coded, start_line is set to 0, end_line is set to the length of the spectrum, lastnz is set to the index of the last non-zero element of spectrum, ctx is set to 0 and probability is set to 1 in 14bit fixed point notation (16384=1«14).


As outlined, the above example code may be employed, for example, to obtain a bit estimation for at least one of the left channel, the right channel, the mid channel and the side channel.


Some embodiments employ an arithmetic coder as described in [6b] and [6a]. Further details may, e.g., be found in chapter 5.3.3.2.8 “Arithmetic coder” of [6b].


An estimated number of bits for “full dual mono” (bLR) is then equal to the sum of the bits that may be used for the right and the left channel.


An estimated number of bits for the “full M/S” (bMS) is then equal to the sum of the bits that may be used for the Mid and the Side channel.


In an alternative embodiment, which is an alternative to the above example code, the formula:







b

L

R


=




i
=
0



n

B

a

n

d

s

-
1



b

b

w

L

R

i






may, e.g., be employed to calculate an estimated number of bits for “full dual mono”) (bLR).


Moreover, in an alternative embodiment, which is an alternative to the above example code, the formula:







b

M

S


=




i
=
0



n

B

a

n

d

s

-
1



b

b

w

M

S

i






may, e.g., be employed to calculate an estimated number of bits for the “full M/S” (bMS).


For each band r with borders [lbi, ubi], it is checked how many bits would be used for coding the quantized signal in the band in the L/R (bbwLRi) and in the M/S (bbwMSi) mode. In other words, a band-wise bit estimation is conducted for the L/R mode for each band i: bbwLRi, which results in the UR mode band-wise bit estimation for band i, and a band-wise bit estimation is conducted for the M/S mode for each band i, which results in the M/S mode band-wise bit estimation for band i:


The mode with fewer bits is chosen for the band. The number of bits that may be used for arithmetic coding is estimated as described in chapter 5.3.3.2.8.1.3-chapter 5.3.3.2.8.1.7 of [6b] or of [6a]. The total number of bits that may be used for coding the spectrum in the “band-wise M/S” mode (bBW,) is equal to the sum of mind (bbwLRi,bbwMSi):








b
BW

=

nBands
+




i
=
0


nBands
-
1



min

(


b
bwLR
i

,

b
bwMS
i


)




,




The “band-wise M/S” mode needs additional nBands bits for signaling in each band whether L/R or M/S coding is used. The choice between the “band-wise M/S”, the “full dual mono” and the “full M/S” may, e.g., be coded as the stereo mode in the bitstream and then the “full dual mono” and the “full M/S” don't need additional bits, compared to the “band-wise M/S”, for signaling.


For the context based arithmetic coder, bbwLRi is used in the calculation of bLR is not equal to bbwLRi is used in the calculation of bBW, nor is bbwMSi used in the calculation of bMS equal to bbwMSi used in the calculation of bBW, as the bbwLRi is and the bbwMSi depend on the choice of the context for the previous bbwLRj and bbwMSj, where j<i. bLR may be calculated as the sum of the bits for the Left and for the Right channel and bMS may be calculated as the sum of the bits for the Mid and for the Side channel, where the bits for each channel can be calculated using the example code context_based_arihmetic_coder_estimate_bandwise where start_line is set to 0 and end_line is set to lastnz.


In an alternative embodiment, which is an alternative to the above example code, the formula:







b

L

R


=

nBands
+




i
=
0



n

B

a

n

d

s

-
1



b

b

w

L

R

i







may, e.g., be employed to calculate an estimated number of bits for “full dual mono” (bLR) and signaling in each band L/R coding may be used.


Moreover, in an alternative embodiment, which is an alternative to the above example code, the formula:







b

M

S


=

nBands
+




i
=
0



n

B

a

n

d

s

-
1



b

b

w

M

S

i







may, e.g., be employed to calculate an estimated number of bits for the “full M/S” (bMS) and signaling in each band M/S coding may be used.


In some embodiments, at first, a gain G may, e.g., be estimated and a quantization step size may, e.g., estimated, for which it is expected that there are enough bits to code the channels in L/R.


In the following, embodiments are provided which describe different ways how to determine a band-wise bit estimation, e.g., it is described how to determine x, zi an d according to particular embodiments.


As already outlined, according to a particular embodiment, for each quantized channel, the number of bits that may be used for arithmetic coding is estimated, for example, as described in chapter 5.3.3.2.8.1.7 “Bit consumption estimation” of [6b] or of the similar chapter of [6a].


According to an embodiment, the band-wise bit estimation is determined using context_based_arihmetic_coder_estimate for calculating each of bbwLRi and bbwMSi for every i, by setting start_line to lbi, end_line to ubi, lastnz to the index of the last non-zero element of spectrum.


Four contexts (ctxL, ctxR, ctxM, ctxM) and four probabilities (pL, pR, pM, pM) are initialized and then repeatedly updated.


At the beginning of the estimation (for i=0) each context (ctxL, ctxR, ctxM, ctxM) is set to 0 and each probability (pL, pR, pM, pM) is set to 1 in 14bit fixed point notation (16384=1«14).


bbwLRi is calculated as sum of bbwLi and bbwRi, where bbwLi is determined using context_based_arihmetic_coder_estimate by setting spectrum to point to the quantized left spectrum to be coded, ctx is set to ctxL and probability is set to pL and bbwRi is determined using context_based_arihmetic_coder_estimate by setting spectrum to point to the quantized right spectrum to be coded, ctx is set to ctxR and probability is set to oR.


bbwMSi is calculated as sum of bbwMi and bbwSi, where bbwMi is determined using context_based_arihmetic_coder_estimate by setting spectrum to point to the quantized mid spectrum to be coded, ctx is set to ctxM and probability is set to pM and bbwSi is determined using context_based_arihmetic_coder_estimate by setting spectrum to point to the quantized side spectrum to be coded. ctx is set to ctxS and probability is set to pS.


If bbwLRi<bbwMSi then ctxL is set to ctxM, ctxR is set to ctxS, is set to pM, pR is set to pS.


If bbwLRi<=bbwMSi then ctxM is set to ctxL, ctxS is set to ctxR, pM is set to pL, pS is set to pR.


In an alternative embodiment, the band-wise bit estimation is obtained as follows:


The spectrum is divided into bands and for each band it is decided if M/S processing should be done. For all bands where M/S is used, MDCTL,k and MDCTR,k are replaced with MDCTM,k=0.5(MDCTL,k+MDCTR,k) and MDCTS,k=0.5(MDCTL,k−MDCTR,k).


Band-wise M/S vs UR decision may, e.g., be based on the estimated bit saving with the M/S processing:







bitsSaved
i

=



nlines
i

·

log
2







NRG

R
,
i




NRG

L
,
i





NRG

M
,
i




NRG

S
,
i










where NRGR,i is the energy in the t-th band of the right channel, NRGL,i is the energy in the i-th band of the left channel, NRGM,i is the energy in the i-th band of the mid channel, NRGS,i is the energy in the i-th band of the side channel and nlinesi is the number of spectral coefficients in the i-th band. Mid channel is the sum of the left and the right channel, side channel is the differences of the left and the right channel.


bitsSavedi is limited with the estimated number of bits to be used for the i-th band:







max


Bits
LR


=


(



NRG

R
,
i



NRG
R


+


NRG

L
,
i



NRG
L



)

·
bitsAvailable










max


Bits
MS


=


(



NRG

M
,
i



NRG
M


+


NRG

S
,
i



NRG
S



)

·
bitsAvailable








bitsSaved
i

=

max

(


max


Bits
LR


,

min

(



-
max



Bits
MS


,

bitsSaved
i


)


)






FIG. 7 illustrates calculating a bitrate for band-wise M/S decision according to an embodiment.


In particular, in FIG. 7, the process for calculating bBW is depicted. To reduce the complexity, arithmetic coder context for coding the spectrum up to band i−1 is saved and reused in the band i.


It should be noted that for the context based arithmetic coder, bbwLRi and bbwMSi depend on the arithmetic coder context, which depends on the M/S vs L/R choice in all bands j<i, as, e.g., described above.



FIG. 8 illustrates a stereo mode decision according to an embodiment.


If “full dual mono” is chosen then the complete spectrum consists of MDCTL,k and MDCTR,k. If “full M/S” is chosen then the complete spectrum consists of MDCTM,k and MDCTS,k . If “band-wise M/S” is chosen then some bands of the spectrum consist of MDCTL,k and MDCTR,k and other bands consist of MDCTM,k and MDCTS,k.


The stereo mode is coded in the bitstream. In “band-wise M/S” mode also band-wise M/S decision is coded in the bitstream.


The coefficients of the spectrum in the two channels after the stereo processing are denoted as MDCTLM,k and MDCTRS,k·MDCTLM,k is equal to MDCTM,k in M/S bands or to MDCTL,k in L/R bands and MDCTRSM,k is equal to MDCTS,k in M/S bands or to MDCTR,k in L/R bands, depending on the stereo mode and band-wise M/S decision. The spectrum consisting of MDCTLM,k may, e.g., be referred to as jointly coded channel 0 (Joint Chn 0) or may, e.g., be referred to as first channel, and the spectrum consisting of MDCTRS,k may, e.g., be referred to as jointly coded channel 1 (Joint Chn 1) or may, e.g., be referred to as second channel.


The bitrate split ratio is calculated using the energies of the stereo processed channels:







NRG
LM

=




MDCT

LM
,
k

2










NRG
RS

=




MDCT

RS
,
k

2










r
split

=


NRG
LM



NRG
LM

+

NRG
RS







The bitrate split ratio is uniformly quantized:






custom-character=max(1,min(rsplitrange−1, └rsplitrange·rsplit+0.5┘))





rsplitrange=1<<rsplitbits


where rsplitbits is the number of bits used for coding the bitrate split ratio. If







r
split

<


8
9







and






>


9


rsplit
range


16





then custom-character is decreased for








rsplit
range

8

.




If






r
split

>


1
9



and


<


7


rsplit
range


16





then custom-character is increased for







rsplit
range

8





custom-characteris stored in the bitstream.


The bitrate distribution among channels is:







bits
LM

=





rsplit
range



(

totalBitsAvailable
-
stereoBits

)











bits
RS

=


(

totalBitsAvailable
-
stereoBits

)

-

bits
LM






Additionally it is made sure that there are enough bits for the entropy coder in each channel by checking that bitsLM−sideBitsLM>minBits and bitsRS−sideBitsRS>minBits, where minBits is the minimum number of bits that may be used by the entropy coder. If there is not enough bits for the entropy coder then custom-character is increased/decreased by bitsLM−sideBitsLM>minBits and bitsRS−sideBitsRS>minBits are fulfilled.



30 Quantization, noise filling and the entropy encoding, including the rate-loop, are as described in 5.3.3.2 “General encoding procedure” of 5.3.3 “MDCT based TCX” in [6b] or in [6a]. The rate-loop can be optimized using the estimated Gest. The power spectrum P (magnitude of the MCLT) is used for the tonality/noise measures in the quantization and Intelligent Gap Filling (IGF) as described in [6a] or [6b]. Since whitened and band-wise M/S processed MDCT spectrum is used for the power spectrum, the same FDNS and M/S processing is to be done on the MDST spectrum. The same scaling based on the global ILD of the louder channel is to be done for the MDST as it was done for the MDCT. For the frames where TNS is active, MDST spectrum used for the power spectrum calculation is estimated from the whitened and M/S processed MDCT spectrum: Pk=MDCTk2+(MDCTk+1−MDCTk−1)2.


The decoding process starts with decoding and inverse quantization of the spectrum of the jointly coded channels, followed by the noise filling as described in 6.2.2 “MDCT based TCX” in [6b] or [6a]. The number of bits allocated to each channel is determined based on the window length, the stereo mode and the bitrate split ratio that are coded in the bitstream. The number of bits allocated to each channel may be known before fully decoding the bitstream.


In the intelligent gap filling (IGF) block, lines quantized to zero in a certain range of the spectrum, called the target tile are filled with processed content from a different range of the spectrum, called the source tile. Due to the band-wise stereo processing, the stereo representation (i.e. either L/R or M/S) might differ for the source and the target tile. To ensure good quality, if the representation of the source tile is different from the representation of the target tile, the source tile is processed to transform it to the representation of the target file prior to the gap filling in the decoder. This procedure is already described in [9]. The IGF itself is, contrary to [6a] and [6b], applied in the whitened spectral domain instead of the original spectral domain. In contrast to the known stereo codecs (e.g. [9]), the IGF is applied in the whitened, ILD compensated spectral domain.


Based on the stereo mode and band-wise M/S decision, left and right channel are constructed from the jointly coded channels: MDCTL,k=1/√{square root over (2)}(MDCTLM,k+MDCTRS,k) and MDCTR,k=1/√{square root over (2)}(MDCTLM,k+MDCTRS,k).


If ratioILD>1 then the right channel is scaled with T-atio, otherwise the left channel is scaled with







1

ratio
ILD


.




For each case where division by 0 could happen, a small epsilon is added to the denominator.


For intermediate bitrates, e.g. 48 kbps, MDCT-based coding may, e.g., lead to too coarse quantization of the spectrum to match the bit-consumption target. That raises the need for parametric coding, which combined with discrete coding in the same spectral region, adapted on a frame-to-frame basis, increases fidelity.


In the following, aspects of some of those embodiments, which employ stereo filling, are described. It should be noted that for the above embodiments, it is not necessary that stereo filling is employed. So, only some of the above-described embodiments employ stereo filling. Other embodiments of the above-described embodiments do not employ stereo filling at all.


Stereo frequency filling in MPEG-H frequency-domain stereo is, for example, described in [11]. In [11] the target energy for each band is reached by exploiting the band energy sent from the encoder in the form of scale factors (for example in AAC). If frequency-domain noise (FDNS) shaping is applied and the spectral envelope is coded by using the LSFs (line spectral frequencies) (see [6a], [6b], [8]) it is not possible to change the scaling only for some frequency bands (spectral bands) as needed from the stereo filling algorithm described in [11].


At first some background information is provided.


When mid/side coding is employed, it is possible to encode the side signals in different ways.


According to a first group of embodiments, a side signal S is encoded in the same way as a mid signal M. Quantization is conducted, but no further steps are conducted to reduce the bit rate that may be used. In general, such an approach aims to allow a quite precise reconstruction of the side signal S on the decoder side, but, on the other hand involves a large amount of bits for encoding.


According to a second group of embodiments, a residual side signal Sres is generated from the original side signal S based on the M signal. In an embodiment, the residual side signal may, for example, be calculated according to the formula:






S
res
=S−g·M.


Other embodiments may, e.g., employ other definitions for the residual side signal.


The residual signal Sres is quantized and transmitted to the decoder together with parameter g. By quantizing the residual signal Sres instead of the original side signal S, in general, more spectral values are quantized to zero. This, in general, saves the amount of bits that may be used for encoding and transmitting compared to the quantized original side signal S.


In some of these embodiments of the second group of embodiments, a single parameter g is determined for the complete spectrum and transmitted to the decoder. In other embodiments of the second group of embodiments, each of a plurality of frequency bands/spectral bands of the frequency spectrum may, e.g., comprise two or more spectral values, and a parameter g is determined for each of the frequency bands/spectral bands and transmitted to the decoder.



FIG. 12 illustrates stereo processing of an encoder side according to the first or the second groups of embodiments, which do not employ stereo filling.



FIG. 13 illustrates stereo processing of a decoder side according to the first or the second groups of embodiments, which do not employ stereo filling.


According to a third group of embodiments, stereo filling is employed. In some of these embodiments, on the decoder side, the side signal S for a certain point-in-time t is generated from a mid signal of the immediately preceding point-in-time t−1.


Generating the side signal S for a certain point-in-time t from a mid signal of the immediately preceding point-in-time t−1 on the decoder side may, for example, be conducted according to the formula:






S(t)=hb·M(t−1).


On the encoder side, the parameter hb is determined for each frequency band of a plurality of frequency bands of the spectrum. After determining the parameters hb, the encoder transmits the parameters hb to the decoder. In some embodiments, the spectral values of the side signal S itself or of a residual of it are not transmitted to the decoder, Such an approach aims to save the number of bits that may be used.


In some other embodiments of the third group of embodiments, at least for those frequency bands where the side signal is louder than the mid signal, the spectral values of the side signal of those frequency bands are explicitly encoded and sent to the decoder.


According to a fourth group of embodiments, some of the frequency bands of the side signal S are encoded by explicitly encoding the original side signal S (see the first group of embodiment) or a residual side signal Sres, while for the other frequency bands, stereo filling is employed. Such an approach combines the first or the second groups of embodiments, with the third group of embodiments, which employs stereo filling. For example, lower frequency bands may, e.g., be encoded by quantizing the original side signal S or the residual side signal Sres, while for the other, upper frequency bands, stereo filling may, e.g., be employed.



FIG. 9 illustrates stereo processing of an encoder side according to the third or the fourth groups of embodiments, which employ stereo filling.



FIG. 10 illustrates stereo processing of a decoder side according to the third or the fourth groups of embodiments, which employ stereo filling.


Those of the above-described embodiments, which do employ stereo filling, may, for example, employ stereo filling as described in in MPEG-H, see MPEG-H frequency-domain stereo (see, for example, [11]).


Some of the embodiments, which employ stereo filling, may, for example, apply the stereo filling algorithm described in on systems where the spectral envelope is coded as LSF combined with noise filling. Coding the spectral envelope, may, for example, be implemented as for example, described in [6a], [6b], [8]. Noise filling, may, for example, be implemented as described in [6a] and [6b].


In some particular embodiments, stereo-filling processing including stereo filling parameter calculation may, e.g., be conducted in the M/S bands within the frequency region, for example, from a lower frequency, such as 0.08 Fs (Fs=sampling frequency), to, for example, an upper frequency, for example, the IGF cross-over frequency.


For example, for frequency portions lower than the lower frequency (e.g., 0.08 Fs), the original side signal S or a residual side signal derived from the original side signal S, may, e.g., be quantized and transmitted to the decoder. For frequency portions greater than the upper frequency (e.g., the IGF cross-over frequency), Intelligent Gap Filling (IGF) may, e.g., be conducted.


More particularly, in some of the embodiments, the side channel (the second channel), for those frequency bands within the stereo filling range (for example, 0.08 times the sampling frequency up to the IGF cross-over frequency) that are fully quantized to zero, may, for example, be filled using a “copy-over” from the previous frame's whitened MDCT spectrum downmix (IGF=Intelligent Gap Filling). The “copy-over” may, for example, be applied complimentary to the noise filling and scaled accordingly depending on the correction factors that are sent from the encoder. In other embodiments, the lower frequency may exhibit other values than 0.08 Fs.


Instead of being 0.08 Fs, in some embodiments, the lower frequency may, e.g., be a value in the range from 0 to 0.50 Fs In particular, embodiments, the lower frequency may be a value in the range from 0.01 Fs to 0.50 Fs. For example, the lower frequency may, e.g., be for example, 0.12 Fs or 0.20 Fs or 0.25 Fs.


In other embodiments, in addition to or instead of employing Intelligent Gap Filling, for frequencies greater than the upper frequency, Noise Filling may, e.g., be conducted.


In further embodiments, there is no upper frequency and stereo filling is conducted for each frequency portion greater than the lower frequency.


In still further embodiments, there is no lower frequency, and stereo filling is conducted for frequency portions from the lowest frequency band up to the upper frequency.


In still further embodiments, there is no lower frequency and no upper frequency and stereo filling is conducted for the whole frequency spectrum.


In the following, particular embodiments, which employ stereo filling, are described.


In particular, stereo filling with correction factors according to particular embodiments is described. Stereo Filling with correction factors may, e.g., be employed in the embodiments of the stereo filling processing blocks of FIG. 9 (encoder side) and of FIG. 10 (decoder side).


In the following,

    • DmxR may, e.g., denote the Mid signal of the whitened MDCT spectrum,
    • SR may, e.g., denote the Side signal of the whitened MDCT spectrum,
    • DMXl may, e.g., denote the Mid signal of the whitened MDST spectrum,
    • Sl may, e.g., denote the Side signal of the whitened MDST spectrum,
    • prevDmxR may, e.g., denote the Mid signal of whitened MDCT spectrum delayed by one frame, and
    • prevDmxl may, e.g., denote the Mid signal of whitened MDST spectrum delayed by one frame.


Stereo filling encoding may be applied when the stereo decision is M/S for all bands (full M/S) or M/S for all stereo filling bands (bandwise M/S).


When it was determined to apply full dual-mono processing stereo filling is bypassed. Moreover, when L/R coding is chosen for some of the spectral bands (frequency bands), stereo filling is also bypassed for these spectral bands.


Now, particular embodiments employing stereo filling are considered. There, processing within the block may, e.g., be conducted as follows:


For the frequency bands (fb) that fall within the frequency region starting from the lower frequency (e.g., 0.08 Fs (Fs=sampling frequency)), up to the upper frequency, (e.g., the IGF cross-over frequency):

    • A residual ResR of the side signal SR is calculated, e.g., according to:





ResR=SR αRDmxR αlDmxl.

    • where αR is the real part and αl is the imaginary part of the complex prediction coefficient (see [10]) .
    • A residual Resl of the side signal Sl is calculated, e.g., according to:





Resl=Sl−αRDmxR−αlDmxl.

    • Energies, e.g., complex-valued energies, of the residual Res and of the previous frame downmix (mid signal) prevDmx are calculated:








ERes
fb

=







fb



Res
R
2


+






fb



Res
I
2




,







EprevDmx
fb

=




fb


prevDmx
R
2


+



fb


prevDmx
I
2







In the above formulae:

    • ΣfbResR2 sums the squares of all spectral values within frequency band fb of ResR.
    • ΣfbResl2 sums the squares of all spectral values within frequency band fb of Resl.








fb


prevDmx
R
2





sums the squares of all spectral values within frequency band fb of prevDmxR.








fb


prevDmx
I
2





sums the squares of all spectral values within frequency band fb of prevDmxl.


From these calculated energies, (EResfb, EprevDmxfb) , stereo filling correction factors are calculated and transmitted as side information to the decoder:





correction_factorfb−Eresfb/(EprevDmxfb+ϵ)


In an embodiment, ϵ=0. In other embodiments, e.g., 0.1>ϵ>0, e.g., to avoid a division by 0.


A band-wise scaling factor may, e.g., be calculated depending on the calculated stereo filling correction factors, e.g., for each spectral band, for which stereo filling is employed. Band-wise scaling of output Mid and Side (residual) signals by a scaling factor is introduced in order to compensate for energy loss, as there is no inverse complex prediction operation to reconstruct the side signal from the residual on the decoder side (αRl=0).


In a particular embodiment, the band-wise scaling factor, may, e.g., be calculated according to:







scaling_factor
fb

=









fb




(


S
R

-


a
R



Dmx
R



)

2


+






fb




(


S
I

-


a
I



Dmx
I



)

2


+

EDmx
fb




ERes
fb

+

EDmx
fb

+
ε







where EDmxfb is the (e.g., complex) energy of the current frame downmix (which may, e.g., be calculated as described above).

    • In some embodiments, after the stereo filling processing in the stereo processing block and prior to quantization, the bins of the residual that fall within the stereo filling frequency range may, e.g., be set to zero, if for the equivalent band the downmix (Mid) is louder than the residual (Side):








E
fb
M


E
fb
S


>
threshold







E
fb
M

=



fb


Dmx
R
2









E
fb
S

=



fb


Res
R
2








    • Therefore, more bits are spent on coding the downmix and the lower frequency bins of the residual, improving the overall quality.

    • In alternative embodiments, all bits of the residual (Side) may, e.g., be set to zero. Such alternative embodiments may, e.g., be based on the assumption that the downmix is in most cases louder than the residual.






FIG. 11 illustrates stereo filling of a side signal according to some particular embodiments on the decoder side.


Stereo filling is applied on the side channel after decoding, inverse quantization and noise filling. For the frequency bands, within the stereo filling range, that are quantized to zero, a “copy-over” from the last frame's whitened MDCT spectrum downmix may, e.g., be applied (as seen in FIG. 11), if the band energy after noise filling does not reach the target energy. The target energy per frequency band is calculated from the stereo correction factors that are sent as parameters from the encoder, for example according to the formula.





ETfb=correction_factorfb·EprevDmxfb.


The generation of the side signal on the decoder side (which may, e.g, be referred to as a previous downmix “copy-over”) is conducted, for example according to the formula:






S
i
N
i+facDmxfb·prevDmxi, i∈[fb, fb+1],


where i denotes the frequency bins (spectral values) within the frequency band fb, N is the noise filled spectrum and facDmxfb is a factor that is applied on the previous downmix, that depends on the stereo filling correction factors sent from the encoder.


facDmxfb may, in a particular embodiment, e.g., be calculated for each frequency band fb as:





facDmxfb=√correction_factorfb−ENfb/(EprevDmxfb+ϵ)


where ENfb is the energy of the noise-filled spectrum in band fb and EprevDmxfb, is the respective previous frame downmix energy.


On the encoder side, alternative embodiments do not take the MDST spectrum (or the MDCT spectrum) into account. In those embodiments, the proceeding on the encoder side is adapted, for example, as follows:


For the frequency bands (fb) that fall within the frequency region starting from the lower frequency (e.g., 0.08 Fs (Fs=sampling frequency)), up to the upper frequency, (e.g., the IGF cross-over frequency):

    • A residual Res of the side signal SR is calculated, e.g., according to:





Res=SR−αRDmxR,

    • where αR is a (e.g., real) prediction coefficient.
    • Energies of the residual Res and of the previous frame downmix (mid signal) prevDmx are calculated:





EResfbfbResR2,







EprevDmx
fb

=



fb



prevDmx
R
2

.








    • From these calculated energies, (EResfb, EprevDmxfb) , stereo filling correction factors are calculated and transmitted as side information to the decoder:








correction_factorfb=EResfb/(EprevDmxfb+ϵ)

    • In an embodiment, ϵ=0. In other embodiments, e.g., 0.1>ϵ>0, e.g., to avoid a division by 0.
    • A band-wise scaling factor may, e.g., be calculated depending on the calculated stereo filling correction factors, e.g., for each spectral band, for which stereo filling is employed.
    • In a particular embodiment, the band-wise scaling factor, may, e.g., be calculated according to:







scaling_factor
fb

=









fb




(


S
R

-


a
R



Dmx
R



)

2


+

EDmx
fb




ERes
fb

+

EDmx
fb

+
ε









    • where EDmxfb is the energy of the current frame downmix (which may, e.g., be calculated as described above).

    • In some embodiments, after the stereo filling processing in the stereo processing block and prior to quantization, the bins of the residual that fall within the stereo filling frequency range may, e.g., be set to zero, if for the equivalent band the downmix (Mid) is louder than the residual (Side):











E
fb
M


E
fb
S


>
threshold







E
fb
M

=



fb


Dmx
R
2









E
fb
R

=



fb


Res
R
2








    • Therefore, more bits are spent on coding the downmix and the lower frequency bins of the residual, improving the overall quality.

    • In alternative embodiments, all bits of the residual (Side) may, e.g., be set to zero. Such alternative embodiments may, e.g., be based on the assumption that the downmix is in most cases louder than the residual.





According to some of the embodiments, means may, e.g., be provided to apply stereo filling in systems with FDNS, where spectral envelope is coded using LSF (or a similar coding where it is not possible to independently change scaling in single bands).


According to some of the embodiments, means may, e.g., be provided to apply stereo filling in systems without the complex/real prediction.


Some of the embodiments may, e.g., employ parametric stereo filling, in the sense that explicit parameters (stereo filling correction factors) are sent from encoder to decoder, to control the stereo filling (e.g. with the downmix of the previous frame) of the whitened left and right MDCT spectrum.


In more general:


In some of the embodiments, the encoding unit 120 of FIG. 1a-FIG. 1e may, e.g., be configured to generate the processed audio signal, such that said at least one spectral band of the first channel of the processed audio signal is said spectral band of said mid signal, and such that said at least one spectral band of the second channel of the processed audio signal is said spectral band of said side signal. To obtain the encoded audio signal, the encoding unit 120 may, e.g., be configured to encode said spectral band of said side signal by determining a correction factor for said spectral band of said side signal. The encoding unit 120 may, e.g., be configured to determine said correction factor for said spectral band of said side signal depending on a residual and depending on a spectral band of a previous mid signal, which corresponds to said spectral band of said mid signal, wherein the previous mid signal precedes said mid signal in time. Moreover, the encoding unit 120 may, e.g., be configured to determine the residual depending on said spectral band of said side signal, and depending on said spectral band of said mid signal.


According to some of the embodiments, the encoding unit 120 may, e.g., be configured to determine said correction factor for said spectral band of said side signal according to the formula





correction_factorfb=EResfb/(EprevDmxfb+ϵ)


wherein correction_factorfb indicates said correction factor for said spectral band of said side signal, wherein EResfb indicates a residual energy depending on an energy of a spectral band of said residual, which corresponds to said spectral band of said mid signal, wherein EprevDmxfb indicates a previous energy depending on an energy of the spectral band of the previous mid signal, and wherein ϵ=0, or wherein 0.1>ϵ>0.


In some of the embodiments, said residual may, e.g., be defined according to





ResR=SR−αRDmxR,


wherein ResR is said residual, wherein SR is said side signal, wherein αR is a (e.g., real) coefficient (e.g., a prediction coefficient), wherein DmxR is said mid signal, wherein the encoding unit (120) is configured to determine said residual energy according to





EResfbfbResR2.


According to some of the embodiments, said residual is defined according to





ResR=SR−αRDmxR−αlDmxl,


wherein ResR is said residual, wherein SR is said side signal, wherein αR is a real part of a complex (prediction) coefficient, and wherein αl is an imaginary part of said complex (prediction) coefficient, wherein DmxR is said mid signal, wherein Dmxl is another mid signal depending on the first channel of the normalized audio signal and depending on the second channel of the normalized audio signal, wherein another residual of another side signal Sr depending on the first channel of the normalized audio signal and depending on the second channel of the normalized audio signal is defined according to





Resl=Sl−αRDmxR−αlDmxl,


wherein the encoding unit 120 may, e.g., be configured to determine said residual energy according to





EResfbfbResR2fbRes12


wherein the encoding unit 120 may, e.g., be configured to determine the previous energy depending on the energy of the spectral band of said residual, which corresponds to said spectral band of said mid signal, and depending on an energy of a spectral band of said another residual, which corresponds to said spectral band of said mid signal.


In some of the embodiments, the decoding unit 210 of FIG. 2a -FIG. 2e may, e.g., be configured to determine for each spectral band of said plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding. Moreover, the decoding unit 210 may, e.g., be configured to obtain said spectral band of the second channel of the encoded audio signal by reconstructing said spectral band of the second channel. If mid-side encoding was used, said spectral band of the first channel of the encoded audio signal is a spectral band of a mid signal, and said spectral band of the second channel of the encoded audio signal is spectral band of a side signal. Moreover, if mid-side encoding was used, the decoding unit 210 may, e.g., be configured to reconstruct said spectral band of the side signal depending on a correction factor for said spectral band of the side signal and depending on a spectral band of a previous mid signal, which corresponds to said spectral band of said mid signal, wherein the previous mid signal precedes said mid signal in time.


According to some of the embodiments, if mid-side encoding was used, the decoding unit 210 may, e.g., be configured to reconstruct said spectral band of the side signal, by reconstructing spectral values of said spectral band of the side signal according to






S
i
=N
i+facDmxfb·prevDmxi


wherein Si indicates the spectral values of said spectral band of the side signal, wherein prevDmxi indicates spectral values of the spectral band of said previous mid signal, wherein Ni indicates spectral values of a noise filled spectrum, wherein facDmxfb is defined according to





facDmxfb=√{square root over (correction_factorfb−ENfb/(EprevDmxfb+ϵ))}


wherein correction_factorfb is said correction factor for said spectral band of the side signal, wherein ENfb, is an energy of the noise-filled spectrum, wherein EprevDmxfb is an energy of said spectral band of said previous mid signal, and wherein ϵ=0, or wherein 0.1>ϵ>0.


In some of the embodiments, a residual may, e.g., be derived from complex stereo prediction algorithm at encoder, while there is no stereo prediction (real or complex) at decoder side.


According to some of the embodiments, energy correcting scaling of the spectrum at encoder side may, e.g., be used, to compensate for the fact that there is no inverse prediction processing at decoder side.


Although some aspects have been described in the context of an apparatus, it is clear that these aspects also represent a description of the corresponding method, where a block or device corresponds to a method step or a feature of a method step. Analogously, aspects described in the context of a method step also represent a description of a corresponding block or item or feature of a corresponding apparatus. Some or all of the method steps may be executed by (or using) a hardware apparatus, like for example, a microprocessor, a programmable computer or an electronic circuit. In some embodiments, one or more of the most important method steps may be executed by such an apparatus.


Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software or at least partially in hardware or at least partially in software. The implementation can be performed using a digital storage medium, for example a floppy disk, a DVD, a Blu-Ray, a CD, a ROM, a PROM, an EPROM, an EEPROM or a FLASH memory, having electronically readable control signals stored thereon, which cooperate (or are capable of cooperating) with a programmable computer system such that the respective method is performed. Therefore, the digital storage medium may be computer readable.


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 described herein is performed.


Generally, embodiments of the present invention can be implemented as a computer program product with a program code, the program code being operative for performing one of the methods when the computer program product runs on a computer. The program code may for example be stored on a machine readable carrier.


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


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.


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


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


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


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


A further embodiment according to the invention comprises an apparatus or a system configured to transfer (for example, electronically or optically) a computer program for performing one of the methods described herein to a receiver. The receiver may, for example, be a computer, a mobile device, a memory device or the like. The apparatus or system may, for example, comprise a file server for transferring the computer program to the receiver.


In some embodiments, a programmable logic device (for example a field programmable gate array) may be used to perform some or all of the functionalities of the methods described herein. In some embodiments, a field programmable gate array may cooperate with a microprocessor in order to perform one of the methods described herein. Generally, the methods are advantageously performed by any hardware apparatus.


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


The methods described herein may be performed using a hardware apparatus, or using a computer, or using a combination of a hardware apparatus and a computer.


While this invention has been described in terms of several embodiments, there are alterations, permutations, and equivalents which fall within the scope of this invention. It should also be noted that there are many alternative ways of implementing the methods and compositions of the present invention. It is therefore intended that the following appended claims be interpreted as including all such alterations, permutations and equivalents as fall within the true spirit and scope of the present invention.


BIBLIOGRAPHY





    • [1] J. Herre, E. Eberlein and K. Brandenburg, “Combined Stereo Coding,” in 93rd AES Convention, San Francisco, 1992.

    • [2] J. D. Johnston and A. J. Ferreira, “Sum-difference stereo transform coding,” in Proc. ICASSP, 1992.

    • [3] ISO/IEC 11172-3, Information technology—Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s—Part 3: Audio, 1993.

    • [4] ISO/IEC 13818-7, Information technology—Generic coding of moving pictures and associated audio information—Part 7: Advanced Audio Coding (AAC), 2003.

    • [5] J.-M. Valin, G. Maxwell, T. B. Terriberry and K. Vos, “High-Quality, Low-Delay Music Coding in the Opus Codec,” in Proc. AES 135th Convention, New York, 2013.

    • [6a] 3GPP TS 26.445, Codec for Enhanced Voice Services (EVS); Detailed algorithmic description, V 12.5.0, Dezember 2015.

    • [6b] 3GPP TS 26.445, Codec for Enhanced Voice Services (EVS); Detailed algorithmic description, V 13.3.0, September 2016.

    • [7] H. Purnhagen, P. Carlsson, L. Villemoes, J. Robilliard, M. Neusinger, C. Helmrich, J. Hilpert, N. Rettelbach, S. Disch and B. Edler, “Audio encoder, audio decoder and related methods for processing multi-channel audio signals using complex prediction”. US Patent 8,655,670 B2, 18 February 2014.

    • [8] G. Markovic, F. Guillaume, N. Rettelbach, C. Helmrich and B. Schubert, “Linear prediction based coding scheme using spectral domain noise shaping”. European Patent 2676266 B1, 14 February 2011.

    • [9] S. Disch, F. Nagel, R. Geiger, B. N. Thoshkahna, K. Schmidt, S. Bayer, C. Neukam, B. Edler and C. Helmrich, “Audio Encoder, Audio Decoder and Related Methods Using Two-Channel Processing Within an Intelligent Gap Filling Framework”. International Patent PCT/EP2014/065106, 15 07 2014.

    • [10] C. Helmrich, P. Carlsson, S. Disch, B. Edler, J. Hilpert, M. Neusinger, H. Purnhagen, N. Rettelbach, J. Robilliard and L. Villemoes, “Efficient Transform Coding Of Two-channel Audio Signals By Means Of Complex-valued Stereo Prediction,” in Acoustics, Speech and Signal Processing (ICASSP), 2011 IEEE International Conference on, Prague, 2011.

    • [11] C. R. Helmrich, A. Niedermeier, S. Bayer and B. Edler, “Low-complexity semi-parametric joint-stereo audio transform coding,” in Signal Processing Conference (EUSIPCO), 2015 23rd European, 2015.

    • [12] H. Malvar, “A Modulated Complex Lapped Transform and its Applications to Audio Processing” in Acoustics, Speech, and Signal Processing (ICASSP), 1999. Proceedings., 1999 IEEE International Conference on, Phoenix, AZ, 1999.

    • [12] B. Edler and G. Schuller, “Audio coding using a psychoacoustic pre- and post-filter,” Acoustics, Speech, and Signal Processing, 2000. ICASSP '00.




Claims
  • 1. An apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, wherein the apparatus comprises: a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,an encoding unit being configured to generate a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to acquire the encoded audio signal.
  • 2. An apparatus according to claim 1, wherein the encoding unit is configured to choose between a full-mid-side encoding mode and a full-dual-mono encoding mode and a band-wise encoding mode depending on a plurality of spectral bands of a first channel of the normalized audio signal and depending on a plurality of spectral bands of a second channel of the normalized audio signal,wherein the encoding unit is configured, if the full-mid-side encoding mode is chosen, to generate a mid signal from the first channel and from the second channel of the normalized audio signal as a first channel of a mid-side signal, to generate a side signal from the first channel and from the second channel of the normalized audio signal as a second channel of the mid-side signal, and to encode the mid-side signal to acquire the encoded audio signal,wherein the encoding unit is configured, if the full-dual-mono encoding mode is chosen, to encode the normalized audio signal to acquire the encoded audio signal, andwherein the encoding unit is configured, if the band-wise encoding mode is chosen, to generate the processed audio signal, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to acquire the encoded audio signal.
  • 3. An apparatus according to claim 2, wherein the encoding unit is configured, if the band-wise encoding mode is chosen, to decide for each spectral band of a plurality of spectral bands of the processed audio signal, whether mid-side encoding is employed or whether dual-mono encoding is employed,wherein, if the mid-side encoding is employed for said spectral band, the encoding unit is configured to generate said spectral band of the first channel of the processed audio signal as a spectral band of a mid signal based on said spectral band of the first channel of the normalized audio signal and based on said spectral band of the second channel of the normalized audio signal, and the encoding unit is configured to generate said spectral band of the second channel of the processed audio signal as a spectral band of a side signal based on said spectral band of the first channel of the normalized audio signal and based on said spectral band of the second channel of the normalized audio signal, andwherein, if the dual-mono encoding is employed for said spectral band, the encoding unit is configured to use said spectral band of the first channel of the normalized audio signal as said spectral band of the first channel of the processed audio signal, and is configured to use said spectral band of the second channel of the normalized audio signal as said spectral band of the second channel of the processed audio signal, orthe encoding unit is configured to use said spectral band of the second channel of the normalized audio signal as said spectral band of the first channel of the processed audio signal, and is configured to use said spectral band of the first channel of the normalized audio signal as said spectral band of the second channel of the processed audio signal.
  • 4. An apparatus according to claim 2, wherein the encoding unit is configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by determining a first estimation estimating a first number of bits that are needed for encoding when the full-mid-side encoding mode is employed, by determining a second estimation estimating a second number of bits that are needed for encoding when the full-dual-mono encoding mode is employed, by determining a third estimation estimating a third number of bits that are needed for encoding when the band-wise encoding mode is employed, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that exhibits a smallest number of bits among the first estimation and the second estimation and the third estimation.
  • 5. An apparatus according to claim 4, wherein the encoding unit is configured to estimate the third estimation bBW, estimating the third number of bits that are needed for encoding when the band-wise encoding mode is employed, according to the formula:
  • 6. An apparatus according to claim 2, wherein the encoding unit is configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by determining a first estimation estimating a first number of bits that are saved when encoding in the full-mid-side encoding mode, by determining a second estimation estimating a second number of bits that are saved when encoding in the full-dual-mono encoding mode, by determining a third estimation estimating a third number of bits that are saved when encoding in the band-wise encoding mode, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that exhibits a greatest number of bits that are saved among the first estimation and the second estimation and the third estimation.
  • 7. An apparatus according to claim 2, wherein the encoding unit is configured to choose between the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode by estimating a first signal-to-noise ratio that occurs when the full-mid-side encoding mode is employed, by estimating a second signal-to-noise ratio that occurs when the full-dual-mono encoding mode is employed, by estimating a third signal-to-noise ratio that occurs when the band-wise encoding mode is employed, and by choosing that encoding mode among the full-mid-side encoding mode and the full-dual-mono encoding mode and the band-wise encoding mode that exhibits a greatest signal-to-noise-ratio among the first signal-to-noise-ratio and the second signal-to-noise-ratio and the third signal-to-noise-ratio.
  • 8. An apparatus according to claim 1, wherein the encoding unit is configured to generate the processed audio signal, such that said at least one spectral band of the first channel of the processed audio signal is said spectral band of said mid signal, and such that said at least one spectral band of the second channel of the processed audio signal is said spectral band of said side signal,wherein, to acquire the encoded audio signal, the encoding unit is configured to encode said spectral band of said side signal by determining a correction factor for said spectral band of said side signal,wherein the encoding unit is configured to determine said correction factor for said spectral band of said side signal depending on a residual and depending on a spectral band of a previous mid signal, which corresponds to said spectral band of said mid signal, wherein the previous mid signal precedes said mid signal in time,wherein the encoding unit is configured to determine the residual depending on said spectral band of said side signal, and depending on said spectral band of said mid signal.
  • 9. An apparatus according to claim 8, wherein the encoding unit is configured to determine said correction factor for said spectral band of said side signal according to the formula correction_factorfb=EResfb/(EprevDmxfb+ϵ)wherein correction_factorfb indicates said correction factor for said spectral band of said side signal,wherein EResfb indicates a residual energy depending on an energy of a spectral band of said residual, which corresponds to said spectral band of said mid signal,wherein EprevDmxfb indicates a previous energy depending on an energy of the spectral band of the previous mid signal, andwherein ϵ=0, or wherein 0.1>ϵ>0.
  • 10. An apparatus according to claim 8, wherein said residual is defined according to ResR=SR−αRDmxR,wherein ResR is said residual, wherein SR is said side signal, wherein αR is a coefficient, wherein DmxR is said mid signal,wherein the encoding unit is configured to determine said residual energy according to EResfb=ΣfbResR2.
  • 11. An apparatus according to claim 8, wherein said residual is defined according to ResR=SR−αRDmxR−αlDmxl,wherein ResR is said residual, wherein SR is said side signal, wherein αR is a real part of a complex coefficient, and wherein αl is an imaginary part of said complex coefficient, wherein DmxR is said mid signal, wherein Dmxl is another mid signal depending on the first channel of the normalized audio signal and depending on the second channel of the normalized audio signal,wherein another residual of another side signal Sl depending on the first channel of the normalized audio signal and depending on the second channel of the normalized audio signal is defined according to Resl=Sl−αRDmxR−αlDmxl,wherein the encoding unit is configured to determine said residual energy according to EResfb=ΣfbResR2+ΣfbRes12 wherein the encoding unit is configured to determine the previous energy depending on the energy of the spectral band of said residual, which corresponds to said spectral band of said mid signal, and depending on an energy of a spectral band of said another residual, which corresponds to said spectral band of said mid signal.
  • 12. An apparatus according to claim 1, wherein the normalizer is configured to determine the normalization value for the audio input signal depending on an energy of the first channel of the audio input signal and depending on an energy of the second channel of the audio input signal.
  • 13. An apparatus according to claim 1, wherein the audio input signal is represented in a spectral domain,wherein the normalizer is configured to determine the normalization value for the audio input signal depending on a plurality of spectral bands of the first channel of the audio input signal and depending on a plurality of spectral bands of the second channel of the audio input signal, andwherein the normalizer is configured to determine the normalized audio signal by modifying, depending on the normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the audio input signal.
  • 14. An apparatus according to claim 13, wherein the normalizer is configured to determine the normalization value based on the formulae:
  • 15. An apparatus according to claim 13, wherein the apparatus for encoding further comprises a transform unit and a preprocessing unit,wherein the transform unit is configured to configured to transform a time-domain audio signal from a time domain to a frequency domain to acquire a transformed audio signal,wherein the preprocessing unit is configured to generate the first channel and the second channel of the audio input signal by applying an encoder-side frequency domain noise shaping operation on the transformed audio signal.
  • 16. An apparatus according to claim 15, wherein the preprocessing unit is configured to generate the first channel and the second channel of the audio input signal by applying an encoder-side temporal noise shaping operation on the transformed audio signal before applying the encoder-side frequency domain noise shaping operation on the transformed audio signal.
  • 17. An apparatus according to claim 1, wherein the normalizer is configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal being represented in a time domain and depending on the second channel of the audio input signal being represented in the time domain,wherein the normalizer is configured to determine the first channel and the second channel of the normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal being represented in the time domain,wherein the apparatus further comprises a transform unit being configured to transform the normalized audio signal from the time domain to a spectral domain so that the normalized audio signal is represented in the spectral domain, andwherein the transform unit is configured to feed the normalized audio signal being represented in the spectral domain into the encoding unit.
  • 18. An apparatus according to claim 17, wherein the apparatus further comprises a preprocessing unit being configured to receive a time-domain audio signal comprising a first channel and a second channel,wherein the preprocessing unit is configured to apply a filter on the first channel of the time-domain audio signal that produces a first perceptually whitened spectrum to acquire the first channel of the audio input signal being represented in the time domain, andwherein the preprocessing unit is configured to apply the filter on the second channel of the time-domain audio signal that produces a second perceptually whitened spectrum to acquire the second channel of the audio input signal being represented in the time domain.
  • 19. An apparatus according to claim 17, wherein the transform unit is configured to transform the normalized audio signal from the time domain to the spectral domain to acquire a transformed audio signal,wherein the apparatus furthermore comprises a spectral-domain preprocessor being configured to conduct encoder-side temporal noise shaping on the transformed audio signal to acquire the normalized audio signal being represented in the spectral domain.
  • 20. An apparatus according to claim 1, wherein the encoding unit is configured to acquire the encoded audio signal by applying encoder-side Stereo Intelligent Gap Filling on the normalized audio signal or on the processed audio signal.
  • 21. An apparatus according to claim 1, wherein the audio input signal is an audio stereo signal comprising exactly two channels.
  • 22. A system for encoding four channels of an audio input signal comprising four or more channels to acquire an encoded audio signal, wherein the system comprises: first and second apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, said apparatus comprising: a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,an encoding unit being configured to generate a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to acquire the encoded audio signal,for encoding a first channel and a second channel of the four or more channels of the audio input signal to acquire a first channel and a second channel of the encoded audio signal, andfor encoding a third channel and a fourth channel of the four or more channels of the audio input signal to acquire a third channel and a fourth channel of the encoded audio signal.
  • 23. An apparatus for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels, wherein the apparatus comprises a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,wherein the decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used,wherein the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used, andwherein the apparatus comprises a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of the decoded audio signal.
  • 24. An apparatus according to claim 23, wherein the decoding unit is configured to determine whether the encoded audio signal is encoded in a full-mid-side encoding mode or in a full-dual-mono encoding mode or in a band-wise encoding mode,wherein the decoding unit is configured, if it is determined that the encoded audio signal is encoded in the full-mid-side encoding mode, to generate the first channel of the intermediate audio signal from the first channel and from the second channel of the encoded audio signal, and to generate the second channel of the intermediate audio signal from the first channel and from the second channel of the encoded audio signal,wherein the decoding unit is configured, if it is determined that the encoded audio signal is encoded in the full-dual-mono encoding mode, to use the first channel of the encoded audio signal as the first channel of the intermediate audio signal, and to use the second channel of the encoded audio signal as the second channel of the intermediate audio signal, andwherein the decoding unit is configured, if it is determined that the encoded audio signal is encoded in the band-wise encoding mode, to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using the dual-mono encoding or using the mid-side encoding,to use said spectral band of the first channel of the encoded audio signal as a spectral band of the first channel of the intermediate audio signal and to use said spectral band of the second channel of the encoded audio signal as a spectral band of the second channel of the intermediate audio signal, if the dual-mono encoding was used, andto generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used.
  • 25. An apparatus according to claim 23, wherein the decoding unit is configured to determine for each spectral band of said plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,wherein the decoding unit is configured to acquire said spectral band of the second channel of the encoded audio signal by reconstructing said spectral band of the second channel,wherein, if mid-side encoding was used, said spectral band of the first channel of the encoded audio signal is a spectral band of a mid signal, and said spectral band of the second channel of the encoded audio signal is spectral band of a side signal,wherein, if mid-side encoding was used, the decoding unit is configured to reconstruct said spectral band of the side signal depending on a correction factor for said spectral band of the side signal and depending on a spectral band of a previous mid signal, which corresponds to said spectral band of said mid signal,wherein the previous mid signal precedes said mid signal in time.
  • 26. An apparatus according to claim 25, wherein, if mid-side encoding was used, the decoding unit is configured to reconstruct said spectral band of the side signal, by reconstructing spectral values of said spectral band of the side signal according to Si=Ni+facDmxfb·prevDmxi
  • 27. An apparatus according to claim 23, wherein the de-normalizer is configured to modify, depending on the de-normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of the decoded audio signal.
  • 28. An apparatus according to claim 23, wherein the de-normalizer is configured to modify, depending on the de-normalization value, the plurality of spectral bands of at least one of the first channel and the second channel of the intermediate audio signal to acquire a de-normalized audio signal,wherein the apparatus furthermore comprises a postprocessing unit and a transform unit, andwherein the postprocessing unit is configured to conduct at least one of decoder-side temporal noise shaping and decoder-side frequency domain noise shaping on the de-normalized audio signal to acquire a postprocessed audio signal,wherein the transform unit is configured to configured to transform the postprocessed audio signal from a spectral domain to a time domain to acquire the first channel and the second channel of the decoded audio signal.
  • 29. An apparatus according to claim 23, wherein the apparatus further comprises a transform unit configured to transform the intermediate audio signal from a spectral domain to a time domain,wherein the de-normalizer is configured to modify, depending on the de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal being represented in a time domain to acquire the first channel and the second channel of the decoded audio signal.
  • 30. An apparatus according to claim 23, wherein the apparatus further comprises a transform unit configured to transform the intermediate audio signal from a spectral domain to a time domain,wherein the de-normalizer is configured to modify, depending on the de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal being represented in a time domain to acquire a de-normalized audio signal,wherein the apparatus further comprises a postprocessing unit being configured to process the de-normalized audio signal, being a perceptually whitened audio signal, to acquire the first channel and the second channel of the decoded audio signal.
  • 31. An apparatus according to claim 29, wherein the apparatus furthermore comprises a spectral-domain postprocessor being configured to conduct decoder-side temporal noise shaping on the intermediate audio signal,wherein the transform unit is configured to transform the intermediate audio signal from the spectral domain to the time domain, after decoder-side temporal noise shaping has been conducted on the intermediate audio signal.
  • 32. An apparatus according to claim 23, wherein the decoding unit is configured to apply decoder-side Stereo Intelligent Gap Filling on the encoded audio signal.
  • 33. An apparatus according to claim 23, wherein the decoded audio signal is an audio stereo signal comprising exactly two channels.
  • 34. A system for decoding an encoded audio signal comprising four or more channels to acquire four channels of a decoded audio signal comprising four or more channels, wherein the system comprises: first and second apparatus for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels,wherein the first and second apparatus each comprise a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,wherein the decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used,wherein the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used, andwherein the apparatus comprise a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of the decoded audio signal,
  • 35. A system for generating an encoded audio signal from an audio input signal, comprising: an apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, said apparatus being configured to generate the encoded audio signal from the audio input signal and comprising: a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,an encoding unit being configured to generate a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to acquire the encoded audio signal.
  • 36. A system for generating a decoded audio signal from the encoded audio signal, comprising: an apparatus for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels, said apparatus being configured to generate the decoded audio signal from the encoded audio signal and comprising a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,wherein the decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used,wherein the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used, andwherein the apparatus comprises a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of the decoded audio signal.
  • 37. A system for generating an encoded audio signal from an audio input signal, comprising: a system for encoding four channels of an audio input signal comprising four or more channels to acquire an encoded audio signal, wherein the system for encoding is configured to generate the encoded audio signal from the audio input signal and comprises:first and second apparatus for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, said apparatus comprising: a normalizer configured to determine a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal, wherein the normalizer is configured to determine a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,an encoding unit being configured to generate a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, wherein the encoding unit is configured to encode the processed audio signal to acquire the encoded audio signal,for encoding a first channel and a second channel of the four or more channels of the audio input signal to acquire a first channel and a second channel of the encoded audio signal, andfor encoding a third channel and a fourth channel of the four or more channels of the audio input signal to acquire a third channel and a fourth channel of the encoded audio signal.
  • 38. A system for generating a decoded audio signal from the encoded audio signal, comprising: a system for decoding an encoded audio signal comprising four or more channels to acquire four channels of a decoded audio signal comprising four or more channels, wherein the system for decoding is configured to generate the decoded audio signal from the encoded audio signal and comprises: first and second apparatus for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels,wherein the first and second apparatus each comprise a decoding unit configured to determine for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,wherein the decoding unit is configured to use said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and is configured to use said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if the dual-mono encoding was used,wherein the decoding unit is configured to generate a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and to generate a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if the mid-side encoding was used, andwherein the apparatus comprise a de-normalizer configured to modify, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of the decoded audio signal,for decoding a first channel and a second channel of the four or more channels of the encoded audio signal to acquire a first channel and a second channel of the decoded audio signal, andfor decoding a third channel and a fourth channel of the four or more channels of the encoded audio signal to acquire a third channel and a fourth channel of the decoded audio signal.
  • 39. A method for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, wherein the method comprises: determining a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal,determining a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,generating a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and encoding the processed audio signal to acquire the encoded audio signal.
  • 40. A method for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels, wherein the method comprises: determining for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,using said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and using said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if dual-mono encoding was used,generating a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and generating a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if mid-side encoding was used, andmodifying, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of a decoded audio signal.
  • 41. A non-transitory digital storage medium having a computer program stored thereon to perform the method for encoding a first channel and a second channel of an audio input signal comprising two or more channels to acquire an encoded audio signal, said method comprising: determining a normalization value for the audio input signal depending on the first channel of the audio input signal and depending on the second channel of the audio input signal,determining a first channel and a second channel of a normalized audio signal by modifying, depending on the normalization value, at least one of the first channel and the second channel of the audio input signal,generating a processed audio signal comprising a first channel and a second channel, such that one or more spectral bands of the first channel of the processed audio signal are one or more spectral bands of the first channel of the normalized audio signal, such that one or more spectral bands of the second channel of the processed audio signal are one or more spectral bands of the second channel of the normalized audio signal, such that at least one spectral band of the first channel of the processed audio signal is a spectral band of a mid signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and such that at least one spectral band of the second channel of the processed audio signal is a spectral band of a side signal depending on a spectral band of the first channel of the normalized audio signal and depending on a spectral band of the second channel of the normalized audio signal, and encoding the processed audio signal to acquire the encoded audio signal,
  • 42. A non-transitory digital storage medium having a computer program stored thereon to perform the method for decoding an encoded audio signal comprising a first channel and a second channel to acquire a first channel and a second channel of a decoded audio signal comprising two or more channels, said method comprising: determining for each spectral band of a plurality of spectral bands, whether said spectral band of the first channel of the encoded audio signal and said spectral band of the second channel of the encoded audio signal was encoded using dual-mono encoding or using mid-side encoding,using said spectral band of the first channel of the encoded audio signal as a spectral band of a first channel of an intermediate audio signal and using said spectral band of the second channel of the encoded audio signal as a spectral band of a second channel of the intermediate audio signal, if dual-mono encoding was used,generating a spectral band of the first channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, and generating a spectral band of the second channel of the intermediate audio signal based on said spectral band of the first channel of the encoded audio signal and based on said spectral band of the second channel of the encoded audio signal, if mid-side encoding was used, andmodifying, depending on a de-normalization value, at least one of the first channel and the second channel of the intermediate audio signal to acquire the first channel and the second channel of a decoded audio signal,
Priority Claims (3)
Number Date Country Kind
16152454.1 Jan 2016 EP regional
16152457.4 Jan 2016 EP regional
16199895.0 Nov 2016 EP regional
CROSS-REFERENCES TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No. 16/041,691, filed Jul. 20, 2018, which is a continuation of copending International Application No. PCT/EP2017/051177, filed Jan. 20, 2017, which is incorporated herein by reference in its entirety, and additionally claims priority from European Applications Nos. EP 16152457.4, filed Jan. 22, 2016, EP 16152454.1, filed Jan. 22, 2016, and EP 16199895.0, filed Nov. 21, 2016, all of which are incorporated herein by reference in their entirety. The present invention relates to audio signal encoding and audio signal decoding and, in particular, to an apparatus and method for MDCT M/S Stereo with Global ILD with improved Mid/Side Detection.

Continuations (2)
Number Date Country
Parent 16041691 Jul 2018 US
Child 18497703 US
Parent PCT/EP2017/051177 Jan 2017 US
Child 16041691 US