Methods and apparatus for echo cancellation using an adaptive lattice based non-linear processor
A non-linear processor for managing a speech signal is disclosed. The non-linear processor includes an adaptive lattice filter that generates a prediction error from a residual echo of the speech signal, a signum non-linearity unit that generates an excitation component from the prediction error, an excitation signal mixer that generates an excitation signal from the excitation component and a noise component, an inverse lattice filter that generates a modified residual echo from the excitation signal, and a gain adjuster that adjusts a power of the modified residual echo.
This patent application is a continuation of and claims priority to the co-pending non-provisional patent application having the assigned Ser. No. 10/121,437, filed on Apr. 11, 2002, which claims priority to the provisional patent application having the assigned Ser. No. 60/283,321 filed on Apr. 12, 2001, entitled “BETTER SIGNAL TRANSPARENCY THROUGH ADAPTIVE LATTICE BASED NON-LINEAR PROCESSOR (AL-NLP) FOR ECHO CANCELLATION”.
FIELD OF THE INVENTIONThe present invention relates to the field of speech signal management. More specifically, the present invention relates to echo cancellation in speech signal management.
BACKGROUND OF THE INVENTIONAdaptive methods such as adaptive filters are employed in echo-cancellers because adaptive methods can adjust their algorithms according to fluctuations in incoming speech signals. However, adaptive methods employed in echo-cancellers (ECs) may have problems removing echoes of speech signals completely due to the fundamental limitations related with convergence speed and steady-state performance. This is often true for normalized least mean square (NLMS) based methods that are used in the industry. To compensate for these problems, non-linear processors (NLPs) may also be included in an adaptive method to further process a residual echo signal.
NLPs use a non-linearity such as a center-clipper shown in
While schemes based on the above ideas may be implemented in practice and are improvements of prior approaches, their performances leave room for improvement with the increased demand for voice quality.
Because many linear processing methods do not completely separate the residual echo from the background signal, the objective of further removing the residual echo while preserving the integrity of the background signal creates opportunities to improve these methods. Thus a method and apparatus for more effectively managing speech signals that may include both a residual echo and a background signal is needed.
SUMMARY OF THE INVENTIONA non-linear processor for managing a speech signal is disclosed. The non-linear processor includes an adaptive lattice filter that generates a prediction error from a residual echo of the speech signal, a signum non-linearity unit that generates an excitation component from the prediction error, an excitation signal mixer that generates an excitation signal from the excitation component and a noise component, an inverse lattice filter that generates a modified residual echo from the excitation signal, and a gain adjuster that adjusts a power of the modified residual echo.
A method of processing a residual echo of a speech signal is disclosed. The method includes generating a prediction error from the residual echo, generating an excitation signal from the prediction error and a noise component, and generating a modified residual echo from the excitation signal.
A method of processing a speech single is disclosed. The method includes center-clipping a residual echo from the speech signal in response to detecting an absence of double-talk on the speech signal, injecting onto the speech signal white noise that matches a spectral envelope of a background signal of the speech signal, and adjusting a power of the speech signal.
DESCRIPTION OF THE DRAWINGSThe present invention is illustrated by way of example and not by way of limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
s(n)=rr(n)+w(n)
where re(n) is residual echo after cancellation and w(n) is the correlated near-end background noise signal and s′(n) is the sum of the two. The optimal filter L(z) is computed during portions of background noise and the prediction error signal s′(n) is not completely white in general, and how much the prediction error signal is whitened depends on the order of L(z) used. An optimal filter L(z) essentially models the spectral envelope of its input signal.
In obtaining the optimal coefficients for a filter L(z), an exemplary embodiment of the present invention employs the Gradient Adaptive Lattice (GAL) method, known to one ordinarily skilled in the art and described in S. Haykin, Adaptive Filter Theory, Prentice-Hall, 1991, to adapt the lattice coefficients. This method minimizes the prediction error associated with an adaptive lattice filter based on the method of stochastic gradient descent method. An exemplary embodiment adaptive lattice filter L(z) is shown in
where fm(n) and bm(n) are respectively the forward and the backward prediction errors associated with the mth-stage. Note that, f0(n)=b0(n)=s(n), 0<λ<1 and the lattice coefficients |km(n)|<1, m=0, . . . , P−1. This method is a version of the GAL method in the sense that the cost function minimized is the forward prediction error power only.
One way to solve this problem of synthesizing back the entire residual echo along with the background signal is to use white noise instead of prediction error signal s′(n) to drive an inverse filter 1/L(z). As a result, the output signal will not likely sound like the true background signal because the correlation that cannot be whitened by a filter L(z) is still present in prediction error signal s′(n). A white excitation signal does not carry any correlation and a signal with similar correlation properties is needed as an excitation component to an inverse filter 1/L(z).
However, constructing a signal with similar correlation properties as the prediction error signal s′(n) is computationally intensive. The present invention provides another alternative in which the prediction error signal s′(n) is passed through a signum non-linearity unit. Embodiments of the present invention may use a specific non-linearity such as a “signum function” or a variant thereof. An exemplary embodiment of the present invention may define a signum function as:
Thus, as illustrated in
As illustrated in
As illustrated in
σw2(n)=βσw2(n−1)+(1−β)w2(n), 0<<β<1
At step 902, double-talk in the incoming speech signal is detected. If double-talk exists, step 905 is executed and thus an exemplary embodiment of the present invention switches to a traditional NLP with center-clipping and injects spectrally matched noise by passing white noise through an inverse filter 1/L(z). The equation governing this action is:
{tilde over (s)}(n)=[s(n)]+G[1/L(z)ε(n)]
where [.] corresponds to a center-clipper, and E(n) is a stationary noise source whose spectral envelope tracks that of the background noise signal, w(n), and G[.] is a gain adjust function. Alternatively, other embodiments of the present invention may pass other types of noise through the inverse filter 1/L(z).
If at step 902 double-talk is not detected, an exemplary embodiment executes step 903, where voice activity is detected. If there is no voice activity, step 907 is executed where a background noise power measurement σw2 of the speech signal is taken. Next, step 908 is executed where coefficients in the adaptive lattice filter are adjusted by updating a GAL algorithm. Finally, step 909 is executed and the input speech signal is left unchanged by setting the reconstructed signal {tilde over (s)}(n) to input speech signal's(n). Even though in this case, the input speech signal s(n) is unchanged, the background noise power σw2 is still measured and the GAL algorithm is still updated for later use such as the case where voice activity is detected on the incoming speech signal.
If at step 902 double-talk is not detected and at step 903 voice activity is detected, an exemplary embodiment executes step 910 where the GAL algorithm is frozen or not updated and thus the coefficients in the adaptive lattice filter are not adjusted. Next, step 904 is executed where optimal mixing is computed by taking an input from an ERLE measurement 901. Finally, step 906 is executed, which includes the actions: (1) generating a prediction error s′(n) by passing a residual echo of the speech signal s(n) through an adaptive lattice filter L(z); (2) generating an excitation component s′e(n) by passing the prediction error s′(n) through a signum non-linearity unit; (3) mixing the excitation component s′e(n) with a stationary random noise signal q(n) (where q(n) may be obtained by passing a white noise source v(n) through an inverse filter 1/L(z)); (4) modifying the residual echo by passing the excitation component s′e(n) through an inverse filter 1/L(z); and (5) further modifying the residual echo by passing the excitation component s′e(n) through a gain adjuster that adjusts a power of the modified residual echo using a background noise power measurement. One ordinarily skilled in the art will understand how a gain adjuster adjusts a power of the modified residual echo using a background noise power measurement. The equations governing these actions are:
s′(n)=L(z)s(n)
q(n)=1/L(z)v(n)
s′e(n)=δsgn[s′(n)]+(1−δ)q(n)
s′e(n)=δsgn[s′(n)]+(1−δ)q(n)
{tilde over (s)}(n)=G[1/L(z)s′e(n)]
where G[.] is a gain adjust function.
In the foregoing description, the invention is described with reference to specific example embodiments thereof. It will, however, be evident that various modifications and changes may be made thereto, in software, hardware or any combination thereof, without departing from the broader spirit and scope of the present invention. The specification and drawings are accordingly to be regarded in an illustrative rather than in a restrictive sense.
Claims
1. A method for managing a speech signal, comprising:
- generating an excitation component for the speech signal;
- spectrally shaping a noise component for the speech signal; and
- mixing the excitation component with the noise component.
2. The method of claim 1, further comprising generating a prediction error signal from the speech signal.
3. The method of claim 2, wherein generating the prediction error signal comprises passing the speech signal through an adaptive lattice filter.
4. The method of claim 3, wherein passing the speech signal through the adaptive lattice filter comprises employing a gradient adaptive lattice algorithm.
5. The method of claim 1, further comprising adjusting a power of the speech signal.
6. The method of claim 5, wherein the power of the speech signal is adjusted according to a background noise power measurement of the speech signal.
7. The method of claim 1, wherein spectrally shaping the noise component comprises shaping the noise component so that a spectral envelope of the noise component tracks a background noise signal.
8. The method of claim 1, wherein the noise component is a white noise source.
9. The method of claim 1, wherein mixing the excitation component with the noise component further comprises mixing the excitation component with the noise component at proportions based on an echo return loss enhancement measurement.
10. The method of claim 1, wherein mixing the excitation component with the noise component further comprises mixing the excitation component with the noise component at proportions based on double-talk detection.
11. The method of claim 1, wherein mixing the excitation component with the noise component further comprises mixing the excitation component with the noise component at proportions based on voice-activity detection.
12. An apparatus for managing a speech signal, comprising:
- a double-talk detector that detects double-talk on the speech signal;
- a non-linear processor that center-clips a residual echo from the speech signal in response to a presence of double-talk on the speech signal;
- an inverse filter that filters a noise source whose spectral envelope tracks that of a background noise signal to make filtered noise; and
- a noise injector that injects the filtered noise onto the speech signal.
13. The method of claim 12, wherein the inverse filter is an inverse lattice filter.
14. The apparatus of claim 12, further comprising a gain adjuster that adjusts a power of the speech signal.
15. The apparatus of claim 14, wherein the gain adjuster adjusts the power of the speech signal according to a background noise power measurement of the speech signal.
16. The apparatus of claim 12, wherein the noise source is stationary noise source.
17. The apparatus of claim 12, wherein the noise source is white noise.
18. A computer-readable medium having stored thereon sequences of instructions, the sequences of instructions including instructions which, when executed by a processor, causes the processor to perform:
- detecting presence of double-talk on a speech signal;
- center-clipping a residual echo from the speech signal;
- filtering a noise source whose spectral envelope tracks that of a background noise signal to make filtered noise; and
- injecting the filtered noise onto the speech signal.
19. The computer-readable medium of claim 18, further comprising adjusting a power of the speech signal.
20. The computer-readable medium of claim 19, wherein the power is adjusted according to a background noise power measurement of the speech signal.
Type: Application
Filed: Feb 6, 2006
Publication Date: Jul 6, 2006
Inventors: Oguz Tanrikulu (Wellesley, MA), John DellaMorte (Sandwich, MA)
Application Number: 11/348,434
International Classification: G10L 15/20 (20060101);