CN111970410B - 回声消除方法及装置、存储介质、终端 - Google Patents
回声消除方法及装置、存储介质、终端 Download PDFInfo
- Publication number
- CN111970410B CN111970410B CN202010874735.2A CN202010874735A CN111970410B CN 111970410 B CN111970410 B CN 111970410B CN 202010874735 A CN202010874735 A CN 202010874735A CN 111970410 B CN111970410 B CN 111970410B
- Authority
- CN
- China
- Prior art keywords
- echo
- signal
- microphone
- energy
- primary
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M9/00—Arrangements for interconnection not involving centralised switching
- H04M9/08—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic
- H04M9/082—Two-way loud-speaking telephone systems with means for conditioning the signal, e.g. for suppressing echoes for one or both directions of traffic using echo cancellers
Landscapes
- Engineering & Computer Science (AREA)
- Signal Processing (AREA)
- Cable Transmission Systems, Equalization Of Radio And Reduction Of Echo (AREA)
- Telephone Function (AREA)
Abstract
一种回声消除方法及装置、存储介质、终端,回声消除方法包括:检测下行语音链路的信号的能量,以确定是否存在回声;如果存在回声,则计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。本发明技术方案能够提升语音通话过程中的回声消除效果,提高通话质量。
Description
技术领域
本发明涉及语音通话技术领域,尤其涉及一种回声消除方法及装置、存储介质、终端。
背景技术
在音频系统中,因为扬声器与麦克风的耦合,使得在受话端由扬声器播放出的声音被设备上的麦克风接收并传给远端讲话者,形成声学回声。声学回声包括直接回声和间接回声,直接回声是由扬声器播放出来然后直接传播到麦克风的声音;而间接回声是指由扬声器播放出的声音,经过不同路径的一次或多次反射后进入麦克风的回声集合。声学回声通过信道延迟后传回给远端说话者,使远端说话者听到自己的声音,影响着音频通讯的质量。特别是在免提通话的情况下,能量过大的回声会给远端的通话者造成语义理解的干扰,影响着正常的通讯体验。随着通讯技术的革新,人们对于语音通讯的质量要求不断提高,移动通讯终端的声学回声消除(Acoustic Echo Cancellation,AEC)也成为了语音通讯质量的重要关注点。
为了去除回声对音频通讯的影响,20世纪60年代,贝尔电话实验室的Kelly第一个提出把自适应滤波器(Adaptive Digital Filter,ADF)用于声学回声消除,Sondhi的论文中认同了Kelly的贡献并对该发明进行了改进。此外,由于手持设备的小型化,使得其采用的微型扬声器相对常规尺寸的扬声器小很多,为了满足免提通讯音量,微型扬声器常常工作在非线性区域,音频失真严重。非线性处理是回声消除过程中的一个重点。与自适应滤波不同的是,非线性处理没有一致公认的算法,这也是市面上回声消除算法具有区别的主要原因。因为非线性回声的主要来源是工作在非线性区域的微型扬声器,所以有人提出了对参考信号进行非线性处理以模拟扬声器的非线性,然后用处理后的信号当做参考信号进行自适应滤波。但是扬声器产生非线性的原因是多种多样的,要准确模拟扬声器的非线性十分困难,所以这种算法的回声消除量相比于下行做参考的算法的回声消除量提升并不会很明显。根据模拟扬声器非线性这个思路,有人想到了采用多麦克风的方法:其中一个麦克风放置在扬声器附近专门负责采集回声,然后用采集到的信号作为参考对其他的麦克风进行自适应滤波。该方法可以准确地还原扬声器的非线性,回声消除的收敛效果相对好很多。
但是,现有技术中最理想的自适应滤波器也只能消除一部分的线性回声,无法消除非线性回声。在语音来源与扬声器的位置一致时(现实中的场景为人嘴靠近扬声器讲话),用两个麦克风相互做自适应回声消除会把语音也当成回声给消除掉;背景噪声能量很大时,用两个麦克风相互做自适应回声消除的收敛性会受到一定影响;此外,当两个麦克风中的回声能量都明显小于语音能量时,这样做自适应回声消除也会对语音造成损失,降低通话质量。
发明内容
本发明解决的技术问题是如何提升语音通话过程中的回声消除效果,提高通话质量。
为解决上述技术问题,本发明实施例提供一种回声消除方法,回声消除方法包括:检测下行语音链路的信号的能量,以确定是否存在回声;如果存在回声,则计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
可选的,所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值之前包括:如果不存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的语音能量差值;所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值包括:如果存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的总能量差值;计算所述总能量差值与所述语音能量差值的差值,以作为所述回声差值。
可选的,所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值包括:调整所述主麦克风的信号与所述副麦克风的信号,以使所述主麦克风的信号中的语音能量与所述副麦克风的信号中的语音能量相一致;计算调整后的所述主麦克风的信号与调整后的所述副麦克风的信号的差值,以作为所述回声差值。
可选的,所述调整所述主麦克风的信号与所述副麦克风的信号包括:计算所述主麦克风的信号与第一增益因子的乘积以及所述副麦克风的信号与第二增益因子的乘积,所述第一增益因子和所述第二增益因子是采用以下方式计算得到的:在不存在回声时,计算所述主麦克风的信号与所述副麦克风的信号的能量平均值;计算所述能量平均值与所述主麦克风的信号的比值,以作为所述第一增益因子;计算所述能量平均值与所述副麦克风的信号的比值,以作为所述第二增益因子。
可选的,所述根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波包括:如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述回声差值高于预设门限,则确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波;或者,如果所述回声差值表示所述副回声能量与所述主回声能量一致,则确定采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
可选的,所述根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波包括:如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述差值低于预设门限,则将来自所述主麦克风的信号按照频率划分为低频信号和高频信号;对于所述低频信号,确定采用来自所述下行语音链路的信号进行自适应滤波;对于所述高频信号,确定采用来自所述副麦克风的信号进行自适应滤波。
可选的,所述将来自所述主麦克风的信号按照频率划分为低频信号和高频信号包括:提取所述主麦克风的信号中频率低于预设阈值的信号,以作为所述低频信号;提取所述主麦克风的信号中频率高于预设阈值的信号,以作为所述高频信号。
为解决上述技术问题,本发明实施例还公开了一种回声消除装置,回声消除装置包括:回声检测模块,用于检测下行语音链路的信号的能量,以确定是否存在回声;回声差值计算模块,用于在存在回声时,计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;自适应滤波模块,用于根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
本发明实施例还公开了一种存储介质,其上存储有计算机程序,所述计算机程序被处理器运行时执行所述回声消除方法的步骤。
本发明实施例还公开了一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,所述处理器运行所述计算机程序时执行所述回声消除方法的步骤。
与现有技术相比,本发明实施例的技术方案具有以下有益效果:
本发明技术方案中,检测下行语音链路的信号的能量,以确定是否存在回声;如果存在回声,则计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。本发明技术方案通过计算主麦克风和副麦克风的回声差值,能够表征主麦克风和副麦克风中回声能量、语音能量和/或背景噪声之间的相对关系,从而能够根据回声差值的大小确定更合适的回声消除方案。相对于现有技术中选定一种回声消除方式应用于所有的场景,本发明技术方案能够在保证回声消除收敛性的基础上不会对语音造成损失,显著地提升回声消除的效果。
进一步地,如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述差值低于预设门限,则将来自所述主麦克风的信号按照频率划分为低频信号和高频信号;对于所述低频信号,确定采用来自所述下行语音链路的信号进行自适应滤波;对于所述高频信号,确定采用来自所述副麦克风的信号进行自适应滤波。本发明技术方案中,对于副回声能量和主回声能量相差较小的情况,通过将主麦克风的信号进行分频,并采用来自副麦克风的信号对低频信号进行自适应滤波,采用下行语音链路的信号对高频信号进行自适应滤波,能够避免对低频信号中语音造成损失,并保证对高频信号的收敛效果。
附图说明
图1是本发明实施例一种回声消除方法的流程图;
图2是图1所示步骤S102的一种具体实施方式的流程图;
图3是图1所示步骤S103的一种具体实施方式的流程图;
图4是本发明实施例一种具体应用场景的示意图;
图5是本发明实施例一种仿真效果的示意图;
图6是本发明实施例一种回声消除装置的结构示意图。
具体实施方式
如背景技术中所述,现有技术中最理想的自适应滤波器也只能消除一部分的线性回声,无法消除非线性回声。在语音来源与扬声器的位置一致时(现实中的场景为人嘴靠近扬声器讲话),用两个麦克风相互做自适应回声消除会把语音也当成回声给消除掉;背景噪声能量很大时,用两个麦克风相互做自适应回声消除的收敛性会受到一定影响;此外,当两个麦克风中的回声能量都明显小于语音能量时,这样做自适应回声消除也会对语音造成损失,降低通话质量。
本发明技术方案通过计算主麦克风和副麦克风的回声差值,能够表征主麦克风和副麦克风中回声能量、语音能量和/或背景噪声之间的相对关系,从而能够根据回声差值的大小确定更合适的回声消除方案。相对于现有技术中选定一种回声消除方式应用于所有的场景,本发明技术方案能够在保证回声消除收敛性的基础上不会对语音造成损失,显著地提升回声消除的效果。
为使本发明的上述目的、特征和优点能够更为明显易懂,下面结合附图对本发明的具体实施例做详细的说明。
图1是本发明实施例一种回声消除方法的流程图。
本发明实施例的回声消除方法可以用于具有语音通话功能的终端设备,如智能手机、电脑、智能手表等。所述终端设备设置有扬声器和至少两个麦克风;所述至少两个麦克风包括主麦克风和副麦克风,副麦克风可以是指设置在扬声器附近的麦克风,主要负责采集回声。主麦克风可以是指主要用于采集用户的通话语音的麦克风。
图1所示回声消除方法具体可以包括以下步骤:
步骤S101:检测下行语音链路的信号的能量,以确定是否存在回声;
步骤S102:如果存在回声,则计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;
步骤S103:根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
需要指出的是,本实施例中各个步骤的序号并不代表对各个步骤的执行顺序的限定。
当前终端设备与对端设备(或远端设备)在通话时会建立语音链路,下行语音链路是用于将对端设备的语音传输至当前终端设备的链路。由于下行语音链路的信号在经由当前终端设备的扬声器播放后被当前终端设备的麦克风采集,因此产生回声。故而,在步骤S101中通过检测下行语音链路的信号的能量,可以确定是否存在回声。
具体而言,如果下行语音链路的信号的能量低于预设值,则认为没有回声或者回声很小,这种情况可以确定不存在回声。反之,如果下行语音链路的信号的能量高于预设值,则认为存在回声。例如,x(n)表示当前帧的下行语音信号,mean_w(abs(x(n)))表示该下行语音信号幅值的加权均值,如果该均值小于阈值thr1,说明回声能量比较小,麦克风采集到的主要是近端语音和背景噪声。
可以理解的是,所述预设值可以根据实际的应用环境进行适应性调整,本发明实施例对此不作限制。
在双讲阶段,近端的语音和远端的回声同时存在,此时主麦克风和副麦克风会同时采集到语音和回声。主麦克风的信号包括语音信号和回声信号,副麦克风的信号包括语音信号和回声信号。本发明实施例所称主回声能量是指主麦克风的信号中回声信号的能量;本发明实施例所称副回声能量是指副麦克风的信号中回声信号的能量。
在步骤S102的具体实施中,可以计算得到主回声能量与副回声能量的回声差值。回声差值能够表征主麦克风和副麦克风中回声能量、语音能量和/或背景噪声之间的相对关系,例如,回声差值可以表示副回声能量大于主回声能量、副回声能量与主回声能量一致、背景噪声比副回声能量小但是比主回声能量大等。
也就是说,回声差值的大小可以表示当前终端设备所处的不同的状态,从而可以在步骤S103中根据回声差值的大小选择合适的自适应滤波方案,自适应滤波方案选自采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。上述自适应滤波方案可以采用自适应滤波器来实现。
本发明实施例中的自适应滤波器可以使用任意一种自适应滤波算法,包括但不限于最小均方(Least Mean Square,LMS)算法,归一化最小均方(normalized Least MeanSquare,NLMS)算法,仿射投影(Affine Projection,AP)算法,快速仿射投影(Fast AffineProjection,FAP)算法,最小平方(Least Square,LS)算法,递归最小二乘(RecursiveLeast Square,RLS)算法及这些算法的改进算法等。
相对于现有技术中选定一种回声消除方式应用于所有的场景,本发明技术方案克服各个回声消除算法的缺点,实现了既能有效抑制回声,又能保留自然清晰的双讲段语音的技术效果,并且能够适用于各种复杂情况的回声消除。
在本发明一个非限制性的实施例中,图1所示步骤S102之前还可以执行以下步骤:如果不存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的语音能量差值。
当前终端设备与对端设备在通话时,下行语音链路上的信号是间断性的,故而回声的存在也是间断性的。不存在回声时,主麦克风和副麦克风采集到的信号仅包括语音信号,因而可以计算所述主麦克风的信号与所述副麦克风的信号的差值,以得到语音能量差值。语音能量差值是指主麦克风的信号中的语音信号与副麦克风的信号中的语音信号的差值。该语音能量差值可以是大于0的正值,也可以是小于0的负值。
具体实施中,语音能量差值可以是周期性计算得到的。也即,周期性地计算所述主麦克风的信号与所述副麦克风的信号的语音能量差值。
进一步而言,图1所示步骤S102可以包括以下步骤:如果存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的总能量差值;计算所述总能量差值与所述语音能量差值的差值,以作为所述回声差值。
本实施例中,在存在回声时,主麦克风和副麦克风采集到的信号包括语音信号和回声信号。此时,总能量差值包括了语音能量差值和回声差值。在前述步骤中已经计算出了语音能量差值,故而可以根据总能量差值和语音能量差值确定回声差值。
例如,在没有回声时,主麦克风比副麦克风能量大Val1(dB),而在回声很大的时候主麦克风比副麦克风能量小Val2(dB),在这种情况下可以认为主麦克风和副麦克风的回声差值是-Val1-Val2(dB);如果没有回声时,主麦克风能量相比副麦克风能量小Val3(dB),在有回声的时候主麦克风能量相比副麦克风能量小Val4(dB),此时主麦克风和副麦克风的回声差值为-Val4+Val3(dB)。
本发明另一个非限制性的实施例中,请参照图2,图1所示步骤S102可以包括以下步骤:
步骤S201:调整所述主麦克风的信号与所述副麦克风的信号,以使所述主麦克风的信号中的语音能量与所述副麦克风的信号中的语音能量相一致;
步骤S202:计算调整后的所述主麦克风的信号与调整后的所述副麦克风的信号的差值,以作为所述回声差值。
本实施例中,可以调整主麦克风的信号中的语音能量与所述副麦克风的信号中的语音能量相一致。那么在计算调整后的所述主麦克风的信号与调整后的所述副麦克风的信号的差值时,由于调整后的语音能量是一致的,因此调整后的所述主麦克风的信号与调整后的所述副麦克风的信号的差值可以表征回声差值,也即表征所述主麦克风的回声信号与副麦克风的回声信号的差值。
在一种具体实施方式中,步骤S201可以包括以下步骤:计算所述主麦克风的信号与第一增益因子的乘积以及所述副麦克风的信号与第二增益因子的乘积,所述第一增益因子和所述第二增益因子是采用以下方式计算得到的:在不存在回声时,计算所述主麦克风的信号与所述副麦克风的信号的能量平均值;计算所述能量平均值与所述主麦克风的信号的比值,以作为所述第一增益因子;计算所述能量平均值与所述副麦克风的信号的比值,以作为所述第二增益因子。
具体而言,在不存在回声时,对这主麦克风和副麦克风的信号进行校准使两个麦克风的语音能量大小相等或接近。首先分别计算两个麦克风信号需要的增益因子。
mean_mic(n)=(mean_w(abs(mic_m(n)))+mean_w(abs(mic_f(n))))/2;
gain_m(n)=mean_mic(n)/mean_w(abs(mic_m(n)));
gain_f(n)=mean_mic(n)/mean_w(abs(mic_f(n)))。
其中mean_mic(n)表示两个麦克风信号幅值的加权均值(标量),mean_w是加权平均算子,gain_m(n)表示主麦克风信号需要的第一增益因子,gain_f(n)表示副麦克风信号需要的第二增益因子,第一增益因子和第二增益因子都是标量。
需要说明的是,为了之后自适应滤波有好的收敛效果,第一增益因子和第二增益因子不必每帧都进行重新计算,只需按照预设周期计算即可。
本发明另一个非限制性的实施例中,请参照图3,图1所示步骤S103可以包括以下步骤:
步骤S301:如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述回声差值高于预设门限,则确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波;
步骤S302:如果所述回声差值表示所述副回声能量与所述主回声能量一致,则确定采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
在具体实施时,可以选择性地执行步骤S301和步骤S302中的一个步骤。
本实施例中,回声差值表示所述副回声能量大于所述主回声能量,且所述回声差值高于预设门限时,表示在副麦克风中,回声能量占据主要成分,并且副麦克风中的回声信号能量比主麦克风中的回声信号能量大了预设门限以上。
例如,采用以下公式计算回声差值时:f_ratio(n)=20×log(mean_w(abs(Cali_m(n))))-20×log(mean_w(abs(Cali_f(n))));其中,Cali_m(n)是经过调整后的主麦克风信号,Cali_f(n)是经过调整后的副麦克风信号,mean_w是加权平均算子,f_ratio(n)表示回声差值;回声差值小于预设门限thr2(thr2取一个比较小的值,比如-10dB),表示副回声能量大于主回声能量,且回声差值较高。
本实施例中,回声差值表示所述副回声能量与所述主回声能量一致时,表示在有回声情况下两个麦克风的能量也几乎是相同的。出现这种情况可能有以下原因:原因一是回声信号能量比语音信号能量小,两个麦克风中主要成分是近端语音,所以回声信号能量大小是差不多的,此时如果用两个麦克风相互做自适应滤波,很容易损伤到近端语音;原因二是两个麦克风的信回比是相同的,此种情况可能发生在人嘴靠近扬声器讲话时,经过调整后语音能量相同,回声能量也相同;此时即便回声能量大过语音能量,相互做自适应也很容易损伤近端语音;最后一个原因是由于背景噪声太大,覆盖了语音信号和回声信号;此时如果用两个麦克风相互做自适应去除回声,背景噪声会影响到滤波器的收敛,回声消除效果不会很好。故而此时可用下行语音链路的信号(也称下行信号)作为参考信号消除回声,原因如下:如果副麦克风信号的回声能量小于语音能量,主麦克风中的回声能量会更低,这种情况用下行信号作参考消除回声,即便有少量残留回声,也不会影响主观通话;如果是人嘴靠近扬声器说话,人嘴到两个麦克风的距离远远小于一般情况的免提通话,此时两个麦克风接收到的语音能量也远远大于一般的免提通话。两个麦克风的信回比都增大,再进行以下行信号为参考的自适应回声消除也更容易在去除回声的同时保留好双讲段的近端语音;如果背景噪声比回声还大,此时用两个麦克风做自适应回声消除是很难收敛的,只能用下行做参考进行回声消除。
继续参照图3,图1所示步骤S103还可以包括以下步骤:
步骤S303:如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述差值低于预设门限,则将来自所述主麦克风的信号按照频率划分为低频信号和高频信号;
步骤S304:对于所述低频信号,确定采用来自所述下行语音链路的信号进行自适应滤波;
步骤S305:对于所述高频信号,确定采用来自所述副麦克风的信号进行自适应滤波。
本实施例中,回声差值表示所述副回声能量大于所述主回声能量,且所述差值低于预设门限,表示由于回声能量并不是足够大,或者人嘴更靠近副麦克风讲话,或是背景噪声比副麦克的回声小但是比主麦克回声大,这些情形下副麦克风信号以回声为主,主麦克风以语音为主,但是副麦克风的回声能量比起主麦克风并不一定大出很多。如果用副麦克风信号作为参考信号对主麦克风做自适应回声消除,回声应该比较容易抑制,但是语音也有损失的可能性。
本申请发明人在仿真中发现,在副麦克风回声能量比主麦克风回声能量大出不多的情况下,如果用副麦克风信号作为参考信号进行自适应回声消除,语音信号的低频信号会有比较明显损失,但是中高频信号的损失可忽略。而如果用下行信号作为参考进行回声消除,恰好在低频的收敛效果比中高频收敛效果理想。于是在这种情况下,可以采用分频的方式进行回声消除,低频信号用下行参考信号对主麦克风信号做自适应回声消除,中高频信号采用副麦克风信号作为参考对主麦克风信号做自适应回声消除。
在一个具体的应用场景中,请参照图4,下行语音链路401上的信号经回声检测步骤408检测,确定是否存在回声;主麦克风403和副麦克风404采集用户的语音信号和扬声器402播放的声音信号,形成主麦克风的信号405和副麦克风的信号406;主麦克风的信号405和副麦克风的信号406经过能量校准步骤407,得到调整后的主麦克风的信号409与调整后的副麦克风的信号410,调整后的主麦克风的信号409与调整后的副麦克风的信号410中的语音能量一致。在自适应滤波步骤413中,根据回声差值的大小选取合适的自适应滤波算法进行自适应滤波回声消除,最后经过简单的非线性处理步骤415,得到最终的上行信号416。
关于自适应滤波步骤413根据回声差值的大小选取合适的自适应滤波算法进行自适应滤波回声消除的具体实施方式可参照前述实施例,此处不再赘述。
本申请发明人为了验证本发明技术方案是否实用,对实际的手机产生的回声信号进行了仿真验证。近端讲话者处于正常的免提通话位置,人嘴到手机屏幕中心距离大概是30cm。测试环境在消声室中,用人工头模拟人发声,采用Vodafone的测试标准,主要考察纯回声段的回声消除情况和双讲阶段的语音保留情况。Vodafone语音测试项中有一项是人工嘴和手机同时发出啁啾扩频(Chirp Spread Spectrum,CSS)信号,该信号在双讲阶段相较于一般的语音信号更容易受到损失,所以更能考察双讲语音保留的效果。
通过两个麦克风的语谱图可以确定两个麦克风接收到的纯语音能量大小接近,但是副麦克风的回声能量比主麦克风的回声能量大15dB左右,回声差值mf_ratio(n)小于预设门限thr2。主麦克风中的信回比小于0。在这种情况下,进行三个仿真:第一个仿真是用副麦克风信号作为参考信号对主麦克风进行自适应回声消除;第二个仿真是用下行信号作为参考信号对主麦克风信号进行自适应回声消除;第三个仿真是用本发明的算法对主麦克风进行自适应回声消除。
具体的仿真结果请参照图5,横坐标表示时间,纵坐标表示频率。在纯回声阶段(第10秒至第40秒),本发明和用副麦克风做参考的自适应回声消除有比较接近的收敛效果,残余回声量比用下行做参考的自适应回声消除更少。在双讲阶段(第55秒至第60秒),本发明也与副麦克风做参考的自适应回声消除的效果差不多,回声消除比起下行做参考的自适应回声消除更彻底,并且语音没有明显损失。这是因为本发明在判断出两个麦克风语音信号大小接近而副麦克风的回声能量比主麦克风的回声能量大出很多时才采用了用副麦克风信号作为参考信号,在这种情况下回声消除量和语音保留量均能得到保证。回声消除的效果能够用回声返回损耗增强(Echo Return Loss Enhancement,ERLE)来衡量,该值越高,可认为回声消除性能越好。用本发明的算法和用副麦克风做参考的算法的ERLE值几乎重合,纯回声阶段相比用下行做参考的算法ERLE值大了10dB左右,双讲阶段在语音不损失情况下相比用下行作参考的算法ERLE值大了3~5dB。
请参照图6,本发明实施例还公开了一种回声消除装置60。
其中,回声消除装置60具体可以包括回声检测模块601、回声差值计算模块602和自适应滤波模块603。
其中,回声检测模块601用于检测下行语音链路的信号的能量,以确定是否存在回声;回声差值计算模块602用于在存在回声时,计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;自适应滤波模块603用于根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
本发明技术方案通过计算主麦克风和副麦克风的回声差值,能够表征主麦克风和副麦克风中回声能量、语音能量和/或背景噪声之间的相对关系,从而能够根据回声差值的大小确定更合适的回声消除方案。相对于现有技术中选定一种回声消除方式应用于所有的场景,本发明技术方案能够在保证回声消除收敛性的基础上不会对语音造成损失,显著地提升回声消除的效果。
关于所述回声消除装置60的工作原理、工作方式的更多内容,可以参照图1至图5中的相关描述,这里不再赘述。
本发明实施例还公开了一种存储介质,所述存储介质为计算机可读存储介质,其上存储有计算机程序,所述计算机程序运行时可以执行图1-图3中所示方法的步骤。所述存储介质可以包括ROM、RAM、磁盘或光盘等。所述存储介质还可以包括非挥发性存储器(non-volatile)或者非瞬态(non-transitory)存储器等。
本发明实施例还公开了一种终端,所述终端可以包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序。所述处理器运行所述计算机程序时可以执行图1-图3中所示方法的步骤。所述终端包括但不限于手机、计算机、平板电脑等终端设备。
虽然本发明披露如上,但本发明并非限定于此。任何本领域技术人员,在不脱离本发明的精神和范围内,均可作各种更动与修改,因此本发明的保护范围应当以权利要求所限定的范围为准。
Claims (9)
1.一种回声消除方法,其特征在于,包括:
检测下行语音链路的信号的能量,以确定是否存在回声;
如果存在回声,则计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;
根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波,
其中,如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述回声差值高于预设门限,则确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波;
或者,如果所述回声差值表示所述副回声能量与所述主回声能量一致,则确定采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
2.根据权利要求1所述的回声消除方法,其特征在于,所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值之前包括:
如果不存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的语音能量差值;
所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值包括:
如果存在回声,则计算所述主麦克风的信号与所述副麦克风的信号的总能量差值;
计算所述总能量差值与所述语音能量差值的差值,以作为所述回声差值。
3.根据权利要求1所述的回声消除方法,其特征在于,所述计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值包括:
调整所述主麦克风的信号与所述副麦克风的信号,以使所述主麦克风的信号中的语音能量与所述副麦克风的信号中的语音能量相一致;
计算调整后的所述主麦克风的信号与调整后的所述副麦克风的信号的差值,以作为所述回声差值。
4.根据权利要求3所述的回声消除方法,其特征在于,所述调整所述主麦克风的信号与所述副麦克风的信号包括:
计算所述主麦克风的信号与第一增益因子的乘积以及所述副麦克风的信号与第二增益因子的乘积,所述第一增益因子和所述第二增益因子是采用以下方式计算得到的:在不存在回声时,计算所述主麦克风的信号与所述副麦克风的信号的能量平均值;计算所述能量平均值与所述主麦克风的信号的比值,以作为所述第一增益因子;计算所述能量平均值与所述副麦克风的信号的比值,以作为所述第二增益因子。
5.根据权利要求1所述的回声消除方法,其特征在于,所述根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波包括:
如果所述回声差值表示所述副回声能量大于所述主回声能量,且所述差值低于预设门限,则将来自所述主麦克风的信号按照频率划分为低频信号和高频信号;
对于所述低频信号,确定采用来自所述下行语音链路的信号进行自适应滤波;
对于所述高频信号,确定采用来自所述副麦克风的信号进行自适应滤波。
6.根据权利要求5所述的回声消除方法,其特征在于,所述将来自所述主麦克风的信号按照频率划分为低频信号和高频信号包括:
提取所述主麦克风的信号中频率低于预设阈值的信号,以作为所述低频信号;
提取所述主麦克风的信号中频率高于预设阈值的信号,以作为所述高频信号。
7.一种回声消除装置,其特征在于,包括:
回声检测模块,用于检测下行语音链路的信号的能量,以确定是否存在回声;
回声差值计算模块,用于在存在回声时,计算来自主麦克风的主回声能量与来自副麦克风的副回声能量的回声差值;
自适应滤波模块,用于根据所述回声差值的大小,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波,或者采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波,
其中,所述自适应滤波模块在所述回声差值表示所述副回声能量大于所述主回声能量,且所述回声差值高于预设门限时,确定采用来自所述副麦克风的信号对来自所述主麦克风的信号进行自适应滤波;
或者,所述自适应滤波模块在所述回声差值表示所述副回声能量与所述主回声能量一致时,确定采用来自所述下行语音链路的信号对来自所述主麦克风的信号进行自适应滤波。
8.一种存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器运行时执行权利要求1至6中任一项所述回声消除方法的步骤。
9.一种终端,包括存储器和处理器,所述存储器上存储有可在所述处理器上运行的计算机程序,其特征在于,所述处理器运行所述计算机程序时执行权利要求1至6中任一项所述回声消除方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874735.2A CN111970410B (zh) | 2020-08-26 | 2020-08-26 | 回声消除方法及装置、存储介质、终端 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010874735.2A CN111970410B (zh) | 2020-08-26 | 2020-08-26 | 回声消除方法及装置、存储介质、终端 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111970410A CN111970410A (zh) | 2020-11-20 |
CN111970410B true CN111970410B (zh) | 2021-11-19 |
Family
ID=73390439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010874735.2A Active CN111970410B (zh) | 2020-08-26 | 2020-08-26 | 回声消除方法及装置、存储介质、终端 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111970410B (zh) |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH07202998A (ja) * | 1993-12-29 | 1995-08-04 | Nec Corp | 周囲ノイズ除去機能を備えた電話機 |
CN100524465C (zh) * | 2006-11-24 | 2009-08-05 | 北京中星微电子有限公司 | 一种噪声消除装置和方法 |
KR101650951B1 (ko) * | 2009-12-04 | 2016-08-25 | 엘지전자 주식회사 | 혼합된 신호 분리방법 |
CN102185991A (zh) * | 2011-03-01 | 2011-09-14 | 杭州华三通信技术有限公司 | 回声消除方法、系统和装置 |
CN103325379A (zh) * | 2012-03-23 | 2013-09-25 | 杜比实验室特许公司 | 用于声学回声控制的方法与装置 |
CN102710839B (zh) * | 2012-04-27 | 2017-11-28 | 华为技术有限公司 | 一种提升语音通话效果的方法及通信终端 |
US9100466B2 (en) * | 2013-05-13 | 2015-08-04 | Intel IP Corporation | Method for processing an audio signal and audio receiving circuit |
US8953777B1 (en) * | 2013-05-30 | 2015-02-10 | Amazon Technologies, Inc. | Echo path change detector with robustness to double talk |
CN103475980B (zh) * | 2013-07-19 | 2016-05-25 | 杭州联汇数字科技有限公司 | 一种自适应声反馈消除方法 |
CN105810202B (zh) * | 2014-12-31 | 2019-07-02 | 展讯通信(上海)有限公司 | 一种降低回声的方法、装置及通讯设备 |
CN106297816B (zh) * | 2015-05-20 | 2019-12-13 | 广州质音通讯技术有限公司 | 一种回声消除的非线性处理方法和装置及电子设备 |
CN105976826B (zh) * | 2016-04-28 | 2019-10-25 | 中国科学技术大学 | 应用于双麦克风小型手持设备的语音降噪方法 |
CN107786755B (zh) * | 2016-08-30 | 2020-12-15 | 合肥君正科技有限公司 | 一种双端通话检测方法和装置 |
CN107464564B (zh) * | 2017-08-21 | 2023-05-26 | 腾讯科技(深圳)有限公司 | 语音交互方法、装置及设备 |
CN107369441A (zh) * | 2017-09-08 | 2017-11-21 | 奇酷互联网络科技(深圳)有限公司 | 语音信号的消噪方法、装置及终端 |
CN107742523B (zh) * | 2017-11-16 | 2022-01-07 | Oppo广东移动通信有限公司 | 语音信号处理方法、装置以及移动终端 |
CN108630216B (zh) * | 2018-02-15 | 2021-08-27 | 湖北工业大学 | 一种基于双麦克风模型的mpnlms声反馈抑制方法 |
CN111383647B (zh) * | 2018-12-28 | 2022-10-25 | 展讯通信(上海)有限公司 | 语音信号处理方法及装置、可读存储介质 |
CN110648678B (zh) * | 2019-09-20 | 2022-04-22 | 厦门亿联网络技术股份有限公司 | 一种用于具有多麦克风会议的场景识别方法和系统 |
-
2020
- 2020-08-26 CN CN202010874735.2A patent/CN111970410B/zh active Active
Also Published As
Publication number | Publication date |
---|---|
CN111970410A (zh) | 2020-11-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110149453B (zh) | 用于动态地对回声消除器进行调谐的增益控制系统和方法 | |
KR101469739B1 (ko) | 오디오 신호들을 처리하는 디바이스 및 방법 | |
US9343056B1 (en) | Wind noise detection and suppression | |
CN104980601B (zh) | 用于动态调谐回音消除器的增益控制系统及方法 | |
EP2348645B1 (en) | Method and apparatus for detecting double talk | |
CN105825864B (zh) | 基于过零率指标的双端说话检测与回声消除方法 | |
US8374851B2 (en) | Voice activity detector and method | |
Kuech et al. | Nonlinear acoustic echo cancellation using adaptive orthogonalized power filters | |
CN110956975B (zh) | 回声消除方法及装置 | |
US8798290B1 (en) | Systems and methods for adaptive signal equalization | |
US9343073B1 (en) | Robust noise suppression system in adverse echo conditions | |
CN111742541B (zh) | 声学回波抵消方法、装置、存储介质 | |
JP2004537219A (ja) | 高調波計算のための非線形エコーサプレッサを備えたエコーキャンセラ | |
CN110995951B (zh) | 基于双端发声检测的回声消除方法、装置及系统 | |
US9020144B1 (en) | Cross-domain processing for noise and echo suppression | |
US8964967B2 (en) | Subband domain echo masking for improved duplexity of spectral domain echo suppressors | |
CN111970610B (zh) | 回声路径检测方法、音频信号处理方法及系统、存储介质、终端 | |
US9503815B2 (en) | Perceptual echo gate approach and design for improved echo control to support higher audio and conversational quality | |
CN112929506B (zh) | 音频信号的处理方法及装置,计算机存储介质及电子设备 | |
CN111970410B (zh) | 回声消除方法及装置、存储介质、终端 | |
US20180040335A1 (en) | Audio signal processing apparatus for processing an input earpiece audio signal upon the basis of a microphone audio signal | |
WO2021190274A1 (zh) | 回声声场状态确定方法及装置、存储介质、终端 | |
CN111756906B (zh) | 一种语音信号的回声抑制方法、装置和计算机可读介质 | |
JP7196002B2 (ja) | エコー抑圧装置、エコー抑圧方法及びエコー抑圧プログラム | |
CN112367594B (zh) | Aec调试方法、装置及计算机可读存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |