CN1780165B - 一种回声消除装置和方法 - Google Patents

一种回声消除装置和方法 Download PDF

Info

Publication number
CN1780165B
CN1780165B CN 200410091603 CN200410091603A CN1780165B CN 1780165 B CN1780165 B CN 1780165B CN 200410091603 CN200410091603 CN 200410091603 CN 200410091603 A CN200410091603 A CN 200410091603A CN 1780165 B CN1780165 B CN 1780165B
Authority
CN
China
Prior art keywords
input signal
end input
module
near end
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.)
Expired - Fee Related
Application number
CN 200410091603
Other languages
English (en)
Other versions
CN1780165A (zh
Inventor
覃景繁
董晓宏
张晓枫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Sound Energy Technology Co ltd
Shenzhen Shangge Intellectual Property Service Co ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN 200410091603 priority Critical patent/CN1780165B/zh
Publication of CN1780165A publication Critical patent/CN1780165A/zh
Application granted granted Critical
Publication of CN1780165B publication Critical patent/CN1780165B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)

Abstract

本发明公开了一种回声消除装置,包括近端信号状态判断模块、远端信号计算搜索模块和NLP模块。本发明同时公开了一种回声消除方法,根据近端输入信号的能量参数与远端输入信号在预定时延范围内的能量参数的最大值,并结合近端输入信号状态的初步判断结果,判断近端输入信号的状态,从而控制NLP的启动和关闭,达到回声消除的目的。本发明模块化的装置便于升级和维护,本发明方法大大降低了算法的复杂度,节省了处理时间,使得回声控制器模块在***中配置灵活。

Description

一种回声消除装置和方法
技术领域
本发明涉及语音传输技术领域,具体涉及一种回声消除装置和方法。
背景技术
在使用有线和无线通讯***时,时常会听到回声,回声造成通信语音质量降低。回声实际上是经过一定延时后,通过可变滤波器处理后的声音。要提高语音质量,就必须在语音传输过程中进行回声消除的处理。回声按其产生原理,分为电学回声和声学回声。在公共交换电话网(PSTN,PublicSwitched Telephone Network)中由于转换器的“二-四线”混合引起的阻抗不匹配导致了接收信号的一小部分“泄漏”到发送路径上,这样远端在接收信号的同时又返回了一部分信号,因此说话者听到自己说话的回声,导致电学回声,也称为混合回声。源自接收器的声波,通过位于声音路径上的固体反射进入移动电话的麦克风,就形成声学回声。
在有线通讯***中,接收端既会产生电学回声,也会产生声学回声,但是由于接收器和麦克风之间的距离稍远,因此声学回声相对较弱,与电学回声相比可以忽略。
在无线通讯***中,由于不存在PSTN网络中的“二-四线”混合,因此,无线设备不会产生电学回声;但是,由于很多无线电话厂商没有遵从无线电话正式标准的规定:在移动电话接收器和麦克风之间应具有恰当的隔离措施,结果由于移动电话接收器和麦克风之间的距离很短,使得声学回声成了无线服务提供商亟需关心的一项事宜。
此外,无线网络的语音压缩技术以及非线性语音的压缩算法引入了较长的处理延迟时间,往返延迟是回声反射所花费的时间,如果往返延迟超过 10毫秒,人耳就会注意到回声的存在,导致语音质量下降。而语音压缩技术使得往返延迟大于200毫秒,因此在无线应用中,声学回声问题更加明显。
图1是移动通信***中产生的回声示意图,图中同时示意了声学回声和电学回声。如图1所示,固定电话侧听到的回声即为移动电话侧产生的声学回声,移动电话侧听到的回声主要是电学回声。
回声消除器是一种在来自远端的信号在本地端设备发出回声后检测并消除其回声的装置。由于电学回声与源语音信号之间成简单的线性关系,所以电学回声消除器通常包含两个主要功能组件:自适应滤波器和减法器。具体处理过程如下:自适应滤波器监视接收路径并动态构建一个针对回声产生线路的数学模型,这个线路模型与接收路径上的语音流进行卷积,这样得到一个回声的估计值,并被输入给减法器,这就从发送路径线路中减去了回声的线性部分。
由于声学回声与源语音信号之间成非线性关系,因此不能将电学回声消除方法简单地应用在声学回声消除中,现有的声学回声消除一般都是用算法控制非线性处理器(NLP,Non-Linear Processor)实现的,图2是现有的声学回声消除装置,图中的Rin为远端输入AEC模块的信号即远端输入信号,Rout为远端输出声学回声控制器(AEC,Acoustic Echo Controller)模块的信号即远端输出信号,Sin为近端输入AEC模块的信号即近端输入信号,Sout为近端输出AEC模块的信号即近端输出信号,如图2所示,该装置包括以下模块:
降噪模块201:用于对近端输入信号进行降噪处理,并将降噪后的近端输入信号输出到智能语音电平检测模块202和近端信号短时功率计算模块204。
智能语音电平检测模块202:用于检测静音状态时远端输入信号和近端输入信号的相对电平差异,并将该电平差输出到近端信号状态判断模块205;该模块同时检测远端输入信号和近端输入信号在非静音状态时的信号电平,并将远端 和近端输入信号电平输出到近端信号状态判断模块205。
近端噪声阈值输入模块203:用于保存近端信号噪声阈值,并将近端信号噪声阈值输出到近端信号状态判断模块205。
近端信号短时功率计算模块204:用于计算近端输入信号的平滑短时功率,将近端输入信号的平滑短时功率输出到近端信号状态判断模块205。
近端信号状态判断模块205:用于接收并保存近端噪声阈值输入模块203输出的近端信号噪声阈值,并通过比较近端输入信号短时功率计算模块204的输出和近端输入信号噪声阈值,判断近端输入信号是否为语音,如果前者大于后者,则近端输入信号为语音,将关闭指令输出到NLP模块210;否则,近端输入信号为非语音,则根据智能语音电平检测模块202输出的静音电平差修正远端和近端的静音电平差异,然后计算智能语音电平检测模块202输出的远端输入信号在纯时延时刻的信号电平与当前近端输入信号电平的差值,纯时延时刻即当前近端输入信号所处时刻减去纯时延所得到的时刻,如果该差值在预定范围内,则判定该近端输入信号为回声,将启动指令输出到NLP模块210,同时将该近端输入信号状态输出到自适应回声路径时延估计模块209;否则,判定近端输入信号为噪声,将关闭指令输出到自适应回声路径时延估计模块209。
远端噪声阈值输入模块206:用于保存远端信号噪声阈值,并将远端信号噪声阈值输出到远端信号状态判断模块208。
远端信号短时功率计算模块207:用于接收远端输入信号,计算远端输入信号的平滑短时功率,并将其输出到远端信号状态判断模块208。
远端信号状态判断模块208:用于接收并保存远端噪声阈值输入模块206输出的远端信号噪声阈值,并通过比较远端输入信号噪声阈值与远端输入信号在纯时延时刻的平滑短时功率,得到远端输入信号在纯时延时刻的状态,并将远端输入信号的状态输出到自适应回声路径时延估计模块209。
自适应回声路径时延估计模块209:当接收到远端输入信号的输出为语 音时,记录该远端语音产生时刻,当此后第一次接收到近端信号状态判断模块205的输出为回声时,记录该近端回声产生时刻,计算并保存上述两时刻的差值即回声路径时延,当接收到近端信号状态判断模块205的输出为噪声时,根据保存的上一次的回声路径时延,结合远端输入信号最近一次的语音发生时刻,估计当前近端输入信号的回声发生点即“回声点”,如果该“回声点”恰好在近端的噪声时刻附近,就判定该近端噪声为残余回声,并将启动指令输出到NLP模块210,否则,判定近端输入信号为噪声。
NLP模块210:当接收到近端信号状态模块205或者自适应回声路径时延估计模块209的启动指令时,该模块启动;当接收到近端信号状态判断模块205的关闭指令时,该模块关闭。
在现有的声学回声消除器中,由于消除白噪声比较困难,使得降噪算法复杂且较为费时;由于自适应回声路径时延估计模块要动态监视并处理远端和近端输入信号,而在无线***中,移动电话位置的移动会引起回声反射路径的改变,增加了算法的复杂度和处理时间。在现有的无线通讯***中,AEC处理往往要和编解码模块捆绑在一起,AEC处理时间太长将降低***性能。
发明内容
有鉴于此,本发明的主要目的在于提供一种算法简单、处理时间相对少的回声消除装置和方法,实现对近端输入信号状态的快速判断,从而决定对NLP的启动和关闭。
为达到上述目的,本发明的技术方案是这样实现的:
一种回声消除装置,包括用于对回声进行非线性处理的非线性处理器NLP模块,进一步包括:
远端信号计算搜索模块,用于根据当前近端输入信号所处时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块;
近端信号状态判断模块,用于将当前近端输入信号所处时刻输出到远端 信号计算搜索模块,初步判断近端输入信号为语音还是噪声,保存该初步判断结果,同时,用于根据近端输入信号能量参数和远端输入信号在预定时延范围内的能量参数的最大值进一步判断近端输入信号是否为回声,如果是,将启动指令输出到NLP模块,否则,如果初步判断结果为语音,则将关闭指令输出到NLP模块,如果初步判断结果为噪声,则保持当前的NLP模块的状态。
所述远端信号计算搜索模块包括:
远端信号能量参数计算模块,用于计算远端输入信号的能量参数,并将远端输入信号的能量参数输出到远端信号能量参数搜索模块;
远端信号能量参数搜索模块,用于接收并保存远端信号能量参数,并根据当前近端输入信号所处时刻搜索远端输入信号在预定时延范围内能量参数的最大值,并将该最大值输出到近端信号状态判断模块。
所述近端信号状态判断模块包括:
近端噪声阈值输入模块,用于保存近端信号噪声阈值并将其输出到近端比较模块;
近端信号能量参数计算模块,用于接收近端输入信号,并将当前近端输入信号所处时刻输出到远端信号计算搜索模块,同时计算近端输入信号的能量参数,并将近端输入信号能量参数输出到近端比较模块;
近端比较模块,用于根据近端输入信号能量参数和近端信号噪声阈值初步判断近端输入信号为语音还是噪声,同时用于根据远端输入信号在预定时延范围内的能量参数最大值和近端输入信号能量参数进一步判断近端输入信号是否为回声,如果为回声则将启动指令输出到NLP模块,否则,如果初步判断为语音则将关闭指令输出到NLP模块,如果初步判断为噪声,保持当前的NLP模块的状态。
所述近端信号状态判断模块进一步包括近端信号动态变化趋向判断模块,用于接收并保存近端比较模块的输出,并结合已保存的前一次近端输入 信号的状态判断近端输入信号的动态变化趋向,当近端输入信号的变化趋向为有回声出现时,就将启动指令输出到NLP模块,当近端输入信号的变化趋向为有语音出现时,就将关闭指令输出到NLP模块。
所述回声消除装置进一步包括舒适噪声产生模块,用于产生舒适噪声,并将该舒适噪声输出到NLP模块,
同时,所述NLP模块接收到近端信号状态判断模块的启动指令时,将接收到的舒适噪声替代回声输出到远端。
所述舒适噪声产生模块包括:
钳制幅值输入模块,用于保存舒适噪声的钳制幅值,并将钳制幅值输出到舒适噪声幅值更新模块;
舒适噪声幅值更新模块,根据近端信号状态判断模块的输出和钳制幅值输入模块的输出更新当前舒适噪声的幅值;
舒适噪声确定模块,根据舒适噪声幅值更新模块输出的噪声幅值产生舒适噪声,并输出到NLP模块;
同时,所述近端信号状态判断模块判定近端输入信号为噪声时,近端信号状态判断模块进一步将该噪声幅值作为新的舒适噪声幅值输出到舒适噪声幅值更新模块用于更新舒适噪声幅值。
所述回声消除装置进一步包括远端信号状态判断模块,用于判断远端输入信号为语音还是噪声,并将远端输入信号状态输出到近端信号状态判断模块,
同时,近端信号状态判断模块在进一步判断近端输入信号是否为回声前,进一步判断接收到的远端输入信号状态为语音还是噪声,如果为语音,就直接判断近端输入信号是否为回声,如果为噪声,就重新设置当前近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声。
所述远端信号状态判断模块包括:
远端噪声阈值输入模块,用于保存远端信号噪声阈值并将其输出到远端 比较模块;
远端比较模块,通过比较当前远端信号能量参数和远端信号噪声阈值,判断当前远端输入信号为语音还是噪声,并将判断结果输出到近端信号状态判断模块,
同时,所述远端信号计算搜索模块进一步将当前远端输入信号能量参数输出到远端比较模块。
一种回声消除方法,该方法包括:
A、初步判断近端输入信号为语音还是噪声,保存该初步判断结果;
B、以当前近端输入信号所处时刻为根据,搜索远端输入信号在预定时延范围内的能量参数的最大值;
C、计算近端输入信号的能量参数,根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值,进一步判断近端输入信号是否为回声,如果是,启动NLP处理,否则,如果初步判断结果为语音,则关闭NLP处理,如果初步判断结果为噪声,则保持当前的NLP处理状态。
步骤B所述预定时延范围为从近端输入信号所处时刻减去纯时延再减去动态时延的一半得到的时刻起,到近端输入信号所处时刻减去纯时延再加上动态时延的一半得到的时刻止。
所述纯时延为100至150毫秒之间的任一值,所述动态时延为80毫秒。
所述步骤B和C之间进一步包括,判断当前远端输入信号为语音还是噪声,如果当前远端输入信号为语音,就直接执行步骤C;否则,重新设置近端输入信号的初步判断结果为语音后,执行步骤C。
该回声消除方法进一步包括预先设置一个远端信号噪声阈值,所述判断当前远端输入信号为语音还是噪声是通过比较当前远端输入信号能量参数与远端信号噪声阈值得到的,如果前者小于后者,判定远端输入信号为噪声;否则,判定远端输入信号为语音。
所述步骤C在启动或关闭NLP处理前进一步包括:保存当前近端输入 信号的状态,并结合前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当变化趋向为回声出现时,就启动NLP处理,并将NLP过渡时间变量由平滑过渡长度值递减至0,当变化趋向为语音出现时,就关闭NLP处理,将NLP过渡时间变量由0递增至平滑过渡长度值。
所述步骤A在初步判定近端输入信号为噪声后,进一步包括,将该噪声幅值作为用于NLP处理的新的舒适噪声幅值。
该回声消除方法进一步包括预先设置一个钳制幅值,并在步骤C在启动NLP处理之后进一步包括:判断舒适噪声幅值是否大于钳制幅值,如果是,则将钳制幅值作为新的舒适噪声幅值;否则,保留当前的舒适噪声幅值。
该回声消除方法进一步包括预先设置一个近端信号噪声阈值,所述判断近端输入信号为语音还是噪声是通过比较近端输入信号的能量参数与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。
该回声消除方法进一步包括预先设置一个近端信号噪声阈值,所述判断近端输入信号为语音还是噪声是通过比较近端分段信号的能量参数的最大值与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。
步骤C所述近端输入信号为近端分段信号。
步骤C所述近端输入信号为步骤A中的近端输入信号经分段后的第一段近端分段信号,
同时,所述步骤C之后进一步包括:
C1、依次判断第二段近端分段信号及其后的近端分段信号是否为回声,如果是,执行步骤C2;否则,执行步骤C3;
C2、如果前一段近端分段信号为语音或噪声,则启动NLP处理;如果前一段近端分段信号为回声,则保持当前的NLP处理状态,本流程结束;
C3、如果近端输入帧信号的初步判断结果为语音且前一段近端分段信号为回声或噪声,则关闭NLP处理;如果近端输入帧信号的初步判断结果为语音且前一段近端分段信号为语音或如果近端输入帧信号的初步判断结果为噪声,则保持当前的NLP处理状态。
步骤C所述根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值进一步判断近端输入信号是否为回声为:比较近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值经衰减后的值,若前者小于后者,判定近端输入信号为回声。
与现有技术相比,本发明首先初步判断近端输入信号为语音还是噪声,然后根据近端输入信号能量参数和远端输入信号在预定时延范围内能量参数的最大值,进一步判断近端输入信号是否为回声,实现了对NLP启动和关闭的控制。由于降噪处理会抑制掉一部分回声,因此,本发明不作该项处理,在简化算法的同时也节省了时间;由于本发明通过两次比较判断近端输入信号状态,保证了算法的精确度,且省却了对静音电平的检测和修正,节省了时间;同时,本发明将搜索范围限定在预定时延内,与现有技术每次都要估计回声时延确定“回声点”相比,算法的复杂度降低且减少了处理时间。由以上分析可知,本发明算法简单且节省了处理时间,使得回声控制器(EC,Echo Controller)模块在***中配置灵活。
附图说明
图1为数字无线网络中的回声示意图;
图2为现有技术实现声学回声消除装置的结构框图;
图3为本发明实现回声消除装置的总体结构框图;
图4为本发明实现回声消除装置的一个实施例的结构框图;
图5为图4所示的回声消除装置的详细结构框图;
图6为本发明实现回声消除的总体流程图;
图7为本发明实现声学回声消除的一个具体实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
图3是本发明实现回声消除装置的总体结构框图,该结构框图包含了本发明装置实现回声消除的必要模块,如图3所示,本发明装置包括:
远端信号计算搜索模块31:用于根据近端输入信号所处时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块32。
近端信号状态判断模块32:首先,该模块将当前近端输入信号所处时刻输出到远端信号计算搜索模块31;然后,该模块用于初步判断近端输入信号为语音还是噪声,并保存该初步判断结果;最后,用于根据近端输入信号能量参数和远端输入信号在预定时延范围内的能量参数的最大值进一步判断近端输入信号是否为回声,如果是,则将启动指令输出到NLP模块33,否则,判定近端输入信号状态与初步判断结果相同,如果初步判断结果为语音,则将关闭指令输出到NLP模块33,如果初步判断结果为噪声,保持当前的NLP模块33的状态。
NLP模块33:当接收到近端信号状态判断模块32的启动指令时,该模块启动;当接收到近端信号状态判断模块32的关闭指令时,该模块关闭。
图4为本发明实现回声消除装置的一个实施例的结构框图,如图4所示,在实际应用中,本发明还可以包括以下两个模块:
远端信号状态判断模块34:用于接收远端信号计算搜索模块31输出的当前远端信号能量参数,并根据此能量参数判断当前远端输入信号为语音还是噪声,并将当前远端输入信号状态输出到近端信号状态判断模块32,近端信号状态判断模块32接收到远端输入信号为语音时,开始进一步判断近端输入信号是否为回声;近端信号状态判断模块32接收到远端输入信号为噪声时,就重新设置近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声。
舒适噪声产生模块35:用于产生舒适噪声,同时当近端信号状态判断模块32判定近端输入信号为噪声时,就将该噪声幅值作为新的舒适噪声幅 值输出到舒适噪声产生模块35,舒适噪声产生模块35更新舒适噪声幅值后将新的舒适噪声输出到NLP模块35,用于NLP处理。
图5为图4所示的回声消除装置的详细结构框图,如图5所示,远端信号计算搜索模块31包括以下子模块:
远端信号能量参数计算模块301:用于接收远端输入信号,计算远端输入信号的平滑短时功率,并将其输出到远端信号能量参数搜索模块302和远端比较模块304。
远端信号能量参数搜索模块302:用于接收远端信号能量参数计算模块301的输出,并将其保存到循环队列中,并以当前近端输入信号所处时刻为根据,搜索远端输入信号在预定时延范围内的分段平滑短时功率的最大值,并将此最大值输出到近端比较模块307。
远端信号状态判断模块34包括以下子模块:
远端噪声阈值输入模块303:用于保存远端信号噪声阈值,并将远端信号噪声阈值输出到远端比较模块304。
远端比较模块304:用于根据当前远端输入信号能量参数和远端信号噪声阈值判断当前远端输入信号为语音还是噪声,并将远端输入信号状态输出到近端比较模块307。
近端信号状态判断模块32包括以下子模块:
近端噪声阈值输入模块305:用于保存近端信号噪声阈值,并将近端信号噪声阈值输出到近端比较模块307。
近端信号能量参数计算模块306:用于接收近端输入信号,并将当前近端输入信号所处时刻输出到远端信号能量参数搜索模块302,然后计算当前近端输入信号的平滑短时功率或计算近端输入信号粗略分段或详细分段后的分段短时平滑功率,并将近端输入信号平滑短时功率的粗略分段平滑短时功率的最大值或详细分段平滑短时功率输出到近端比较模块307。
近端比较模块307:该模块的功能有两个,
功能一,用于接收并保存近端噪声阈值输入模块305输出的近端信号噪声阈值,并根据近端信号能量参数计算模块306的输出和近端信号噪声阈值初步判断近端输入信号为语音还是噪声,并保存该近端输入信号初步判断结果,如果近端输入信号判定为噪声,则将该噪声幅值作为新的舒适噪声幅值输入到舒适噪声幅值更新模块310;
功能二,当接收到远端比较模块304输出的远端输入信号状态为语音时,该模块用于进一步判断近端输入信号是否为回声,当接收到远端比较模块304输出的远端输入信号为噪声时,该模块就重新设置当前近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声;如果近端输入信号不是回声且近端输入信号不分段时,根据初步判断结果确定近端输入信号状态,如果近端输入信号不是回声且近端输入信号分段时,根据初步判断结果或者综合考虑初步判断结果和前一段近端分段信号判断结果确定近端分段信号状态,最后将近端输入信号状态的判定结果输出到近端信号动态变化趋向判断模块308。
近端信号动态变化趋向判断模块308:该模块用于接收并保存近端比较模块307的输出,并根据当前近端输入信号的状态和已保存的前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当近端输入信号的变化趋向为有回声出现时,就将启动指令输出到NLP模块312;当近端输入信号的变化趋向为有语音出现时,就将关闭指令输出到NLP模块312。
在实际应用中,近端信号状态判断模块32可以不包含近端信号动态变化趋向判断模块308,此时,如果近端比较模块307判定分段或不分段的近端输入信号为回声,就将启动指令输出到NLP模块312;如果判定为语音,就将关闭指令输出到NLP模块312;如果判定为噪声,就保持当前的NLP模块312状态。
舒适噪声产生模块35包括以下子模块:
钳制幅值输入模块309:用于保存舒适噪声的钳制幅值,并将其输出到 舒适噪声幅值更新模块310。
舒适噪声幅值更新模块310:用于根据近端比较模块307的输出和钳制幅值输入模块309的输出更新当前舒适噪声幅值,将更新后的舒适噪声幅值输出到舒适噪声确定模块311。
舒适噪声确定模块311:用于产生初始舒适噪声,并根据舒适噪声幅值更新模块310输出的舒适噪声幅值更新当前舒适噪声,将舒适噪声输出到NLP模块312。
NLP模块33即NLP模块312:当接收到近端信号动态变化趋向模块308或近端比较模块307的启动指令时,该模块启动,并根据舒适噪声确定模块311输出的舒适噪声代替回声后输出到远端;当接收到近端信号动态变化趋向模块308或近端比较模块307的关闭指令时,该模块关闭;否则,该模块保持当前状态。
图6为本发明实现回声消除的总体流程图,该流程图包含了本发明方法实现回声消除的必要步骤,如图6所示,实现声学回声消除的具体步骤如下:
步骤601:近端信号状态判断模块32接收近端输入信号,并计算近端输入信号能量参数。
步骤602:近端信号状态判断模块32将当前近端输入信号所处时刻输出到远端信号计算搜索模块31,然后判断近端输入信号是否为语音,如果是,执行步骤603;否则,执行步骤604。
步骤603:近端信号状态判断模块32初步判定近端输入信号为语音,保存该近端输入信号的状态,并执行步骤605。
步骤604:近端信号状态判断模块32初步判定近端输入信号为噪声,保存该近端输入信号的状态。
步骤605:远端信号计算搜索模块31接收到当前近端输入信号所处时刻后,根据此时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块32。
步骤606:近端信号状态判断模块32比较近端输入信号能量参数与远端输入信号能量参数的最大值经衰减后的值,如果前者小于后者,执行步骤607;否则,执行步骤608。
步骤607:近端信号状态判断模块32判定当前近端输入信号的状态为回声,NLP模块33启动NLP处理。
步骤608:近端信号状态判断模块32判断初步判断结果是否为语音,如果是,执行步骤609;否则,执行步骤610。
步骤609:NLP模块33关闭NLP处理。
步骤610:NLP模块33保持当前的处理状态。
具体实施例一:
本实施例实现回声消除时,在判断近端输入信号是否为回声时,是针对输入的整帧信号进行判断的,即没有对该帧信号进行分段处理,将不分段的该帧信号称为近端输入帧信号,图7为本发明实现声学回声消除的一个具体实施例的流程图,为图6步骤的具体描述,如图7所示,实现声学回声消除的具体步骤如下:
步骤701:近端信号能量参数计算模块306接收近端输入帧信号后,将当前近端输入帧信号所处时刻输出到远端信号能量参数搜索模块302,并计算近端输入帧信号的平滑短时功率SPower,并将SPower输出到近端比较模块307。
步骤702:近端比较模块307比较SPower与已保存的近端噪声阈值输入模块305输出的近端输入信号的噪声阈值SNoise,如果SPower>SNoise,则执行步骤703;否则,执行步骤704。
步骤703:近端比较模块307初步判定近端输入帧信号为语音,保存该近端输入帧信号的状态,并执行步骤705。
步骤704:近端比较模块307初步判定近端输入帧信号为噪声,保存该近端输入帧信号的状态,并将该近端输入帧信号的噪声幅值作为新的舒适噪 声幅值输出到舒适噪声幅值更新模块310。
步骤705:远端信号能量参数计算模块301接收远端输入信号后,计算远端输入信号的平滑短时功率RPower,并将RPower输出到远端信号能量参数搜索模块302和远端比较模块304。
步骤706:远端比较模块304比较RPower与已保存的远端噪声阈值输入模块303输出的远端输入信号的噪声阈值RNoise,如果RPower<RNoise,执行步骤707~708;否则,执行步骤709。
步骤707:远端比较模块304判定远端输入信号为噪声,并将该远端信号状态输出到近端比较模块307。
步骤708:近端比较模块307接收到远端比较模块304的输出为噪声后,将近端输入帧信号的初步状态重新设置为语音,并保存该初步状态,转至步骤710。
步骤709:远端比较模块304判定远端输入信号为语音,并将该状态输出到近端比较模块307。
步骤710:远端信号能量参数搜索模块302接收并保存远端信号能量参数,并根据当前近端输入帧信号所处时刻,搜索远端输入信号在预定时延范围内的平滑短时功率RPower的最大值RMPower,并将RMPower输出到近端比较模块307。预定时延范围为从当前近端输入信号所处时刻减去纯时延再减去动态时延的一半所得到的时刻起,到近端输入信号所处时刻减去纯时延再加上动态时延的一半得到的时刻止,通常,纯时延取值为100~150毫秒之间的任一值,动态时延取值为80毫秒。
步骤711:近端比较模块307比较SPower与RMPower/B,其中B是衰减值,由经验确定,如果SPower<RMPower/B,则执行步骤712;否则,执行步骤713。
步骤712:近端比较模块307判定当前近端输入帧信号的状态为回声,并将该近端输入帧信号的状态输出到近端信号动态变化趋向判断模块308,然后转至步骤714。
步骤713:近端比较模块307判定当前近端输入帧信号的状态与近端输入帧信号的初步判断结果相同,并将该近端输入帧信号的状态输出到近端信号动态变化趋向判断模块308。
步骤714:近端信号动态变化趋向判断模块308保存当前的近端输入帧信号的状态,并结合已保存的前一次近端输入帧信号的状态,判断近端输入帧信号的动态变化趋向,近端输入帧信号的动态变化趋向有四种:有回声出现即由语音或噪声过渡到回声,持续回声即由回声到回声,有语音出现即由回声或噪声过渡到语音,保持语音即由语音到语音。
步骤715:近端信号动态变化趋向判断模块308判断近端输入帧信号的动态变化趋向是否为有回声出现,如果是,执行步骤716~719;否则,执行步骤720~722。
步骤716:舒适噪声幅值更新模块310比较当前舒适噪声幅值与钳制幅值输入模块309输出的钳制幅值,如果前者大于后者,则执行步骤717;否则,执行步骤718。
步骤717:舒适噪声幅值更新模块310以钳制幅值代替当前的舒适噪声幅值后输出到舒适噪声确定模块311,舒适噪声确定模块311将新的舒适噪声输出到NLP模块312,然后转至步骤719。
步骤718:舒适噪声幅值更新模块310保持当前的舒适噪声幅值不变,舒适噪声确定模块311将当前舒适噪声输出到NLP模块312。
步骤719:NLP模块312开始NLP处理,即对舒适噪声c(n)和残留回波e(n)之间进行切换,切换输出为Sout(n),为了获得在c(n)与e(n)之间的平滑切换,使用如下内插函数:
Sout ( n ) = ( M - ramp ) · c ( n ) + ramp · e ( n ) M
其中,M是平滑过渡的长度;ramp是过渡时间变量,它的变化范围是0~M,显然,切换平滑程度是由ramp和M共同决定的,有回声出现时,ramp由M递减至0。
步骤720:近端信号动态变化趋向判断模块308判断近端输入帧信号动态变化趋向是否为有语音出现,如果是,执行步骤721;否则,执行步骤722。
步骤721:NLP模块312关闭NLP处理,此时,将内插函数
Sout ( n ) = ( M - ramp ) · c ( n ) + ramp · e ( n ) M
中的ramp由0递增至M。
步骤722:NLP模块312保持NLP处理状态不变。
需要说明的是,近端比较模块307接收到远端比较模块304的输出为语音后,开始根据近端信号能量参数和远端信号在动态时延范围内的最大值判断近端输入信号是否为回声。
具体实施例二:
本实施例实现回声消除时,在判断近端输入信号是否为回声前,对近端输入的帧信号进行了分段处理,将分段后的每一段信号称为近端分段信号。该实施例与具体实施例一的差别是:
步骤710和步骤711之间进一步包括,近端信号能量参数计算模块306进一步将近端输入的帧信号进行分段后,计算第一段近端分段信号的分段平滑短时平滑功率SLPower,并将SLPower输出到近端比较模块307。同时,步骤711中的SPower改为“SLPower”,即近端比较模块307判断第一段近端分段信号是否为回声。
步骤712~722中的近端输入帧信号都替换为“第一段近端分段信号”。
其余步骤与具体实施例一相同。
需要指出的是,以上是对第一段近端分段信号进行处理的流程,在此之后,继续对第二段及其以后的分段信号重复步骤706~722,直至将近端输入的该帧信号所有的分段信号都处理完为止。
在实际应用中,对所有的具体实施例,在初步判断近端输入帧信号为语音还是噪声时,为了使判断更精确,步骤701和702也可作如下替换:
步骤701:将近端输入帧信号粗略分段后,依次计算每段信号的平滑短 时功率,然后搜索所有平滑短时功率的最大值SMPower。
步骤702中的SPower改为“SMPower”,即通过比较近端输入帧信号平滑短时功率的最大值SMPower与近端信号噪声阈值初步判断近端输入帧信号为语音还是噪声。
另外,对于在进一步判断近端输入信号是否为回声前将近端输入的帧信号进行分段的具体实施例,考虑到语音帧信号的连续性,步骤707和709在现有步骤之后分别进一步包括,近端比较模块307保存该当前远端输入信号状态,同时,步骤713作如下替换:
步骤713:近端比较模块307首先判断接收到的当前远端输入信号状态是否为语音,如果当前远端输入信号状态是语音,则当前近端分段信号状态与前一段近端分段信号的状态相同,且如果第一段近端分段信号为非回声,则判定第一段近端分段信号的状态与近端输入信号的初步判断结果相同,并将当前近端分段信号的状态输出到近端信号动态变化趋向判断模块308;如果当前远端输入信号状态是噪声,则判定当前近端分段信号的状态为语音,并将当前近端分段信号的状态输出到近端信号动态变化趋向判断模块308。
另外,在所有具体实施例中,近端输入信号与远端输入信号的能量参数也可用能量或电平来表示。
同时,本发明也适用于电学回声的消除。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (21)

1.一种回声消除装置,包括用于对回声进行非线性处理的非线性处理器NLP模块,其特征在于,进一步包括: 
远端信号计算搜索模块,用于根据当前近端输入信号所处时刻,搜索远端输入信号在预定时延范围内的能量参数的最大值,并将该最大值输出到近端信号状态判断模块; 
近端信号状态判断模块,用于将当前近端输入信号所处时刻输出到远端信号计算搜索模块,初步判断近端输入信号为语音还是噪声,保存该初步判断结果,同时,用于根据近端输入信号能量参数和远端输入信号在预定时延范围内的能量参数的最大值进一步判断近端输入信号是否为回声,如果是,将启动指令输出到NLP模块,否则,如果初步判断结果为语音,则将关闭指令输出到NLP模块,如果初步判断结果为噪声,则保持当前的NLP模块的状态。 
2.如权利要求1所述的装置,其特征在于,所述远端信号计算搜索模块包括: 
远端信号能量参数计算模块,用于计算远端输入信号的能量参数,并将远端输入信号的能量参数输出到远端信号能量参数搜索模块; 
远端信号能量参数搜索模块,用于接收并保存远端信号能量参数,并根据当前近端输入信号所处时刻搜索远端输入信号在预定时延范围内能量参数的最大值,并将该最大值输出到近端信号状态判断模块。 
3.如权利要求1所述的装置,其特征在于,所述近端信号状态判断模块包括: 
近端噪声阈值输入模块,用于保存近端信号噪声阈值并将其输出到近端比较模块; 
近端信号能量参数计算模块,用于接收近端输入信号,并将当前近端输入信号所处时刻输出到远端信号计算搜索模块,同时计算近端输入信号的能 量参数,并将近端输入信号能量参数输出到近端比较模块; 
近端比较模块,用于根据近端输入信号能量参数和近端信号噪声阈值初步判断近端输入信号为语音还是噪声,同时用于根据远端输入信号在预定时延范围内的能量参数最大值和近端输入信号能量参数进一步判断近端输入信号是否为回声,如果为回声则将启动指令输出到NLP模块,否则,如果初步判断为语音则将关闭指令输出到NLP模块,如果初步判断为噪声,保持当前的NLP模块的状态。 
4.如权利要求3所述的装置,其特征在于,所述近端信号状态判断模块进一步包括近端信号动态变化趋向判断模块,用于接收并保存近端比较模块的输出,并结合已保存的前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当近端输入信号的变化趋向为有回声出现时,就将启动指令输出到NLP模块,当近端输入信号的变化趋向为有语音出现时,就将关闭指令输出到NLP模块。 
5.如权利要求1所述的装置,其特征在于,所述装置进一步包括舒适噪声产生模块,用于产生舒适噪声,并将该舒适噪声输出到NLP模块, 
同时,所述NLP模块接收到近端信号状态判断模块的启动指令时,将接收到的舒适噪声替代回声输出到远端。 
6.如权利要求5所述的装置,其特征在于,所述舒适噪声产生模块包括:
钳制幅值输入模块,用于保存舒适噪声的钳制幅值,并将钳制幅值输出到舒适噪声幅值更新模块;
舒适噪声幅值更新模块,根据近端信号状态判断模块的输出和钳制幅值输入模块的输出更新当前舒适噪声的幅值;
舒适噪声确定模块,根据舒适噪声幅值更新模块输出的噪声幅值产生舒适噪声,并输出到NLP模块;
同时,所述近端信号状态判断模块判定近端输入信号为噪声时,近端信 号状态判断模块进一步将该噪声幅值作为新的舒适噪声幅值输出到舒适噪声幅值更新模块用于更新舒适噪声幅值。 
7.如权利要求1所述的装置,其特征在于,所述装置进一步包括远端信号状态判断模块,用于判断远端输入信号为语音还是噪声,并将远端输入信号状态输出到近端信号状态判断模块, 
同时,近端信号状态判断模块在进一步判断近端输入信号是否为回声前,进一步判断接收到的远端输入信号状态为语音还是噪声,如果为语音,就直接判断近端输入信号是否为回声,如果为噪声,就重新设置当前近端输入信号的初步判断结果为语音,然后进一步判断近端输入信号是否为回声。 
8.如权利要求7所述的装置,其特征在于,所述远端信号状态判断模块包括: 
远端噪声阈值输入模块,用于保存远端信号噪声阈值并将其输出到远端比较模块; 
远端比较模块,通过比较当前远端信号能量参数和远端信号噪声阈值,判断当前远端输入信号为语音还是噪声,并将判断结果输出到近端信号状态判断模块, 
同时,所述远端信号计算搜索模块进一步将当前远端输入信号能量参数输出到远端比较模块。 
9.一种回声消除方法,其特征在于,该方法包括: 
A、初步判断近端输入信号为语音还是噪声,保存该初步判断结果; 
B、以当前近端输入信号所处时刻为根据,搜索远端输入信号在预定时延范围内的能量参数的最大值; 
C、计算近端输入信号的能量参数,根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值,进一步判断近端输入信号是否为回声,如果是,启动NLP处理,否则,如果初步判断结果为语音,则关闭NLP处理,如果初步判断结果为噪声,则保持当前的NLP处理状态。 
10.如权利要求9所述的方法,其特征在于,步骤B所述预定时延范围为从近端输入信号所处时刻减去纯时延再减去动态时延的一半得到的时刻起,到近端输入信号所处时刻减去纯时延再加上动态时延的一半得到的时刻止。
11.如权利要求10所述的方法,其特征在于,所述纯时延为100至150毫秒之间的任一值,所述动态时延为80毫秒。
12.如权利要求9所述的方法,其特征在于,所述步骤B和C之间进一步包括,判断当前远端输入信号为语音还是噪声,如果当前远端输入信号为语音,就直接执行步骤C;否则,重新设置近端输入信号的初步判断结果为语音后,执行步骤C。
13.如权利要求12所述的方法,其特征在于,该方法进一步包括预先设置一个远端信号噪声阈值,所述判断当前远端输入信号为语音还是噪声是通过比较当前远端输入信号能量参数与远端信号噪声阈值得到的,如果前者小于后者,判定远端输入信号为噪声;否则,判定远端输入信号为语音。
14.如权利要求9所述的方法,其特征在于,所述步骤C在启动或关闭NLP处理前进一步包括:保存当前近端输入信号的状态,并结合前一次近端输入信号的状态判断近端输入信号的动态变化趋向,当变化趋向为回声出现时,就启动NLP处理,并将NLP过渡时间变量由平滑过渡长度值递减至0,当变化趋向为语音出现时,就关闭NLP处理,将NLP过渡时间变量由0递增至平滑过渡长度值。
15.如权利要求9所述的方法,其特征在于,所述步骤A在初步判定近端输入信号为噪声后,进一步包括,将该噪声幅值作为用于NLP处理的新的舒适噪声幅值。
16.如权利要求9所述的方法,其特征在于,该方法进一步包括预先设置一个钳制幅值,
且,当步骤A所述近端输入信号初步判断结果为噪声时,以该噪声幅 值作为当前的舒适噪声幅值;
并在步骤C在启动NLP处理之后进一步包括:判断当前的舒适噪声幅值是否大于钳制幅值,如果是,则将钳制幅值作为新的舒适噪声幅值,以舒适噪声替代回声输出到远端;否则,保留当前的舒适噪声幅值,以舒适噪声替代回声输出到远端。
17.如权利要求9所述的方法,其特征在于,该方法进一步包括预先设置一个近端信号噪声阈值,所述判断近端输入信号为语音还是噪声是通过比较近端输入信号的能量参数与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。
18.如权利要求9所述的方法,其特征在于,该方法进一步包括预先设置一个近端信号噪声阈值,
且,所述步骤A之前进一步包括:对近端输入信号进行分段,将分段后的每一段信号称为近端分段信号;
所述判断近端输入信号为语音还是噪声是通过比较近端分段信号的能量参数的最大值与近端信号噪声阈值得到的,如果前者小于后者,判定近端输入信号为噪声;否则,判定近端输入信号为语音。
19.如权利要求9所述的方法,其特征在于,步骤C所述近端输入信号为近端分段信号。
20.如权利要求9所述的方法,其特征在于,步骤C所述近端输入信号为步骤A中的近端输入信号经分段后的第一段近端分段信号,
同时,所述步骤C之后进一步包括:
C1、依次判断第二段近端分段信号及其后的近端分段信号是否为回声,如果是,执行步骤C2;否则,执行步骤C3;
C2、如果前一段近端分段信号为语音或噪声,则启动NLP处理;如果前一段近端分段信号为回声,则保持当前的NLP处理状态,本流程结束;
C3、如果近端输入帧信号的初步判断结果为语音且前一段近端分段信号 为回声或噪声,则关闭NLP处理;如果近端输入帧信号的初步判断结果为语音且前一段近端分段信号为语音或如果近端输入帧信号的初步判断结果为噪声,则保持当前的NLP处理状态。
21.如权利要求9所述的方法,其特征在于,步骤C所述根据近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值进一步判断近端输入信号是否为回声为:比较近端输入信号的能量参数与步骤B得到的远端输入信号能量参数的最大值经衰减后的值,若前者小于后者,判定近端输入信号为回声。 
CN 200410091603 2004-11-23 2004-11-23 一种回声消除装置和方法 Expired - Fee Related CN1780165B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN 200410091603 CN1780165B (zh) 2004-11-23 2004-11-23 一种回声消除装置和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN 200410091603 CN1780165B (zh) 2004-11-23 2004-11-23 一种回声消除装置和方法

Publications (2)

Publication Number Publication Date
CN1780165A CN1780165A (zh) 2006-05-31
CN1780165B true CN1780165B (zh) 2011-07-27

Family

ID=36770305

Family Applications (1)

Application Number Title Priority Date Filing Date
CN 200410091603 Expired - Fee Related CN1780165B (zh) 2004-11-23 2004-11-23 一种回声消除装置和方法

Country Status (1)

Country Link
CN (1) CN1780165B (zh)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100524467C (zh) * 2006-07-17 2009-08-05 深圳市迪威新软件技术有限公司 会议电视***的回声处理方法
JP5076783B2 (ja) * 2007-09-28 2012-11-21 ヤマハ株式会社 エコー除去装置
CN101820302B (zh) * 2009-02-27 2013-10-30 比亚迪股份有限公司 一种回声消除装置
CN102223157B (zh) * 2010-04-16 2013-12-18 联芯科技有限公司 残留回声消除器和残留回声消除方法
CN103533193B (zh) * 2012-07-04 2016-07-06 中兴通讯股份有限公司 残留回波消除方法及装置
US10594358B2 (en) 2017-04-21 2020-03-17 Futurewei Technologies, Inc. Leakage signal cancellation
CN109286730A (zh) * 2017-07-20 2019-01-29 阿里巴巴集团控股有限公司 一种回声检测的方法、装置及***
CN111246034B (zh) * 2020-01-13 2022-02-18 深圳震有科技股份有限公司 一种智能话机信号处理方法、信号处理器及存储介质

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1223036A (zh) * 1996-06-19 1999-07-14 诺基亚电信公司 回波消除器中的回波抑制器和非线性处理器

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1223036A (zh) * 1996-06-19 1999-07-14 诺基亚电信公司 回波消除器中的回波抑制器和非线性处理器

Also Published As

Publication number Publication date
CN1780165A (zh) 2006-05-31

Similar Documents

Publication Publication Date Title
KR101017766B1 (ko) 핸드 프리 장치에서의 스펙트럼 도메인 비선형 반향 제거방법
US6574336B1 (en) Echo suppressor and non-linear processor of echo canceller
US6928160B2 (en) Estimating bulk delay in a telephone system
US8861713B2 (en) Clipping based on cepstral distance for acoustic echo canceller
US6792107B2 (en) Double-talk detector suitable for a telephone-enabled PC
US8098812B2 (en) Method of controlling an adaptation of a filter
CN103077726B (zh) 用于线性声学回声消除***的预处理和后处理
JP2006191650A (ja) エコー打消装置においてエコーの位置を決定する方法
EP2059014B1 (en) Echo canceller and echo cancelling program
JPS62107533A (ja) 伝送回路網
JPH03113923A (ja) エコー補償装置
EP0853844B1 (en) Echo cancelling system for digital telephony applications
AU5291893A (en) Network echo canceller
US8199907B2 (en) Echo canceller and echo cancelling method and program
WO2005043772A1 (ja) エコーキャンセラ
WO1995031051A1 (fr) Compensateur d'echo et son procede d'apprentissage
US6757384B1 (en) Robust double-talk detection and recovery in a system for echo cancelation
CN1780165B (zh) 一种回声消除装置和方法
JP2001521705A (ja) 接続の両側のエコーを制御する方法と装置
US20070058798A1 (en) Echo canceller
CN111355855A (zh) 回声处理方法、装置、设备及存储介质
KR100272131B1 (ko) 계층적 구조의 적응반향 제거장치
Puder et al. Implementation of a hands-free car phone with echo cancellation and noise-dependent loss control
JP3303524B2 (ja) エコーキャンセラ学習方法
EP2223522B1 (en) Non linear acoustic feedback suppression in a telephone device

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

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.

TR01 Transfer of patent right
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20110727

CF01 Termination of patent right due to non-payment of annual fee