本发明涉及信号处理技术领域,特别涉及一种声学回声抵消器输出语音信号的后处理方法及装置。
背景技术:
声学回声抵消器(aec)是全双工语音通信系统中一个关键部件,其主要作用是移去由扬声器耦合到麦克风远端信号的回声信号,同时不退化近端语音信号。尽管线性自适应滤波器构成的传统aec在高品质硬件条件可达满意效果,但它在诸如通常的电话器件和笔记本等低廉的设备中应用时,由于低品质扬声器、过载功放和设计欠缺的外壳等引入了非线性失真,使得其性能在实际应用中十分受限,此时aec的输出通常存在明显的非线性残留回声。
为此,人们提出了许多相应技术来克服或减少这种非线性残留回声。这些技术可归纳为2类,其中一类是采用非线性aec模型,包括自适应voltera滤波器、自适应正交幂乘方滤波器(orthogonalizedpowerfilters)、基于饱和曲线的预失真器以及神经网络技术;尽管采用非线性aec模型在某些应用场景可以达到预定的效果,但其计算复杂度巨大,难以在实际产品或系统中实现。另一类则是采用残留回声抑制(res)模型,包括中心削波(centerclipping)技术、线性res算法、谐波失真的非线性res算法和基于回声路径频域幂乘方滤波器模型的非线性res算法。这类技术均把传统的aec输出用作res算法的输入,并从中估计出残留回声的功率谱,然后用weiner滤波或谱减法来进一步抑制该残留回声。该类技术虽可实际实现,但在双讲模式情形下,会严重地损伤近端语音信号。
技术实现要素:
本发明实施例提供一种声学回声抵消器输出语音信号的后处理方法及装置,以改善和解决现有的线性自适应滤波器构成的传统aec在实际应用中的性能十分有限,其输出通常存在显著的非线性残留回声,严重影响语音通信系统的全双工特性的问题。
为了解决上述技术问题,本发明实施例提供一种声学回声抵消器aec输出语音信号的后处理方法,包括:
获取预设的aec输出信号子带谱;
依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出所述近端语音信号子带谱的线性估计值。
进一步地,所述对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值的步骤,包括:
获取残留回声子带域抑制因子;
根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
进一步地,所述获取残留回声子带域抑制因子的步骤,包括:
分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
进一步地,所述aec估计的回声信号子带功率谱的获取方式为:
根据公式:
得到aec估计的回声子带谱的功率;
其中,
进一步地,所述aec输出信号与麦克风接收信号之间的子带互功率谱的获取方式为:
根据公式:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述残留回声子带域抑制因子的调节参数的获取方式为:
获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
进一步地,所述aec估计的回声信号的零均值子带功率谱的获取方式为:
根据公式:
获取aec估计的回声信号的零均值子带功率谱;
其中,
进一步地,所述aec输出信号的零均值子带功率谱的获取方式为:
根据公式:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;|·|为复数的取模运算符;λ1为预设平滑系数参数,且0<λ1<1;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数的步骤,包括:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
进一步地,所述aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数的获取方式为:
根据公式:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
进一步地,所述aec估计的回声信号的零均值子带功率谱的自相关函数的获取方式为:
根据公式:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
进一步地,所述自适应平滑系数参数的获取方式为:
根据公式:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
进一步地,所述aec输出信号的子带功率谱的获取方式为:
根据公式:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;|·|为复数的取模运算符;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述根据所述互相关函数以及所述自相关函数,获取线性回归系数的步骤,包括:
根据公式:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
进一步地,所述根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数的步骤,包括:
根据公式:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述根据所述aec估计的回声信号的子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子的步骤,包括:
根据公式:
其中,
进一步地,所述根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值的步骤,包括:
根据公式:
其中,
本发明实施例还提供一种aec输出语音信号的后处理装置,包括:
获取模块,用于获取预设的aec输出信号子带谱;
处理模块,用于依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出模块,用于输出所述近端语音信号子带谱的线性估计值。
进一步地,所述处理模块,包括:
获取子模块,用于获取残留回声子带域抑制因子;
处理子模块,用于根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
进一步地,所述获取子模块,包括:
第一获取单元,用于分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
第二获取单元,用于根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
进一步地,在获取所述aec估计的回声信号子带功率谱时,所述第一获取单元用于:
根据公式:
得到aec估计的回声子带谱的功率;
其中,
进一步地,在获取所述aec输出信号与麦克风接收信号之间的子带互功率谱时,所述第一获取单元用于:
根据公式:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,在获取所述残留回声子带域抑制因子的调节参数时,所述第一获取单元,包括:
第一获取子单元,用于获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
第二获取子单元,用于根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
第三获取子单元,用于根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
进一步地,在获取所述aec估计的回声信号的零均值子带功率谱时,所述第一获取子单元用于:
根据公式:
获取aec估计的回声信号的零均值子带功率谱;
其中,
进一步地,在获取所述aec输出信号的零均值子带功率谱时,所述第一获取子单元用于:
根据公式:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;|·|为复数的取模运算符;λ1为预设平滑系数参数,且0<λ1<1;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述第二获取子单元用于:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
进一步地,所述aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数的获取方式为:
根据公式:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
进一步地,所述aec估计的回声信号的零均值子带功率谱的自相关函数的获取方式为:
根据公式:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
进一步地,所述自适应平滑系数参数的获取方式为:
根据公式:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
进一步地,所述aec输出信号的子带功率谱的获取方式为:
根据公式:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;|·|为复数的取模运算符;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述根据所述互相关函数以及所述自相关函数,获取线性回归系数的方式为:
根据公式:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
进一步地,所述第三获取子单元用于:
根据公式:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述第二获取单元用于:
根据公式:
其中,
进一步地,所述处理子模块用于:
根据公式:
其中,
本发明实施例还提供一种aec输出语音信号的后处理装置,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序;其中,所述处理器执行所述程序时实现以下步骤:
获取预设的aec输出信号子带谱;
依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出所述近端语音信号子带谱的线性估计值。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取预设的aec输出信号子带谱;
依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出所述近端语音信号子带谱的线性估计值。
本发明的有益效果是:
上述方案,通过将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下以使近端语音信号子带谱估计的失真误差最小化,有效抑制了残留回声,保证了语音通信系统的全双工特性的稳定性。
附图说明
图1表示本发明实施例的aec输出语音信号的后处理方法的流程示意图;
图2表示子带域中res与传统aec级联关系示意图;
图3表示本发明实施例的aec输出语音信号的后处理装置的模块示意图;
图4表示本发明实施例的aec输出语音信号的后处理装置的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图及具体实施例对本发明进行详细描述。
本发明针对现有的线性自适应滤波器构成的传统aec在实际应用中的性能十分有限,其输出通常存在显著的非线性残留回声,严重影响语音通信系统的全双工特性的问题,提供一种声学回声抵消器aec输出语音信号的后处理方法及装置。
如图1所示,本发明一实施例的aec输出语音信号的后处理方法,包括:
步骤11,获取预设的aec输出信号子带谱;
需要说明的是,预设aec输出信号子带谱即传统的aec输出信号的子带谱。
步骤12,依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
步骤13,输出所述近端语音信号子带谱的线性估计值。
需要说明的是,本发明实施例提出了一种用于子带域的res算法,该res算法构造一子带域滤波器对子带域aec的输出信号进行后滤波(post-filtering)处理(即对aec输出信号子带谱进行加权处理),以实现对残留回声的抑制。该aec输出信号子带谱是执行res算法的输入参数,近端语音信号子带谱的线性估计值是运用res算法后的输出量。
如图2所示,为子带域中res与传统aec级联关系示意图,其中,k为子带索引变量,k=0,1,2,…,k-1(其中,k为总子带数);t为信号帧时间索引变量,t=0,1,2,…;s(k,t)为近端语音信号子带谱,d(k,t)为实际回声子带谱,
公式一:
其中,
公式二:
鉴于s(k,t)和r(k,t)不相关,则子带k上估计误差信号ε(k,t)的功率gεε(k,t)用公式三表示为:
公式三:
其中,grr(k,t)=e{|r(k,t)|2}为子带k上残留回声分量的功率,gss(k,t)=e{|s(k,t)|2}为子带k上近端信号的功率,e{·}为统计平均运算符;分别记[1-gres(k,t)]2gss(k,t)为js(k,t)和
公式四:
公式四定义的最优估计器可应用不等式约束条件下karush-kuhn-tucker必要条件来求解。构造下述的拉格朗日函数:
公式五:
l{gres(k,t),β}=js(k,t)+γ[jr(k,t)-βgrr(k,t)];
其中γ为拉格朗日乘数,它且满足:
公式六:
γ[jr(k,t)-βgrr(k,t)]=0forγ≥0;
根据
[gres(k,t)-1]gss(k,t)+γgres(k,t)grr(k,t)=0;
根据公式七,从而得到公式八:
进一步地,考虑到:
公式九:
既然
应用公式八来求解最优估计时,需要首先估计gss(k,t)和grr(k,t),而在实际中它们却无法直接地获取,因此必须寻找使公式八可实际实现的工程方案。
注意到r(k,t)与s(k,t)不相关,那么有:
公式十:
ges(k,t)=e{e(k,t)·s*(k,t)}=gss(k,t);
公式十一:
ges(k,t)=e{e(k,t)·s*(k,t)}=e{e(k,t)·[y(k,t)-d(k,t)]*}
=gey(k,t)-ged(k,t);
其中ges(k,t)、gey(k,t)和ged(k,t)分别是e(k,t)和s(k,t)之间、e(k,t)和y(k,t)之间及e(k,t)和d(k,t)之间的子带互功率谱,上标的符号“*”表示复共轭运算符。
对于在稳态下的aec,本领域技术人员已证明ged(k,t)≈0,故可以得到下述公式十二:
gss(k,t)=ges(k,t)≈gey(k,t);
另一方面,注意到相关实验研究表明残留回声子带谱的幅度|r(k,t)|与aec估计的回声信号子带谱的幅度
由此可知,要想获得
由上述推导可知,本发明实施例的步骤12在具体实现时,包括:
步骤121,获取残留回声子带域抑制因子;
需要说明的是,该残留回声子带域抑制因子即上文中所提到的
步骤122,根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
进一步地,步骤121的具体实现方式包括:
分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
具体地,所述aec估计的回声信号子带功率谱的获取方式为:
根据公式十四:
得到aec估计的回声子带谱的功率;
其中,
具体地,所述aec输出信号与麦克风接收信号之间的子带互功率谱的获取方式为:
根据公式十五:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱。
具体地,所述残留回声子带域抑制因子的调节参数的获取方式为:
获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
可选地,所述aec估计的回声信号的零均值子带功率谱的获取方式为:
根据公式十六:
获取aec估计的回声信号的零均值子带功率谱;
其中,
可选地,所述aec输出信号的零均值子带功率谱的获取方式为:
根据公式十七:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;λ1为预设平滑系数参数,且0<λ1<1。
可选地,所述根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数的步骤,包括:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
具体地,所述aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数的获取方式为:
根据公式十八:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
具体地,所述aec估计的回声信号的零均值子带功率谱的自相关函数的获取方式为:
根据公式十九:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
可选地,所述自适应平滑系数参数的获取方式为:
根据公式二十:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
需要说明的是,采用公式二十来定义λ2(k,t)具有如下优点:
1)在无回声信号出现情况下,λ2(k,t)≈0阻止了相应的估计作自适应地更新;
2)在有近端语音信号出现(即“双讲”模式发生)或回声路径改变时,由于此时
具体地,所述aec输出信号的子带功率谱的获取方式为:
根据公式二十一:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱。
具体的,所述根据所述互相关函数以及所述自相关函数,获取线性回归系数的步骤,包括:
根据公式二十二:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
进一步地,所述根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数的步骤,包括:
根据公式二十三:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0。
需要说明的是,采用公式二十三的ρ(k,t)的获取方式所能达到的优点为:在res算法运行的前期阶段,由于η(k,t)在其学习过程收敛之前的值通常较小,可能使得直接应用此时的η(k,t)来计算残留回声的功率存在欠估计问题,从而不能有效地抑制该阶段的残留回声;为避免该问题的出现,我们可预置一个合适的参数ρ0,使得在res算法运行的前期阶段应用预置参数ρ0来避免欠估计问题,从而可有效地抑制残留回声。
在通过上述公式十四至公式二十三的运算后,利用公式二十四便可得到残留回声子带域抑制因子,具体为:
公式二十四:
其中,
需要说明的是,为了进一步改善res的性能,
具体地,步骤122的实现方式为:
根据公式二十五:
其中,
通过上述公式,便实现了对aec输出信号子带谱的处理,得到近端语音信号子带谱的线性估计值,具体的算法实现流程为:
step-0:t=0,算法开始运行
0-1).输入参数δ、γ0、ρ0、λ0、λ1、λattack和λdecay;
0-2).初始化下述变量:
fork=0tok-1,do:
enddo;
step-1:t=t+1,
fork=0tok-1,do:
1-1).按公式十四、二十一和十五在线计算
1-2).按公式十六和十七在线计算
1-3).按公式十八和十九在线计算
1-4).按公式二十二在线计算η(k,t);
1-5).按公式二十三和二十四在线计算
1-6).按公式二十五在线估计
1-7).输出
enddo;
step-2:算法运行需要结束否?
如果“是”,则转至step-3;
否则,则跳转至step-1;
step-3:结束。
需要说明的是,本发明实施例具有如下优点:
1)本发明实施例的res算法在有效地抑制残留回声的同时,对近端语音的损伤可达最小化;
2)本发明实施例的res算法对回声抵消中“双讲”模式具有良好的鲁棒性;
3)本发明实施例的res算法对回声抵消中回声路径的变化具有良好的鲁棒性;
4)由于本发明实施例的该res算法计算复杂度低,且在子带域运行,故易于实际中并行实时实现。
如图3所示,本发明实施例还提供一种aec输出语音信号的后处理装置30,包括:
获取模块31,用于获取预设的aec输出信号子带谱;
处理模块32,用于依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出模块33,用于输出所述近端语音信号子带谱的线性估计值。
具体地,所述处理模块32,包括:
获取子模块,用于获取残留回声子带域抑制因子;
处理子模块,用于根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
可选地,所述获取子模块,包括:
第一获取单元,用于分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
第二获取单元,用于根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
具体地,在获取所述aec估计的回声信号子带功率谱时,所述第一获取单元用于:
根据公式:
得到aec估计的回声子带谱的功率;
其中,
具体地,在获取所述aec输出信号与麦克风接收信号之间的子带互功率谱时,所述第一获取单元用于:
根据公式:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
具体地,在获取所述残留回声子带域抑制因子的调节参数时,所述第一获取单元,包括:
第一获取子单元,用于获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
第二获取子单元,用于根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
第三获取子单元,用于根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
具体地,在获取所述aec估计的回声信号的零均值子带功率谱时,所述第一获取子单元用于:
根据公式:
获取aec估计的回声信号的零均值子带功率谱;
其中,
具体地,在获取所述aec输出信号的零均值子带功率谱时,所述第一获取子单元用于:
根据公式:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;|·|为复数的取模运算符;λ1为预设平滑系数参数,且0<λ1<1;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
具体地,所述第二获取子单元用于:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
具体地,所述aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数的获取方式为:
根据公式:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
具体地,所述aec估计的回声信号的零均值子带功率谱的自相关函数的获取方式为:
根据公式:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
具体地,所述自适应平滑系数参数的获取方式为:
根据公式:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
具体地,所述aec输出信号的子带功率谱的获取方式为:
根据公式:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;|·|为复数的取模运算符;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
具体地,所述根据所述互相关函数以及所述自相关函数,获取线性回归系数的方式为:
根据公式:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
具体地,所述第三获取子单元用于:
根据公式:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
具体地,所述第二获取单元用于:
根据公式:
其中,
具体地,所述处理子模块用于:
根据公式:
其中,
需要说明的是,该装置的实施例是与上述方法实施例一一对应的装置,上述方法实施例中所有实现方式均适用于该装置的实施例中,也能达到相同的技术效果。
如图4所示,本发明实施例还提供一种aec输出语音信号的后处理装置,包括存储器41、处理器42及存储在所述存储器41上并可在所述处理器上运行的计算机程序,且所述存储器41通过总线接口43与所述处理器42连接;其中,所述处理器42执行所述计算机程序时实现以下步骤:
获取预设的aec输出信号子带谱;
依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出所述近端语音信号子带谱的线性估计值。
进一步地,所述处理器42执行所述计算机程序时还实现:
获取残留回声子带域抑制因子;
根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
进一步地,所述处理器42执行所述计算机程序时还实现:
分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
得到aec估计的回声子带谱的功率;
其中,
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述处理器42执行所述计算机程序时还实现:
获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
获取aec估计的回声信号的零均值子带功率谱;
其中,
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;|·|为复数的取模运算符;λ1为预设平滑系数参数,且0<λ1<1;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;|·|为复数的取模运算符;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
其中,
进一步地,所述处理器42执行所述计算机程序时还实现:
根据公式:
其中,
本领域技术人员可以理解,实现上述实施例的全部或者部分步骤可以通过硬件来完成,也可以通过计算机程序来指示相关的硬件来完成,所述计算机程序包括执行上述方法的部分或者全部步骤的指令;且该计算机程序可以存储于一可读存储介质中,存储介质可以是任何形式的存储介质。
本发明实施例还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
获取预设的aec输出信号子带谱;
依据将所述aec输出信号子带谱中残留回声分量抑制到预设电平的条件下使近端语音信号子带谱估计的失真误差最小化的处理准则,对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值;
输出所述近端语音信号子带谱的线性估计值。
进一步地,所述计算机程序被处理器执行时还实现:
获取残留回声子带域抑制因子;
根据所述残留回声子带域抑制因子对所述aec输出信号子带谱进行加权处理,获取近端语音信号子带谱的线性估计值。
进一步地,所述计算机程序被处理器执行时还实现:
分别获取aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱以及残留回声子带域抑制因子的调节参数;
根据所述aec估计的回声信号子带功率谱、aec输出信号与麦克风接收信号之间的子带互功率谱和所述调节参数,获取残留回声子带域抑制因子。
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
得到aec估计的回声子带谱的功率;
其中,
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
gey(k,t)=λdecay·gey(k,t-1)+(1-λdecay)·e(k,t)y*(k,t)
得到aec输出信号与麦克风接收信号之间的子带互功率谱;
其中,gey(k,t)为aec输出信号与麦克风接收信号之间的子带互功率谱;λdecay为递归常数,且0<λdecay<1;e(k,t)为aec输出信号子带谱;y*(k,t)为y(k,t)的复共轭,且y(k,t)为麦克风接收信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述计算机程序被处理器执行时还实现:
获取aec估计的回声信号的零均值子带功率谱和aec输出信号的零均值子带功率谱;
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,获取线性回归系数;
根据所述线性回归系数,获取残留回声子带域抑制因子的调节参数。
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
获取aec估计的回声信号的零均值子带功率谱;
其中,
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
pe(k,t)=λ1pe(k,t-1)+(1-λ1)(|e(k,t)|2-|e(k,t-1)|2)
获取aec输出信号的零均值子带功率谱;
其中,pe(k,t)为aec输出信号的零均值子带功率谱,e(k,t)为aec输出信号子带谱;|·|为复数的取模运算符;λ1为预设平滑系数参数,且0<λ1<1;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述计算机程序被处理器执行时还实现:
根据所述aec估计的回声信号的零均值子带功率谱和所述aec输出信号的零均值子带功率谱,分别获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数以及aec估计的回声信号的零均值子带功率谱的自相关函数;
根据所述互相关函数以及所述自相关函数,获取线性回归系数。
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
获取aec输出信号的零均值子带功率谱与aec估计的回声信号的零均值子带功率谱之间的互相关函数;
其中,
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
获取aec估计的回声信号的零均值子带功率谱的自相关函数;
其中,
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
得到自适应平滑系数参数;
其中,λ0为预设参数,且0<λ0≤1;
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
得到aec输出信号的子带功率谱;
其中,gee(k,t)为aec输出信号的子带功率谱;|·|为复数的取模运算符;λattack和λdecay为递归常数,且0≤λattack<λdecay<1;e(k,t)为aec输出信号子带谱;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
得到线性回归系数;
其中,η(k,t)为线性回归系数;
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:ρ(k,t)=max{γ0·η(k,t),ρ0}得到残留回声子带域抑制因子的调节参数;
其中,ρ(k,t)为调节参数;γ0和ρ0为预设可调参数,且γ0≥0,ρ0>0;k为子带索引变量,k=0,1,2,…,k-1,且k为总子带数;t为信号帧时间索引变量。
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
其中,
进一步地,所述计算机程序被处理器执行时还实现:
根据公式:
其中,
以上所述的是本发明的优选实施方式,应当指出对于本技术领域的普通人员来说,在不脱离本发明所述的原理前提下还可以作出若干改进和润饰,这些改进和润饰也在本发明的保护范围内。