Echo cancellation method and device, storage medium and computer equipment

By performing dual-talk detection and adaptive filtering algorithm processing on the collected signals during the call, and generating and echo signals are generated and eliminated, the problem of the nonlinear distortion of speakers in the prior art is solved, and the quality of voice communication is improved.

CN119274567APending Publication Date: 2025-01-07SHENZHEN Y&Z TECH CORP
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411637534.5
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-11-15
Publication Date
2025-01-07

AI Technical Summary

Technical Problem

Existing echo cancellation systems are unable to effectively handle the nonlinear distortion problem of speakers, resulting in the quality of voice communication.

Method used

During the call, by acquiring the acquired signal for double-talk detection, based on the preset adaptive filtering algorithm and remote voice signal, the echo signal in the collected signal is generated and eliminated, and the filter coefficients are iteratively optimized to reduce the Error until preset conditions are met.

Benefits of technology

Effectively eliminates echoes in the collected signal, improves the quality of voice communication, and enhances the clarity and comfort of calls.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119274567A_ABST
    Figure CN119274567A_ABST
Patent Text Reader

Abstract

The invention discloses an echo cancellation method and device, a storage medium and computer equipment. The method comprises the following steps: acquiring an acquisition signal in a call process; carrying out double-talk detection on the acquired signal; when it is detected that the acquisition signal comprises a near-end voice signal and a far-end voice signal, generating an echo signal of the acquisition signal based on a preset adaptive filtering algorithm and the far-end voice signal; and eliminating the echo of the acquisition signal based on the echo signal. According to the scheme, the quality of voice communication can be improved.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to the field of computer technology, and in particular to an echo cancellation method, device, storage medium and computer equipment. Background Art

[0002] With the continuous development of voice signal processing technology, users have higher and higher requirements for voice quality. If there is echo in the voice, it will seriously affect the voice quality. The principle of echo generation: the voice signal is played in the speaker and reflected multiple times in a closed or semi-closed environment, causing signal distortion. Finally, it is collected by the microphone together with the local voice to form an echo.

[0003] In order to eliminate the impact of echo on voice quality, the traditional echo elimination method is mainly to directly perform echo elimination on the voice signal collected by the microphone through the echo cancellation system. However, the above echo cancellation method cannot solve the nonlinear distortion problem of the speaker. The nonlinear distortion of the speaker is manifested as: many additional distortion signals that are not the original voice signals appear in the sound output by the speaker. The distortion signal is a nonlinear distortion signal caused by the nonlinear distortion of the speaker. The existing echo cancellation system cannot effectively process the nonlinear distortion signal, thereby affecting the quality of voice communication. Summary of the invention

[0004] Based on this, the present application provides an echo cancellation method, apparatus, storage medium and computer equipment, which can improve the quality of voice communication.

[0005] In a first aspect, an embodiment of the present application provides an echo cancellation method, comprising:

[0006] Acquire the acquisition signal during the call;

[0007] Performing double-talk detection on the collected signal;

[0008] When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal;

[0009] The echo of the collected signal is eliminated based on the echo signal.

[0010] Optionally, in some embodiments of the present application, when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal includes:

[0011] When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, obtaining a preset adaptive filtering algorithm;

[0012] Determining an initial filter corresponding to the adaptive filtering algorithm;

[0013] An echo signal of the collected signal is generated based on the filter coefficient corresponding to the initial filter and the far-end voice signal.

[0014] Optionally, in some embodiments of the present application, generating the echo signal of the collected signal based on the initial weight coefficient corresponding to the initial filter and the far-end voice signal includes:

[0015] Calculating the product of the initial weight coefficient corresponding to the initial filter and the far-end voice signal to obtain an analog signal;

[0016] A difference between the analog signal and the acquisition signal is calculated, and an echo signal of the acquisition signal is generated based on the difference.

[0017] Optionally, in some embodiments of the present application, calculating the difference between the analog signal and the acquisition signal, and generating the echo signal of the acquisition signal based on the difference, includes:

[0018] Determine the currently calculated analog signal as the current processing object, and calculate the difference between the current processing object and the collected signal;

[0019] Update the filter coefficients based on a preset algorithm to obtain updated filter coefficients;

[0020] Calculating the product of the updated filter coefficient and the far-end voice signal to obtain an updated analog signal, and determining the updated analog signal as a current processing object;

[0021] Returning to the step of calculating the difference between the current processing object and the collected signal until the difference meets a preset condition;

[0022] An analog signal corresponding to a difference satisfying a preset condition is determined as a target analog signal, and a filter coefficient corresponding to the target analog signal is used as an echo signal of the collected signal.

[0023] Optionally, in some embodiments of the present application, the eliminating the echo of the acquisition signal based on the echo signal includes:

[0024] The echo signal is filtered out from the collected signal to eliminate the echo of the collected signal.

[0025] Optionally, in some embodiments of the present application, performing double-talk detection on the collected signal includes:

[0026] Filtering non-speech signals from the collected signal to obtain a filtered collected signal;

[0027] The filtered collected signal is subjected to time-frequency feature analysis to perform double talk detection on the collected signal.

[0028] Optionally, in some embodiments of the present application, after eliminating the echo of the acquisition signal based on the echo signal, the method further includes:

[0029] Suppress the collected signal after echo removal based on a noise suppression algorithm to obtain a processed collected signal;

[0030] The gain of the processed collected signal is adjusted.

[0031] In a second aspect, an embodiment of the present application further provides an echo cancellation device, comprising:

[0032] An acquisition module, used to acquire a collection signal during a call;

[0033] A detection module, used for performing double-talk detection on the collected signal;

[0034] A generating module, configured to generate an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal;

[0035] The elimination module is used to eliminate the echo of the collected signal based on the echo signal.

[0036] In a third aspect, an embodiment of the present application provides a computer-readable storage medium storing a computer program. When the computer program is executed by a processor, the processor performs the steps of the above-mentioned echo cancellation method.

[0037] In a fourth aspect, an embodiment of the present application provides a computer device, including a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the above-mentioned echo cancellation method.

[0038] The embodiment of the present application provides an echo cancellation method, apparatus, storage medium and computer equipment, which obtain a collection signal during a call, perform double talk detection on the collection signal, and when it is detected that the collection signal includes a near-end voice signal and a far-end voice signal, generate an echo signal of the collection signal based on a preset adaptive filtering algorithm and the far-end voice signal, and finally eliminate the echo of the collection signal based on the echo signal. In the echo cancellation scheme provided by the present application, when it is detected that the collection signal includes a near-end voice signal and a far-end voice signal, generate an echo signal of the collection signal based on a preset adaptive filtering algorithm and the far-end voice signal, thereby eliminating the echo in the collection signal and improving the quality of voice communication. BRIEF DESCRIPTION OF THE DRAWINGS

[0039] In order to more clearly illustrate the embodiments of the present application or the technical solutions in the prior art, the drawings required for use in the embodiments or the description of the prior art will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without paying creative work.

[0040] in:

[0041] Figure 1 is a flow chart of the echo cancellation method provided by an embodiment of the present application;

[0042] Figure 2 is a schematic diagram of the structure of an echo cancellation device provided in an embodiment of the present application;

[0043] Figure 3 is another structural schematic diagram of the echo cancellation device provided in an embodiment of the present application;

[0044] Figure 4 It is a structural schematic diagram of the computer device provided by this application. DETAILED DESCRIPTION

[0045] The following will be combined with the drawings in the embodiments of the present application to clearly and completely describe the technical solutions in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, all other embodiments obtained by ordinary technicians in this field without creative work are within the scope of protection of this application.

[0046] The present application provides an echo cancellation method, apparatus, storage medium and computer equipment.

[0047] Among them, the echo elimination device provided by the present application can be integrated in a computer device, and the computer device can be directly or indirectly connected to the computer device through wired or wireless communication. The computer device can be a smart phone, a tablet computer, a laptop computer, a desktop computer, a smart speaker or a smart watch, etc., but is not limited to this. In addition, the computer device can also be connected to a server. The server can be an independent physical server, or a server cluster or distributed system composed of multiple physical servers. It can also be a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, CDN, and big data and artificial intelligence platforms. This application does not limit this.

[0048] The present application discloses an echo cancellation method, comprising: obtaining a collection signal during a call; performing double-talk detection on the collection signal; when it is detected that the collection signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collection signal based on a preset adaptive filtering algorithm and the far-end voice signal; and eliminating the echo of the collection signal based on the echo signal.

[0049] See also Figure 1 , Figure 1 This is a flow chart of the echo cancellation method provided in this application. The specific flow of the echo cancellation method can be as follows:

[0050] 101. Acquire the acquisition signal during the call.

[0051] Among them, the collected signal usually refers to the sound signal captured by the microphone. This signal contains multiple components, including: Near-end voice signal: the voice of the near-end speaker, which is the main signal transmitted in the communication. Far-end voice signal: the voice of the far-end speaker is played through the speaker. If this part of the sound is captured by the near-end microphone, it will form an echo. Echo signal: the signal formed by the far-end voice signal being captured again by the near-end microphone after the acoustic effects such as reflection and absorption inside the room. Noise signal: includes background noise and other non-voice signals, such as environmental sound, electronic noise, etc.

[0052] The way to obtain the acquisition signal is as follows:

[0053] Use appropriate microphones to capture sound. Depending on the application scenario, different types of microphones can be selected, such as directional microphones, omnidirectional microphones, array microphones, etc. However, the collected sound signals are usually weak and need to be amplified by a preamplifier for subsequent processing. The process of converting analog sound signals into digital signals so that they can be processed by a computer or a digital signal processor (DSP) is called analog-to-digital conversion; the digital signal is further processed using a DSP or software algorithm, such as noise reduction, gain control, echo cancellation, etc.; if multiple microphones are used, the signal of each channel needs to be processed separately, and processing such as sound source localization or beamforming may be required; in a multi-microphone system, ensure that the signals collected by all microphones are synchronized in time for subsequent processing.

[0054] 102. Perform double-talk detection on the collected signal.

[0055] Double-Talk Detection (DTD) is an important part of the acoustic echo cancellation (AEC) system. Its function is to detect whether the near-end and far-end speakers are talking at the same time during a call, that is, the "double talk" situation. Double-talk detection can be performed in the following ways:

[0056] Energy detection: Determines whether someone is speaking by comparing the signal energy received by the near-end microphone with the preset threshold.

[0057] Voice Activity Detection (VAD): Uses a voice activity detection algorithm to identify whether the near-end microphone signal contains speech.

[0058] Signal statistical characteristics analysis: Analyze the statistical characteristics of the signal, such as spectral subtraction, to distinguish speech from noise.

[0059] Machine Learning: Apply machine learning algorithms to identify double-talk situations by training models.

[0060] Optionally, in some embodiments of the present application, the step of “performing double-talk detection on the collected signal” may specifically include:

[0061] Filtering non-speech signals from the collected signal to obtain a filtered collected signal;

[0062] The time-frequency characteristics of the collected signal after filtering are analyzed to perform double-talk detection on the collected signal.

[0063] The initially acquired signal may contain speech and non-speech components, such as background noise, electronic interference, etc. A bandpass filter or other signal processing technique is used to remove non-speech frequency components from the acquired signal. This usually means retaining the frequency range of human speech (e.g., 300 Hz to 3400 Hz) and filtering out other frequencies.

[0064] After filtering, we get a signal that mainly contains speech components.

[0065] Apply time-frequency analysis techniques (such as short-time Fourier transform STFT, wavelet transform, etc.) to extract the time-frequency characteristics of the filtered signal. This helps to identify the frequency components of different time periods in the signal.

[0066] Use time-frequency features to detect whether there is double talk in the signal, that is, the situation where the near-end and far-end speakers speak at the same time. Double talk detection algorithms may include energy detection, spectrum separation, or more advanced machine learning techniques.

[0067] In the time-frequency domain, speech signals are usually represented by frequency bands with concentrated energy, while non-speech signals may be represented by noise scattered throughout the spectrum. If an abnormal increase in energy is detected in the frequency band of the near-end speech signal and occurs simultaneously with the far-end speech signal, this may indicate the presence of double talk. Once double talk is detected, the system may need to adjust the processing strategy, such as pausing or reducing the update of the adaptive filter to avoid over-suppressing the near-end speech. The detected double talk periods are marked so that the signals in these periods can be specially processed in subsequent processing. The signals that have been detected and processed by double talk are output to provide a basis for subsequent echo cancellation and noise suppression.

[0068] 103. When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, an echo signal of the collected signal is generated based on a preset adaptive filtering algorithm and the far-end voice signal.

[0069] First, double talk detection is used to confirm that both the near-end and far-end speakers are speaking at the same time. Then, the far-end speech signal is obtained from the call network. This signal is the voice of the far-end speaker and has been played by the near-end speaker. Then, a preset adaptive filtering algorithm, such as the least mean square error (LMS) algorithm or the recursive least squares (RLS) algorithm, is used to adjust the filter coefficients. The adaptive filter attempts to estimate the echo path from the near-end speaker to the near-end microphone. This involves adjusting the filter coefficients so that the output of the filter approximates the actual echo signal. Then, the far-end speech signal and the estimated echo path are used to generate an echo signal of the collected signal, and the generated echo signal is subtracted from the collected signal to obtain an error signal. The error signal represents the difference between the filter output and the actual echo. Then, the error signal is used to update the filter coefficients so that the echo signal can be estimated more accurately in the next iteration.

[0070] Optionally, in some embodiments of the present application, the step of “when detecting that the collected signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal” may specifically include:

[0071] When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, a preset adaptive filtering algorithm is obtained;

[0072] Determine an initial filter corresponding to the adaptive filtering algorithm;

[0073] An echo signal of the collected signal is generated based on the filter coefficients corresponding to the initial filter and the far-end voice signal.

[0074] For example, the echo cancellation system or echo cancellation device can select a preset adaptive filtering algorithm. For example, based on the least mean squares (LMS) algorithm, or other algorithms, such as the recursive least squares (RLS) algorithm. According to the selected algorithm, the echo cancellation system or echo cancellation device determines an initial filter. This initial filter will serve as the basis for the algorithm to start iterative optimization. The initial filter has a set of initial coefficients, which can be random or specific values ​​set based on previous experience. The echo cancellation system or echo cancellation device uses the far-end speech signal as a reference signal. This signal represents the voice of the far-end speaker, which is transmitted through the communication network and played by the near-end speaker. The echo cancellation system or echo cancellation device combines the initial filter coefficients and the far-end speech signal to generate an estimated echo signal, which is achieved by passing the far-end speech signal through the initial filter. The echo cancellation system or echo cancellation device calculates the difference between the collected signal and the generated echo signal. This difference represents the accuracy of the current echo estimation. According to the error signal and the adaptive filtering algorithm, the output is an echo signal closer to the actual one.

[0075] For example, specifically, in a telephone conference system (hereinafter referred to as the system), the system uses an adaptive filter to eliminate echo. The microphone at the end captures a mixed signal, including the voice of the near-end speaker (near-end voice signal) and the voice of the far-end speaker played through the speaker (far-end voice signal). The system detects that the near-end and far-end speakers are speaking at the same time and confirms that echo cancellation is required. The system selects an adaptive filtering algorithm, such as the LMS algorithm, to adjust the filter coefficients. The system initializes a filter with a set of random or preset coefficients. The system uses the far-end voice signal received from the far-end communication device as a reference. The system calculates the difference between the collected signal and the estimated echo signal to obtain an error signal. Finally, the system generates an echo signal of the collected signal based on the error signal, that is, optionally, in some embodiments of the present application, the step of "generating an echo signal of the collected signal based on the initial weight coefficient corresponding to the initial filter and the far-end voice signal" may specifically include:

[0076] Calculate the product of the initial weight coefficient corresponding to the initial filter and the far-end voice signal to obtain an analog signal;

[0077] The difference between the analog signal and the acquisition signal is calculated, and an echo signal of the acquisition signal is generated based on the difference.

[0078] It should be noted that the initial filter uses the far-end speech signal to generate an estimated echo signal. Since the initial coefficients may be inaccurate, this estimate may have errors. The system calculates the difference between the collected signal and the estimated echo signal to obtain an error signal. According to the error signal, the system adjusts the filter coefficients to reduce the error. In the LMS algorithm, it involves multiplying the far-end speech signal with the error signal, and then updating the coefficients. The system iterates continuously, and the echo signal is regenerated each time using the updated coefficients. The system iterates continuously, and the echo signal is regenerated each time using the updated coefficients, and a new error signal is calculated to further adjust the coefficients. If the acoustic environment changes (such as someone moves the speaker or microphone), the adaptive filter can be adjusted to adapt to these changes. After multiple iterations, the filter coefficients are optimized, and the system can generate an accurate echo signal estimate. This estimated echo signal is subtracted from the collected signal to achieve echo cancellation, that is, optionally, in some embodiments of the present application, the step of "calculating the difference between the analog signal and the collected signal, and generating an echo signal of the collected signal based on the difference" can specifically include:

[0079] Update the filter coefficients based on a preset algorithm to obtain updated filter coefficients;

[0080] Calculating the product of the updated filter coefficient and the far-end voice signal to obtain an updated analog signal, and determining the updated analog signal as a current processing object;

[0081] Return to the step of calculating the difference between the current processing object and the collected signal until the difference meets the preset condition;

[0082] The analog signal corresponding to the difference satisfying the preset condition is determined as the target analog signal, and the filter coefficient corresponding to the target analog signal is used as the echo signal of the collected signal.

[0083] For example, according to the algorithm, the new input signal and the error signal are used to update the coefficients of the filter. The updated filter coefficients are used to perform convolution or product operations with the far-end voice signal to generate an updated analog signal. The difference between the current processing object (updated analog signal) and the actual collected signal is calculated, and this difference represents the accuracy of the current estimate. If the difference does not meet the preset conditions (for example, the mean square error is less than a certain threshold), return to continue updating the filter coefficients. When the difference meets the preset conditions, it is considered that the current analog signal is close enough to the actual echo signal. The analog signal that meets the conditions is determined as the target analog signal, which means that it is an accurate echo signal estimate. The filter coefficients corresponding to the target analog signal are used to represent the echo component in the collected signal. The target analog signal is subtracted from the collected signal to eliminate the echo and obtain a clear near-end voice signal.

[0084] As can be seen, the above process is iterative. In each iteration, the system updates the filter coefficients based on the new error signal to gradually improve the accuracy of the echo estimation. The adaptive filter can adapt to changes in the acoustic environment, such as room size, shape, materials, etc., as well as changes in the relative position of the sound source and the microphone. After multiple iterations, the system generates a more accurate echo signal, which can be used to subtract from the acquired signal to eliminate the echo.

[0085] In the video conference scenario, the voice of the far-end speaker is played through the near-end speaker, while the voice of the near-end speaker needs to be captured by the near-end microphone and transmitted back to the far-end. If echo cancellation is not performed, the far-end speaker will hear his own voice delayed back, which is an acoustic echo. In an embodiment of the present application, the near-end microphone captures a mixed signal, including a near-end voice signal and the sound (echo) played through the far-end speaker. The system detects that the near-end and far-end speakers are speaking at the same time and confirms that echo cancellation is required. Select an adaptive filtering algorithm (such as LMS or RLS) and initialize the filter coefficients. Obtain the far-end voice signal from the call network as a reference signal. Use the preset adaptive filtering algorithm to update the filter coefficients based on the collected signal and the far-end voice signal. Use the updated filter coefficients to perform a product operation with the far-end voice signal to generate a simulated echo signal. Calculate the difference between the simulated echo signal and the collected signal, which represents the accuracy of the current echo estimation. If the difference does not meet the preset conditions, the filter coefficients are continuously updated. When the difference meets the preset condition, the echo signal is subtracted from the collected signal to eliminate the echo and obtain a clear near-end speech signal. The signal processed by echo cancellation is output, which should now contain only near-end speech without far-end echo.

[0086] Through this process, the far-end speaker in a video conference no longer hears his or her own echo, thereby improving the clarity and comfort of the call.

[0087] The echo signal is filtered out from the collected signal to eliminate the echo of the collected signal.

[0088] After the echo is successfully eliminated, the collected signal may still contain background noise or other unwanted signal components. A noise suppression algorithm is applied to reduce or eliminate the remaining noise. Moreover, since the noise suppression process may reduce the amplitude of the speech signal, the gain of the processed collected signal needs to be adjusted to ensure the loudness and intelligibility of the signal. That is, optionally, in some embodiments of the present application, after the step of “eliminating the echo of the collected signal based on the echo signal”, the following may be specifically included:

[0089] Suppress the collected signal after echo removal based on a noise suppression algorithm to obtain a processed collected signal;

[0090] Adjust the gain of the acquired signal after processing.

[0091] For example, in a noisy office environment, a conference call may still contain air conditioning noise and keyboard tapping sounds in the collected signal after echo cancellation. Based on the noise suppression algorithm, the system analyzes and distinguishes these noise components and removes them from the signal. Since noise suppression may reduce the loudness of the speech, the system then automatically adjusts the gain of the signal to ensure that the speech remains clear and easy to understand.

[0092] This process improves the quality of communication, allowing participants to focus more on the conversation rather than background noise or signal distortion. In this way, adaptive filters, noise suppression algorithms, and gain adjustment work together to achieve high-quality audio communication.

[0093] The above completes the echo cancellation process of this application.

[0094] As described above, the present application provides an echo cancellation method, which performs double-talk detection on the collected signal after acquiring the collected signal during a call, and generates an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, and finally eliminates the echo of the collected signal based on the echo signal. In the echo cancellation scheme provided by the present application, when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, an echo signal of the collected signal is generated based on a preset adaptive filtering algorithm and the far-end voice signal, thereby eliminating the echo in the collected signal and improving the quality of voice communication.

[0095] Accordingly, see Figure 2 The present application embodiment provides an echo cancellation device (hereinafter referred to as a placement device), which includes an acquisition module 201, a detection module 202, a generation module 203 and an elimination module 204, which are specifically as follows:

[0096] The acquisition module 201 is used to acquire the acquisition signal during the call.

[0097] The detection module 202 is used to perform double-talk detection on the collected signal.

[0098] Optionally, in some embodiments of the present application, the detection module 202 can be specifically used to: filter out non-speech signals in the collected signal to obtain a filtered collected signal; perform time-frequency feature analysis on the filtered collected signal to perform double-talk detection on the collected signal.

[0099] The generating module 203 is used to generate an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal.

[0100] Optionally, in some embodiments of the present application, the generating module 203 may specifically include:

[0101] An acquisition unit, configured to acquire a preset adaptive filtering algorithm when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal;

[0102] A determination unit, used to determine an initial filter corresponding to the adaptive filtering algorithm;

[0103] The generating unit is used to generate an echo signal of the collected signal based on the filter coefficient corresponding to the initial filter and the far-end voice signal.

[0104] Optionally, in some embodiments of the present application, the generating unit may specifically include:

[0105] A first calculation subunit, used for calculating the product between the initial weight coefficient corresponding to the initial filter and the far-end voice signal to obtain an analog signal;

[0106] The second calculation subunit is used to calculate the difference between the analog signal and the collected signal, and generate an echo signal of the collected signal based on the difference.

[0107] Optionally, in some embodiments of the present application, the second calculation subunit can be specifically used to: determine that the currently calculated analog signal is the current processing object, and calculate the difference between the current processing object and the collected signal; update the filter coefficient based on a preset algorithm to obtain the updated filter coefficient; calculate the product between the updated filter coefficient and the far-end voice signal to obtain the updated analog signal, and determine that the updated analog signal is the current processing object; return to execute the step of calculating the difference between the current processing object and the collected signal until the difference meets the preset condition; determine that the analog signal corresponding to the difference that meets the preset condition is the target analog signal, and set the filter coefficient corresponding to the target analog signal as the echo signal of the collected signal.

[0108] The elimination module 204 is used to eliminate the echo of the collected signal based on the echo signal.

[0109] Optionally, in some embodiments of the present application, the elimination module 204 may be specifically configured to filter out the echo signal from the collected signal to eliminate the echo of the collected signal.

[0110] Optionally, in some embodiments of the present application, please refer to Figure 3The echo cancellation device of the present application also includes an adjustment module 205, which can be specifically used to: suppress the collected signal after echo removal based on a noise suppression algorithm to obtain a processed collected signal; and adjust the gain of the processed collected signal.

[0111] As described above, the present application provides an echo cancellation device. After the acquisition module 201 acquires the collected signal during a call, the detection module 202 performs double-talk detection on the collected signal. When the generation module 203 detects that the collected signal includes a near-end voice signal and a far-end voice signal, it generates an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal. Finally, the elimination module 204 eliminates the echo of the collected signal based on the echo signal. In the echo cancellation scheme provided in the present application, when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, an echo signal of the collected signal is generated based on a preset adaptive filtering algorithm and the far-end voice signal, thereby eliminating the echo in the collected signal and improving the quality of voice communication.

[0112] In addition, the present application also provides a computer device, such as Figure 4 , which shows a schematic diagram of the structure of the computer device involved in the present application. Specifically, the computer device may include one or more processing core processors 301, one or more computer-readable storage media memories 302, a power supply 303, an input unit 304 and other components. Those skilled in the art can understand that Figure 4 The computer device structure shown in the figure does not constitute a limitation on the computer device, and may include more or fewer components than shown in the figure, or combine certain components, or arrange the components differently. Among them:

[0113] The processor 301 is the control center of the computer device. It uses various interfaces and lines to connect various parts of the entire computer device. By running or executing software programs and / or modules stored in the memory 302 and calling data stored in the memory 302, it executes various functions of the computer device and processes data, thereby monitoring the computer device as a whole. Optionally, the processor 301 may include one or more processing cores; preferably, the processor 301 may integrate an application processor and a modem processor, wherein the application processor mainly processes the operating system, user interface, and application programs, and the modem processor mainly processes wireless communications. It is understandable that the above-mentioned modem processor may not be integrated into the processor 301.

[0114] The memory 302 can be used to store software programs and modules. The processor 301 executes various functional applications and data processing by running the software programs and modules stored in the memory 302. The memory 302 may mainly include a program storage area and a data storage area, wherein the program storage area may store an operating system, an application required for at least one function (such as a sound playback function, an image playback function, etc.), etc.; the data storage area may store data created according to the use of the computer device, etc. In addition, the memory 302 may include a high-speed random access memory, and may also include a non-volatile memory, such as at least one disk storage device, a flash memory device, or other volatile solid-state storage devices. Accordingly, the memory 302 may also include a memory controller to provide the processor 301 with access to the memory 302.

[0115] The computer device also includes a power supply 303 for supplying power to various components. Preferably, the power supply 303 can be logically connected to the processor 301 through a power management system, so as to manage charging, discharging, and power consumption through the power management system. The power supply 303 can also include any components such as one or more DC or AC power supplies, recharging systems, power failure detection circuits, power converters or inverters, and power status indicators.

[0116] The computer device may further include an input unit 304, which may be used to receive input digital or character information and generate keyboard, mouse, joystick, optical or trackball signal input related to user settings and function control.

[0117] Although not shown, the computer device may further include a display unit, etc., which will not be described in detail herein. Specifically in this embodiment, the processor 301 in the computer device will load the executable files corresponding to the processes of one or more application programs into the memory 302 according to the following instructions, and the processor 301 will run the application programs stored in the memory 302, thereby realizing various functions, as follows:

[0118] Acquire location information and tableware information of clothes to be sorted, as well as spatial information of a target space; construct a spatial association relationship between clothes to be sorted based on the location information and tableware information of clothes to be sorted; determine a placement strategy for clothes to be sorted based on the spatial association relationship; and control a robotic arm to place the clothes to be sorted according to the placement strategy.

[0119] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.

[0120] After acquiring the collected signal during a call, the embodiment of the present application performs double-talk detection on the collected signal. When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, an echo signal of the collected signal is generated based on a preset adaptive filtering algorithm and the far-end voice signal. Finally, the echo of the collected signal is eliminated based on the echo signal. In the echo elimination scheme provided by the present application, when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, an echo signal of the collected signal is generated based on a preset adaptive filtering algorithm and the far-end voice signal, thereby eliminating the echo in the collected signal and improving the quality of voice communication.

[0121] A person of ordinary skill in the art will appreciate that all or part of the steps in the various methods of the above embodiments may be completed by instructions, or by controlling related hardware through instructions. The instructions may be stored in a computer-readable storage medium and loaded and executed by a processor.

[0122] To this end, the present application provides a storage medium in which a plurality of instructions are stored, and the instructions can be loaded by a processor to execute the steps in any echo cancellation method provided in the present application. For example, the instructions can execute the following steps:

[0123] Acquire a collection signal during a call; perform double-talk detection on the collection signal; when it is detected that the collection signal includes a near-end voice signal and a far-end voice signal, generate an echo signal of the collection signal based on a preset adaptive filtering algorithm and the far-end voice signal; and eliminate the echo of the collection signal based on the echo signal.

[0124] The specific implementation of the above operations can be found in the previous embodiments, which will not be described in detail here.

[0125] The storage medium may include: a read-only memory (ROM), a random access memory (RAM), a magnetic disk or an optical disk, etc.

[0126] Since the instructions stored in the storage medium can execute the steps in any echo cancellation method provided in the present application, the beneficial effects that can be achieved by any echo cancellation method provided in the present application can be achieved. Please refer to the previous embodiments for details, which will not be repeated here.

[0127] According to one aspect of the present application, a computer program product or a computer program is provided, the computer program product or the computer program comprising computer instructions, the computer instructions being stored in a computer-readable storage medium. A processor of a computer device reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the computer device executes the methods provided in the above-mentioned various optional implementations.

[0128] The above is a detailed introduction to an echo cancellation method, device, storage medium and computer equipment provided by the present application. Specific examples are used in this article to illustrate the principles and implementation methods of the present application. The description of the above embodiments is only used to help understand the method of the present application and its core idea. At the same time, for technical personnel in this field, according to the idea of ​​the present application, there will be changes in the specific implementation method and application scope. In summary, the content of this specification should not be understood as a limitation on the present application.

Claims

1. An echo cancellation method, characterized in that: include: Acquire the acquisition signal during the call; Performing double-talk detection on the collected signal; When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal; The echo of the collected signal is eliminated based on the echo signal.

2. The echo cancellation method according to claim 1, characterized in that: When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, generating an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal, comprises: When it is detected that the collected signal includes a near-end voice signal and a far-end voice signal, obtaining a preset adaptive filtering algorithm; Determining an initial filter corresponding to the adaptive filtering algorithm; An echo signal of the collected signal is generated based on the filter coefficient corresponding to the initial filter and the far-end voice signal.

3. The echo cancellation method according to claim 2, characterized in that: The step of generating an echo signal of the collected signal based on an initial weight coefficient corresponding to the initial filter and the far-end voice signal comprises: Calculating the product of the initial weight coefficient corresponding to the initial filter and the far-end voice signal to obtain an analog signal; A difference between the analog signal and the acquisition signal is calculated, and an echo signal of the acquisition signal is generated based on the difference.

4. The echo cancellation method according to claim 3, characterized in that: The calculating the difference between the analog signal and the acquisition signal, and generating an echo signal of the acquisition signal based on the difference, comprises: Determine the currently calculated analog signal as the current processing object, and calculate the difference between the current processing object and the collected signal; Update the filter coefficients based on a preset algorithm to obtain updated filter coefficients; Calculating the product of the updated filter coefficient and the far-end voice signal to obtain an updated analog signal, and determining the updated analog signal as a current processing object; Returning to the step of calculating the difference between the current processing object and the collected signal until the difference meets a preset condition; An analog signal corresponding to a difference satisfying a preset condition is determined as a target analog signal, and a filter coefficient corresponding to the target analog signal is used as an echo signal of the collected signal.

5. The echo cancellation method according to any one of claims 1 to 4, characterized in that: The step of eliminating the echo of the acquisition signal based on the echo signal comprises: The echo signal is filtered out from the collected signal to eliminate the echo of the collected signal.

6. The echo cancellation method according to any one of claims 1 to 4, characterized in that: The performing double-talk detection on the collected signal comprises: Filtering non-speech signals from the collected signal to obtain a filtered collected signal; The filtered collected signal is subjected to time-frequency feature analysis to perform double talk detection on the collected signal.

7. The echo cancellation method according to any one of claims 1 to 4, characterized in that: After eliminating the echo of the acquisition signal based on the echo signal, the method further includes: Suppress the collected signal after echo removal based on a noise suppression algorithm to obtain a processed collected signal; The gain of the processed collected signal is adjusted.

8. An echo cancellation device, characterized in that: include: An acquisition module, used to acquire a collection signal during a call; A detection module, used for performing double-talk detection on the collected signal; A generating module, configured to generate an echo signal of the collected signal based on a preset adaptive filtering algorithm and the far-end voice signal when it is detected that the collected signal includes a near-end voice signal and a far-end voice signal; The elimination module is used to eliminate the echo of the collected signal based on the echo signal.

9. A computer-readable storage medium storing a computer program, wherein when the computer program is executed by a processor, the processor is caused to perform the steps of the echo cancellation method according to any one of claims 1 to 7.

10. A computer device comprising a memory and a processor, wherein the memory stores a computer program, and when the computer program is executed by the processor, the processor executes the steps of the echo cancellation method according to any one of claims 1 to 7.