Transform-based audio codecs generally introduce inter-harmonic noise when processing harmonic audio signals, particularly at low bitrates.
This effect is further worsen when the transform-based audio codec operates at low delay, due to the worse frequency resolution and/or selectivity introduced by a shorter transform size and/or a worse window frequency response.
This inter-harmonic noise is generally perceived as a very annoying artifact, significantly reducing the performance of the transform-based audio codec when subjectively evaluated on highly tonal audio material.
Several solutions exist to improve the subjective quality of transform-based audio codecs on harmonics audio signals. All of them are based on prediction-based techniques, either in the transform-domain or in the time-domain.
Examples of transform-domain approaches are:
Examples of time-domain approaches are:
An embodiment may have an apparatus for processing an audio signal having associated therewith a pitch lag information and a gain information, including: a domain converter for converting a first domain representation of the audio signal into a second domain representation of the audio signal, the second domain representation being a time domain representation; and a harmonic post-filter for filtering the second domain representation of the audio signal, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain.
Another embodiment may have a method of processing an audio signal having associated therewith a pitch lag information and a gain information, including: converting a frequency representation of the audio signal into a time-domain representation of the audio signal; and filtering the time-domain representation of the audio signal by a harmonic post-filter, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain.
Another embodiment may have a system for processing an audio signal including an encoder for encoding an audio signal and a decoder including a processor, the processor including: a domain converter for converting a frequency representation of the audio signal into a time-domain representation of the audio signal; and a harmonic post-filter for filtering the time-domain representation of the audio signal, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain.
Another embodiment may have a method of processing an audio signal including a method of encoding an audio signal and a method of decoding including: converting a frequency representation of the audio signal into a time-domain representation of the audio signal; and filtering the time-domain representation of the audio signal using a harmonic post-filter, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain.
Another embodiment may have a non-transitory digital storage medium having a computer program stored thereon to perform the method of processing an audio signal having associated therewith a pitch lag information and a gain information, including: converting a frequency representation of the audio signal into a time-domain representation of the audio signal; and filtering the time-domain representation of the audio signal by a harmonic post-filter, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain; when said computer program is run by a computer.
Another embodiment may have a non-transitory digital storage medium having a computer program stored thereon to perform the method of processing an audio signal comprising a method of encoding an audio signal and a method of decoding including: converting a frequency representation of the audio signal into a time-domain representation of the audio signal; and filtering the time-domain representation of the audio signal using a harmonic post-filter, wherein the harmonic post-filter is based on a long-term prediction filter working in the time-domain; when said computer program is run by a computer.
The present invention is based on the finding that the subjective quality of an audio signal can be substantially improved by using a harmonic post-filter having a transfer function comprising a numerator and a denominator. The numerator of the transfer function comprises a gain value indicated by a transmitted gain information and the denominator comprises an integer part of a pitch lag indicated by a pitch lag information and a multi-tap filter depending on a fractional part of the pitch lag.
Hence, it is possible to remove inter-harmonic noise introduced by a typical domain-changing audio decoder as an artifact. This harmonic post-filter is particularly useful in that it relies on transmitted information, i.e., the pitch gain and the pitch lag which are available anyway in a decoder, since this information is received from a corresponding encoder via a decoder input signal. Furthermore, the post-filtering is of specific accuracy due to the fact that not only the integer part of the pitch lag is accounted for, but, in addition, the fractional part of the pitch lag is accounted for. The fractional part of the pitch lag can be particularly introduced into the post-filter via a multi-tap filter which has filter coefficients actually depending on the fractional part of the pitch lag. This filter can be implemented as an FIR filter or can also be implemented as any other filter such as an IIR filter or a different filter implementation. Any domain change such as a time to frequency change or an LPC to time change or a time to LPC change or a frequency to time change can be advantageously improved by the post-filter concept of the invention. Advantageously, however, the domain change is a frequency to time domain change.
Hence, embodiments of the present invention reduces inter-harmonic noise introduced by a transform audio codec based on a long-term predictor working in the time domain. Contrary to [04]-[6], where both pre-filter before the transform coding and a post-filter after the transform decoding are used, the present invention may apply a post-filter only.
Furthermore, it has been noticed that the pre-filter employed in [04]-[6] has the tendency to introduce instabilities in the input signal given to the transform encoder. These instabilities are due to changes in gain and/or pitch lag from frame to frame. The transform coder has difficulties in encoding such instabilities, particularly at low bitrates, and one will sometimes introduce even more noise in the decoded signal compared to a situation without any pre- or post-filter.
Advantageously, the present invention does not employ any pre-filter at all and, therefore, completely avoids the problems involved with a pre-filter.
Furthermore, the present invention relies on a post-filter that is applied on the decoded signal after transform coding. This post-filter is based on a long-term prediction filter accounting for the integer part and the fractional part of the pitch lag that reduces the inter-harmonic noise introduced by the transform audio codec.
For better robustness, the post-filter parameters pitch lag and pitch gain are estimated at the encoder-side and transmitted in the bitstream. However, in other implementations, the pitch lag and pitch gain can also be estimated on the decoder-side based on the decoded audio signal obtained by an audio decoder comprising a frequency-time converter for converting a frequency-representation of the audio signal into a time-domain representation of the audio signal.
In an embodiment, the numerator additionally comprises a multi-tap filter for a zero fractional part of the pitch lag in order to compensate for a spectral tilt introduced by the multi-tap filter in the denominator, which depends on the fractional part of the pitch lag.
Advantageously, the post-filter is configured to suppress an amount of energy between harmonics in a frame, wherein the amount of energy suppressed is smaller than 20% of a total energy of the time-domain representation in the frame.
In a further embodiment, the denominator comprises a product between the multi-tap filter and the gain value.
In a further embodiment, the filter numerator further comprises a product of a first scalar value and a second scalar value, wherein the denominator only comprises the second scalar value rather than the first scalar value. These scalar values are set to predetermined values and have values greater than 0 and lower than 1; and, additionally, the second scalar value is lower than the first scalar value. Hence, it is possible in a very efficient way to set the energy removal characteristics which are typically unwanted and to additionally set the filter strength, i.e., how strong the filter attenuates inter-harmonic artifacts in a transform-domain decoder output signal.
The apparatus further comprises, in an embodiment, a filter controller for setting at least the second scalar value depending on a bitrate so that a higher value is set for a lower bitrate and vice versa.
Furthermore, the filter controller is configured for selecting, depending on the fractional part of the pitch lag, the corresponding multi-tap filter in a signal-dependent way in order to set the harmonic post-filter signal-adaptively, i.e., dependent on the actually provided fractional part value of the pitch lag.
Embodiments of the present invention will be detailed subsequently referring to the appended drawings, in which:
The decoder 100 comprises e.g. a frequency-time converter for converting a frequency-time representation of the audio signal into a time-domain representation of the audio signal. Thus, the decoder is not a pure time-domain speech codec, but comprises a pure transform domain decoder or a mixed transform domain decoder or any other coder operating in a domain different from a time domain. Furthermore, it is advantageous that the second domain is the time domain.
The apparatus furthermore comprises a harmonic post-filter 104 for filtering the time-domain representation of the audio signal, and this harmonic post-filter is based on a transfer function comprising a numerator and a denominator. Particularly, the numerator comprises a gain value indicated by the gain information and the denominator comprises an integer part of a pitch lag indicated by the pitch lag information and, importantly, further comprises a multi-tap filter depending on a fractional part of the pitch lag.
An implementation of this harmonic post filter with a transfer function H(z) is illustrated in
The apparatus for processing an audio signal illustrated in
The filter can be described as follows:
with g the decoded gain, Tint and Tfr the integer and fractional part of the decoded pitch lag, α and β two scalars that weight the gain, and B(z,Tfr) a low-pass FIR filter whose coefficients depends on the fractional part of the decoded pitch lag.
Note that B(z,0) in the numerator of H(z) is used to compensate for the tilt introduced by B(z,Tfr).
β is used to control the strength of the post-filter. A β equals to 1 produces full effects, suppressing the maximum possible amount of energy between the harmonics. A β equals to 0 disables the post-filter. Generally, a quite low value is used to not suppress too much energy between the harmonics. The value can also depend on the bitrate with a higher value at a lower bitrate, e.g. 0.4 at low bitrate and 0.2 at a high bitrate.
α is used to add a slight tilt to the frequency response of H(z), in order to compensate for the slight loss in energy in the low frequencies. The value of α is generally chosen close to 1, e.g. 0.8.
An example of B(z,Tfr) is given in
Particularly, it has been found out that even values for α between 0.6 and lower than 1.0 are useful and that, additionally, values for β between 0.1 and 0.5 have been proved to be useful as well.
Furthermore, the multi-tap filter can have a variable number of taps. It has been found that for certain implementations, four taps are sufficient, where one tap is z+1. However, smaller filters with only two taps or even larger filters with more than four taps are useful for certain implementations.
Particularly, as illustrated in
Subsequently, an encoder implementation having certain functional blocks and operating without any pre-filter is illustrated in
Subsequently, the functionality of the pitch estimator 402 is described.
One pitch lag (integer part+fractional part) per frame is estimated (frame size e.g. 20 ms). This is done in 3 steps to reduce complexity and improves estimation accuracy.
A pitch analysis algorithm that produces a smooth pitch evolution contour is used (e.g. Open-loop pitch analysis described in Rec. ITU-T G.718, sec. 6.6). This analysis is generally done on a subframe basis (subframe size e.g. 10 ms), and produces one pitch lag estimate per subframe. Note that these pitch lag estimates do not have any fractional part and are generally estimated on a downsampled signal (sampling rate e.g. 6400 Hz). The signal used can be any audio signal, e.g. a LPC weighted audio signal as described in Rec. ITU-T G.718, sec. 6.5.
The pitch refiner operates as follows:
The final integer part of the pitch lag is estimated on an audio signal x[n] running at the core encoder sampling rate, which is generally higher than the sampling rate of the downsampled signal used in a. (e.g. 12.8 kHz, 16 kHz, 32 kHz . . . ). The signal x[n] can be any audio signal e.g. an LPC weighted audio signal.
The integer part of the pitch lag is then the lag dm that maximizes the autocorrelation function
with d around a pitch lag T estimated in step 1.a.
T−δ
1
≤d≤T+δ
2
The fractional part estimator 406 operates as follows:
The fractional part is found by interpolating the autocorrelation function C(d) computed in step 2.b. and selecting the fractional pitch lag which maximizes the interpolated autocorrelation function. The interpolation can be performed using a low-pass FIR filter as described in e.g. Rec. ITU-T G.718, sec. 6.6.7.
The transient detector 408 illustrated in
If the input audio signal does not contain any harmonic content, then no parameters are encoded in the bitstream. Only 1 bit is sent such that the decoder knows whether he has to decode the post-filter parameters or not. The decision is made based on several parameters:
a. Normalized correlation at the integer pitch lag estimated in step 1.b.
The normalized correlation is 1 if the input signal is perfectly predictable by the integer pitch lag, and 0 if it is not predictable at all. A high value (close to 1) would then indicate a harmonic signal. For a more robust decision, the normalized correlation of the past frame can also be used in the decision., e.g.:
If (norm.corr(curr.)*norm.corr.(prev.))>0.25, then the current frame contains some harmonic content (bit=1)
b. Features computed by a transient detector (e.g. Temporal flatness measure, Maximal energy change), to avoid activating the post-filter on a signal containing a transient. e.g. If (tempFlatness>3.5 or maxEnergychange>3.5) then set bit=0 and do not send any parameters
Furthermore, the gain estimator 410 calculates a gain to be input into the gain quantizer 412
The gain is generally estimated on the input audio signal at the core encoder sampling rate, but it can also be any audio signal like the LPC weighted audio signal. This signal is noted y[n] and can be the same or different than x[n].
The prediction yP[n] of y[n] is first found by filtering y[n] with the following filter
P(z)=B(z,Tfr)z−T
with Tint the integer part of the pitch lag (estimated in 1.b.) and B(z,Tfr) a low-pass FIR filter whose coefficients depend on the fractional part of the pitch lag Tfr (estimated in 1.c.).
One example of B(z) when the pitch lag resolution is ¼:
T
fr=0/4 B(z)=0.0000z−2+0.2325z−1+0.5349z0+0.2325z1
T
fr=1/4 B(z)=0.0152z−2+0.3400z−1+0.5049z0+0.1353z1
T
fr=2/4 B(z)=0.0609z−2+0.4391z−1+0.4391z0+0.0609z1
T
fr=3/4 B(z)=0.1353z−2+0.5094z−1+0.3400z0+0.0152z1
The gain g is then computed as follows:
and limited between 0 and 1.
Finally, the gain is quantized e.g. on 2 bits, using e.g. uniform quantization. If the gain is quantized to 0, then no parameters are encoded in the bitstream, only the one decision bit (bit=0).
As outlined before, the post-filter is applied on the output audio signal after the transform decoder. It processes the signal on the frame-by-frame basis, with the same frame size as used it the encoder-side such as 20 ms. As illustrated, it is based on a long-term prediction filter H(z) whose parameters are determined from the parameters estimated at the encoder-side and decoded from the bitstream. This information comprises the decision bit, the pitch lag and the gain. If the decision bit is 0, then the pitch lag and the gain are not decoded and are assumed to be 0 not written at all into the bitstream.
As discussed, if the filter parameters are different from one frame to the next frame, a discontinuity can be introduced at the border between the two frames. To avoid discontinuity, a discontinuity remover is applied such as a cross-fader or any other implementation for that purpose.
Furthermore, several different ways to set the harmonic post-filter are illustrated in
Particularly,
Furthermore,
On the other hand, β equal 0.2 has a less strong effect for suppressing energy between the harmonics and, therefore, this β-value is advantageous for high bitrates due to the fact that at such higher bitrates, not so much inter-harmonic noise exists.
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, some one or more of the most important method steps may be executed by such an apparatus.
The inventive transmitted or encoded signal can be stored on a digital storage medium or can be transmitted on a transmission medium such as a wireless transmission medium or a wired transmission medium such as the Internet.
Depending on certain implementation requirements, embodiments of the invention can be implemented in hardware or in software. The implementation can be performed using a digital storage medium, for example a floppy disc, a DVD, a Blu-Ray, a CD, a ROM, a PROM, and 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 method is, therefore, a data carrier (or a non-transitory storage medium such as 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 invention 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.
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.
Number | Date | Country | Kind |
---|---|---|---|
14178820.8 | Jul 2014 | EP | regional |
This application is a continuation of copending U.S. patent application Ser. No. 17/144,979 filed Jan. 8, 2021, which is a continuation of U.S. patent application Ser. No. 16/288,018, filed Feb. 27, 2019, which in turn is a continuation of copending U.S. patent application Ser. No. 15/417,231, filed Jan. 27, 2017, which in turn is a continuation of copending International Application No. PCT/EP2015/066998, filed Jul. 24, 2015, all of which are incorporated herein by reference in their entirety, and additionally claims priority from European Application No. 14178820.8, filed Jul. 28, 2014, which is incorporated herein by reference in its entirety. The present invention is related to audio processing and, particularly, to audio processing using a harmonic post filter.
Number | Date | Country | |
---|---|---|---|
Parent | 17144979 | Jan 2021 | US |
Child | 18197724 | US | |
Parent | 16288018 | Feb 2019 | US |
Child | 17144979 | US | |
Parent | 15417231 | Jan 2017 | US |
Child | 16288018 | US |