1.本发明涉及声音检测技术领域,特别涉及一种应用于回声消除的双端发声检测的方法。
背景技术:2.目前,在声音检测领域中,普遍使用的是回声消除方法,以及双端发声检测方法。其中,声学回声消除算法(acoustic echo cancellation,简称aec)是对扬声器信号与由它产生的多路径回声的相关性为基础,建立远端信号(s(n))的语音模型,利用它对回声进行估计(e`(n)),并不断地修改滤波器的系数,使得估计值更加逼近真实的回声(e(n))。然后,将回声估计值从话筒的输入信号中减去,从而达到消除回声的目的。
3.然而现有技术中,存在的缺陷在于:
4.1、现有的回声消除方法,一般都会包含一个自适应滤波器,模拟回声信道,借助远端的语音来估算回声,自适应滤波器处于不断的修正中,当近端语音仅仅包含回声时,滤波器会正确修正参数,当近端语音包含近端谈话人的语音时,滤波器会向错误的方向修正,因此算法需要对近端和远端的通话状态进行判断,当近端语音包含近端谈话人语音信息时,需要停止滤波器修正。
5.2、现有的双端发声检测方法,例如能量比较,相关性比较,双端发声检测都存在误报和漏报的情况。
6.此外,现有技术中的常用术语如下:
7.1、回声:指近端设备的扬声器播放出来的声音被麦克风拾取后,发回远端,使远端谈话者能够听到自己的声音。
8.2、远端语音:远端设备传输给近端设备的语音信息。
9.3、近端语音:近端设备拾取的语音信息,包含近端谈话者的声音和扬声器播放的远端谈话者的声音。
10.4、回声消除:从近端语音中剔除扬声器播放的远端谈话者的声音,保留近端谈话者的声音。回声消除算法包括:lms(最小均方,least mean squares)、rls(递推最小二乘,recursive least squares)、nlms(归一化最小均方,normalized least mean square)、nblms(频域块最小均方)算法。
11.5、双端发声检测:检测近端谈话者和远端谈话者是否同时说话。
12.6、自适应滤波器:是以输入和输出信号的统计特性的估计为依据,采取特定算法自动地调整滤波器系数,使其达到最佳滤波特性的一种算法或装置。自适应滤波器可以是连续域的或是离散域的。离散域自适应滤波器由一组抽头延迟线、可变加权系数和自动调整系数的机构组成。
13.7、高通滤波:就是利用滤波器的频率特性,让高频的通过,低频的无法通过,就好比在频率域设置阈值,频率域每一个频率分量有一个“幅值”,滤波器就好比在不同的频率分量给这个幅值乘以不同的增益,高通就好比高频部分增益为1,低频部分增益为0,当然这
是理想高通。高斯高通滤波器就是频域每一个频率分量的增益的连接而成的曲线是一个高斯曲线。
技术实现要素:14.为了解决上述问题,本发明的目的在于:在不影响双方正常对话的情况下,通过对远端语音低频部分的抑制,提高双端发声检测的准确率,提升回声消除效果。
15.具体地,本发明提供一种应用于回声消除的双端发声检测的方法,所述方法包括以下步骤:
16.s1,对远端的语音信号做高通滤波处理,通带的截止频率设定为必须高于正常人说话的基音频率,所述基音频率以下为低频频段;
17.s2,由近端电子设备接收经过近端电子设备的扬声器、麦克风回路传来的远端的语音信号;
18.s3,经过麦克风拾取近端谈话者的语音,在所述低频频段部分不会受到抑制;
19.s4,利用回音消除算法检测远端谈话者是否在说话;
20.s5,当检测到远端谈话者在说话时,检测近端谈话者是否在说话,利用低频频段的近端语音信号d(n)和远端语音信号x(n)的能量比值,以及低频频段的近端语音信号d(n)的能量值,来判断此时近端谈话者是否在说话;
21.s6,当判断远端和近端谈话者均在说话,则利用这一有效信息在后续对回声消除效果做优化处理。
22.所述的截止频率为500hz。
23.所述步骤s4中,所述的回音消声算法包括以下算法:lms、rls、nlms、nblms算法。
24.所述步骤s5中所述低频频段的近端语音信号d(n)和远端语音信号x(n)的能量比值用于判断低频的近端能量是否来自回声,当近端和远端的低频能量比大于设定阈值时,其中所述阈值与设备回路增益相关,判定近端的低频能量并非来自远端,扬声器播放出来的远端语音信号在低频频段有大的抑制。所述设备回路增益,是指安静环境下,近端语音信号d(n)和远端语音信号x(n)的低频部分的能量比值,此时近端语音信号全部为远端信号的回声,增益gain=e(d)/e(x),设定阈值thd》gain。在极端情形下,设备回路完全过滤低频信号,那么gain的值就为0,那么thd就可以设定一个很小的值即可,如果回路的gain=1,那么thd至少要大于1。
25.所述步骤s5中所述低频频段的近端语音信号d(n)的能量值用于判定近端谈话者是否在说话,因为存在远端没有或只有极小语音能量的情况,近端由于环境噪声的存在,会存在语音能量,此时的近端和远端的低频能量比值较易大于阈值,需要设定一个近端的能量阈值,这个阈值可以为一个经验值,也可以是系统内部实时计算的动态环境噪声能量值,当近端语音能量大于这个阈值时,判定近端有语音信号。避免近端环境噪声的低频能量过大,而导致近远端低频能量比大于阈值误判近端谈话者在说话。
26.所述步骤s1中对远端的语音信号做高通滤波处理可以通过软件或者硬件处理实现。
27.所述方法是基于在双方语音通话时,在损失低频部分信号时,不会影响相互之间的正常交流。
28.由此,本技术的优势在于:本发明可以提高双端发声检测的准确率,对回音消除的效果有较大的改进。
附图说明
29.此处所说明的附图用来提供对本发明的进一步理解,构成本技术的一部分,并不构成对本发明的限定。
30.图1是现有技术中回音消除系统的示意图。
31.图2是本发明方法的流程的示意图。
32.图3是现有技术中未使用本方法的能量示意图。
33.图4是使用本发明方法后的能量示意图。
具体实施方式
34.为了能够更清楚地理解本发明的技术内容及优点,现结合附图对本发明进行进一步的详细说明。
35.如图1所示,现有技术中回声消除系统一般包括对讲检测,线性自适应滤波器,残余回声消除器,采用自适应滤波器估计出麦克风中采集到的远端语音信号,即线性回声成分,从麦克风采集到的信号中减去自适应滤波器估计出的信号,从而消除了回声信号的线性回声成分。语音对讲检测器用于检测当前的通讯状态是单讲还是双讲;自适应滤波器用于消除回声中的线性部分;在双讲状态下,通过自适应滤波器消除回声会有些残留,混响较大时远端仍会听到回声。
36.如图2所示,本发明涉及一种应用于回声消除的双端发声检测的方法,所述方法包括以下步骤:
37.s1,对远端的语音信号做高通滤波处理,通带的截止频率设定为必须高于正常人说话的基音频率,所述基音频率以下为低频频段;
38.s2,由近端电子设备接收经过近端电子设备的扬声器、麦克风回路传来的远端的语音信号;
39.s3,经过麦克风拾取近端谈话者的语音,在所述低频频段部分不会受到抑制;
40.s4,利用回音消除算法检测远端谈话者是否在说话;
41.s5,当检测到远端谈话者在说话时,检测近端谈话者是否在说话,利用低频频段的近端语音信号d(n)和远端语音信号x(n)的能量比值,以及低频频段的近端语音信号d(n)的能量值,来判断此时近端谈话者是否在说话;
42.s6,当判断远端和近端谈话者均在说话,则利用这一有效信息在后续对回声消除效果做优化处理。
43.本发明涉及的应用于回声消除的双端发声检测的方法,主要是:
44.1、对远端语音信号进行高通滤波处理,无论是软件或者硬件处理的方式,且后续进行双端通话检测时,利用低频频段远端和近端信号作为检测依据。
45.2、对远端语音信号进行高通滤波处理,利用近端语音低频频段,判断当前的语音为环境噪声,还是近端谈话者的语音。
46.具体地,可以进一步描述为以下内容:
47.1、本发明基于在双方语音通话时,在损失低频部分信号时,不会影响相互之间的正常交流。本发明基于已有的回声消除算法,当近端电子设备接收到远端传来的语音信号x(n),假设如图3所示,频谱显示,在500hz下有较大的能量,普通模式下,则会将远端的语音真实的播放出来,近端电子设备mic拾取的近端语音信号d(n)在500hz以下也会出现相应的能量信号,本发明将对远端的语音信号做高通滤波处理,通带的截止频率必须高于正常人说话的基音频率(男性50-250hz,女性100-500hz,一般截止频率设置在500hz+),可以采用软件或者硬件实现,高通滤波的实现方式已是成熟的现有技术这里不再累述,这样在远端的语音信号,经过近端电子设备的扬声器,麦克风回路,获取的近端语音信号在低频频段(本文特例设定为500hz以下,可以根据实际需要修改,本文所述低频频段就是指对远端语音信号抑制的低频频段,并不设定具体数值)的能量就很少,如图4所示。
48.2、近端谈话者的语音,经过麦克风拾取,在低频部分,不会受到抑制,在低频部分有正常的能量分布。
49.3、检测远端谈话者是否在说话。现有的回音消除算法已能够作出较正确的判断,检测远端谈话者是否说话的算法,本发明不再累述。
50.4、当检测到远端谈话者在说话时,检测近端谈话者是否在说话。本发明利用低频频段的近端语音信号d(n)和远端语音信号x(n)的能量比值,以及低频频段语音信号d(n)的能量,来判断近端谈话者是否在说话。前者(近远端低频能量比)主要用于判断低频的近端能量是否来自回声,当近端和远端的低频能量比大于某阈值时,这个阈值为设备的回路增益,设备的回路增益,指安静环境下,近端语音信号d(n)和远端语音信号x(n)的低频部分的能量比值,此时近端语音信号全部为远端信号的回声。增益gain=e(d)/e(x),当然这个值也可以是实际调试的经验值,比回路增益大,判定近端的低频能量并非来自远端,扬声器播放出来的远端语音信号在低频频段有较大的抑制,这个阈值较易设定。后者(近端能量值)用于判定近端谈话者在说话,避免近端环境噪声的低频能量过大,导致近远端低频能量比大于阈值,导致误判近端谈话者在说话。
51.5、判断远端和近端谈话者均在说话,后续利用这一有效信息对回声消除效果做优化处理即可。
52.以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明实施例可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。