一种双麦克风阵列回声消除方法、装置及电子设备与流程

文档序号:30955052发布日期:2022-07-30 09:31阅读:431来源:国知局
一种双麦克风阵列回声消除方法、装置及电子设备与流程

1.本技术实施例涉及回声消除技术领域,特别涉及一种双麦克风阵列回声消除方法、装置及电子设备。


背景技术:

2.回声消除(aec)技术在现代通讯电子设备中的应用十分广泛,在双方通话过程中,近端麦克风会采集到扬声器的声音,从而使远端可以听到自己的回声,因此回声消除性能的好坏严重影响着双方的通话质量。
3.本技术发明人在实现本技术实施例的过程中,发现:在实际环境由于通信设备、环境噪声等因素影响,回声消除性能通常无法达到最优,会导致残留较大回声。


技术实现要素:

4.本技术实施例的目的是提供一种一种双麦克风阵列回声消除方法、装置及电子设备,能够有效提升回声消除效果,提高语音通话质量。
5.第一方面,本发明实施例提供了一种双麦克风阵列回声消除方法,所述方法包括:
6.获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号;
7.对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱;
8.分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;
9.利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号;
10.对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子;
11.利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号。
12.在一些实施例中,所述对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,包括:
13.对所述远端信号进行傅里叶变换,获得远端频域信息,对所述第一近端信号进行傅里叶变换,获得第一近端频域信息,且对所述第二近端信号进行傅里叶变换,获得第二近端频域信息;
14.使用上一帧更新的滤波器权重系数对所述远端频域信息进行滤波处理,获得回声频谱;
15.用所述第一近端频域信息减去所述回声频谱,获得第一初始误差频谱;
16.用所述第二近端频域信息减去所述回声频谱,获得第二初始误差频谱。
17.在一些实施例中,所述分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,包括:
18.计算所述远端频域信息与所述第一初始误差频谱之间的第一互相关系数,以及所述远端频域信息与所述第二初始误差频谱之间的第二互相关系数;
19.对所述第一互相关系数进行质心拟合,获得第一初始抑制增益因子,且对所述第二互相关系数进行质心拟合,获得第二初始抑制增益因子;
20.用所述第一初始抑制增益因子乘以所述第一初始误差频谱,获得所述第一误差频谱,且用所述第二初始抑制增益因子乘以所述第二初始误差频谱,获得所述第二误差频谱。
21.在一些实施例中,所述将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子,包括:
22.基于所述第一初始抑制增益因子、所述第二初始抑制增益因子更新所述上一帧滤波器权重系数,获得当前帧滤波器权重系数;
23.如果所述第一初始抑制增益因子、所述第二初始抑制增益因子小于预设阈值时,将所述第一初始抑制增益因子、所述第二初始抑制增益因子充当下一帧线性滤波处理的可变步长因子。
24.在一些实施例中,所述利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号,包括:
25.基于所述第一误差频谱和时延补偿,计算第一支路频谱信号,且基于第二误差频谱和时延补偿,计算第二支路频谱信号;
26.基于所述第一支路频谱信号和所述第二支路频谱信号,计算所述第一支路频谱信号与所述第二支路频谱信号之间的差分信号互相关功率谱系数及自适应零极点回声消除器的权重系数;
27.利用所述自适应零极点回声消除器的权重系数对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号。
28.在一些实施例中,对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子,包括:
29.对初始抑制增益因子进行子带范围选取,获得若干个子带范围内的初始抑制增益因子;
30.对若干个所述子带范围内的初始抑制增益因子进行排序处理,并计算抑制增益系数平滑因子;
31.利用所述抑制增益系数平滑因子对所述初始抑制增益因子做全频带平滑处理及指数运算,获得所述二次抑制增益因子。
32.在一些实施例中,所述利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号,包括:
33.对所述目标频谱信号进行降噪处理;
34.用所述二次抑制增益因子乘以降噪处理后的所述目标频谱信号后,进行傅里叶逆变换,并重叠相加,获得目标近端语音信号。
35.第二方面,本发明实施例提供了一种双麦克风阵列回声消除装置,所述装置包括:
36.信号获取模块,用于获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号;
37.线性滤波模块,用于对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱;
38.质心拟合模块,用于分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;
39.残留回声抑制模块,用于利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号;
40.平滑模块,用于对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子;
41.目标获取模块,用于利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号。
42.第三方面,本发明实施例提供了一种电子设备,包括:
43.双麦克风阵列和至少一个处理器,以及
44.存储器,所述存储器与所述至少一个处理器通信连接,所述存储器存储有可被所述至少一个处理器执行的指令,所述指令被所述至少一个处理器执行时,使所述电子设备实现上述任一项所述的方法。
45.第四方面,本发明实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,当所述计算机可执行指令被电子设备执行时,使所述电子设备执行如上所述的方法。
46.本发明实施例的双麦克风阵列回声消除方法、装置及电子设备,获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号,然后,对远端信号和双麦克风阵列的近端信号做初次滤波处理,可以对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,从而初步消除回声;接着,分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号,从而实现残留回声抑制;对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子,利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,实现二次抑制增益滤波,获得目标近端语音信号,有效提升回声消除效果,有效提高语音通话质量。
附图说明
47.一个或多个实施例通过与之对应的附图中的图片进行示例性说明,这些示例性说明并不构成对实施例的限定,附图中具有相同参考数字标号的元件表示为类似的元件,除非有特别申明,附图中的图不构成比例限制。
48.图1是本发明实施例的电子设备的示意性框图;
49.图2是本发明实施例的电子设备的电路结构图;
50.图3是本发明实施例的电子设备的双麦克风阵列的结构示意图;
51.图4是本发明实施例双麦克风阵列回声消除方法的一个实施例的流程示意图;
52.图5是本发明双麦克风阵列回声消除装置的一个实施例的结构示意图;
53.图6是本发明电子设备的一个实施例中控制器的硬件结构示意图。
具体实施方式
54.下面结合具体实施例对本技术进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本技术,但不以任何形式限制本技术。应当指出的是,对本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进。这些都属于本技术的保护范围。
55.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本技术,并不用于限定本技术。
56.需要说明的是,如果不冲突,本技术实施例中的各个特征可以相互结合,均在本技术的保护范围之内。另外,虽然在装置示意图中进行了功能模块划分,在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于装置中的模块划分,或流程图中的顺序执行所示出或描述的步骤。此外,本文所采用的“第一”、“第二”、“第三”等字样并不对数据和执行次序进行限定,仅是对功能和作用基本相同的相同项或相似项进行区分。
57.除非另有定义,本说明书所使用的所有的技术和科学术语与属于本技术的技术领域的技术人员通常理解的含义相同。本说明书中在本技术的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是用于限制本技术。本说明书所使用的术语“和/或”包括一个或多个相关的所列项目的任意的和所有的组合。
58.此外,下面所描述的本技术各个实施方式中所涉及到的技术特征只要彼此之间未构成冲突就可以相互组合。
59.本技术实施例提供的双麦克风阵列回声消除方法和装置可以应用于电子设备,电子设备可以为智能手机、蓝牙耳机、有线耳机等用于通话的设备,以蓝牙耳机为例,将蓝牙耳机与需要通话的智能手机蓝牙连接,用户佩戴蓝牙耳机,可以实现通话。
60.如图1和图2所示,电子设备100包括控制器11、扬声器12和双麦克风阵列13,控制器11与扬声器12和双麦克风阵列13连接。扬声器12用于播放声音,为远端信号;双麦克风阵列13用于采集声音,双麦克风阵列13采集的声音包括用户说话的声音、回声和背景噪声,为近端信号。并且,双麦克风阵列13包括两个麦克风,分别为第一麦克风mic1、第二麦克风mic2,双麦克风阵列13为端射设置,如图3所示,双麦克风阵列13采用端射方式可以抑制非增益方向上的声音,即扬声器12方向上的声音,从而可以保留需要增益方向上的声音,即近端用户说话方向上的声音。控制器11用于获取用户在通话过程中产生的远端信号,以及第一麦克风mic1的第一近端信号和第二麦克风mic2的第二近端信号。
61.电子设备100还包括线性自适应滤波器模块14、自适应零极点回声抵消器15、单通道降噪模块nr和抑制增益滤波输出模块16,且控制器11与线性自适应滤波器模块14、自适应零极点回声抵消器15、单通道降噪模块nr和抑制增益滤波输出模块16连接。
62.其中,线性自适应滤波器模块14用于对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,且控制器11从线性自适应滤波器模块14获取第一初始误差频谱和第二初始误差频谱。
63.线性自适应滤波器模块14还用于分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子,且控制器11从线性自适应滤波器模块14获得第一误差频谱和第一初始抑制增益因子、第二误差频谱和第二初始抑制增益因子,第一初始抑制增益因子和第二初始抑制增益因子组成初始抑制增益因子。
64.自适应零极点回声抵消器15用于对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号。
65.抑制增益滤波输出模块16,用于对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子;利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号,且输出所述目标近端语音信号。
66.电子设备100还包括延时补偿运算模块d/c,用于计算远端信号分别与第一近端信号和/或第二近端信号之间的时延补偿。
67.通过控制器11、线性自适应滤波器模块14、自适应零极点回声抵消器15和抑制增益滤波输出模块16对远端信号和近端信号的初次滤波处理、质心拟合、残留回声抑制以及二次滤波处理,实现电子设备100在通话过程中的回声消除,解决回声消除效果不佳、残留回声过大的问题,从而有效提高语音通话质量。
68.请参阅图4,图4为本发明实施例提供的双麦克风阵列回声消除方法的流程示意图,所述方法应用于电子设备100,可以由电子设备100中的处理器111执行,如图4所示,所述方法包括:
69.s401:获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号。
70.电子设备的控制器获取电子设备在通话过程中产生的远端信号和近端信号,远端信号为扬声器播放的声音信号,近端信号包括用户说话的声音、回声和/或背景噪声。并且,双麦克风阵列包括第一麦克风mi c1和第二麦克风mi c2,第一麦克风产生第一近端信号,第二麦克风产生第二近端信号。
71.远端信号用x(n)表示,且远端信号x(n)用公式1表示:
72.x(n)=[x(i),x(i-1),...,x(i-m+1)]
t
ꢀꢀꢀ
公式1;
[0073]
第一近端信号用d1(n)表示,且第一近端信号d1(n)用公式2表示:
[0074]
d1(n)=[d1(i),d1(i-1),...,d1(i-m+1)]
t
ꢀꢀꢀ
公式2;
[0075]
第二近端信号用d2(n)表示,且第二近端信号d2(n)用公式3表示:
[0076]
d2(n)=[d2(i),d2(i-1),...,d2(i-m+1)]
t
ꢀꢀꢀ
公式3;
[0077]
其中,m表示一帧远端信号x(n)或第一近端信号d1(n)、第二近端信号d2(n)的采样点数,i表示电子设备的控制器在采集远端信号x(n)或近端信号d1(n)、第二近端信号d2(n)的第i个采样点。
[0078]
s402:对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获
得第一初始误差频谱和第二初始误差频谱。
[0079]
在电子设备的控制器获得远端信号x(n)、第一近端信号d1(n)、第二近端信号d2(n)后,线性自适应滤波器模块对远端信号x(n)第一近端信号d1(n)、第二近端信号d2(n)进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱。
[0080]
在其中一些实施方式中,对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,包括:
[0081]
对所述远端信号进行傅里叶变换,获得远端频域信息,对所述第一近端信号进行傅里叶变换,获得第一近端频域信息,且对所述第二近端信号进行傅里叶变换,获得第二近端频域信息;
[0082]
使用上一帧更新的滤波器权重系数对所述远端频域信息进行滤波处理,获得回声频谱;
[0083]
用所述第一近端频域信息减去所述回声频谱,获得第一初始误差频谱;
[0084]
用所述第二近端频域信息减去所述回声频谱,获得第二初始误差频谱。
[0085]
具体地,首先,对远端信号x(n)进行傅里叶变换,获得远端频域信息x(n),对第一近端信号d1(n)进行傅里叶变换,获得第一近端频域信息d1(n),且对第二近端信号d2(n)进行傅里叶变换,获得第二近端频域信息d2(n)。远端频域信息x(n)用公式4表示,第一近端频域信息d1(n)用公式5表示,第二近端频域信息d2(n)用公式6表示:
[0086]
x(n)=fft([x(n-1);x(n)]
·
win)
ꢀꢀꢀ
公式4;
[0087]
d1(n)=fft([d1(n-1);d1(n)]
·
win)
ꢀꢀꢀ
公式5;
[0088]
d2(n)=fft([d2(n-1);d2(n)]
·
win)
ꢀꢀꢀ
公式6;
[0089]
其中,x(n)表示第n帧远端频域信息,d1(n)表示第n帧第一近端频域信息,d2(n)表示第n帧第二近端频域信息,wi n表示汉宁窗,长度大小为2*m,fft表示傅里叶变换。近端频域信息d(n)包括第一近端频域信息d1(n)和第二近端频域信息d2(n)。
[0090]
然后,使用上一帧更新的滤波器权重系数对远端频域信息x(n)进行滤波处理,获得回声频谱,由于回声路径与通话流程是固定的,可以在滤波前对远端频域信息分别与第一近端频域信息d1(n)和第二近端频域信息d2(n)进行延迟对齐,从而估计出第一回声频谱y1(n)和第二回声频谱y2(n),上一帧更新的滤波器权重系数包括第一麦克风上一帧更新的滤波器权重系数w1(n-1)和第二麦克风上一帧更新的滤波器权重系数w2(n-1)。即对远端频域信息x(n)在频域上进行滤波,获得回声频谱用y(n)表示,回声频谱用y(n)包括第一回声频谱y1(n)和第二回声频谱y2(n),使用公式7和公式8计算:
[0091]
y1(n)=w1(n-1)
·
x(n)
ꢀꢀꢀ
公式7;
[0092]
y2(n)=w2(n-1)
·
x(n)
ꢀꢀꢀ
公式8。
[0093]
其中,w1(n-1)表示第一麦克风上一帧更新的滤波器权重系数,w2(n-1)表示第二麦克风上一帧更新的滤波器权重系数。
[0094]
最后,用所述近端频域信息d(n)减去所述回声频谱y(n),获得第一初始误差频谱e1(n)和第二初始误差频谱e2(n),即用第一近端频域信息d1(n)减去第一回声频谱y1(n),获得第一初始误差频谱e1(n);用第二近端频域信息d2(n)减去第二回声频谱y2(n),获得第二初始误差频谱e2(n)。用公式9和公式10表示:
[0095]
e1(n)=d1(n-1)-y1(n)
ꢀꢀꢀ
公式9;
[0096]
e2(n)=d2(n-1)-y2(n)
ꢀꢀꢀ
公式10。
[0097]
获得的第一初始误差频谱e1(n)和第二初始误差频谱e2(n)可以初步消除第一麦克风和第二麦克风的线性回声。
[0098]
s403:分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子。
[0099]
为了减少近端信号大部分线性回声,首先需要计算初始抑制增益因子,初始抑制增益因子包括第一初始抑制增益因子和第二初始抑制增益因子。分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,可以包括:
[0100]
计算所述远端频域信息与所述第一初始误差频谱之间的第一互相关系数,以及所述远端频域信息与所述第二初始误差频谱之间的第二互相关系数;
[0101]
对所述第一互相关系数进行质心拟合,获得第一初始抑制增益因子,且对所述第二互相关系数进行质心拟合,获得第二初始抑制增益因子;
[0102]
用所述第一初始抑制增益因子乘以所述第一初始误差频谱,获得所述第一误差频谱,且用所述第二初始抑制增益因子乘以所述第二初始误差频谱,获得所述第二误差频谱。
[0103]
具体地,首先,计算远端频域信息x(n)与第一初始误差频谱e1(n)之间的第一互相关系数。同理,计算远端频域信息x(n)与第二初始误差频谱e2(n)之间的第二互相关系数。
[0104]
利用公式11-17,计算出第一互相关系数和第二互相关系数。
[0105]se1
(n)=gamma
·se1
(n-1)+(1-gamma)e1(n)
·
conj(e1(n))
ꢀꢀꢀ
公式11;
[0106]se2
(n)=gamma
·se2
(n-1)+(1-gamma)e2(n)
·
conj(e2(n))
ꢀꢀꢀ
公式12;
[0107]sx
(n)=gamma
·sx
(n-1)+(1-gamma)x(n)
·
conj(x(n))
ꢀꢀꢀ
公式13;
[0108]sxe1
(n)=gamma
·sxe1
(n-1)+(1-gamma)s
x
(n)
·
conj(s
xe1
(n))
ꢀꢀꢀ
公式14;
[0109]sxe2
(n)=gamma
·sxe2
(n-1)+(1-gamma)s
x
(n)
·
conj(s
xe2
(n))
ꢀꢀꢀ
公式15;
[0110]
coh
xe1
(n)=s
xe1
(n)
·
conj(s
xe1
(n))/(s
x
(n)
·se1
(n)+σ)
ꢀꢀꢀ
公式16;
[0111]
coh
xe2
(n)=s
xe2
(n)
·
conj(s
xe2
(n))/(s
x
(n)
·se2
(n)+σ)
ꢀꢀꢀ
公式17。
[0112]
其中,gamma表示平滑因子,一般取一个小于1但接近于1的数,如0.9;σ表示除法保护因子,可以令除法保护因子σ>0;conj表示共轭运算;s
e1
(n)表示第一初始误差频谱的平滑功率谱;s
e2
(n)表示第二初始误差频谱的平滑功率谱;s
x
(n)表示远端频域信息的平滑功率谱,s
xe1
(n)表示远端频域信息、第一近端频域信息及第一初始误差频谱的平滑功率谱,s
xe2
(n)表示远端频域信息、第二近端频域信息及第二初始误差频谱的平滑功率谱;coh
xe1
(n)表示第一互相关系数,coh
xe2
(n)表示第二互相关系数。
[0113]
接着,对第一互相关系数进行质心拟合,获得第一初始抑制增益因子,且对第二互相关系数进行质心拟合,获得第二初始抑制增益因子,可以使用公式18和公式19计算获得:
[0114][0115]
[0116]
其中,k表示质心拟合距离,i表示第n帧的第i个频点,g1(i)表示第一初始抑制增益因子;g2(i)表示第二初始抑制增益因子。
[0117]
在求得第一初始抑制增益因子g1(i)和第二初始抑制增益因子g2(i)后,用第一初始抑制增益因子g1(i)乘以第一初始误差频谱e1(n),获得第一误差频谱,且用第二初始抑制增益因子g2(i)乘以第二初始误差频谱e2(n),获得第二误差频谱,用公式20和公式21表示:
[0118]
e1'(n)=e1(n)
·
g1(n)
ꢀꢀꢀ
公式20;
[0119]
e2'(n)=e2(n)
·
g2(n)
ꢀꢀꢀ
公式21。
[0120]
其中,e1'(n)表示第一误差频谱,e2'(n)表示第二误差频谱。
[0121]
获得的第一误差频谱e1'(n)和第二误差频谱e2'(n)可以减少大部分线性回声的近端频域信号。
[0122]
在其中一些实施方式中,为了提高滤波器精度及鲁棒性,可以实时更新滤波器权重系数,因此,所述将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子,可以包括:
[0123]
基于所述第一初始抑制增益因子、所述第二初始抑制增益因子更新所述上一帧滤波器权重系数,获得当前帧滤波器权重系数;
[0124]
如果所述第一初始抑制增益因子、所述第二初始抑制增益因子小于预设阈值时,将所述第一初始抑制增益因子、所述第二初始抑制增益因子充当下一帧线性滤波处理的可变步长因子。
[0125]
具体地,基于第一初始抑制增益因子g1(i)、第二初始抑制增益因子g2(i)更新上一帧滤波器权重系数w(n-1),上一帧滤波器权重系数包括第一麦克风上一帧更新的滤波器权重系数w1(n-1)和第二麦克风上一帧更新的滤波器权重系数w2(n-1),获得当前帧滤波器权重系数,用公式22和公式23表示:
[0126]
w1(n)=w1(n-1)+μ
·
g1(n)
·
δw1ꢀꢀꢀ
公式22;
[0127]
w2(n)=w2(n-1)+μ
·
g2(n)
·
δw2ꢀꢀꢀ
公式23。
[0128]
其中,w1(n)表示第一麦克风mic1当前帧滤波器权重系数,w2(n)表示第二麦克风mi c2当前帧滤波器权重系数;μ表示固定步长因子,通常范围取0<μ<2;δw1表示第一麦克风mic1的滤波器系数调整量,δw2表示第二麦克风mic2的滤波器系数调整量,滤波器系数调整量的计算方法包括但不限于归一化最小均方误差(nlms)、递归最小二乘(rls)和卡尔曼等算法;g1(n)表示第一初始抑制增益因子,g2(n)表示第二初始抑制增益因子,将g1(n)和g2(n)充当为下一帧线性滤波处理的可变步长因子,并执行对所述远端频域信息进行滤波处理的步骤,使得滤波器更具有鲁棒性。
[0129]
因此,当滤波器未收敛时,残留回声过大,步长变大,帮助滤波器快速收敛;当滤波器逐渐收敛时,如第一初始抑制增益因子g1(n)、第二初始抑制增益因子g2(n)逐渐变小,小于预设阈值,逐渐接近0的时候,例如预设阈值为0.01,步长逐渐减少,说明第一初始误差频谱e1(n)和第二初始误差频谱e2(n)中残留回声较小或处于无回声状态。然后,按照步骤s402,用当前帧滤波器权重系数(w1(n)和w2(n))对远端频域信息x(n)进行滤波处理,获得回声频谱,进而计算初始误差频谱。
[0130]
s404:利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残
留回声抑制,获得目标频谱信号。
[0131]
在其中一些实施方式中,利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号,可以包括:
[0132]
基于所述第一误差频谱和时延补偿,计算第一支路频谱信号,且基于第二误差频谱和时延补偿,计算第二支路频谱信号;
[0133]
基于所述第一支路频谱信号和所述第二支路频谱信号,计算所述第一支路频谱信号与所述第二支路频谱信号之间的差分信号互相关功率谱系数及自适应零极点回声消除器的权重系数;
[0134]
利用所述自适应零极点回声消除器的权重系数对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号。
[0135]
具体地,首先,计算两个支路的频谱信号,即基于第一误差频谱和时延补偿,计算第一支路频谱信号,且基于第二误差频谱和时延补偿,计算第二支路频谱信号;然后,基于第一支路频谱信号和第二支路频谱信号,计算第一支路频谱信号与第二支路频谱信号之间的差分信号互相关功率谱系数及自适应零极点回声消除器的权重系数,最后利用所述自适应零极点回声消除器的权重系数对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号。可以使用公式24-公式29获得:
[0136]
f(n)=e2(n)-delay(e1(n))
ꢀꢀꢀ
公式24;
[0137]
b(n)=delay(e2(n))-e1(n)
ꢀꢀꢀ
公式25;
[0138]rfb
(n)=αf(n)b(n)+βr
fb
(n-1)
ꢀꢀꢀ
公式26;
[0139]rbb
(n)=αb2(n)+βr
bb
(n-1)
ꢀꢀꢀ
公式27;
[0140]
w3(n)=r
fb
(n)/r
bb
(n)
ꢀꢀꢀ
公式28;
[0141]
e(n)=f(n)-w3(n)
·
b(n)
ꢀꢀꢀ
公式29。
[0142]
其中,f(n)表示第二支路频谱信号;b(n)表示第一支路频谱信号;de l ay表示时延补偿运算,delay(e1(n))表示第一支路的时延补偿,delay(e2(n))表示第二支路的时延补偿;α的取值范围为0≤α≤1,β的取值范围为0≤β≤1,且α+β=1;w3(n)表示自适应零极点回声抵消器权重系数,r
fb
(n)表示差分信号互相关功率谱系数,r
bb
(n)表示第二支路自相关功率谱;e(n)表示目标频谱信号。
[0143]
s405:对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子。
[0144]
为了提升回声消除效果,可以对初始抑制增益因子进行平滑。
[0145]
在其中一些实施方式中,所述初始抑制增益因子包括所述第一初始抑制增益因子和所述第二初始抑制增益因子,对初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子,可以包括:
[0146]
对所述初始抑制增益因子进行子带范围选取,获得若干个子带范围;
[0147]
对若干个所述子带范围内的初始抑制增益因子进行排序处理,并计算抑制增益系数平滑因子;
[0148]
利用所述抑制增益系数平滑因子对所述初始抑制增益因子做全频带平滑处理及指数运算,获得所述二次抑制增益因子。
[0149]
具体地,子带范围的选取,可以选取子带最小值mi nfre、子带最大值maxfre和参
考子带点reffre,然后,对子带范围进行排序处理,比如从小到大的顺序,得到序列hn i,并根据公式30选取参考值refer,公式30如下所示:
[0150]
refer=hni[reffre]公式30。
[0151]
其中,refer表示参考值;reffre表示参考子带点;hn i表示子带范围从小到大的序列。
[0152]
可以利用公式31计算抑制增益系数平滑因子,公式31如下:
[0153][0154]
其中,smooth(n)表示抑制增益系数平滑因子;mi nfre表示子带最小值;maxfre表示子带最大值,reffre表示参考子带点;i表示第n帧的第i个频点。
[0155]
在求得抑制增益系数平滑因子smooth(n)后,利用抑制增益系数平滑因子smooth(n)对初始抑制增益因子做全频带平滑处理及指数运算,获得二次抑制增益因子,用公式32表示:
[0156]
g(i)=smooth(n)
·
refer+(1-smooth(n))/(0.5
·
g1(i)+0.5
·
g2(i))公式32。
[0157]
其中,初始抑制增益因子包括第一初始抑制增益因子g1(i)和第二初始抑制增益因子g2(i),g(i)表示二次抑制增益因子。
[0158]
s406:利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号。
[0159]
为了尽可能消除残留回声,同时为了避免二次滤波可能损伤近端信号,得到最优的输出。利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号,可以包括:
[0160]
对所述目标频谱信号进行降噪处理;
[0161]
用所述二次抑制增益因子乘以降噪处理后的所述目标频谱信号后,进行傅里叶逆变换,并重叠相加,获得目标近端语音信号。
[0162]
具体地,首先对目标频谱信号进行降噪处理,然后,用二次抑制增益因子乘以降噪处理后的目标频谱信号后,进行傅里叶逆变换,并重叠相加,获得目标近端语音信号。用公式33-公式36计算获得:
[0163]enr
(n)=nr(e'(n))
ꢀꢀꢀ
公式33;
[0164]
e(n)=ifft(e
nr
(n)
·
g(n))
ꢀꢀꢀ
公式34;
[0165]
out(n)=e(1:m)+ola_buf
ꢀꢀꢀ
公式35;
[0166]
ola_buf=e(m+1:2*m)
ꢀꢀꢀ
公式36。
[0167]
其中,ola_buf表示重叠相加保留块,ifft表示傅里叶逆变换;nr表示降噪算法处理,e
nr
(n)表示降噪处理后的目标频谱信号,e'(n)表示误差频谱,包括第一误差频谱e1'(n)和第二误差频谱e2'(n);out(n)表示目标近端语音信号。
[0168]
本发明实施例,获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号,然后,对远端信号和双麦克风阵列的近端信号做初次滤波处理,可以对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,从而初步消除回声;接着,分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的
初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号,从而实现残留回声抑制;对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子,利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,实现二次抑制增益滤波,获得目标近端语音信号,有效提升回声消除效果,有效提高语音通话质量。
[0169]
相应的,如图5所示,本发明实施例还提供了一种双麦克风阵列回声消除方法,可以用于电子设备,双麦克风阵列回声消除装置500包括:
[0170]
信号获取模块501,用于获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号;
[0171]
线性滤波模块502,用于对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱;
[0172]
质心拟合模块503,用于分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;
[0173]
残留回声抑制模块504,用于利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号;
[0174]
平滑模块505,用于对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子;
[0175]
目标获取模块506,用于利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,获得目标近端语音信号。
[0176]
本发明实施例,获取电子设备在通话过程中产生的远端信号,以及双麦克风阵列的第一近端信号和第二近端信号,然后,对远端信号和双麦克风阵列的近端信号做初次滤波处理,可以对所述远端信号、所述第一近端信号和第二近端信号进行线性滤波处理,获得第一初始误差频谱和第二初始误差频谱,从而初步消除回声;接着,分别对所述第一初始误差频谱和第二初始误差频谱进行质心拟合,获得所述第一近端信号和所述第二近端信号的初始抑制增益因子,并将所述初始抑制增益因子充当下一帧线性滤波处理的可变步长因子;利用自适应零极点回声消除器对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号,从而实现残留回声抑制;对所述初始抑制增益因子进行子带范围选取后,求得平滑因子,并进行全频带平滑及指数运算,获得二次抑制增益因子,利用所述二次抑制增益因子对所述目标频谱信号进行滤波处理,实现二次抑制增益滤波,获得目标近端语音信号,有效提升回声消除效果,有效提高语音通话质量。
[0177]
在其他实施例中,线性滤波模块502,还用于:
[0178]
对所述远端信号进行傅里叶变换,获得远端频域信息,对所述第一近端信号进行傅里叶变换,获得第一近端频域信息,且对所述第二近端信号进行傅里叶变换,获得第二近端频域信息;
[0179]
使用上一帧更新的滤波器权重系数对所述远端频域信息进行滤波处理,获得回声频谱;
[0180]
用所述第一近端频域信息减去所述回声频谱,获得第一初始误差频谱;
[0181]
用所述第二近端频域信息减去所述回声频谱,获得第二初始误差频谱。
[0182]
在其他实施例中,质心拟合模块503,还用于:
[0183]
计算所述远端频域信息与所述第一初始误差频谱之间的第一互相关系数,以及所述远端频域信息与所述第二初始误差频谱之间的第二互相关系数;
[0184]
对所述第一互相关系数进行质心拟合,获得第一初始抑制增益因子,且对所述第二互相关系数进行质心拟合,获得第二初始抑制增益因子;
[0185]
用所述第一初始抑制增益因子乘以所述第一初始误差频谱,获得所述第一误差频谱,且用所述第二初始抑制增益因子乘以所述第二初始误差频谱,获得所述第二误差频谱。
[0186]
在其他实施例中,双麦克风阵列回声消除装置500还包括更新模块507,用于:
[0187]
基于所述第一初始抑制增益因子、所述第二初始抑制增益因子更新所述上一帧滤波器权重系数,获得当前帧滤波器权重系数;
[0188]
如果所述第一初始抑制增益因子、所述第二初始抑制增益因子小于预设阈值时,将所述第一初始抑制增益因子、所述第二初始抑制增益因子充当下一帧线性滤波处理的可变步长因子。
[0189]
在其他实施例中,残留回声抑制模块504,还用于:
[0190]
基于所述第一误差频谱和时延补偿,计算第一支路频谱信号,且基于第二误差频谱和时延补偿,计算第二支路频谱信号;
[0191]
基于所述第一支路频谱信号和所述第二支路频谱信号,计算所述第一支路频谱信号与所述第二支路频谱信号之间的差分信号互相关功率谱系数及自适应零极点回声消除器的权重系数;
[0192]
利用所述自适应零极点回声消除器的权重系数对所述第一误差频谱和第二误差频谱进行残留回声抑制,获得目标频谱信号。
[0193]
在其他实施例中,平滑模块505,还用于:
[0194]
对初始抑制增益因子进行子带范围选取,获得若干个子带范围内的初始抑制增益因子;
[0195]
对若干个所述子带范围内的初始抑制增益因子进行排序处理,并计算抑制增益系数平滑因子;
[0196]
利用所述抑制增益系数平滑因子对所述初始抑制增益因子做全频带平滑处理及指数运算,获得所述二次抑制增益因子。
[0197]
在其他实施例中,目标获取模块506,还用于:
[0198]
对所述目标频谱信号进行降噪处理;
[0199]
用所述二次抑制增益因子乘以降噪处理后的所述目标频谱信号后,进行傅里叶逆变换,并重叠相加,获得目标近端语音信号。
[0200]
需要说明的是,上述装置可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在装置实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
[0201]
图6为电子设备100的一个实施例中电子设备100控制器的硬件结构示意图,如图6所示,控制器110包括:
[0202]
一个或多个处理器111、存储器112。图6中以一个处理器111、一个存储器112为例。
[0203]
处理器111、存储器112可以通过总线或者其他方式连接,图6中以通过总线连接为例。
[0204]
存储器112作为一种非易失性计算机可读存储介质,可用于存储非易失性软件程序、非易失性计算机可执行程序以及模块,如本技术实施例中的双麦克风阵列回声消除方法对应的程序指令/模块(例如,附图5所示的信号获取模块501、线性滤波模块502、质心拟合模块503、残留回声抑制模块504、平滑模块505、目标获取模块506、更新模块507)。处理器111通过运行存储在存储器112中的非易失性软件程序、指令以及模块,从而执行控制器的各种功能应用以及数据处理,即实现上述方法实施例的双麦克风阵列回声消除方法。
[0205]
存储器112可以包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需要的应用程序;存储数据区可存储根据电子设备100的使用所创建的数据等。此外,存储器112可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他非易失性固态存储器件。在一些实施例中,存储器112可选包括相对于处理器111远程设置的存储器,这些远程存储器可以通过网络连接至信号长时间记录设备。上述网络的实例包括但不限于互联网、企业内部网、局域网、移动通信网及其组合。
[0206]
所述一个或者多个模块存储在所述存储器112中,当被所述一个或者多个处理器111执行时,执行上述任意方法实施例中的双麦克风阵列回声消除方法,例如,执行以上描述的图4中的方法步骤s401至步骤s406的方法步骤;实现图5中的模块501-507的功能。
[0207]
上述产品可执行本技术实施例所提供的方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本技术实施例所提供的方法。
[0208]
本技术实施例提供了一种非易失性计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,该计算机可执行指令被一个或多个处理器执行,例如图6中的一个处理器111,可使得上述一个或多个处理器可执行上述任意方法实施例中的双麦克风阵列回声消除方法,例如,执行以上描述的图4中的方法步骤s401至步骤s406的方法步骤;实现图5中的模块501-407的功能。
[0209]
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。
[0210]
通过以上的实施例的描述,本领域普通技术人员可以清楚地了解到各实施例可借助软件加通用硬件平台的方式来实现,当然也可以通过硬件。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(read-on l y memory,rom)或随机存储记忆体(randomaccessmemory,ram)等。
[0211]
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;在本发明的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本发明的不同方面的许多其它变化,为了简明,它们没有在细节中提供;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人
员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1