首页 > 乐器声学 专利正文
一种语音信号处理方法、装置及终端与流程

时间:2022-02-18 阅读: 作者:专利查询

一种语音信号处理方法、装置及终端与流程

1.本发明实施例涉及语音处理技术领域,尤其涉及一种语音信号处理方法、装置、终端及存储介质。


背景技术:

2.在语音信号处理流程中,回声消除是一种常用的语音信号处理算法。回声消除一般包括两步操作,即线性回声消除以及非线性残余回声抑制。线性回声消除采用自适应滤波技术将绝大部分回声做抑制处理,如aec(adaptive echo cancellation,自适应线性回声消除)算法。但是在实际语音应用系统中,各个硬件,如扬声器以及麦克风等设备往往导致语音信号中存在非线性回声成分,而aec算法不能够有效消除回声,因此需要采用非线性参与回声抑制算法进一步去除回声。
3.现有的非线性残余回声抑制算法通常采用信号之间的互相关,并应用过载值来得到各个子带的回声抑制参数。
4.发明人在实现本发明的过程中,发现现有技术存在如下缺陷:现有的非线性残余回声抑制算法中过载值的计算较复杂,而且需要调节的参数较多,实现较为复杂。


技术实现要素:

5.本发明实施例提供一种语音信号处理方法、装置及终端,以根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,并降低残余回声抑制算法的复杂度。
6.第一方面,本发明实施例提供了一种语音信号处理方法,包括:
7.获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号;
8.计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数;
9.根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率;
10.根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子;
11.根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
12.第二方面,本发明实施例还提供了一种语音信号处理装置,包括:
13.信号获取模块,用于获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号;
14.互相关参数计算模块,用于计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数;
15.后验概率计算模块,用于根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率;
16.残余回声抑制因子计算模块,用于根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子;
17.语音信号处理模块,用于根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
18.第三方面,本发明实施例还提供了一种终端,所述终端包括:
19.一个或多个处理器;
20.存储装置,用于存储一个或多个程序;
21.当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现本发明任意实施例所提供的语音信号处理方法。
22.第四方面,本发明实施例还提供了一种计算机存储介质,其上存储有计算机程序,该程序被处理器执行时实现本发明任意实施例所提供的语音信号处理方法。
23.本发明实施例通过计算当前帧原始语音信号与当前帧参考信号之间的第一互相关参数,以及当前帧原始语音信号与当前帧近端语音信号之间的第二互相关参数,以根据第一互相关参数、第二互相关参数以及前一帧近端语音信号存在的后验概率,计算当前帧近端语音信号存在的后验概率,从而根据当前帧近端语音信号存在的后验概率计算残余回声抑制因子,最后根据残余回声抑制因子以及当前帧近端语音信号计算当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,解决现有非线性残余回声抑制算法的实现方式较为复杂的问题,根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,并降低残余回声抑制算法的复杂度。
附图说明
24.图1是本发明实施例一提供的一种语音信号处理方法的流程图;
25.图2a是本发明实施例二提供的一种语音信号处理方法的流程图;
26.图2b是本发明实施例二提供的一种语音信号处理方法的流程图;
27.图3是本发明实施例三提供的一种语音信号处理装置的示意图;
28.图4为本发明实施例四提供的一种终端的结构示意图。
具体实施方式
29.下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。
30.另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部内容。在更加详细地讨论示例性实施例之前应当提到的是,一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作(或步骤)描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。
31.本发明实施例的说明书和权利要求书及附图中的术语“第一”和“第二”等是用于区别不同的对象,而不是用于描述特定的顺序。此外术语“包括”和“具有”以及他们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或
设备没有设定于已列出的步骤或单元,而是可包括没有列出的步骤或单元。
32.实施例一
33.图1是本发明实施例一提供的一种语音信号处理方法的流程图,本实施例可适用于通过残余回声抑制因子对语音信号进行残余回声抑制处理的情况,该方法可以由语音信号处理装置来执行,该装置可以由软件和/或硬件的方式来实现,并一般可集成在终端中。相应的,如图1所示,该方法包括如下操作:
34.s110、获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号。
35.其中,当前帧原始语音信号可以是需要进行残余回声抑制处理的语音信号。示例性的,车载终端通过麦克风设备获取的用户输入的当前帧语音指令信号(也即当前帧麦克风信号)或其他智能终端采集的当前帧语音指令信号均可以作为当前帧原始语音信号。当前帧原始语音信号可以包括但不限于目标语音信号、噪音信号、回声信号或残留回声信号等。其中,残留回声信号即为对当前帧原始语音信号进行回声消除后残留的回声信号。目标语音信号即为用户所发出的语音指令信号。当前帧参考信号可以为当前帧的系统音频信号,如终端播放的wav格式的音频信号等。相应的,当前帧原始语音信号中包括的回声信号可以为语音采集设备(如麦克风)采集到的终端播放的音频信号。当前帧近端语音信号可以为当前帧原始语音信号经过aec处理后得到的信号。
36.在本发明实施例中,在确定用于进行残余回声抑制处理的残余回声抑制因子时,需要借助当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号三种类型的语音信号。
37.s120、计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数。
38.其中,第一互相关参数和第一互相关参数可以是根据互相关谱计算得到的互相关系数。
39.相应的,在获取到当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号三种类型的语音信号后,需要分别计算当前帧原始语音信号与当前帧参考信号之间的第一互相关参数,以及当前帧原始语音信号与当前帧近端语音信号之间的第二互相关参数。
40.s130、根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率。
41.相应的,计算得到第一互相关参数和第二互相关参数后,可以根据第一互相关参数、第二互相关参数以及前一帧近端语音信号存在的后验概率,计算当前帧近端语音信号存在的后验概率。
42.s140、根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子。
43.s150、根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
44.其中,残余回声抑制因子可以用于对近端语音信号进行残余回声抑制处理。
45.在本发明实施例中,在根据当前帧近端语音信号存在的后验概率计算得到残余回声抑制因子后,即可根据残余回声抑制因子以及当前帧近端语音信号计算当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,从而实现对当前帧近端语音信号的残余回声抑制处理。
46.综上所述,本发明实施例可以仅利用残余回声抑制因子对当前帧近端语音信号进行残余回声抑制处理,能够有效抑制语音信号中的残余回声信号,也即有效去除非线性回声成分,得到清晰的语音信号,且不需要过多的可调参数,实现较为简单,降低了残余回声抑制算法的复杂度。
47.本发明实施例通过计算当前帧原始语音信号与当前帧参考信号之间的第一互相关参数,以及当前帧原始语音信号与当前帧近端语音信号之间的第二互相关参数,以根据第一互相关参数、第二互相关参数以及前一帧近端语音信号存在的后验概率,计算当前帧近端语音信号存在的后验概率,从而根据当前帧近端语音信号存在的后验概率计算残余回声抑制因子,最后根据残余回声抑制因子以及当前帧近端语音信号计算当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,解决现有非线性残余回声抑制算法的实现方式较为复杂的问题,根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,并降低残余回声抑制算法的复杂度。
48.实施例二
49.图2a是本发明实施例二提供的一种语音信号处理方法的流程图,图2b是本发明实施例二提供的一种语音信号处理方法的流程图,本实施例以上述实施例为基础进行具体化,在本实施例中,给出了计算第一互相关参数、第二互相关参数、当前帧近端语音信号存在的后验概率、残余回声抑制因子,以及当前帧近端语音信号经过残余回声抑制处理后得到的语音信号的具体实现方式。相应的,结合图2a和图2b所示,本实施例的方法可以包括:
50.s210、获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号。
51.其中,当前帧原始语音信号可以是当前帧麦克风信号,当前帧近端语音信号可以是当前帧原始语音信号经过aec之后的当前帧语音信号。
52.s220、计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数。
53.相应的,s220具体可以包括:
54.s221、计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关谱。
55.在本发明的一个可选实施例中,计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关谱,可以包括:
56.基于如下公式计算所述当前帧原始语音信号与所述当前帧参考信号的功率谱:
[0057][0058][0059]
其中,s
d
(i,j)表示所述当前帧原始语音信号第j个频点的功率谱,s
d
(i-1,j)表示前一帧原始语音信号第j个频点的功率谱,β表示平滑系数,d
i,j
表示所述当前帧原始语音信号第j个频点的频谱,表示所述当前帧原始语音信号第j个频点的频谱的共轭复数,s
x
(i,j)表示所述当前帧参考信号第j个频点的功率谱;s
x
(i-1,j)表示前一帧参考信号第j个频点的功率谱,x
i,j
表示所述当前帧参考信号第j个频点的频谱,表示所述当前帧参考信号第j个频点的频谱的共轭复数。
[0060]
需要说明的是,在本发明实施例中,“当前帧”也即表示第i帧。示例性的,s
d
(i,j)也可以表示第i帧原始语音信号第j个频点的功率谱,也即,当前帧原始语音信号第j个频点的功率谱即为第i帧原始语音信号第j个频点的功率谱。相应的,“前一帧”也即表示第i-1帧。示例性的,s
d
(i-1,j)也可以表示第i-1帧原始语音信号第j个频点的功率谱,也即,前一帧原始语音信号第j个频点的功率谱即为第i-1帧原始语音信号第j个频点的功率谱。
[0061]
基于如下公式计算所述第一互相关谱:
[0062][0063]
其中,s
xd
(i,j)所述当前帧原始语音信号第j个频点与所述当前帧参考信号第j个频点的第一互相关谱,s
xd
(i-1,j)表示所述前一帧原始语音信号第j个频点与所述前一帧参考信号第j个频点的第一互相关谱。
[0064]
s222、根据所述第一互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧参考信号的频谱计算第一互相关系数。
[0065]
在本发明的一个可选实施例中,根据所述第一互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧参考信号的频谱计算第一互相关系数,可以包括:基于如下公式计算所述第一互相关系数:
[0066][0067]
其中,c
xd
(i,j)表示所述第一互相关系数,表示所述第一互相关谱的共轭复数。
[0068]
s223、计算所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关谱。
[0069]
在本发明的一个可选实施例中,计算所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关谱,可以包括:
[0070]
基于如下公式计算所述当前帧近端语音信号的功率谱:
[0071][0072]
其中,s
e
(i,j)表示所述当前帧近端语音信号第j个频点的功率谱,s
e
(i-1,j)表示所述前一帧近端语音信号第j个频点的功率谱,e
i,j
表示所述当前帧近端语音信号第j个频点的频谱,表示所述当前帧近端语音信号第j个频点的频谱的共轭复数;
[0073]
基于如下公式计算所述第二互相关谱:
[0074][0075]
其中,s
de
(i,j)表示所述当前帧原始语音信号第j个频点与所述当前帧近端语音信号第j个频点的第二互相关谱,s
de
(i-1,j)表示所述前一帧原始语音信号第j个频点与所述前一帧近端语音信号第j个频点的第二互相关谱。
[0076]
s224、根据所述第二互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧近端语音信号的频谱计算第二互相关系数。
[0077]
在本发明的一个可选实施例中,根据所述第二互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧近端语音信号的频谱计算第二互相关系数;可以包括:基于如下
公式计算所述第二互相关系数:
[0078][0079]
其中,c
de
(i,j)表示所述第二互相关系数,表示所述第二互相关谱的共轭复数。
[0080]
在本发明实施例中,c
de
(i,j)可以作为当前帧第j个频点上目标语音信号所占的比例,c
xd
(i,j)则可以作为当前帧第j个频点上残余回声信号所占的比例。
[0081]
s230、根据所述第一互相关参数以及所述第二互相关参数计算所述当前帧近端语音信号不存在的先验概率。
[0082]
在本发明的一个可选实施例中,根据所述第一互相关参数以及所述第二互相关参数计算所述当前帧近端语音信号不存在的先验概率,可以包括:基于如下公式计算所述当前帧近端语音信号与所述残余回声信号之间的比值:
[0083][0084]
基于如下公式计算所述当前帧近端语音信号不存在的先验概率:
[0085][0086]
其中,η(i,j)表示所述当前帧近端语音信号与所述残余回声信号之间的比值,q(i,j)表示所述当前帧近端语音信号不存在的先验概率,ν表示门限值。
[0087]
在本发明实施例中,由于c
de
(i,j)可以作为当前帧第j个频点上目标语音信号所占的比例,c
xd
(i,j)则可以作为当前帧第j个频点上残余回声信号所占的比例。因此,η(i,j)越大,则可以认为当前帧近端语音信号存在的概率越大;η(i,j)越小,则可以认为当前帧近端语音信号存在概率越小。当η(i,j)<1时,可以认为此时不存在当前帧近端语音信号。
[0088]
s240、根据所述前一帧近端语音信号存在的后验概率计算当前帧残余回声信号的功率谱。
[0089]
在本发明的一个可选实施例中,根据所述前一帧近端语音信号存在的后验概率计算当前帧残余回声信号的功率谱,可以包括:当所述前一帧近端语音信号存在的后验概率小于设定阈值时,基于如下公式计算所述当前帧残余回声信号的功率谱:
[0090][0091][0092]
其中,λ
echo
(i,j)表示所述当前帧残余回声信号的功率谱,表示前一帧近端语音信号的可变平滑因子,λ
echo
(i-1,j)表示前一帧残余回声信号的功率谱,α
echo
表示固定平滑因子。
[0093]
当所述前一帧近端语音信号存在的后验概率大于或等于设定阈值时,所述当前帧
残余回声信号的功率谱取值为零。
[0094]
其中,设定阈值可以根据实际需求设定,如0.95或0.97等,本发明实施例并不对设定阈值的具体数值进行限定。
[0095]
示例性的,当p(i-1,j)小于0.95时,可以利用前一帧近端语音信号存在的后验概率p(i-1,j)计算残余回声信号的功率谱,以获取残余回声信号准确的功率值。当p(i-1,j)大于或等于0.95时,可以认为此时仅存在近端语音信息,所以λ
echo
(i,j)=0。
[0096]
s250、根据所述当前帧近端语音信号的瞬态功率谱与所述当前帧残余回声信号的功率谱计算后验信干比。
[0097]
可以理解的是,信干比(signal to interference ratio,sir)的定义是信号的能量与干扰能量(如同频干扰,多径等)和加性噪声能量的和的比值。在本发明实施例中,将残余回声信号作为干扰信号,将近端语音信号与残余回声信号之间的比值作为信干比。
[0098]
在本发明的一个可选实施例中,根据所述当前帧近端语音信号的瞬态功率谱与所述当前帧残余回声信号的功率谱计算后验信干比,可以包括:基于如下公式计算所述后验信干比:
[0099][0100]
其中,γ(i,j)表示所述后验信干比,|e
i,j
|2表示所述当前帧近端语音信号的瞬态功率谱。
[0101]
s260、根据所述后验信干比计算先验信干比。
[0102]
其中,后验信干比与先验信干比均为当前帧近端语音信号的功率谱与当前帧残余回声信号的功率谱的比值。
[0103]
在本发明的一个可选实施例中,根据所述后验信干比计算先验信干比,可以包括:基于如下公式计算所述先验信干比:
[0104]
ξ(i,j)=αg
12
(i-1,j)γ(i-1,j)+(1-α)max{γ(i,j)-1,0}
[0105]
其中,ξ(i,j)表示所述先验信干比,α表示平滑系数,可选的,α可以取值0.9,g1(i-1,j)表示前一帧近端语音信号的残余回声抑制因子中间值,γ(i-1,j)表示前一帧近端语音信号的瞬态功率谱与前一帧残余回声信号的功率谱的后验信干比。
[0106]
s270、根据所述当前近端语音信号不存在的先验概率、所述后验信干比以及所述先验信干比,计算所述当前帧近端语音信号存在的后验概率。
[0107]
在本发明的一个可选实施例中,根据所述当前近端语音信号不存在的先验概率、所述后验信干比以及所述先验信干比,计算所述当前帧近端语音信号存在的后验概率,可以包括:基于如下公式计算所述当前帧近端语音信号存在的后验概率:
[0108][0109]
在计算所述当前帧近端语音信号存在的后验概率之后,还可以包括:基于如下公式更新可变平滑因子:
[0110]
[0111]
其中,p(i,j)表示所述当前帧近端语音信号存在的后验概率,表示所述当前帧近端语音信号的可变平滑因子。在本发明实施例中,可选的,α
echo
=0.87。
[0112]
s280、根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子。
[0113]
在本发明的一个可选实施例中,根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子,可以包括:基于如下公式计算所述残余回声抑制因子:
[0114][0115]
g(i,j)=g1(i,j)
p(i,j)
×
g
min
(i,j)
1-p(i,j)
[0116]
其中,g1(i,j)表示当前帧近端语音信号的残余回声抑制因子中间值,g(i,j)表示所述残余回声抑制因子,g
min
(i,j)表示残余回声抑制因子的门限控制值。
[0117]
需要说明的是,也可以直接利用g1(i,j)作为残余回声抑制因子。但考虑到g1(i,j)对于残余回声信号的抑制作用过于强大,可能会导致处理得到的语音信号的效果不够理想。因此,可以利用当前帧近端语音信号存在的后验概率以及门限控制值来缓和g1(i,j)的抑制作用。具体的,由于p(i,j)小于1,因此,g1(i,j)
p(i,j)
会小于g1(i,j)。为了防止p(i,j)过小导致g1(i,j)过小,也即防止过于弱化g1(i,j)的抑制作用,同时还引入g
min
(i,j)
1-p(i,j)
对g1(i,j)
p(i,j)
进行中和。可选的,g
min
(i,j)可以取固定值0.2,本发明实施例并不对g
min
(i,j)的具体数值进行限定。
[0118]
s290、根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
[0119]
在本发明的一个可选实施例中,根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,可以包括:基于公式e=e
i,j
g(i,j),计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号e。
[0120]
综上所述,本发明实施例通过当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号之间的互相关,近似得到近端语音信号以及残余回声信号各自所占的比例,并由此来得到近端语音信号不存在的先验概率,同时根据近端语音信号存在的后验概率计算当前帧残余回声信号的功率谱,然后在此基础上得到了近端语音信号与残余回声信号之间的后验信干比及先验信干比,最后结合以上结果得到最终的残余回声抑制因子,以根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,降低了残余回声抑制算法的复杂度。
[0121]
本发明实施例通过计算当前帧原始语音信号与当前帧参考信号之间的第一互相关参数,以及当前帧原始语音信号与当前帧近端语音信号之间的第二互相关参数,以根据第一互相关参数、第二互相关参数以及前一帧近端语音信号存在的后验概率,计算当前帧近端语音信号存在的后验概率,从而根据当前帧近端语音信号存在的后验概率计算残余回声抑制因子,最后根据残余回声抑制因子以及当前帧近端语音信号计算当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,解决现有非线性残余回声抑制算法的实现方式较为复杂的问题,根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,
并降低残余回声抑制算法的复杂度。
[0122]
需要说明的是,以上各实施例中各技术特征之间的任意排列组合也属于本发明的保护范围。
[0123]
实施例三
[0124]
图3是本发明实施例三提供的一种语音信号处理装置的示意图,如图3所示,所述装置包括:信号获取模块310、互相关参数计算模块320、后验概率计算模块330、残余回声抑制因子计算模块340以及语音信号处理模块350,其中:
[0125]
信号获取模块310,用于获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号;
[0126]
互相关参数计算模块320,用于计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数;
[0127]
后验概率计算模块330,用于根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率;
[0128]
残余回声抑制因子计算模块340,用于根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子;
[0129]
语音信号处理模块350,用于根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
[0130]
本发明实施例通过计算当前帧原始语音信号与当前帧参考信号之间的第一互相关参数,以及当前帧原始语音信号与当前帧近端语音信号之间的第二互相关参数,以根据第一互相关参数、第二互相关参数以及前一帧近端语音信号存在的后验概率,计算当前帧近端语音信号存在的后验概率,从而根据当前帧近端语音信号存在的后验概率计算残余回声抑制因子,最后根据残余回声抑制因子以及当前帧近端语音信号计算当前帧近端语音信号经过残余回声抑制处理后得到的语音信号,解决现有非线性残余回声抑制算法的实现方式较为复杂的问题,根据获取的残余回声抑制因子有效抑制语音信号中的残余回声信号,并降低残余回声抑制算法的复杂度。
[0131]
可选的,互相关参数计算模块320包括:第一互相关谱计算单元,用于计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关谱;第一互相关系数计算单元,用于根据所述第一互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧参考信号的频谱计算第一互相关系数;第二互相关谱计算单元,用于计算所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关谱;第二互相关系数计算单元,用于根据所述第二互相关谱、所述当前帧原始语音信号的频谱以及所述当前帧近端语音信号的频谱计算第二互相关系数。
[0132]
可选的,第一互相关谱计算单元,具体用于基于如下公式计算所述当前帧原始语音信号与所述当前帧参考信号的功率谱:
[0133][0134][0135]
其中,s
d
(i,j)表示所述当前帧原始语音信号第j个频点的功率谱,s
d
(i-1,j)表示
前一帧原始语音信号第j个频点的功率谱,β表示平滑系数,d
i,j
表示所述当前帧原始语音信号第j个频点的频谱,表示所述当前帧原始语音信号第j个频点的频谱的共轭复数,s
x
(i,j)表示所述当前帧参考信号第j个频点的功率谱;s
x
(i-1,j)表示前一帧参考信号第j个频点的功率谱,x
i,j
表示所述当前帧参考信号第j个频点的频谱,表示所述当前帧参考信号第j个频点的频谱的共轭复数。
[0136]
基于如下公式计算所述第一互相关谱:
[0137][0138]
其中,s
xd
(i,j)所述当前帧原始语音信号第j个频点与所述当前帧参考信号第j个频点的第一互相关谱,s
xd
(i-1,j)表示所述前一帧原始语音信号第j个频点与所述前一帧参考信号第j个频点的第一互相关谱。
[0139]
第一互相关系数计算单元,具体用于基于如下公式计算所述第一互相关系数:
[0140][0141]
其中,c
xd
(i,j)表示所述第一互相关系数,表示所述第一互相关谱的共轭复数。
[0142]
第二互相关谱计算单元,具体用于基于如下公式计算所述当前帧近端语音信号的功率谱:
[0143][0144]
其中,s
e
(i,j)表示所述当前帧近端语音信号第j个频点的功率谱,s
e
(i-1,j)表示所述前一帧近端语音信号第j个频点的功率谱,e
i,j
表示所述当前帧近端语音信号第j个频点的频谱,表示所述当前帧近端语音信号第j个频点的频谱的共轭复数;
[0145]
基于如下公式计算所述第二互相关谱:
[0146][0147]
其中,s
de
(i,j)表示所述当前帧原始语音信号第j个频点与所述当前帧近端语音信号第j个频点的第二互相关谱,s
de
(i-1,j)表示所述前一帧原始语音信号第j个频点与所述前一帧近端语音信号第j个频点的第二互相关谱。
[0148]
第二互相关系数计算单元,具体用于基于如下公式计算所述第二互相关系数:
[0149][0150]
其中,c
de
(i,j)表示所述第二互相关系数,表示所述第二互相关谱的共轭复数。
[0151]
可选的,后验概率计算模块330包括:先验概率计算单元,用于根据所述第一互相关参数以及所述第二互相关参数计算所述当前帧近端语音信号不存在的先验概率;功率谱计算单元,用于根据所述前一帧近端语音信号存在的后验概率计算当前帧残余回声信号的功率谱;后验信干比计算单元,用于根据所述当前帧近端语音信号的瞬态功率谱与所述当
前帧残余回声信号的功率谱计算后验信干比;先验信干比计算单元,用于根据所述后验信干比计算先验信干比;后验概率计算单元,用于根据所述当前近端语音信号不存在的先验概率、所述后验信干比以及所述先验信干比,计算所述当前帧近端语音信号存在的后验概率。
[0152]
可选的,先验概率计算单元,具体用于基于如下公式计算所述当前帧近端语音信号与所述残余回声信号之间的比值:
[0153][0154]
基于如下公式计算所述当前帧近端语音信号不存在的先验概率:
[0155][0156]
其中,η(i,j)表示所述当前帧近端语音信号与所述残余回声信号之间的比值,q(i,j)表示所述当前帧近端语音信号不存在的先验概率,ν表示门限值。
[0157]
可选的,功率谱计算单元,具体用于当所述前一帧近端语音信号存在的后验概率小于设定阈值时,基于如下公式计算所述当前帧残余回声信号的功率谱:
[0158][0159][0160]
其中,λ
echo
(i,j)表示所述当前帧残余回声信号的功率谱,表示前一帧近端语音信号的可变平滑因子,λ
echo
(i-1,j)表示前一帧残余回声信号的功率谱,α
echo
表示固定平滑因子;
[0161]
当所述前一帧近端语音信号存在的后验概率大于或等于设定阈值时,所述当前帧残余回声信号的功率谱取值为零。
[0162]
可选的,后验信干比计算单元,具体用于基于如下公式计算所述后验信干比:
[0163][0164]
其中,γ(i,j)表示所述后验信干比,|e
i,j
|2表示所述当前帧近端语音信号的瞬态功率谱。
[0165]
可选的,先验信干比计算单元,具体用于基于如下公式计算所述先验信干比:
[0166]
ξ(i,j)=αg
12
(i-1,j)γ(i-1,j)+(1-α)max{γ(i,j)-1,0}
[0167]
其中,ξ(i,j)表示所述先验信干比,α表示平滑系数,g1(i-1,j)表示前一帧近端语音信号的残余回声抑制因子中间值,γ(i-1,j)表示前一帧近端语音信号的瞬态功率谱与前一帧残余回声信号的功率谱的后验信干比。
[0168]
可选的,后验概率计算单元,具体用于基于如下公式计算所述当前帧近端语音信号存在的后验概率:
[0169][0170]
后验概率计算模块330还包括:可变平滑因子更新单元,用于基于如下公式更新可变平滑因子:
[0171][0172]
其中,p(i,j)表示所述当前帧近端语音信号存在的后验概率,表示所述当前帧近端语音信号的可变平滑因子。
[0173]
可选的,残余回声抑制因子计算模块,具体用于基于如下公式计算所述残余回声抑制因子:
[0174][0175]
g(i,j)=g1(i,j)
p(i,j)
×
g
min
(i,j)
1-p(i,j)
[0176]
其中,g1(i,j)表示当前帧近端语音信号的残余回声抑制因子中间值,g(i,j)表示所述残余回声抑制因子,g
min
(i,j)表示残余回声抑制因子的门限控制值。
[0177]
可选的,语音信号处理模块,具体用于基于公式e=e
i,j
g(i,j),计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号e。
[0178]
上述语音信号处理装置可执行本发明任意实施例所提供的语音信号处理方法,具备执行方法相应的功能模块和有益效果。未在本实施例中详尽描述的技术细节,可参见本发明任意实施例提供的语音信号处理方法。
[0179]
由于上述所介绍的语音信号处理装置为可以执行本发明实施例中的语音信号处理方法的装置,故而基于本发明实施例中所介绍的语音信号处理方法,本领域所属技术人员能够了解本实施例的语音信号处理装置的具体实施方式以及其各种变化形式,所以在此对于该语音信号处理装置如何实现本发明实施例中的语音信号处理方法不再详细介绍。只要本领域所属技术人员实施本发明实施例中语音信号处理方法所采用的装置,都属于本技术所欲保护的范围。
[0180]
实施例四
[0181]
图4为本发明实施例四提供的一种终端的结构示意图。图4示出了适于用来实现本发明实施方式的终端412的框图。图4显示的终端412仅仅是一个示例,不应对本发明实施例的功能和使用范围带来任何限制。
[0182]
如图4所示,终端412以通用计算设备的形式表现。终端412的组件可以包括但不限于:一个或者多个处理器416,存储装置428,连接不同系统组件(包括存储装置428和处理器416)的总线418。
[0183]
总线418表示几类总线结构中的一种或多种,包括存储器总线或者存储器控制器,外围总线,图形加速端口,处理器或者使用多种总线结构中的任意总线结构的局域总线。举例来说,这些体系结构包括但不限于工业标准体系结构(industry standard architecture,isa)总线,微通道体系结构(micro channel architecture,mca)总线,增强
型isa总线、视频电子标准协会(video electronics standards association,vesa)局域总线以及外围组件互连(peripheral component interconnect,pci)总线。
[0184]
终端412典型地包括多种计算机系统可读介质。这些介质可以是任何能够被终端412访问的可用介质,包括易失性和非易失性介质,可移动的和不可移动的介质。
[0185]
存储装置428可以包括易失性存储器形式的计算机系统可读介质,例如随机存取存储器(random access memory,ram)430和/或高速缓存存储器432。终端412可以进一步包括其它可移动/不可移动的、易失性/非易失性计算机系统存储介质。仅作为举例,存储系统434可以用于读写不可移动的、非易失性磁介质(图4未显示,通常称为“硬盘驱动器”)。尽管图4中未示出,可以提供用于对可移动非易失性磁盘(例如“软盘”)读写的磁盘驱动器,以及对可移动非易失性光盘(例如只读光盘(compact disc-read only memory,cd-rom)、数字视盘(digital video disc-read only memory,dvd-rom)或者其它光介质)读写的光盘驱动器。在这些情况下,每个驱动器可以通过一个或者多个数据介质接口与总线418相连。存储装置428可以包括至少一个程序产品,该程序产品具有一组(例如至少一个)程序模块,这些程序模块被配置以执行本发明各实施例的功能。
[0186]
具有一组(至少一个)程序模块426的程序436,可以存储在例如存储装置428中,这样的程序模块426包括但不限于操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。程序模块426通常执行本发明所描述的实施例中的功能和/或方法。
[0187]
终端412也可以与一个或多个外部设备414(例如键盘、指向设备、摄像头、显示器424等)通信,还可与一个或者多个使得用户能与该终端412交互的设备通信,和/或与使得该终端412能与一个或多个其它计算设备进行通信的任何设备(例如网卡,调制解调器等等)通信。这种通信可以通过输入/输出(input/output,i/o)接口422进行。并且,终端412还可以通过网络适配器420与一个或者多个网络(例如局域网(local area network,lan),广域网wide area network,wan)和/或公共网络,例如因特网)通信。如图所示,网络适配器420通过总线418与终端412的其它模块通信。应当明白,尽管图中未示出,可以结合终端412使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、磁盘阵列(redundant arrays of independent disks,raid)系统、磁带驱动器以及数据备份存储系统等。
[0188]
处理器416通过运行存储在存储装置428中的程序,从而执行各种功能应用以及数据处理,例如实现本发明上述实施例所提供的语音信号处理方法。
[0189]
也即,所述处理单元执行所述程序时实现:获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号;计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数;根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率;根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子;根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
[0190]
实施例五
[0191]
本发明实施例五还提供一种存储计算机程序的计算机存储介质,所述计算机程序
在由计算机处理器执行时用于执行本发明上述实施例任一所述的语音信号处理方法:获取当前帧原始语音信号、当前帧参考信号以及当前帧近端语音信号;计算所述当前帧原始语音信号与所述当前帧参考信号之间的第一互相关参数,以及所述当前帧原始语音信号与所述当前帧近端语音信号之间的第二互相关参数;根据所述第一互相关参数、所述第二互相关参数以及前一帧近端语音信号存在的后验概率,计算所述当前帧近端语音信号存在的后验概率;根据所述当前帧近端语音信号存在的后验概率计算残余回声抑制因子;根据所述残余回声抑制因子以及所述当前帧近端语音信号计算所述当前帧近端语音信号经过残余回声抑制处理后得到的语音信号。
[0192]
本发明实施例的计算机存储介质,可以采用一个或多个计算机可读的介质的任意组合。计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机存取存储器(ram)、只读存储器(read only memory,rom)、可擦式可编程只读存储器((erasable programmable read only memory,eprom)或闪存)、光纤、便携式紧凑磁盘只读存储器(cd-rom)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本文件中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
[0193]
计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
[0194]
计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括——但不限于无线、电线、光缆、射频(radio frequency,rf)等等,或者上述的任意合适的组合。
[0195]
可以以一种或多种程序设计语言或其组合来编写用于执行本发明操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如java、smalltalk、c++,还包括常规的过程式程序设计语言——诸如“c”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(lan)或广域网(wan)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
[0196]
注意,上述仅为本发明的较佳实施例及所运用技术原理。本领域技术人员会理解,本发明不限于这里所述的特定实施例,对本领域技术人员来说能够进行各种明显的变化、重新调整和替代而不会脱离本发明的保护范围。因此,虽然通过以上实施例对本发明进行了较为详细的说明,但是本发明不仅仅限于以上实施例,在不脱离本发明构思的情况下,还可以包括更多其他等效实施例,而本发明的范围由所附的权利要求范围决定。