The invention relates to a method and a device for safe discrimination and attenuation of the echoes of a digital signal in a decoder and a corresponding device.
For the transportation of the digital audio signals over the transmission networks, whether fixed, mobile or broadcast networks, or for the storage of the signals, compression processes are used that implement encoding systems of the time encoding type, possibly predictive, or of the so-called transform encoding type.
The method and the device that are the subject of the invention are applicable to the compression of the sound signals, in particular the coded digital audio signals, the frames of which are the source of sound increases and/or reductions generated by musical instruments, voice signals comprising plosive syllables and, in particular, multilayer decoder devices including decoders in the time domain (predictive or other) and inverse frequency transform decoders.
For a more detailed description of the abovementioned encoding and decoding processes, reference can, for example, be made to the introduction to the description of the French patent application 05 07471 filed on 12 Jul. 2005 by the applicant.
Some musical sounds, such as percussions and certain speech sequences such as plosive syllables, are characterized by extremely abrupt attacks that are reflected in very rapid transitions in a very strong variation in the dynamic range of the sampled signal in the space of a few samples (from the sample 410 in
The subdivision into successive blocks of samples applied by transform encoding is totally independent of the sound signal and the transitions therefore appear at any point in the analysis window. Now, in transform encoding, the noise is distributed timewise uniformly over the entire duration of the sampled block of length 2L. This reflected in the appearance of pre-echoes prior to the transition and post-echoes after the transition.
The noise level is less than that of the signal for the high-energy samples, immediately following the transition, but it is greater than that of the signal for the lower-energy samples, notably over the part preceding the transition (samples 160-410 in
It can be seen in
In practice, the human ear applies a fairly limited pre-masking, of the order of a few milliseconds, before the physiological transmission of the attack.
The noise produced, or the pre-echo, is audible when the duration of the pre-echo is greater than the pre-masking duration.
The human ear also applies a post-masking of a longer duration, 5 to 60 milliseconds, on the transition from high-energy sequences to low-energy sequences. The rate or level of annoyance that is acceptable for the post-echoes is therefore greater than for the pre-echoes.
The more critical pre-echo phenomenon is all the more annoying as the length of the blocks in terms of number of samples increases. Now, in transform encoding, it is necessary to have an accurate resolution of the most significant frequency zones. At fixed sample frequency and at fixed bit rate, if the number of points of the window is increased, there will be more bits available for encoding the frequency lines deemed useful by the psycho-acoustic model, hence the advantage of using blocks of long length. When an encoding process, AAC (Advanced Audio Coding) for example, is implemented, a window of long length contains a fixed number of samples, 2048, i.e. over a duration of 64 ms if a sampling frequency of 32 kHz. The encoders used for the conversational applications often use a window with a duration of 40 ms at 16 kHz and a frame renewal duration of 20 ms.
In order to reduce the abovementioned annoying effect of the pre-echo phenomenon, and to a lesser extent the post-echo phenomenon, various solutions have hitherto been proposed.
A first solution entails applying a filtering. In the zone preceding the transmission due to the attack, the reconstituted signal is in fact made up of the original signal and the quantization noise overlaid on the signal.
A corresponding filtering technique has been described in the article entitled High Quality Audio Transform Coding at 64 kbits, IEEE Trans on Communications Vol 42 No. 11, November 1994, published by Y. Mahieux and J. P. Petit.
Implementing such a filtering entails knowing parameters, some of which are estimated on the decoder from noise-affected samples. However, information such as the energy of the original signal can be known only to the encoder and must consequently be transmitted. When the received block contains an abrupt variation in the dynamic range, the filtering processing is applied to it.
The abovementioned filtering process does not make it possible to retrieve the original signal, but does produce a strong reduction in the pre-echoes. However, it requires the additional auxiliary parameters to be transmitted to the decoder.
A second solution involves reducing the pre-echoes by a dynamic switching of the windows.
Such a technique has been described in the U.S. Pat. No. 5,214,742 granted to B. Edler. This solution has been the subject of applications in various audio encoding solutions according to international standards.
According to this solution, because of the fact that the time and frequency resolution of the signals depend strongly on the length of the coding window, the frequency coders switch between long windows (2048 samples, for example), for stationary signals, and short windows (256 samples for example) for signals with widely varying dynamic range or transient signals. This adaptation is performed in the AAC module, the decision being taken frame by frame on the encoder.
One of the drawbacks of this second solution is that it includes an additional delay of the order of N/2 samples because of the fact that if a transition begins in the next window, it is essential to be able to prepare the transition and to switch to a transition window that makes it possible to retain the perfect reconstruction.
The reduction of the echoes can, however, be facilitated in the hierarchical encoders when the decoder comprises several time decoding stages, possibly predictive, and transform decoding stages. In this case, the time decoding stages can be used to detect echo. An example of decoding of this type is described in the US patent application 2003/0154074 by K. Kikuiri et al.
The method known from the prior art described by the abovementioned patent application consists in performing a detection of the pre-echoes exclusively based on the decoded CELP basic core signal, CELP standing for Code Excited Linear Prediction.
Such a method does not make it possible to provide, for this reason, a pre-echo reduction processing based on the attached information and in synchronism with the reconstructed frames from the time decoder and from the transform decoder.
The abovementioned French patent application 05 07471 makes it possible to discriminate the presence of the echoes and attenuate the echoes of a digital audio signal generated by multi-layer hierarchical encoding from a transform encoding, which generates echoes, and a time encoding, which does not generate echoes. In this patent application, in the decoding, and for each current frame of the digital audio signal, the value of the ratio of the amplitude of the signal obtained from an echo-generating decoding to the amplitude of the signal obtained from a non-echo-generating decoding is compared to a threshold value, in real time. If the value of this ratio is greater than or equal to this threshold value, it can be concluded that an echo deriving from the transform encoding exists in the current frame. Otherwise, the value of this ratio being less than this threshold value, it can be concluded that an echo deriving from the transform encoding does not exist in this current frame.
This method is described by
a describes a hierarchical decoder comprising a plurality of non-echo-generating decoders, called “predictive decoding layer i”, and a plurality of transform decoders called “transform decoding layer j”.
b (
c (
d (
g(k)=Min(EnvPi(k)/EnvTj(k),1)
In this figure, when the value of POS is zero, the pre-echo processing is performed over the entire frame.
e (
In this example, the signal filtering operations are performed either by time filtering on the time signal xPi (n), or by filtering in the MDCT (Modified Discrete Cosine Transform) frequency domain, performed by transformation of the time signal into MDCT coefficients, then manipulation of the MDCT coefficients (setting of the MDCT coefficients to zero, addition, replacement, etc.) and finally inverse MDCT transform followed by addition/overlap for each of the sub-bands.
The method and the device described by the abovementioned French patent application 05 07471 provides a solution to the drawbacks of the prior art mentioned previously.
In the solution described in the French patent application 05 07471, to remedy the erroneous triggering of the echo attenuation device, a procedure for predicting the triggering of the echo attenuation device is used on the encoder.
More specifically, since the encoder has the signal to be transform-encoded, the discrimination of the echoes on the non-quantized signal is performed on the encoder, and, since the encoder is not subject to the pre-echoes, any triggerings can be guaranteed to be erroneous. The echo is detected on the encoder, and if there is an abnormal detection, a flag is then transmitted in the frame to inhibit the attenuation of the echo on the decoder.
The object of the present invention is to avoid the cases of erroneous triggering of the echo attenuation device, in the absence, on the one hand, of transmission of a specific auxiliary indication from the encoder, and, on the other hand, of the introduction of additional complexity in the encoding.
Another object of the invention is, furthermore, in case of non-transmission of the false-alarm indication from the encoder, to enable the attenuation of the echoes to be inhibited in synchronism with the appearance of the attack, which cannot be done in the prior art devices, because the time encoder generally does not react instantaneously to the attack.
Another object of the present invention is, furthermore, to avoid the erroneous triggering of the echo attenuation device when the signal deriving from the transform decoder has a constant dynamic range, the echo attenuation device not needing to be activated, because there is no attack, unlike the devices of the prior art, in which, when the signal decoded by the time decoder is weak relative to the signal decoded by the transform decoder, the echo attenuation device is triggered.
Another object of the present invention is to provide for an implementation in the case where a low data rate is allocated to the time encoder, which, consequently, cannot correctly encode all the input signals.
One example that can be cited is the case of certain time encoders of the prior art operating in a reduced frequency band of the signal, 4000 to 7000 Hz, and which cannot correctly encode the sinusoids present in this band. The signal at the time encoder output is then weak and the echo attenuation is wrongly activated which produces a strong encoding degradation.
Another object of the present invention is also to provide for the implementation of a method and a device for the safe discrimination and attenuation of the echoes of a digital signal in a multi-layer decoder that makes it possible to prevent the attenuation of post-echoes from being wrongly inhibited when the attack lies in the preceding frame.
The method for discriminating and attenuating the echoes of a digital audio signal generated from a transform encoding, which generates echoes, the subject of the invention, is noteworthy in that it includes at least in the decoding, for each current frame of this digital audio signal, the steps consisting in discriminating a low-energy zone preceding a transition to a high-energy zone, defining a false-alarm zone corresponding to the non-discriminated zones of the current frame, determining an initial processing of the echoes with attenuation gain values, attenuating the echoes according to the initial processing of the echoes in the low-energy discriminated zones of the current frame, inhibiting the attenuation of the echoes of the initial processing in the false-alarm zone.
The method that is the subject of the invention that makes it possible to eliminate the echoes, pre-echoes and post-echoes, without introducing degradation on the high-energy signal generated by an attack.
Hereinafter, the following notation is used in reference to
xrec(n)=h(n+L)xprev(N+L)+h(n)xcur(n) for nε[0, L−1]
In a transform encoder, the reconstructed signal of the current frame (xrec(n), n=0 to L−1) is obtained by weighted addition of the second part of the output of the inverse MDCT of the MDCT coefficients of the preceding frame (xprev(n), n=L to 2L−1) and the first part of the output of the inverse MDCT of the MDCT coefficients of the current frame (xcur(n), n=0 to L−1). The second part of the output of the inverse MDCT of the MDCT coefficients of the current frame (xcur(n) n=L to 2L−1), will be kept in memory to be used to obtain the reconstructed signal of the next frame. To simplify, hereinafter, the terms “first part of the current frame”, “second part of the current frame”, “reconstructed signal of the current frame” will be used. In the next frame, the second part of the current frame therefore becomes the second part of the preceding frame.
In particular, for an attack situated in the current frame, in the first or second part, the method that is the subject of the invention consists in generating a concatenated signal, from the reconstructed signal of the current frame and from the signal of the second part of the current frame, dividing up this concatenated signal into an even number of sub-blocks of samples of determined length, calculating the energy of the signal of each of the sub-blocks of determined length, calculating a first index representative of the rank of the maximum energy sample and a second index representative of the last high-energy sample, calculating the minimum energy over a number that is half the even number of sub-blocks of the first sub-blocks of the digital audio signal and, when the ratio of the maximum energy to the minimum energy is greater than a determined threshold value, a risk of pre-echoes being revealed in the only low-energy part of the signal, inhibiting any attenuation action on the high-energy samples of rank between the first and the second index.
The determination of the first and the second indices makes it possible to define between the latter a false-alarm range corresponding to the high-energy signal in which the attenuation of the echoes, pointless or damaging to the signal, must be eliminated.
The device for discriminating and attenuating the echoes of a digital audio signal generated by a multi-layer hierarchical encoder, in a decoder, the subject of the invention, this decoder comprising at least one time decoder, which does not generate echoes, and at least one transform decoder, which can reveal echoes, is noteworthy in that it comprises at least on a time decoder and a transform decoder, means of discriminating a low-energy zone preceding a transition to a high-energy zone, means of defining a false-alarm zone corresponding to the non-discriminated zones of the current frame, means of determining an initial processing of the echoes with attenuation gain values, means of attenuating the echoes according to the initial processing of the echoes applied to the low-energy discriminated zones of the current frame and means of inhibiting the attenuation of the echoes of the initial processing applied to the false-alarm zone.
They will be better understood from reading the description and studying the drawings below in which, apart from
a describes a hierarchical decoder comprising a plurality of non-echo-generating decoders and a plurality of transform decoders.
b describes a device for discriminating echoes with, as input, the decoded signal deriving from the time decoder and the one deriving from the transform decoder.
c indicates how to calculate the time envelopes of the signals deriving respectively from the time decoder and from the transform decoder, and the echo presence flag.
d shows how the attenuation of the echoes is performed over the echo presence duration by multiplication of the addition/overlap output signal by a gain g(k) equal to the ratio of the envelope of the time signal to that of the transform-decoded signal.
e describes the principle of the discrimination of the echoes in a multi-layer system where the discrimination of the echoes and their attenuation is performed in a non-limiting way in two frequency sub-bands.
f illustrates a process for reconstruction of a frame
a represents, by way of illustration, a general flow diagram of the steps for implementing the method that is the subject of the invention;
b represents a timing diagram of the digital audio signals in a CELP predictive/multi-layer transform encoder of the low band of the signal, in the absence of echo attenuation;
c represents a timing diagram of the digital audio signals in a CELP predictive/multi-layer transform encoder in the low band of the signal with echo attenuation of the prior art illustrated by
d represents a timing diagram of the digital audio signals in a CELP predictive/multi-layer transform encoder of the low band of the signal, in the absence of echo attenuation;
a represents, by way of illustration, said concatenated signal, signal controlling the inhibition of echo attenuation according to a first exemplary, preferred, non-limiting implementation of the invention;
b represents, by way of illustration, said concatenated signal, signal controlling the inhibition of the echo attenuation according to a second exemplary, preferred, non-limiting implementation of the invention;
c represents a timing diagram of the digital audio signals in a time/multi-layer transform decoder of the high-frequency bands of the signal in the absence of echo attenuation, for the case of decoding of a sinusoid;
d represents a timing diagram of the audio signals in a time/multi-layer transform decoder in the high-frequency band of the signal with activation of the echo attenuation for the decoding of a sinusoid, according to the prior art;
e represents a timing diagram of the audio signals in a time/multi-layer transform decoder of the high-frequency band of the signal with activation of the attenuation and of the inhibition of the echo attenuation for the decoding of a sinusoid, according to the method that is the subject of the invention;
a represents, by way of illustration, a flow diagram for calculation of the range of pre-echo attenuation inhibition samples;
b represents, by way of illustration, a timing diagram for calculation of the range of pre-echo and post-echo attenuation inhibition samples;
c represents, by way of illustration a flow diagram of the implementation of the pre-echo attenuation inhibition;
d represents, by way of illustration, a gain factor smoothing flow diagram;
a represents, by way of illustration, a block diagram of a module for defining a false-alarm zone;
b represents, by way of illustration, a flow diagram for calculation of the gains in the gain calculation sub-module of
A more detailed description of the method that is the subject of the invention will now be given in association with
The method that is the subject of the invention makes it possible to discriminate the echoes of a digital audio signal in decoding, when this digital audio signal is generated by multi-layer hierarchical encoding from a transform encoding and predictive encoding.
Referring to
Referring to
In
Referring to the indicated notation, it will be understood, in particular, that the amplitude of the signal deriving from a decoding that generates echo and the amplitude of the signal deriving from a decoding that does not generate echo can advantageously be represented by the envelope signal of the echo generating decoding signal xTj(n), respectively of the signal deriving from a non-echo-generating decoding xPia(n).
In
xTj(n)→EnvTj(k)
xPia(n)→EnvPi(k)
Generally, it should be indicated that the amplitude signal of the signal deriving from an echo-generating decoding, respectively of the signal deriving from a non-echo-generating decoding, can be represented not only by the abovementioned envelope signal but also by any signal such as the absolute value, or other, representative of the abovementioned amplitude.
Referring to the same
Referring to the preceding notations, it should be indicated that the comparison step A of
If the value of the abovementioned ratio is greater than or equal to the threshold value S, in positive response to the step A, the abovementioned test then makes it possible to conclude in the step B that an echo deriving from the transform encoding exists in the current frame, this echo then being revealed in the decoding.
The existence of the echo is represented in the step B by the relation:
∃ echo xTj(n)
Otherwise, in negative response to the test of the step A, if the value of the abovementioned ratio is less than the threshold value S, the test of the step A then makes it possible to conclude, in the step C, that an echo deriving from the transform encoding does not exist in the current frame.
This relation is denoted in the step C by:
echo xTj(n)
In a particularly advantageous way, according to the implementation of the method that is the subject of the invention, it should be indicated that the original position of the echo in the current frame is in fact given by the position, in the current frame, of the value of the ratio roughly equal to the threshold value S.
The abovementioned value is given in the step B of
Pos k|R(k)=S
As a general rule, regarding the implementation of the test of the step A and, ultimately, of the tests C and B of
The step B, in the presence of echoes, is followed by a step D consisting in discriminating the existence of echoes in the low-energy digital audio signal parts, denoted XTj(n)low. The corresponding echoes are denoted EXTj(n)low. Furthermore, the step D makes it possible, from the abovementioned discrimination, to define a false-alarm zone, corresponding to the non-discriminated zones of the current frame.
Following the discrimination in the step D, a step E is performed, which consists in determining an initial processing of the echoes with attenuation gain values and in attenuating the echoes in the low-energy digital audio signal parts. The step E is followed by a step F consisting in inhibiting the attenuation of the echoes in the high-energy digital audio signal parts, denoted XTj(n)hiw.
As a general rule, the method that is the subject of the invention can be implemented by performing the discrimination and the attenuation of the echoes in several signal bands with, as a non-limiting example, the case of two frequency bands, the low band [0-4 kHz] and the high band: [4-8 kHz]. In this example, a time/transform multi-layer encoder is implemented in each band of the signal. In the low band, the transform encoder quantizes the difference between the original signal and the decoded CELP signal in the perceptual domain (after filtering by the perceptual filter W(z)), whereas, in the high band, it quantizes the original signal without perceptual filtering and, on decoding, the correctly decoded bands replace the already decoded bands deriving from the MDCT of the time signal supplied by the band extension module. The addition provided by the invention is therefore described for the device of each sub-band.
b shows the audio signals involved in synthesizing the low band of the signal in a CELP predictive/multi-layer transform decoder of the type of that described by
The final output signal resulting from the addition of the decoded CELP signal and of the decoded transform signal is itself also a source of the same echo phenomenon.
When an echo attenuation device of the prior art (for example that of FIG. 2.b) is activated, the signals of
The method and the device that are the subjects of the invention make it possible to remedy the erroneous attenuation of the output of the transform decoding stage or stages of the prior art, as illustrated in
By comparing
The echo processing gain generation process is now explained with reference to
If there is echo, the energy of a part of the signal in a MDCT window must be significantly greater (attacks) than that of the other parts. The echo is observed in the low-energy parts, so it is necessary to attenuate the echoes only in these parts and not in the high-energy zones.
There are two possible cases: the attack is located either in the current frame or the next frame. In the first case, there is a risk of wrongly attenuating echoes.
a represents, with reference to
The echo attenuation correction process that is the subject of the invention delivers two indices, ind1 and ind2, the start and the end of a possible area in which it is necessary to inhibit the action of the device of the prior art for reducing echoes. ind1>ind2 signals that there is no such zone in the current frame.
A more detailed description of a non-limiting preferred embodiment of the method that is the subject of the invention will now be given in association with
According to the abovementioned embodiment, represented in
It also consists:
When the ratio of the maximum energy to the minimum energy is greater than a threshold value S, there is a risk of pre-echo, but only in the low-energy zone. There is no echo from the high-energy samples.
For an echo detection device of the prior art attenuating the echo, it is necessary to inhibit the attenuation action of the latter on the high-energy samples delimited by the indices ind1 and ind2 defining the zone of the signal containing the high-energy samples and resetting the gain to the value 1. These two indices, the expression of which appears at the bottom of
In the example of
An offset is applied of one signal frame (L=160 samples), as illustrated in
L=160; K2=4; N2=L/K2=40; C=80
In this situation, the procedure for calculating the energy maxima and minima described previously is repeated.
It emerges that the energy maximum is found for the block starting at n=80 and that the ratio of the maximum energy to the minimum energy is this time fairly high, not to say greater than the threshold value S. As an example, a value of S=8 gives good results.
In this case, there is a pre-echo before the energy maximum but, on the contrary, the block where the maximum is located and a few subsequent blocks are not subject to the echo phenomenon. In accordance with the method that is the subject of the invention, it is therefore necessary to inhibit the activation of the echo attenuation at the moment of the attack and after. This is what is done for the samples ranging from n=80 to 159 in
Consequently, in
The method that is the subject of the invention can also be implemented in a specific variant for the attenuation of the echoes of a multi-layer encoder of the low or high frequency band for sinusoidal signals, as will be described hereinbelow in association with
c shows the audio signals involved in the synthesis of the signal in a time decoder, possibly predictive/multilayer transform of the high band of the audio signal of the type of that described by
When the echo attenuation process of the prior art, for example that of
The invention makes it possible to remedy the poor modeling of the signal as described in
The operation of the inhibition of the echo attenuation in the presence of sinusoids will be described with reference to
It can be seen in the abovementioned figure that there is no maximum net energy. The ratio of the maximum energy to the minimum energy is this time fairly low, less than the threshold value S. This indicates that there is no echo present. According to the method that is the subject of the invention, it is therefore essential to inhibit the activation of the echo attenuator over the entire frame. This is represented for the samples ranging from n=0 to n=159 in
In
L=160; K2=4; N2=L/K2=40; C=80; S=8
Referring to
The post-echo situation can be detected by checking the ratio between the maximum energy of the preceding frame and of the current frame. When this ratio is greater than a threshold value, the frame is considered to be a frame originating post-echoes and the echo attenuation algorithm is left to attenuate the echoes of this frame.
A more detailed description of a device for discriminating and attenuating echoes of a digital audio signal generated by a multi-layer hierarchical encoder, according to the subject of the present invention, will now be given in association with
Generally, it will be understood that the device that is the subject of the invention represented in
It comprises, in a way similar to the discrimination device of the prior art, a module for calculating the existence of the original position of the echo and the attenuation value receiving, on the one hand, the auxiliary signal xPia(n) delivered by the second output of the predictive decoder of rank i of a plurality of predictive decoders and, on the other hand, the decoded signal xTj(n) delivered by the output of an inverse transform decoder of rank j of the plurality of inverse transform decoders.
Furthermore, in order to ensure that undesirable echoes will be attenuated, it comprises an echo attenuation module receiving the reconstructed signal of the current frame delivered by the inverse transform decoder of rank j and a presence, original echo position and applicable echo attenuation value signal.
Thus, in
A non-limiting preferred embodiment of a device for discriminating and attenuating the echoes of a digital audio signal generated by a multi-layer hierarchical encoder, according to the subject of the present invention, will now be given in association with
The device that is the subject of the invention as represented in
In particular, as represented in
Furthermore, a summing circuit 14 receives the signal delivered by the high frequency band decoding channel, Channel H, respectively by the low frequency band decoding channel, Channel L, and delivers a reconstituted digital audio signal.
It will be understood in particular from studying
In particular, as represented in
The low frequency band decoding channel, Channel L, also comprises an inverse transform frequency-time transposition module 05 receiving spectral coefficients of the coded difference signal {circumflex over (X)}lo, in the low frequency band, and delivers the low frequency band digital audio signal denoted {circumflex over (x)}lo.
Furthermore, the resources for discriminating the existence of echo in the parts of the low energy signal and the attenuation inhibition resources specific to the low frequency band decoding channel, Channel L, comprise, as represented in
Finally, the low frequency band decoding channel, Channel L, comprises a circuit 17 for applying the low frequency gain value Glo to the signal decoded by transform and filtered by WNB(z)−1, an addition resource 08, a post filtering resource 09, an oversampling resource 10 and QMF synthesis filtering resource 11, these various elements being cascade-connected and delivering a digital audio low frequency band synthesis signal to the summer 14.
Furthermore, as also represented in
The high frequency band decoding channel Channel H also comprises the transform decoding module 04 which receives the demultiplexed digital audio bitstream and spectral coefficients of the time reference signal via an MDCT transform time-frequency transposition 03, which makes it possible to deliver the spectral coefficients of the time reference signal at the high frequencies, denoted {circumflex over (X)}hi, to the transform decoding module 04.
The latter delivers the spectral coefficients of the high frequency band encoded digital audio signal denoted {circumflex over (X)}hi.
The high frequency band decoding channel for the digital audio signal, Channel H, also comprises an inverse transform frequency-time transposition module 06, the inverse transform operation being denoted MDCT-1, followed by the addition-overlap operation denoted “add/overlap” receiving the coefficients of the spectrum of the digital audio signal {circumflex over (X)}hi in the high frequency band and delivers the high frequency band time digital audio signal denoted {circumflex over (x)}hi.
In a way similar to the architecture of the low frequency band decoding channel, resources for defining a pre-echo false-alarm zone 18 and for detecting pre-echo 19 forming the echo attenuation inhibition resources are provided. The latter consist of a module 18 for defining a false-alarm zone and for detecting echo 19 from the high frequency band digital audio signal {circumflex over (x)}hi, and from the signal output from the band extension module, the module for detecting echoes, in particular pre-echoes, 19, delivering a high frequency gain value signal, denoted Ghi.
Finally, a circuit 20 for applying the high frequency gain value to the high frequency band digital audio signal is provided, followed by an oversampling 12 and high-pass filtering 13 circuit delivering a high frequency band synthesis signal of the digital audio signal to the summing circuit 14.
The operation of the device that is the subject of the invention represented in
The bitstream of the layers at 8 and 12 kbit/s is used by the CELP decoder to generate a first narrow-band synthesis (0-4000 Hz). The portion of the bitstream associated with the layer at 14 kbit/s is decoded by the band extension module 02. The time signal obtained in the high band (4000-7000 Hz) is transformed by the MDCT module 03 into a spectrum {tilde over (X)}hi. The variable part of the received bit rate (14 to 32 kbit/s) controls the decoding of the MDCT coefficients of the low band difference signal and of the high band replacement signal, module for decoding MDCT coefficients 04 which have been encoded in order of perceptual importance. In the low band, the spectrum of the encoded difference signal {circumflex over (X)}lo contains the reconstructed spectrum bands and zeros for the non-decoded bands that have not been received on the decoder. In the high band, {circumflex over (X)}hi contains the combination of the spectrum deriving from the band extension {tilde over (X)}hi and spectrum bands of the MDCT coefficients of the high band encoded directly. These two spectra are adjusted to the time domain {circumflex over (x)}lo and {circumflex over (x)}hi by the inverse MDCT frequency-time transposition and addition/overlap modules 05 and 06.
The modules 15 and 18 determine any zone in which it is essential to inhibit the echo attenuation of the prior art in the reconstructed frame.
As explained previously, the module 15 receives as input signal the reconstructed signal of the current frame {circumflex over (x)}lo and the second part of the current frame, designated Memlo in
a and
The block 07 performs the inverse perceptual filtering, of that performed on the encoder, of the output of the inverse transform decoder 05. According to the ratio between the envelope of this signal and that of the output signal of the CELP decoder, the module 16 determines the pre-echo attenuation gains, by also taking into account the indices obtained in the module 15 of the present invention. In the module 16, certain ranges of gain values are reset to 1 and in fact make it possible to inhibit the gain values established according to the prior art, by resetting them to the value 1, a state in which there is no echo attenuation.
An exemplary embodiment of the module 16 is given by the flow diagram of
The module 17 applies the gain calculated by the module 16 to the output signal of the transform decoder, filtered by the inverse perceptual filter 07, to give a signal with attenuated echo. This signal is then added by a summer 08 to the output signal of the CELP decoder to give a new signal which, post-filtered by the post-filtering module 09, is the reconstituted low-band signal. After over-sampling 10 and transfer to the low-band synthesis QMF filter 11, this signal is added to that of the high band by the summer 14 to give the reconstituted signal.
In the high band, the operation of the module 18 is identical to that of the module 15. From {circumflex over (x)}hi, the reconstructed signal of the current frame and of the second part of the current frame, designated Memhi in
According to the ratio of the envelope of the output signal of the frequency-time transposition 06 and of the output of the band extension 02, the module 19 determines the pre-echo attenuation gains, by also taking into account the indices obtained by the module 18, flow diagrams of
The wideband output signal, sampled at 16 kHz, is obtained by adding 14 signals from the low band synthesized by over-sampling 10 and low-pass filtering 11 and from the high band also synthesized by over-sampling 12 and high-pass filtering 13.
The operation of the echo attenuation inhibition performed by the modules 15 and 18 of
The first part of the flow diagram around the step referenced 103 consists in calculating the energy of the K2 sub-blocks the reconstructed signal xrec(n) after addition/overlap. xrec(n) in this flow diagram corresponds respectively to the signals {circumflex over (x)}lo and {circumflex over (x)}hi of
The next part around the step referenced 107 consists in calculating the energy of each sub-block of the second part of the current frame, at the output of the inverse MDCT. Only K2/2 values are different because of the symmetry of this part of the signal.
The energy minimum minen is calculated on the K2 sub-blocks of the reconstructed signal, step 110. The maximum of the energies of the signal sub-blocks xrec(n) and xcur(n) is calculated in step 111 over the K2+K2/2 blocks.
The last part of the flow diagram represented in
The procedure according to the flow diagram of
To keep the post-echo attenuation processing intact, a modification is applied to the procedure represented in
The first part of the flow diagram of
The next part also takes into account the post-echo cases in which there is no need to inhibit the activation of the post-echo gain attenuation.
maxrec, the energy maximum over the K2 blocks of the reconstituted signal, is first calculated in the step 210. Having kept in memory the energy maximum from the preceding frame maxprev, the ratio of maxprev to the current maximum maxrec is then compared. When the ratio is greater than a threshold value S1, there is a post-echo situation and the post-echo attenuation must not be inhibited. Consequently, maxrec is stored for the next frame and instantiated ind1 with L and ind2 with L−1, step 212, and the procedure is terminated. Otherwise, maxrec is stored for the next frame in the step 213. maxen, the energy maximum over all of the 1.5 K2 blocks of the concatenated signal and the start index of the maximum energy block is then calculated, step 214. The minimum energy is then calculated, then the ratio of the energy maximum to the minimum is compared in a way similar to the flow diagram of
The inhibition of the echo attenuation across the false-alarm range will now be described in association with
The steps 301 for calculating the envelope of the signal deriving from the transform encoder and 302 for calculating the envelope of the signal deriving from the time encoder have been added at the start of the flow diagram. Then, the essential part that has been added to
For the implementation of the method illustrated by
Hence, the filtering equation in the time domain:
g′(n)=αg′(n−1)+(1−α)g(n)
In the preceding relations α is a real value between 0 and 1.
In practice, this initial gain is calculated every k2 samples (typically k2=40) and its value is repeated for all the samples of the sub-block, which gives it a staircase appearance, hence the use of the smoothing described by the flow diagram of
It can be noted that the modules for defining a false-alarm area 15 and/or 18 operate with the only input signals being the signals deriving from the inverse transform for the addition/overlap. This module can be implemented in any decoder (hierarchical or not, multi-band or not) using an inverse transform by addition/overlap to generate the reconstructed signal to secure the initial echo attenuation decision given by another device.
An exemplary implementation is illustrated by
In
An exemplary implementation of the calculation of the initial gains is given with reference to
The corresponding substeps comprise, as much for the module for defining a false-alarm zone 15 as 18, a sub-step 500 for initializing the gain G(n) of the rank of the sample n with the value zero, a step 501 for instantiating the rank of the sample being processed n with the first index value ind1, a test step 502, for comparing the inferiority of the rank n to the second index value minus 1.
As long as this value is not reached, the gain value G(n) is modified to the value 1, 503, and the method goes on to the next rank sample 504, by n=n+1, the substep 502 the gain modification operation is terminated.
The method that is the subject of the invention uses a particular example of calculation of the start of the attack (search for the energy maximum for each sub-block) that can operate with any other method of determining the start of the attack.
The method that is the subject of the invention and the abovementioned variant apply to the attenuation of the echoes in any transform encoder that uses a bank of MDCT filters or any bank of filters with perfect reconstruction with real or complex value, or the banks of filters with almost perfect reconstruction and the banks of filters that use the Fourier transform or wavelet transform.
The invention also covers a computer program comprising a series of instructions stored on a medium for execution by a computer or a dedicated device, noteworthy in that, on execution of these instructions, the latter executes the method that is the subject of the invention, as described previously in association with
The abovementioned computer program is a directly executable program installed in a module for discriminating the existence of echoes in the low-energy signal parts, an echo attenuation module and a module for inhibiting the attenuation of the echo in the high energy parts of the signal of the current frame, of an echo attenuation detection device as described in association with
Number | Date | Country | Kind |
---|---|---|---|
06 01466 | Feb 2006 | FR | national |
Filing Document | Filing Date | Country | Kind | 371c Date |
---|---|---|---|---|
PCT/FR2007/050786 | 2/13/2007 | WO | 00 | 10/17/2008 |
Publishing Document | Publishing Date | Country | Kind |
---|---|---|---|
WO2007/096552 | 8/30/2007 | WO | A |
Number | Name | Date | Kind |
---|---|---|---|
20050055116 | Isaka et al. | Mar 2005 | A1 |
Number | Date | Country |
---|---|---|
1 335 353 | Aug 2003 | EP |
1 335 353 | Aug 2003 | EP |
WO 2006114368 | Nov 2006 | WO |
Number | Date | Country | |
---|---|---|---|
20090313009 A1 | Dec 2009 | US |