Echo suppression device, echo suppression method, and echo suppression program
By assigning different delay times to the reference signal to generate multiple delayed reference signals, the convergence value of the adaptive filter is obtained and corrected, which solves the problem of insufficient echo suppression caused by adaptive filter learning errors in the existing technology, and achieves efficient Echo removal and reduced computational load.
Patent Information
- Application Number
- CN202380047077.1
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2022-07-07
- Filing Date
- 2023-06-29
- Publication Date
- 2025-01-24
AI Technical Summary
The prior art is prone to fall into incorrect solutions in the coefficient learning of adaptive filters, resulting in insufficient echo suppression.
By giving different delay times to the reference signals to generate multiple delayed reference signals, the convergence values of multiple adaptive filters are obtained, and the filters are compared and corrected to make the first filter coefficient smaller than the convergence value to ensure that the filter coefficients are not based on The delay time is varied to remove linear echoes.
This effectively reduces the processing load of the computing device, improves the accuracy of echo removal, and avoids insufficient echo suppression due to erroneous learning.
Smart Images

Figure CN119366116A_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 Art
[0002] Patent Document 1 discloses an echo canceller device that generates a first echo replica signal and a second echo replica signal by convolving a received signal with a first filter coefficient or a second filter coefficient, and outputs a signal in a speech frequency band of the first echo replica signal as an echo canceller signal. In the device, the second filter coefficient is corrected so that a signal obtained by subtracting the second echo replica signal from a signal of an arbitrary measurement frequency in an input sound signal is minimized, and the first filter coefficient that is previously set with the second filter coefficient is obtained, thereby setting the filter coefficient.
[0003] Prior Art Literature
[0004] Patent Literature
[0005] Patent Document 1: Japanese Patent Application Publication No. 2010-11265 Summary of the invention
[0006] -Problems that the invention aims to solve-
[0007] However, in the invention described in Patent Document 1, if an erroneous solution is reached during learning of the coefficients of the adaptive filter, a sufficient echo suppression amount may not be ensured.
[0008] The present invention has been made in view of the above circumstances, and an object of the present invention is to provide an echo suppression device, an echo suppression method, and an echo suppression program capable of performing echo removal using an appropriate adaptive filter without performing erroneous learning.
[0009] - Means of solving the problem -
[0010] In order to solve the above-mentioned problem, the echo suppression device involved in the present invention removes echo from an input signal picked up by a microphone in a terminal having a speaker and a microphone, for example. The echo suppression device includes: a reference signal adjustment unit that generates a plurality of delayed reference signals by assigning a plurality of different delay times to a reference signal transmitted in a reception-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 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 is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and an echo removal unit that removes linear echo by applying the adaptive filter corrected by the filter correction unit to the input signal.
[0011] An echo suppression method according to another embodiment of the present invention includes, for example, a reference signal adjustment step of assigning a plurality of different delay times to a reference signal transmitted in a receiver-side signal path for transmitting a signal to a speaker in a terminal having a speaker and a microphone, thereby generating a plurality of delayed reference signals; a filter generation 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 the plurality of convergence values and correcting the adaptive filter so that a first filter coefficient is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and an echo removal step of removing a linear echo by applying the adaptive filter corrected by the filter correction step to an input signal picked up by the microphone.
[0012] An echo suppression program according to another embodiment of the present invention causes a computer to function as: a reference signal adjustment unit that assigns a plurality of delay times different from each other to a reference signal transmitted in a reception-side signal path that transmits a signal to a speaker of a terminal having a speaker and a microphone, thereby generating a plurality of delayed reference signals; a filter generation unit that obtains convergence values of a plurality of adaptive filters based on 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 is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and an echo removal unit that removes a linear echo by applying the adaptive filter corrected by the filter correction unit to an input signal picked up by the microphone.
[0013] According to the plurality of aspects of the present invention, based on a plurality of delayed reference signals generated by assigning a plurality of different delay times to a reference signal transmitted in a reception-side signal path for transmitting a signal to a speaker, convergence values of a plurality of adaptive filters are obtained, a first filter coefficient is made smaller than the convergence value, and the first filter coefficient is a filter coefficient for an element that does not change according to a change in the delay time as a result of comparing the plurality of convergence values, and the linear echo is removed from the input signal using the modified adaptive filter, so that the echo can be removed using an appropriate adaptive filter that has not been erroneously learned.
[0014] The filter modification unit may set the first filter coefficient to 0. This can reduce the calculation load and the processing load of the computing device. In addition, since the processing load of the computing device can be reduced, the echo suppression device can be configured at a low cost.
[0015] The filter modification unit may gradually reduce the first filter coefficient from the convergence value. This can prevent noise or excessive removal caused by abruptly changing the shape of the adaptive filter.
[0016] The filter modification unit may set the filter coefficient of the element that does not change according to the change in the delay time when the convergence value is greater than a threshold as the first filter coefficient. This can reduce the filter coefficient of the element that has a large influence on the removal of the linear echo.
[0017] The filter correction unit may determine the threshold value based on the convergence value. Thus, an appropriate threshold value according to the state of the reference signal can be automatically determined.
[0018] Alternatively, the reference signal adjustment unit may continuously generate a plurality of the delayed reference signals during the period of acquiring the reference signal, the filter generation unit may continuously generate a plurality of the linear filters, and the filter correction unit may continuously correct the adaptive filter. Thus, even when the echo path changes during use, the echo can be appropriately removed.
[0019] The echo suppression device may include a double talk detection unit, the double talk detection unit detecting whether the state is a one-way talk state or a double talk state, and when the double talk state is not detected, the filter correction unit makes the first filter coefficient smaller than the convergence value. Thus, when double talk occurs, there is a possibility that the effect of this processing is small because there is a lot of interference, but according to this configuration, by stopping the processing with a small effect, the calculation load can be reduced.
[0020] The reference signal adjustment unit may generate the delayed reference signal only once before the echo removal unit removes the linear echo. This can be realized with a small calculation load, and the echo suppression device 1 can be configured inexpensively.
[0021] -Effects of the Invention-
[0022] According to the present invention, it is possible to reduce the processing load of a computing device and to efficiently remove echoes. BRIEF DESCRIPTION OF THE DRAWINGS
[0023] Figure 1 Schematically shows a voice communication system 100 provided with the echo suppression apparatus 1 .
[0024] Figure 2 2 is a block diagram showing a schematic configuration of the echo suppression device 1 .
[0025] Figure 3 : is a flowchart showing the flow of processing performed by the echo suppression device 1 .
[0026] Figure 4 : is a graph showing a state of processing of comparing convergence values of a plurality of adaptive filters with each other.
[0027] Figure 5 1A is a block diagram showing a schematic configuration of the echo suppression apparatus 1A.
[0028] Figure 6 2 is a block diagram showing a schematic configuration of the echo suppression device 2 .
[0029] Figure 7 : is a flowchart showing the flow of processing performed by the echo suppression device 2 .
[0030] Figure 8 2 is a block diagram showing a schematic configuration of the echo suppression device 3 .
[0031] Fig. 9 : is a flowchart showing the flow of processing performed by the echo suppression device 3 . DETAILED DESCRIPTION
[0032] Hereinafter, an embodiment of the echo suppression device according to the present invention will be described in detail with reference to the accompanying drawings. The echo suppression device is a device for suppressing echoes generated during a call in a voice communication system, and is used in products incorporating a speaker and a microphone, such as a headset for a telephone conference or a video conference, a car-mounted communication device, and an intercom.
[0033] <First embodiment>
[0034] Figure 11 is a diagram schematically showing a voice communication system 100 provided with the echo suppression device 1 according to the first embodiment. The voice communication system 100 mainly includes a terminal 50 (e.g., an in-vehicle device, a conference system, a portable terminal) having a microphone 51 and a speaker 52, two communication devices 53 and 54, a speaker amplifier 55, and the echo suppression device 1.
[0035] The voice communication system 100 is a system for a user (user A at the near end) using a terminal 50 (near end terminal) and a user (user B at the far end) using a communication device 54 (far end terminal) to perform voice communication. The speaker 52 amplifies the voice signal input via the communication device 54, and the microphone 51 collects the voice uttered by the user at the near end and transmits it to the communication device 54, so that the user A can perform a voice amplification call (hands-free call) without holding the communication device 53. The communication device 53 and the communication device 54 are connected via a general telephone line and can perform a call with each other.
[0036] The echo suppression device 1 is provided in a transmission-side signal path that transmits an input signal input from a microphone 51 from a terminal 50 to a communication device 53 , and removes an echo from the input signal.
[0037] The echo suppression device 1 may be constructed as a dedicated board mounted on the terminal 50 or the like in the voice communication system 100, for example. In addition, the echo suppression device 1 may be composed of, for example, computer hardware and software (echo suppression program). The echo suppression program may be pre-stored in a HDD as a storage medium built into a computer or the like, or a ROM in a microcomputer having a CPU, and installed into the computer from the HDD. In addition, the echo suppression program may be temporarily or permanently saved (stored) in a removable storage medium such as a semiconductor memory, a memory card, an optical disk, a magneto-optical disk, or a magnetic disk.
[0038] Figure 2 1 is a block diagram showing a schematic structure of the echo suppression device 1. The echo suppression device 1 is connected between the microphone 51 and the signal input terminal 531 of the communication device 53 on the transmission side. Figure 2 In FIG. 5 , the upper signal path is a transmitting-side signal path for transmitting an input signal input from the microphone 51 , and the lower signal path is a receiving-side signal path for transmitting a signal to the speaker 52 .
[0039] The input signal picked up by the microphone 51 and the voice signal received by the communication device 53 are input to the echo suppression device 1. The echo suppression device 1 removes the echo of the input signal based on the reference signal, which is the voice signal received by the communication device 53 and transmitted in the signal path on the receiving side, and outputs it to the signal input terminal 531 on the transmitting side.
[0040] The echo suppression device 1 mainly includes a reference signal adjustment unit 10, a linear echo suppression unit 20, and a nonlinear echo suppression unit 30. In addition, the echo suppression device 1 may also have a general configuration related to noise cancellation.
[0041] The reference signal adjustment unit 10 is a functional unit that obtains 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 giving a plurality of different delay times.
[0042] The linear echo suppression unit 20 is a functional unit that generates an adaptive filter using a reference signal and suppresses a linear echo in an input signal. The filter characteristic of the adaptive filter used by the linear echo suppression unit 20 is linear. The linear echo suppression unit 20 mainly includes a filter generation unit 21, a filter correction unit 22, and an echo removal unit 23.
[0043] The filter generation unit 21 is a functional unit that obtains the convergence value of the adaptive filter based on the delayed reference signal generated by the reference signal adjustment unit 10. The filter generation unit 21 is configured to be able to execute a learning algorithm using linear processing. The learning algorithm based on linear processing is, for example, NLMS and LMS, but is not limited thereto, and all known algorithms can be applied.
[0044] In addition, for example, as shown in mathematical formula (1), the filter generation unit 21 forms an adaptive filter by a non-recursive (FIR, Finite Impulse Response) filter. In mathematical formula (1), x(k) is an input signal, y(k) is an output signal, and h(1) is a filter coefficient of a multiplier. In addition, 1 is an index of a coefficient, and N is a filter length.
[0045] [Mathematical formula 1]
[0046]
[0047] The filter generation unit 21 obtains a plurality of delayed reference signals and obtains convergence values of a plurality of adaptive filters based on the respective delayed reference signals. The convergence values of the adaptive filters include convergence values of filter coefficients of each index of the non-recursive filter. The filter generation unit 21 stores the convergence values of the adaptive filters in an appropriate storage unit.
[0048] Furthermore, the filter generation unit 21 can determine that the adaptive filter has converged when, for example, the deviation of the convergence value is within a certain range, when the convergence value converges within a certain range, or when a certain time has passed since the start of processing.
[0049] 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 the adaptive filter that has converged due to the delay reference signal assigned to a given delay time based on the adaptive filter that has converged due to the delay reference signal assigned to another delay time. The given delay time is, for example, a delay time estimated based on the time when the sound is emitted from the speaker 52 and picked up by the microphone 51 in the voice communication system 100. The filter correction unit 22 will be described in detail later.
[0050] The echo removal unit 23 is a functional unit that removes linear echo from an input signal picked up by the microphone 51. The echo removal unit 23 removes linear echo using an adaptive filter modified by the filter modification unit 22. Since the processing of the echo removal unit 23 is already known, the description thereof is omitted. The signal output from the echo removal unit 23 is input to the nonlinear echo suppression unit 30.
[0051] The nonlinear echo suppression unit 30 is a functional unit that executes a learning algorithm using nonlinear processing. The learning algorithm using nonlinear processing can apply any known algorithm. The signal output from the nonlinear echo suppression unit 30 is output to the signal input terminal 531 on the transmission side, and is transmitted to the communication device 54 owned by the user B via the communication device 53. In addition, the nonlinear echo suppression unit 30 is not essential.
[0052] Figure 3 1 is a flowchart showing the flow of processing performed by the echo suppression device 1. First, the echo suppression device 1 performs a learning process (step S1). The learning process may be performed in advance or at the time when the echo suppression device 1 or a given function in the echo suppression device 1 is activated. That is, the echo suppression device 1 only needs to perform the learning process (step S1) once before the linear echo removal process (step S7) of removing the linear echo by applying an adaptive filter to the input signal.
[0053] The learning process (step S1) includes steps S2 to S6. In the learning process (step S1), first, the reference signal adjustment unit 10 obtains the reference signal from the signal output terminal 532 of the receiving side (step S2), and delays the reference signal by time t1, t2...tn to generate a plurality of delayed reference signals (step S3). Next, the filter generation unit 21 obtains the convergence value of the adaptive filter after learning based on each delayed reference signal (step S4).
[0054] In addition, steps S3-1 to S3-n constituting step S3 may be performed simultaneously or sequentially. Step S4 is composed of steps S4-1 to S4-n, which are performed after steps S3-1 to S3-n, respectively.
[0055] Next, the filter modification unit 22 compares the convergence values of the plurality of adaptive filters generated in step S4 (step S5 ), and modifies the adaptive filter based on the comparison result (step S6 ).
[0056] Figure 4 : is a graph showing a state of processing in which the filter modification unit 22 compares the convergence values of the plurality of adaptive filters generated by the filter generation unit 21 . Figure 4 The horizontal axis is the index of the filter coefficient, and the vertical axis is the size of the convergence value. Figure 4 In FIG. 1 , as the delay time tn (n is a natural number), the values at 160, 170, 180, 190, and 200 (in samples) are shown. Figure 4 The sampling frequency when the graph shown is created is 16 kHz, and the sampling interval in the case of 160 samples is 10 ms, for example. However, the sampling frequency is not limited to this.
[0057] 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. Peak P160 is an element that changes according to the change of delay time tn, and moves horizontally according to the change of delay time tn. For example, peak P160 moves toward 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 toward 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 Figure 4 In the example shown, the greater the delay time given to the reference signal, the smaller the index of the filter coefficient where the peak appears. In this way, the peak that changes according to the delay time indicates that an appropriate acoustic path has been learned.
[0058] In addition, the determination of the presence or absence of peak shift can be carried out by applying a known appropriate technique such as determining the presence or absence of shift by pattern matching.
[0059] On the other hand, in the graph L160, even if the delay time tn is changed, the peak generated in the index of 9 does not move horizontally, and no change corresponding to the delay time tn occurs. In the case of falling into an erroneous local optimal solution, there is a high probability that a peak will be generated in the same filter coefficient regardless of the assigned delay time. In addition, in the case where a signal other than the voice signal from the signal output terminal 532 on the receiving side is mixed in the reference signal, it will be transmitted without being affected by the delay, and as a result, a peak may be generated in the same filter coefficient regardless of the assigned delay time. The mixing of signals may occur, for example, when the signal, the generated noise, etc. bypasses the CPU substrate, when the autocorrelation of the reference signal is high, or when a signal that has a large change immediately after the speaker amplifier 55 bypasses through wiring. In addition, the mixing of signals may sometimes occur due to the shaking of the echo suppression device 1 itself.
[0060] For this purpose, the filter correction unit 22 corrects the adaptive filter for the element (index I1) that does not change according to the delay time, and sets the size of the filter coefficient to be smaller than the convergence value (reduces the learning update range). In the present embodiment, the filter correction unit 22 sets the filter coefficient of index 11 to 0 (stops learning). Thus, the influence of inappropriate learning can be removed from the adaptive filter used for echo removal, and the adaptive filter can be improved to a proper adaptive filter. In addition, the method of setting the filter coefficient to 0 (stopping learning) is included in the method of reducing the size of the filter coefficient (reducing the learning update range).
[0061] In addition, the filter modification unit 22 determines whether to extract an element (index) based on a threshold value. Figure 4 In the example shown, the filter modification unit 22 extracts nine indices whose convergence values are equal to or greater than a threshold value as elements that do not vary according to the delay time tn, and does not extract other indices.
[0062] For example, the filter correction unit 22 may set an arbitrary value as the threshold value. For example, the user may set the threshold value in advance based on the design value or experimental value of the microphone 51 and the speaker 52. According to this structure, the processing of calculating the threshold value is unnecessary, so the processing can be simplified.
[0063] In addition, for example, the filter correction unit 22 can also find a threshold value based on the size of the convergence value. For example, the filter correction unit 22 can find the size of the convergence value of each index at any delay time, and set the value obtained by subtracting a given value or a given ratio from the maximum value of the obtained size as the threshold. In addition, for example, the filter correction unit 22 can find one or more elements that change according to the delay time through pattern matching, and find the maximum value of the convergence value of the index that changes according to the delay time, and set the value obtained by subtracting a given value or a given ratio from the obtained maximum value as the threshold. According to this structure, an appropriate threshold value corresponding to the status of the reference signal can be automatically determined.
[0064] When the magnitude of the filter coefficient of the index that does not change according to the delay time is greater than the threshold value obtained or set in this way, the filter modification unit 22 reduces the magnitude of the filter coefficient. This makes it possible to reduce the filter coefficient of the index that has a large influence on the removal of the linear echo.
[0065] In addition, the filter correction unit 22 may also consider the situation in which, in the filter coefficient curve graph, peaks appear in the indices to the left and right of index I1 that generate a peak that does not change according to the delay time, and reduce the filter coefficients of index I1 and the indices within a given range before and after it.
[0066] Return to Figure 3 After the learning process (step S1), the echo removal unit 23 picks up the input signal from the microphone 51 and removes the linear echo by applying the adaptive filter modified in step S6 to the input signal (step S7). The signal from which the linear echo has been removed is suppressed by the nonlinear echo suppression unit 30 and output to the communication device 54 (step S8).
[0067] While the echo suppression device 1 is operating, step S7 and step S8 are continuously performed. That is, the echo suppression device 1 always uses the adaptive filter modified in step S6 performed once by the filter modification unit 22 for the first time to remove the linear echo.
[0068] According to the present embodiment, by comparing a plurality of adaptive filters learned using a plurality of reference signals to which different delay times are assigned, the size of the filter coefficient of the element (index) that does not change according to the delay time is set to 0 (learning is stopped), so that an appropriate adaptive filter that has not been learned incorrectly can be used to perform echo removal. In addition, by stopping the learning of the index that does not change according to the delay time, the calculation load can be reduced, and the processing load of the computing device can be reduced. In addition, since the processing load of the computing device can be reduced, the echo suppression device 1 can be configured inexpensively.
[0069] For example, in order to reduce the processing load of the computing device, a method of setting the initial value of the coefficient of the adaptive filter to an appropriate value may also be considered. As a method of setting the initial value of the coefficient of the adaptive filter to an appropriate value, for example, the following methods may be considered: a method of starting learning by setting the state of each filter coefficient to 0 as the initial value (method 1); a method of estimating the index and the size of the filter coefficient in the index (the value of the peak) based on physical prior information, that is, the structure of the device constituting the voice communication system, and setting the coefficient of the other index to 0 (method 2). In method 2, the contribution estimated from each of the physical structure between the speaker amplifier 55, the speaker 52 and the microphone 51, and the appropriate device required from the microphone 51 to the echo suppression device 1 is totaled, and the contribution of the reference signal adjustment unit 10 is subtracted, thereby obtaining the index of the filter coefficient. In addition, the value of the peak value can be obtained by multiplying the contributions of the speaker amplifier 55, the speaker 52, the physical structure between the speaker 52 and the microphone 51, and the appropriate device required from the microphone 51 to the echo suppression device 1.
[0070] However, in method 1, the possibility of falling into an erroneous local optimal solution cannot be ruled out. In addition, in method 2, it is difficult to accurately calculate the physical characteristics of the device using digital values, and the possibility of falling into a local optimal solution due to the generated errors cannot be ruled out as in method 1. In contrast, since the echo suppression device 1 performs echo removal using an appropriate adaptive filter that has not been erroneously learned, the echo removal accuracy is high, and an appropriate adaptive filter can be obtained with a light processing load.
[0071] Furthermore, according to the present embodiment, by performing the learning process (steps S1 to S6) in advance or performing the learning process (steps S1 to S6) only once when activating a given function of the echo suppression device 1, it is possible to reduce the processing load of the computing device and perform echo cancellation using an adaptive filter that has not been erroneously learned.
[0072] In addition, in the present embodiment, the filter correction unit 22 sets the element ( Figure 4The filter coefficient of the index I1 of the filter correction unit 22 is set to 0, but it is not necessary to set the filter coefficient to 0, as long as the size of the filter coefficient is reduced (the learning update amplitude is reduced). For example, the filter correction unit 22 can also reduce the size of the filter coefficient of the index I1 and keep it at a value other than 0 (for example, 0.5). When the size of the filter coefficient of the index I1 is reduced, since learning is also performed little by little in the index 11, even if the echo path changes due to reasons such as changes in the environment of the space where the microphone 51 and the speaker 52 exist, appropriate learning can be performed.
[0073] In the present embodiment, the linear echo removal process (step S7) is performed using the adaptive filter in which the filter coefficient of index I1 is set to 0 in the learning process (step S5), but the linear echo removal process (step S7) may be performed while gradually reducing the filter coefficient of index 11 of the adaptive filter. Figure 4 In the example shown, since the size of the filter coefficient of index I1 is roughly calculated to be 2, the filter correction unit 22 can also continuously correct the adaptive filter during the arbitrary time period (t=0 to t1), so that the filter coefficient of index I1 is set to 2 at the beginning (t=0), and the filter coefficient becomes the final value (for example, 0) after the arbitrary time period (t=t1). In this case, the final value can be 0 or a smaller value other than 0 (for example, 0.5). In this way, it is possible to prevent noise or excessive removal caused by abrupt changes in the adaptive filter.
[0074] In the present embodiment, the filter modification unit 22 extracts an index whose convergence value has a magnitude greater than or equal to the threshold value from among the indexes that do not change according to the delay time (in Figure 4 In the example, the filter coefficient of the extracted index is reduced, but the filter coefficient of the index that does not change according to the delay time may be reduced regardless of the threshold. In this case, it is preferred not to set the filter coefficient to 0, but to set it to an appropriate value such as 0.5. Thus, even if an unnecessary reduction is temporarily performed, it can be converged to an appropriate adaptive filter.
[0075] <Modification of the first embodiment>
[0076] The echo suppression device 1A according to the modification example is different from the echo suppression device 1 according to the first embodiment in that it includes a plurality of reference signal adjustment units for generating delayed reference signals and a plurality of filter generation units for generating one filter based on each delayed reference signal. In the following description, the same reference numerals are given to the same configurations as those in the first embodiment, and the description thereof is omitted.
[0077] Figure 5 1 is a block diagram showing a schematic configuration of an echo suppression device 1A according to a modification of the first embodiment. The echo suppression device 1A mainly includes a reference signal adjustment unit 10A, a linear echo suppression unit 20A, and a nonlinear echo suppression unit 30 .
[0078] The reference signal adjustment unit 10A includes a plurality of reference signal adjustment units 10-1 ... 10-n (n is a natural number). The reference signal adjustment units 10-1 ... 10-n are functional units that obtain reference signals and generate delayed reference signals based on the reference signals. Different delay times are stored in advance in the reference signal adjustment units 10-1 ... 10-n. The reference signal adjustment units 10-1 ... 10-n generate and output delayed reference signals based on the stored delay times.
[0079] The linear echo suppression unit 20A is a functional unit that generates an adaptive filter using a reference signal and suppresses a linear echo in an input signal. The linear echo suppression unit 20A mainly includes a filter generation unit 21A, a filter modification unit 22A, and an echo removal unit 23 .
[0080] The filter generator 21A includes a plurality of filter generators 21-1 ... 21-n (n is a natural number). The number of the reference signal adjusters 10-1 ... 10-n and the number of the filter generators 21-1 ... 21-n are the same.
[0081] 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 the same as that of the filter generator 21, so the description thereof is omitted.
[0082] The filter correction unit 22A is a functional unit that corrects the adaptive filter generated by any filter generation unit 21 (e.g., filter generation unit 21-1) among the filter generation units 21-1 ... 21-n based on the adaptive filter generated by the filter generation units 21-1 ... 21-n. Any filter generation unit 21 generates an adaptive filter based on a delay reference signal to which a given delay time (e.g., a delay time estimated based on the time when the sound is emitted from the speaker 52 and picked up by the microphone 51 in the voice communication system 100) is given.
[0083] 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 filter for the elements (indexes) that do not change according to the delay time to reduce the size of the filter coefficient. The process of correcting the adaptive filter by the filter correction unit 22A is the same as that of the filter correction unit 22, so the description is omitted.
[0084] The echo removal unit 23 is a functional unit that removes an echo from an input signal collected by the microphone 51 using an adaptive filter modified by the filter modification unit 22A.
[0085] According to the echo suppression device 1A of the present modification, since the magnitudes of the filter coefficients generated by the filter generation units 21-1 ... 21-n are compared, the memory used can be reduced. For example, in the echo suppression device 1, since the filter generation unit 21 sequentially generates adaptive filters with different delay times, the filter modification unit 22 needs to store the functional units of the adaptive filters (the magnitudes of the filter coefficients) generated by the filter generation unit 21, respectively. However, in the echo suppression device 1A, since the filter generation units 21-1 ... 21-n generate different adaptive filters, it is not necessary to store the functional units of the adaptive filters when comparing the plurality of adaptive filters, and the memory used can be reduced.
[0086] <Second Embodiment>
[0087] The echo suppression apparatus 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 suppression apparatus 1 is activated), but the echo suppression apparatus may perform the learning process continuously.
[0088] The echo suppression device 2 according to the second embodiment of the present invention is a method of continuously performing a learning process (step S1), that is, correcting an adaptive filter. Hereinafter, the echo suppression device 2 will be described with a focus on the parts that are different from the first embodiment. In the following description, the same reference numerals are given to the same structures as those in the first embodiment, and the description thereof will be omitted.
[0089] Figure 6 2 is a block diagram showing a schematic configuration of the echo suppression device 2. The echo suppression device 2 mainly includes a reference signal adjustment unit 10B, a linear echo suppression unit 20B, and a nonlinear echo suppression unit 30.
[0090] 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 processing performed by the reference signal adjustment unit 10B is the same as that of the reference signal adjustment unit 10, but is different from the reference signal adjustment unit 10 in that the processing is performed continuously.
[0091] The linear echo suppression unit 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 suppression unit 20B mainly includes a filter generation unit 21B, a filter correction unit 22B, and an echo removal unit 23A.
[0092] The filter generator 21B is a functional unit that continuously obtains the convergence value of the adaptive filter based on the delayed reference signal continuously generated by the reference signal adjuster 10B. The filter generator 21B performs the same processing as the filter generator 21, but differs from the filter generator 21 in that the processing is performed continuously.
[0093] The filter modification unit 22B is a functional unit that continuously modifies the adaptive filter continuously generated by the filter generation unit 21B. The filter modification unit 22B performs the same processing as the filter modification unit 22, but differs therefrom in that the processing is performed continuously.
[0094] The echo removal unit 23A is a functional unit that removes echoes from an input signal picked up by the microphone 51. The adaptive filter corrected by the filter correction unit 22B is continuously input to the echo removal unit 23A, and the echo is removed using the continuously input adaptive filter. The processing performed by the echo removal unit 23A is different from the processing performed by the echo removal unit 23 using an adaptive filter, but the other parts are the same. The signal output from the echo removal unit 23A is input to the nonlinear echo suppression unit 30.
[0095] Figure 7 : is a flowchart showing the flow of processing performed by the echo suppression device 2. The echo suppression device 2 continuously performs learning processing (step S1), echo removal processing (step S7), and signal output processing (step S8) while operating and acquiring reference signals, for example, during a call.
[0096] According to the present embodiment, the echo suppression device 2 continuously performs learning processing, that is, processing to modify the adaptive filter while operating and acquiring reference signals, and uses the continuously modified adaptive filter to perform echo removal. Therefore, even if the echo path changes during use, the echo can be appropriately removed.
[0097] <Third Embodiment>
[0098] The echo suppression device 2 according to the second embodiment of the present invention continuously performs the learning process (modification of the adaptive filter), but may stop the modification of the adaptive filter under a specific condition.
[0099] The echo suppression device 3 according to the third embodiment of the present invention is a method of stopping the correction of the adaptive filter in the case of double talk. Hereinafter, the echo suppression device 3 will be described mainly with respect to the parts different from the first embodiment and the second embodiment. In the following description, the same reference numerals are given to the same structures as those in the first embodiment and the second embodiment, and the description thereof will be omitted.
[0100] Figure 8 2 is a block diagram showing a schematic configuration of the echo suppression device 3. The echo suppression device 2 mainly includes a reference signal adjustment unit 10C, a linear echo suppression unit 20C, a nonlinear echo suppression unit 30, and a double talk detection unit 40.
[0101] 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 one-way talk state or a two-way talk state. Here, the so-called one-way talk refers to a state in which one of the user A and the user B speaks and the signal is transmitted in one of the transmission side signal path and the reception side signal path (near-end talk or far-end talk). The so-called double talk refers to a state in which both the user A and the user B speak and the signal is transmitted in both the transmission side signal path and the reception side signal path (near-end talk and far-end talk).
[0102] The double talk detection unit 40 compares the value of the power spectrum of the reference signal with the value of the power spectrum of the input signal for each frequency band, and detects whether the double talk state is in place based on the comparison result. For example, the double talk detection unit 40 holds a frequency mask that obtains the maximum value of the power spectrum of the signal transmitted in the transmitting side signal path when only the sound output from the speaker 52 is input to the microphone 51, and compares the value of the power spectrum of the input signal picked up by the microphone 51 with the value of the frequency mask for each frequency band. When the number of frequency bands where the value of the input signal exceeds the value of the frequency mask is greater than or equal to a certain value, it is detected that the sound is input from the microphone 51 and the signal is being transmitted in the transmitting side signal path (there is near-end talk). In addition, for example, the double talk detection unit 40 compares the value of the power spectrum of the reference signal with the value of the frequency mask for each frequency band. When the number of frequency bands where the value of the reference signal exceeds the value of the frequency mask is greater than or equal to a certain value, it is detected that the signal is being transmitted in the receiving side signal path (there is far-end talk).
[0103] However, the double talk detection unit 40 may detect whether the state is a one-way talk state or a double talk state by using other well-known various methods.
[0104] The detection result of 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 a reference signal when the double talk state is not in progress, and continuously generates a delayed reference signal based on the reference signal. The process of continuously generating a delayed reference signal by the reference signal adjustment unit 10C is the same as that of the reference signal adjustment unit 10B, and thus the description thereof is omitted. The delayed reference signal generated by the reference signal adjustment unit 10C is input to the linear echo suppression unit 20C.
[0105] The linear echo suppression unit 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 suppression unit 20B mainly includes a filter generation unit 21C, a filter correction unit 22C, and an echo removal unit 23B.
[0106] The filter generator 21C is a functional unit that obtains convergence values of multiple adaptive filters based on the delayed reference signal when the delayed reference signal is generated by the reference signal adjuster 10C. The process of the filter generator 21C to continuously obtain the convergence values of the adaptive filters is the same as that of the filter generator 21B, so the description is omitted.
[0107] The filter modification unit 22C is a functional unit that modifies the adaptive filter generated by the filter generation unit 21B when the filter generation unit 21C generates a plurality of adaptive filters. The process of modifying the adaptive filter by the filter modification unit 22C is the same as that of the filter modification unit 22B, and thus description thereof is omitted.
[0108] The echo removal unit 23B is a functional unit that removes echoes from an input signal picked up by the microphone 51. In the case where the adaptive filter corrected by the filter correction unit 22B is input to the echo removal unit 23B, the input adaptive filter is used to remove the echo, and in the case where the adaptive filter corrected by the filter correction unit 22B is not input, the adaptive filter last (just) input from the filter correction unit 22B is used to remove the echo. 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 only needs to update the adaptive filter stored in the functional unit whenever an adaptive filter is input from the filter correction unit 22B, and use the adaptive filter stored in the functional unit to remove the echo from the input signal. The processing of the echo removal unit 23B is already known, so the description is omitted. The signal output from the echo removal unit 23B is input to the nonlinear echo suppression unit 30.
[0109] Fig. 9: is a flowchart showing the flow of processing performed by the echo suppression device 3. While the echo suppression device 3 is operating and acquiring a reference signal, for example, during a call, the double talk detection unit 40 detects whether the call is in a one-way talk state or a double talk state (step S10).
[0110] If the double talk detection unit 40 does not detect a double talk state (No in step S10), a learning process (step S11) and an echo removal process (step S12) are performed. The process of step S11 is the same as that of step S1, so the description is omitted. In step S12, the echo removal is performed using the adaptive filter modified in the previous step S6.
[0111] When the double talk detection unit 40 detects that the double talk state is in progress (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 modified 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 the description thereof is omitted.
[0112] After the echo removal process (step S12), the signal output process (step S13) is performed. The process of step S13 is the same as step S8, so the description is omitted. After that, the process returns to step S10 and is repeated. Fig. 9 Processing shown.
[0113] According to this embodiment, when the double talk detection unit detects double talk, that is, when it is considered that there is too much interference to perform appropriate correction processing, the correction processing of the adaptive filter can be interrupted. In addition, by interrupting the correction processing of the adaptive filter when there is too much interference, the calculation load can be reduced.
[0114] In the present embodiment, the detection result of the double talk detection unit 40 is input to the reference signal adjustment unit 10C, but the detection result of the double talk detection unit 40 may be input to the filter generation unit 21C and the filter correction unit 22C. For example, when the detection result of the double talk detection unit 40 is input to the filter correction unit 22C, even in the case of double talk, the convergence value of the plurality of delayed reference signals and the adaptive filter is obtained, and the correction of the adaptive filter is stopped.
[0115] As mentioned above, although the embodiment of the present invention is described in detail with reference to the drawings, the specific structure is not limited to this embodiment, and design changes and the like within the scope not departing from the gist of the present invention are also included.
[0116] -Explanation of symbols-
[0117] 1, 1A, 2, 3: Echo suppression device
[0118] 10, 10A, 10B, 10C, 10-1, 10-n: reference signal adjustment unit
[0119] 20, 20A, 20B, 20C: Linear echo suppression unit
[0120] 21, 21A, 21B, 21C, 21-1, 21-n: filter generation unit
[0121] 22, 22A, 22B, 22C: Filter correction unit
[0122] 23, 23A, 23B: Echo removal unit
[0123] 30: Nonlinear echo suppression unit
[0124] 40: Two-way talk detection unit
[0125] 50: Terminal
[0126] 51: Microphone
[0127] 52: Speaker
[0128] 53: Communication device
[0129] 54: Communication device
[0130] 55: Speaker Amplifier
[0131] 100: Voice communication system
[0132] 531: Signal input terminal
[0133] 532: Signal output terminal.
Claims
1. An echo suppression device for removing echo from an input signal picked up by a microphone in a terminal having a speaker and a microphone, the echo suppression device comprising: a reference signal adjustment unit that generates a plurality of delayed reference signals by giving a plurality of different delay times to a reference signal transmitted in a reception-side signal path for transmitting a signal to the speaker; a filter generation unit, which obtains convergence values of a plurality of adaptive filters based on the plurality of delayed reference signals respectively; a filter correction unit that compares the plurality of convergence values and corrects the adaptive filter so that a first filter coefficient is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and The echo removing unit removes the linear echo by applying the adaptive filter modified by the filter modifying unit to the input signal.
2. The echo suppression device according to claim 1, wherein: The filter correction unit sets the first filter coefficient to zero.
3. The echo suppression device according to claim 1 or 2, wherein: The filter modification unit gradually decreases the first filter coefficient from the convergence value.
4. The echo suppression device according to any one of claims 1 to 3, wherein: The filter modification unit sets, as the first filter coefficient, a filter coefficient when the convergence value is equal to or greater than a threshold value, among elements that do not change in accordance with a change in the delay time.
5. The echo suppression device according to claim 4, wherein: The filter correction unit obtains the threshold value based on the convergence value.
6. The echo suppression device according to any one of claims 1 to 5, wherein: The reference signal adjustment unit continuously generates a plurality of delayed reference signals during a period of acquiring the reference signal. The filter generation unit continuously obtains a plurality of the convergence values. The filter modification unit continuously modifies the adaptive filter.
7. The echo suppression device according to claim 6, wherein: The echo suppression device includes a double talk detection unit, the double talk detection unit detecting whether a one-way talk state or a double talk state is present. When the double talk state is not detected, the reference signal adjustment unit generates a plurality of the delayed reference signals.
8. The echo suppression device according to any one of claims 1 to 5, wherein: The reference signal adjustment unit generates the delayed reference signal only once before the echo removal unit removes the linear echo.
9. An echo suppression method, comprising: A reference signal adjustment step of assigning a plurality of different delay times to a reference signal transmitted in a reception-side signal path for transmitting a signal to a speaker in a terminal having a speaker and a microphone, thereby generating a plurality of delayed reference signals; A filter generation step, obtaining convergence values of a plurality of adaptive filters based on the plurality of delayed reference signals respectively; a filter correction step of comparing the plurality of convergence values and correcting the adaptive filter so that a first filter coefficient is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and The echo removal step removes the linear echo by applying the adaptive filter modified by the filter modification step to the input signal picked up by the microphone.
10. An echo suppression program causing a computer to function as follows: A reference signal adjustment unit that generates a plurality of delayed reference signals by giving a plurality of different delay times to a reference signal transmitted in a reception-side signal path for transmitting a signal to a speaker of a terminal having a speaker and a microphone; a filter generation unit, which obtains convergence values of a plurality of adaptive filters based on the plurality of delayed reference signals respectively; a filter correction unit that compares the plurality of convergence values and corrects the adaptive filter so that a first filter coefficient is smaller than the convergence value, the first filter coefficient being a filter coefficient for an element that does not change according to a change in the delay time; and The echo removal unit removes the linear echo by applying the adaptive filter modified by the filter modification unit to the input signal collected by the microphone.
Citation Information
Patent Citations
Echo canceller apparatus and its method
JP2010011265A