CN1780165A - Apparatus and method for echo cancellation - Google Patents
Apparatus and method for echo cancellation Download PDFInfo
- Publication number
- CN1780165A CN1780165A CN 200410091603 CN200410091603A CN1780165A CN 1780165 A CN1780165 A CN 1780165A CN 200410091603 CN200410091603 CN 200410091603 CN 200410091603 A CN200410091603 A CN 200410091603A CN 1780165 A CN1780165 A CN 1780165A
- Authority
- CN
- China
- Prior art keywords
- input signal
- end input
- module
- signal
- noise
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
Abstract
Description
技术领域technical field
本发明涉及语音传输技术领域,具体涉及一种回声消除装置和方法。The invention relates to the technical field of voice transmission, in particular to an echo cancellation device and method.
背景技术Background technique
在使用有线和无线通讯系统时,时常会听到回声,回声造成通信语音质量降低。回声实际上是经过一定延时后,通过可变滤波器处理后的声音。要提高语音质量,就必须在语音传输过程中进行回声消除的处理。回声按其产生原理,分为电学回声和声学回声。在公共交换电话网(PSTN,PublicSwitched Telephone Network)中由于转换器的“二-四线”混合引起的阻抗不匹配导致了接收信号的一小部分“泄漏”到发送路径上,这样远端在接收信号的同时又返回了一部分信号,因此说话者听到自己说话的回声,导致电学回声,也称为混合回声。源自接收器的声波,通过位于声音路径上的固体反射进入移动电话的麦克风,就形成声学回声。When using wired and wireless communication systems, echoes are often heard, which degrades the communication voice quality. The echo is actually a sound processed by a variable filter after a certain delay. To improve voice quality, echo cancellation must be performed during voice transmission. Echo is divided into electrical echo and acoustic echo according to its generation principle. In the Public Switched Telephone Network (PSTN, Public Switched Telephone Network), the impedance mismatch caused by the "two-four wire" mixing of the converter causes a small part of the received signal to "leak" into the transmission path, so that the far end The signal returns part of the signal at the same time, so the speaker hears the echo of his own speech, resulting in an electrical echo, also known as a hybrid echo. Acoustic echoes are formed when sound waves originating from the receiver are reflected by solids located in the sound path into the microphone of the mobile phone.
在有线通讯系统中,接收端既会产生电学回声,也会产生声学回声,但是由于接收器和麦克风之间的距离稍远,因此声学回声相对较弱,与电学回声相比可以忽略。In the wired communication system, the receiving end will generate both electrical echo and acoustic echo, but because the distance between the receiver and the microphone is slightly farther, the acoustic echo is relatively weak and can be ignored compared with the electrical echo.
在无线通讯系统中,由于不存在PSTN网络中的“二-四线”混合,因此,无线设备不会产生电学回声;但是,由于很多无线电话厂商没有遵从无线电话正式标准的规定:在移动电话接收器和麦克风之间应具有恰当的隔离措施,结果由于移动电话接收器和麦克风之间的距离很短,使得声学回声成了无线服务提供商亟需关心的一项事宜。In the wireless communication system, since there is no "two-four-wire" mixing in the PSTN network, the wireless equipment will not generate electrical echo; however, because many wireless phone manufacturers do not comply with the official standard of the wireless phone: Proper isolation between the receiver and microphone is required, and as a result, the short distance between the mobile phone receiver and microphone makes acoustic echo an urgent concern for wireless service providers.
此外,无线网络的语音压缩技术以及非线性语音的压缩算法引入了较长的处理延迟时间,往返延迟是回声反射所花费的时间,如果往返延迟超过10毫秒,人耳就会注意到回声的存在,导致语音质量下降。而语音压缩技术使得往返延迟大于200毫秒,因此在无线应用中,声学回声问题更加明显。In addition, the voice compression technology of wireless networks and the compression algorithm of nonlinear voice introduce a long processing delay time. The round-trip delay is the time it takes for the echo to reflect. If the round-trip delay exceeds 10 milliseconds, the human ear will notice the presence of the echo , causing voice quality to degrade. The voice compression technology makes the round-trip delay greater than 200 milliseconds, so in wireless applications, the acoustic echo problem is more obvious.
图1是移动通信系统中产生的回声示意图,图中同时示意了声学回声和电学回声。如图1所示,固定电话侧听到的回声即为移动电话侧产生的声学回声,移动电话侧听到的回声主要是电学回声。Fig. 1 is a schematic diagram of an echo generated in a mobile communication system, in which both an acoustic echo and an electrical echo are illustrated. As shown in Figure 1, the echo heard by the fixed phone side is the acoustic echo generated by the mobile phone side, and the echo heard by the mobile phone side is mainly the electrical echo.
回声消除器是一种在来自远端的信号在本地端设备发出回声后检测并消除其回声的装置。由于电学回声与源语音信号之间成简单的线性关系,所以电学回声消除器通常包含两个主要功能组件:自适应滤波器和减法器。具体处理过程如下:自适应滤波器监视接收路径并动态构建一个针对回声产生线路的数学模型,这个线路模型与接收路径上的语音流进行卷积,这样得到一个回声的估计值,并被输入给减法器,这就从发送路径线路中减去了回声的线性部分。An echo canceller is a device that detects and cancels the echo of the signal from the far end after it echoes at the local end device. Due to the simple linear relationship between the electrical echo and the source speech signal, an electrical echo canceller usually consists of two main functional components: an adaptive filter and a subtractor. The specific process is as follows: the adaptive filter monitors the receiving path and dynamically builds a mathematical model for the echo generating line. This line model is convolved with the voice stream on the receiving path, so that an estimated value of the echo is obtained and input to the Subtractor, this subtracts the linear portion of the echo from the transmit path line.
由于声学回声与源语音信号之间成非线性关系,因此不能将电学回声消除方法简单地应用在声学回声消除中,现有的声学回声消除一般都是用算法控制非线性处理器(NLP,Non-Linear Processor)实现的,图2是现有的声学回声消除装置,图中的Rin为远端输入AEC模块的信号即远端输入信号,Rout为远端输出声学回声控制器(AEC,Acoustic Echo Controller)模块的信号即远端输出信号,Sin为近端输入AEC模块的信号即近端输入信号,Sout为近端输出AEC模块的信号即近端输出信号,如图2所示,该装置包括以下模块:Due to the nonlinear relationship between the acoustic echo and the source speech signal, the electrical echo cancellation method cannot be simply applied to the acoustic echo cancellation. The existing acoustic echo cancellation generally uses algorithms to control nonlinear processors (NLP, Non -Linear Processor), Fig. 2 is an existing acoustic echo cancellation device, Rin in the figure is the far-end input signal of the AEC module, that is, the far-end input signal, and Rout is the far-end output acoustic echo controller (AEC, Acoustic Echo The signal of the Controller) module is the far-end output signal, Sin is the signal of the near-end input AEC module, that is, the near-end input signal, and Sout is the signal of the near-end output AEC module, that is, the near-end output signal. As shown in Figure 2, the device includes The following modules:
降噪模块201:用于对近端输入信号进行降噪处理,并将降噪后的近端输入信号输出到智能语音电平检测模块202和近端信号短时功率计算模块204。Noise reduction module 201 : used to perform noise reduction processing on the near-end input signal, and output the noise-reduced near-end input signal to the intelligent voice
智能语音电平检测模块202:用于检测静音状态时远端输入信号和近端输入信号的相对电平差异,并将该电平差输出到近端信号状态判断模块205;该模块同时检测远端输入信号和近端输入信号在非静音状态时的信号电平,并将远端和近端输入信号电平输出到近端信号状态判断模块205。Intelligent voice level detection module 202: for detecting the relative level difference between the far-end input signal and the near-end input signal when in the mute state, and output the level difference to the near-end signal
近端噪声阈值输入模块203:用于保存近端信号噪声阈值,并将近端信号噪声阈值输出到近端信号状态判断模块205。The near-end noise threshold input module 203 : used to save the near-end signal noise threshold, and output the near-end signal noise threshold to the near-end signal
近端信号短时功率计算模块204:用于计算近端输入信号的平滑短时功率,将近端输入信号的平滑短时功率输出到近端信号状态判断模块205。The near-end signal short-term power calculation module 204 : used to calculate the smooth short-term power of the near-end input signal, and output the smooth short-term power of the near-end input signal to the near-end signal
近端信号状态判断模块205:用于接收并保存近端噪声阈值输入模块203输出的近端信号噪声阈值,并通过比较近端输入信号短时功率计算模块204的输出和近端输入信号噪声阈值,判断近端输入信号是否为语音,如果前者大于后者,则近端输入信号为语音,将关闭指令输出到NLP模块210;否则,近端输入信号为非语音,则根据智能语音电平检测模块202输出的静音电平差修正远端和近端的静音电平差异,然后计算智能语音电平检测模块202输出的远端输入信号在纯时延时刻的信号电平与当前近端输入信号电平的差值,纯时延时刻即当前近端输入信号所处时刻减去纯时延所得到的时刻,如果该差值在预定范围内,则判定该近端输入信号为回声,将启动指令输出到NLP模块210,同时将该近端输入信号状态输出到自适应回声路径时延估计模块209;否则,判定近端输入信号为噪声,将关闭指令输出到自适应回声路径时延估计模块209。The near-end signal state judgment module 205: used to receive and save the near-end signal noise threshold output by the near-end noise
远端噪声阈值输入模块206:用于保存远端信号噪声阈值,并将远端信号噪声阈值输出到远端信号状态判断模块208。The far-end noise threshold input module 206 : used to save the far-end signal noise threshold, and output the far-end signal noise threshold to the far-end signal
远端信号短时功率计算模块207:用于接收远端输入信号,计算远端输入信号的平滑短时功率,并将其输出到远端信号状态判断模块208。Remote signal short-term power calculation module 207 : used to receive the remote input signal, calculate the smooth short-term power of the remote input signal, and output it to the remote signal
远端信号状态判断模块208:用于接收并保存远端噪声阈值输入模块206输出的远端信号噪声阈值,并通过比较远端输入信号噪声阈值与远端输入信号在纯时延时刻的平滑短时功率,得到远端输入信号在纯时延时刻的状态,并将远端输入信号的状态输出到自适应回声路径时延估计模块209。The remote signal state judgment module 208: used to receive and save the remote signal noise threshold output by the remote noise
自适应回声路径时延估计模块209:当接收到远端输入信号的输出为语音时,记录该远端语音产生时刻,当此后第一次接收到近端信号状态判断模块205的输出为回声时,记录该近端回声产生时刻,计算并保存上述两时刻的差值即回声路径时延,当接收到近端信号状态判断模块205的输出为噪声时,根据保存的上一次的回声路径时延,结合远端输入信号最近一次的语音发生时刻,估计当前近端输入信号的回声发生点即“回声点”,如果该“回声点”恰好在近端的噪声时刻附近,就判定该近端噪声为残余回声,并将启动指令输出到NLP模块210,否则,判定近端输入信号为噪声。Adaptive echo path delay estimation module 209: when receiving the output of the far-end input signal as voice, record the time when the far-end voice is generated, when the output of the near-end signal
NLP模块210:当接收到近端信号状态模块205或者自适应回声路径时延估计模块209的启动指令时,该模块启动;当接收到近端信号状态判断模块205的关闭指令时,该模块关闭。NLP module 210: when receiving the startup instruction of the near-end
在现有的声学回声消除器中,由于消除白噪声比较困难,使得降噪算法复杂且较为费时;由于自适应回声路径时延估计模块要动态监视并处理远端和近端输入信号,而在无线系统中,移动电话位置的移动会引起回声反射路径的改变,增加了算法的复杂度和处理时间。在现有的无线通讯系统中,AEC处理往往要和编解码模块捆绑在一起,AEC处理时间太长将降低系统性能。In the existing acoustic echo canceller, because it is difficult to eliminate white noise, the noise reduction algorithm is complicated and time-consuming; because the adaptive echo path delay estimation module needs to dynamically monitor and process the far-end and near-end input signals, and in In a wireless system, the movement of the mobile phone will cause the change of the echo reflection path, which increases the complexity of the algorithm and the processing time. In existing wireless communication systems, AEC processing is often bundled with codec modules, and too long AEC processing time will degrade system performance.
发明内容Contents of the invention
有鉴于此,本发明的主要目的在于提供一种算法简单、处理时间相对少的回声消除装置和方法,实现对近端输入信号状态的快速判断,从而决定对NLP的启动和关闭。In view of this, the main purpose of the present invention is to provide an echo cancellation device and method with simple algorithm and relatively short processing time, so as to quickly judge the state of the near-end input signal, thereby determining whether to activate or deactivate the NLP.
为达到上述目的,本发明的技术方案是这样实现的:In order to achieve the above object, technical solution of the present invention is achieved in that way:
一种回声消除装置,包括用于对回声进行非线性处理的非线性处理器NLP模块,进一步包括:An echo canceling device, comprising a nonlinear processor NLP module for performing nonlinear processing on the echo, further comprising:
远端信号计算搜索模块,用于根据当前近端输入信号所处时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块;The far-end signal calculation search module is used to search for the maximum value of the energy parameter of the far-end input signal within the predetermined time delay range according to the current time of the near-end input signal, and output the maximum value to the near-end signal state judgment module ;
近端信号状态判断模块,用于将当前近端输入信号所处时刻输出到远端信号计算搜索模块,初步判断近端输入信号为语音还是噪声,保存该初步判断结果,同时,用于根据近端输入信号能量参数和远端输入信号在预定时延范围内的能量参数的最大值进一步判断近端输入信号是否为回声,如果是,将启动指令输出到NLP模块,否则,如果初步判断结果为语音,则将关闭指令输出到NLP模块,如果初步判断结果为噪声,则保持当前的NLP模块的状态。The near-end signal state judging module is used to output the moment of the current near-end input signal to the far-end signal calculation and search module to initially judge whether the near-end input signal is voice or noise, and save the preliminary judgment result. The maximum value of the energy parameter of the end input signal and the energy parameter of the far-end input signal within the predetermined delay range further judges whether the near-end input signal is an echo, and if so, outputs the start command to the NLP module, otherwise, if the preliminary judgment result is voice, then output the shutdown command to the NLP module, if the preliminary judgment result is noise, then keep the current state of the NLP module.
所述远端信号计算搜索模块包括:The remote signal calculation search module includes:
远端信号能量参数计算模块,用于计算远端输入信号的能量参数,并将远端输入信号的能量参数输出到远端信号能量参数搜索模块;The remote signal energy parameter calculation module is used to calculate the energy parameter of the remote input signal, and output the energy parameter of the remote input signal to the remote signal energy parameter search module;
远端信号能量参数搜索模块,用于接收并保存远端信号能量参数,并根据当前近端输入信号所处时刻搜索远端输入信号在预定时延范围内能量参数的最大值,并将该最大值输出到近端信号状态判断模块。The far-end signal energy parameter search module is used to receive and save the far-end signal energy parameters, and search for the maximum value of the energy parameters of the far-end input signal within the predetermined time delay range according to the moment of the current near-end input signal, and store the maximum The value is output to the near-end signal state judging module.
所述近端信号状态判断模块包括:The near-end signal state judgment module includes:
近端噪声阈值输入模块,用于保存近端信号噪声阈值并将其输出到近端比较模块;The near-end noise threshold input module is used to save the near-end signal noise threshold and output it to the near-end comparison module;
近端信号能量参数计算模块,用于接收近端输入信号,并将当前近端输入信号所处时刻输出到远端信号计算搜索模块,同时计算近端输入信号的能量参数,并将近端输入信号能量参数输出到近端比较模块;The near-end signal energy parameter calculation module is used to receive the near-end input signal, and output the time of the current near-end input signal to the far-end signal calculation and search module, and calculate the energy parameter of the near-end input signal at the same time, and output the near-end input signal The signal energy parameter is output to the near-end comparison module;
近端比较模块,用于根据近端输入信号能量参数和近端信号噪声阈值初步判断近端输入信号为语音还是噪声,同时用于根据远端输入信号在预定时延范围内的能量参数最大值和近端输入信号能量参数进一步判断近端输入信号是否为回声,如果为回声则将启动指令输出到NLP模块,否则,如果初步判断为语音则将关闭指令输出到NLP模块,如果初步判断为噪声,保持当前的NLP模块的状态。The near-end comparison module is used to preliminarily judge whether the near-end input signal is voice or noise according to the energy parameter of the near-end input signal and the noise threshold of the near-end signal, and is used to determine the maximum value of the energy parameter of the far-end input signal within a predetermined time delay range and the energy parameters of the near-end input signal to further judge whether the near-end input signal is an echo, and if it is an echo, the start command will be output to the NLP module; otherwise, if it is initially judged as voice, the shutdown command will be output to the NLP module; , to maintain the current state of the NLP module.
所述近端信号状态判断模块进一步包括近端信号动态变化趋向判断模块,用于接收并保存近端比较模块的输出,并结合已保存的前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当近端输入信号的变化趋向为有回声出现时,就将启动指令输出到NLP模块,当近端输入信号的变化趋向为有语音出现时,就将关闭指令输出到NLP模块。The near-end signal state judgment module further includes a near-end signal dynamic change trend judgment module, which is used to receive and save the output of the near-end comparison module, and judge the state of the near-end input signal in combination with the saved state of the last near-end input signal. Dynamic change trend, when the change of the near-end input signal tends to have an echo, the start command is output to the NLP module, and when the change of the near-end input signal tends to be voice, the close command is output to the NLP module.
所述回声消除装置进一步包括舒适噪声产生模块,用于产生舒适噪声,并将该舒适噪声输出到NLP模块,The echo canceling device further includes a comfort noise generation module, configured to generate comfort noise, and output the comfort noise to the NLP module,
同时,所述NLP模块接收到近端信号状态判断模块的启动指令时,将接收到的舒适噪声替代回声输出到远端。At the same time, when the NLP module receives the activation instruction of the near-end signal state judgment module, it outputs the received comfort noise instead of the echo to the far-end.
所述舒适噪声产生模块包括:The comfort noise generation module includes:
钳制幅值输入模块,用于保存舒适噪声的钳制幅值,并将钳制幅值输出到舒适噪声幅值更新模块;The clamped amplitude input module is used to save the clamped amplitude of the comfort noise, and output the clamped amplitude to the comfort noise amplitude update module;
舒适噪声幅值更新模块,根据近端信号状态判断模块的输出和钳制幅值输入模块的输出更新当前舒适噪声的幅值;The comfort noise amplitude update module updates the current comfort noise amplitude according to the output of the near-end signal state judgment module and the output of the clamped amplitude input module;
舒适噪声确定模块,根据舒适噪声更新模块输出的噪声幅值产生舒适噪声,并输出到NLP模块;The comfort noise determination module generates comfort noise according to the noise amplitude output by the comfort noise update module, and outputs it to the NLP module;
同时,所述近端信号状态判断模块判定近端输入信号为噪声时,近端信号状态判断模块进一步将该噪声幅值作为新的舒适噪声幅值输出到舒适噪声幅值更新模块用于更新舒适噪声幅值。At the same time, when the near-end signal status judging module determines that the near-end input signal is noise, the near-end signal status judging module further outputs the noise amplitude as a new comfort noise amplitude to the comfort noise amplitude updating module for updating the comfort noise amplitude. noise amplitude.
所述回声消除装置进一步包括远端信号状态判断模块,用于判断远端输入信号为语音还是噪声,并将远端输入信号状态输出到近端信号状态判断模块,The echo canceling device further includes a far-end signal state judging module, which is used to judge whether the far-end input signal is voice or noise, and outputs the far-end input signal state to the near-end signal state judging module,
同时,近端信号状态判断模块在进一步判断近端输入信号是否为回声前,进一步判断接收到的远端输入信号状态为语音还是噪声,如果为语音,就直接判断近端输入信号是否为回声,如果为噪声,就重新设置当前近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声。Simultaneously, before further judging whether the near-end input signal is an echo, the near-end signal status judging module further judges whether the received far-end input signal status is voice or noise, and if it is voice, directly judges whether the near-end input signal is an echo, If it is noise, reset the preliminary judgment result of the current near-end input signal as speech, and then further judge whether the near-end input signal is an echo.
所述远端信号状态判断模块包括:The remote signal state judgment module includes:
远端噪声阈值输入模块,用于保存远端信号噪声阈值并将其输出到远端比较模块;The far-end noise threshold input module is used to save the far-end signal noise threshold and output it to the far-end comparison module;
远端比较模块,通过比较当前远端信号能量参数和远端信号噪声阈值,判断当前远端输入信号为语音还是噪声,并将判断结果输出到近端信号状态判断模块,The far-end comparison module judges whether the current far-end input signal is voice or noise by comparing the current far-end signal energy parameter and the far-end signal noise threshold, and outputs the judgment result to the near-end signal state judgment module,
同时,所述远端信号计算搜索模块进一步将当前远端输入信号能量参数输出到远端比较模块。At the same time, the remote signal calculation and search module further outputs the energy parameter of the current remote input signal to the remote comparison module.
一种回声消除方法,该方法包括:A method of echo cancellation, the method comprising:
A、初步判断近端输入信号为语音还是噪声,保存该初步判断结果;A. Preliminarily judge whether the near-end input signal is voice or noise, and save the preliminary judgment result;
B、以当前近端输入信号所处时刻为根据,搜索远端输入信号在预定时延范围内的能量参数的最大值;B. Based on the current moment of the near-end input signal, search for the maximum value of the energy parameter of the far-end input signal within the predetermined time delay range;
C、计算近端输入信号的能量参数,根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值,进一步判断近端输入信号是否为回声,如果是,启动NLP处理,否则,如果初步判断结果为语音,则关闭NLP处理,如果初步判断结果为噪声,则保持当前的NLP处理状态。C. Calculate the energy parameter of the near-end input signal, and further judge whether the near-end input signal is an echo according to the energy parameter of the near-end input signal and the maximum value of the energy parameter of the far-end input signal obtained in step B, and if so, start NLP processing , otherwise, if the preliminary judgment result is speech, turn off the NLP processing, and if the preliminary judgment result is noise, then maintain the current NLP processing state.
步骤B所述预定时延范围为从近端输入信号所处时刻减去纯时延再减去动态时延的一半得到的时刻起,到近端输入信号所处时刻减去纯时延再加上动态时延的一半得到的时刻止。The predetermined time delay range in step B is from the moment obtained by subtracting the pure time delay and then subtracting half of the dynamic time delay from the moment of the near-end input signal to the moment of the near-end input signal minus the pure time delay plus Half of the upper dynamic delay is obtained at the moment.
所述纯时延为100至150毫秒之间的任一值,所述动态时延为80毫秒。The pure delay is any value between 100 and 150 milliseconds, and the dynamic delay is 80 milliseconds.
所述步骤B和C之间进一步包括,判断当前远端输入信号为语音还是噪声,如果当前远端输入信号为语音,就直接执行步骤C;否则,重新设置近端输入信号的初步判断结果为语音后,执行步骤C。Further include between the steps B and C, judging whether the current far-end input signal is voice or noise, if the current far-end input signal is voice, step C is directly executed; otherwise, the preliminary judgment result of resetting the near-end input signal is After speaking, go to step C.
该回声消除方法进一步包括预先设置一个远端信号噪声阈值,所述判断当前远端输入信号为语音还是噪声是通过比较当前远端输入信号能量参数与远端信号噪声阈值得到的,如果前者小于后者,判定远端输入信号为噪声;否则,判定远端输入信号为语音。The echo cancellation method further includes pre-setting a far-end signal noise threshold, and the judging whether the current far-end input signal is speech or noise is obtained by comparing the current far-end input signal energy parameter with the far-end signal noise threshold, if the former is smaller than the latter Otherwise, it is determined that the far-end input signal is noise; otherwise, it is determined that the far-end input signal is speech.
所述步骤C在启动或关闭NLP处理前进一步包括:保存当前近端输入信号的状态,并结合前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当变化趋向为回声出现时,就启动NLP处理,并将NLP过渡时间变量由平滑过渡长度值递减至0,当变化趋向为语音出现时,就关闭NLP处理,将NLP过渡时间变量由0递增至平滑过渡长度值。The step C further includes before starting or closing the NLP processing: saving the state of the current near-end input signal, and judging the dynamic change trend of the near-end input signal in combination with the state of the previous near-end input signal. , the NLP process is started, and the NLP transition time variable is decremented from the smooth transition length value to 0. When the change tends to be speech, the NLP process is turned off, and the NLP transition time variable is incremented from 0 to the smooth transition length value.
所述步骤A在初步判定近端输入信号为噪声后,进一步包括,将该噪声幅值作为用于NLP处理的新的舒适噪声幅值。After the step A preliminarily determines that the near-end input signal is noise, it further includes using the noise amplitude as a new comfort noise amplitude for NLP processing.
该回声消除方法进一步包括预先设置一个钳制幅值,并在步骤C在启动NLP处理之后进一步包括:判断舒适噪声幅值是否大于钳制幅值,如果是,则将钳制幅值作为新的舒适噪声幅值;否则,保留当前的舒适噪声幅值。The echo cancellation method further includes setting a clamping amplitude in advance, and after starting the NLP processing in step C, it further includes: judging whether the comfort noise amplitude is greater than the clamping amplitude, and if so, using the clamping amplitude as the new comfort noise amplitude value; otherwise, keep the current comfort noise amplitude.
该回声消除方法进一步包括预先设置一个近端信号噪声阈值,所述判断近端输入信号为语音还是噪声是通过比较近端输入信号的能量参数与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。The echo cancellation method further includes presetting a near-end signal noise threshold, and the judgment of whether the near-end input signal is voice or noise is obtained by comparing the energy parameter of the near-end input signal with the near-end signal noise threshold, if the former is smaller than the latter , determine that the near-end input signal is noise; otherwise, determine that the near-end input signal is speech.
该回声消除方法进一步包括预先设置一个近端信号噪声阈值,所述判断近端输入信号为语音还是噪声是通过比较近端分段信号的能量参数的最大值与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。The echo cancellation method further includes presetting a near-end signal noise threshold, and the judging whether the near-end input signal is speech or noise is obtained by comparing the maximum value of the energy parameter of the near-end segmented signal with the near-end signal noise threshold, if If the former is smaller than the latter, it is determined that the near-end input signal is noise; otherwise, it is determined that the near-end input signal is speech.
步骤C所述近端输入信号为近端分段信号。The near-end input signal in step C is a near-end segmented signal.
步骤C所述近端输入信号为步骤A中的近端输入信号经分段后的第一段近端分段信号,The near-end input signal described in step C is the first near-end segmented signal after the near-end input signal in step A is segmented,
同时,所述步骤C之后进一步包括,依次判断第二段近端分段信号及其后的近端分段信号是否为回声,如果是,则关闭NLP处理,否则,如果当前远端输入信号为语音且前一段近端分段信号为回声,则启动NLP处理,如果当前远端输入信号为语音且前一段近端分段信号为语音或如果当前远端输入信号为噪声,则关闭NLP处理,如果当前远端输入信号为语音且前一段近端分段信号为噪声,则保持当前的NLP处理状态。Simultaneously, after said step C, it further includes, in turn, judging whether the second near-end segment signal and the following near-end segment signal are echoes, if yes, then close the NLP processing, otherwise, if the current far-end input signal is If the current far-end input signal is voice and the previous near-end segment signal is voice or if the current far-end input signal is noise, NLP processing is turned off. If the current far-end input signal is speech and the previous near-end segmented signal is noise, the current NLP processing state is maintained.
步骤C所述根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值进一步判断近端输入信号是否为回声为:比较近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值经衰减后的值,若前者小于后者,判定近端输入信号为回声。In step C, further judging whether the near-end input signal is an echo according to the energy parameter of the near-end input signal and the maximum value of the energy parameter of the far-end input signal obtained in step B is as follows: comparing the energy parameter of the near-end input signal with that obtained in step B The attenuated value of the maximum value of the energy parameter of the far-end input signal. If the former is smaller than the latter, it is determined that the near-end input signal is an echo.
与现有技术相比,本发明首先初步判断近端输入信号为语音还是噪声,然后根据近端输入信号能量参数和远端输入信号在预定时延范围内能量参数的最大值,进一步判断近端输入信号是否为回声,实现了对NLP启动和关闭的控制。由于降噪处理会抑制掉一部分回声,因此,本发明不作该项处理,在简化算法的同时也节省了时间;由于本发明通过两次比较判断近端输入信号状态,保证了算法的精确度,且省却了对静音电平的检测和修正,节省了时间;同时,本发明将搜索范围限定在预定时延内,与现有技术每次都要估计回声时延确定“回声点”相比,算法的复杂度降低且减少了处理时间。由以上分析可知,本发明算法简单且节省了处理时间,使得回声控制器(EC,Echo Controller)模块在系统中配置灵活。Compared with the prior art, the present invention first preliminarily judges whether the near-end input signal is voice or noise, and then further judges the near-end Whether the input signal is an echo realizes the control of NLP startup and shutdown. Because the noise reduction processing will suppress a part of the echo, the present invention does not perform this processing, which saves time while simplifying the algorithm; because the present invention judges the state of the near-end input signal through two comparisons, the accuracy of the algorithm is guaranteed. And it saves the detection and correction of the silence level, which saves time; at the same time, the present invention limits the search range to the predetermined time delay, compared with the prior art to estimate the echo time delay every time to determine the "echo point", The complexity of the algorithm is reduced and the processing time is reduced. From the above analysis, it can be seen that the algorithm of the present invention is simple and saves processing time, so that the echo controller (EC, Echo Controller) module can be flexibly configured in the system.
附图说明Description of drawings
图1为数字无线网络中的回声示意图;Fig. 1 is a schematic diagram of an echo in a digital wireless network;
图2为现有技术实现声学回声消除装置的结构框图;Fig. 2 is a structural block diagram of an acoustic echo cancellation device in the prior art;
图3为本发明实现回声消除装置的总体结构框图;Fig. 3 is a block diagram of the overall structure of the echo canceling device of the present invention;
图4为本发明实现回声消除装置的一个实施例的结构框图;FIG. 4 is a structural block diagram of an embodiment of an echo cancellation device according to the present invention;
图5为图4所示的回声消除装置的详细结构框图;Fig. 5 is a detailed structural block diagram of the echo canceling device shown in Fig. 4;
图6为本发明实现回声消除的总体流程图;Fig. 6 is the overall flow chart of realizing echo cancellation in the present invention;
图7为本发明实现声学回声消除的一个具体实施例的流程图。FIG. 7 is a flow chart of a specific embodiment of the present invention for implementing acoustic echo cancellation.
具体实施方式Detailed ways
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。In order to make the purpose, technical solution and advantages of the present invention clearer, the present invention will be further described in detail below in conjunction with the accompanying drawings and specific embodiments.
图3是本发明实现回声消除装置的总体结构框图,该结构框图包含了本发明装置实现回声消除的必要模块,如图3所示,本发明装置包括:Fig. 3 is the overall structural block diagram of the echo canceling device of the present invention, and this structural block diagram has included the necessary module that the device of the present invention realizes echo canceling, and as shown in Fig. 3, the device of the present invention comprises:
远端信号计算搜索模块31:用于根据近端输入信号所处时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块32。Remote signal calculation and search module 31: used to search for the maximum value of the energy parameter of the remote input signal within the predetermined time delay range according to the time of the near-end input signal, and output the maximum value to the near-end signal
近端信号状态判断模块32:首先,该模块将当前近端输入信号所处时刻输出到远端信号计算搜索模块31;然后,该模块用于初步判断近端输入信号为语音还是噪声,并保存该初步判断结果;最后,用于根据近端输入信号能量参数和远端输入信号在预定时延范围内的能量参数的最大值进一步判断近端输入信号是否为回声,如果是,则将启动指令输出到NLP模块33,否则,判定近端输入信号状态与初步判断结果相同,如果初步判断结果为语音,则将关闭指令输出到NLP模块33,如果初步判断结果为噪声,保持当前的NLP模块33的状态。Near-end signal state judging module 32: at first, this module is exported to far-end signal
NLP模块33:当接收到近端信号状态判断模块32的启动指令时,该模块启动;当接收到近端信号状态判断模块32的关闭指令时,该模块关闭。NLP module 33: when receiving the startup instruction of the near-end signal
图4为本发明实现回声消除装置的一个实施例的结构框图,如图4所示,在实际应用中,本发明还可以包括以下两个模块:Fig. 4 is a structural block diagram of an embodiment of the echo cancellation device of the present invention, as shown in Fig. 4, in practical applications, the present invention may also include the following two modules:
远端信号状态判断模块34:用于接收远端信号计算搜索模块31输出的当前远端信号能量参数,并根据此能量参数判断当前远端输入信号为语音还是噪声,并将当前远端输入信号状态输出到近端信号状态判断模块32,近端信号状态判断模块32接收到远端输入信号为语音时,开始进一步判断近端输入信号是否为回声;近端信号状态判断模块32接收到远端输入信号为噪声时,就重新设置近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声。Far-end signal state judging module 34: be used for receiving the current far-end signal energy parameter of far-end signal
舒适噪声产生模块35:用于产生舒适噪声,同时当近端信号状态判断模块32判定近端输入信号为噪声时,就将该噪声幅值作为新的舒适噪声幅值输出到舒适噪声产生模块35,舒适噪声产生模块35更新舒适噪声幅值后将新的舒适噪声输出到NLP模块35,用于NLP处理。Comfort noise generation module 35: used to generate comfort noise, and when the near-end signal
图5为图4所示的回声消除装置的详细结构框图,如图5所示,远端信号计算搜索模块31包括以下子模块:Fig. 5 is a detailed structural block diagram of the echo cancellation device shown in Fig. 4, as shown in Fig. 5, the far-end signal
远端信号能量参数计算模块301:用于接收远端输入信号,计算远端输入信号的平滑短时功率,并将其输出到远端信号能量参数搜索模块302和远端比较模块304。The remote signal energy parameter calculation module 301 : used to receive the remote input signal, calculate the smooth short-term power of the remote input signal, and output it to the remote signal energy
远端信号能量参数搜索模块302:用于接收远端信号能量参数计算模块301的输出,并将其保存到循环队列中,并以当前近端输入信号所处时刻为根据,搜索远端输入信号在预定时延范围内的分段平滑短时功率的最大值,并将此最大值输出到近端比较模块307。The far-end signal energy parameter search module 302: used to receive the output of the far-end signal energy
远端信号状态判断模块34包括以下子模块:The far-end signal
远端噪声阈值输入模块303:用于保存远端信号噪声阈值,并将远端信号噪声阈值输出到远端比较模块304。The far-end noise threshold input module 303 : used to save the far-end signal noise threshold, and output the far-end signal noise threshold to the far-
远端比较模块304:用于根据当前远端输入信号能量参数和远端信号噪声阈值判断当前远端输入信号为语音还是噪声,并将远端输入信号状态输出到近端比较模块307。Far-end comparison module 304 : used to judge whether the current far-end input signal is voice or noise according to the current far-end input signal energy parameter and the far-end signal noise threshold, and output the status of the far-end input signal to the near-
近端信号状态判断模块32包括以下子模块:The near-end signal
近端噪声阈值输入模块305:用于保存近端信号噪声阈值,并将近端信号噪声阈值输出到近端比较模块307。The near-end noise threshold input module 305 is used to store the near-end signal noise threshold and output the near-end signal noise threshold to the near-
近端信号能量参数计算模块306:用于接收近端输入信号,并将当前近端输入信号所处时刻输出到远端信号能量参数搜索模块302,然后计算当前近端输入信号的平滑短时功率或计算近端输入信号粗略分段或详细分段后的分段短时平滑功率,并将近端输入信号平滑短时功率的粗略分段平滑短时功率的最大值或详细分段平滑短时功率输出到近端比较模块307。The near-end signal energy parameter calculation module 306: used to receive the near-end input signal, and output the time of the current near-end input signal to the far-end signal energy
近端比较模块307:该模块的功能有两个,Near-end comparison module 307: this module has two functions,
功能一,用于接收并保存近端噪声阈值输入模块305输出的近端信号噪声阈值,并根据近端信号能量参数计算模块306的输出和近端信号噪声阈值初步判断近端输入信号为语音还是噪声,并保存该近端输入信号初步判断结果,如果近端输入信号判定为噪声,则将该噪声幅值作为新的舒适噪声幅值输入到舒适噪声幅值更新模块310;Function 1, used to receive and save the near-end signal noise threshold output by the near-end noise threshold input module 305, and preliminarily judge whether the near-end input signal is voice or noise, and save the preliminary judgment result of the near-end input signal, if the near-end input signal is judged to be noise, then input the noise amplitude as a new comfort noise amplitude to the comfort noise
功能二,当接收到远端比较模块304输出的远端输入信号状态为语音时,该模块用于进一步判断近端输入信号是否为回声,当接收到远端比较模块304输出的远端输入信号为噪声时,该模块就重新设置当前近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声;如果近端输入信号不是回声且近端输入信号不分段时,根据初步判断结果确定近端输入信号状态,如果近端输入信号不是回声且近端输入信号分段时,根据初步判断结果或者综合考虑初步判断结果和前一段近端分段信号判断结果确定近端分段信号状态,最后将近端输入信号状态的判定结果输出到近端信号动态变化趋向判断模块308。Function two, when receiving the far-end input signal output by the far-
近端信号动态变化趋向判断模块308:该模块用于接收并保存近端比较模块307的输出,并根据当前近端输入信号的状态和已保存的前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当近端输入信号的变化趋向为有回声出现时,就将启动指令输出到NLP模块312;当近端输入信号的变化趋向为有语音出现时,就将关闭指令输出到NLP模块312。Near-end signal dynamic change trend judgment module 308: this module is used to receive and save the output of the near-
在实际应用中,近端信号状态判断模块32可以不包含近端信号动态变化趋向判断模块308,此时,如果近端比较模块307判定分段或不分段的近端输入信号为回声,就将启动指令输出到NLP模块312;如果判定为语音,就将关闭指令输出到NLP模块312;如果判定为噪声,就保持当前的NLP模块312状态。In practical applications, the near-end signal
舒适噪声产生模块35包括以下子模块:The comfort
钳制幅值输入模块309:用于保存舒适噪声的钳制幅值,并将其输出到舒适噪声幅值更新模块310。Clamped amplitude input module 309 : used to save the clamped amplitude of the comfort noise and output it to the comfort noise
舒适噪声幅值更新模块310:用于根据近端比较模块307的输出和钳制幅值输入模块309的输出更新当前舒适噪声幅值,将更新后的舒适噪声幅值输出到舒适噪声确定模块311。Comfort noise amplitude update module 310 : used to update the current comfort noise amplitude according to the output of the near-
舒适噪声确定模块311:用于产生初始舒适噪声,并根据舒适噪声幅值更新模块310输出的舒适噪声幅值更新当前舒适噪声,将舒适噪声输出到NLP模块312。Comfort noise determination module 311 : used to generate initial comfort noise, update the current comfort noise according to the comfort noise amplitude output by the comfort noise
NLP模块33即NLP模块312:当接收到近端信号动态变化趋向模块308或近端比较模块307的启动指令时,该模块启动,并根据舒适噪声确定模块311输出的舒适噪声代替回声后输出到远端;当接收到近端信号动态变化趋向模块308或近端比较模块307的关闭指令时,该模块关闭;否则,该模块保持当前状态。The
图6为本发明实现回声消除的总体流程图,该流程图包含了本发明方法实现回声消除的必要步骤,如图6所示,实现声学回声消除的具体步骤如下:Fig. 6 is the overall flow chart of realizing echo cancellation in the present invention, and the flow chart includes the necessary steps for realizing echo cancellation in the method of the present invention. As shown in Fig. 6, the specific steps for realizing acoustic echo cancellation are as follows:
步骤601:近端信号状态判断模块32接收近端输入信号,并计算近端输入信号能量参数。Step 601: The near-end signal
步骤602:近端信号状态判断模块32将当前近端输入信号所处时刻输出到远端信号计算搜索模块31,然后判断近端输入信号是否为语音,如果是,执行步骤603;否则,执行步骤604。Step 602: the near-end signal
步骤603:近端信号状态判断模块32初步判定近端输入信号为语音,保存该近端输入信号的状态,并执行步骤605。Step 603 : The near-end signal
步骤604:近端信号状态判断模块32初步判定近端输入信号为噪声,保存该近端输入信号的状态。Step 604: The near-end signal
步骤605:远端信号计算搜索模块31接收到当前近端输入信号所处时刻后,根据此时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块32。Step 605: After the far-end signal calculation and
步骤606:近端信号状态判断模块32比较近端输入信号能量参数与远端输入信号能量参数的最大值经衰减后的值,如果前者小于后者,执行步骤607;否则,执行步骤608。Step 606: The near-end signal
步骤607:近端信号状态判断模块32判定当前近端输入信号的状态为回声,NLP模块33启动NLP处理。Step 607: The near-end signal
步骤608:近端信号状态判断模块32判断初步判断结果是否为语音,如果是,执行步骤609;否则,执行步骤610。Step 608: The near-end signal
步骤609:NLP模块33关闭NLP处理。Step 609: The
步骤610:NLP模块33保持当前的处理状态。Step 610: The
具体实施例一:Specific embodiment one:
本实施例实现回声消除时,在判断近端输入信号是否为回声时,是针对输入的整帧信号进行判断的,即没有对该帧信号进行分段处理,将不分段的该帧信号称为近端输入帧信号,图7为本发明实现声学回声消除的一个具体实施例的流程图,为图6步骤的具体描述,如图7所示,实现声学回声消除的具体步骤如下:When implementing echo cancellation in this embodiment, when judging whether the near-end input signal is an echo, it is judged for the entire input frame signal, that is, the frame signal is not segmented, and the unsegmented frame signal is called For near-end input frame signal, Fig. 7 is the flow chart of a specific embodiment that the present invention realizes acoustic echo cancellation, is the specific description of Fig. 6 step, as shown in Fig. 7, the concrete steps of realizing acoustic echo cancellation are as follows:
步骤701:近端信号能量参数计算模块306接收近端输入帧信号后,将当前近端输入帧信号所处时刻输出到远端信号能量参数搜索模块302,并计算近端输入帧信号的平滑短时功率SPower,并将SPower输出到近端比较模块307。Step 701: After the near-end signal energy
步骤702:近端比较模块307比较SPower与已保存的近端噪声阈值输入模块305输出的近端输入信号的噪声阈值SNoise,如果SPower>SNoise,则执行步骤703;否则,执行步骤704。Step 702: The near-
步骤703:近端比较模块307初步判定近端输入帧信号为语音,保存该近端输入帧信号的状态,并执行步骤705。Step 703: The near-
步骤704:近端比较模块307初步判定近端输入帧信号为噪声,保存该近端输入帧信号的状态,并将该近端输入帧信号的噪声幅值作为新的舒适噪声幅值输出到舒适噪声幅值更新模块310。Step 704: The near-
步骤705:远端信号能量参数计算模块301接收远端输入信号后,计算远端输入信号的平滑短时功率RPower,并将RPower输出到远端信号能量参数搜索模块302和远端比较模块304。Step 705 : After receiving the remote input signal, the remote signal energy
步骤706:远端比较模块304比较RPower与已保存的远端噪声阈值输入模块303输出的远端输入信号的噪声阈值RNoise,如果RPower<RNoise,执行步骤707~708;否则,执行步骤709。Step 706: The
步骤707:远端比较模块304判定远端输入信号为噪声,并将该远端信号状态输出到近端比较模块307。Step 707: The far-
步骤708:近端比较模块307接收到远端比较模块304的输出为噪声后,将近端输入帧信号的初步状态重新设置为语音,并保存该初步状态,转至步骤710。Step 708 : After receiving the output of the far-
步骤709:远端比较模块304判定远端输入信号为语音,并将该状态输出到近端比较模块307。Step 709: The far-
步骤710:远端信号能量参数搜索模块302接收并保存远端信号能量参数,并根据当前近端输入帧信号所处时刻,搜索远端输入信号在预定时延范围内的平滑短时功率RPower的最大值RMPower,并将RMPower输出到近端比较模块307。预定时延范围为从当前近端输入信号所处时刻减去纯时延再减去动态时延的一半所得到的时刻起,到近端输入信号所处时刻减去纯时延再加上动态时延的一半得到的时刻止,通常,纯时延取值为100~150毫秒之间的任一值,动态时延取值为80毫秒。Step 710: The far-end signal energy
步骤711:近端比较模块307比较SPower与RMPower/B,其中B是衰减值,由经验确定,如果SPower<RMPower/B,则执行步骤712;否则,执行步骤713。Step 711: The near-
步骤712:近端比较模块307判定当前近端输入帧信号的状态为回声,并将该近端输入帧信号的状态输出到近端信号动态变化趋向判断模块308,然后转至步骤714。Step 712: The near-
步骤713:近端比较模块307判定当前近端输入帧信号的状态与近端输入帧信号的初步判断结果相同,并将该近端输入帧信号的状态输出到近端信号动态变化趋向判断模块308。Step 713: The near-
步骤714:近端信号动态变化趋向判断模块308保存当前的近端输入帧信号的状态,并结合已保存的前一次近端输入帧信号的状态,判断近端输入帧信号的动态变化趋向,近端输入帧信号的动态变化趋向有四种:有回声出现即由语音或噪声过渡到回声,持续回声即由回声到回声,有语音出现即由回声或噪声过渡到语音,保持语音即由语音到语音。Step 714: The near-end signal dynamic change
步骤715:近端信号动态变化趋向判断模块308判断近端输入帧信号的动态变化趋向是否为有回声出现,如果是,执行步骤716~719;否则,执行步骤720~722。Step 715: The near-end signal dynamic change
步骤716:舒适噪声幅值更新模块310比较当前舒适噪声幅值与钳制幅值输入模块309输出的钳制幅值,如果前者大于后者,则执行步骤717;否则,执行步骤718。Step 716 : The comfort noise
步骤717:舒适噪声幅值更新模块310以钳制幅值代替当前的舒适噪声幅值后输出到舒适噪声确定模块311,舒适噪声确定模块311将新的舒适噪声输出到NLP模块312,然后转至步骤719。Step 717: The comfort noise
步骤718:舒适噪声幅值更新模块310保持当前的舒适噪声幅值不变,舒适噪声确定模块311将当前舒适噪声输出到NLP模块312。Step 718 : the comfort noise
步骤719:NLP模块312开始NLP处理,即对舒适噪声c(n)和残留回波e(n)之间进行切换,切换输出为Sout(n),为了获得在c(n)与e(n)之间的平滑切换,使用如下内插函数:Step 719:
其中,M是平滑过渡的长度;ramp是过渡时间变量,它的变化范围是0~M,显然,切换平滑程度是由ramp和M共同决定的,有回声出现时,ramp由M递减至0。Among them, M is the length of the smooth transition; ramp is the transition time variable, and its variation range is from 0 to M. Obviously, the switching smoothness is determined by both ramp and M. When an echo appears, the ramp decreases from M to 0.
步骤720:近端信号动态变化趋向判断模块308判断近端输入帧信号动态变化趋向是否为有语音出现,如果是,执行步骤721;否则,执行步骤722。Step 720: The near-end signal dynamic change
步骤721:NLP模块312关闭NLP处理,此时,将内插函数Step 721: the
中的ramp由0递增至M。The ramp in is incremented from 0 to M.
步骤722:NLP模块312保持NLP处理状态不变。Step 722: The
需要说明的是,近端比较模块307接收到接收到远端比较模块304的输出为语音后,开始根据近端信号能量参数和远端信号在动态时延范围内的最大值判断近端输入信号是否为回声。It should be noted that after the near-
具体实施例二:Specific embodiment two:
本实施例实现回声消除时,在判断近端输入信号是否为回声前,对近端输入的帧信号进行了分段处理,将分段后的每一段信号称为近端分段信号。该实施例与具体实施例一的差别是:When implementing echo cancellation in this embodiment, before judging whether the near-end input signal is an echo, the near-end input frame signal is segmented, and each segmented signal is called a near-end segmented signal. The difference between this embodiment and specific embodiment one is:
步骤710和步骤711之间进一步包括,近端信号能量参数计算模块306进一步将近端输入的帧信号进行分段后,计算第一段近端分段信号的分段平滑短时平滑功率SLPower,并将SLPower输出到近端比较模块307。同时,步骤711中的SPower改为“SLPower”,即近端比较模块307判断第一段近端分段信号是否为回声。Between step 710 and step 711, it further includes that the near-end signal energy
步骤712~722中的近端输入帧信号都替换为“第一段近端分段信号”。The near-end input frame signals in steps 712-722 are all replaced with "the first near-end segmented signal".
其余步骤与具体实施例一相同。The rest of the steps are the same as in the first embodiment.
需要指出的是,以上是对第一段近端分段信号进行处理的流程,在此之后,继续对第二段及其以后的分段信号重复步骤706~722,直至将近端输入的该帧信号所有的分段信号都处理完为止。It should be pointed out that the above is the process of processing the first near-end segmented signal. After that, continue to repeat steps 706 to 722 for the second segment and subsequent segmental signals until the near-end input Until all the segmented signals of the frame signal are processed.
在实际应用中,对所有的具体实施例,在初步判断近端输入帧信号为语音还是噪声时,为了使判断更精确,步骤701和702也可作如下替换:In practical applications, for all specific embodiments, when initially judging whether the near-end input frame signal is speech or noise, in order to make the judgment more accurate, steps 701 and 702 can also be replaced as follows:
步骤701:将近端输入帧信号粗略分段后,依次计算每段信号的平滑短时功率,然后搜索所有平滑短时功率的最大值SMPower。Step 701 : After the near-end input frame signal is roughly segmented, the smoothed short-term power of each segment is calculated sequentially, and then the maximum value SMPower of all smoothed short-term powers is searched.
步骤702中的SPower改为“SMPower”,即通过比较近端输入帧信号平滑短时功率的最大值SMPower与近端信号噪声阈值初步判断近端输入帧信号为语音还是噪声。In step 702, SPower is changed to "SMPower", that is, it is preliminarily judged whether the near-end input frame signal is speech or noise by comparing the maximum value SMPower of the smooth short-term power of the near-end input frame signal with the noise threshold of the near-end signal.
另外,对于在进一步判断近端输入信号是否为回声前将近端输入的帧信号进行分段的具体实施例,考虑到语音帧信号的连续性,步骤707和709在现有步骤之后分别进一步包括,近端比较模块307保存该当前远端输入信号状态,同时,步骤713作如下替换:In addition, for a specific embodiment in which the near-end input frame signal is segmented before further judging whether the near-end input signal is an echo, considering the continuity of the voice frame signal, steps 707 and 709 further include after the existing steps , the near-
步骤713:近端比较模块307首先判断接收到的当前远端输入信号状态是否为语音,如果当前远端输入信号状态是语音,则当前近端分段信号状态与前一段近端分段信号的状态相同,且如果第一段近端分段信号为非回声,则判定第一段近端分段信号的状态与近端输入信号的初步判断结果相同,并将当前近端分段信号的状态输出到近端信号动态变化趋向判断模块308;如果当前远端输入信号状态是噪声,则判定当前近端分段信号的状态为语音,并将当前近端分段信号的状态输出到近端信号动态变化趋向判断模块308。Step 713: the near-
另外,在所有具体实施例中,近端输入信号与远端输入信号的能量参数也可用能量或电平来表示。In addition, in all specific embodiments, the energy parameters of the near-end input signal and the far-end input signal can also be represented by energy or level.
同时,本发明也适用于电学回声的消除。At the same time, the present invention is also applicable to the elimination of electrical echo.
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。The above descriptions are only preferred embodiments of the present invention, and are not intended to limit the protection scope of the present invention. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present invention shall be included within the protection scope of the present invention.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410091603 CN1780165B (en) | 2004-11-23 | 2004-11-23 | Echo eliminator and elimination method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN 200410091603 CN1780165B (en) | 2004-11-23 | 2004-11-23 | Echo eliminator and elimination method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1780165A true CN1780165A (en) | 2006-05-31 |
CN1780165B CN1780165B (en) | 2011-07-27 |
Family
ID=36770305
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN 200410091603 Expired - Fee Related CN1780165B (en) | 2004-11-23 | 2004-11-23 | Echo eliminator and elimination method |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1780165B (en) |
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100524467C (en) * | 2006-07-17 | 2009-08-05 | 深圳市迪威新软件技术有限公司 | Echo processing method for meeting TV system |
CN101820302A (en) * | 2009-02-27 | 2010-09-01 | 比亚迪股份有限公司 | Device and method for canceling echo |
CN102223157A (en) * | 2010-04-16 | 2011-10-19 | 联芯科技有限公司 | Residual echo canceller and residual echo cancellation method |
CN101803219B (en) * | 2007-09-28 | 2013-08-07 | 雅马哈株式会社 | Echo removal device |
CN103533193A (en) * | 2012-07-04 | 2014-01-22 | 中兴通讯股份有限公司 | Residual echo elimination method and device |
CN109286730A (en) * | 2017-07-20 | 2019-01-29 | 阿里巴巴集团控股有限公司 | A kind of method, apparatus and system of detection of echoes |
CN110869794A (en) * | 2017-04-21 | 2020-03-06 | 华为技术有限公司 | Leakage signal cancellation |
CN111246034A (en) * | 2020-01-13 | 2020-06-05 | 深圳震有科技股份有限公司 | Intelligent telephone signal processing method, signal processor and storage medium |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FI106489B (en) * | 1996-06-19 | 2001-02-15 | Nokia Networks Oy | Eco-muffler and non-linear processor for an eco extinguisher |
-
2004
- 2004-11-23 CN CN 200410091603 patent/CN1780165B/en not_active Expired - Fee Related
Cited By (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100524467C (en) * | 2006-07-17 | 2009-08-05 | 深圳市迪威新软件技术有限公司 | Echo processing method for meeting TV system |
CN101803219B (en) * | 2007-09-28 | 2013-08-07 | 雅马哈株式会社 | Echo removal device |
CN101820302A (en) * | 2009-02-27 | 2010-09-01 | 比亚迪股份有限公司 | Device and method for canceling echo |
CN101820302B (en) * | 2009-02-27 | 2013-10-30 | 比亚迪股份有限公司 | Device and method for canceling echo |
CN102223157A (en) * | 2010-04-16 | 2011-10-19 | 联芯科技有限公司 | Residual echo canceller and residual echo cancellation method |
CN102223157B (en) * | 2010-04-16 | 2013-12-18 | 联芯科技有限公司 | Residual echo canceller and residual echo cancellation method |
CN103533193A (en) * | 2012-07-04 | 2014-01-22 | 中兴通讯股份有限公司 | Residual echo elimination method and device |
CN103533193B (en) * | 2012-07-04 | 2016-07-06 | 中兴通讯股份有限公司 | Residual echo elimination method and device |
CN110869794A (en) * | 2017-04-21 | 2020-03-06 | 华为技术有限公司 | Leakage signal cancellation |
CN110869794B (en) * | 2017-04-21 | 2022-05-13 | 华为技术有限公司 | Leakage signal cancellation |
US11476891B2 (en) | 2017-04-21 | 2022-10-18 | Futurewei Technologies, Inc. | Frequency nonlinearity calibration in frequency-modulated continuous wave radar |
CN109286730A (en) * | 2017-07-20 | 2019-01-29 | 阿里巴巴集团控股有限公司 | A kind of method, apparatus and system of detection of echoes |
CN111246034A (en) * | 2020-01-13 | 2020-06-05 | 深圳震有科技股份有限公司 | Intelligent telephone signal processing method, signal processor and storage medium |
Also Published As
Publication number | Publication date |
---|---|
CN1780165B (en) | 2011-07-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1184745C (en) | echo canceller device | |
CN1223109C (en) | Enhancement of near-end voice signals in an echo suppression system | |
CN1115795C (en) | Echo canceller with silence detection | |
CN1320782C (en) | Echo processing appts. | |
CN1595827A (en) | Digital adaptive filter and acoustic echo canceller using the same | |
CN1168207C (en) | Method and device for automatically adjusting loudspeaker and microphone gain in mobile phone | |
AU2011261559B2 (en) | Active noise cancellation decisions in a portable audio device | |
CN1127840C (en) | AC-center clipper for noise and echo suppression in communications system | |
CN1175709C (en) | System and method for noise reduction of dual-pickup signals using spectral subtraction | |
CN1451225A (en) | Echo cancellation device for cancelling echos in a transceiver unit | |
CN1917386A (en) | Method for detecting both speaking status in operatioon of echo cancel | |
WO2016056167A1 (en) | Echo cancellation device, echo cancellation program, and echo cancellation method | |
CN1235348C (en) | Sound communication device and echo processor | |
CN1879393A (en) | Two-way communications device having a single transducer | |
CN1390349A (en) | Noise suppression | |
CN1494229A (en) | Echo Eliminator with echo path change detector | |
US5884194A (en) | Hands-free telephone | |
CN1780165A (en) | Apparatus and method for echo cancellation | |
CN1736039A (en) | Echo suppression device | |
CN1157040C (en) | Echo eliminator | |
CN1292617A (en) | Echo cancelltion method and device | |
JPH0865214A (en) | Signal adaptive processor and echo suppression device | |
CN1161752C (en) | noise suppressor | |
CN1214171A (en) | Appts. and method for non-linear processing in communication system | |
CN1925526A (en) | Device and method for echo elimination |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20200427 Address after: 310000 Room 606, building 1, No. 51, Jiusheng Road, Jianggan District, Hangzhou City, Zhejiang Province Patentee after: Hangzhou sound energy technology Co.,Ltd. Address before: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza, Patentee before: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd. Effective date of registration: 20200427 Address after: 518000 Baoan District Xin'an street, Shenzhen, Guangdong, No. 625, No. 625, Nuo platinum Plaza, Patentee after: SHENZHEN SHANGGE INTELLECTUAL PROPERTY SERVICE Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20110727 |