EP2014132A2 - Echo and noise cancellation - Google Patents

Echo and noise cancellation

Info

Publication number
EP2014132A2
EP2014132A2 EP07759872A EP07759872A EP2014132A2 EP 2014132 A2 EP2014132 A2 EP 2014132A2 EP 07759872 A EP07759872 A EP 07759872A EP 07759872 A EP07759872 A EP 07759872A EP 2014132 A2 EP2014132 A2 EP 2014132A2
Authority
EP
European Patent Office
Prior art keywords
echo
signal
output
microphone
adaptive filter
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Withdrawn
Application number
EP07759872A
Other languages
German (de)
French (fr)
Other versions
EP2014132A4 (en
Inventor
Xiadong Mao
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Interactive Entertainment Inc
Original Assignee
Sony Computer Entertainment Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/381,728 external-priority patent/US7545926B2/en
Priority claimed from US11/381,725 external-priority patent/US7783061B2/en
Priority claimed from US11/418,989 external-priority patent/US8139793B2/en
Priority claimed from PCT/US2006/017483 external-priority patent/WO2006121896A2/en
Priority claimed from US11/381,724 external-priority patent/US8073157B2/en
Priority claimed from US11/381,721 external-priority patent/US8947347B2/en
Priority claimed from US11/429,047 external-priority patent/US8233642B2/en
Priority claimed from US11/381,729 external-priority patent/US7809145B2/en
Priority claimed from US11/381,727 external-priority patent/US7697700B2/en
Priority claimed from US11/418,988 external-priority patent/US8160269B2/en
Application filed by Sony Computer Entertainment Inc filed Critical Sony Computer Entertainment Inc
Publication of EP2014132A2 publication Critical patent/EP2014132A2/en
Publication of EP2014132A4 publication Critical patent/EP2014132A4/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M9/00Arrangements for interconnection not involving centralised switching
    • H04M9/08Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
    • H04M9/082Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L21/00Speech or voice signal processing techniques to produce another audible or non-audible signal, e.g. visual or tactile, in order to modify its quality or its intelligibility
    • G10L21/02Speech enhancement, e.g. noise reduction or echo cancellation
    • G10L21/0208Noise filtering
    • G10L21/0216Noise filtering characterised by the method used for estimating noise
    • G10L2021/02161Number of inputs available containing the signal or the noise to be suppressed
    • G10L2021/02163Only one microphone
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L25/00Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00
    • G10L25/03Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters
    • G10L25/18Speech or voice analysis techniques not restricted to a single one of groups G10L15/00 - G10L21/00 characterised by the type of extracted parameters the extracted parameters being spectral information of each sub-band

Definitions

  • Embodiments of the invention are related to audio signal processing and more particularly to echo and noise cancellation in audio signal processing.
  • Such a device typically includes a microphone that receives a local speech signal s(t) from a user of the device and a speaker that emits a speaker signal x(t) that is audible to the user.
  • a microphone that receives a local speech signal s(t) from a user of the device
  • a speaker that emits a speaker signal x(t) that is audible to the user.
  • To make the video game controller more compact it is often desirable to place the microphone and speaker relatively close to each other, e.g., within about 10 centimeters of each other.
  • the user by contrast may be much further from the microphone, e.g., about 3 to 5 meters away.
  • the microphone produces a signal d(t) that includes both the local speech signal s(t) and a speaker echo signal xi(t).
  • Speaker echo is a commonly observed phenomenon in telecommunications applications and echo suppression and echo cancellation are relatively mature technologies. Echo suppressors work by detecting if there is a voice signal going in one direction on a circuit, and then inserting a great deal of loss in the other direction. Usually the echo suppressor at the far-end of the circuit adds this loss when it detects voice coming from the near-end of the circuit. This added loss prevents the speaker signal x(t) from being retransmitted in the local speech signal d(t).
  • echo suppression While effective, echo suppression often leads to several problems. For example it is common for the local speech signal s(t) and the remote speaker signal x(t) to occur at the same time, at least briefly. This situation is sometimes referred to as double-talk. The situation where only the remote speaker signal is present is sometimes referred to as remote single talk. Because each echo suppressor will then detect voice energy coming from the far-end of the circuit, the effect would ordinarily be for loss to be inserted in both directions at once, effectively blocking both parties. To prevent this, echo suppressors can be set to detect voice activity from the near-end speaker and to fail to insert loss (or insert a smaller loss) when both the near-end speaker and far-end speaker are talking. Unfortunately, this temporarily defeats the primary effect of having an echo suppressor at all.
  • the echo suppressor is alternately inserting and removing loss, there is frequently a small delay when a new speaker begins talking that causes clipping of the first syllable from that speaker's speech. Furthermore, if the far-end party on a call is in a noisy environment, the near-end speaker will hear that background noise while the far-end speaker is talking, but the echo suppressor will suppress this background noise when the near-end speaker starts talking. The sudden absence of the background noise gives the near-end user the impression that the line has gone dead.
  • Echo cancellation may use some form of analog or digital filter to remove unwanted noise or echoes from an input signal and produce a filtered signal e(t).
  • complex algorithmic procedures are used to compute speech models. This involves feeding the microphone signal d(t) and some of the remote signal x(t) to an echo cancellation processor, predicting the speaker echo signal xi(t) then subtracting this from microphone signal d(t).
  • the format of the echo prediction must be learned by the echo cancellation processor in a process known as adaptation.
  • ESR echo suppression ratio
  • ITU International Telecommunication Union
  • embodiments of the invention are directed to methods and apparatus for echo cancellation in a system having a speaker and a microphone.
  • the speaker receives a speaker signal x(t).
  • the microphone receives a microphone signal d(t) containing a local signal s(t) and an echo signal X 1 (I;) that is dependent on the speaker signal x(t).
  • the microphone signal d(t) is filtered in parallel with first and second adaptive filters having complementary echo cancellation properties relative to each other.
  • a minimum echo output e 3 (t) is determined from an output ei(t) of the first adaptive filter and an output e 2 (t) of the second adaptive filter.
  • the minimum echo output has a smaller energy and less correlation to the speaker signal x(t).
  • a microphone output is then generated using the minimum echo output e 3 (t). Residual echo cancellation and/or noise cancellation may optionally be applied to the minimum echo output.
  • FIG. IA is a schematic diagram of an echo cancellation apparatus according to an embodiment of the present invention.
  • FIG. IB is a schematic diagram of an adaptive filter with voice activity detection that may be used in the echo cancellation apparatus of FIG. IA.
  • FIG. 1C is a schematic diagram of an adaptive filter with cross-correlation analysis that may be used in the echo cancellation apparatus of FIG. IA.
  • FIG. 2A is a flow diagram illustrating a method for echo cancellation according to an embodiment of the present invention.
  • FIG. 2B is a flow diagram illustrating an alternative method for echo cancellation according to an embodiment of the present invention.
  • FIG. 3 is a schematic diagram of an echo cancellation apparatus according to an alternative embodiment of the present invention.
  • Embodiments of the invention propose a novel structure of an integrated echo and noise- canceller that has two functionally identical filters with orthogonal controls and representations.
  • the two orthogonal filters complement each other in a way that can boost the overall system robustness in a noisy hands free voice communication.
  • an integrated echo-noise-canceller uses two separately controlled sub-systems in parallel, each with orthogonal control mechanism.
  • the echo-noise-canceller includes a front echo canceller and a backup echo canceller.
  • the front echo-canceller uses double-talk detection and takes conservative adaptation approaches to ensure it is robust against local voice, yet provide less echo-suppression and slow adaptation speech to echo-change.
  • the backup echo-canceller uses cross-correlation to measure the similarity between the error signal and echo signal, it takes an aggressive strategy to ensure the filter is quickly updated and provides large echo-suppression, yet it is unstable to local voice/noise, due to possible over adaptation.
  • An integration of these two echo-canceller outputs is based on cross- correlation analysis that measures which echo canceller has a larger differentiation against the echo signal. The integration also checks the filter stability of both echo cancellers. If one filter is overestimated or underestimated it is then complemented by the other filter. Such a system is designed to ensure there is at one filter working correctly at any given time.
  • the system may optionally include an echo-residual-noise-estimator that takes a similar approach using two independent sub estimators in parallel, each with orthogonal controlling.
  • a first estimator is based on echo-distance-mismatch that depends on a robust double-talk- detector. The first estimator is relatively accurate yet not stable due to double-talk-detection errors.
  • a second estimator is based on cross-spectrum-analysis. Its estimation is biased but stable and consistent without depending on local voice detection. The integration of these two estimations of the residual echo takes a minimum/maximum approach for far-end -talk only and double-talk respectively.
  • FIG. IA shows an example of an audio system 99 utilizing an echo cancellation apparatus 100 according to an embodiment of the present invention. Operation of the apparatus 100 may be understood by referring to the flow diagrams of method 200 shown in FIG. 2A and method 220 shown in FIG. 2B.
  • the audio system 99 generally includes a speaker 102 that receives a remote signal x(t) and a microphone 104.
  • a local source 101 produces local speech signal s(t).
  • the microphone 104 receives both the local speech signal s(t) and an echo signal X 1 (I;) that is related to the speaker signal x(t).
  • the microphone 104 may also receive noise n(t) originating from the environment in which the microphone 104 is located.
  • the echo cancellation apparatus 100 generally includes a first adaptive echo cancellation filter EC(I) and a second adaptive echo cancellation filter EC(2). Each adaptive filter receives the microphone signal d(t) and the speaker signal x(t). As shown in FIGs. 2A-2B, filter EC(I) adaptively filters the microphone signal d(t) as indicated at 202 while the second filter EC(2) adaptively filters the microphone signal d(t) in parallel with the first filter EC(I) as indicated at 204. As used herein, the filters are said to operate in parallel if they receive the substantially the same input d(t). Parallel operation is distinguished from serial operation where an output of one filter serves as an input for the other.
  • one filter serves as a main or "front” filter and the other serves as a "backup” filter.
  • One filter takes a conservative approach to echo cancellation while the other takes a more aggressive approach.
  • the status of the filters EC(I), EC(2) may be understood with respect to the following signal model:
  • y(t) is the echo synthesized by the echo-canceller filter.
  • x(t) is the echo that is playing in loudspeaker
  • h(n) is the adaptive filter function of echo-canceller filter
  • d(t) is the noisy signal received by microphone
  • s(t) is local voice
  • e(t) is echo-cancelled residual signal produced by the echo canceller filter.
  • the two filters EC(I), EC(2) have complementary echo cancellation properties.
  • two adaptive filters receiving the same inputs are said to have complementary echo cancellation if the filtering properties of the two filters are such that one filter is well adapted to its inputs when the other is not.
  • a filter is said to be "well adapted" when its filter function h(n) is stable, converged to the true echo-path- filter and neither overestimated nor underestimated.
  • E(e(t) * y(t)) / E(y(t) * y(t)
  • the numerator stands for cross-correlation of e(t) and y(t)
  • the denominator stands for auto-correlation of y(t) which serves as a normalization term.
  • should be close to "0"(since the residual signal e(t) does not include y(t) ). If h(n) is not converged, ⁇ should be close to "1" (since e(t) contains strong echo of y(t). if h(n) is illness and diverged, ⁇ should be negative (since e(t) contains 180 phase shifted strong echo due to filter divergence).
  • the value of the coherence function ⁇ may be used to define four different possible states for the status of the filters EC(I), EC(2):
  • a filter is under-estimated or over-estimated, its adaptation step-size may be increased or decreased respectively by small delta amount to accelerate or decelerate the adaptation- speed for faster convergence or better tracking stability.
  • faster convergence takes a larger step-size, which sacrifices good tracking to detail and lowers the echo-suppression- ratio ESR.
  • Slower convergence by using a smaller step-size is more stable and has better capability to track subtle changes but is less suitable for fast tracking of echo dislocation.
  • the other filter's settings may be copied to reinitiate the diverged filter if the other filter is in good status. Otherwise the diverged filter may be recovered using filter settings from a previously saved good status.
  • echo canceling adaptive filters EC(I) and EC(2) may be based on frequency domain normalized least mean square adaptive filters.
  • Each filter may be implemented in hardware or software or a combination of hardware and software.
  • FIGs. IB and 1C depict examples of suitable complementary adaptive filters.
  • FIG. IB depicts an adaptive echo cancellation filter 120 with voice activity detection that may be used as the first adaptive filter EC(I).
  • the filter 120 includes a variable filter 122 having finite impulse response (FIR) filters characterized by filter coefficients w t .
  • the variable filter 122 receives the microphone signal d(t) and filters it according to the values of the filter coefficients w t to produce a filtered signal d'(t).
  • the variable filter 124 estimates a desired signal by convoluting the input signal with the impulse response determined by the coefficients w t i.
  • Each filter coefficient w t i is updated at regular intervals by an amount ⁇ w t according to an update algorithm 124.
  • the filter coefficients w t may be chosen such that the filtered signal d'(t) attempts to estimate the speaker echo signal X 1 (I;) as the desired signal.
  • a difference unit 126 subtracts the filtered signal d'(t) from the microphone signal d(t) to provide an estimated signal ei(t), which estimates the local speech signal s(t).
  • the filtered signal d'(t) can be subtracted from the remote signal x(t) to produce an error signal e(t) that is used by the update algorithm 124 to adjust the filter coefficients w t .
  • the adaptive algorithm 124 generates a correction factor based on the remote signal x(t) and the error signal.
  • coefficient update algorithms include least mean squares (LMS) and recursive least squares (RLS).
  • the step size ⁇ may be dynamically adjusted depending on the state of the adaptive filter. Specifically, if the filter is under-estimated the step size ⁇ may be increased by small delta amount to accelerate the adaptation-speed for faster convergence. Alternatively, if the filter is overestimated, its adaptation step-size ⁇ may be decreased respectively by small delta amount to decelerate the adaptation-speed for better tracking stability.
  • the time-domain expression e(t)x(t) is a multiplication. This computation may be implemented in the frequency domain as follows. First e(t), x(t) and h(n) may be converted from the time domain to the frequency domain, e.g., by fast Fourier transform (fft).
  • fft fast Fourier transform
  • H(k) H(k) + ( ⁇ * conj(X(k)) .* E(k)) / ( ⁇ + XQa)* conj(X(k)).
  • is the filter adaptation stepsize, it is dynamic
  • conj (a) refers the complex conjugate of a complex number a
  • * refers to complex multiplication
  • is a regulator that prevents the denominator from becoming numerically unstable.
  • Voice activated detection VAD adjusts the update algorithm 124 such that variable filter 122 only adaptively filters the microphone signal d(t) when the remote signal x(t) is present, i.e., above a predetermined threshold.
  • An adaptive filter of the type shown in FIG. IB that uses voice activated detection (sometimes also referred to as double talk detection), is a relatively slowly adapting filter but it is also very accurate in that it generates very few false positives.
  • a complementary adaptive filter to the filter 120 would be one that, e.g., adapts relatively quickly, but tends to generate frequent false positives.
  • FIG. 1C depicts an adaptive filter 130 that is complementary to the filter 120 of FIG. IB.
  • the adaptive filter 130 includes a variable filter 132 characterized by filter coefficients w t2 and an update algorithm 134 (e.g., a LMS update algorithm as described above).
  • the filter 132 attempts to estimate the speaker echo signal xi(t) as the desired signal.
  • a difference unit 136 subtracts the filtered signal d'(t) from the microphone signal d(t) to provide an estimated signal e 2 (t), which estimates the local speech signal s(t).
  • the filtered signal d'(t) can be subtracted from the remote signal x(t) to produce an error signal e(t) that is used by the update algorithm 134 to adjust the filter coefficients w t2 .
  • a cross- correlation analysis CCA adjusts the update algorithm 134 such that variable filter 132 attempts to reduce cross-correlation between the estimated signal e 2 (t) and the speaker echo signal x(t).
  • the filtering is said to be underestimated and the update algorithm 134 may be adjusted to increase ⁇ w t2 . If the cross-correlation between e 2 (t) and x(t) is below a threshold the filtering is said to be overestimated and the update algorithm 134 may be adjusted to reduce ⁇ w t2 .
  • An adaptive filter of the type shown in FIG. 1C that uses cross-correlation analysis (sometimes also referred to as cross-spectrum analysis), is a relatively rapidly adapting filter but it is also unstable in that generates frequent false positives.
  • filters 120 and 130 are examples of complementary filters.
  • an integrator 106 is coupled to the first adaptive filter EC(I) and the second adaptive filter EC(2).
  • the integrator 106 is configured to determine a minimum echo output e3(t) from the outputs ei(t), e ⁇ t) of the first and second adaptive filters respectively.
  • the minimum echo output e3(t) is the one of ei(t) and e 2 (t) having the smaller energy and less correlation to the speaker signal x(t).
  • the minimum energy may be determined by determining a minimum of .ZsJe 1 (I;)) and is ⁇ e 2 (t) ⁇ , where E ⁇ refers to the operation of determining the expectation value of the quantity in braces.
  • a cross correlation analysis may be performed on ei(t) and e 2 (t) to determine which of ei(t) and e 2 (t) has the smaller cross-correlation with the speaker signal x(t).
  • the cross-correlation analysis may include determining a minimum of .ZsJe 1 (I;) * x(t) ⁇ and is ⁇ e 2 (t) * x(t) ⁇ , where the " ⁇ * • " operator refers to the operation of taking the cross-correlation between the quantities on either side of the operator, e.g. as defined above.
  • the minimum echo output e3(t) may be used as a filtered output of the microphone 104.
  • one of the filters EC(I), EC(2) may excessively filter out the local signal s(t).
  • the filter is said to be "diverged".
  • EC(2) is cross-correlation filter, e.g., of the type shown in FIG. 1C.
  • the integrator 106 may be configured to determine whether the second adaptive echo cancellation filter EC(2) is excessively filtering out the local signal s(t).
  • the EC(2) filter coefficients Wt 2 may be set to the values of the EC(I) filter coefficients w t i at 212.
  • EC(2) may then be re- initialized at 215 to zero or to a previous known, well-adapted state.
  • the filter coefficients may be saved at regular intervals, e.g., about every 10 to 20 seconds so that they may be used to re-initialize EC(2) if it diverges. Normally, a cross-correlation filter is well-adapted if it is not diverged. Since EC(2) and EC(I) have complementary filtering properties, when EC(2) is well-adapted EC(I) is underestimated.
  • the filter coefficients w t i for the first adaptive filter EC(I) may be swapped with the filter coefficients Wt 2 for the second adaptive filter EC(2) as indicated at 214
  • the coefficients Wti, Wt 2 may be stored at locations in a memory that are identified by pointers.
  • the coefficients w t i, w t2 may be swapped, e.g., by switching the pointers to w t i and Wt 2 .
  • the minimum echo output e 3 (t) may include some residual echo xe(t) from the speaker signal x(t).
  • the apparatus 100 may optionally include echo first and second residual estimators ER(I) and ER(2) coupled to the integrator 106 and a residual echo cancellation module 108 coupled to the echo residual estimators ER(I) and ER(2).
  • the first echo residual estimator ER(I) may be configured to generate a first residual echo estimation ERi (t) that includes a cross-correlation analysis between the minimum echo output e 3 (t) and the speaker signal x(t). As indicated at 222 of FIG.
  • the first residual echo estimation ERi (t) may be determined from a cross-correlation analysis between the minimum echo output e 3 (t) and the speaker signal x(t), e.g., by determining argmin(is ⁇ e 3 (t) ⁇ x(t) ⁇ ), where argmin(is ⁇ e3(t) *x(t) ⁇ ) is true if e3(t) minimizes the expectation value of the cross- correlation e 3 (t) ⁇ * x(t).
  • This minimization problem may essentially be realized adaptively. For example, assume first echo residual estimator ER(I) is initially a unit filter (all "1" values).
  • the first residual echo estimation ERi(t) may be increased toward a tangent direction on search surface. This may be implemented using a Newton solver algorithm.
  • the second echo residual estimator ER(2) may be configured to determine a second residual echo estimation ER 2 (t) that includes an echo-distance mismatch between the minimum echo output e 3 (t) and the speaker signal x(t). As indicated at 224 of FIG.
  • the second residual echo estimation ER 2 (t) may be determined from an echo-distance mismatch between the minimum echo output e 3 (t) and the speaker signal x(t), e.g., by determining argmin(is ⁇ (e 3 (t)) 2 /(x(t)) 2 ⁇ ), where argmin(is ⁇ (e 3 (t)) 2 /(x(t)) 2 ⁇ ) is true if e 3 (t) minimizes the expectation value of the quotient (e 3 (t)) 2 /(x(t)) 2 .
  • the minimization may be implemented using a Newton solver algorithm.
  • the residual echo cancellation module 108 determines a minimum residual echo estimation ER3(t) of the two residual echo estimations ERi (t) and ER 2 (t) and adjusts the filtered signal e 3 (t) according to the minimum value ER 3 (t).
  • the minimum residual echo estimation ER 3 (t) may be the one of ERi (t) and ER 2 (t) having a minimum energy and minimum correlation to x(t). For example, as indicated at 226 in FIG. 2B, is set equal to the minimum of ERi(t) and ER 2 (t) and the resulting value of ER 3 is subtracted from e 3 (t) to produce a residual echo cancelled filtered signal e 3 '(t), as indicated at 228.
  • ER 3 is equal to ERi(t) then the residual echo xe(t) is minimally removed when the local speech signal s(t) has a non-zero magnitude. If ER 3 (Y) is equal to ER 2 (t) then the residual echo xe(t) is maximally removed when far end echo x(t) only is present (far-end-talk only period).
  • N(I), N(2) may be computed for the two echo residual estimators ER(I) and ER(2) respectively.
  • N(2) Il ER(2)
  • the echo residual estimator having smaller norm is applied to e 3 (t) to remove the echo residual noise.
  • the echo residual estimator having the larger norm is applied to e 3 (t) to remove the echo residual noise.
  • the echo cancellation may remove the noise n(t) from the filtered signal e 3 (t) or the residual echo cancelled filtered signal e 3 '(t). Such noise cancellation may be undesirable since a remote recipient of the signal e 3 (t) or e 3 '(t) may interpret the absence of noise an indication that all communication from the microphone 104 has been lost.
  • the apparatus 100 may optionally include a noise canceller unit 110.
  • the noise cancellation module 110 may be configured to compute an estimated noise signal n'(t) from the microphone signal d(t), e.g., as indicated at 217 of FIGs. 2A-2B.
  • the reduced noise signal n"(t) may be incorporated into a microphone output signal s'(t) by adding to e 3 (t) as indicated at 218 of FIG. 2A or by adding it to e 3 '(t) as indicated at 230 of FIG. 2B.
  • the apparatus described above with respect to FIGs. IA- 1C and the methods described above with respect to FIG. 2A-2B may be implemented in software on a system having a programmable processor and a memory
  • a signal processing method of the type described above with respect to FIG. 1, and FIGs. 2A-2B operating as described above may be implemented as part of a signal processing apparatus 300, as depicted in FIG. 3.
  • the system 300 may include a processor 301 and a memory 302 (e.g., RAM, DRAM, ROM, and the like).
  • the signal processing apparatus 300 may have multiple processors 301 if parallel processing is to be implemented.
  • the memory 302 includes data and code configured as described above.
  • the memory 302 may program code 304 and signal data 306.
  • the code 304 may implement the echo canceling adaptive filters EC(I), EC(2), integrator 106, echo residual filters ER(I), ER(2) residual echo cancellation module 108 and noise canceller 110 described above.
  • the signal data 306 may include digital representations of the microphone signal d(t) and/or the speaker signal x(t) .
  • the apparatus 300 may also include well-known support functions 310, such as input/output (I/O) elements 311, power supplies (P/S) 312, a clock (CLK) 313 and cache 314.
  • the apparatus 300 may optionally include a mass storage device 315 such as a disk drive, CD- ROM drive, tape drive, or the like to store programs and/or data.
  • the controller may also optionally include a display unit 316 and user interface unit 318 to facilitate interaction between the controller 300 and a user.
  • the display unit 316 may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, graphical symbols or images.
  • the user interface 318 may include a keyboard, mouse, joystick, light pen or other device.
  • a speaker 322 and a microphone 324 may be coupled to the processor 301 via the I/O elements 311.
  • the processor 301, memory 302 and other components of the system 300 may exchange signals (e.g., code instructions and data) with each other via a system bus 320 as shown in FIG. 3.
  • I/O generally refers to any program, operation or device that transfers data to or from the system 300 and to or from a peripheral device. Every data transfer may be regarded as an output from one device and an input into another.
  • Peripheral devices include input-only devices, such as keyboards and mouses, output-only devices, such as printers as well as devices such as a writable CD-ROM that can act as both an input and an output device.
  • peripheral device includes external devices, such as a mouse, keyboard, printer, monitor, microphone, game controller, camera, external Zip drive or scanner as well as internal devices, such as a CD-ROM drive, CD-R drive or internal modem or other peripheral such as a flash memory reader/writer, hard drive.
  • the processor 301 may perform digital signal processing on signal data 306 as described above in response to the data 306 and program code instructions of a program 304 stored and retrieved by the memory 302 and executed by the processor module 301.
  • Code portions of the program 304 may conform to any one of a number of different programming languages such as Assembly, C++, JAVA or a number of other languages.
  • the processor module 301 forms a general-purpose computer that becomes a specific purpose computer when executing programs such as the program code 304.
  • the program code 304 is described herein as being implemented in software and executed upon a general purpose computer, those skilled in the art will realize that the method of task management could alternatively be implemented using hardware such as an application specific integrated circuit (ASIC) or other hardware circuitry.
  • ASIC application specific integrated circuit
  • the program code 304 may include a set of processor readable instructions that implement a method having features in common with the method 200 of FIG. 2A or the method 220 of FIG. 2B.
  • the program code 304 may generally include instructions that direct the processor 301 to filter a microphone signal d(t) in parallel with first and second adaptive filters having complementary echo cancellation properties to produce echo cancelled outputs ei(t) and e 2 (t); instructions for determining a minimum echo output e3(t) from ei(t) and e 2 (t); and instructions for generating a microphone output using the minimum echo output e 3 (t).
  • Embodiments of the present invention allow for more robust yet accurate echo cancellation that would be possible with cross-correlation analysis alone or with voice activity detection (double talk detection) alone.
  • Such improved echo cancellation can extract the local speech signal s(t) from a microphone signal d(t) that is dominated by speaker echo x(t).
  • Embodiments of the present invention may be used as presented herein or in combination with other user input mechanisms and notwithstanding mechanisms that track or profile the angular direction or volume of sound and/or mechanisms that track the position of the object actively or passively, mechanisms using machine vision, combinations thereof and where the object tracked may include ancillary controls or buttons that manipulate feedback to the system and where such feedback may include but is not limited light emission from light sources, sound distortion means, or other suitable transmitters and modulators as well as controls, buttons, pressure pad, etc. that may influence the transmission or modulation of the same, encode state, and/or transmit commands from or to a device, including devices that are tracked by the system and whether such devices are part of, interacting with or influencing a system used in connection with embodiments of the present invention.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computational Linguistics (AREA)
  • Quality & Reliability (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Circuit For Audible Band Transducer (AREA)
  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
  • Telephone Function (AREA)
  • Soundproofing, Sound Blocking, And Sound Damping (AREA)

Abstract

Methods and apparatus for echo cancellation in a system having a speaker and a microphone are disclosed. The speaker receives a speaker signal x(t). The microphone receives a microphone signal d(t) containing a local signal s(t) and an echo signal x1(t) that is dependent on the speaker signal x(t). The microphone signal d(t) is filtered in parallel with first and second adaptive filters having complementary echo cancellation properties relative to each other. A minimum echo output e3(t) is determined from an output e1(t) of the first adaptive filter and an output e2(t) of the second adaptive filter. The minimum echo output has a smaller energy and less correlation to the speaker signal x(t). A microphone output is then generated using the minimum echo output e3(t).

Description

ECHO AND NOISE CANCELLATION
CLAIM OF PRIORITY
This application also claims the benefit of commonly-assigned, co-pending application number 11/381,728, to Xiao Dong Mao, entitled "ECHO AND NOISE CANCELATION", (Attorney Docket SCEA05064US00), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application claims the benefit of commonly- assigned, co-pending application number 11/381,729, to Xiao Dong Mao, entitled ULTRA SMALL MICROPHONE ARRAY, (Attorney Docket SCEA05062US00), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/381,725, to Xiao Dong Mao, entitled "METHODS AND APPARATUS FOR TARGETED SOUND DETECTION", (Attorney Docket SCEA05072US00), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/381,727, to Xiao Dong Mao, entitled "NOISE REMOVAL FOR ELECTRONIC DEVICE WITH FAR FIELD MICROPHONE ON CONSOLE", (Attorney Docket SCEA05073US00), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/381,724, to Xiao Dong Mao, entitled "METHODS AND APPARATUS FOR TARGETED SOUND DETECTION AND CHARACTERIZATION", (Attorney Docket SCEA05079US00), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/381,721, to Xiao Dong Mao, entitled "SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING", (Attorney Docket SCEA04005 JUMBOUS), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly- assigned, co-pending International Patent Application number PCT/US06/17483, to Xiao Dong Mao, entitled "SELECTIVE SOUND SOURCE LISTENING IN CONJUNCTION WITH COMPUTER INTERACTIVE PROCESSING", (Attorney Docket SCEA04005 JUMBOPCT), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly- assigned, co-pending application number 11/418,988, to Xiao Dong Mao, entitled "METHODS AND APPARATUSES FOR ADJUSTING A LISTENING AREA FOR CAPTURING SOUNDS", (Attorney Docket SCEA-00300) filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/418,989, to Xiao Dong Mao, entitled "METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON VISUAL IMAGE", (Attorney Docket SCEA-00400), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference. This application also claims the benefit of commonly-assigned, co-pending application number 11/429,047, to Xiao Dong Mao, entitled "METHODS AND APPARATUSES FOR CAPTURING AN AUDIO SIGNAL BASED ON A LOCATION OF THE SIGNAL", (Attorney Docket SCEA- 00500), filed on May 4, 2006, the entire disclosures of which are incorporated herein by reference.
FIELD OF THE INVENTION
Embodiments of the invention are related to audio signal processing and more particularly to echo and noise cancellation in audio signal processing.
BACKGROUND OF THE INVENTION
Many portable electronics devices, such as interactive video game controllers are capable of handling two-way audio signals. Such a device typically includes a microphone that receives a local speech signal s(t) from a user of the device and a speaker that emits a speaker signal x(t) that is audible to the user. To make the video game controller more compact it is often desirable to place the microphone and speaker relatively close to each other, e.g., within about 10 centimeters of each other. The user, by contrast may be much further from the microphone, e.g., about 3 to 5 meters away. The microphone produces a signal d(t) that includes both the local speech signal s(t) and a speaker echo signal xi(t). In addition, the microphone may pick up background noise n(t) so that the overall microphone signal d(t) = s(t) + xi(t) + n(t). Due to the relative proximity of the speaker, the microphone signal d(t) may be dominated by the speaker echo signal xi(t).
Speaker echo is a commonly observed phenomenon in telecommunications applications and echo suppression and echo cancellation are relatively mature technologies. Echo suppressors work by detecting if there is a voice signal going in one direction on a circuit, and then inserting a great deal of loss in the other direction. Usually the echo suppressor at the far-end of the circuit adds this loss when it detects voice coming from the near-end of the circuit. This added loss prevents the speaker signal x(t) from being retransmitted in the local speech signal d(t).
While effective, echo suppression often leads to several problems. For example it is common for the local speech signal s(t) and the remote speaker signal x(t) to occur at the same time, at least briefly. This situation is sometimes referred to as double-talk. The situation where only the remote speaker signal is present is sometimes referred to as remote single talk. Because each echo suppressor will then detect voice energy coming from the far-end of the circuit, the effect would ordinarily be for loss to be inserted in both directions at once, effectively blocking both parties. To prevent this, echo suppressors can be set to detect voice activity from the near-end speaker and to fail to insert loss (or insert a smaller loss) when both the near-end speaker and far-end speaker are talking. Unfortunately, this temporarily defeats the primary effect of having an echo suppressor at all.
In addition, since the echo suppressor is alternately inserting and removing loss, there is frequently a small delay when a new speaker begins talking that causes clipping of the first syllable from that speaker's speech. Furthermore, if the far-end party on a call is in a noisy environment, the near-end speaker will hear that background noise while the far-end speaker is talking, but the echo suppressor will suppress this background noise when the near-end speaker starts talking. The sudden absence of the background noise gives the near-end user the impression that the line has gone dead.
To address the above problems echo cancellation techniques were developed. Echo cancellation may use some form of analog or digital filter to remove unwanted noise or echoes from an input signal and produce a filtered signal e(t). In echo cancellation, complex algorithmic procedures are used to compute speech models. This involves feeding the microphone signal d(t) and some of the remote signal x(t) to an echo cancellation processor, predicting the speaker echo signal xi(t) then subtracting this from microphone signal d(t). The format of the echo prediction must be learned by the echo cancellation processor in a process known as adaptation.
The effectiveness of such techniques is measured by an echo suppression ratio (ESR), which is just the ratio (typically expressed in decibels) of the true echo energy received at the microphone to residual echo energy left in the filtered signal xi(t). According to standards defined by International Telecommunication Union (ITU), the level of the echo is required an attenuation (ESR) of at least 45 dB in case of remote single talk. During double talk (or during strong background noise) this attenuation can be lowered to 30 dB. However, these recommendations were developed for systems where the user generating the local speech signal is much closer to the microphone, so the recorded SNR (ratio of target voice energy to echo noise energy) is better than 5 dB mostly For applications such as video game controllers, where the user may be 3 to 5 meters away, and a loudspeaker plays loud echoes very close to an open microphone less than 0.5 meter away, the resulting SNR may be less than -15 dB to -30 dB an ESR greater than about 60 dB may be required for remote single talk, and 35 db for double-talk Existing echo cancellation techniques cannot achieve such a high level of ESR.
Thus, there is a need in the art, for an echo cancellation system and method that overcomes the above disadvantages.
SUMMARY OF THE INVENTION To overcome the above disadvantages, embodiments of the invention are directed to methods and apparatus for echo cancellation in a system having a speaker and a microphone. The speaker receives a speaker signal x(t). The microphone receives a microphone signal d(t) containing a local signal s(t) and an echo signal X1(I;) that is dependent on the speaker signal x(t). The microphone signal d(t) is filtered in parallel with first and second adaptive filters having complementary echo cancellation properties relative to each other. A minimum echo output e3(t) is determined from an output ei(t) of the first adaptive filter and an output e2(t) of the second adaptive filter. The minimum echo output has a smaller energy and less correlation to the speaker signal x(t). A microphone output is then generated using the minimum echo output e3(t). Residual echo cancellation and/or noise cancellation may optionally be applied to the minimum echo output.
BRIEF DESCRIPTION OF THE DRAWINGS
The teachings of the present invention can be readily understood by considering the following detailed description in conjunction with the accompanying drawings, in which:
FIG. IA is a schematic diagram of an echo cancellation apparatus according to an embodiment of the present invention.
FIG. IB is a schematic diagram of an adaptive filter with voice activity detection that may be used in the echo cancellation apparatus of FIG. IA. FIG. 1C is a schematic diagram of an adaptive filter with cross-correlation analysis that may be used in the echo cancellation apparatus of FIG. IA.
FIG. 2A is a flow diagram illustrating a method for echo cancellation according to an embodiment of the present invention.
FIG. 2B is a flow diagram illustrating an alternative method for echo cancellation according to an embodiment of the present invention.
FIG. 3 is a schematic diagram of an echo cancellation apparatus according to an alternative embodiment of the present invention.
DESCRIPTION OF THE SPECIFIC EMBODIMENTS Although the following detailed description contains many specific details for the purposes of illustration, anyone of ordinary skill in the art will appreciate that many variations and alterations to the following details are within the scope of the invention. Accordingly, the exemplary embodiments of the invention described below are set forth without any loss of generality to, and without imposing limitations upon, the claimed invention.
Embodiments of the invention propose a novel structure of an integrated echo and noise- canceller that has two functionally identical filters with orthogonal controls and representations. In such a configuration the two orthogonal filters complement each other in a way that can boost the overall system robustness in a noisy hands free voice communication. In particular, an integrated echo-noise-canceller uses two separately controlled sub-systems in parallel, each with orthogonal control mechanism. The echo-noise-canceller includes a front echo canceller and a backup echo canceller. The front echo-canceller uses double-talk detection and takes conservative adaptation approaches to ensure it is robust against local voice, yet provide less echo-suppression and slow adaptation speech to echo-change. The backup echo-canceller uses cross-correlation to measure the similarity between the error signal and echo signal, it takes an aggressive strategy to ensure the filter is quickly updated and provides large echo-suppression, yet it is unstable to local voice/noise, due to possible over adaptation. An integration of these two echo-canceller outputs is based on cross- correlation analysis that measures which echo canceller has a larger differentiation against the echo signal. The integration also checks the filter stability of both echo cancellers. If one filter is overestimated or underestimated it is then complemented by the other filter. Such a system is designed to ensure there is at one filter working correctly at any given time.
The system may optionally include an echo-residual-noise-estimator that takes a similar approach using two independent sub estimators in parallel, each with orthogonal controlling. A first estimator is based on echo-distance-mismatch that depends on a robust double-talk- detector. The first estimator is relatively accurate yet not stable due to double-talk-detection errors. A second estimator is based on cross-spectrum-analysis. Its estimation is biased but stable and consistent without depending on local voice detection. The integration of these two estimations of the residual echo takes a minimum/maximum approach for far-end -talk only and double-talk respectively.
FIG. IA shows an example of an audio system 99 utilizing an echo cancellation apparatus 100 according to an embodiment of the present invention. Operation of the apparatus 100 may be understood by referring to the flow diagrams of method 200 shown in FIG. 2A and method 220 shown in FIG. 2B. The audio system 99 generally includes a speaker 102 that receives a remote signal x(t) and a microphone 104. A local source 101 produces local speech signal s(t). The microphone 104 receives both the local speech signal s(t) and an echo signal X1(I;) that is related to the speaker signal x(t). The microphone 104 may also receive noise n(t) originating from the environment in which the microphone 104 is located. The microphone 104 thus generates a microphone signal d(t), which may be given by d(t) = s(t) + X1(I;) + n(t).
The echo cancellation apparatus 100 generally includes a first adaptive echo cancellation filter EC(I) and a second adaptive echo cancellation filter EC(2). Each adaptive filter receives the microphone signal d(t) and the speaker signal x(t). As shown in FIGs. 2A-2B, filter EC(I) adaptively filters the microphone signal d(t) as indicated at 202 while the second filter EC(2) adaptively filters the microphone signal d(t) in parallel with the first filter EC(I) as indicated at 204. As used herein, the filters are said to operate in parallel if they receive the substantially the same input d(t). Parallel operation is distinguished from serial operation where an output of one filter serves as an input for the other. Depending on the status of the two filters EC(I), EC(2) one filter serves as a main or "front" filter and the other serves as a "backup" filter. One filter takes a conservative approach to echo cancellation while the other takes a more aggressive approach. The status of the filters EC(I), EC(2) may be understood with respect to the following signal model:
y(t) = x(t) * h(n)
d(t) = yo(t) + s(t)
e(t) = d(t) - y(t)
where:
y(t) is the echo synthesized by the echo-canceller filter.
x(t) is the echo that is playing in loudspeaker
h(n) is the adaptive filter function of echo-canceller filter
d(t) is the noisy signal received by microphone,
yo(t) is the true echo appeared in microphone,
s(t) is local voice, and
e(t) is echo-cancelled residual signal produced by the echo canceller filter.
The two filters EC(I), EC(2) have complementary echo cancellation properties. As used herein, two adaptive filters receiving the same inputs are said to have complementary echo cancellation if the filtering properties of the two filters are such that one filter is well adapted to its inputs when the other is not. In the context of the present application, a filter is said to be "well adapted" when its filter function h(n) is stable, converged to the true echo-path- filter and neither overestimated nor underestimated.
If h(n) is converged to the true echo-path-filter y(t) ~= yo(t), i.e., the estimated echo is approximately equal to the true echo. The status of the echo canceller filters EC(I), EC(2) may be quantified in terms of a coherence function α involving the cross-correlation between y(t) and e(t), where: α = E(e(t) * y(t)) / E(y(t) * y(t)), where "E" stands for the statistical expectation value and the operator "*" represents the cross-correlation operation. For discrete functions/ and gt the cross-correlation is defined as
where the sum is over the appropriate values of the integer j and an asterisk indicates the complex conjugate. For continuous functions/(x) and g(x) the cross-correlation is defined as
i / * g \ x i ≡ / f* {t < § {£ + f i tit
where the integral is over the appropriate values of t.
In the coherence function α, the numerator stands for cross-correlation of e(t) and y(t), the denominator stands for auto-correlation of y(t) which serves as a normalization term.
Ideally, if h(n) is converged, α should be close to "0"(since the residual signal e(t) does not include y(t) ). If h(n) is not converged, α should be close to "1" (since e(t) contains strong echo of y(t). if h(n) is illness and diverged, α should be negative (since e(t) contains 180 phase shifted strong echo due to filter divergence).
Thus, by way of example and without limitation, the value of the coherence function α may be used to define four different possible states for the status of the filters EC(I), EC(2):
(1) If filter h(n) is stable, converged and neither overestimated nor underestimated: 0<= α <= 0.1
(2) If filter h(n) is stable but under-estimated (not converged yet): alpha > 0.2
(3) If filter h(n) is over-estimated: alpha < -0.1
(4) If filter h(n) is diverged: alpha < -0.25
Those of skill in the art will recognize that different ranges of the values of α for these different states may be determined empirically. If a filter is in good status (e.g., state (I)), its settings may be saved for later recovery if it should subsequently become diverged. If a filter is diverged, under-estimated or overestimated, the front and backup echo-cancellers will exchange their roles. The front filter becomes the backup while the backup filter assumes the front filter role. Since one filter takes a conservative adaptation approach while the other takes an aggressive adaptation approach, this change should eventually make both filters converge faster and be more dynamically stable.
Also, if a filter is under-estimated or over-estimated, its adaptation step-size may be increased or decreased respectively by small delta amount to accelerate or decelerate the adaptation- speed for faster convergence or better tracking stability. Usually, faster convergence takes a larger step-size, which sacrifices good tracking to detail and lowers the echo-suppression- ratio ESR. Slower convergence by using a smaller step-size is more stable and has better capability to track subtle changes but is less suitable for fast tracking of echo dislocation.
By combining the dynamic step-size and front/backup filter exchange, the overall system is well balanced in terms of fast tracking vs. detail-tracking, stability vs. convergence. These two are really the fundamental twin challenges in adaptive system design.
If one of the filters is diverged, the other filter's settings may be copied to reinitiate the diverged filter if the other filter is in good status. Otherwise the diverged filter may be recovered using filter settings from a previously saved good status.
By way of example, and without limitation, echo canceling adaptive filters EC(I) and EC(2) may be based on frequency domain normalized least mean square adaptive filters. Each filter may be implemented in hardware or software or a combination of hardware and software.
FIGs. IB and 1C depict examples of suitable complementary adaptive filters. Specifically, FIG. IB depicts an adaptive echo cancellation filter 120 with voice activity detection that may be used as the first adaptive filter EC(I). The filter 120 includes a variable filter 122 having finite impulse response (FIR) filters characterized by filter coefficients wt. The variable filter 122 receives the microphone signal d(t) and filters it according to the values of the filter coefficients wt to produce a filtered signal d'(t). The variable filter 124 estimates a desired signal by convoluting the input signal with the impulse response determined by the coefficients wti. Each filter coefficient wti is updated at regular intervals by an amount Δwt according to an update algorithm 124. By way of example, the filter coefficients wt may be chosen such that the filtered signal d'(t) attempts to estimate the speaker echo signal X1(I;) as the desired signal. A difference unit 126 subtracts the filtered signal d'(t) from the microphone signal d(t) to provide an estimated signal ei(t), which estimates the local speech signal s(t). The filtered signal d'(t) can be subtracted from the remote signal x(t) to produce an error signal e(t) that is used by the update algorithm 124 to adjust the filter coefficients wt. The adaptive algorithm 124 generates a correction factor based on the remote signal x(t) and the error signal. Examples of coefficient update algorithms include least mean squares (LMS) and recursive least squares (RLS). In an LMS update algorithm, e.g., the filter coefficients are updated according to wti+i = wtl + μe(t)x(t), where μ refers to a step size. Initially, all wtl = 0. Note that in this example the quantity μe(t)x(t) is the amount Δwt. As described above, the step size μ may be dynamically adjusted depending on the state of the adaptive filter. Specifically, if the filter is under-estimated the step size μ may be increased by small delta amount to accelerate the adaptation-speed for faster convergence. Alternatively, if the filter is overestimated, its adaptation step-size μ may be decreased respectively by small delta amount to decelerate the adaptation-speed for better tracking stability.
The time-domain expression e(t)x(t) is a multiplication. This computation may be implemented in the frequency domain as follows. First e(t), x(t) and h(n) may be converted from the time domain to the frequency domain, e.g., by fast Fourier transform (fft).
E(k) = fft(e(t)); XQa) = fft(x(t));
H(K) = fft(h(n))
the actual LMS update algorithm in the frequency domain becomes:
H(k) = H(k) + (μ * conj(X(k)) .* E(k)) / (Δ + XQa)* conj(X(k)).
where:
μ is the filter adaptation stepsize, it is dynamic;
conj (a) refers the complex conjugate of a complex number a;
* refers to complex multiplication; and Δ is a regulator that prevents the denominator from becoming numerically unstable.
In the above equation, " conj(X(k)).* E(k) " performs the "e(t)x(t)" task. In the denominator, " X(k) * conj(X(k)" serves a normalization purpose for better stability.
Voice activated detection VAD adjusts the update algorithm 124 such that variable filter 122 only adaptively filters the microphone signal d(t) when the remote signal x(t) is present, i.e., above a predetermined threshold. An adaptive filter of the type shown in FIG. IB that uses voice activated detection (sometimes also referred to as double talk detection), is a relatively slowly adapting filter but it is also very accurate in that it generates very few false positives. A complementary adaptive filter to the filter 120 would be one that, e.g., adapts relatively quickly, but tends to generate frequent false positives.
By way of example, FIG. 1C depicts an adaptive filter 130 that is complementary to the filter 120 of FIG. IB. The adaptive filter 130 includes a variable filter 132 characterized by filter coefficients wt2 and an update algorithm 134 (e.g., a LMS update algorithm as described above). The filter 132 attempts to estimate the speaker echo signal xi(t) as the desired signal. A difference unit 136 subtracts the filtered signal d'(t) from the microphone signal d(t) to provide an estimated signal e2(t), which estimates the local speech signal s(t). The filtered signal d'(t) can be subtracted from the remote signal x(t) to produce an error signal e(t) that is used by the update algorithm 134 to adjust the filter coefficients wt2. In the filter 130 a cross- correlation analysis CCA adjusts the update algorithm 134 such that variable filter 132 attempts to reduce cross-correlation between the estimated signal e2(t) and the speaker echo signal x(t).
If e2(t) and x(t) are very strongly correlated, the filtering is said to be underestimated and the update algorithm 134 may be adjusted to increase Δwt2. If the cross-correlation between e2(t) and x(t) is below a threshold the filtering is said to be overestimated and the update algorithm 134 may be adjusted to reduce Δwt2.
An adaptive filter of the type shown in FIG. 1C that uses cross-correlation analysis (sometimes also referred to as cross-spectrum analysis), is a relatively rapidly adapting filter but it is also unstable in that generates frequent false positives. Thus, filters 120 and 130 are examples of complementary filters. Referring again to FIG. IA, an integrator 106 is coupled to the first adaptive filter EC(I) and the second adaptive filter EC(2). The integrator 106 is configured to determine a minimum echo output e3(t) from the outputs ei(t), e^t) of the first and second adaptive filters respectively. The minimum echo output e3(t) is the one of ei(t) and e2(t) having the smaller energy and less correlation to the speaker signal x(t). If one of ei(t) and e^t) has the smaller energy but the other has less correlation to x(t) the one with the smaller correlation is used as the minimum echo output e3(t). For example, if one of the filters is overestimated (i.e., it tends to cancel out target voice thus have smaller energy output), the smaller correlation is better regardless the energy. The minimum energy may be determined by determining a minimum of .ZsJe1(I;)) and is {e2(t)}, where E{} refers to the operation of determining the expectation value of the quantity in braces. Referring again to FIGs. 2A-2B, at 206 a cross correlation analysis may be performed on ei(t) and e2(t) to determine which of ei(t) and e2(t) has the smaller cross-correlation with the speaker signal x(t). The cross-correlation analysis may include determining a minimum of .ZsJe1(I;) * x(t)} and is {e2(t) * x(t)}, where the "*" operator refers to the operation of taking the cross-correlation between the quantities on either side of the operator, e.g. as defined above. The minimum echo output e3(t) may be used as a filtered output of the microphone 104.
In some situations, one of the filters EC(I), EC(2) may excessively filter out the local signal s(t). In such a situation, the filter is said to be "diverged". This is a very real possibility particularly where EC(2) is cross-correlation filter, e.g., of the type shown in FIG. 1C. To address this possibility, at 208 it is determined whether EC(2) is diverged. By way of example, the integrator 106 may be configured to determine whether the second adaptive echo cancellation filter EC(2) is excessively filtering out the local signal s(t). This can be done by examining the expectation value of the cross-correlation between e2(t) with the speaker echo signal x(t), i.e., is Je2(I;) * x(t)}. Typically, is Je2(I;) * x(t)}>0. However, if is {e2(t)-*x(t)} is less than some threshold, e.g., about 0.2, EC(2) is excessively filtering out the local signal s(t). In such a situation, the integrator 106 may select ei(t) as the minimum echo output e3(t). To stabilize the adaptive filtering the EC(2) filter coefficients Wt2 may be set to the values of the EC(I) filter coefficients wti at 212. EC(2) may then be re- initialized at 215 to zero or to a previous known, well-adapted state. For example, the filter coefficients may be saved at regular intervals, e.g., about every 10 to 20 seconds so that they may be used to re-initialize EC(2) if it diverges. Normally, a cross-correlation filter is well-adapted if it is not diverged. Since EC(2) and EC(I) have complementary filtering properties, when EC(2) is well-adapted EC(I) is underestimated. To stabilize the adaptive filtering the filter coefficients wti for the first adaptive filter EC(I) may be swapped with the filter coefficients Wt2 for the second adaptive filter EC(2) as indicated at 214 For software implementations of the filters, the coefficients Wti, Wt2 may be stored at locations in a memory that are identified by pointers. The coefficients wti, wt2 may be swapped, e.g., by switching the pointers to wti and Wt2.
The minimum echo output e3(t) may include some residual echo xe(t) from the speaker signal x(t). The apparatus 100 may optionally include echo first and second residual estimators ER(I) and ER(2) coupled to the integrator 106 and a residual echo cancellation module 108 coupled to the echo residual estimators ER(I) and ER(2).
The first echo residual estimator ER(I) may be configured to generate a first residual echo estimation ERi (t) that includes a cross-correlation analysis between the minimum echo output e3(t) and the speaker signal x(t). As indicated at 222 of FIG. 2B, the first residual echo estimation ERi (t) may be determined from a cross-correlation analysis between the minimum echo output e3(t) and the speaker signal x(t), e.g., by determining argmin(is {e3(t)^ x(t)}), where argmin(is{e3(t) *x(t)}) is true if e3(t) minimizes the expectation value of the cross- correlation e3(t) ~* x(t). This minimization problem may essentially be realized adaptively. For example, assume first echo residual estimator ER(I) is initially a unit filter (all "1" values). At every frame, the first residual echo estimation ERi(t) may be increased toward a tangent direction on search surface. This may be implemented using a Newton solver algorithm. The second echo residual estimator ER(2) may be configured to determine a second residual echo estimation ER2(t) that includes an echo-distance mismatch between the minimum echo output e3(t) and the speaker signal x(t). As indicated at 224 of FIG. 2B, the second residual echo estimation ER2(t) may be determined from an echo-distance mismatch between the minimum echo output e3(t) and the speaker signal x(t), e.g., by determining argmin(is{(e3(t))2/(x(t))2}), where argmin(is{(e3(t))2/(x(t))2}) is true if e3(t) minimizes the expectation value of the quotient (e3(t))2/(x(t))2. Again, the minimization may be implemented using a Newton solver algorithm.
The residual echo cancellation module 108 determines a minimum residual echo estimation ER3(t) of the two residual echo estimations ERi (t) and ER2(t) and adjusts the filtered signal e3(t) according to the minimum value ER3(t). By way of example, the minimum residual echo estimation ER3(t) may be the one of ERi (t) and ER2(t) having a minimum energy and minimum correlation to x(t). For example, as indicated at 226 in FIG. 2B, is set equal to the minimum of ERi(t) and ER2(t) and the resulting value of ER3 is subtracted from e3(t) to produce a residual echo cancelled filtered signal e3'(t), as indicated at 228. If ER3 is equal to ERi(t) then the residual echo xe(t) is minimally removed when the local speech signal s(t) has a non-zero magnitude. If ER3(Y) is equal to ER2(t) then the residual echo xe(t) is maximally removed when far end echo x(t) only is present (far-end-talk only period).
By way of example second order norms N(I), N(2) may be computed for the two echo residual estimators ER(I) and ER(2) respectively.
N(I) = II ER(I) H
N(2) = Il ER(2) Il
Under double-talk, the echo residual estimator having smaller norm is applied to e3(t) to remove the echo residual noise. Under single-talk, the echo residual estimator having the larger norm is applied to e3(t) to remove the echo residual noise.
The echo cancellation may remove the noise n(t) from the filtered signal e3(t) or the residual echo cancelled filtered signal e3'(t). Such noise cancellation may be undesirable since a remote recipient of the signal e3(t) or e3'(t) may interpret the absence of noise an indication that all communication from the microphone 104 has been lost. To overcome this, the apparatus 100 may optionally include a noise canceller unit 110. The noise cancellation module 110 may be configured to compute an estimated noise signal n'(t) from the microphone signal d(t), e.g., as indicated at 217 of FIGs. 2A-2B. The estimated noise signal n'(t) may be attenuated by an attenuation factor α to form a reduced noise signal n"(t) = αn'(t). The reduced noise signal n"(t) may be incorporated into a microphone output signal s'(t) by adding to e3(t) as indicated at 218 of FIG. 2A or by adding it to e3'(t) as indicated at 230 of FIG. 2B.
In embodiments of the present invention, the apparatus described above with respect to FIGs. IA- 1C and the methods described above with respect to FIG. 2A-2B may be implemented in software on a system having a programmable processor and a memory According to embodiments of the present invention, a signal processing method of the type described above with respect to FIG. 1, and FIGs. 2A-2B operating as described above may be implemented as part of a signal processing apparatus 300, as depicted in FIG. 3. The system 300 may include a processor 301 and a memory 302 (e.g., RAM, DRAM, ROM, and the like). In addition, the signal processing apparatus 300 may have multiple processors 301 if parallel processing is to be implemented. The memory 302 includes data and code configured as described above. Specifically, the memory 302 may program code 304 and signal data 306. The code 304 may implement the echo canceling adaptive filters EC(I), EC(2), integrator 106, echo residual filters ER(I), ER(2) residual echo cancellation module 108 and noise canceller 110 described above. The signal data 306 may include digital representations of the microphone signal d(t) and/or the speaker signal x(t) .
The apparatus 300 may also include well-known support functions 310, such as input/output (I/O) elements 311, power supplies (P/S) 312, a clock (CLK) 313 and cache 314. The apparatus 300 may optionally include a mass storage device 315 such as a disk drive, CD- ROM drive, tape drive, or the like to store programs and/or data. The controller may also optionally include a display unit 316 and user interface unit 318 to facilitate interaction between the controller 300 and a user. The display unit 316 may be in the form of a cathode ray tube (CRT) or flat panel screen that displays text, numerals, graphical symbols or images. The user interface 318 may include a keyboard, mouse, joystick, light pen or other device. In addition, a speaker 322 and a microphone 324 may be coupled to the processor 301 via the I/O elements 311. The processor 301, memory 302 and other components of the system 300 may exchange signals (e.g., code instructions and data) with each other via a system bus 320 as shown in FIG. 3.
As used herein, the term I/O generally refers to any program, operation or device that transfers data to or from the system 300 and to or from a peripheral device. Every data transfer may be regarded as an output from one device and an input into another. Peripheral devices include input-only devices, such as keyboards and mouses, output-only devices, such as printers as well as devices such as a writable CD-ROM that can act as both an input and an output device. The term "peripheral device" includes external devices, such as a mouse, keyboard, printer, monitor, microphone, game controller, camera, external Zip drive or scanner as well as internal devices, such as a CD-ROM drive, CD-R drive or internal modem or other peripheral such as a flash memory reader/writer, hard drive. The processor 301 may perform digital signal processing on signal data 306 as described above in response to the data 306 and program code instructions of a program 304 stored and retrieved by the memory 302 and executed by the processor module 301. Code portions of the program 304 may conform to any one of a number of different programming languages such as Assembly, C++, JAVA or a number of other languages. The processor module 301 forms a general-purpose computer that becomes a specific purpose computer when executing programs such as the program code 304. Although the program code 304 is described herein as being implemented in software and executed upon a general purpose computer, those skilled in the art will realize that the method of task management could alternatively be implemented using hardware such as an application specific integrated circuit (ASIC) or other hardware circuitry. As such, it should be understood that embodiments of the invention can be implemented, in whole or in part, in software, hardware or some combination of both.
In one embodiment, among others, the program code 304 may include a set of processor readable instructions that implement a method having features in common with the method 200 of FIG. 2A or the method 220 of FIG. 2B. The program code 304 may generally include instructions that direct the processor 301 to filter a microphone signal d(t) in parallel with first and second adaptive filters having complementary echo cancellation properties to produce echo cancelled outputs ei(t) and e2(t); instructions for determining a minimum echo output e3(t) from ei(t) and e2(t); and instructions for generating a microphone output using the minimum echo output e3(t).
Embodiments of the present invention allow for more robust yet accurate echo cancellation that would be possible with cross-correlation analysis alone or with voice activity detection (double talk detection) alone. Such improved echo cancellation can extract the local speech signal s(t) from a microphone signal d(t) that is dominated by speaker echo x(t). Embodiments of the present invention may be used as presented herein or in combination with other user input mechanisms and notwithstanding mechanisms that track or profile the angular direction or volume of sound and/or mechanisms that track the position of the object actively or passively, mechanisms using machine vision, combinations thereof and where the object tracked may include ancillary controls or buttons that manipulate feedback to the system and where such feedback may include but is not limited light emission from light sources, sound distortion means, or other suitable transmitters and modulators as well as controls, buttons, pressure pad, etc. that may influence the transmission or modulation of the same, encode state, and/or transmit commands from or to a device, including devices that are tracked by the system and whether such devices are part of, interacting with or influencing a system used in connection with embodiments of the present invention.
While the above is a complete description of the preferred embodiment of the present invention, it is possible to use various alternatives, modifications and equivalents. Therefore, the scope of the present invention should be determined not with reference to the above description but should, instead, be determined with reference to the appended claims, along with their full scope of equivalents. Any feature described herein, whether preferred or not, may be combined with any other feature described herein, whether preferred or not. In the claims that follow, the indefinite article "A", or "An" refers to a quantity of one or more of the item following the article, except where expressly stated otherwise. The appended claims are not to be interpreted as including means-plus-function limitations, unless such a limitation is explicitly recited in a given claim using the phrase "means for."

Claims

WHAT IS CLAIMED IS:
L A method for echo cancellation in a system having a speaker and a microphone, the speaker receiving a speaker signal x(t), the microphone receiving a microphone signal d(t) containing a local signal s(t) and an echo signal X1(I;), wherein the echo signal X1(I;) is dependent on the speaker signal x(t), the method comprising: filtering the microphone signal d(t) in parallel with a first adaptive filter and a second adaptive filter, wherein the first adaptive filter has complementary echo cancellation properties relative to the second adaptive filter; determining a minimum echo output e3(t) from an output ei(t) of the first adaptive filter and an output e^t) of the second adaptive filter, wherein the minimum echo output has a smaller energy and less correlation to the speaker signal x(t); and generating a microphone output using the minimum echo output e3(t).
2. The method of claim 1 wherein filtering the microphone signal d(t) in parallel with the first adaptive filter and the second adaptive filter includes adapting a set of filter coefficients of the first adaptive filter when a magnitude of x(t) is above a threshold and performing cross-correlation analysis between d(t) and x(t) with the second adaptive filter.
3. The method of claim 2 wherein determining a minimum echo output e3(t) includes determining whether the second adaptive filter is excessively filtering out the local signal s(t); and if the second adaptive filter is excessively filtering out the local signal s(t) using the output of the first adaptive filter as the minimum echo output.
4. The method of claim 3 wherein determining whether the second adaptive filter is excessively filtering out the local signal s(t) includes performing a cross-correlation between the output of the second adaptive filter and the speaker signal x(t).
5. The method of claim 3 further comprising, if the second adaptive filter is excessively filtering out the local signal s(t), replacing a set of filter coefficients for the second adaptive filter with a set of filter coefficients for the first echo cancellation filter and reinitializing the second echo cancellation filter to zero or a previous known state for which the second echo cancellation filter is not excessively filtering out the local signal s(t).
6. The method of claim 1 wherein generating a microphone output using the minimum echo output e3(t) includes determining in parallel a first residual echo estimation ERi(t) that includes a cross-correlation analysis between the minimum echo output e3(t) and the speaker signal x(t) and determining a second residual echo estimation ER2(t) that includes an echo-distance mismatch between the minimum echo output e3(t) and the speaker signal x(t).
7. The method of claim 6 wherein the cross-correlation analysis includes a computation of an expectation value of a cross-correlation between e3(t) and x(t).
8. The method of claim 6 wherein the echo distance mismatch includes a computation of an expectation value of (e3 2(t)/x2(t)}.
9. The method of claim 6 wherein determining a first residual echo estimation ERi (t) includes computing a second order norm N(I) of a first residual echo estimator ER(I) and wherein determining a second residual echo estimation ER2(t) includes computing a second order norm N(2) of a second residual echo estimator ER(2), the method further comprising, during a period of double-talk, applying to e3(t) the echo residual estimator ER(I) or ER(2) for which the corresponding norm N(I) or N(2) is smaller.
10. The method of claim 6 wherein determining a first residual echo estimation ERi (t) includes computing a second order norm N(I) of a first residual echo estimator ER(I) and wherein determining a second residual echo estimation ER2(t) includes computing a second order norm N(2) of a second residual echo estimator ER(2), the method further comprising, during a period of single-talk, applying to e3(t) the echo residual estimator ER(I) or ER(2) for which the corresponding norm N(I) or N(2) is larger.
11. The method of claim 6 wherein generating a microphone output using the minimum echo output e3(t) further includes determining a minimum residual echo estimation ER3(t), wherein the minimum residual echo estimation ERs(t) is the one of ERi (t) and ER2(t) having a minimum energy and minimum correlation to x(t).
12. The method of claim 11 further comprising and selectively removing ER3(t) from the minimum echo output e3(t).
13. The method of claim 12 wherein selectively removing ER3(t) from the microphone output includes maximally removing ER3(t) from the microphone output during a far-end-talk only period.
14. The method of claim 12 wherein selectively removing ER3(t) from the microphone output includes minimally removing ER3(t) from the microphone output if the local signal s(t) has a non-zero magnitude.
15. The method of claim 1 further comprising computing an estimated noise signal n'(t) from the microphone signal d(t); and reducing a level of the estimated noise signal n'(t) to form a reduced noise signal n"(t); and incorporating the reduced noise signal n"(t) into the microphone output signal.
16. An echo cancellation apparatus for use in a system having a speaker and a microphone, the speaker being adapted to receive a speaker signal x(t), the microphone being adapted to generate a microphone signal d(t) containing a local signal s(t) and an echo signal X1(I;), wherein the echo signal X1(I;) is dependent on the speaker signal x(t), the apparatus comprising: a first adaptive filter coupled to the speaker and the microphone; and a second adaptive filter coupled to the speaker and the microphone in parallel with the first adaptive filter, wherein the second adaptive filter has complementary echo cancellation properties relative to the first adaptive filter; an integrator coupled to the first adaptive filter and the second adaptive filter, wherein the integrator is configured to determine a minimum echo output e3(t) from an output ei(t) of the first adaptive filter and an output e2(t) of the second adaptive filter, wherein the minimum echo output has a smaller energy and less correlation to the speaker signal x(t).
17. The apparatus of claim 16 wherein the integrator is configured to determine whether the second echo cancellation filter is excessively filtering out the local signal s(t); wherein if the second adaptive filter is excessively filtering out the local signal s(t) integrator selects the ei(t) as the minimum echo output e3(t).
18. The apparatus of claim 16 wherein the first adaptive filter is a voice activity detector filter.
19. The apparatus of claim 16 wherein the second adaptive filter is a cross-correlation analysis filter.
20. The apparatus of claim 16, further comprising a first echo residual estimator ER(I) coupled to the integrator and a second echo residual estimator ER(2) coupled to the integrator.
21. The apparatus of claim 20 wherein the first echo residual estimator ER(I) is configured to generate a first residual echo estimation ERi(t) that includes a cross-correlation analysis between the minimum echo output e3(t) and the speaker signal x(t) and wherein the second echo residual estimator ER(2) is configured to determine a second residual echo estimation ER2(t) that includes an echo-distance mismatch between the minimum echo output e3(t) and the speaker signal x(t).
22. The apparatus of claim 21 wherein the cross-correlation analysis includes a computation of an expectation value of a cross-correlation between e3(t) and x(t).
23. The apparatus of claim 21 wherein the echo distance mismatch includes a computation of an expectation value of (e3 2(t)/x2(t)}.
24. The apparatus of claim 21, further comprising a residual echo cancellation module coupled to the first and second echo residual estimators, the residual echo cancellation module is configured to compute a second order norm N(I) of the first residual echo estimator ER(I) and compute a second order norm N(2) of the second residual echo estimator ER(2), the echo cancellation module be configured to apply to e3(t), during a period of double-talk, the echo residual estimator ER(I) or ER(2) for which the corresponding norm N(I) or N(2) is smaller.
25. The apparatus of claim 21, further comprising a residual echo cancellation module coupled to the first and second echo residual estimators, the residual echo cancellation module is configured to compute a second order norm N(I) of the first residual echo estimator ER(I) and compute a second order norm N(2) of the second residual echo estimator ER(2), the echo cancellation module be configured to apply to e3(t), during a period of single-talk, the echo residual estimator ER(I) or ER(2) for which the corresponding norm N(I) or N(2) is larger.
26. The apparatus of claim 21, further comprising a residual echo cancellation module coupled to the first and second echo residual estimators, the residual echo cancellation module is configured to determine a minimum residual echo estimation ER3(t), wherein the minimum residual echo estimation ER3(t) is the one of ERi(t) and ER2(t) having a minimum energy and minimum correlation to x(t).
27. The apparatus of claim 26 wherein the residual echo cancellation module is configured to selectively remove ER3(t) from the minimum echo output e3(t).
28. The apparatus of claim 27 wherein the residual echo cancellation module is configured to maximally removing ER3(t) from the microphone output during a far-end-talk only period.
29. The apparatus of claim 27 wherein the residual echo cancellation module is configured to minimally removing ER3(t) from the microphone output if the local signal s(t) has a non- zero magnitude.
30. The apparatus of claim 16 further comprising a noise cancellation module coupled to the microphone, wherein the noise cancellation module is configured to compute an estimated noise signal n'(t) from the microphone signal d(t); reduce a level of the estimated noise signal n'(t) to form a reduced noise signal n"(t); and incorporate the reduced noise signal n"(t) into a microphone output signal.
31. An audio signal processing system, comprising: a microphone; a speaker; a processor coupled to the microphone and the speaker; a memory coupled to the processor, the memory having embodied therein a set of processor readable instructions for implementing a method for method for echo cancellation in a system having a speaker and a microphone, the speaker receiving a speaker signal x(t), the microphone receiving a microphone signal d(t) containing a local signal s(t) and an echo signal X1(I;), wherein the echo signal X1(I;) is dependent on the speaker signal x(t), the processor readable instructions including: instructions for filtering the microphone signal d(t) in parallel with a adaptive filter and a second adaptive filter, wherein the first adaptive filter has complementary echo cancellation properties relative to the second adaptive filter; instructions for determining a minimum echo output e3(t) from an output ei(t) of the first adaptive filter and an output e2(t) of the second adaptive filter, wherein the minimum echo output has a smaller energy and less correlation to the speaker signal x(t); and instructions for generating a microphone output using the minimum echo output e3(t).
32. A processor readable medium having embodied therein a memory coupled to the processor, the memory having embodied therein a set of processor readable instructions for implementing a method for method for echo cancellation in a system having a speaker and a microphone, the speaker receiving a speaker signal x(t), the microphone receiving a microphone signal d(t) containing a local signal s(t) and an echo signal X1(I;), wherein the echo signal X1(I;) is dependent on the speaker signal x(t), the processor readable instructions including: instructions for filtering the microphone signal d(t) in parallel with a adaptive filter and a second adaptive filter, wherein the first adaptive filter has complementary echo cancellation properties relative to the second adaptive filter; instructions for determining a minimum echo output e3(t) from an output ei(t) of the first adaptive filter and an output e2(t) of the second adaptive filter, wherein the minimum echo output has a smaller energy and less correlation to the speaker signal x(t); and instructions for generating a microphone output using the minimum echo output e3(t).
EP07759872A 2006-05-04 2007-03-30 Echo and noise cancellation Withdrawn EP2014132A4 (en)

Applications Claiming Priority (11)

Application Number Priority Date Filing Date Title
PCT/US2006/017483 WO2006121896A2 (en) 2005-05-05 2006-05-04 Microphone array based selective sound source listening and video game control
US11/381,724 US8073157B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for targeted sound detection and characterization
US11/381,721 US8947347B2 (en) 2003-08-27 2006-05-04 Controlling actions in a video game unit
US11/381,728 US7545926B2 (en) 2006-05-04 2006-05-04 Echo and noise cancellation
US11/381,729 US7809145B2 (en) 2006-05-04 2006-05-04 Ultra small microphone array
US11/381,725 US7783061B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for the targeted sound detection
US11/418,988 US8160269B2 (en) 2003-08-27 2006-05-04 Methods and apparatuses for adjusting a listening area for capturing sounds
US11/381,727 US7697700B2 (en) 2006-05-04 2006-05-04 Noise removal for electronic device with far field microphone on console
US11/429,047 US8233642B2 (en) 2003-08-27 2006-05-04 Methods and apparatuses for capturing an audio signal based on a location of the signal
US11/418,989 US8139793B2 (en) 2003-08-27 2006-05-04 Methods and apparatus for capturing audio signals based on a visual image
PCT/US2007/065686 WO2007130765A2 (en) 2006-05-04 2007-03-30 Echo and noise cancellation

Publications (2)

Publication Number Publication Date
EP2014132A2 true EP2014132A2 (en) 2009-01-14
EP2014132A4 EP2014132A4 (en) 2013-01-02

Family

ID=56290936

Family Applications (2)

Application Number Title Priority Date Filing Date
EP07759884A Withdrawn EP2012725A4 (en) 2006-05-04 2007-03-30 Narrow band noise reduction for speech enhancement
EP07759872A Withdrawn EP2014132A4 (en) 2006-05-04 2007-03-30 Echo and noise cancellation

Family Applications Before (1)

Application Number Title Priority Date Filing Date
EP07759884A Withdrawn EP2012725A4 (en) 2006-05-04 2007-03-30 Narrow band noise reduction for speech enhancement

Country Status (3)

Country Link
EP (2) EP2012725A4 (en)
JP (3) JP4476355B2 (en)
WO (2) WO2007130766A2 (en)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8738367B2 (en) 2009-03-18 2014-05-27 Nec Corporation Speech signal processing device
JP4964267B2 (en) * 2009-04-03 2012-06-27 有限会社ケプストラム Adaptive filter and echo canceller having the same
JP2010249939A (en) * 2009-04-13 2010-11-04 Sony Corp Noise reducing device and noise determination method
EP2858068A4 (en) * 2012-05-31 2016-02-24 Toyota Motor Co Ltd Audio source detection device, noise model generation device, noise reduction device, audio source direction estimation device, approaching vehicle detection device and noise reduction method
CN109166589A (en) * 2018-08-13 2019-01-08 深圳市腾讯网络信息技术有限公司 Using sound suppressing method, device, medium and equipment
CN114868183A (en) 2019-12-18 2022-08-05 杜比实验室特许公司 Filter adaptive step size control for echo cancellation
CN113689871A (en) * 2020-05-19 2021-11-23 阿里巴巴集团控股有限公司 Echo cancellation method and device
CN112017679B (en) * 2020-08-05 2024-01-26 海尔优家智能科技(北京)有限公司 Method, device and equipment for updating adaptive filter coefficients

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006040734A1 (en) * 2004-10-13 2006-04-20 Koninklijke Philips Electronics N.V. Echo cancellation

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4802227A (en) * 1987-04-03 1989-01-31 American Telephone And Telegraph Company Noise reduction processing arrangement for microphone arrays
JP3135937B2 (en) * 1991-05-16 2001-02-19 株式会社リコー Noise removal device
JP3110201B2 (en) * 1993-04-16 2000-11-20 沖電気工業株式会社 Noise removal device
DE69428119T2 (en) * 1993-07-07 2002-03-21 Picturetel Corp REDUCING BACKGROUND NOISE FOR LANGUAGE ENHANCEMENT
US5806025A (en) * 1996-08-07 1998-09-08 U S West, Inc. Method and system for adaptive filtering of speech signals using signal-to-noise ratio to choose subband filter bank
SE9700772D0 (en) * 1997-03-03 1997-03-03 Ericsson Telefon Ab L M A high resolution post processing method for a speech decoder
FR2771542B1 (en) * 1997-11-21 2000-02-11 Sextant Avionique FREQUENTIAL FILTERING METHOD APPLIED TO NOISE NOISE OF SOUND SIGNALS USING A WIENER FILTER
DE19806015C2 (en) * 1998-02-13 1999-12-23 Siemens Ag Process for improving acoustic attenuation in hands-free systems
US6263078B1 (en) * 1999-01-07 2001-07-17 Signalworks, Inc. Acoustic echo canceller with fast volume control compensation
WO2000049602A1 (en) * 1999-02-18 2000-08-24 Andrea Electronics Corporation System, method and apparatus for cancelling noise
US6426979B1 (en) * 1999-04-29 2002-07-30 Legerity, Inc. Adaptation control algorithm for echo cancellation using signal-value based analysis
US6522746B1 (en) * 1999-11-03 2003-02-18 Tellabs Operations, Inc. Synchronization of voice boundaries and their use by echo cancellers in a voice processing system
JP3358731B2 (en) * 2000-04-24 2002-12-24 株式会社富建設 Nursing equipment
US7139401B2 (en) * 2002-01-03 2006-11-21 Hitachi Global Storage Technologies B.V. Hard disk drive with self-contained active acoustic noise reduction
JP2003284181A (en) * 2002-03-20 2003-10-03 Matsushita Electric Ind Co Ltd Sound collection apparatus
DE10305369B4 (en) * 2003-02-10 2005-05-19 Siemens Ag User-adaptive method for noise modeling
US6947549B2 (en) * 2003-02-19 2005-09-20 The Hong Kong Polytechnic University Echo canceller
US7885420B2 (en) * 2003-02-21 2011-02-08 Qnx Software Systems Co. Wind noise suppression system
JP4227529B2 (en) * 2004-01-06 2009-02-18 パナソニック株式会社 Periodic noise suppressor
US7254535B2 (en) * 2004-06-30 2007-08-07 Motorola, Inc. Method and apparatus for equalizing a speech signal generated within a pressurized air delivery system

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006040734A1 (en) * 2004-10-13 2006-04-20 Koninklijke Philips Electronics N.V. Echo cancellation

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of WO2007130765A2 *

Also Published As

Publication number Publication date
JP4866958B2 (en) 2012-02-01
JP2009535997A (en) 2009-10-01
JP4833343B2 (en) 2011-12-07
WO2007130766A3 (en) 2008-09-04
WO2007130765A2 (en) 2007-11-15
EP2012725A4 (en) 2011-10-12
JP2010171985A (en) 2010-08-05
JP2009535996A (en) 2009-10-01
EP2014132A4 (en) 2013-01-02
JP4476355B2 (en) 2010-06-09
EP2012725A2 (en) 2009-01-14
WO2007130765A3 (en) 2008-12-18
WO2007130766A2 (en) 2007-11-15

Similar Documents

Publication Publication Date Title
US7545926B2 (en) Echo and noise cancellation
JP4833343B2 (en) Echo and noise cancellation
EP2783504B1 (en) Acoustic echo cancellation based on ultrasound motion detection
CN108141502B (en) Method for reducing acoustic feedback in an acoustic system and audio signal processing device
AU754246B2 (en) Methods and apparatus for improved echo suppression in communications systems
JP4702372B2 (en) Echo suppression method and apparatus
EP3568854A1 (en) Post-mixing acoustic echo cancellation systems and methods
JP5125690B2 (en) Acoustic echo canceller
CN110176244B (en) Echo cancellation method, device, storage medium and computer equipment
CN104395957A (en) A universal reconfigurable echo cancellation system
US8693678B2 (en) Device and method for controlling damping of residual echo
WO2009126410A2 (en) Integrated latency detection and echo cancellation
EP1129526A1 (en) Methods and apparatus for providing echo suppression using frequency domain nonlinear processing
WO2005125168A1 (en) Echo canceling apparatus, telephone set using the same, and echo canceling method
CN111052767B (en) Audio processing device, audio processing method, and information processing device
WO2019068115A1 (en) Echo canceller and method therefor
US7333605B1 (en) Acoustic echo cancellation with adaptive step size and stability control
JP2000502861A (en) Convergence measurement device and convergence measurement method
US8345860B1 (en) Method and system for detection of onset of near-end signal in an echo cancellation system
WO2014147552A1 (en) Method and apparatus for audio processing
JP2918025B2 (en) 2-wire audio conference device
CN111355855B (en) Echo processing method, device, equipment and storage medium
JPWO2009038182A1 (en) System identification apparatus and system identification method
CN113241084B (en) Echo cancellation method, device and equipment
CN111681666B (en) Backup method and device for filter coefficient and computer storage medium

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20081107

AK Designated contracting states

Kind code of ref document: A2

Designated state(s): AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HU IE IS IT LI LT LU LV MC MT NL PL PT RO SE SI SK TR

AX Request for extension of the european patent

Extension state: AL BA HR MK RS

R17D Deferred search report published (corrected)

Effective date: 20081218

RIC1 Information provided on ipc code assigned before grant

Ipc: H04M 9/08 20060101AFI20090204BHEP

DAX Request for extension of the european patent (deleted)
A4 Supplementary search report drawn up and despatched

Effective date: 20121130

RIC1 Information provided on ipc code assigned before grant

Ipc: G06F 3/033 20130101ALI20121126BHEP

Ipc: H04M 9/08 20060101ALI20121126BHEP

Ipc: A63F 13/06 20060101AFI20121126BHEP

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SONY COMPUTER ENTERTAINMENT INCORPORATED

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN WITHDRAWN

18W Application withdrawn

Effective date: 20130626

RAP1 Party data changed (applicant data changed or rights of an application transferred)

Owner name: SONY COMPUTER ENTERTAINMENT INC.