Source: http://www.google.com/patents/US7035398?dq=patent:+7360079
Timestamp: 2017-12-16 12:08:21
Document Index: 607973967

Matched Legal Cases: ['art 50', 'art 60', 'art 50', 'art 40', 'art 50', 'art 50', 'art 50', 'art 60', 'art 60', 'art 60', 'art 41', 'art 40', 'art 50', 'art 60', 'art 43', 'art 22', 'art 22', 'art 23', 'art 22', 'art 27', 'art 27', 'art 28', 'art 27', 'art 80', 'art 81', 'art 83', 'art 82', 'art 43', 'art 83', 'art 43', 'art, 91', 'art, 92', 'art, 94', 'art 40', 'art 21', 'art 26', 'art 21', 'art 26', 'art 21', 'art 26', 'art 26', 'art 21', 'art 90', 'art 40', 'art 93', 'art 40', 'art 40', 'art 94', 'art 95', 'art 40', 'art 93', 'art 94', 'art 93', 'art 95', 'Application No. 2001', 'Application No. 2001']

Patent US7035398 - Echo cancellation processing system - Google Patents
A wraparound delay amount detecting part calculates a cross-correlation r(k) from an output speech signal “ai” supplied to a loudspeaker and an input speech sigal “bi” inputted through a microphone array to obtain a delay amount “d” of a wraparound speech signal. The delay processing part...http://www.google.com/patents/US7035398?utm_source=gb-gplus-sharePatent US7035398 - Echo cancellation processing system
Publication number US7035398 B2
Application number US 10/078,441
Also published as US20030039353
Publication number 078441, 10078441, US 7035398 B2, US 7035398B2, US-B2-7035398, US7035398 B2, US7035398B2
Patent Citations (12), Non-Patent Citations (2), Referenced by (7), Classifications (9), Legal Events (5)
Echo cancellation processing system
US 7035398 B2
A wraparound delay amount detecting part calculates a cross-correlation r(k) from an output speech signal “ai” supplied to a loudspeaker and an input speech sigal “bi” inputted through a microphone array to obtain a delay amount “d” of a wraparound speech signal. The delay processing part generates a speech signal “ai-d” obtained by delaying the output speech signal “ai” by the delay amount “d”. Even if there is a change in delay amount due to the variation in environment, appropriate delay processing can be conducted by the delay processing part. In an adaptive filter, an estimated wraparound speech signal ai-d′ is generate from the speech signal “ai-d” subject to delay processing. A subtracter subtracts the estimated wraparound speech signal ai-d′ from the input speech signal “bi” to generate an echo cancellation signal “ei”. A coefficient updating part updates the coefficient of the adaptive filter.
Therefore, with the foregoing in mind, it is an object of the present invention to provide an echo cancellation processing system capable of estimating a delay amount of a speech signal that wraps around to a microphone from a loudspeaker with a high precision, appropriately updating the coefficient of an adaptive filter, and maintaining the performance of echo cancellation processing at a high level, even in the case where the delay amount is changed largely due to a variation in environment (e.g., in the case where the conditions of sound reflection from a wall and a ceiling are varied, in the case where the relative positional relationship between the loudspeaker and the microphone is changed largely, etc.).
FIG. 1 is a block diagram showing a configuration of an echo cancellation processing system of Embodiment 1 according to the present invention.
An echo cancellation processing system of the present invention will be described with reference to the drawings.
In FIG. 1, “ai” represents an output speech signal on a communication partner side, which is given from the communication AP 70 to the loudspeaker 30. The loudspeaker 30 converts the output speech signal “ai” to a speech and outputs it (Operation 301). The suffix “i” represents a sampling number of sequential data.
The output speech signal “ai” with respect to the loudspeaker 30 is also captured by the wraparound delay amount detecting part 50 and the delay processing part 60 for later processing.
Then, the speaker 10 hears the speech outputted from the loudspeaker 30, while the speech wraps around to the microphones 20′a and 20′b due to sound diffraction, thereby becoming a part of an input signal of the microphone 20. An input speech signal from the microphones 20′a and 20′b is denoted with “bi” (Operation 302).
The input speech signal “bi” from the microphones 20′a and 20′b are inputted to the wraparound delay amount detecting part 50 and the echo cancellation processing part 40.
The wraparound delay amount detecting part 50 receives the output speech signal “ai” supplied to the loudspeaker 30 and the input speech signal “bi” inputted through the microphones 20′a and 20′b. The wraparound delay amount detecting part 50 calculates a cross-correlation r(k) from the output speech signal “ai” and the input speech signal “bi” by using Expression 1. Herein, n′ represents an order of a cross-correlation, and “k” represents an integer of 0 or more (Operation 303).
r ( k ) = ∑ j = 0 n ′ - 1 a i - j b i - j + k ( 1 )
“k” when the cross-correlation r(k) becomes maximum is searched for, thereby obtaining a delay amount “d” of a wraparound speech signal (Operation 304).
The delay amount (delay sample number) “d” is given from the wraparound delay amount detecting part 50 to the delay processing part 60, and the delay processing amount is set. The delay processing part 60 receives the output speech signal “ai” supplied to the loudspeaker 30, and a speech signal “ai-d” delayed by “d” from the speech signal “ai” is generated (Operation 305).
The speech signal “ai-d” of the delay processing part 60 is given to the adaptive filter 42 of the estimated wraparound speech signal generating part 41 of the echo cancellation processing part 40. As shown in FIG. 2, the adaptive filter 42 receives the speech signal “ai-d”, and conducts adaptation shown in Expression 2 in accordance with the currently set coefficient, and an estimated wraparound speech signal ai-d′ is generated (Operation 306).
a i - d ′ = ∑ j = 0 n - 1 h j a i - d - j ( 2 )
where j represents a filter coefficient number of a coefficient h of the adaptive filter.
Next, the subtracter 44 receives the input speech signal “bi” inputted through the microphones 20′a and 20′b and the estimated wraparound speech signal ai-d′. The subtracter 44 conducts subtraction of both the signals as shown in Expression 3, thereby canceling an estimated wraparound speech signal component from the input signal to generate an echo cancellation signal “ei”. Thus, echo cancellation processing is conducted (Operation 307).
h j = h j + α · e i a i - d - j  a  2 where  a  2 = ∑ j = 0 n - 1 a i - d - j 2 ( 4 )
where α is a constant, and generally satisfies 0.0<α<2.0.
Based on the updated coefficient “hj”, the subsequent adaptation is conducted.
In the above-mentioned example, even in the case where there is a variation in environment such as the movement of the loudspeaker 30, the movement of the microphone 20, and the change in reflection conditions of a wall or the like, and the delay amount “d” is changed to “d1”, the delay amount “d1” is obtained by the wraparound delay amount detecting part 50, and a speech signal “ai-d1” delayed by the delay amount “d1” is generated by the delay processing part 60. Therefore, a change in the coefficient hj of the adaptive filter 42 becomes small, and the calculation load of the coefficient updating part 43 becomes small.
The first delay amount calculating part 22 calculates a cross-correlation between the input speech signals inputted through the respective microphones 20′a and 20′b in the case where the power of a loudspeaker output signal “ai” is equal to or more than a predetermined value, and calculates a delay amount between the loudspeaker 30 and each microphone from the calculation result of cross-correlation. More specifically, since the distance between the loudspeaker 30 and the microphone 20′a is different from that between the loudspeaker 30 and the microphone 20′b, the delay amounts of the input speech signals of the respective microphones 20′a and 20′b of the loudspeaker output speech signal are also varied. The first delay amount calculating part 22 calculates a delay amount for the respective microphones 20′a and 20′b.
The delay units 24 a and 24 b of the first addition processing part 23 correspond to the microphones 20′a and 20′b, respectively. The delay amount A of the respective delay units 24 a and 24 b is set to be the delay amount of the respective microphones 20′a and 20′b calculated by the first delay amount calculating part 22. Due to the delay processing, phases of the loudspeaker output speech signals inputted through the microphones 20′a and 20′b are matched with each other.
The second delay amount calculating part 27 for calculating a delay amount between the speaker and the microphone calculates a cross-correlation between the input speech signals inputted through the respective microphones 20′a and 20′b from a speaker in the case where the power of the loudspeaker output signal “ai” is equal to or less than a predetermined value, and calculates a delay amount between the speaker and each microphone from the calculation result of the cross-correlation. More specifically, the distance between the speaker 10 and the microphone 20′a is different from that between the speaker 10 and the microphone 20′b. Therefore, the delay amounts of the input speech signals of the respective microphones 20′a and 20′b of the speaker's speech signal are also varied. The second delay amount calculating part 27 calculates the delay amount for the respective microphones 20′a and 20′b.
The delay units 29 a and 29 b of the second addition processing part 28 correspond to the microphones 20′a and 20′b, respectively. The delay amount of the respective delay units 29 a and 29 b is set to be the delay amount of the respective microphones 20′a and 20′b calculated by the second delay amount calculating part 27. Due to the delay processing, phases of the speaker's speech signals inputted through the microphones 20′a and 20′b are matched with each other.
First, a speech signal is inputted through the microphones 20′a and 20′b of the microphone array 20′. It is assumed that theses input speech signals are “bi” and “ci”.
The loudspeaker output speech signal power is calculated by using the following Expression 6. In the case where the power “powi” is equal to or more than a predetermined value (i.e., in the case where the loudspeaker outputs a speech, the following processing is conducted).
The cross-correlation calculating part 80 calculates a cross-correlation r′(k) obtained by normalizing two input speech signals with “bi” and “ci” in accordance with the following Expression 5.
r ′ ( k ) = ∑ j = 0 n ′ - 1 b i - j c i - j + k  b   c  where  b  = ∑ j = 0 n ′ - 1 b i - j 2  c  = ∑ j = 0 n ′ - 1 c i - j + k 2 ( 5 )
The absolute value of the cross-correlation r′(k) is −1.0≦r′(k)≦1.0.
The sound source number detecting part 81 outputs the detected number “num” of sound sources to the coefficient update control part 83.
Furthermore, the loudspeaker output speech signal power calculating part 82 calculates the power “powi” of an output speech signal supplied to the loudspeaker 30 in accordance with the following Expression 6.
pow i = ∑ j = 0 n ′ - 1 a i - j 2 ( 6 )
In the case where the value of the power “powi” is equal to or less than a predetermined value, a loudspeaker output speech signal is small enough, and a wraparound speech signal that wraps around to the microphone array is small enough. Therefore, if the coefficient update function of the adaptive filter 42 is conducted by the coefficient updating part 43, the coefficient of the adaptive filter 42 is updated inappropriately. The coefficient update control part 83 determines that the above-mentioned second condition is satisfied, and terminates the coefficient update function of the coefficient updating part 43.
In FIG. 7, reference numeral 90 denotes a cross-correlation calculating part, 91 denotes a speaker's speech detecting part, 92 denotes a speech switch, 93 denotes a speech switch control part, 94 denotes a first power calculating part, and 95 denotes a second power calculating part. In FIG. 7, the loudspeaker 30, the echo cancellation processing part 40, and the communication AP 70 are the same as those described in Embodiment 1. Furthermore, the microphone array 20′ may or may not include the wraparound speech signal emphasizing part 21 and the speaker's speech signal emphasizing part 26 as described in Embodiment 2. In the case where the microphone array 20′ is not provided with the wraparound speech signal emphasizing part 21 and the speaker's speech signal emphasizing part 26, the input speech signal “bi” becomes a speech signal inputted through the microphone 20′a, and the input speech signal “ci” becomes a speech signal inputted through the microphone 20′b. Furthermore, in the case where the microphone array 20′ is provided with the wraparound speech signal emphasizing part 21 and the speaker's speech signal emphasizing part 26, the input speech signal “bi” becomes a speaker's speech signal “bi” emphasized by the speaker's speech signal emphasizing part 26, and the input speech signal “ci” becomes a wraparound speech signal bi′ emphasized by the wraparound speech signal emphasizing part 21.
The cross-correlation calculating part 90 calculates a cross-correlation r(k) between the input speech signals “bi” and “ci” inputted through each microphone constituting the microphone array 20′.
The speech switch 92 is a speech signal switch provided in an output stage of the echo cancellation processing part 40, and the ON/OFF state thereof is switched by the control of the speech switch control part 93. In the case where the speech switch 92 is in an “ON” state, an output signal of the echo cancellation processing part 40 (i.e., an input speech signal subjected to echo cancellation processing) is given to the communication AP 70 and passed to the system on the communication partner side on the network. In the case where the speech switch 92 is in an “OFF” state, an output signal of the echo cancellation processing part 40 is not output to the communication AP 70.
The first power calculating part 94 calculates a power “pow1 i” of an output speech signal “ai” supplied to the loudspeaker 30.
The second power calculating part 95 calculates a power “pow2 i” of a speech signal “ei” that is an output of the echo cancellation processing part 40.
Then, the speech switch control part 93 checks whether or not the value “pow1 i” that is the calculation result of the first power calculating part 94 is equal to or more than a predetermined value. The predetermined value is set to such a degree that the magnitude of the output speech signal of the loudspeaker 30 is large enough to cause wraparound to the microphone array 20′.
The speech switch control part 93 also checks whether or not the value “pow2 i” that is the calculation result of the second power calculating part 95 is equal to or more than a predetermined value. The predetermined value is set to such a degree that it can be determined that a residual speech signal after echo cancellation processing is large, and the effect of echo cancellation processing has not been exhibited.
US6404886 * Apr 24, 2000 Jun 11, 2002 Oki Electric Industry Co., Ltd. Method and apparatus for echo cancelling with multiple microphones
JP2001144655A Title not available
JPH098707A Title not available
JPH1118194A Title not available
JPH01215130A Title not available
JPH05252079A Title not available
JPH07250397A Title not available
1 Office Action mailed Jun. 7, 2005 for Japanese Patent Application No. 2001-245686 citing JP 3-113923; USP 4,998,241 corresponding to JP 3-113923, the examiner referring to col. 5, lines 9-16 of USP 4,998,241.
2 Office Action of the corresponding Japanese Application No. 2001-245686.
US7729201 * Mar 21, 2007 Jun 1, 2010 Chester Wildey Method and apparatus for spread spectrum distance and velocity profile measurement
US8081776 Apr 29, 2005 Dec 20, 2011 Harman Becker Automotive Systems Gmbh Indoor communication system for a vehicular cabin
US9602923 Dec 5, 2013 Mar 21, 2017 Microsoft Technology Licensing, Llc Estimating a room impulse response
U.S. Classification 379/406.06, 379/406.08, 379/406.02
International Classification H04B3/23, H04M9/08, H04R3/02, H04M1/60
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:MATSUO, NAOSHI;REEL/FRAME:012612/0115