The present invention relates to audio signal encoding, audio signal processing, and audio signal decoding, and, in particular, to an apparatus and method for frequency domain long-term prediction of tonal signals for audio coding.
In the audio coding field, prediction is used to remove the redundancy in audio signals. By subtracting the predicted data from the original data, and then quantizing and coding the residual that usually exhibits lower entropy, bitrate can be reduced for the transmission and the storage of the audio signal [1]. Long-Term Prediction (LTP) is one kind of prediction method aiming at removing the periodic components in audio signals [2].
In the Moving Picture Experts Group (MPEG)-2 Advanced Audio Coding (AAC) standard, Modified Discrete Cosine Transform (MDCT) is used as the Time-Frequency transform for the perceptual audio coder with backward adaptive LTP [3].
As is shown in
MDCT uses overlapped analysis windows that reduce blocking effects and still offers perfect reconstruction though the Overlap Add (OLA) procedure at the synthesis step in the inverse transform [4]. Since the alias-free reconstruction of the second half of the current frame needs the first half of the future frame [4], the prediction lag need to be carefully chosen [2].
If only fully reconstructed samples in the buffer are used for prediction, there can be integer multiple pitch periods of delay between the selected previous pitch lag and the pitch lag to be predicted. Due to the non-stationarity of audio signals, the longer delay can make the prediction less stable. For signals with high fundamental frequency, the pitch period is short, thus the negative effect of this additional delay on prediction can be more prominent.
A Frequency Domain Prediction (FDP) concept which operates directly in the MDCT domain was proposed in [5] (see also [13]). In that method each harmonic component of the tonal signal is treated individually during the prediction. A prediction of a bin in the current frame is obtained by calculating the sinusoidal progression of its spectral neighboring bins in previous frames.
However, when the frequency resolution of those MDCT coefficients is relatively low with respect to the fundamental frequency of the tonal signal, the harmonic components may overlap heavily with each other on the bins, leading to bad performance of that frequency domain approach.
An embodiment may have an encoder for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal, wherein the one or more previous frames precede the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein, to generate an encoding of the current frame, the encoder is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the encoder is to determine the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
Another embodiment may have a decoder for reconstructing a current frame of an audio signal, wherein one or more previous frames of the audio signal precedes the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the decoder is to receive an encoding of the current frame, wherein the decoder is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein the decoder is to reconstruct the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Another embodiment may have an apparatus for frame loss concealment, wherein one or more previous frames of the audio signal precedes a current frame of the audio signal, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the apparatus is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein, if the apparatus does not receive the current frame, or if the current frame is received by the apparatus in a corrupted state, the apparatus is to reconstruct the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
According to another embodiment, a system may have: an inventive encoder for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal as mentioned above, and an inventive decoder for decoding an encoding of the current frame of the audio signal as mentioned above.
Still another embodiment may have a method for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal, wherein the one or more previous frames precede the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein, to generate an encoding of the current frame, the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein determining the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame is conducted using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
Another embodiment may have a method for reconstructing a current frame of an audio signal, wherein one or more previous frames of the audio signal precede the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the method has receiving an encoding of the current frame, wherein the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein the method has reconstructing the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Another embodiment may have a method for frame loss concealment, wherein one or more previous frames of the audio signal precedes a current frame of the audio signal, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein the method has, if the current frame is not received, or if the current frame is received by in a corrupted state, reconstructing the current frame depending on the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Another embodiment may have a non-transitory digital storage medium having stored thereon a computer program for performing a method for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal, wherein the one or more previous frames precede the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein, to generate an encoding of the current frame, the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein determining the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame is conducted using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal, when said computer program is run by a computer.
Another embodiment may have a non-transitory digital storage medium having stored thereon a computer program for performing a method for reconstructing a current frame of an audio signal, wherein one or more previous frames of the audio signal precede the current frame, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the method has receiving an encoding of the current frame, wherein the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein the method has reconstructing the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame, when said computer program is run by a computer.
Another embodiment may have a non-transitory digital storage medium having stored thereon a computer program for performing a method for frame loss concealment, wherein one or more previous frames of the audio signal precedes a current frame of the audio signal, wherein each of the current frame and the one or more previous frames has one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames has a plurality of spectral coefficients in a frequency domain or in a transform domain, wherein the method has determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, wherein the method has, if the current frame is not received, or if the current frame is received by in a corrupted state, reconstructing the current frame depending on the two harmonic parameters for each of the one or more harmonic components of the most previous frame, when said computer program is run by a computer.
An encoder for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal according to an embodiment is provided. The one or more previous frames precede the current frame, wherein each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. To generate an encoding of the current frame, the encoder is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames. Moreover, the encoder is to determine the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
Moreover, a decoder for reconstructing a current frame of an audio signal according to an embodiment is provided. One or more previous frames of the audio signal precede the current frame, wherein each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. The decoder is to receive an encoding of the current frame. The decoder is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames. The two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal. Moreover, the decoder is to reconstruct the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Moreover, an apparatus for frame loss concealment according to an embodiment is provided. One or more previous frames of the audio signal precede a current frame of the audio signal. Each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. The apparatus is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal. If the apparatus does not receive the current frame, or if the current frame is received by the apparatus in a corrupted state, the apparatus is to reconstruct the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Furthermore, a method for encoding a current frame of an audio signal depending on one or more previous frames of the audio signal according to an embodiment is provided. The one or more previous frames precede the current frame. Each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal. Each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. To generate an encoding of the current frame, the method comprises determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames. Determining the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame is conducted using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
Moreover, a method for reconstructing a current frame of an audio signal according to an embodiment is provided. One or more previous frames of the audio signal precede the current frame. Each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal. Each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. The method comprises receiving an encoding of the current frame. Moreover, the method comprises determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal. Furthermore, the method comprises reconstructing the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Furthermore, a method for frame loss concealment according to an embodiment is provided. One or more previous frames of the audio signal precede a current frame of the audio signal, wherein each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain. The method comprises determining an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal.
Moreover, the method comprises, if the current frame is not received, or if the current frame is received by in a corrupted state, reconstructing the current frame depending on the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
Moreover, a computer program according to an embodiment for implementing one of the above-described methods, when the computer program is executed by a computer or signal processor is provided.
Long-Term Prediction (LTP) is traditionally used to predict signals that have certain periodicity in the time domain. In the case of transform coding with backward adaptation in an audio coder, the decoder unit has, in general, only the frequency coefficients at hand, an inverse transform is thus needed before the prediction. Embodiments provide Frequency Domain Least Mean Square Prediction (FDLMSP) concepts, which operate directly in the Modified Discrete Cosine Transform (MDCT) domain, and which, e.g., reduce prominently the bitrate for audio coding, even under very low frequency resolution. Thus, some embodiments may, e.g., be employed in a transform codec to enhance the coding efficiency, especially in low-delay audio coding scenarios.
Some embodiments provide a Frequency Domain Least Mean Square Prediction (FDLMSP) concept, that performs LTP directly in the MDCT domain. However, instead of doing prediction individually on each bin, this new concept models the harmonic components of a tonal signal in the transform domain using a real-valued linear equation system. The prediction is done after Least Mean Squares (LMS)-solving the linear equation system. The parameters of the harmonics are then used to predict the current frame, based on the phase progression nature of harmonics. It should be noted that this prediction concept can also be applied to other real-valued linear transforms or filterbanks, such as different types of Discrete Cosine Transform (DCT) or the Polyphase Quadrature Filter (POF) [6].
In the following, the signal model is presented, the harmonic components estimation and the prediction process are explained in detail, experiments to evaluate the FDLMSP concept with comparison to TDLTP and FDP are described and the results are shown and discussed.
In the following, embodiments of the present invention are described in more detail with reference to the figures, in which:
The one or more previous frames precede the current frame, wherein each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain.
To generate an encoding of the current frame, the encoder 100 is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames. Moreover, the encoder 100 is to determine the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
The most previous frame may, e.g., be most previous with respect to the current frame.
The most previous frame may, e.g., be (referred to as) an immediately preceding frame. The immediately preceding frame may, e.g., immediately precede the current frame.
The current frame comprises one or more harmonic components of the audio signal. Each of the one or more previous frames might comprise one or more harmonic components of the audio signal. The fundamental frequency of the one or more harmonic components in the current frame and the one or more previous frames are assumed the same.
According to an embodiment, the encoder 100 may, e.g., be configured to estimate the two harmonic parameters for each of the one or more harmonic components of the most previous frame without using a second group of one or more further spectral coefficients of the plurality of spectral coefficients of each of the one or more previous frames.
According to an embodiment, the encoder 100 may, e.g., be configured to determine a gain factor and a residual signal as the encoding of the current frame depending on a fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame. The encoder 100 may, e.g., be configured to generate the encoding of the current frame such that the encoding of the current frame comprises the gain factor and the residual signal.
In an embodiment, the encoder 100 may, e.g., be configured to determine an estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame and depending on the fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames. The fundamental frequency may, e.g., be assumed unchanged over the current frame and the one or more previous frames,
According to an embodiment, the two harmonic parameters for each of the one or more harmonic components are a first parameter for a cosinus sub-component and a second parameter for a sinus sub-component for each of the one or more harmonic components.
In an embodiment, the encoder 100 may, e.g., be configured to estimate the two harmonic parameters for each of the one or more harmonic components of the most previous frame by solving a linear equation system comprising at least three equations, wherein each of the at least three equations depends on a spectral coefficient of the first group of the three or more of the plurality of spectral coefficients of each of the one or more previous frames.
According to an embodiment, the encoder 100 may, e.g., be configured to solve the linear equation system using a least mean squares algorithm.
According to an embodiment, the linear equation system is defined by
X
m-1(Λ)=U·p∈(γ
wherein
Λ=[γ1−r, . . . ,γH−r]∈(γ
wherein γ1 indicates a first spectral band of one of the one or more harmonic components of the most previous frame having a lowest harmonic component frequency among the one or more harmonic components, wherein γH indicates a second spectral band of one of the one or more harmonic components of the most previous frame having a highest harmonic component frequency among the one or more harmonic components, wherein r is an integer number with r≥0.
In an embodiment, r≥1.
According to an embodiment,
U=[U1,U2, . . . ,UH]∈(γ
p=[p1,p2, . . . ,pH]T∈2H×1
wherein
p
h=[ah,bh]T∈2×1
wherein ah is a parameter for a cosinus sub-component for an h-th harmonic component of the most previous frame, wherein bh is a parameter for a sinus sub-component for the h-th harmonic component of the most previous frame, wherein, for each integer value with 1≤h≤H:
wherein ƒ(n) is a window function in a time domain, wherein DFT is Discrete Fourier Transform, wherein
wherein ƒ0 is the fundamental frequency of the one or more harmonic components of the current frame and one or more previous frames, wherein ƒs is a sampling frequency, and wherein N depends on a length of a transform block for transforming the time-domain audio signal into the frequency domain or into the spectral domain.
In an embodiment, the linear equation system is solvable according to:
{tilde over (p)}=U
+
·X
m-1(Λ)
wherein {tilde over (p)} is a first vector comprising an estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame, wherein Xm-1(Λ) is a second vector comprising the first group of the three or more of the plurality of spectral coefficients of each of the one or more previous frames, wherein U+ is a Moore-Penrose inverse matrix of U=[U1, U2, . . . , UH], wherein U comprises a number of third matrices or third vectors, wherein each of the third matrices or third vectors together with the estimation of the two harmonic parameters for a harmonic component of the one or more harmonic components of the most previous frame indicates an estimation of said harmonic component, wherein H indicates a number of the harmonic components of the one or more previous frames.
In an embodiment, the encoder 100 may, e.g., be to encode a fundamental frequency of harmonic components, a window function, the gain factor and the residual signal.
According to an embodiment, the encoder 100 may, e.g., be configured to determine the number of the one or more harmonic components of the most previous frame and a fundamental frequency of the one or more harmonic components of the most previous frame before estimating the two harmonic parameters for each of the one or more harmonic components of the most previous frame using a first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
According to an embodiment, the encoder 100 may, e.g., be configured to determine one or more groups of harmonic components from the one or more harmonic components, and to apply a prediction of the audio signal on the one or more groups of harmonic components, wherein the encoder 100 may, e.g., be configured to encode the order for each of the one or more groups of harmonic components of the most previous frame.
In an embodiment, the encoder 100 may, e.g., be configured to apply:
c
h
=a
h cos(ωhN)+bh sin(ωhN), and
wherein the encoder 100 may, e.g., be configured to apply:
d
h
=a
h sin(ωhN)+bh cos(ωhN)
wherein ah is a parameter for a cosinus sub-component for the h-th harmonic component of said one or more harmonic components of the most previous frame, wherein bh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the most previous frame, wherein ch is a parameter for a cosinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein dh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein N depends on a length of a transform block for transforming the time-domain audio signal into the frequency domain or into the spectral domain, and wherein
wherein ƒ0 is the fundamental frequency of the one or more harmonic components of the most previous frame, being a fundamental frequency of the one or more harmonic components of the current frame, wherein ƒs is a sampling frequency, and wherein h is an index indicating one of the one or more harmonic components of the most previous frame.
According to an embodiment, the encoder 100 may, e.g., be configured to determine a residual signal depending on the plurality of spectral coefficients of the current frame in the frequency domain or in the transform domain and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame, and wherein the encoder 100 may, e.g., be configured to encode the residual signal.
In an embodiment, the encoder 100 may, e.g., be configured to determine a spectral prediction of one or more of the plurality of spectral coefficients of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame. The encoder 100 may, e.g., be configured to determine the residual signal and a gain factor depending on the plurality of spectral coefficients of the current frame in the frequency domain or in the transform domain and depending on the spectral prediction of the three or more of the plurality of spectral coefficients of the current frame; wherein the encoder 100 may, e.g., be configured to generate the encoding of the current frame such that the encoding of the current frame comprises the residual signal and the gain factor.
According to an embodiment, the encoder 100 may, e.g., be configured to determine the residual signal of the current frame according to:
R
m(k)=Xm(k)−g{tilde over (X)}m(k),0≤k≤N.
wherein m is a frame index, wherein k is a frequency index, wherein Rm(k) indicates a k-th sample of the residual signal in the spectral domain or in the transform domain, wherein Xm(k) indicates a k-th sample of the spectral coefficients of the current frame in the spectral domain or in the transform domain, wherein {tilde over (X)}m(k) indicates a k-th sample of the spectral prediction of the current frame in the spectral domain or in the transform domain, and wherein g is a gain factor.
One or more previous frames of the audio signal precede the current frame, wherein each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain.
The decoder 200 is to receive an encoding of the current frame.
Moreover, the decoder 200 is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames. The two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal.
Furthermore, the decoder 200 is to reconstruct the current frame depending on the encoding of the current frame and depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
The most previous frame may, e.g., be most previous with respect to the current frame.
The most previous frame may, e.g., be (referred to as) an immediately preceding frame. The immediately preceding frame may, e.g., immediately precede the current frame.
The current frame comprises one or more harmonic components of the audio signal. Each of the one or more previous frames might comprise one or more harmonic components of the audio signal. The fundamental frequency of the one or more harmonic components in the current frame and the one or more previous frames are assumed the same.
According to an embodiment, the two harmonic parameters for each of the one or more harmonic components of the most previous frame do not depend on a second group of one or more further spectral coefficients of the plurality of spectral coefficients of the one of more previous frames.
In an embodiment, the decoder 200 may, e.g., be to determine an estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame and depending on the fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames.
According to an embodiment, the decoder 100 may, e.g., be configured to receive the encoding of the current frame comprising a gain factor and a residual signal. The decoder 200 may, e.g., be configured to reconstruct the current frame depending on the gain factor, depending on the residual signal and depending on a fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames. The fundamental frequency may, e.g., be assumed unchanged over the current frame and the one or more previous frame.
According to an embodiment, the two harmonic parameters for each of the one or more harmonic components are a first parameter for a cosinus sub-component and a second parameter for a sinus sub-component for each of the one or more harmonic components.
In an embodiment, the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a linear equation system comprising at least three equations, wherein each of the at least three equations depends on a spectral coefficient of the first group of the three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames.
According to an embodiment, the linear equation system is solvable using a least mean squares algorithm.
According to an embodiment, the linear equation system is defined by
X
m-1(Λ)=U·p∈(γ
wherein
Λ=[γ1−r, . . . ,γH−r]∈(γ
wherein γ1 indicates a first spectral band of one of the one or more harmonic components of the most previous frame having a lowest harmonic component frequency among the one or more harmonic components, wherein γH indicates a second spectral band of one of the one or more harmonic components of the most previous frame having a highest harmonic component frequency among the one or more harmonic components, wherein r is an integer number with r≥0.
In an embodiment, r≥1.
According to an embodiment,
U=[U1,U2, . . . ,UH]∈(γ
p=[p1,p2, . . . ,pH]T∈2H×1
wherein
p
h=[ah,bh]T∈2×1
wherein ah is a parameter for a cosinus sub-component for an h-th harmonic component of the most previous frame, wherein bh is a parameter for a sinus sub-component for the h-th harmonic component of the most previous frame, wherein, for each integer value with 1≤h≤H:
wherein ƒ(n) is a window function in a time domain, wherein DFT is Discrete Fourier Transform, wherein
wherein ƒ0 is the fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames, wherein ƒs is a sampling frequency, and wherein N depends on a length of a transform block for transforming the time-domain audio signal into the frequency domain or into the spectral domain.
In an embodiment, the linear equation system is solvable according to:
{tilde over (p)}=U
+
·X
m-1(Λ)
wherein {tilde over (p)} is a first vector comprising an estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame, wherein Xm-1(Λ) is a second vector comprising the first group of the three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames, wherein U+ is a Moore-Penrose inverse matrix of U=[U1, U2, . . . , UH], wherein U comprises a number of third matrices or third vectors, wherein each of the third matrices or third vectors together with the estimation of the two harmonic parameters for a harmonic component of the one or more harmonic components of the most previous frame indicates an estimation of said harmonic component, wherein H indicates a number of the harmonic components of the one or more previous frames.
In an embodiment, wherein the decoder 200 may, e.g., be configured to receive a fundamental frequency of harmonic components, a window function, the gain factor and the residual signal. The decoder 200 may, e.g., be configured to reconstruct the current frame depending on a fundamental frequency of the one or more harmonic components of the most previous frame, depending on the order of the harmonic components, depending on the window function, depending on the gain factor and depending on the residual signal.
Only the fundamental frequency, the order of harmonic components, the window function, the gain factor and the residual need to be transmitted. The decoder 200 may, e.g., calculate U based on this received information, and then conduct the harmonic parameters estimation and current frame prediction. The decoder may, e.g., then reconstruct the current frame by adding the transmitted residual spectra to the predicted spectra, scaled by the transmitted gain factor.
According to an embodiment, the decoder 200 may, e.g., be configured to receive the number of the one or more harmonic components of the most previous frame and a fundamental frequency of the one or more harmonic components of the most previous frame. The decoder 200 may, e.g., be configured to decode the encoding of the current frame depending on the number of the one or more harmonic components of the most previous frame and depending on the fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames.
According to an embodiment, the decoder 200 is to decode the encoding of the current frame depending on one or more groups of harmonic components, wherein the decoder 200 is to apply a prediction of the audio signal on the one or more groups of harmonic components.
According to an embodiment the decoder 200 may, e.g., be configured to determine the two harmonic parameters for each of the one or more harmonic components of the current frame depending on the two harmonic parameters for each of said one of the one or more harmonic components of the most previous frame.
In an embodiment,
c
h
=a
h cos(ωhN)+bh sin(ωhN), and
wherein the decoder 200 may, e.g., be configured to apply:
d
h
=a
h sin(ωhN)+bh cos(ωhN),
wherein ah is a parameter for a cosinus sub-component for the h-th harmonic component of said one or more harmonic components of the most previous frame, wherein bh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the most previous frame, wherein ch is a parameter for a cosinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein dh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein N depends on a length of a transform block for transforming the time-domain audio signal into the frequency domain or into the spectral domain, and wherein
wherein ƒ0 is the fundamental frequency of the one or more harmonic components of the most previous frame, being a fundamental frequency of the one or more harmonic components of the current frame, wherein ƒs is a sampling frequency, and wherein h is an index indicating one of the one or more harmonic components of the most previous frame.
According to an embodiment, the decoder 200 may, e.g., be configured to receive a residual signal, wherein the residual signal depends on the plurality of spectral coefficients of the current frame in the frequency domain or in the transform domain, and wherein the residual signal depends on the estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame.
In an embodiment, the decoder 200 may, e.g., be configured to determine a spectral prediction of one or more of the plurality of spectral coefficients of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame, and wherein the decoder 200 may, e.g., be configured to determine the current frame of the audio signal depending on the spectral prediction of the current frame and depending on the residual signal and depending on a gain factor.
According to an embodiment, wherein the residual signal of the current frame is defined according to:
{circumflex over (X)}
m(k)={circumflex over (R)}m(k)+g{circumflex over (X)}m(k)
wherein m is a frame index, wherein k is a frequency index, wherein {circumflex over (R)}m(k) is the received residual after quantization reconstruction, wherein {circumflex over (X)}m(k) is the reconstructed current frame, wherein {tilde over (X)}m(k) indicates the spectral prediction of the current frame in the spectral domain or in the transform domain, and wherein g is the gain factor.
The system comprises an encoder 100 according to one of the above-described embodiments for encoding a current frame of an audio signal.
Moreover, the system comprises a decoder 200 according to one of the above-described embodiments for decoding an encoding of the current frame of the audio signal.
One or more previous frames previous frame of the audio signal precedes a current frame of the audio signal. Each of the current frame and the one or more previous frames comprises one or more harmonic components of the audio signal, wherein each of the current frame and the one or more previous frames comprises a plurality of spectral coefficients in a frequency domain or in a transform domain.
The apparatus 700 is to determine an estimation of two harmonic parameters for each of the one or more harmonic components of a most previous frame of the one or more previous frames, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal.
If the apparatus 700 does not receive the current frame, or if the current frame is received by the apparatus 700 in a corrupted state, the apparatus 700 is to reconstruct the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
The most previous frame may, e.g., be most previous with respect to the current frame.
The most previous frame may, e.g., be (referred to as) an immediately preceding frame. The immediately preceding frame may, e.g., immediately precede the current frame.
The current frame comprises one or more harmonic components of the audio signal. Each of the one or more previous frames might comprise one or more harmonic components of the audio signal. The fundamental frequency of the one or more harmonic components in the current frame and the one or more previous frames are assumed the same.
According to an embodiment, the apparatus 700 may, e.g., be configured to receive the number of the one or more harmonic components of the most previous frame. The apparatus 700 may, e.g., be to decode the encoding of the current frame depending on the number of the one or more harmonic components of the most previous frame and depending on a fundamental frequency of the one or more harmonic components of the current frame and the one or more previous frames.
In an embodiment, to reconstruct the current frame, the apparatus 700 may, e.g., be configured to determine an estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
In an embodiment, the apparatus 700 is to apply:
c
h
=a
h cos(ωhN)+bh sin(ωhN), and
wherein the apparatus 700 is to apply:
d
h
=a
h sin(ωhN)+bh cos(ωhN)
wherein ah is a parameter for a cosinus sub-component for an h-th harmonic component of said one or more harmonic components of the most previous frame, wherein bh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the most previous frame, wherein ch is a parameter for a cosinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein dh is a parameter for a sinus sub-component for the h-th harmonic component of said one or more harmonic components of the current frame, wherein N depends on a length of a transform block for transforming the time-domain audio signal into the frequency domain or into the spectral domain, and wherein
wherein ƒ0 is the fundamental frequency of the one or more harmonic components of the most previous frame, being a fundamental frequency of the one or more harmonic components of the current frame, wherein ƒs is a sampling frequency, and wherein h is an index indicating one of the one or more harmonic components of the most previous frame.
According to an embodiment, the apparatus 700 may, e.g., be configured to determine a spectral prediction of three or more of the plurality of spectral coefficients of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the current frame.
In the following, advantageous embodiments are provided.
At first, a signal model is described.
Assuming that the harmonic part in a digital audio signal is:
where ƒ0 is the fundamental frequency of the one or more harmonic components, and H is the number of harmonic components. Without loss of generality, the expression of the phase component is deliberately divided into two parts, where the part denoted by ωh·(N/2+½) is convenient for the later on mathematical derivations when the MDCT transform is applied on x(n) with N as the MDCT frame length, and ϕh is the remainder of the phase component.
ƒs is, e.g., the sampling frequency.
A harmonic component is determined by three parameters: frequency, amplitude and phase. Assuming the frequency information ωh is known, the estimation of the amplitude and phase is a non-linear regression problem. However, this can be turned into a linear regression problem by rewriting Eq. (1) as:
and the unknown parameters of the harmonic are now ah and bh:
a
h
=A
h cos(ϕh), (4a)
b
h
=−A
h sin(ϕh). (4b)
Transforming a block of x(n) with length 2N into the MDCT domain:
where ƒ(n) is the analysis window function and κk is the modulation frequency in band k.
Substituting Eq. (3) into Eq. (5), and with some mathematical derivations based on trigonometry, we have:
where F( ) is a real-valued function obtained by adding a phase shift term to the Fourier transform of the window function:
F(λ)={ƒ(n)}ejλ(N−0.5). (8)
In the following, harmonics estimation and prediction are described.
Based on the assumed signal model described above by equations (3)-(8), with an additional assumption that the frequency of the harmonic components doesn't change rapidly between adjacent frames, the proposed FDLMSP approach can be divided into three steps. E.g., to predict the mth frame, firstly the frequency information of all harmonic components in the mth frame is estimated. This frequency information will later be transmitted as part of the side information to assist the prediction at the decoder 200. Then the parameters of each harmonic component at the m−1th frame, denoted by ah, bh, with h=[1, . . . , H], are estimated using only the precedent frames.
In the end the mth frame is predicted based on the estimated harmonic parameters. The residual spectrum is then calculated and further processed, e.g. quantized and transmitted. The pitch information in each frame can be obtained by a pitch estimator.
At first, harmonics estimation is described in detail.
Transforms usually have limited frequency resolution, thus each harmonic component would spread over several adjacent bins around the band where its center frequency lies. For a harmonic component with frequency ωh in the m−1th frame, it would be centered in the MDCT band with band index γh, where
and spreads over bins:
Γh=γh−r, . . . ,γh+r,
where r is the number of neighboring bins on each side.
The parameters ah and bh of that harmonic component can be estimated by solving such a linear equation system formed from Eq. (7):
Uh is a real-valued matrix that is independent of the signal x(n) and can be calculated once ƒ0, N and the window function ƒ(n) are known.
Assuming that the frequency information of all the harmonic components in one frame is known, the following linear equation system by merging Eq. (9) over all harmonic components are obtained:
X
m-1(Λ)=U·p∈(γ
with
U=[U1,U2, . . . ,UH]∈(γ
p=[p1,p2, . . . ,pH]T∈2H×1 (12b)
Λ=[γ1−r, . . . ,γH−r]∈(γ
Both matrix U and the MDCT coefficients are real-valued, and thus there is a real-valued linear equation system. An estimate {tilde over (p)} of the harmonic parameters can be obtained by Least Mean Squares (LMS)-solving the linear equation system with the pseudo-inverse of U:
{tilde over (p)}=U
+
·X
m-1(Λ). (13)
U+ is, e.g., the Moore-Penrose inverse matrix of U.
(U+ is, e.g., the pseudo inverse matrix of U.) {tilde over (p)}=[{tilde over (p)}1, {tilde over (p)}2, . . . , {tilde over (p)}H]T∈2H×1 is, e.g., an estimation of the harmonic parameters p.
Regarding the merging of equation (9) over all harmonic components, likewise, while equation (10b) remains unamended, equations (10a) and (10c) become:
As Λ is different from Γh, the dimensions of Uh and Y change.
The estimation of ph=[ah, bh]T∈2×1 of equation (10b) may, e.g., be referred to as
{tilde over (p)}
h=[ãh,{tilde over (b)}h]T∈2×1 (11d)
In case the number of parameters to be estimated exceeds the number of MDCT bins that the harmonics span, an underdetermined system of linear equations would result. This is avoided by stacking the matrix U vertically and the vector X horizontally with the corresponding values from more previous frames. However, no extra delay is introduced, as the (most) previous frames are already in the buffer. On the contrary, with this extension, this proposed approach is applicable to extremely low frequency resolution scenarios, where the harmonic components are densely spaced. A scaling factor can be applied on the number of employed previous frames, to guarantee an overdetermined system of linear equations, which also enhances the robustness of this prediction concept against noise in the signal.
Now, prediction is described in detail.
Assume the frequencies and amplitudes of the sinusoids do not change, the mth frame in the time domain can be written as:
With an estimate of the harmonic parameters for each of the one or more harmonic components in the m−1th frame at hand, based on equations (5)-(9), the prediction of the current MDCT frame is:
{tilde over (X)}
m(Λ)=U·{tilde over (q)}, (16)
with
{tilde over (q)}=[{tilde over (c)}1,{tilde over (d)}1, . . . ,{tilde over (c)}h,{tilde over (d)}h, . . . ,{tilde over (c)}H,{tilde over (d)}H]T. (17)
For the bins where no prediction is done, the prediction value is set to zero.
However, due to the unstationarity of the signal, the amplitude of the harmonics may slightly vary between successive frames. A gain factor is introduced to accommodate to that amplitude change, and will be transmitted as part of the side information to the decoder 200.
The residual spectrum then is:
R
m(k)=Xm(k)−g{tilde over (X)}m(k),0≤k≤N. (18)
In the following, the provided above concepts are evaluated.
To evaluate the performance of this proposed FDLMSP concept, an encoder environment in Python has been built according to
For an experiment, a sampling frequency of 16 kHz, and MDCT frame lengths of 64, 128, 256 and 512 have been used. The predictions are done on limited bandwidths of 1 kHz, 2 kHz, 4 kHz, and 8 kHz. A sine window as the analysis window has been chosen, as it fulfills the constraints for a perfect reconstruction [9]. This approach can also handle asymmetric windows, when switching between different frame lengths. To improve the precision of harmonics estimation, the F(ω) function is calculated on an interpolated transfer function of the analysis window. In TDLTP, for each frame a 3-tap prediction filter is calculated based on the auto-correlation concept using fully reconstructed data and the original time domain signal. When searching for the previous fully reconstructed pitch lag from the buffer data, it has also taken into account that the pitch lag might not be an integer multiple of the sampling interval. The number of temporal or spectral neighboring bins in FDP is limited to 2.
YIN algorithm [10] is used for pitch estimation. The fo search range is set to [20, . . . , 1000] Hz, and the harmonic threshold is 0.25. A complex Infinite Impulse Response (IIR) filter bank based perceptual model proposed in [11] is used to calculate the masking thresholds for quantization. A finer pitch search around the YIN estimate (±0.5 Hz with a stepsize of 0.02 Hz) and an optimal gain factor search in [0.5, . . . , 2], with stepsize of 0.01, are done jointly in each frame by minimizing the Perceptual Entropy (PE) [12] of the quantized residual, which is an approximation of the entropy of the quantized residual spectrum with consideration of the perceptual model.
The encoder has four working modes: “FDLMSP”, “TDLTP”, “FDP” and “Adaptive MDCT LTP (AMLTP)”, respectively. In “AMLTP” mode, the encoder switches between different prediction concepts on a frame basis, with PE minimization as the criteria. For all four working modes, no prediction is done in a frame if the PE of the residual spectrum is higher than the original signal spectrum.
For each mode, the encoder is tested on six different materials: three single notes with duration of 1-2 seconds: bass note (ƒ0 around 50 Hz); harpsichord note (ƒ0 around 88 Hz), and pitchpipe note (ƒ0 around 290 Hz). Those test materials have relatively regular harmonic structure and slowly varying temporal envelope. The coder is also tested on more complicated test materials: a trumpet piece (˜5 seconds long, ƒ0 varies between 300 Hz and 700 Hz), female vocal (˜10 seconds long, ƒ0 varies between 200 Hz and 300 Hz} and male speech (˜8 seconds long: ƒ0 varies between 100 Hz and 220 Hz). Those three test materials have widely varying envelope and fast-changing pitches along time, and less regular harmonic structure. During the experiment, it has been noticed that the bass note has a much stronger second order harmonic than the first order harmonic, leading to constantly wrong pitch estimates. Thus, the ƒ0 search range of this bass note in the YIN pitch estimator for the correct pitch estimation has been adjusted.
The average PE of the quantized residual spectrum and of the quantized original signal spectrum has been estimated. Based on the estimated PEs, the Bitrate saved (BS) [in bit per second] in transmitting the signal by applying the prediction has been calculated, without taking into account the bitrate consumption of side information. At first, the behavior of each concept has been examined, and that comparison has been limited on single notes prediction for rational inference and analysis. Then we compared the performance of four modes on identical parameter configurations.
At first, The FDP prediction concept from the known technology is described in the following. The FDP prediction concept is described in more detail in [5] and in [13] (WO 2016 142357 A1, published September 2016).
In other words, the encoder 101 is configured to selectively apply predictive encoding to a plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 selected based on a single spacing value transmitted as side information.
This spacing value may correspond to a frequency (e.g. a fundamental frequency of a harmonic tone (of the audio signal 102)), which defines together with its integer multiples the centers of all groups of spectral coefficients for which prediction is applied: The first group can be centered around this frequency, the second group can be centered around this frequency multiplied by two, the third group can be centered around this frequency multiplied by three, and so on. The knowledge of these center frequencies enables the calculation of prediction coefficients for predicting corresponding sinusoidal signal components (e.g. fundamental and overtones of harmonic signals). Thus, complicated and error prone backward adaptation of prediction coefficients is no longer needed.
In examples, the encoder 101 can be configured to determine one spacing value per frame.
In examples, the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 can be separated by at least one spectral coefficient 106_t0_f3.
In examples, the encoder 101 can be configured to apply the predictive encoding to a plurality of individual spectral coefficients which are separated by at least one spectral coefficient, such as to two individual spectral coefficients which are separated by at least one spectral coefficient. Further, the encoder 101 can be configured to apply the predictive encoding to a plurality of groups of spectral coefficients (each of the groups comprising at least two spectral coefficients) which are separated by at least one spectral coefficient, such as to two groups of spectral coefficients which are separated by at least one spectral coefficient. Further, the encoder 101 can be configured to apply the predictive encoding to a plurality of individual spectral coefficients and/or groups of spectral coefficients which are separated by at least one spectral coefficient, such as to at least one individual spectral coefficient and at least one group of spectral coefficients which are separated by at least one spectral coefficient.
In the example shown in
Note that the term “selectively” as used herein refers to applying predictive encoding (only) to selected spectral coefficients. In other words, predictive encoding is not necessarily applied to all spectral coefficients, but rather only to selected individual spectral coefficients or groups of spectral coefficients, the selected individual spectral coefficients and/or groups of spectral coefficients which can be separated from each other by at least one spectral coefficient. In other words, predictive encoding can be disabled for at least one spectral coefficient by which the selected plurality of individual spectral coefficients or groups of spectral coefficients are separated.
In examples, the encoder 101 can be configured to selectively apply predictive encoding to a plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame 108_t0 based on at least a corresponding plurality of individual spectral coefficients 106_t−1_f2 or groups of spectral coefficients 106_t−1_f4 and 106_t−1_f5 of the previous frame 108_t−1.
For example, the encoder 101 can be configured to predictively encode the plurality of individual spectral coefficients 106_t0_f2 or the groups of spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame 108_t0, by coding prediction errors between a plurality of predicted individual spectral coefficients 110_t0_f2 or groups of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 of the current frame 108_t0 and the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 of the current frame (or quantized versions thereof).
In
In other words, the second spectral coefficient 106_t0_f2 is coded by coding the prediction error (or difference) between the predicted second spectral coefficient 110_t0_f2 and the (actual or determined) second spectral coefficient 106_t0_f2, wherein the fourth spectral coefficient 106_t0_f4 is coded by coding the prediction error (or difference) between the predicted fourth spectral coefficient 110_t0_f4 and the (actual or determined) fourth spectral coefficient 106_t0_f4, and wherein the fifth spectral coefficient 106_t0_f5 is coded by coding the prediction error (or difference) between the predicted fifth spectral coefficient 110_t0_f5 and the (actual or determined) fifth spectral coefficient 106_t0_f5.
In an example, the encoder 101 can be configured to determine the plurality of predicted individual spectral coefficients 110_t0_f2 or groups of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 for the current frame 108_t0 by means of corresponding actual versions of the plurality of individual spectral coefficients 106_t−1_f2 or of the groups of spectral coefficients 106_t−1_f4 and 106_t−1_f5 of the (previous frame 108_t−1.
In other words, the encoder 101 may, in the above-described determination process, use directly the plurality of actual individual spectral coefficients 106_t−1_f2 or the groups of actual spectral coefficients 106_t−1_f4 and 106_t−1_f5 of the previous frame 108_t−1, where the 106_t−1_f2, 106_t−1_f4 and 106_t−1_f5 represent the original, not yet quantized spectral coefficients or groups of spectral coefficients, respectively, as they are obtained by the encoder 101 such that said encoder may operate in the transform domain or filter-bank domain 104.
For example, the encoder 101 can be configured to determine the second predicted spectral coefficient 110_t0_f2 of the current frame 108_t0 based on a corresponding not yet quantized version of the second spectral coefficient 106_t−1_f2 of the previous frame 10108_t−1, the predicted fourth spectral coefficient 110_t0_f4 of the current frame 108_t0 based on a corresponding not yet quantized version of the fourth spectral coefficient 106_t−1_f4 of the previous frame 108_t−1, and the predicted fifth spectral coefficient 110_t0_f5 of the current frame 108_t0 based on a corresponding not yet quantized version of the fifth spectral coefficient 106_t−1_f5 of the previous frame.
By way of this approach, the predictive encoding and decoding scheme can exhibit a kind of harmonic shaping of the quantization noise, since a corresponding decoder, an example of which is described later with respect to
While such harmonic noise shaping, as it is, for example, traditionally performed by long-term prediction (LTP) in the time domain, can be subjectively advantageous for predictive coding, in some cases it may be undesirable since it may lead to an unwanted, excessive amount of tonality introduced into a decoded audio signal. For this reason, an alternative predictive encoding scheme, which is fully synchronized with the corresponding decoding and, as such, only exploits any possible prediction gains but does not lead to quantization noise shaping, is described hereafter. According to this alternative encoding example, the encoder 101 can be configured to determine the plurality of predicted individual spectral coefficients 110_t0_f2 or groups of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 for the current frame 108_t0 using corresponding quantized versions of the plurality of individual spectral coefficients 106_t−1_f2 or the groups of spectral coefficients 106_t−1_f4 and 106_t−1_f5 of the previous frame 108_t−1.
For example, the encoder 101 can be configured to determine the second predicted spectral coefficient 110_t0_f2 of the current frame 108_t0 based on a corresponding quantized version of the second spectral coefficient 106_t−1_f2 of the previous frame 108_t−1, the predicted fourth spectral coefficient 110_t0_f4 of the current frame 108_t0 based on a corresponding quantized version of the fourth spectral coefficient 106_t−1_f4 of the previous frame 108_t−1, and the predicted fifth spectral coefficient 110_t0_f5 of the current frame 108_t0 based on a corresponding quantized version of the fifth spectral coefficient 106_t−1_f5 of the previous frame.
Further, the encoder 101 can be configured to derive prediction coefficients 112_f2, 114_f2, 112_f4, 114_f4, 112_f5 and 114_f5 from the spacing value, and to calculate the plurality of predicted individual spectral coefficients 110_t0_f2 or groups of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 for the current frame 108_t0 using corresponding quantized versions of the plurality of individual spectral coefficients 106_t−1_f2 and 106_t−2_f2 or groups of spectral coefficients 106_t−1_f4, 106_t−2_f4, 106_t−1_f5, and 106_t−2_f5 of at least two previous frames 108_t−1 and 108_t−2 and using the derived prediction coefficients 112_f2, 114_f2, 112_f4, 114_f4, 112_f5 and 114_f5.
For example, the encoder 101 can be configured to derive prediction coefficients 112_f2 and 114_f2 for the second spectral coefficient 106_t0_f2 from the spacing value, to derive prediction coefficients 112_f4 and 114_f4 for the fourth spectral coefficient 106_t0_f4 from the spacing value, and to derive prediction coefficients 112_f5 and 114_f5 for the fifth spectral coefficient 106_t0_f5 from the spacing value.
For example, the derivation of prediction coefficients can be derived the following way: If the spacing value corresponds to a frequency f0 or a coded version thereof, the center frequency of the K-th group of spectral coefficients for which prediction is enabled is fc-K*f0. If the sampling frequency is fs and the transform hop size (shift between successive frames) is N, the ideal predictor coefficients in the K-th group assuming a sinusoidal signal with frequency fc are:
p1=2*cos(N*2*pi*fc/fs) and p2=−1.
If, for example, both spectral coefficients 106_t0_f4 and 106_t0_f5 are within this group, the prediction coefficients are:
112_f4=112_f5=2*cos(N*2*pi*fc/fs) and 114_f4=114_f5=−1.
For stability reasons, a damping factor d can be introduced leading to modified prediction coefficients:
112_f4′=112_f5′=d*2*cos(N*2*pi*fc/fs), 114_f4′=114_f5′=d2.
Since the spacing value is transmitted in the coded audio signal 120, the decoder can derive exactly the same prediction coefficients 212_f4=212_f5=2*cos(N*2*pi*fc/fs) and 114_f4=114_f5=−1. If a damping factor is used, the coefficients can be modified accordingly.
As indicated in
Thus, the encoder 101 may only use the prediction coefficients 112_f2 to 114_f5 for calculating the plurality of predicted individual spectral coefficients 110_t0_f2 or groups of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 and therefrom the prediction errors between the predicted individual spectral coefficient 110_t0_f2 or group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 and the individual spectral coefficient 106_t0_f2 or group of predicted spectral coefficients 110_t0_f4 and 110_t0_f5 of the current frame, but will neither provide the individual spectral coefficients 106_t0_f4 (or a quantized version thereof) or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 (or quantized versions thereof) nor the prediction coefficients 112_f2 to 114_f5 in the encoded audio signal 120. Hence, a decoder, an example of which is described later with respect to
In other words, the encoder 101 can be configured to provide the encoded audio signal 120 including quantized versions of the prediction errors instead of quantized versions of the plurality of individual spectral coefficients 106_t0_f2 or of the groups of spectral coefficients 106_t0_f4 and 106_t0_f5 for the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 to which predictive encoding is applied.
Further, the encoder 101 can be configured to provide the encoded audio signal 102 including quantized versions of the spectral coefficients 106_t0_f3 by which the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 are separated, such that there is an alternation of spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 for which quantized versions of the prediction errors are included in the encoded audio signal 120 and spectral coefficients 106_t0_f3 or groups of spectral coefficients for which quantized versions are provided without using predictive encoding.
In examples, the encoder 101 can be further configured to entropy encode the quantized versions of the prediction errors and the quantized versions of the spectral coefficients 106_t0_f3 by which the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4 and 106_t0_f5 are separated, and to include the entropy encoded versions in the encoded audio signal 120 (instead of the non-entropy encoded versions thereof).
In examples, the encoder 101 can be configured to select groups 116_1 to 116_6 of spectral coefficients (or individual spectral coefficients) spectrally arranged according to a harmonic grid defined by the spacing value for a predictive encoding. Thereby, the harmonic grid defined by the spacing value describes the periodic spectral distribution (equidistant spacing) of harmonics in the audio signal 102. In other words, the harmonic grid defined by the spacing value can be a sequence of spacing values describing the equidistant spacing of harmonics of the audio signal.
Further, the encoder 101 can be configured to select spectral coefficients (e.g. only those spectral coefficients), spectral indices of which are equal to or lie within a range (e.g. predetermined or variable) around a plurality of spectral indices derived on the basis of the spacing value, for a predictive encoding.
From the spacing value the indices (or numbers) of the spectral coefficients which represent the harmonics of the audio signal 102 can be derived. For example, assuming that a fourth spectral coefficient 106_t0_f4 represents the instantaneous fundamental frequency of the audio signal 102 and assuming that the spacing value is five, the spectral coefficient having the index nine can be derived on the basis of the spacing value. The so derived spectral coefficient having the index nine, i.e. the ninth spectral coefficient 106_t0_f9, represents the second harmonic. Similarly, the spectral coefficients having the indices 14, 19, 24 and 29 can be derived, representing the third to sixth harmonics 124_3 to 124_6. However, not only spectral coefficients having the indices which are equal to the plurality of spectral indices derived on the basis of the spacing value may be predictively encoded, but also spectral coefficients having indices within a given range around the plurality of spectral indices derived on the basis of the spacing value.
Further, the encoder 101 can be configured to select the groups 116_1 to 116_6 of spectral coefficients (or plurality of individual spectral coefficients) to which predictive encoding is applied such that there is a periodic alternation, periodic with a tolerance of +/−1 spectral coefficient, between groups 116_1 to 116_6 of spectral coefficients (or the plurality of individual spectral coefficients) to which predictive encoding is applied and the spectral coefficients by which groups of spectral coefficients (or the plurality of individual spectral coefficients) to which predictive encoding is applied are separated. The tolerance of +/−1 spectral coefficient may be used when a distance between two harmonics of the audio signal 102 is not equal to an integer spacing value (integer with respect to indices or numbers of spectral coefficients) but rather to a fraction or multiple thereof.
In other words, the audio signal 102 can comprise at least two harmonic signal components 124_1 to 124_6, wherein the encoder 101 can be configured to selectively apply predictive encoding to those plurality of groups 116_1 to 116_6 of spectral coefficients (or individual spectral coefficients) which represent the at least two harmonic signal components 124_1 to 124_6 or spectral environments around the at least two harmonic signal components 124_1 to 124_6 of the audio signal 102. The spectral environments around the at least two harmonic signal components 124_1 to 124_6 can be, for example, +/−1, 2, 3, 4 or 5 spectral components.
Thereby, the encoder 101 can be configured to not apply predictive encoding to those groups 118_1 to 118_5 of spectral coefficients (or plurality of individual spectral coefficients) which do not represent the at least two harmonic signal components 124_1 to 124_6 or spectral environments of the at least two harmonic signal components 124_1 to 124_6 of the audio signal 102. In other words, the encoder 101 can be configured to not apply predictive encoding to those plurality of groups 118_1 to 118_5 of spectral coefficients (or individual spectral coefficients) which belong to a non-tonal background noise between signal harmonics 124_1 to 124_6.
Further, the encoder 101 can be configured to determine a harmonic spacing value indicating a spectral spacing between the at least two harmonic signal components 124_1 to 124_6 of the audio signal 102, the harmonic spacing value indicating those plurality of individual spectral coefficients or groups of spectral coefficients which represent the at least two harmonic signal components 124_1 to 124_6 of the audio signal 102.
Furthermore, the encoder 101 can be configured to provide the encoded audio signal 120 such that the encoded audio signal 120 includes the spacing value (e.g., one spacing value per frame) or (alternatively) a parameter from which the spacing value can be directly derived.
Examples address the abovementioned two issues of the FDP method by introducing a harmonic spacing value into the FDP process, signaled from the encoder (transmitter) 101 to a respective decoder (receiver) such that both can operate in a fully synchronized fashion. Said harmonic spacing value may serve as an indicator of an instantaneous fundamental frequency (or pitch) of one or more spectra associated with a frame to be coded and identifies which spectral bins (spectral coefficients) shall be predicted. More specifically, only those spectral coefficients around harmonic signal components located (in terms of their indexing) at integer multiples of the fundamental pitch (as defined by the harmonic spacing value) shall be subjected to the prediction.
In examples, the decoder 201 can be configured to apply the predictive decoding to a plurality of individual encoded spectral coefficients which are separated by at least one encoded spectral coefficient, such as to two individual encoded spectral coefficients which are separated by at least one encoded spectral coefficient. Further, the decoder 201 can be configured to apply the predictive decoding to a plurality of groups of encoded spectral coefficients (each of the groups comprising at least two encoded spectral coefficients) which are separated by at least one encoded spectral coefficients, such as to two groups of encoded spectral coefficients which are separated by at least one encoded spectral coefficient. Further, the decoder 201 can be configured to apply the predictive decoding to a plurality of individual encoded spectral coefficients and/or groups of encoded spectral coefficients which are separated by at least one encoded spectral coefficient, such as to at least one individual encoded spectral coefficient and at least one group of encoded spectral coefficients which are separated by at least one encoded spectral coefficient.
In the example shown in
Note that the term “selectively” as used herein refers to applying predictive decoding (only) to selected encoded spectral coefficients. In other words, predictive decoding is not applied to all encoded spectral coefficients, but rather only to selected individual encoded spectral coefficients or groups of encoded spectral coefficients, the selected individual encoded spectral coefficients and/or groups of encoded spectral coefficients being separated from each other by at least one encoded spectral coefficient. In other words, predictive decoding is not applied to the at least one encoded spectral coefficient by which the selected plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients are separated.
In examples the decoder 201 can be configured to not apply the predictive decoding to the at least one encoded spectral coefficient 206_t0_f3 by which the individual encoded spectral coefficients 206_t0_f2 or the group of spectral coefficients 206_t0_f4 and 206_t0_f5 are separated.
The decoder 201 can be configured to entropy decode the encoded spectral coefficients, to obtain quantized prediction errors for the spectral coefficients 206_t0_f2, 2016_t0_f4 and 206_t0_f5 to which predictive decoding is to be applied and quantized spectral coefficients 206_t0_f3 for the at least one spectral coefficient to which predictive decoding is not to be applied. Thereby, the decoder 201 can be configured to apply the quantized prediction errors to a plurality of predicted individual spectral coefficients 210_t0_f2 or groups of predicted spectral coefficients 210_t0_f4 and 210_t0_f5, to obtain, for the current frame 208_t0, decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f2, 206_t0_f4 and 206_t0_f5 to which predictive decoding is applied.
For example, the decoder 201 can be configured to obtain a second quantized prediction error for a second quantized spectral coefficient 206_t0_f2 and to apply the second quantized prediction error to the predicted second spectral coefficient 210_t0_f2, to obtain a second decoded spectral coefficient associated with the second encoded spectral coefficient 206_t0_f2, wherein the decoder 201 can be configured to obtain a fourth quantized prediction error for a fourth quantized spectral coefficient 206_t0_f4 and to apply the fourth quantized prediction error to the predicted fourth spectral coefficient 210_t0_f4, to obtain a fourth decoded spectral coefficient associated with the fourth encoded spectral coefficient 206_t0_f4, and wherein the decoder 201 can be configured to obtain a fifth quantized prediction error for a fifth quantized spectral coefficient 206_t0_f5 and to apply the fifth quantized prediction error to the predicted fifth spectral coefficient 210_t0_f5, to obtain a fifth decoded spectral coefficient associated with the fifth encoded spectral coefficient 206_t0_f5.
Further, the decoder 201 can be configured to determine the plurality of predicted individual spectral coefficients 210_t0_f2 or groups of predicted spectral coefficients 210_t0_f4 and 210_t0_f5 for the current frame 208_t0 based on a corresponding plurality of the individual encoded spectral coefficients 206_t−1_f2 (e.g., using a plurality of previously decoded spectral coefficients associated with the plurality of the individual encoded spectral coefficients 206_t−1_f2) or groups of encoded spectral coefficients 206_t−1_f4 and 206_t−1_f5 (e.g., using groups of previously decoded spectral coefficients associated with the groups of encoded spectral coefficients 206_t−1_f4 and 206_t−1_f5) of the previous frame 208_t−1.
For example, the decoder 201 can be configured to determine the second predicted spectral coefficient 210_t0_f2 of the current frame 208_t0 using a previously decoded (quantized) second spectral coefficient associated with the second encoded spectral coefficient 206_t−1_f2 of the previous frame 208_t−1, the fourth predicted spectral coefficient 210_t0_f4 of the current frame 2080t using a previously decoded (quantized) fourth spectral coefficient associated with the fourth encoded spectral coefficient 206_t−1_f4 of the previous frame 208_t−1, and the fifth predicted spectral coefficient 210_t0_f5 of the current frame 208_t0 using a previously decoded (quantized) fifth spectral coefficient associated with the fifth encoded spectral coefficient 206_t−1_f5 of the previous frame 208_t−1.
Furthermore, the decoder 201 can be configured to derive prediction coefficients from the spacing value, and wherein the decoder 201 can be configured to calculate the plurality of predicted individual spectral coefficients 210_t0_f2 or groups of predicted spectral coefficients 210_t0_f4 and 210_t0_f5 for the current frame 208_t0 using a corresponding plurality of previously decoded individual spectral coefficients or groups of previously decoded spectral coefficients of at least two previous frames 208_t−1 and 208_t−2 and using the derived prediction coefficients.
For example, the decoder 201 can be configured to derive prediction coefficients 212_f2 and 214_f2 for the second encoded spectral coefficient 206_t0_f2 from the spacing value, to derive prediction coefficients 212_f4 and 214_f4 for the fourth encoded spectral coefficient 206_t0_f4 from the spacing value, and to derive prediction coefficients 212_f5 and 214_f5 for the fifth encoded spectral coefficient 206_t0_f5 from the spacing value.
Note that the decoder 201 can be configured to decode the encoded audio signal 120 in order to obtain quantized prediction errors instead of a plurality of individual quantized spectral coefficients or groups of quantized spectral coefficients for the plurality of individual encoded spectral coefficients or groups of encoded spectral coefficients to which predictive decoding is applied.
Further, the decoder 201 can be configured to decode the encoded audio signal 120 in order to obtain quantized spectral coefficients by which the plurality of individual spectral coefficients or groups of spectral coefficients are separated, such that there is an alternation of encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 for which quantized prediction errors are obtained and encoded spectral coefficients 206_t0_f3 or groups of encoded spectral coefficients for which quantized spectral coefficients are obtained.
The decoder 201 can be configured to provide a decoded audio signal 220 using the decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f2, 206_t0_f4 and 206_t0_f5 to which predictive decoding is applied, and using entropy decoded spectral coefficients associated with the encoded spectral coefficients 206_t0_f1, 206_t0_f3 and 206_t0_f6 to which predictive decoding is not applied.
In examples, the decoder 201 can be configured to obtain a spacing value, wherein the decoder 201 can be configured to select the plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 to which predictive decoding is applied based on the spacing value.
As already mentioned above with respect to the description of the corresponding encoder 101, the spacing value can be, for example, a spacing (or distance) between two characteristic frequencies of the audio signal. Further, the spacing value can be a an integer number of spectral coefficients (or indices of spectral coefficients) approximating the spacing between the two characteristic frequencies of the audio signal. Naturally, the spacing value can also be a fraction or multiple of the integer number of spectral coefficients describing the spacing between the two characteristic frequencies of the audio signal.
The decoder 201 can be configured to select individual spectral coefficients or groups of spectral coefficients spectrally arranged according to a harmonic grid defined by the spacing value for a predictive decoding. The harmonic grid defined by the spacing value may describe the periodic spectral distribution (equidistant spacing) of harmonics in the audio signal 102. In other words, the harmonic grid defined by the spacing value can be a sequence of spacing values describing the equidistant spacing of harmonics of the audio signal 102.
Furthermore, the decoder 201 can be configured to select spectral coefficients (e.g. only those spectral coefficients), spectral indices of which are equal to or lie within a range (e.g. predetermined or variable range) around a plurality of spectral indices derived on the basis of the spacing value, for a predictive decoding. Thereby, the decoder 201 can be configured to set a width of the range in dependence on the spacing value.
In examples, the encoded audio signal can comprise the spacing value or an encoded version thereof (e.g., a parameter from which the spacing value can be directly derived), wherein the decoder 201 can be configured to extract the spacing value or the encoded version thereof from the encoded audio signal to obtain the spacing value.
Alternatively, the decoder 201 can be configured to determine the spacing value by itself, i.e. the encoded audio signal does not include the spacing value. In that case, the decoder 201 can be configured to determine an instantaneous fundamental frequency (of the encoded audio signal 120 representing the audio signal 102) and to derive the spacing value from the instantaneous fundamental frequency or a fraction or a multiple thereof.
In examples, the decoder 201 can be configured to select the plurality of individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied such that there is a periodic alternation, periodic with a tolerance of +/−1 spectral coefficient, between the plurality of individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied and the spectral coefficients by which the plurality of individual spectral coefficients or groups of spectral coefficients to which predictive decoding is applied are separated.
In examples, the audio signal 102 represented by the encoded audio signal 120 comprises at least two harmonic signal components, wherein the decoder 201 is configured to selectively apply predictive decoding to those plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 which represent the at least two harmonic signal components or spectral environments around the at least two harmonic signal components of the audio signal 102. The spectral environments around the at least two harmonic signal components can be, for example, +/−1, 2, 3, 4 or 5 spectral components.
Thereby, the decoder 201 can be configured to identify the at least two harmonic signal components, and to selectively apply predictive decoding to those plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 which are associated with the identified harmonic signal components, e.g., which represent the identified harmonic signal components or which surround the identified harmonic signal components).
Alternatively, the encoded audio signal 120 may comprise an information (e.g., the spacing value) identifying the at least two harmonic signal components. In that case, the decoder 201 can be configured to selectively apply predictive decoding to those plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4 and 206_t0_f5 which are associated with the identified harmonic signal components, e.g., which represent the identified harmonic signal components or which surround the identified harmonic signal components).
In both of the aforementioned alternatives, the decoder 201 can be configured to not apply predictive decoding to those plurality of individual encoded spectral coefficients 206_t0_f3, 206_t0_f1 and 206_t0_f6 or groups of encoded spectral coefficients which do not represent the at least two harmonic signal components or spectral environments of the at least two harmonic signal components of the audio signal 102.
In other words, the decoder 201 can be configured to not apply predictive decoding to those plurality of individual encoded spectral coefficients 206_t0_f3, 206_t0_1, 206_t0_f6 or groups of encoded spectral coefficients which belong to a non-tonal background noise between signal harmonics of the audio signal 102.
An idea of particular embodiments is now two provide an encoder and a decoder having different operation modes.
According to an embodiment, the encoder 100 may, e.g., be operable in a first mode and may, e.g., be operable in at least one of a second mode and a third mode and a fourth mode.
If the encoder 100 is in the first mode, the encoder 100 may, e.g., be configured to encode the current frame by determining the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame using the first group of three or more of the plurality of spectral coefficients of each of the one or more previous frames of the audio signal.
If the encoder 100 is in the second mode, the encoder 100 may, e.g., be configured to encode the audio signal in the transform domain or in the filter-bank domain, and the encoder may, e.g., be configured to determine the plurality of spectral coefficients 106_t0_f1:106_t0_f6; 106_t−1_f1:106_t−1_f6 of the audio signal 102 for the current frame 108_t0 and for at least the previous frame 108_t−1, wherein the encoder 100 may, e.g., be configured to selectively apply predictive encoding to a plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4,106_t0_f5, the encoder 100 may, e.g., be configured to determine a spacing value, the encoder 100 may, e.g., be configured to select the plurality of individual spectral coefficients 106_t0_f2 or groups of spectral coefficients 106_t0_f4,106_t0_f5 to which predictive encoding may, e.g., be applied based on the spacing value.
In an embodiment, in each of the first mode and the second mode and the third mode and the fourth mode, the encoder 100 may, e.g., be configured to refine the fundamentally frequency to obtain a refined fundamental frequency and is to adapt the gain factor to obtain an adapted gain factor on a frame basis depending on a minimization criteria. Moreover, the encoder 100 may, e.g., be configured to encode the refined fundamental frequency and the adapted gain factor instead of the original fundamental frequency and gain factor.
In an embodiment, the encoder 100 may, e.g., be configured to set itself into the first mode or into at least one of the second mode and the third mode and the fourth mode, depending on the current frame of the audio signal. The encoder 100 may, e.g., be configured to encode, whether the current frame has been encoded in the first mode or in the second mode or in the third mode or in the fourth mode.
With respect to the decoder, according to an embodiment, the decoder 200 may, e.g., be operable in a first mode and may, e.g., be operable in at least one of a second mode and a third mode and a fourth mode.
If the decoder 200 is in the first mode, the decoder 200 may, e.g., be configured to determine the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame, wherein the two harmonic parameters for each of the one or more harmonic components of the most previous frame depend on a first group of three or more of the plurality of reconstructed spectral coefficients for each of the one or more previous frames of the audio signal, and the decoder 200 may, e.g., be configured to decode the encoding of the current frame depending on the estimation of the two harmonic parameters for each of the one or more harmonic components of the most previous frame.
If the decoder 200 is in the second mode, the decoder 200 may, e.g., be configured to parse an encoding of the audio signal 120 to obtain encoded spectral coefficients 206_t0_f1:206_t0_f6; 206_t−1_f1:206_t−1_f6 of the audio signal 120 for the current frame 208_t0 and for at least the previous frame 208_t−1, and the decoder 200 may, e.g., be configured to selectively apply predictive decoding to a plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4,206_t0_f5, wherein the decoder 200 may, e.g., be configured to obtain a spacing value, wherein the decoder 200 may, e.g., be configured to select the plurality of individual encoded spectral coefficients 206_t0_f2 or groups of encoded spectral coefficients 206_t0_f4,206_t0_f5 to which predictive decoding may, e.g., be applied based on the spacing value.
If the decoder 200 is in the third mode, the decoder 200 may, e.g., be configured to decode the audio signal by employing Time Domain Long-term Prediction.
If the decoder 200 is in the fourth mode, the decoder 200 may, e.g., be to decode the audio signal by employing Adaptive Modified Discrete Cosine Transform Long-Term Prediction, wherein, if the decoder 200 employs Adaptive Modified Discrete Cosine Transform Long-Term Prediction, the decoder 200 may, e.g., be configured to select either Time Domain Long-term Prediction or Frequency Domain Prediction or Frequency Domain Least Mean Square Prediction as a prediction method on a frame basis depending on a minimization criteria.
According to an embodiment, in each of the first mode and the second mode and the third mode and the fourth mode, the decoder 200 may, e.g., be configured to decode the audio signal depending on a refined fundamental frequency and depending on an adapted gain factor, which have been determined on a frame basis.
In an embodiment, the decoder 200 may, e.g., be to receive and decode an encoding comprising an indication on whether the current frame has been encoded in the first mode or in the second mode or in the third mode or in the fourth mode. The decoder 200 may, e.g., be to set itself into the first mode or into the second mode or into the third mode or into the fourth mode depending on the indication.
In
As is shown in
A novel approach for LTP in the MDCT domain has been provided. The novel approach models each MDCT frame as a supposition of harmonic components, and estimates the parameters of all the harmonic components from the previous frames using the LMS concept. The prediction is then done based on the estimated harmonic parameters. This approach offers competitive performance compared to its peer concepts and can also be used jointly to enhance the audio coding efficiency.
The above concepts may, e.g., be employed to analyse the influence of the pitch information precision on prediction, e.g. by using different pitch estimation algorithms or by applying different quantization stepsizes. The above concepts may also be employed to determine or to refine a pitch information of the audio signal on a frame basis using a minimization criteria. The impact of inharmonicity and other complicated signal characteristics on the prediction may, e.g., be taken into account. The above concepts may, for example, be employed for error concealment.
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 may be 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.
This application is a continuation of copending International Application No. PCT/EP2019/082802, filed Nov. 27, 2019, which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/EP2019/082802 | Nov 2019 | US |
Child | 17664709 | US |