WikiPatents - Community Patent Review
Create Free Account  |  License or Sell Your Patent  |  WikiPatents Marketplace  |  WikiPatents Blog
Username:  Password:  
    
Advanced Search
Multi-channel echo cancellation with adaptive filters having selectable coefficient vectors    

Get related patents on CD
United States Patent5371789   
Link to this pagehttp://www.wikipatents.com/5371789.html
Inventor(s)Hirano; Akihiro (Tokyo, JP)
AbstractA multi-channel echo canceller comprises a set of subtractors connected respectively in communication channels for respectively receiving a signal from a respective microphone and cancelling an echo contained in it with a cancelling signal, and a set of adaptive filters associated respectively with the subtractors. Each adaptive filter has a set of vectors of filter coefficients. A time difference between propagation delays of the received signals is estimated, and a signal having the largest content of echo components is selected and applied to the adaptive filters. One of coefficient vectors is identified according to the estimated time difference and the selected signal. Each adaptive filter varies its filter coefficients of the identified vector with a correction term proportional to the output of the associated subtractor for filtering the selected signal using the coefficients of the identified vector to derive an echo replica, which is supplied to the associated subtractor as the cancelling signal.
   














 Title Information Submit all comments and votes
 
Patent Text Patent PDF Print Page Summary File History
Plain text PDF images Print Summary File History Custom Search
Inventor     Hirano; Akihiro (Tokyo, JP)
Owner/Assignee     NEC Corporation (Tokyo, JP)
Patent assignment
All assignments
Company News
Publication Date     December 6, 1994
Application Number     08/012,125
PAIR File History     Application Data   Transaction History
Image File Wrapper   Patent Term   Fees
Litigation
Filing Date     February 1, 1993
US Classification     379/406.08 370/290
Int'l Classification     H04B 003/23
Examiner     Dwyer; James L.
Assistant Examiner     Shehata; M. N.
Attorney/Law Firm     Foley & Lardner
Address
Parent Case    
Priority Data     Jan 31, 1992[JP]4-046185
USPTO Field of Search     379/388 379/389 379/390 379/406 379/407 379/410 379/411 370/32 370/32.1
Patent Tags     multi-channel echo cancellation adaptive filters selectable coefficient vectors
   
Enter a comma (,) or semicolon (;) between multiple tag words/phrases.
Describe this patent:
 Amusing   
 Clever   
 Complex   
 Efficient   
 Historic   
 Important   
 Innovative   
 Interesting   
 Practical   
 Simple   
[no votes]
Patent WIKI

Share information and news about this patent, including information and news about the technology, inventors, company, ligation and licensing.

 References Submit all comments and votes
 
*references marked with an asterisk below are user-added references
 U.S. References
 
Add a new US reference:  
ReferenceRelevancyCommentsReferenceRelevancyComments
5018134
Kokubo
370/289
May,1991

[0 after 0 votes]
4956838
Gilloire
370/291
Sep,1990

[0 after 0 votes]
4947425
Grizmala
379/406.09
Aug,1990

[0 after 0 votes]
4935919
Hiraguchi
370/290
Jun,1990

[0 after 0 votes]
4862449
Hoefkens
370/290
Aug,1989

[0 after 0 votes]
4609787
Horna
379/406.08
Sep,1986

[0 after 0 votes]
4577309
Barazeche
370/286
Mar,1986

[0 after 0 votes]
 Foreign References
 Other References
 Market Review Submit all comments and votes
   
Market Size
Estimate the gross annual revenues of the relevant market sector:
> $10B
$5B - $10B
$2B - $5B
$500M - $2B
$100M - $500M
$10M - $100M
$1M - $10M
$500K - $1M
$100K - $500K
< $100K
[No votes]
$0
 
$0   $2.5B   $5B   $7.5B   $10B

[0 market size comments]
Market Share
Estimate the percentage of the relevant market sector this invention will capture:
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 market share comments]
Reasonable Royalty
What percentage of gross sales should the inventor or assignee be paid?
75% - 100%
50% - 74.99%
25% - 49.99%
10 - 24.99%
5 - 9.99%
2 - 4.99%
1 - 1.99%
< 1%
[No votes]
0.0%
 
0%   25%   50%   75%   100%

[0 reasonable royalty comments]
Public's "Guesstimation" of Royalty Value
Market SizeN/A[No votes]
xMarket ShareN/A[No votes]
xReasonable RoyaltyN/A[No votes]

N/A

[0 Guesstimation of Royalty Value Comments]
License Availablity
If you are NOT the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 license availability comments]
License Availablity
If you ARE the owner or assignee, answer here:
Yes, license is available for purchase

No, license is not currently available



[No votes]
[0 owner/assignee comments]
Competitive Advantage
Does this invention have a significant competitive advantage over similar technologies?
Yes

No



[No votes]
Most helpful competitive advantage comment
[No comments]

[0 competitive advantage comments]
Commercial Alternatives
Are there viable commercial alternatives for this invention?
Yes

No



[No votes]
Most helpful commercial alternative comment
[No comments]

[0 commercial alternatives comments]
 Technical Review Submit all comments and votes
 Claims Submit all comments and votes
 


What is claimed is:

1. In a teleconferencing system having a pair of transmit channels and a pair of receive channels interconnecting separated conference rooms, each of said conference rooms having a pair of microphones and a pair of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference room, an echo canceller located in each of said conference rooms, the echo canceller of each conference room comprising:

a pair of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the received transmit signals with a cancelling signal;

inter-channel time difference estimator means for receiving distant signals from said receive channels and estimating a propagation time difference between the received distant signals to produce a time-difference estimate signal;

control means for receiving the distant signals through said receive channels and responsive to the time-difference estimate signal for selecting one of the received distant signals having a largest content of echo components and identifying one of a plurality of vectors; and

a pair of adaptive filters associated respectively with said subtractors and connected to said control means for receiving said selected distant signal, each of said adaptive filters having a plurality of said vectors each comprising a set of filter coefficients, each of said adaptive filters selecting the filter coefficients of the vector identified by said control means for filtering said selected distant signal to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, the filter coefficients of said identified vector of each adaptive filter being variable according to an output signal from the associated subtractor.

2. In a teleconferencing system having a plurality of transmit channels and a plurality of receive channels interconnecting separated conference rooms, each of said conference rooms having a set of microphones and a set of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference room, an echo canceller located in each of said conference rooms, the echo canceller of each conference room comprising:

a plurality of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the received transmit signals with a cancelling signal;

a plurality of inter-channel time difference estimators for receiving distant signals from said receive channels and estimating propagation time differences between pairs of adjacent receive channels to produce a plurality of time-difference estimate signals;

control means for receiving the distant signals through said receive channels and responsive to the time-difference estimate signals for selecting one of the received distant signals having a largest content of echo components and identifying one of a plurality of vectors; and

a plurality of adaptive filters associated respectively with said subtractors and connected to said control means for receiving said selected distant signal, each of said adaptive filters having a plurality of said vectors each comprising a set of filter coefficients, each of said adaptive filters selecting the filter coefficients of the vector identified by said control means for filtering said selected distant signal to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, the filter coefficients of said identified vector of each adaptive filter being variable according to an output signal from the associated subtractor.

3. In a teleconferencing system having a pair of transmit channels and a pair of receive channels interconnecting separated conference rooms, each of said conference rooms having a pair of microphones and a pair of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference rooms, the echo canceller of each conference room comprising:

a pair of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the received transmit signals with a cancelling signal;

inter-channel time difference estimator means for receiving distant signals from said receive channels and estimating a propagation time difference between the received distant signals to produce a time-difference estimate signal;

control means for receiving the distant signals through said receive channels and responsive to the time-difference estimate signal for selecting one of the received distant signals having a minimum propagation delay and identifying one of a plurality of vectors; and

a pair of adaptive filters associated respectively with said subtractors and connected to said control means for receiving said selected distant signal, each of said adaptive filters having a plurality of said vectors each comprising a set of filter coefficients, each of said adaptive filters selecting the filter coefficients of the vector identified by said control means for filtering said selected distant signal to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, the filter coefficients of said identified vector of each adaptive filter being variable according to an output signal from the associated subtractor.

4. In a teleconferencing system having a plurality of transmit channels and a plurality of receive channels interconnecting separated conference rooms, each of said conference rooms having a set of microphones and a set of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference room, an echo canceller located in each of said conference rooms, the echo canceller of each conference room comprising:

a plurality of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the received transmit signals with a cancelling signal;

a plurality of inter-channel time difference estimators for receiving signals from said receive channels and estimating propagation time differences between pairs of adjacent receive channels to produce a plurality of time-difference estimate signals;

control means for receiving the distant signals through said receive channels and responsive to the time-difference estimate signals for selecting one of the received distant signals having a minimum propagation delay and identifying one of a plurality of vectors; and

a plurality of adaptive filters associated respectively with said subtractors and connected to said control means for receiving said selected distant signal, each of said adaptive filters having a plurality of said vectors each comprising a set of filter coefficients, each of said adaptive filters selecting the filter coefficients of the vector identified by said control means for filtering said selected distant signal to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, the filter coefficients of said identified vector of each adaptive filter being variable according to an output signal from the associated subtractor.

5. An echo canceller as claimed in claim 1 or 3, further comprising:

detector means for detecting a change in said time-difference estimate signal; and

means responsive to the detection of a change by said detector means for disabling said control means for a predetermined interval.

6. An echo canceller as claimed in claim 5, further comprising means responsive to the detection of a change by said detector means for preventing said adaptive filters from updating the filter coefficients of said identified vector for a predetermined interval.

7. An echo canceller as claimed in claim 6, wherein said detector means includes delay means for delaying said time-difference estimate signal to produce a delayed version of said time-difference estimate signal, and comparator means for comparing the delayed version of said time-difference estimate signal and a non-delayed version of said time-difference estimate signal for disabling said control means for a predetermined period when there is a difference between the delayed and non-delayed versions of said time-difference estimate signal.

8. An echo canceller as claimed in claim 5, wherein said detector means includes delay means for delaying said time-difference estimate signal to produce a delayed version of said time-difference estimate signal, and comparator means for comparing the delayed version of said time-difference estimate signal and a non-delayed version of said time-difference estimate signal for disabling said control means for a predetermined period when there is a difference between the delayed and non-delayed versions of said time-difference estimate signal.

9. An echo canceller as claimed in claim 1 or 3, further comprising:

detector means for detecting a change in said time-difference estimate signal; and

means responsive to the detection of a change by said detector means for preventing said adaptive filters from updating the filter coefficients of said identified vector for a predetermined interval.

10. An echo canceller as claimed in claim 9, wherein said detector means includes delay means for delaying said time-difference estimate signal to produce a delayed version of said time-difference estimate signal, and comparator means for comparing the delayed version of said time-difference estimate signal and a non-delayed version of said time-difference estimate signal for disabling said control means for a predetermined period when there is a difference between the delayed and non-delayed versions of said time-difference estimate signal.

11. An echo canceller as claimed in claim 1, 2, 3 or 4 wherein said inter-channel time difference estimator means comprises:

a first adaptive filter having an input port connected to a first one of said receive channels and a plurality of adjustable filter coefficients;

a first subtractor having a first input port connected to an output port of the first adaptive filter and a second input port connected to a second one of said receive channels and supplying a difference output to said first adaptive filter for controlling the filter coefficients thereof;

a second adaptive filter having a first input port connected to said second one of said receive channels and a plurality of adjustable filter coefficients;

a second subtractor having a first input port connected to an output port of the second adaptive filter and a second input port connected to said first one of said receive channels and supplying a difference output to said second adaptive filter for controlling the filter coefficients thereof;

first means, connected to said first and second adaptive filters, for converting the filter coefficients of said first and second adaptive filters to a plurality of absolute values; and

second means, connected to said first means, for detecting a maximum absolute value from said plurality of said absolute values.

12. An echo canceller as claimed in claim 1, 2, 3 or 4 wherein said inter-channel time difference estimator means comprises:

a first tapped delay line connected to a first one of said receive channels;

a plurality of first multipliers connected respectively to successive taps of said first tapped delay line, said first multipliers respectively providing multiplication on signals at said successive taps of the first tapped delay line and a signal from a second one of the receive channels;

a plurality of first integrators connected respectively to outputs of said first multipliers;

a second tapped delay line connected to said second one of said receive channels;

a plurality of second multipliers connected respectively to successive taps of said second tapped delay line, said second multipliers respectively providing multiplication on signals at said successive taps of the second tapped delay line and a signal from said first one of the receive channels;

a plurality of second integrators connected respectively to outputs of said second multipliers;

a third multiplier for providing multiplication on signals from said first and second ones of said receive channels;

a third integrator connected to an output of the third multiplier;

first means, connected to said first, second and third integrators, for converting output signals from said first, second and third integrators to a plurality of absolute values; and

second means, connected to said first means, for detecting a maximum absolute value from said plurality of said absolute values.

13. An echo canceller as claimed in claim 1, 2, 3 or 4 wherein each of said adaptive filters comprises:

a data memory for storing samples of the signal selected by said control means;

a plurality of coefficient memories respectively corresponding to said vectors of filter coefficients, each of the coefficient memories storing a corresponding one of said vectors; and

means for multiplying an output signal from the associated subtractor with a sample stored in said data memory to produce a correction value, summing the correction value with a previous value of the filter coefficient in one of the coefficient memories corresponding to the vector identified by the control means to produce an updated value, and writing the updated value into said one coefficient memory as a filter coefficient, successively multiplying each filter coefficient in said one coefficient memory with a successive sample in said data memory to produce a plurality of products, and summing said products to produce the echo replica for the adaptive filter.

14. An echo canceller as claimed in claim 2 or 4, further comprising:

detector means for detecting a change in said time-difference estimate signals; and

means responsive to the detection of a change by said detector means for disabling said control means for a predetermined interval.

15. An echo canceller as claimed in claim 14, wherein said detector means includes delay means for delaying said time-difference estimate signals to produce delayed versions of said time-difference estimate signals, and comparator means for comparing the delayed versions of said time-difference estimate signals and non-delayed versions of said time-difference estimate signals for disabling said control means for a predetermined period when there is a difference between the delayed versions and non-delayed versions of said time-difference estimate signals.

16. An echo canceller as claimed in claim 2 or 4, further comprising:

detector means for detecting a change in said time-difference estimate signals; and

means responsive to the detection of a change by said detector means for preventing said adaptive filters from updating the filter coefficients of said identified vector for a predetermined interval.

17. An echo canceller as claimed in claim 16, wherein said detector means includes delay means for delaying said time-difference estimate signals to produce delayed versions of said time-difference estimate signals, and comparator means for comparing the delayed versions of said time-difference estimate signals and non-delayed versions of said time-difference estimate signals for disabling said control means for a predetermined period when there is a difference between the delayed versions and non-delayed versions of said time-difference estimate signals.

18. In an echo canceller for a teleconferencing system having a plurality of transmit channels and a plurality of receive channels interconnecting separated conference rooms, each of said conference rooms having an echo canceller, a set of microphones and a set of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference room, the echo canceller of each conference room comprising a plurality of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the transmit signals with a cancelling signal, and a plurality of adaptive filters associated respectively with said subtractors, each of said adaptive filters having a plurality of vectors each comprising a set of filter coefficients, the filter coefficients of each vector being variable according to an output signal from the associated subtractor, each of said adaptive filters filtering an input signal applied thereto using one of said vectors to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, a method comprising:

a) receiving distant signals from said receive channels and estimating propagation time differences between pairs of the received distant signals of adjacent receive channels to produce a plurality of time-difference estimate signals;

b) selecting one of said distant signals from said receive channels as having a largest content of echo components according to said time-difference estimate signals and supplying said selected distant signal to said adaptive filters as said input signal; and

c) identifying one of said vectors of said adaptive filters according to said time-difference estimate signals and said selected distant signal and causing each of said adaptive filters to use the identified vector.

19. In an echo canceller for a teleconferencing system having a plurality of transmit channels and a plurality of receive channels interconnecting separated conference rooms, each of said conference rooms having an echo canceller, a set of microphones and a set of loudspeakers connected by said transmit channels and said receive channels to corresponding loudspeakers and microphones of the other conference room, the echo canceller of each conference room comprising a plurality of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the transmit signals with a cancelling signal, and a plurality of adaptive filters associated respectively with said subtractors, each of said adaptive filters having a plurality of vectors each comprising a set of filter coefficients, the filter coefficients of each vector being variable in proportion to an output signal from the associated subtractor, each of said adaptive filters filtering an input signal applied thereto using one of said vectors to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, a method comprising:

a) receiving distant signals from said receive channels and estimating propagation time differences between pairs of the received distant signals of adjacent receive channels to produce a plurality of time-difference estimate signals;

b) selecting one of said distant signals from said receive channels as having a minimum propagation delay according to said time-difference estimate signals and supplying said selected distant signal to said adaptive filters as said input signal; and

c) identifying one of said vectors of said adaptive filters according to said time-difference estimate signals and said selected distant signal and causing each of said adaptive filters to use the identified vector.

20. A method as claimed in claim 18 or 19, further comprising the steps of detecting a change in said time-difference estimate signals, and disabling the step (b) for a predetermined interval from the instant said change is detected.

21. A method as claimed in claim 18 or 19, further comprising the steps of detecting a change in said time-difference estimate signals, and preventing said adaptive filters from updating the filter coefficients of said identified vector for a predetermined interval from the instant said change is detected.

22. In an echo canceller for a teleconferencing system having a pair of transmit channels and a pair of receive channels interconnecting separated conference rooms, each of said conference rooms having an echo canceller, a pair of microphones and a pair of loudspeakers connected by said transmit and receive channels to corresponding loudspeakers and microphones of the other conference room, the echo canceller of each conference room comprising a pair of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the transmit signals with a cancelling signal, and a pair of adaptive filters associated respectively with said subtractors, each of said adaptive filters having a plurality of vectors each comprising a set of filter coefficients, the filter coefficients of each vector being variable according to an output signal from the associated subtractor, each of said adaptive filters filtering an input signal applied thereto using one of said vectors to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, a method comprising:

a) receiving distant signals from said receive channels and estimating a propagation time difference between the received distant signals to produce a time-difference estimate signal;

b) selecting one of said distant signals from said receive channels as having a largest content of echo components according to said time-difference estimate signal and supplying said selected distant signal to said adaptive filters as said input signal; and

c) identifying one of said vectors of said adaptive filters according to said time-difference estimate signal and said selected distant signal and causing each of said adaptive filters to use the identified vector.

23. In an echo canceller for a teleconferencing system having a pair of transmit channels and a pair of receive channels interconnecting separated conference rooms, each of said conference rooms having an echo canceller, a pair of microphones and a pair of loudspeakers connected by said transmit channels and said receive channels to corresponding loudspeakers and microphones of the other conference room, the echo canceller of each conference room comprising a pair of subtractors connected respectively in said transmit channels for respectively receiving transmit signals from the microphones of the conference room and cancelling an echo contained in each of the transmit signals with a cancelling signal, and a pair of adaptive filters associated respectively with said subtractors, each of said adaptive filters having a plurality of vectors each comprising a set of filter coefficients, the filter coefficients of each vector being variable according to an output signal from the associated subtractor, each of said adaptive filters filtering an input signal applied thereto using one of said vectors to derive an echo replica and supplying the echo replica to the associated subtractor as said cancelling signal, a method comprising:

a) receiving distant signals from said receive channels and estimating a propagation time difference between the received distant signals to produce a time-difference estimate signal;

b) selecting one of said distant signals from said receive channels as having a minimum propagation delay according to said time-difference estimate signal and supplying said selected distant signal to said adaptive filters as said input signal; and

c) identifying one of said vectors of said adaptive filters according to said time-difference estimate signal and said selected distant signal and causing each of said adaptive filters to use the identified vector.

24. A method as claimed in claim 22 or 23, further comprising the steps of detecting a change in said time-difference estimate signal, and disabling the step (b) for a predetermined interval from the instant said change is detected.

25. A method as claimed in claim 22 or 23, further comprising the steps of detecting a change in said time-difference estimate signal, and preventing said adaptive filters from updating the filter coefficients of said identified vector for a predetermined interval from the instant said change is detected.
 Description Submit all comments and votes
 


BACKGROUND OF THE INVENTION

1. Field of the Invention

The present invention relates generally to echo cancellers, and more specifically to a multi-channel echo canceller for a teleconferencing system and the like.

2Description of the Related Art

A multi-channel echo canceller is described in a paper "Compact Multi-channel Echo Canceller with a Single Adaptive Filter Per Channel", Akihiro Hirano et al, Proceedings of the 1992 IEEE International Symposium on Circuits and Systems, San Diego, Calif. May 10-13, 1992. This paper addresses to the convergence problem that is associated with adaptive filter coefficients when received signals have strong cross-correlation. The known echo canceller is provided with a single set of filter coefficients to reduce acoustic echoes at the near and far ends of the system as well as transmission echoes by taking into account all possible microphone-loudspeaker combinations at the near end and all possible acoustic paths from a talker to microphones at the far end. The known echo canceller estimates an inter-channel time difference between the propagation delays of the received signals and couples one of the signals having a smaller propagation delay to the adaptive filters to produce an echo replica from each adaptive filter. The echo replica is subtracted from a corresponding signal to cancel the echo contained therein. The adaptive filters are controlled with residual echoes so that they reduce to a minimum. The filter coefficients of each adaptive filter define a transfer function that is converged to an optimum value for a particular talker at the far end in response to the selected signal. Therefore, the transfer function of each adaptive filter tends to offset from the optimum value in response to a talker's movement. However, there is a noticeable amount of delays in the adaptive filters for adapting to the changing acoustic parameters at the far end.

SUMMARY OF THE INVENTION

It is therefore an object of the present invention to provide a multi-channel echo canceller that can quickly adapt itself to changing acoustic parameters at the far end of a communication channel.

According to the present invention, there is provided an echo canceller for a teleconferencing system having a plurality of transmit and receive channels interconnecting separated conference rooms, each of the conference rooms having a set of microphones and a set of loudspeaker. The echo canceller is located in each conference room and comprises a plurality of subtractors connected respectively in the transmit channels for respectively receiving a transmit signal from the respective microphone and cancelling an echo contained in the transmit signal with a cancelling signal, and a plurality of adaptive filters associated respectively with the subtractors. Each adaptive filter has a plurality of vectors of filter coefficients. A time difference between propagation delays of distant signals is estimated, and a distant signal having the largest content of echo components or a minimum propagation delay is applied to the adaptive filters and one of the vectors is identified according to the estimated time difference and the selected signal. Each adaptive filter varies its filter coefficients of the identified vector with a correction term proportional to the output of the associated subtractor and filters the selected signal using the coefficients of the identified vector to derive an echo replica, which is supplied to the associated subtractor as the cancelling signal.

In response to a talker's movement at the far end of the communication channel, the filter coefficients of each adaptive filter are quickly switched from one vector to another. Therefore, the echo canceller of this invention can quickly adapt itself to changes in the far-end acoustic parameters.

BRIEF DESCRIPTION OF THE DRAWINGS

The present invention will be described in further detail with reference to the accompanying drawings, in which:

FIG. 1 is a block diagram of a teleconferencing system incorporating multi-channel echo cancellers of the present invention;

FIG. 2 is a block diagram of an inter-channel time difference estimators unit of a multi-channel echo canceller according to a first embodiment of the present invention;

FIG. 3 is a block diagram of a controller of the echo canceller;

FIG. 4 is a block diagram of a variable coefficient adaptive filter;

FIGS. 5A and 5B are flowcharts describing a sequence of operations performed by the calculator of the adaptive filter for generating an echo replica;

FIGS. 6A and 6B are flowcharts describing a sequence of operations performed by the calculator of the adaptive filter for updating filter coefficients;

FIG. 7 is a block diagram of an inter-channel time difference estimators unit according to a second embodiment of the present invention;

FIG. 8 is a block diagram of the controller of the echo canceller according to a modified embodiment of the present invention; and

FIG. 9 is a timing diagram associated with the modification of FIG. 8.

DETAILED DESCRIPTION

Referring now to FIG. 1, there is shown a teleconferencing system embodying a multi-channel echo canceller of a first embodiment of the present invention. The teleconferencing system comprises a plurality of loudspeakers 1.sub.1 .about.1.sub.M and microphones 2.sub.1 .about.2.sub.M positioned in a conference room A and a like plurality of loudspeakers 1'.sub.1 .about.1'.sub.M and microphones 2'.sub.1 .about.2'.sub.M positioned in a distant conference room B. The loudspeakers 1 and microphones 2 are formed into a plurality of sets, or channels corresponding respectively to a plurality of sets of loudspeakers 1' and microphones 2'. The speaker and microphone of each set in conference room A are connected to a multi-channel echo canceller 100. The outputs of echo canceller 100 are connected by way of a transmission medium 3 to the corresponding set of microphone and speaker in conference room B, and are further connected to an identical multi-channel echo canceller 100' to which signals from microphones 1' are also applied. The outputs of echo canceller 100' are connected through transmission medium 3 to the speaker/microphone sets of conference room A, and further to the echo canceller 100. Therefore, the input signals to all loudspeakers 1 and 1' are supplied to the echo canceller 100 and 100', respectively, to form a plurality of closed loops for purposes of cancelling inter-channel echoes.

Echo canceller 100 at the site of conference room A comprises an inter-channel time difference estimators unit 101 to which the M receive-channel inputs from conference room B are terminated in parallel to connections to loudspeakers 1.sub.1 .about.1.sub.M. The same receive-channel inputs are also applied to inputs of a channel selector 102. A controller 103 is connected to the outputs of inter-channel time difference estimators unit 101 to provide a channel selection signal to selector 102. Variable coefficient adaptive filters 104.sub.1 .about.104.sub.M are associated respectively with subtractors 105.sub.1 .about.105.sub.M and with transmit channels or microphones 2.sub.1 .about.2.sub.M to receive a speech signal input from the channel selector 102 to generate a signal which is a replica of an echo contained in the signal applied to the associated subtractors 105.

Subtractors 105.sub.1 .about.105.sub.M are connected in the transmit channels to receive speech signals from corresponding microphones 2.sub.1 .about.2.sub.M as well as the echo replicas from the associated adaptive filters 104.sub.1 .about.104.sub.M, respectively. The outputs of the subtractors 105.sub.1 .about.105.sub.M, each containing a speech signal and an undesired residual echo, are transmitted through transmission medium 3 and respectively coupled to loudspeakers 1'.sub.1 .about.1'.sub.M at site B, and returned through echo canceller 100' to site A and applied to the inter-channel time difference estimators unit 101 and channel selector 102. The outputs of the subtractors 105.sub.1 .about.105.sub.M are also applied to the corresponding adaptive filters 104.sub.1 .about.104.sub.M as feedback signals to adaptively control their filter coefficients.

Each adaptive filter 104 has a plurality of vectors of filter coefficients. In each adaptive filter, one of its filter coefficient vectors is selected in response to a coefficient vector select command from controller 103. Controller 103 further applies a coefficient update enable or disable command to each adaptive filter 104.

As shown in FIG. 2, the inter-channel time difference estimators unit 101 comprises (M-1) inter-channel time difference estimators 200.sub.1 .about.200.sub.M-1, each being connected to receive speech signals from a corresponding pair of adjacent receive channels. The function of each inter-channel time difference estimator 200.sub.i is to estimate the propagation delay time difference between signals transmitted through the i-th and (i+1)th receive channels of the corresponding pair. The estimation of the propagation time difference between the signals of adjacent channels is achieved by the use of two adaptive filters associated respectively with the adjacent channels. The adaptive filter is typically of a tapped-delay line filter structure that consists of a set of delay elements, a set of multipliers connected to the delay-line taps, a corresponding set of adjustable tap weights and a summer for adding the multiplier outputs. It involves detecting the difference between the output of each adaptive filter and the input of the other adaptive filter to produce an error signal, adjusting the tap weights of each adaptive filter in a recursive manner by updating the present estimate of each tap weight with a correction term proportional to the error signal at that time, and detecting a maximum value of the tap weights (or filter coefficients) of the adaptive filters. If an adaptive filter receives a signal of shorter propagation delay and produces an estimate of a signal of longer propagation delay, one of its filter coefficients corresponds to a delay closest to the wanted difference and such a filter coefficient has a maximum absolute value. Conversely, if it receives a signal of longer propagation delay and produces an estimate of a signal of shorter propagation delay, its filter coefficients have lower absolute values.

To this end, each inter-channel time difference estimator 200.sub.i comprises an adaptive filter 201 having an input port connected to the i-th receive channel and L taps respectively connected to absolute-value conversion circuits 202. The output port of the adaptive filter 201 is connected to the negative input terminal of a subtractor 203 whose positive input terminal is connected to the (i+1)th receive channel. The output of the subtractor 203 is applied to the control port of the adaptive filter 201. The outputs of all absolute-value conversion circuits 202 are supplied to a decision circuit or maximum value detector 207 where a maximum of the input absolute values is detected. In like manner, the (i+1)th receive channel is connected to the input of an adaptive filter 204 whose L taps are respectively connected to absolute-value conversion circuits 205 whose outputs are connected to the maximum value detector 207. The output port of adaptive filter 204 is applied to the negative input of a subtractor 206 whose positive input is connected to the i-th receive channel. Each of the adaptive filters 201 and 204 is controlled by the output of the corresponding one of the subtractors 203 and 206 so that the output of each subtractor is reduced to a minimum.

Using the detected maximum absolute value, the maximum value detector 207 of each inter-channel time difference estimator 200.sub.i produces an output which represents an estimate of the propagation time difference between the signals of the i-th and (i+1)th channels. In this way, a set of (M-1) propagation time differences are produced and applied to the controller 103.

As illustrated in FIG. 3, the controller 103 includes a minimum propagation delay detector 300 which receives the outputs of interchannel time difference estimators unit 101 to detect a minimum time difference value, selects one of the signals on the receive channels having a minimum propagation delay, and supplies a channel select signal to the channel selector 102 to cause it to pass the selected signal to all adaptive filters 104 as a signal having a largest content of echo components.

The channel selection signal is applied to a coefficient vector selector 301 to which the outputs of inter-channel time difference estimators unit 101 are also applied. Using the channel selection signal as an identification of the detected minimum propagation delay and the time difference estimates, coefficient vector selector 301 determines the amount of time by which each of the receive signals is delayed with respect to the signal having the minimum propagation delay by calculating the following Equations (1) and (2).

If the time difference between the i-th signal and any of arbitrarily chosen j-th receive signal is denoted as t.sub.i,j, then the time difference between signals (i- and k-th) of any possible pairs is given by the relation t.sub.i,k =t.sub.j,k. Therefore, if i<j, the time difference t.sub.i,j for a set of time differences t.sub.1,2, t.sub.2,3, t.sub.3,4, . . . , t.sub.M-1,M is given by: ##EQU1## and if i>j, the time difference t.sub.i,j is given by: Therefore, if the i-th signal is identified as having a minimum propagation delay time, it can be said without loss of generality that the time difference t.sub.i,j assumes one of integers 0, 1, . . . t.sub.max in the discrete time domain. Since there is a maximum of (t.sub.max +1).sup.M permutations if M integers are selected (provided that repeated selection is allowed), there is a maximum of (t.sub.max +1).sup.M sets of time differences (t.sub.i,1, t.sub.i,2, t.sub.i,3, . . . , t.sub.i,M) for a signal having a minimum