Echo suppression device, echo suppression method, and echo suppression program
Patent Information
- Application Number
- JP2022109997
- Authority / Receiving Office
- JP · JP
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2022-07-07
- Publication Date
- 2025-02-14
- Estimated Expiration
- 2042-07-07
Smart Images

Figure 00000000_0000_ABST
Abstract
Description
[Technical field]
[0001] The present invention relates to an echo suppression device, an echo suppression method, and an echo suppression program. [Background technology]
[0002] Patent Document 1 discloses an echo canceller device that generates first and second echo replica signals by convolving a first filter coefficient or a second filter coefficient with a received signal, and outputs a signal in the call frequency band of the first echo replica signal as an echo canceller signal. In this device, the second filter coefficient is corrected so as to minimize a signal obtained by subtracting the second echo replica signal from a signal of an arbitrary measurement frequency in the input sound signal, and the filter coefficient is set by determining the first filter coefficient that is paired in advance with the second filter coefficient. [Prior art documents] [Patent documents]
[0003] [Patent Document 1] JP 2010-11265 A Summary of the Invention [Problem to be solved by the invention]
[0004] However, in the invention described in Patent Document 1, if an erroneous solution occurs in learning the coefficients of the adaptive filter, a sufficient amount of echo suppression may not be ensured.
[0005] The present invention has been made in consideration of the above circumstances, and has an object to provide an echo suppression device, an echo suppression method, and an echo suppression program that are capable of removing echoes using an appropriate adaptive filter that has not been erroneously learned. [Means for solving the problem]
[0006] In order to solve the above problems, the echo suppression device of the present invention is, for example, an echo suppression device that removes echo from an input signal picked up by the microphone of a terminal having a speaker and a microphone, and is characterized in that it includes a reference signal adjustment unit that generates a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiving side signal path that transmits a signal to the speaker, a filter generation unit that obtains convergence values of a plurality of adaptive filters based on each of the plurality of delayed reference signals, a filter correction unit that compares the plurality of convergence values and corrects the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change in accordance with a change in the delay time, is smaller than the convergence value, and an echo removal unit that removes linear echo by applying the adaptive filter corrected by the filter correction unit to the input signal.
[0007] An echo suppression method according to another aspect of the present invention is characterized by including, for example, a reference signal adjustment step of generating a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiving side signal path that transmits a signal to a speaker of a terminal having a speaker and a microphone; a filter generation step of obtaining convergence values of a plurality of adaptive filters based on each of the plurality of delayed reference signals; a filter modification step of comparing the plurality of convergence values and modifying the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change in accordance with a change in the delay time, is smaller than the convergence value; and an echo removal step of removing a linear echo by applying the adaptive filter modified by the filter modification step to an input signal picked up by the microphone.
[0008] An echo suppression program according to another aspect of the present invention is characterized in that it causes a computer to function as, for example, a reference signal adjustment unit that generates a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiving side signal path that transmits a signal to a speaker of a terminal having a speaker and a microphone, a filter generation unit that obtains convergence values of a plurality of adaptive filters based on each of the plurality of delayed reference signals, a filter correction unit that compares the plurality of convergence values and corrects the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change in accordance with changes in the delay time, is smaller than the convergence value, and an echo removal unit that removes linear echo by applying the adaptive filter corrected by the filter correction unit to an input signal picked up by the microphone.
[0009] According to several aspects of the present invention, convergence values of several adaptive filters are obtained based on several delayed reference signals generated by applying several different delay times to a reference signal transmitted through a receiving side signal path that transmits a signal to a speaker, and as a result of comparing the several convergence values, a first filter coefficient, which is a filter coefficient for an element that does not change with changes in the delay time, is made smaller than the convergence value, and linear echo is removed from the input signal using the modified adaptive filter, so that echo removal can be performed using an appropriate adaptive filter that has not been erroneously learned.
[0010] The filter correction unit may set the first filter coefficient to 0. This reduces the calculation load and the processing load of the arithmetic device. Furthermore, since the processing load of the arithmetic device can be reduced, the echo suppression device can be configured at low cost.
[0011] The filter correction unit may gradually reduce the first filter coefficient from the convergence value, thereby preventing noise or excessive removal caused by abruptly changing the shape of the adaptive filter.
[0012] The filter correction unit may set, as the first filter coefficient, a filter coefficient of an element that does not change according to a change in the delay time when the convergence value is equal to or greater than a threshold value. This makes it possible to reduce the filter coefficient of an element that has a large effect on removing linear echoes.
[0013] The filter correction unit may calculate the threshold value based on the convergence value, thereby making it possible to automatically determine an appropriate threshold value according to a state of the reference signal.
[0014] The reference signal adjustment unit may continuously generate the delayed reference signals while acquiring the reference signal, the filter generation unit may continuously generate the linear filters, and the filter correction unit may continuously correct the adaptive filter. This makes it possible to appropriately cancel echoes even when an echo path changes during use.
[0015] The present invention may further include a double-talk detection unit that detects whether the state is single-talk or double-talk, and the filter correction unit may set the first filter coefficient to a value smaller than the convergence value when the double-talk state is not detected. In this way, in a situation where double-talk is occurring, there is a lot of disturbance and therefore the effect of the processing may be small, but with this configuration, the calculation load can be reduced by stopping the processing that has little effect.
[0016] The reference signal adjustment unit may generate the delayed reference signal only once before the echo canceller cancels the linear echo, which reduces the calculation load and allows the echo suppression device 1 to be constructed at low cost. Effect of the Invention
[0017] According to the present invention, it is possible to effectively remove echo while reducing the processing load on the computing device. [Brief description of the drawings]
[0018] [Figure 1]FIG. 1 is a diagram illustrating a voice communication system 100 in which an echo suppressing device 1 is provided. [Diagram 2] 1 is a block diagram showing a schematic configuration of an echo suppressing device 1. FIG. [Diagram 3] 4 is a flowchart showing the flow of processing performed by the echo suppressing device 1. [Figure 4] 11 is a graph showing a process of comparing convergence values of a plurality of adaptive filters with each other. [Diagram 5] 1 is a block diagram showing a schematic configuration of an echo suppressing device 1A. [Figure 6] 2 is a block diagram showing a schematic configuration of an echo suppressing device 2. FIG. [Figure 7] 4 is a flowchart showing the flow of processing performed by the echo suppressing device 2. [Figure 8] 2 is a block diagram showing a schematic configuration of an echo suppressing device 3. FIG. [Figure 9] 4 is a flowchart showing the flow of processing performed by the echo suppressing device 3. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS
[0019] Hereinafter, an embodiment of an echo suppression device according to the present invention will be described in detail with reference to the drawings. The echo suppression device is a device that suppresses echoes that occur during a call in a voice communication system, and is used in products that incorporate speakers and microphones, such as headsets for telephone and video conferences, car-mounted communication devices, and intercoms.
[0020] <First embodiment> 1 is a diagram illustrating a voice communication system 100 provided with an echo suppressing device 1 according to a first embodiment. The voice communication system 100 mainly includes a terminal 50 (e.g., an in-vehicle device, a conference system, or a mobile terminal) having a microphone 51 and a speaker 52, two communication devices 53 and 54, a speaker amplifier 55, and the echo suppressing device 1.
[0021] The voice communication system 100 is a system in which a user (user A on the near end side) using a terminal 50 (near end terminal) performs voice communication with a user (user B on the far end side) using a communication device 54 (far end terminal). A voice signal input via the communication device 54 is amplified and output by a speaker 52, and the voice emitted by the user on the near end side is collected by a microphone 51 and transmitted to the communication device 54, thereby enabling user A to make a voice call (hands-free call) without holding the communication device 53. The communication devices 53 and 54 are connected by a general telephone line, and can make a call with each other.
[0022] The echo suppressing device 1 is provided on a transmitting side signal path that transmits an input signal inputted from a microphone 51 from a terminal 50 to a communication device 53, and removes echo from the input signal.
[0023] The echo suppressing device 1 may be constructed as a dedicated board mounted on, for example, a terminal 50 in the voice communication system 100. The echo suppressing device 1 may also be configured by, for example, computer hardware and software (echo suppressing program). The echo suppressing program may be stored in advance in a HDD as a storage medium built into a device such as a computer, or in a ROM in a microcomputer having a CPU, and then installed into the computer from there. The echo suppressing program may also be temporarily or permanently stored (memorized) in a removable storage medium such as a semiconductor memory, a memory card, an optical disk, a magneto-optical disk, or a magnetic disk.
[0024] 2 is a block diagram showing a schematic configuration of the echo suppressing device 1. The echo suppressing device 1 is connected between a microphone 51 and a signal input terminal 531 on the transmitting side of a communication device 53. In FIG. 2, the upper signal path is a transmitting side signal path that transmits an input signal input from the microphone 51, and the lower signal path is a receiving side signal path that transmits a signal to a speaker 52.
[0025] An input signal picked up by the microphone 51 and an audio signal received by the communication device 53 are input to the echo suppressing device 1. The echo suppressing device 1 removes the echo of the input signal based on a reference signal, which is an audio signal received by the communication device 53 and transmitted through a receiving side signal path, and outputs the result to a signal input terminal 531 on the transmitting side.
[0026] The echo suppressing device 1 mainly includes a reference signal adjusting unit 10, a linear echo suppressing unit 20, and a nonlinear echo suppressing unit 30. The echo suppressing device 1 may further include a general configuration related to noise canceling.
[0027] The reference signal adjustment unit 10 is a functional unit that acquires a reference signal input from the signal output terminal 532 on the receiving side and generates a delayed reference signal based on the reference signal. The reference signal adjustment unit 10 generates a plurality of delayed reference signals by applying a plurality of mutually different delay times.
[0028] The linear echo suppressor 20 is a functional unit that generates an adaptive filter using a reference signal and suppresses linear echoes in an input signal. The adaptive filter used by the linear echo suppressor 20 has linear filter characteristics. The linear echo suppressor 20 mainly includes a filter generator 21, a filter corrector 22, and an echo remover 23.
[0029] The filter generating unit 21 is a functional unit that obtains a convergence value of an adaptive filter based on the delayed reference signal generated by the reference signal adjusting unit 10. The filter generating unit 21 is configured to be able to execute a learning algorithm using linear processing. The learning algorithm using linear processing is, for example, NLMS or LMS, but is not limited to these, and any known algorithm can be applied.
[0030] The filter generator 21 configures the adaptive filter with a non-recursive (FIR, Finite Impulse Response) filter, for example, as shown in formula (1). In formula (1), x(k) is an input signal, y(k) is an output signal, and h(l) is a filter coefficient of a multiplier. Also, l is an index of the coefficient, and N is the filter length.
number
[0031] The filter generator 21 obtains a plurality of delayed reference signals and obtains convergence values of a plurality of adaptive filters based on the delayed reference signals. The convergence values of the adaptive filters include the convergence values of the filter coefficients of the non-recursive filters. The filter generator 21 stores the convergence values of the adaptive filters in an appropriate storage unit.
[0032] In addition, the filter generation unit 21 can determine that the adaptive filter has converged, for example, when the variation in the convergence value falls within a certain range, when the convergence value falls within a certain range, or when a certain amount of time has elapsed since the start of processing.
[0033] The filter correction unit 22 is a functional unit that corrects the adaptive filter generated by the filter generation unit 21. The filter correction unit 22 corrects an adaptive filter that has converged by a delayed reference signal given a predetermined delay time, based on an adaptive filter that has converged by a delayed reference signal given another delay time. The predetermined delay time is, for example, a delay time expected depending on the time it takes for a sound to leave the speaker 52 and be picked up by the microphone 51 in the voice communication system 100. The filter correction unit 22 will be described in detail later.
[0034] The echo removal unit 23 is a functional unit that removes linear echo from the input signal collected by the microphone 51. The echo removal unit 23 removes linear echo using an adaptive filter modified by the filter modification unit 22. The process of the echo removal unit 23 is already known, so a description thereof will be omitted. The signal output from the echo removal unit 23 is input to the nonlinear echo suppression unit 30.
[0035] The nonlinear echo suppressor 30 is a functional unit that executes a learning algorithm using nonlinear processing. Any known algorithm can be applied as the learning algorithm using nonlinear processing. The signal output from the nonlinear echo suppressor 30 is output to a signal input terminal 531 on the transmitting side, and is transmitted to a communication device 54 owned by user B via a communication device 53. Note that the nonlinear echo suppressor 30 is not essential.
[0036] 3 is a flowchart showing the flow of processing performed by the echo suppressing device 1. First, the echo suppressing device 1 performs a learning process (step S1). The learning process may be performed in advance, or may be performed when the echo suppressing device 1 or a predetermined function of the echo suppressing device 1 is started. In other words, the echo suppressing device 1 needs to perform the learning process (step S1) only once before the linear echo removal process (step S7) that removes linear echo by applying an adaptive filter to an input signal.
[0037] The learning process (step S1) includes steps S2 to S6. In the learning process (step S1), first, the reference signal adjustment unit 10 acquires a reference signal from the signal output terminal 532 on the receiving side (step S2), and delays the reference signal by times t1, t2, ... tn to generate a plurality of delayed reference signals (step S3). Next, the filter generation unit 21 obtains a convergence value of the adaptive filter trained based on each delayed reference signal (step S4).
[0038] Step S3 includes steps S3-1 to S3-n, which may be performed simultaneously or sequentially. Step S4 includes steps S4-1 to S4-n, which are performed following steps S3-1 to S3-n, respectively.
[0039] Next, the filter correction unit 22 compares the convergence values of the multiple adaptive filters generated in step S4 (step S5), and corrects the adaptive filters based on the comparison results (step S6).
[0040] Fig. 4 is a graph showing the process in which filter correction unit 22 compares the convergence values of a plurality of adaptive filters generated by filter generation unit 21 with each other. The horizontal axis of Fig. 4 is the index of the filter coefficient, and the vertical axis is the magnitude of the convergence value. Fig. 4 shows values when delay times tn (n is a natural number) are 160, 170, 180, 190, and 200 (units are samples). Note that the sampling frequency when creating the graph shown in Fig. 4 is 16 kHz, and the sampling interval for 160 samples, for example, is 10 ms. However, the sampling frequency is not limited to this.
[0041] In the graph L160 of the adaptive filter generated based on the delayed reference signal with a delay time of 160 ms, a + peak appears at index 9, and a - peak (peak P160) appears at index 40. The peak P160 is an element that changes according to the change in the delay time tn, and moves horizontally according to the change in the delay time tn. For example, the peak P160 moves to peak P170 (index 30) in the graph L170 of the adaptive filter generated based on the delayed reference signal with a delay time of 170 ms, and moves to peak P180 (index 20) in the graph L180 of the adaptive filter generated based on the delayed reference signal with a delay time of 180 ms. That is, in the example shown in FIG. 4, the index of the filter coefficient in which the peak appears becomes smaller as the delay time given to the reference signal becomes larger. In this way, the peak that changes according to the delay time indicates that an appropriate acoustic path has been learned.
[0042] The determination of whether or not a peak has moved can be made by applying an appropriate known technique, such as determining the presence or absence of movement by pattern matching.
[0043] On the other hand, in the graph L160, the peak occurring at the index of 9 does not move horizontally even if the delay time tn is changed, and no change occurs according to the delay time tn. When an erroneous local optimum solution is reached, there is a high probability that a peak will occur at the same filter coefficient regardless of the delay time given. In addition, even if a signal other than the voice signal from the signal output terminal 532 on the receiving side is mixed into the reference signal, the signal is transmitted without being affected by the delay, and as a result, a peak may occur at the same filter coefficient regardless of the delay time given. Signal mixing may occur, for example, when a signal, generated noise, etc., is introduced on the CPU board, when the autocorrelation of the reference signal is high, or when a signal that changes significantly immediately after the speaker amplifier 55 is introduced through the wiring. In addition, signal mixing may also occur due to the vibration of the echo suppression device 1 itself.
[0044] Therefore, the filter correction unit 22 corrects the adaptive filter for the element (index I1) that does not change according to the delay time, and makes the magnitude of the filter coefficient smaller than the convergence value (narrows the learning update width). In this embodiment, the filter correction unit 22 sets the filter coefficient of index I1 to 0 (stops learning). This removes the influence of inappropriate learning from the adaptive filter used for echo removal, and makes it possible to improve the adaptive filter to an appropriate one. Note that setting the filter coefficient to 0 (stopping learning) is included in the form of reducing the magnitude of the filter coefficient (narrowing the learning update width).
[0045] The filter correction unit 22 determines whether to extract an element (index) based on the threshold value. In the example shown in Fig. 4, the filter correction unit 22 extracts index 9, whose convergence value is equal to or greater than the threshold value, as an element that does not change according to the delay time tn, and does not extract other indexes.
[0046] For example, the filter correction unit 22 may set an arbitrary value as the threshold value. For example, the threshold value may be set in advance by a user based on design values or experimental values of the microphone 51 and the speaker 52 to be adopted. With this configuration, the process of calculating the threshold value is not required, and therefore the process can be simplified.
[0047] Also, for example, the filter correction unit 22 may obtain the threshold value based on the magnitude of the convergence value. For example, the filter correction unit 22 can obtain the magnitude of the convergence value of each index at an arbitrary delay time, and set the threshold value to a value obtained by subtracting a predetermined value or a predetermined percentage from the maximum value of the obtained magnitude. Also, for example, the filter correction unit 22 can obtain one or more elements that change according to the delay time by pattern matching or the like, obtain the maximum value of the convergence value of the index that changes according to the delay time, and set the threshold value to a value obtained by subtracting a predetermined value or a predetermined percentage from the obtained maximum value. With this configuration, it is possible to automatically determine an appropriate threshold value according to the state of the reference signal.
[0048] When the magnitude of the filter coefficient of an index that does not change according to the delay time is equal to or greater than the threshold value thus obtained or set, the filter correction unit 22 reduces the magnitude of the filter coefficient, thereby making it possible to reduce the filter coefficient of an index that has a large effect on removing linear echoes.
[0049] In addition, the filter correction unit 22 may reduce the filter coefficients of index I1 and indexes within a predetermined range before and after index I1, taking into consideration that peaks appear in the opposite directions to index I1 at the left and right of index I1, where a peak that does not change with delay time occurs, in the graph of the filter coefficients.
[0050] Returning to the explanation of Fig. 3, following the learning process (step S1), the echo canceller 23 collects an input signal from the microphone 51, and applies the adaptive filter modified in step S6 to the input signal to cancel linear echo (step S7). The signal from which the linear echo has been cancelled is subjected to nonlinear echo suppression by the nonlinear echo suppressor 30, and is then output to the communication device 54 (step S8).
[0051] Steps S7 and S8 are performed continuously while the echo suppressing device 1 is operating. That is, the echo suppressing device 1 always removes linear echoes by using the adaptive filter corrected once in step S6 by the filter correcting unit 22.
[0052] According to this embodiment, multiple adaptive filters trained using multiple reference signals with multiple different delay times are compared with each other, and the magnitude of the filter coefficient of an element (index) that does not change according to the delay time is set to 0 (learning is stopped), thereby making it possible to remove echoes using an appropriate adaptive filter that has not been erroneously trained. Furthermore, by stopping learning of an index that does not change according to the delay time, it is possible to reduce the calculation load and the processing load of the arithmetic device. Furthermore, since the processing load of the arithmetic device can be reduced, the echo suppression device 1 can be configured at low cost.
[0053] For example, in order to reduce the processing load of the arithmetic device, a method of setting the initial value of the coefficient of the adaptive filter to an appropriate value is also conceivable. As a method of setting the initial value of the coefficient of the adaptive filter to an appropriate value, for example, a method of starting learning with a state in which each filter coefficient is 0 as the initial value (method 1) and a method of estimating an index and the magnitude (peak value) of the filter coefficient at the index according to physical prior information, i.e., the configuration of the devices constituting the voice communication system, and setting the coefficients of other indexes to 0 (method 2) are conceivable. In method 2, the index of the filter coefficient can be obtained by summing up the contributions estimated in the speaker amplifier 55, the physical configuration between the speaker 52 and the microphone 51, and appropriate devices required from the microphone 51 to the echo suppression device 1, and subtracting the contribution by the reference signal adjustment unit 10. In addition, the peak value can be obtained by multiplying the contributions of the speaker amplifier 55, the speaker 52, the physical configuration between the speaker 52 and the microphone 51, and appropriate devices required from the microphone 51 to the echo suppression device 1.
[0054] However, with method 1, it is impossible to eliminate the risk of falling into an erroneous local optimum solution. Also, with method 2, it is difficult to accurately calculate the physical characteristics of the device using digital values, and it is impossible to eliminate the risk of falling into a local optimum solution due to errors that occur, as with method 1. In contrast, the echo suppression device 1 performs echo cancellation using an appropriate adaptive filter that has not been erroneously learned, so it has high echo cancellation accuracy and can find an appropriate adaptive filter with a light processing load.
[0055] Furthermore, according to this embodiment, the learning process (steps S1 to S6) is performed in advance or only once when a predetermined function of the echo suppression device 1 is activated, thereby reducing the processing load on the calculation device and enabling echo removal to be performed using an adaptive filter that has not been erroneously learned.
[0056] In this embodiment, the filter correction unit 22 sets the filter coefficient of the element (index I1 in FIG. 4) that does not change according to the delay time to 0, but it is not essential to set the filter coefficient to 0, and it is sufficient to reduce the magnitude of the filter coefficient (reduce the learning update width). For example, the filter correction unit 22 may reduce the magnitude of the filter coefficient of index I1 and hold a value other than 0 (for example, 0.5). When the magnitude of the filter coefficient of index I1 is reduced, learning is also performed little by little for index I1, so that appropriate learning can be performed even if the echo path changes due to a change in the environment of the space in which the microphone 51 and speaker 52 exist, etc.
[0057] In this embodiment, the linear echo removal process (step S7) is performed using an adaptive filter in which the filter coefficient of index I1 is set to 0 in the learning process (step S5). However, the linear echo removal process (step S7) may be performed while gradually decreasing the filter coefficient of index I1 of the adaptive filter. For example, in the example shown in FIG. 4, the magnitude of the filter coefficient of index I1 is calculated to be approximately 2, so the filter correction unit 22 may set the filter coefficient of index I1 to 2 initially (t=0), and continuously correct the adaptive filter during the lapse of an arbitrary time (t=0 to t1) so that the filter coefficient becomes a final value (for example, 0) after the lapse of an arbitrary time (t=t1). In this case, the final value may be 0 or a small value other than 0 (for example, 0.5). This makes it possible to prevent noise or excessive removal caused by a sudden change in the adaptive filter.
[0058] In this embodiment, the filter correction unit 22 extracts an index (index I1 in FIG. 4) whose convergence value is equal to or greater than a threshold value from among indexes that do not change according to the delay time, and reduces the filter coefficient of the extracted index, but the filter coefficient of an index that does not change according to the delay time regardless of the threshold value may be reduced. In this case, it is preferable to set the filter coefficient to an appropriate value such as 0.5 rather than 0. This makes it possible to converge to an appropriate adaptive filter even if unnecessary reduction has been performed.
[0059] <Modification of the first embodiment> The echo suppressing device 1A according to the modification is different from the echo suppressing device 1 according to the first embodiment in that it has a plurality of reference signal adjusting units that generate delayed reference signals, and a plurality of filter generating units that generate one filter from each delayed reference signal. In the following description, the same reference symbols are used for configurations similar to those of the first embodiment, and description thereof will be omitted.
[0060] 5 is a block diagram showing a schematic configuration of an echo suppressing device 1A according to a modification of the first embodiment. The echo suppressing device 1A mainly includes a reference signal adjusting unit 10A, a linear echo suppressing unit 20A, and a nonlinear echo suppressing unit 30.
[0061] The reference signal adjuster 10A has a plurality of reference signal adjusters 10-1...10-n (n is a natural number). The reference signal adjusters 10-1...10-n are functional units that acquire a reference signal and generate a delayed reference signal based on the reference signal. Different delay times are stored in advance in the reference signal adjusters 10-1...10-n. The reference signal adjusters 10-1...10-n each generate and output a delayed reference signal based on the stored delay time.
[0062] The linear echo suppressor 20A is a functional section that generates an adaptive filter using a reference signal and suppresses linear echo in an input signal, and is mainly provided with a filter generator 21A, a filter corrector 22A, and an echo remover .
[0063] The filter generating unit 21A has a plurality of filter generating units 21-1...21-n (n is a natural number). The number of reference signal adjustment units 10-1...10-n and the number of filter generating units 21-1...21-n are the same.
[0064] The filter generators 21-1...21-n are functional units that generate adaptive filters based on the delayed reference signals output from the reference signal adjusters 10-1...10-n, respectively. The process of generating adaptive filters by the filter generators 21-1...21-n is similar to that of the filter generator 21, and therefore a description thereof will be omitted.
[0065] The filter correction unit 22A is a functional unit that corrects an adaptive filter generated by any one of the filter generation units 21-1...21-n (for example, the filter generation unit 21-1) based on the adaptive filters generated by the filter generation units 21-1...21-n. The optional filter generation unit 21 generates an adaptive filter based on a delayed reference signal given a predetermined delay time (for example, a delay time expected depending on the time it takes for sound to be emitted from the speaker 52 and picked up by the microphone 51 in the voice communication system 100).
[0066] The filter correction unit 22A compares the convergence values of the multiple adaptive filters generated by the filter generation units 21-1...21-n, and corrects the adaptive filters for elements (indexes) that do not change according to the delay time, thereby reducing the magnitude of the filter coefficients. The process of correcting the adaptive filters by the filter correction unit 22A is the same as that of the filter correction unit 22, and therefore a description thereof will be omitted.
[0067] The echo removal unit 23 is a functional unit that removes echo from the input signal collected by the microphone 51, using the adaptive filter modified by the filter modification unit 22A.
[0068] According to the echo suppressing device 1A of this modification, the magnitude of each filter coefficient generated by the filter generating units 21-1...21-n is compared, so that the memory used can be reduced. For example, in the echo suppressing device 1, the filter generating unit 21 generates adaptive filters with different delay times in sequence, so that the filter correction unit 22 needs a functional unit for storing each of the adaptive filters (magnitude of the filter coefficient) generated by the filter generating unit 21, but in the echo suppressing device 1A, the filter generating units 21-1...21-n generate different adaptive filters, so that when comparing multiple adaptive filters, a functional unit for storing multiple adaptive filters is not needed, so that the memory used can be reduced.
[0069] <Second embodiment> The echo suppressing device 1 according to the first embodiment of the present invention performs the learning process (step S1) only once (for example, in advance or when the echo suppressing device 1 is started up), but the echo suppressing device may perform the learning process continuously.
[0070] The echo suppressing device 2 according to the second embodiment of the present invention is configured to continuously perform a learning process (step S1), i.e., correct an adaptive filter. The echo suppressing device 2 will be described below, focusing on the differences from the first embodiment. In the following description, the same reference numerals are used for the same configurations as the first embodiment, and description thereof will be omitted.
[0071] 6 is a block diagram showing a schematic configuration of the echo suppressor 2. The echo suppressor 2 mainly includes a reference signal adjuster 10B, a linear echo suppressor 20B, and a nonlinear echo suppressor 30.
[0072] The reference signal adjustment unit 10B is a functional unit that continuously acquires a reference signal and continuously generates a delayed reference signal based on the reference signal. The reference signal adjustment unit 10B continuously generates a delayed reference signal while acquiring the reference signal. The process performed by the reference signal adjustment unit 10B is similar to that of the reference signal adjustment unit 10, but differs in that the process is performed continuously.
[0073] The linear echo suppressor 20B is a functional unit that generates an adaptive filter using a reference signal and performs processing to suppress linear echoes in an input signal. The linear echo suppressor 20B mainly includes a filter generator 21B, a filter corrector 22B, and an echo remover 23A.
[0074] The filter generation unit 21B is a functional unit that continuously obtains a convergence value of an adaptive filter based on the delayed reference signal continuously generated by the reference signal adjustment unit 10B. The process performed by the filter generation unit 21B is similar to that of the filter generation unit 21, but differs in that the process is performed continuously.
[0075] Filter correction unit 22B is a functional unit that continuously corrects the adaptive filters continuously generated by filter generation unit 21 B. The process performed by filter correction unit 22B is similar to that of filter correction unit 22, but differs in that the process is performed continuously.
[0076] The echo removal unit 23A is a functional unit that removes echo from the input signal collected by the microphone 51. Adaptive filters corrected by the filter correction unit 22B are continuously input to the echo removal unit 23A, and the echo is removed using the continuously input adaptive filters. The process performed by the echo removal unit 23A is different from the process performed by the echo removal unit 23 in the adaptive filters used, but is otherwise similar. The signal output from the echo removal unit 23A is input to the nonlinear echo suppression unit 30.
[0077] 7 is a flowchart showing the flow of processing performed by the echo suppressing device 2. While the echo suppressing device 2 is operating and acquiring a reference signal, for example, during a call, a learning process (step S1), an echo removal process (step S7), and a signal output process (step S8) are continuously performed.
[0078] According to this embodiment, while the echo suppression device 2 is operating and acquiring a reference signal, the learning process, i.e., the process of correcting the adaptive filter, is continuously performed, and the echo is removed using the continuously corrected adaptive filter, so that the echo can be appropriately removed even if the echo path changes during use.
[0079] <Third embodiment> The echo suppressing device 2 according to the second embodiment of the present invention continuously performs the learning process (adaptive filter correction), but may stop correcting the adaptive filter under a specific condition.
[0080] An echo suppression device 3 according to the third embodiment of the present invention is configured to stop modifying the adaptive filter in the event of double talk. The following description of the echo suppression device 3 will focus on the differences from the first and second embodiments. In the following description, the same reference numerals are used to designate the same components as those in the first and second embodiments, and description thereof will be omitted.
[0081] 8 is a block diagram showing a schematic configuration of the echo suppressor 3. The echo suppressor 2 mainly includes a reference signal adjuster 10C, a linear echo suppressor 20C, a nonlinear echo suppressor 30, and a double-talk detector .
[0082] The double-talk detection unit 40 is a functional unit that detects whether the voice signal input to the echo suppression device 3 is in a single-talk state or a double-talk state. Here, single-talk refers to a state in which either user A or user B is emitting voice, and a signal is transmitted to either the transmitting side signal path or the receiving side signal path (near-end speech or far-end speech). Double-talk refers to a state in which both user A and user B are emitting voice, and a signal is transmitted simultaneously to the transmitting side signal path and the receiving side signal path (near-end speech and far-end speech).
[0083] The double-talk detection unit 40 sequentially compares the power spectrum value of the reference signal with the power spectrum value of the input signal for each frequency band, and detects whether or not a double-talk state is occurring based on the comparison result. For example, the double-talk detection unit 40 holds a frequency mask that acquires the maximum value of the power spectrum value of the signal transmitted through the transmitting side signal path during one-sided speech (single talk) on the far-end side in which only the sound output from the speaker 52 is input to the microphone 51, and compares the power spectrum value of the input signal picked up by the microphone 51 with the value of the frequency mask for each frequency band, and detects that sound is input from the microphone 51 and a signal is transmitted through the transmitting side signal path (there is a near-end speech) if the number of frequency bands in which the value of the input signal exceeds the value of the frequency mask is equal to or greater than a certain value. Also, for example, the double-talk detection unit 40 compares the power spectrum value of the reference signal with the value of the frequency mask for each frequency band, and detects that a signal is transmitted through the receiving side signal path (there is a far-end speech) if the number of frequency bands in which the value of the reference signal exceeds the value of the frequency mask is equal to or greater than a certain value.
[0084] However, the double-talk detection section 40 may detect whether the state is single-talk or double-talk using various other known methods.
[0085] The detection result by the double-talk detection unit 40 is input to the reference signal adjustment unit 10C. The reference signal adjustment unit 10C is a functional unit that continuously acquires reference signals when the double-talk state is not occurring, and continuously generates delayed reference signals based on the reference signals. The process by which the reference signal adjustment unit 10C continuously generates delayed reference signals is similar to that of the reference signal adjustment unit 10B, and therefore a description thereof will be omitted. The delayed reference signals generated by the reference signal adjustment unit 10C are input to the linear echo suppression unit 20C.
[0086] The linear echo suppressor 20C is a functional unit that generates an adaptive filter using a reference signal and performs processing to suppress linear echoes in an input signal. The linear echo suppressor 20B mainly includes a filter generator 21C, a filter corrector 22C, and an echo remover 23B.
[0087] The filter generating unit 21C is a functional unit that obtains convergence values of a plurality of adaptive filters based on a delayed reference signal when the delayed reference signal is generated by the reference signal adjusting unit 10C. The process by which the filter generating unit 21C continuously obtains convergence values of the adaptive filters is similar to that of the filter generating unit 21B, and therefore will not be described.
[0088] Filter correction unit 22C is a functional unit that corrects the adaptive filter generated by filter generation unit 21B when multiple adaptive filters are generated by filter generation unit 21C. The process of correcting the adaptive filter by filter correction unit 22C is similar to that of filter correction unit 22B, and therefore a description thereof will be omitted.
[0089] The echo removal unit 23B is a functional unit that removes echo from the input signal collected by the microphone 51. When an adaptive filter corrected by the filter correction unit 22B is input to the echo removal unit 23B, the echo is removed using the input adaptive filter, and when an adaptive filter corrected by the filter correction unit 22B is not input, the echo removal unit 23B removes echo using the adaptive filter input last (immediately before) from the filter correction unit 22B. For example, the echo removal unit 23B has a functional unit that stores the adaptive filter corrected by the filter correction unit 22B, and the echo removal unit 23B updates the adaptive filter stored in the functional unit every time an adaptive filter is input from the filter correction unit 22B, and removes echo from the input signal using the adaptive filter stored in the functional unit. The process of the echo removal unit 23B is already known, so a description will be omitted. The signal output from the echo removal unit 23B is input to the nonlinear echo suppression unit 30.
[0090] 9 is a flowchart showing the flow of the process performed by the echo suppressor 3. While the echo suppressor 3 is operating and acquiring a reference signal, for example, during a call, the double-talk detector 40 detects whether the state is single talk or double talk (step S10).
[0091] If the double-talk detection unit 40 does not detect the double-talk state (No in step S10), a learning process (step S11) and an echo cancellation process (step S12) are performed. The process in step S11 is the same as step S1, so a description thereof will be omitted. In step S12, echo cancellation is performed using the adaptive filter corrected in the immediately preceding step S6.
[0092] If the double-talk detection unit 40 detects that a double-talk state exists (Yes in step S10), the learning process (step S11) is not performed, and the process proceeds to the echo removal process (step S12). In the echo removal process (step S12), the echo is removed using the adaptive filter corrected in the immediately preceding step S6. The process of removing the echo in the echo removal process (step S12) is the same as that in step S7, and therefore will not be described here.
[0093] Following the echo removal process (step S12), a signal output process (step S13) is performed. The process of step S13 is similar to step S8, so a description thereof will be omitted. Thereafter, the process returns to step S10, and the process shown in FIG. 9 is repeated.
[0094] According to this embodiment, when the double-talk detection unit detects double-talk, that is, when there are many disturbances and it seems that appropriate correction processing cannot be performed, the correction processing of the adaptive filter can be interrupted. Also, by interrupting the correction processing of the adaptive filter in a situation where there are many disturbances, the calculation load can be reduced.
[0095] In this embodiment, the detection result by the double-talk detection unit 40 is input to the reference signal adjustment unit 10C, but the detection result by the double-talk detection unit 40 may be input to the filter generation unit 21C or the filter correction unit 22C. For example, when the detection result by the double-talk detection unit 40 is input to the filter correction unit 22C, multiple delayed reference signals and convergence values of the adaptive filter are found even in the case of double talk, and correction of the adaptive filter is stopped.
[0096] Although an embodiment of the present invention has been described in detail above with reference to the drawings, the specific configuration is not limited to this embodiment, and design changes and the like that do not deviate from the gist of the present invention are also included. [Explanation of symbols]
[0097] 1, 1A, 2, 3: Echo suppressor 10, 10A, 10B, 10C, 10-1, 10-n: Reference signal adjustment section 20, 20A, 20B, 20C: Linear echo suppression section 21, 21A, 21B, 21C, 21-1, 21-n: filter generation unit 22, 22A, 22B, 22C: Filter correction section 23, 23A, 23B: Echo cancellation section 30: Nonlinear echo suppression section 40: Double talk detector 50: Terminal 51: Microphone 52: Speaker 53: Communication equipment 54: Communication equipment 55: Speaker amplifier 100: Voice communication systems 531: Signal input terminal 532: Signal output terminal
Claims
1. An echo suppression device for removing an echo from an input signal picked up by a microphone of a terminal having a speaker and a microphone, comprising: a reference signal adjustment unit that generates a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiver side signal path that transmits a signal to the speaker; a filter generator for obtaining convergence values of a plurality of adaptive filters based on the plurality of delayed reference signals; a filter correction unit that compares a plurality of the convergence values and corrects the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change according to a change in the delay time, is smaller than the convergence value; an echo canceller that applies the adaptive filter corrected by the filter correction unit to the input signal to cancel a linear echo; An echo suppression device comprising:
2. The filter correction unit sets the first filter coefficient to zero.
2. The echo suppression device according to claim 1.
3. The filter correction unit gradually reduces the first filter coefficient from the convergence value.
3. The echo suppression device according to claim 1 or 2.
4. The filter correction unit sets a filter coefficient, among elements that do not change according to a change in the delay time, when the convergence value is equal to or greater than a threshold value as the first filter coefficient.
3. The echo suppression device according to claim 1 or 2.
5. The filter correction unit determines the threshold value based on the convergence value.
5. The echo suppression device according to claim 4.
6. The reference signal adjustment unit continuously generates a plurality of the delayed reference signals while acquiring the reference signal; the filter generation unit successively obtains a plurality of the convergence values; The filter correction unit continuously corrects the adaptive filter.
3. The echo suppression device according to claim 1 or 2.
7. A double talk detection unit is provided for detecting whether the device is in a single talk state or a double talk state, The reference signal adjustment unit generates a plurality of the delayed reference signals when the double talk state is not detected.
7. An echo suppression device according to claim 6.
8. The reference signal adjustment unit generates the delayed reference signal only once before the echo canceller cancels the linear echo.
3. The echo suppression device according to claim 1 or 2.
9. a reference signal adjustment step of generating a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiver side signal path that transmits a signal to the speaker of a terminal having a speaker and a microphone; a filter generating step of obtaining convergence values of a plurality of adaptive filters based on the plurality of delayed reference signals; a filter correction step of comparing a plurality of the convergence values and correcting the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change according to a change in the delay time, is made smaller than the convergence value; an echo removal step of removing a linear echo by applying the adaptive filter modified in the filter modification step to an input signal picked up by the microphone; 23. An echo suppression method comprising:
10. Computer, a reference signal adjustment unit that generates a plurality of delayed reference signals by applying a plurality of different delay times to a reference signal transmitted through a receiver side signal path that transmits a signal to a speaker of a terminal having a speaker and a microphone; a filter generation unit for obtaining convergence values of a plurality of adaptive filters based on each of the plurality of delayed reference signals; a filter correction unit that compares a plurality of the convergence values and corrects the adaptive filter so that a first filter coefficient, which is a filter coefficient for an element that does not change according to a change in the delay time, is smaller than the convergence value; an echo canceller that cancels linear echoes by applying the adaptive filter corrected by the filter corrector to an input signal collected by the microphone; The echo suppression program according to claim 1,