Transmission of speech coding parameters with echo cancellation
Abstract
The invention refers to a transmission method in an analysis by synthesis system. The invention refers to a method for transmitting speech parameters representing an acoustic signal being encoded by an analysis through synthesis method wherein at least a part of the speech parameters are selected from fixed codebook entries and respective fixed gains for describing the acoustic signal in a time interval, comprising the steps: Estimating the energy (E1(k)) of a received signal (x(n)) by using the fixed gain (gl,f(k)) of the received signal (x(n));Estimating the energy of a signal to be sent (y(n)) by using the fixed gain (gm,f(k)) of the signal to be sent;Deriving a loudspeaker modification factor (a1(k)) for modifying the fixed gain factor (gl,f(k)) of the received signal, said loudspeaker modification factor being based on the energy of the received signal (x(n)) and the energy of the signal to be sent (y(n));Modifying the fixed gain (gl,f(k)) of the received signal with the loudspeaker modification factor.

Term
Term ended
Projected expiry passed 1 October 2023, 3 years ago.
- Priority and filed
- Published
- Projected expiry
- Today
14 claims: 7 independent, 7 dependent
- 1Method for transmitting speech parameters representing an acoustic signal being encoded by an analysis through synthesis method wherein at least a part of the speech parameters are selected from fixed codebook entries and respective fixed gains for describing the acoustic signal in a time interval, comprising the steps:a) Estimating the energy (E l (k)) of a received signal (x(n)) by using the fixed gain (g l,f (k)) of the received signal (x(n));b) Estimating the energy of a signal to be sent (y(n)) by using the fixed gain (g m,f (k)) of the signal to be sent;c) Deriving a loudspeaker modification factor (a l (k)) for modifying the fixed gain factor (g l,f (k)) of the received signal, said loudspeaker modification factor being based on the energy of the received signal (x(n)) and the energy of the signal to be sent (y(n));d) Modifying the fixed gain (g l,f (k)) of the received signal with the loudspeaker modification factor.
- 4Method according to any of the previous claims, wherein the energy estimate of the signal to be sent and the received signal is averaged and the averaged energies are used for deriving the loudspeaker modification facto and the microphone modification factor.
- 5Method according to any of the previous claims, wherein the estimating of the energy of the received signal is performed using the expression E l ( k ) = E f,c g l,f ( k )+ g l,a ( k ) E l ( k- 1) where E l (k) is the energy of the received signal in the time interval k, wherein k is an integer number, E f,c is a entry of the fixed codebook, g l,f is the fixed gain of the received signal and E l (k-1) is the energy of the received signal in the previous time interval, and the energy of the signal to be sent is estimated by using the expression:E m ( k ) = E f,c g m,f ( k ) + g m,a ( k ) E m ( k -1) where E m (k) is the energy of the signal to be sent in the time interval k, wherein k is an integer number, E f,c is a entry of the fixed codebook, g l,f is the fixed gain of the received signal and E m (k-1) is the energy of the signal to be sent in the previous time interval.
- 6Method according to any of the previous claims, wherein the signal to be sent is recorded by a microphone and the received signal is reproduced by a loudspeaker.
- 7Method according to any of the previous claims, wherein the time interval is a frame or a subframe.
- 9Method according to any of the previous frames wherein the modification factor a l for the received signal is determined by wherein m is an integer number denoting an energy threshold, E diff is the difference in energy between the received signal and the signal to be sent and k is an integer number denoting the time interval.
- 11Method wherein the microphone modification a m factor is determined by a m ( k )=1- a l ( k ), wherein a l is the loudspeaker modification factor
Independent claims8
82 paragraphs, as filed
0001The invention refers to a transmission method in an analysis by synthesis system.
0002Speech signals are often encoded using linear prediction. This is e.g. realized by using CELP (Code Excited Linear Prediction) encoders, where a synthetically produced speech signal is approximated in respect with the original speech signal. The synthetic signal is described by so called codebooks, which contain a variety of excitation signals and respective gains for amplifying or attenuating the excitation signals.
0003The excitation signals are fed into a filter modelling the vowel tract of a human and the result of the filtering is compared with the original speech signal. The excitation signals and gains are chosen such that the synthetic signal approximates the original signal.
0004As codebooks mostly a so-called adaptive codebook for describing periodic components of speech and a fixed codebook are being used.
0005This will be described in greater detail in reference with Fig. 2 using an example from the AMR (Adaptive Multi Rate Codec, which can be used for GSM (Global System of Telecommunications) applications and which is mandatory for UMTS (Universal Mobile Telecommunications System).
0006First a model of a communication system derived from a end-to-end conversation of at least two communication devices will be described with reference to Fig. 1. The signal or the voice of one speaker, the near-end-speaker B, is recorded by a microphone M and digitized for encoding the signal in a encoder as a preparation for a transmission. The encoding may comprise e.g. source and channel coding.
0007This coded signal is transmitted over a noisy channel, i.e. that the signal experiences degradation by the noise, to the counterpart of the conversation, where it is decoded in a decoder, and converted into an analog signal that can be spread over a loudspeaker L. The system can be considered as symmetric, thus only one side needs to be regarded.
0008The other part of the conversation, the far-end speaker A, is linked with speaker B through the so-called loudspeaker path, whereas the near-end speaker B is linked with the far-end speaker A through the microphone path.
0009Since speech signals are analog signals, they have to be sampled and converted back for coding reasons. In the framework of this application the index "t", which denotes a time instant explicitely, refers to analog signals whereas digital signals are noted by index "n" or "k", which denote a certain time interval, e.g. a frame or a subframe. "k" references source coded signals, while the digital uncompressed representation of speech is indexed with "n".
0010The voice of the far-end speaker A is transmitted to the loudspeaker at speaker B and converted to sound waves, so that the near-end speaker is able to understand the other talker. In the same way, the voice of the near-end speaker is converted to a digital signal by the microphone and the A/D-transducer. Besides the near-end speaker's voice, environmental noise and reflected sound waves of the loudspeaker output are recorded by the microphone. Therefore the microphone signal y(t) is a sum of the near-end speech s(t), of the noise n(t) and of the reflected signal or (acoustic) echo signal e(t).<maths id="math0001" num="(1)"><math display="block"><mrow><mtext>y(t) = s(t)+e(t)+n(t)</mtext></mrow></math><img file="EP1521241A1_D0001.tif" /></maths>
0011This is describing the so-called double-talk situation in contrast to the single-talk situation. In the following the noise n(t) is assumed to be 0. The single-talk mode is characterized by only one person talking. If speaker B is talking, the microphone signal is<maths id="math0002" num="(2)"><math display="block"><mrow><msub><mrow><mtext>y(t) = s(t)</mtext></mrow><mrow><mtext>e(t) = 0</mtext></mrow></msub></mrow></math><img file="EP1521241A1_D0002.tif" /></maths><maths id="math0003" num="(3)"><math display="block"><mrow><msub><mrow><mtext>y(t) = e(t)</mtext></mrow><mrow><mtext>s(t) = 0</mtext></mrow></msub></mrow></math><img file="EP1521241A1_D0003.tif" /></maths> if only the far-end speaker is talking.
0012In double-talk both persons are talking simultaneously, so the microphone signal is the sum of the near-end speaker's voice and the echo of the far-end speaker's voice
0013The main problem of acoustic echo e(t) is that the speaker's own voice is transmitted back to him. This does not affect the quality of the conversation as long as twice the transmission time (transmission over loudspeaker and microphone path) is less or equal the reflection time of the speaker's own voice in his LRM system. Then the echo is masked. Unfortunately in mobile telephony or satellite telephony the transmission time is usually much longer. The result is that the far-end speaker A hears his own voice with a delay of about 160 ms in case of fixed to mobile network transmission. This decreases greatly the quality of the conversation, especially when the partner of the conversation is not talking.
0014In order to reduce the echo in the microphone signal y(t) a so called "gain-loss control" has been introduced, where the microphone signal y(t) is attenuated for speaker A if the near-end speaker B is talking. Thus less noise or echo will be transmitted from A to B while B is speaking. In other words, the principle of this method is to attenuate the microphone signal if the far-end speaker is talking and to reduce the loudspeaker signal in power if the near-end speaker is talking. The effect is that only a strongly reduced echo signal is transmitted to the far-end speaker as either the loudspeaker or the microphone path is attenuated. The disadvantage of the gain loss control however is its behavior in double-talk mode. Because in this mode the loudspeaker and the microphone signal do not differ much in their energy, the gain loss control attenuates both paths. Thus conversation is only possible during single-talk mode without decreasing the understandability of the conversation.
0015The sound waves, which are excited by the diaphragm of the loudspeaker, spread in the LRM system with sonic speed. As they are reflected by objects and walls in this LRM system, there is a superposition of waves at the microphone. These sound waves are delayed and attenuated variably because of different propagation paths. So the echo signal e(t) is a sum of decreased and delayed signals x(t). This is modeled by the convolution of the loudspeaker signal $x(t)$ with the impulse response of the LRM system h(tau,t)<maths id="math0004" num="(4)"><math display="block"><mrow><mtext>e(t) = x(t) * h(τ,t)</mtext></mrow></math><img file="EP1521241A1_D0004.tif" /></maths> where h (τ,t) is the channel response at observation time t to an impulse at t-tau. The impulse response is time-varying, depending on the motion of people, objects, loudspeaker or microphone in the LRM system.
0016The proper attenuation of the microphone signal or the loudspeaker signal depending on the energy of the echo signal is, however, complex to calculate.
0017Based on the foregoing description it is therefore an object of the invention to provide the possibility of implementing a gain loss control that works safely and does not require a high complexity.
0018This object is solved by the subject matter disclosed in the independent claims. Advantageous embodiments of the present invention will be presented in the dependent claims.
0019In a method for transmitting speech data or parameter said speech data are encoded by using an analysis through synthesis method. For the analysis through synthesis a synthesised signal is produced for approximating the original signal. The production of the synthesised signal is performed by using at least a fixed codebook with a respective fixed gain and optionally an adaptive codebook and a adaptive gain. The entries of the codebook and the gain are chosen such, that the synthesised signal resembles the original signal.
0020Parameters describing these quantities will be transmitted from a sender to a receiver, e.g. from a near-end speaker to a far-end speaker or vice versa. These parameters are part of the speech data.
0021The invention is based on the idea of introducing a gain loss control implemented in the parameter range. Therefor the energy of a received signal, which may be reproduced by a loudspeaker is estimated on basis of its fixed gain. As parameters used for the analsysis through synthesis method are transmitted from the far-end speaker, the fixed gain is available for the near-end speaker.
0022Furthermore the energy of a signal to be sent, of e.g. the near-end speaker, which may be recorded by using a microphone, is also estimated on basis of its fixed gain. As this signal needs to be encoded before transmission to the far-end speaker, also this fixed gain is available for the near-end speaker.
0023From the fixed gain of the received signal and the fixed gain of the signal to be sent, which both represent the energies of the respective signals, modification factors are derived, one for the fixed gain of the signal to be sent and one for the fixed gain of the received signal .
0024Especially, depending on the respective energies of the signal to be sent and the received signal a further "shifting" of the energies to one of the signals can be performed, thus achieving a clear situation that one signal is predominant which enables a better understanding of the speech associated with the predominant signal. The weaker signal, which most probably resembles echo can be attenuated.
0025The advantage of this gain loss control method is, that the respective shifting is far less complex to calculate in respect with a gain loss control method in a time domain.
0026In a preferred embodiment the energies of the received signal and/or the signal to be sent are averaged before the modification factors are derived. The advantage thereof is to take account of short time variations that may distort the actual speaking situation, e.g. that a very loud, short noise, which superimposes the echo, fakes the situation that not the actual speaker but the other part of the communication is active. It is advantageous if the sum of both modification factors is equal to unity in order to not distort the total energy of the speech.
0027An encoding apparatus set up for performing the above described encoding method includes at least a processing unit. The encoding apparatus may be part of a communications device, e.g. a cellular phone or it may be also situated in a communication network.
0028In the following the invention will be described by means of preferred embodiments with reference to the accompanying drawings in which: <dl id="dl0001"><dt>Fig. 1:</dt><dd>depicts a schematic model of a communication between a far-end and a near-end speaker;</dd><dt>Fig. 2:</dt><dd>shows schematically the function of the AMR encoder;</dd><dt>Fig. 3:</dt><dd>shows schematically the function of the AMR decoder;</dd><dt>Fig. 4:</dt><dd>depicts a characteristic of the modification factors versus the energy difference between the signal to be sent and the received signal.</dd><dt>Fig. 5:</dt><dd>shows the non-linearity of a codec by example of the AMR codec</dd><dt>Fig. 6:</dt><dd>depicts a schematic model of a communication between a far-end and a near end speaker with the various gains;</dd></dl>
Function of a encoder (Fig.2)
0029First the function of a speech codec is described by an special implementation of an CELP based codec, the AMR (Adaptive Multirate Codec) codec. The codec consists of a multi-rate, that is, the AMR codec can switch between the following bit rates: 12.2, 10.2, 7.95, 7.40, 6.70, 5.90, 5.15 and 4.75 kbit/s, speech codec, a source-controlled rate scheme including a Voice Activity Detection (VAD), a comfort noise generation system and an error concealment mechanism to compensate the effects of transmission errors.
0030Fig. 2 shows the scheme of the AMR encoder. It uses a LTP (long term prediction) filter. It is transformed to an equivalent structure called adaptive codebook. This codebook saves former LPC filtered excitation signals. Instead of subtracting a long-term prediction as the LTP filter does, an adaptive codebook search is done to get an excitation vector from further LPC filtered speech samples. The amplitude of this excitation is adjusted by a gain factor g<sub>a</sub>.
0031The encoding of the speech is described now with reference to the numbers given in Fig. 2 <ul id="ul0001" list-style="none" compact="compact"><li>1. The speech signal is processed block-wise and thus partitioned into frames and sub-frames. Each frame is 20 ms long (160 samples at 8 kHz sampling frequency) and is divided into 4 sub-frames of equal length.</li><li>2. LPC analysis of a Hamming-windowed frame.</li><li>3. Because of stability reasons, the LPC filter coefficients are transformed to Line Spectrum Frequencies (LSF). Afterwards these coefficients are quantized in order to save bit rate. This step and the previous are done once per frame (except in 12.2 kbit/s mode; the LPC coefficients are calculated and quantised twice per frame) whereas the steps 4 - 9 are performed on sub-frame basis.</li><li>4. The sub-frames are filtered by a LPC filter with re-transformed and quantised LSF coefficients. Additionally the filter is modified to improve the subjective listening quality.</li><li>5. As the encoding is processed block by block, the decaying part of the filter, which is longer than the block length, has to be considered by processing the next sub-frame. In order to speed up the minimization of the residual power described in the following, the zero impulse response of the synthesis filter excited by previous sub-frames is subtracted.</li><li>6. The power of the LPC filtered error signal e(n) depends on four variables: the excitation of the adaptive codebook, the excitation of the fixed codebook and the respective gain factors g<sub>a</sub> and g<sub>f</sub>. In order to find the global minimum of the power of the residual signal and as no closed solution of this problem exists, all possible combinations of these four parameters have to be tested experimentally. As the minimization is hence too complex, the problem is divided into subproblems. This results in a suboptimal solution, of course. First the adaptive codebook is searched to get the optimal lag L and gain factor g<sub>a,L</sub>. Afterwards the optimal excitation scaled with the optimal gain factor is synthesis-filtered and subtracted from the target signal. This adaptive codebook search accords to a LTP filtering as shown.</li><li>7. In a second step of the minimization problem the fixed codebook is searched. The search is equivalent to the previous adaptive codebook search. I.e. it is looked for the codebook vector that minimizes the error criteria. Afterwards the optimal fixed gain is determined. The resulting coding parameters are the index of the fixed codebook vector J and the optimal gain factor g<sub>f,J</sub>.</li><li>8. The scaling factors of the codebooks are quantized jointly (except in 12.2 kbit/s mode - both gains are quantized scalar), resulting in a quantization index, which is also transmitted to the decoder.</li><li>9. Completing the processing of the sub-frame, the optimal excitation signal is computed and saved in the adaptive codebook. The synthesis filter states are also saved so that this decaying part can be subtracted in the next sub-frame.</li></ul>
Function of a decoder (Fig. 3)
0032Now the decoder is described in reference with Fig. 3
0033As shown in the previous section, the encoder transforms the speech signal to parameters which describe the speech. We will refer to these parameters, namely the LSF (or LPC) coefficients, the lag of the adaptive codebook, the index of the fixed codebook and the codebook gains, as "speech coding parameters". The domain will be called "(speech) codec parameter domain" and the signals of this domain are subscripted with frame index $k$.
0034Fig. 3 shows the signal flow of the decoder. The decoder receives the speech coding parameters and computes the excitation signal of the synthesis filter. This excitation signal is the sum of the excitations of the fixed and adaptive codebook scaled with their respective gain factors. After the synthesis-filtering is performed, the speech signal is post-processed.
Speech Modes in the Parameter domain
0035Now the implementation of the gain loss control is described in detail. The two different conversation modes, single-talk and double-talk, can be transferred to the codec parameter domain.
0036For single-talk thus eq. (2) can be written as<maths id="math0005" num="(5)"><math display="block"><mrow><msub><mrow><mtext>g</mtext></mrow><mrow><mtext>y</mtext></mrow></msub><msub><mrow><mtext>(k)</mtext></mrow><mrow><mtext>e(t)=0</mtext></mrow></msub><msub><mrow><mtext> =g</mtext></mrow><mrow><mtext>s</mtext></mrow></msub><mtext>(k)</mtext></mrow></math><img file="EP1521241A1_D0005.tif" /></maths> and eq. (3) as<maths id="math0006" num="(6)"><math display="block"><mrow><msub><mrow><mtext>g</mtext></mrow><mrow><mtext>y</mtext></mrow></msub><msub><mrow><mtext>(k)</mtext></mrow><mrow><mtext>s(t)=0</mtext></mrow></msub><msub><mrow><mtext> =g</mtext></mrow><mrow><mtext>_e</mtext></mrow></msub><mtext>(k)</mtext></mrow></math><img file="EP1521241A1_D0006.tif" /></maths> g<sub>y</sub>(k), is the gain factor of the fixed codebook, also called fixed gain. The sub-indices refer to the bit-stream or the respective speech signal, the fixed gain is computed from. S denotes speech and e denotes echo.
0037If the far-end speaker A is not talking, the gain of the fixed codebook of the microphone signal y(n) is equal to the gain of the near-end speech. Furthermore the gain of the microphone signal is equal to the gain of the echo signal, if speaker B is not talking.
0038In double-talk mode the microphone signal is the sum of the speech and of the echo. After LPC filtering the resulting signal is no longer the sum of the filtered speech and echo. This is depicted in Fig. 5
0039In Fig. 5, first the speech s(n) is analyzed in order to get a set of LPC coefficients a. The LPC filtered speech is denoted as s'(n). The same is done with the echo e(n) resulting in e'(n) with coefficients a<sub>e</sub>. As long as the echo is not a scalar weighted copy of the speech signal e(n) ≠ α*s(n), what is normally true, the auto-correlation functions are not directly proportional and therefore two different sets of filter coefficients are obtained during the LPC analysis.
0040If the microphone signal y(n) is analysed and filtered, the signal y'(n) is obtained. Because e(n) ≠ α*s(n), the microphone signal is not proportional to the speech or echo y(n)=s(n)+e(n) ≠ □*s(n) ≠ □□e(n) and thus the respective LPC coefficients a<sub>y</sub> are different to these of the speech and the echo signal. As all three signals are filtered with miscellaneous LPC filters, the modified microphone signal is no longer the sum of the filtered speech and echo y'(n) ≠ s'(n)+e'(n).
0041Since the LTP filter is based on a similar analysis equation as the LPC filter it can be shown further, that after LTP filtering (or the adaptive codebook search) the modified microphone signal is not additive linked with the modified speech and echo signal. Therefore different codebook vectors and different gains are obtained by the fixed codebook search.
0042Because of the non-linearity of the speech codec shown above, the gain of the microphone signal can not be written as the sum of the gains of speech and echo signal in double-talk mode. Thus equation (1) transforms in<maths id="math0007" num="(7);"><math display="block"><mrow><mtext>g_y(k)=f(g_s(k),g_e(k))</mtext></mrow></math><img file="EP1521241A1_D0007.tif" /></maths>
0043The function can be restricted, if the following is assumed: If neither the far-end speaker A nor the near-end speaker B are talking, there is no microphone input signal ($s(t)=0, e(t)=0 -> y(t)=0). By encoding a null-file, the gain of the fixed codebook is set equal to zero (x(t)=0 -> g_x(k)=0). After LPC and LTP analysis and processing, the residual speech signal is still null. As the vectors of the fixed codebook are non-zero, the corresponding gain has to be set to zero, so that this excitation synthesises a null-file. Therefore eq. (A) is restrained to<maths id="math0008" num="(8)"><math display="block"><mrow><mtext>g_y(k) = f( g_s(k)=0 , g_e(k)=0 ) = 0</mtext></mrow></math><img file="EP1521241A1_D0008.tif" /></maths>
0044This means that the "gain-function" has no absolute term.
Replacement of codec parameters
Noise has an influence on the above described codec parameters.
0045Therefore the AMR decoder was slightly modified such that it could read two bit-streams coming from encoded files with different background noise levels. Then, according to the desired experiment, the decoder can use some of the parameters encoded with high noise level or some parameters encoded with low noise level. This permits to evaluate the influence of the codec parameters on the noise level as well as on the quality of the decoded speech.
0046The results of a Comparison Category Rating (CCR) listening test done in this experiment showed that the level of background noise is more or less represented by the gain of the fixed codebook. Thus modifications of this gain leads to noise reduction. As in the time and/or frequency domain similar methods are applied on noise as well as on echo cancellation, the conclusion of this experiment is transferred to the echo cancellation problem in the parameter domain. Therefore the fixed codebook gain is modified in order to reduce the acoustic echo.
Gain Loss Control on Speech Codec Parameters (Fig.6)
0047With reference to Fig. 6 an echo cancellation method that can be implemented directly in the AMR codec or any speech codec based on CELP coding. The method is based on the idea to modify the fixed codebook gain in the encoder as well as in the decoder. The changing of these parameters is done on sub-frame basis using attenuation factors, which are determined according to the energy of the signal in the loudspeaker and microphone path respectively. This energy estimation is performed on basis of speech codec parameters.
0048Fig. 6 shows the principle of the gain loss control. Furthermore the loudspeaker-room-microphone system is depicted. The encoded speech bit stream <i>x(k)</i> is transmitted and decoded to the speech <i>x(n).</i> The speech signal <i>x(n)</i> is reflected in the surrounding room, for example in a car or in an office, and recorded by the microphone device. The reflection is described by convoluting the speech <i>x(n)</i> by the impulse response <i>h(n)</i> resulting in the echo <i>e(n)</i>. Beneath the echo, the microphone signal also consists of the usual speech <i>s(n).</i> Thus the microphone signal <i>y(n)</i> is the sum of <i>s(n)</i> and <i>e(n).</i> This signal is encoded resulting in the bit stream <i>y(k) .</i>
0049The central idea is to attenuate the fixed gain of the microphone signal by a factor of <i>a</i><sub><i>m</i></sub><i>(k)</i> and the fixed gain of the loudspeaker path by <i>a</i><sub><i>l</i></sub><i>(k)</i>. In order to determine these modification factors the energy is estimated on basis of codec parameters. Therefore the fixed gains of the loudspeaker path (<i>g</i><sub><i>l,f</i></sub><i>(k))</i> and the microphone path (<i>g</i><sub><i>m,f</i></sub><i>(k))</i> and the respective adaptive gains <i>g</i><sub><i>l,a</i></sub><i>(k)</i> or <i>g</i><sub><i>m,a</i></sub><i>(k)</i> of the loudspeaker path are passed to the control unit.
Estimation of the energy
0050The estimation of the speech signal energy is done on sub-frame basis as the gains of the fixed and adaptive codebook are computed every sub-frame. Because the estimation is done on loudspeaker path parameters as well as on microphone path parameters, the indices 1 and m of the gains are now neglected. With reference to Fig. 2 different estimations are foreseen: <ul id="ul0002" list-style="none"><li>a) A simple idea is to consider the fixed codebook and to use the energy of the codeword E<sub>f</sub> multiplied with the corresponding gain g<sub>f(k</sub>)<maths id="math0009" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext>1</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) = </mtext><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">f</mtext></mrow></msub><mtext> * </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">f</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow></math><img file="EP1521241A1_D0009.tif" /></maths> In a speech synthesis model the vectors of the fixed codebook can be seen as excitations compared to a noise generator of equal power, as these normalized vectors represent the residual whitened part of the LPC and LTP filtered speech. The fixed codebook gain amplifies these vectors so that the power of the synthesized speech is increased.</li><li>b) A further step is to include the excitation of the adaptive codebook and its gain g<sub>a</sub>(k) to the energy estimation process<maths id="math0010" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) = </mtext><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">f</mtext></mrow></msub><mtext> * </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">f</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) + </mtext><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k-</mtext><mtext>1)</mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">a</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow></math><img file="EP1521241A1_D0010.tif" /></maths> As the adaptive codebook is updated with the summed and scaled excitation of the fixed and adaptive codebook vector of the former sub-frame, a recursive estimation is used in fact. This approximation has been proven especially relevant in public.</li><li>c) The third estimation method makes use of the speech synthesis filter, i.e. that the estimated energy <i>Ê</i><sub>2</sub>(<i>k</i>) is multiplied by an amplification factor A(k)<maths id="math0011" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext>2</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) = </mtext><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">f</mtext></mrow></msub><mtext> * </mtext><mtext mathvariant="italic">A</mtext><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow></math><img file="EP1521241A1_D0011.tif" /></maths> Therefore the LPC coefficients of the synthesis filter are used to determine the amplification factor A(k) with<maths id="math0012" num=""><math display="block"><mrow><mtext>H(f) = 1/A(z)|</mtext><msub><mrow><mtext></mtext></mrow><mrow><msup><mrow><mtext>z= e</mtext></mrow><mrow><mtext>jω</mtext></mrow></msup><msup><mrow><mtext>*e</mtext></mrow><mrow><mtext>j2πf</mtext></mrow></msup></mrow></msub></mrow></math><img file="EP1521241A1_D0012.tif" /></maths> where A(z)<sup>-1</sup> is the transfer function of the synthesis filter in the analysis through synthesis system. Finally this estimation rule considers the whole synthesis process including the excitations of both codebooks, the fixed and the adaptive gain and the speech synthesis filter.</li></ul>
0051The different estimation methods are tested with various speech signals. The energy may be computed on a sub-frame basis. Thus all energy graphs refer to the energy per sub-frame. The scaling of the energy is done on a dB scale converting the real number representation to a logarithmic scale without normalization. Hence 0 dB refers to a sum of 40 speech samples (5 ms*8 kHz) with a result of 1.
0052In order to get a more precise statement concerning the applicability of the different estimation methods than described by methods a -c , the auto- and cross-correlation function of the energy signals are computed. The correlation is only processed during speech periods, so that different floors of the estimation, mainly during speech pauses, are not taken into account. Therefore the VAD (voice acitivity detector) of the AMR codec is used to detect these speech pauses.
a) Energy Estimation based on codec parameters
0053First the energy estimation of the signal in the loudspeaker path and in the microphone path is described. As set out above, the respective energies are used for deriving attenuation factors to be applied on the fixed gains.
0054The energy E<sub>l</sub> of the (loudspeaker) speech signal <i>x(k)</i> and the energy E<sub>m</sub> of the microphone signal <i>y(k)</i> are estimated based on the respective adaptive and fixed gains<maths id="math0013" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">l</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) = </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">l,f</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) + </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">l,a</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">l</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k-</mtext><mtext>1)</mtext></mrow></math><img file="EP1521241A1_D0013.tif" /></maths><maths id="math0014" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) = </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">m,f</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) + </mtext><msub><mrow><mtext mathvariant="italic">g</mtext></mrow><mrow><mtext mathvariant="italic">m,a</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>-1).</mtext></mrow></math><img file="EP1521241A1_D0014.tif" /></maths>
0055Where <i>g</i><sub><i>l,f</i></sub> (resp. <i>g</i><sub><i>m,f</i></sub>) stands for the fixed gain and <i>g</i><sub><i>l,a</i></sub> (resp <i>g</i><sub><i>m,a</i></sub>) for the adaptive gain of the signal <i>x(k)</i> (resp. <i>y(k)</i>) of the loudspeaker path and the microphone path respectively.
0056As a result the decoder and the encoder is modified such, that it is possible to extract the gains. A correlation analysis of the energy per sub-frame and the estimated energy showed that this method is applicable to estimate properly the energy.
Determination of the attenuation factors
0057After having estimated the respective energies the attenuation factors are derived therefrom. In order to e.g. not overestimate short-term variations of said energies, long-term estimations of the energy of the loudspeaker path <i>Ê</i><sub><i>l</i></sub> and of the microphone path <i>Ê</i><sub><i>m</i></sub> are determined by using a non-linear filter described by<maths id="math0015" num=""><img file="EP1521241A1_D0015.tif" /></maths><maths id="math0016" num=""><img file="EP1521241A1_D0016.tif" /></maths> , where a<sub>r</sub> describes the behaviour of the speech signal at an rising edge and a<sub>f</sub> at an falling edge.
0058With <i>a</i><sub><i>r</i></sub><<i>a</i><sub><i>f</i></sub> an increase in the speech level is emphasised and the filter is decaying slower, if the speech signal decreases in energy. Using this strategy short speech pauses, for example during spoken words, are neglected. Especially the values <i>a</i><sub><i>r</i></sub>=<i>0.7</i> and <i>a</i><sub><i>f</i></sub>=<i>0.95</i> have been found useful in practice.
0059In another preferred embodiment the low-pass filtered energy of a speech signal is taken to determine an attenuation factor. This factor decreased the amplitude of the microphone signal depending on its energy. The estimate of the energy is thus (low-pass) filtered in order to eliminate fast changes. Therefore small speech pauses are neglected by determining the attenuation factors. For the filtering a non-linear filter is used.
0060The resulting long time estimations {E}_l(k) and {E}_m(k)$ are used to determine the attenuation factors for the loudspeaker and microphone path, respectively.
0061In the following a magnitude representative for the energy difference <i>E</i><sub><i>diff</i></sub><i>(k)</i> is determined, e.g. the energy difference <i>E</i><sub><i>diff</i></sub><i>(k)</i> is chosen as the ratio of the long-term loudspeaker and microphone energy in the log-area<maths id="math0017" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">E</mtext></mrow><mrow><mtext mathvariant="italic">diff</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)=10log</mtext><mfrac><mrow><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext mathvariant="italic">l</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow><mrow><msub><mrow><mtext mathvariant="italic">Ê</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow></mfrac></mrow></math><img file="EP1521241A1_D0017.tif" /></maths>
0062Using this energy difference the attenuation factor is derived, which is for the loudspeaker gain e.g. characterised by<maths id="math0018" num=""><img file="EP1521241A1_D0018.tif" /></maths>
0063The corresponding attenuation factor of the microphone path is calculated then by<maths id="math0019" num=""><math display="block"><mrow><msub><mrow><mtext mathvariant="italic">a</mtext></mrow><mrow><mtext mathvariant="italic">m</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>) =1</mtext><msub><mrow><mtext mathvariant="italic">- a</mtext></mrow><mrow><mtext mathvariant="italic">l</mtext></mrow></msub><mtext>(</mtext><mtext mathvariant="italic">k</mtext><mtext>)</mtext></mrow></math><img file="EP1521241A1_D0019.tif" /></maths>
0064Thus, either the microphone path or the loudspeaker path are attenuated. Hence it is guaranteed that at least one of both paths is attenuated. If the microphone signal is decreased completely then the loudspeaker signal is not modified at all and vice versa.
0065In the preferred embodiment, where the low pass filtered energy of the microphone and loudspeaker signals are used for deriving the attenuation factors a<sub>l</sub>(k) and a<sub>_m</sub>(k), the latter are consequently functions of the low-pass filtered energy estimations.
0066Principally, the attenuation factors a<sub>l</sub>(k) and a<sub>m</sub>(k) should be in the interval [0 ; 1], so that the fixed gain is either attenuated completely or not at all in the extreme cases.
0067The acoustic echo can be decreased either before it is generated by modifying the loudspeaker signal or after the forming by attenuating the microphone signal. Therefore, as set out above, choose the attenuation factor a_m(k) can be chosen according to a_m(k) = 1 - a_l(k)
0068The control characteristics can be modified easily for silence mode, i.e. both speakers do not talk. If the estimated energy of the loudspeaker signal and of the microphone signal are below a certain threshold, a<sub>m</sub> = 0,5 can be chosen, meaning that the loudspeaker path is as strong attenuated as the microphone path.
0069The behaviour of the attenuation factors a<sub>m</sub> and a<sub>l</sub> can be seen in Fig. 4, where these attenuation factors are depicted versus energy difference expressed in dB. m denotes a threshold of the energy difference, where - m = 10log(E<sub>l</sub>/E<sub>m</sub>), thus the loudspeaker energy is considered as negligible. For m = 10log(E<sub>m</sub>/E<sub>l</sub>) the microphone energy is negligible.
0070Curve 1 shows an abrupt changing of the attenuation factors from 0 to 1 and 1 to 0 if the energy of the loudspeaker path and microphone path are equal.
0071Curve 2 shows a linear behaviour, where the respective modification factors are increasing/decreasing startin from m/2 or -m/2.
0072In curve 3 the linear behaviour of curve 2 is smoothed.
0073The curves do not need to be symmetric, also asymetric behaviour can be applied, e.g. for applications where the loudspeaker signal or the microphone signal are emphasised.
32 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32
Every citation, both ways
| Document | Relation | Office | Category | Cited during | Relevant claims |
|---|---|---|---|---|---|
| CN105790854A | Cited by | China | – | Search report | – |
| CN103250206A | Cited by | China | – | Search report | – |
| EP2381738A1 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US11238873B2 | Cited by | United States of America | – | Applicant | – |
| US2013054230A1 | Cited by | United States of America | – | Pre-grant | – |
| EP2381738A4 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US8571204B2 | Cited by | United States of America | – | Applicant | – |
| TWI489449B | Cited by | Taiwan Province of China | – | Examiner | – |
| EP2518986A4 | Cited by | European Patent Office (EPO) | – | Search report | – |
| US9208796B2 | Cited by | United States of America | – | Search report | – |
| WO02054744A1 | Cites | World Intellectual Property Organization (WIPO) | A | Search report | 1-3,12-14 |
| EP1301018A1 | Cites | European Patent Office (EPO) | Y | Search report | 1-4,6,7,10,12-14 |
| FR2748184A1 | Cites | France | XY | Search report | 11 |
| US4609788A | Cites | United States of America | X | Search report | 1-4,6,7,10,12-14 |
| US5353348A | Cites | United States of America | A | Search report | 1,2,4,10,12-14 |
| US5668794A | Cites | United States of America | A | Search report | 1-14 |
| US6011846A | Cites | United States of America | A | Search report | 1-4,12-14 |
2 members in 2 offices; this record represents the family
Members2
| Document | Office | Kind | |
|---|---|---|---|
| EP1521241A1This record | European Patent Office (EPO) | A1 | |
| WO2005031706A1 | World Intellectual Property Organization (WIPO) | A1 |
7 legal events, as 2 offices reported them to INPADOC
Over the term
Point at a mark for the eventEvents
| Event | Code | Office | |
|---|---|---|---|
| Application deemed to be withdrawnWithdrawn18D | 18D | EP | |
| Information on the status of an ep patent application or granted ep patentGrantedSTATUS: THE APPLICATION IS DEEMED TO BE WITHDRAWNSTAA | STAA | EP | |
| Designated country de not longer valid8566 | 8566 | DE | |
| Designation fees paidAKX | AKX | EP | |
| Designated contracting statesAK | AK | EP | |
| Request for extension of the european patentAX | AX | EP | |
| Public reference made under article 153(3) epc to a published international application that has entered the european phaseORIGINAL CODE: 0009012PUAI | PUAI | EP |
Numbers
- Publication
- 1521241
- Application
- 30222525
Titles3
- German
- Transmission des paramètres de codage de la parole avec annulation d'écho
- English
- Transmission of speech coding parameters with echo cancellation
- French
- Übertragung von Sprachkodierparametern mit Echounterdrückung
Classification
- CPC, 4
- H04M9/082
- G10L19/04
- G10L2021/02082
- G10L21/0364
- IPC, 4
- G10L19 04
- G10L21 02
- G10L21 0208
- H04M9 08
Designated states31
- Contracting states, 27
- Austria
- Belgium
- Bulgaria
- Switzerland
- Cyprus
- Czechia
- Germany
- Denmark
- Estonia
- Spain
- Finland
- France
- United Kingdom
- Greece
- Hungary
- Ireland
- Italy
- Liechtenstein
- Luxembourg
- Monaco
- Netherlands (Kingdom of the)
- Portugal
- Romania
- Sweden
and 3 moreShow fewer
- Slovenia
- Slovakia
- Türkiye
- Extension states, 4
- Albania
- Lithuania
- Latvia
- North Macedonia