1.本发明涉及音频信号处理技术领域,具体涉及一种声学回声消除的方法和系统。
背景技术:2.在音频远程交互过程,凡是需要同时使用麦克风和扬声器的地方,就会不可避免的出现声学回声,声学回声的根源是远端的声音通过本地的扬声器播放出来又被近端的麦克风拾取到了,被近端麦克风拾取的声音在音频远程交互过程又传到远端,远端将讲话者就会听到自己的回声。
3.目前,自适应回声消除技术是国际公认的最有效的技术,但在实际研究中,我们发现有些问题采用通常的自适应滤波器方法很难克服。
4.首先,实际房间响应长度与自适应滤波器阶数之间的差异,即失配问题。实际当中因为无法事先知道房间响应长度,因此都必须选择一个足够大的滤波器阶数,除了计算复杂度升高问题,还有对房间响应变化的跟踪能力下降。
5.其次,回声路径中的非线性问题。由于实际产品统采用的扬声器、麦克风等电声器件以及功率部件品质差异,实际近端麦克风拾取的回声信号往往存在不同程度的非线性失真。这种自适应线性滤波器很难解决。
技术实现要素:6.本发明的目的在于克服现有技术的不足,基于音频时频分布稀疏性提出一种新的声学回声消除方法。
7.具体通过以下技术方案来实现的:一方面,一种声学回声消除的方法,包括近端音频采集端和远端音频播放端,获取近端音频信号和远端音频信号,其中,根据近端音频信号和远端音频信号构建声学回声信号模型,根据音频信号的时频分布稀疏性保留所述声学回声信号模型中近端采集端的有效音频信号。
8.进一步的,所述近端音频信号包括有效音频信号和回声信号,所述有效音频信号通过播放后再次被近端采集端捕获得到回声信号。
9.进一步的,所述远端音频信号包括初始回声信号,定义初始回声信号为远端信号。
10.进一步的,所述声学回声信号模型的搭建包括下列步骤:s1:基于有效音频信号和回声信号混叠得到近端音频信号,执行步骤s2;s2:对远端信号和麦克风采集的近端音频信号依次进行傅里叶变换,分别得到远端信号与近端音频信号的能量谱,执行步骤s3;s3:判断音频信号是否处于静音状态,若是静音状态,则结束;若是非静音状态,则进入s4;s4:对远端信号的能量谱用串联的回归模型构造混响谱,执行步骤s5;
s5:通过混响谱计算回声信号与远端信号之间的失真估计,执行步骤s6;s6:通过所述失真估计计算回声信号的过谱估计,执行步骤s7;s7:通过所述回声信号的过谱估计计算有效音频信号的过谱估计,执行步骤s8;s8:得到消除回声信号后的有效音频信号。
11.进一步的,所述步骤s1中,近端音频信号、有效音频信号、回声信号和远端信号均为时间和频率的二次函数,所述远端信号基于失真函数计算得到回声信号。
12.另一方面,在上述的基础上,还包括,音频采集模块,用于捕获环境中的所有音频信号;音频拆解模块,用于拆解所有音频信号,得到有效音频信号和回声信号;音频播放模块,用于播放除去回声信号后的有效音频信号。
13.进一步的,所述音频采集模块包括连续捕获环境中音频信号的接收设备,所述接收设备连接有播放设备并在环境中播放音频信号。
14.进一步的,所述音频拆解模块内预存训练完成的音声学回声信号模型,所述音声学回声信号模型的输入为所有音频信号,所述音声学回声信号模型的输出为有效音频信号。
15.进一步的,所述音频信号具体为连续性的时频信号,所述时频信号根据时频信号发射源的不同,得到对应的频率峰值和波段。
16.进一步的,通过对所述所有音频信号进行傅里叶变换消除所述所有音频信号中的回声信号。
17.本发明的有益效果是:1、克服了传统的自适应线性滤波器难以解决的问题,即近端麦克风拾取的回声信号的非线性失真;2、不局限环境的空间大小,均能够对采集的音频信号进行高效除噪。
附图说明
18.图 1为本发明的一个实施例的回声消除方法流程图;图 2为本发明的一个实施例中声学回声消除处理前后的示意图。
具体实施方式
19.下面结合本发明的附图1和附图2,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例均属于本技术的保护范围。
20.实施例:基于自适应滤波器的回声消除实际上是对近端房间的声学通路进行精确建模,进而产生一个抵消信号,因此一旦所建模型与实际不符或者不够精确,回声消除效果就会下
降。其实我们可以把回声消除看成一个近端讲话检测问题。电话呼叫或远程会议中,近端是您所在的位置,远端是呼叫中其他参与者所在的位置,此时近端扬声器发出的声音被看成是时变的噪声信号,近端音频是有用信号(有效音频信号),而近端麦克风拾取的信号就是含噪信号(近端音频信号)。远端信号实际上是噪声信号的一个非常有用的参考。因此问题就变成:在给定参考噪声(远端信号)条件下,从近端麦克风拾取的信号中检测是否有有效音频信号存在,而中包含的回声噪声信号是经过了某种失真,即失真函数的计算公式为,。
21.现在,我们并不精确地估计,转而观察几个信号的语谱图。设和各自的傅里叶变换分别为和,、是时间λ和频率k的二维函数,它将信号的时域和频域联系起来,我们可以据此对信号进行时频分析,根据音频信号的时频分布稀疏性特点可知,这两个不相关的音频信号混叠在一起构成信号时,语谱图中总存在某些点,语谱图的横坐标是时间,纵坐标是频率,坐标点值为语音数据能量,在这些点,而在另一些点上,,而且更重要的是,基于音频时频分布稀疏性我们还可以分别根据这些点,重建出信号和,分别包含和的大部分能量,或者说非常好的重建原信号,失真很小。以为例,重建方法如下
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(1)因此,假设我们能够得到的大致估计,则判断中是否有出现就可以简单由与的比较得出。因为,如果中没有,则必然,反之如果出现了,则必然有相当数量的时频点上。这样,我们可以通过统计这样时频点的数量来判定是否有近端讲话出现。
22.现在的问题是如何得到的大致估计。为了使上面的判定法则尽可能奏效,我们实际上应该找到的过估计,因为一旦估计偏小,当没有时,由于,故仍会有相当数量的时频点上。我们考虑参考噪声,根据回声抑制系统的情况可知,实际上是的混响结果再经过某些失真得到的,因此我们采用两个步骤来从中近似得到的大致估计,一个是模拟混响,另一个是估计失真。
23.首先根据混响原理,我们可以从得到粗略的混响谱,为了尽可能适应大的混响长度,我们用了两个串联的回归模型构造一个足够强的混响谱,即,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(2)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(3)采用与频率相关的回归系数a1和a2可以构造各种环境下的混响效果,为了简便起
见,这里采用与频率无关的系数。为了保证过估计,这两个系数都取得较大。
24.下面考虑在该混响谱中添加某种失真,使得失真后的谱逼近。这种失真一方面是为了补偿不同频率混响时长的差异,还可以反映出回声路径中扬声器及麦克风的非线性失真等因素,此外,还能够补偿远端信号与回声信号的音量差异。
25.要注意的是,这种失真只有在有远端讲话时才有效,如果远端处于静默时,麦克风拾取的信号和远端信号之间没有这种失真关系。为此,我们对远端信号进行了简单的能量门限检测,只有能量够强的有声音频帧才会进入失真统计部分。另外,由于可能会出现双端讲话的情况,而这种状况下和之间也不再是这种单纯的失真关系,因此我们还进一步计算了和之间的归一化自相关系数。当只有远端讲话时,,与有着非常强的相关性,而当出现双端讲话时,这种相关性将会被破坏。这样,只有远端信号音量足够大且与当前麦克风信号高度相关时,才开始计算我们所要的失真关系。
26.设满足这些条件的远端信号帧为,则这种失真的后验瞬时估计可以表示为,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(4)为了降低这一估计对具体信号频率的依赖程度,我们对其进行了频域平滑,平滑窗长可以根据临界带宽调整,也可以简单的采用固定窗长。由于这种失真关系一般是随时间缓慢变化的,如房间混响、电声器材失真以及回声音量的变化等,因此我们进一步采用时间域的回归平滑来得到这种失真的平滑估计,
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(5)上面已经谈到,一旦出现双端讲话,后验瞬时失真估计就会因为近端讲话的出现而产生偏差。尤其是但当远端讲话音量很大而近端讲话音量较小时,麦克风信号与远端信号帧的归一化相关系数依然可以很大,而相应的双端讲话信号也会进入失真计算过程。为了降低这样的偏差,我们采用了一个较长的时间窗,对该窗内的平滑失真估计进行平均,以定期进行失真估计校正,从而得到更为准确的失真估计。这是因为通常情况下双端讲话持续时间不会太长,所以在一个较长的时间内进行平均,有助于降低偏差,即
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(6)到此,对的过估计就可以由混响谱和失真估计大致得到
ꢀꢀꢀꢀꢀꢀꢀꢀ
(7)这样,近端讲话检测就可以按照前述的步骤进行了。最后还有一个问题就是如何使重构的近端讲话信号失真最小。由于上面得到的过估计并非真实的,而且依据过估计的结果用式(1)进行重构,结果也有一定程度的失真。为此我们采取了一些音频增强方法中采用的折中技术,即当用于重构的时频点数量较多时,重构公式(1)修正为
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(8)而当用于重构的时频点数量很少时,为了减少乐性噪声,直接令所有的为0,彻底关闭回声。如果数量介于两种情况之间,则还是用式(1)进行重构。
27.具体可总结为下列六步,请参照图1:一.预处理音频信号,包括对远端信号和近端麦克风采集的信号分别进行预加重处理、分帧处理、加窗处理、傅里叶变换以及能量谱,其中为傅里叶变换;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(9)
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(10)二.计算分析区间内的音频信号的短时能量均方根,短时能均方根大于预设的静音检测阈值时,音频信号为非静音状态,进入下一步,否则,音频信号为静音状态,结束本流程;三.对远端信号的能量谱用两个串联的回归模型构造一个足够强的混响谱,
ꢀꢀꢀ
(11)
ꢀꢀꢀꢀ
(12)回归系数和可以构造各种环境下的混响效果,取较大的值,比如=0.9,=0.95;四.计算回声信号由与远端信号之间的失真估计;失真的后验瞬时估计可以表示为:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(13)失真的平滑估计:其中b取较大的值,比如b=0.95;在一个较长的时间内进行平均,有助于降低偏差,即:
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(14)其中,d的时间长度可以设为1秒四.计算回声信号的过谱估计的过谱估计
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(15)五.计算回声消除后的信号的过谱估计的过谱估计
ꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(16)的不等于0的频点较少时,比如少于5个频段,则认为没有近端音频,直接
的所有频点赋值为0。
28.六.计算回声消除后的时域信号;
ꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀꢀ
(17)为傅里叶反变换。
29.值得说明的是,请参照图2,图的上半部分为麦克风的近端音频信号(有效信号或有效音频信号)和声学回声信号的混合信号,图的下半部分为声学回声消除后的只包含近端音频信号。
30.值得说明的是,本实施例还包括通过还包括,音频采集模块,用于捕获环境中的所有音频信号;音频拆解模块,用于拆解所有音频信号,得到有效音频信号和回声信号;音频播放模块,用于播放除去回声信号后的有效音频信号。通过上述模块实现声学回声信号模型的硬件化,通过将预存有声学回声消除的方法通过编程、代码、协议等计算机程序存储在计算机中,包括但不限于通过计算机终端等方式对音频信号进行识别处理。
31.综上所述,本实施例能够简单有效的去除近端麦克风采集到的音频信号中的回声,保证远程音频通话过程中免受回声的干扰,保证了电话呼叫或远程会议中的通话质量。