基于统计模型的麦克风阵列语音增强方法与流程

文档序号:14325278阅读:427来源:国知局

本发明涉及语音信号处理领域,特别是一种基于统计模型的麦克风阵列语音增强方法。



背景技术:

在实际语音通信中,语音信号常会受到外界环境噪声的干扰,影响接收语音的质量(非干净语音)。语音增强技术是语音信号处理的一个重要分支,目的是从带噪语音中尽可能地提取纯净的原始语音,广泛应用于嘈杂环境下的语音通信、语音压缩编码和语音识别等领域。

常用的语音增强方法包括两大类,一类是基于单麦克风的语音增强方法,另一类是基于麦克风阵列的语音增强方法。常用的单麦克风语音增强方法有谱减法、维纳滤波法、mmse、卡尔曼滤波、小波变换等,这类算法通过时域、频域、小波变换域等滤波来抑制噪声,但无法利用信号的空间域信息,因此当噪声较强时,单麦克风语音增强算法的重建语音质量不高。

基于麦克风阵列的语音增强方法的基本思想是将一组麦克风按一定的方式布置在空间不同的位置上,用其构成的传感器阵列接收空间的音频信号。由于麦克风阵列语音增强技术可以利用多路接收信号之间的空间相关性,在接收区域内可以检测、定位和追踪声源,增强指定方向的有用语音信号,抑制无用的干扰和噪声,因此与单麦克风相比,麦克风阵列具有更高的信号增益和更强的干扰抑制能力。现有的麦克风阵列语音增强技术可以大致分为固定波束形成法、自适应波束形成法和后置自适应滤波法三类,其中自适应波束形成法中,滤波器系数随着输入信号统计特性的变化而变化,可以使波束的零陷方向自动对准噪声方向,而注视方向上信号的频率响应固定不变,因此能有效抑制其它方向上的干扰噪声,在实际中得到了广泛的应用。

广义旁瓣相消器(gsc)是麦克风阵列自适应波束形成器的一种通用模型,它把受限的线性约束最小方差(lcmv)最优化问题转化为非约束最优化问题,主支路使用固定波束形成器增强期望方向的信号,辅助支路使用空间陷波器来阻塞期望方向上的信号,估计主支路的噪声,并通过自适应抵消器将辅助支路估计的噪声与主支路的噪声抵消,从而最小化系统干扰和噪声输出功率,实现对目标信号的增强。gsc提高了麦克风阵列在时变环境下的适应性,且结构简单,易于实现,广泛用于各种阵列信号处理中。但现有的gsc麦克风阵列语音增强技术还存在以下不足:(1)虽然gsc对空间相干的噪声具有较强的抑制能力,但是对空间非相干噪声的抑制能力不强,特别是在空间非相干的环境噪声与空间相干的噪声并存时,输出的增强语音存在的残余噪声较多;(2)gsc算法是针对一般输入信号设计的,没有利用语音信号的先验知识和针对语音信号的特点进行优化,因此重建语音的质量有待进一步提高。



技术实现要素:

为了改善gsc算法的性能,本发明提供一种基于统计模型的麦克风阵列语音增强方法,该方法利用干净语音模型和从gsc辅助支路输出中估计的噪声模型构造最佳语音滤波器,来对gsc主支路信号进行增强。

本发明的目的至少通过如下技术方案之一实现。

本发明提供的基于统计模型的麦克风阵列语音增强方法,采用以下步骤对输入的语音信号进行增强:

步骤1:使用干净语音库建立用于语音帧分类的干净语音模型,并计算出对应于每个分类的干净语音线性频谱模型。上述干净语音库中的语音使用单麦克风进行采集。

步骤2:将麦克风阵列接收的信号分为两条支路,主支路采用gsc的固定波束形成器对期望方向的信号进行增强,得到初步增强的语音yc,辅助支路通过gsc的阻塞矩阵和自适应抵消器后,得到噪声分量yn。

步骤3:从辅助支路的信号中估计噪声模型及噪声的线性频谱模型。

步骤4:对yc分帧,并利用噪声模型和干净语音模型对每帧语音进行分类。

步骤5:根据步骤4的分类结果,利用干净语音线性频谱模型和噪声的线性频谱模型构造最佳滤波器。

步骤6:用步骤5中得到的最佳滤波器对yc进行滤波,获得增强后的语音。

上述步骤1中,采用以下方法建立用于语音帧分类的干净语音模型和计算出对应于每个分类的干净语音线性频谱模型:

步骤1.1:将干净语音库中的语音进行分帧预处理后,提取每帧的语音特征参数;

步骤1.2:用步骤1.1得到的语音特征参数训练用于语音帧分类的干净语音模型;

步骤1.3:使用干净语音模型对所有用于训练的语音帧进行分类;

步骤1.4:计算属于每个分类的所有语音帧的线性频谱,建立与每个分类对应的干净语音线性频谱模型。

上述步骤1.1中的语音特征参数为梅尔频率倒谱系数(mfcc)。

上述步骤1.2中,干净语音模型采用gmm(高斯混合模型)或hmm(隐马尔可夫模型)。

上述步骤1.4中的干净语音线性频谱模型为干净语音线性频谱均值。

上述步骤3中,采用以下方法估计噪声的线性频谱均值:

步骤3.1:初始化m路非相干噪声的线性频谱均值sin(ω)和自适应抵消器输出噪声的线性频谱均值srn(ω),其中m为麦克风阵列的阵元数。

步骤3.2:采用下式估计噪声的线性频谱均值sn(ω):

其中wq为固定波束形成器的权值矩阵,为wq的转置,wa为自适应抵消器的权值矩阵,为wa2的转置,t为满秩矩阵且满足其中b为阻塞矩阵,x为任意向量,y为tx比bx多出来的元素。

步骤3.3:采用下式更新sin(ω)和srn(ω):

s′in(ω)=αsb(ω)+(1-α)sin(ω)(2)

s′rn(ω)=α′yn(ω)+(1-α′)srn(ω)(3)

其中s′in(ω)和s′rn(ω)分别为更新后的sin(ω)和srn(ω),sb(ω)为麦克风阵列输入信号通过t后的输出信号,yn(ω)为yn的频谱,α和α′为权重系数。

上述步骤3.3中,α采用下式计算:

其中β和γ为预设的常数,en为自适应抵消器输出信号的能量,eb为自适应抵消器m-1路输入信号能量之和。

上述步骤3.3中,α′为预设的权重系数。

上述步骤3中,噪声模型与噪声的线性频谱模型均为噪声的线性频谱均值。

上述步骤4中,先采用模型补偿技术将噪声模型和干净语音模型合并为带噪语音模型,然后用带噪语音模型对每帧语音进行分类。

上述步骤5中,采用以下式构造最佳滤波器:

其中h(ω)为最佳滤波器的频率响应,sc,i(ω)为第i个分类对应的干净语音线性频谱均值,wi为步骤4中当前语音帧对应于第i个分类的得分。

与现有技术相比,本发明的有益之处有:

1、本发明用基于统计模型的滤波器替换了gsc中带噪语音和噪声直接相减的操作,可以更充分地利用语音信号的先验知识,使输出语音更符合人类的听觉特性。

2、gsc中采用自适应抵消器来消除空间相干噪声,但自适应抵消器对空间非相干噪声抑制能力较弱,本发明在噪声估计时对非相干噪声进行了补偿,能有效地提高系统对非相干噪声的抑制能力,增强输出语音的质量。

说明书附图

图1为本发明实施例系统结构总框图。

图2为本发明实施例流程图。

具体实施方式

下面结合附图和实施例对本发明的具体实施步骤作进一步说明,但本发明的实施和保护范围不限于此,需指出的是,以下若有未特别详细说明之处,均是本领域技术人员可参照现有技术实现或理解的。

本发明实施例系统结构总框图如图1所示,由麦克风阵列接收模块、固定波束形成模块、阻塞矩阵模块、自适应抵消器模块、噪声估计模块、干净语音模型、最佳滤波器模块共同构成,其中麦克风阵列接收模块与固定波束形成模块、阻塞矩阵模块连接,用于接收语音信号;固定波束形成器模块和麦克风阵列接收模块、自适应抵消器模块、最佳滤波器模块连接,用于增强期望方向的信号;阻塞矩阵模块与麦克风阵列接收模块、自适应抵消器模块、噪声估计模块连接,用于阻塞期望方向的信号;自适应抵消器模块与阻塞矩阵模块、固定波束形成器模块、噪声估计模块连接,用于产生噪声抵消信号;噪声估计模块与阻塞矩阵模块、自适应抵消器模块、最佳滤波器模块连接,用于估计噪声模型及噪声的线性频谱模型;干净语音模型与最佳滤波器模块连接,用于存储干净语音模型及干净语音的线性频谱模型;最佳滤波器模块与干净语音模型、固定波束形成器模块、噪声估计模块连接,根据干净语音模型和噪声模型计算出当前语音帧的最佳滤波器系数,并对固定波束形成器模块的输出进行滤波。上述实施例中,麦克风阵列接收模块采用线性阵列结构,包含8个麦克风,均匀分布在直线上,各阵元各向同性。

本实例提供的基于统计模型的麦克风阵列语音增强方法的实施例,采用以下步骤对输入的语音进行增强,其流程如图2所示:

步骤1:使用干净语音库建立用于语音帧分类的干净语音模型,并计算出对应于每个分类的干净语音线性频谱模型。上述干净语音库中的语音使用单麦克风进行采集。

上述实施例中,系统使用前首先用干净语音库建立用于语音帧分类的干净语音模型及对应于每个分类的干净语音线性频谱模型,具体分为以下步骤:

步骤1.1:将干净语音库中的语音进行分帧预处理后,提取每帧的语音特征参数。

上述实施例中,对干净语音库中的语音样本进行预加重、分帧、加窗预处理后,对语音进行离散傅里叶变换,将其能量谱输入梅尔三角滤波器组,进行带通滤波后,取其对数并进行离散余弦变换,得到干净语音的梅尔频率倒谱系数(mfcc)。

步骤1.2:用步骤1.1得到的语音特征参数训练用于语音帧分类的干净语音模型。

上述实施例中,采用高斯混合模型(gmm)来对干净语音进行建模。将一帧时域训练语音xt转换为mfcc系数则倒谱域干净语音gmm统计模型的概率密度函数为:

式中为单高斯模型的概率密度函数,k表示gmm模型中高斯分量的数目,πk、μk和σk分别代表第k个高斯分量的混合权重、均值和方差。令gmm模型参数集为λmfcc=(πk,μk,σk),用最大似然估计法来估计λmfcc,使gmm模型的似然函数最大。训练的倒谱域特征矢量集合为则gmm模型的似然函数为:

上述实施例中,先使用训练序列对模型参数集进行初始值,再用最大期望算法(em)直到似然函数收敛,可计算得到模型最佳参数集。

在另一些实施例中,干净语音模型采用隐马尔可夫模型(hmm)来实现。

步骤1.3:使用干净语音模型对所有用于训练的语音帧进行分类。

上述实施例中,干净语音gmm模型中的每个高斯分量代表一个分类。对所有用于训练的干净语音帧,计算每一帧特征矢量属于干净语音倒谱域gmm模型中每个分类的概率为:

找到输出概率最大的分类,记下语音帧xt与这个分类的映射关系。

步骤1.4:计算属于每个分类的所有语音帧的线性频谱,建立与每个分类对应的干净语音线性频谱模型。

上述实施例中,对第i个gmm分类,计算与它有映射关系的所有语音帧的线性频谱均值sc,i(ω),作为与第i个分类对应的干净语音线性频谱统计模型。

步骤2:将麦克风阵列接收的信号分为两条支路,主支路采用gsc的固定波束形成器对期望方向的信号进行增强,得到初步增强的语音yc,辅助支路通过gsc的阻塞矩阵和自适应抵消器后,得到噪声分量yn。

上述实施例中,均匀线性阵列阵元数为m=8,各阵元均为各向同性阵元,有1个期望信号和1个干扰信号从远场入射到阵列上,阵列接收信号可表示为:

式中x=[x1,…,xm]t表示阵列接收信号,n表示环境噪声,a表示阵列流形矩形,a=[a(θ0),…,a(θp)],a(θi)为各个入射信号导向矢量,p为干扰信号个数,λ为声波波长,d为阵元间距,取实施例中干扰信号个数取p=1,θ0为期望信号方向,θ1为干扰方向。

上述实施例中,将麦克风阵列接收的信号采用gsc算法得到初步增强的语音yc和噪声分量yn,具体又分为以下步骤:

步骤2.1:用广义互时间延迟估计方法来估计麦克风阵列各个阵元接收信号的时延。第m麦克风接收到的信号xm(n)为:

xm(n)=ams(t-τm)+em(n)(10)

其中s(n)为声源信号,e(n)为噪声,τm表示从声源到麦克风的传播时间,am为声波衰减系数。则第m麦克风与第l麦克风接收信号的互相关函数为:

rml(τ)=rss(τ-(τm-τl))(11)

其中rss是声源信号s(n)的自相关函数,当rml(τ)取最大值时,便可求得两个麦克风接收信号之间的时间延迟τ,τ=τm-τl=τml。经过时间延迟补偿后,参考阵元接收的信号同步,再通过固定波束形成器的权重wq,得到初步增强的语音yc(n)。

步骤2.2:将步骤2.1中延时补偿后的同步阵元信号输入阻塞矩阵,将指定方向的期望信号阻塞掉。其中阻塞矩阵b与约束矩阵c满足:

bhc=0(12)

c取为期望信号方向矢量,c=a(θ0),θ0为期望信号方向角度,经延时补偿后θ0=0。上述实施例中,阻塞矩阵b选取griffths和jim提出的经典阻塞矩阵:

步骤2.3:初始化自适应抵消器的权值wa,将阻塞矩阵的输出信号z(n)输入自适应抵消器,得到辅助支路输出yb(n)。将主支路和辅助支路相减,得到误差信号:

e(n)=yc(n)-yb(n)(14)

采用最小误差准则调节wa,wa更新公式为:

wa(n+1)=wa(n)+μe(n)z(n)(15)

步骤3:从辅助支路的信号中估计噪声模型及噪声的线性频谱模型。

上述实施例中,噪声模型与噪声的线性频谱模型相同,均为噪声的线性频谱均值,采用以下方法计算得到:

步骤3.1:初始化m路非相干噪声的线性频谱均值sin(ω)和自适应抵消器输出噪声的线性频谱均值srn(ω),其中m=8为麦克风阵列的阵元数。

步骤3.2:采用下式估计噪声的线性频谱均值sn(ω):

其中wq为固定波束形成器的权值,为wq的转置,wa为自适应抵消器的权值,为wa2的转置,t为满秩矩阵且满足其中b为阻塞矩阵,x为任意向量,y为tx比bx多出来的元素。上述实施例中,t设置为:

步骤3.3:采用下式更新sin(ω)和srn(ω):

s′in(ω)=αsb(ω)+(1-α)sin(ω)(18)

s′rn(ω)=α′yn(ω)+(1-α′)srn(ω)(19)

其中s′in(ω)和s′rn(ω)分别为更新后的sin(ω)和srn(ω),sb(ω)为麦克风阵列输入信号通过t后的输出信号,yn(ω)为yn的频谱,α采用下式计算:

其中β和γ为预设的常数,en为自适应抵消器输出信号的能量,eb为自适应抵消器m-1路输入信号能量之和。α′为预设的权重系数。

步骤4:对yc分帧,并利用噪声模型和干净语音模型对每帧语音进行分类。上述实施例中,采用以下方法实现:

步骤4.1:采用log-add模型补偿技术将噪声模型和干净语音模型合并为带噪语音模型,具体方法如下:首先将干净语音gmm模型的倒谱域均值转换到线性频谱域,并与噪声的频谱均值相加,得到带噪语音的频谱均值。然后将上述带噪语音的频谱均值转换到倒谱域,得到带噪语音gmm模型的均值参数,带噪语音gmm模型的方差与干净语音gmm模型的方差相同。

步骤4.2:对yc分帧并提取每帧语音的mfcc特征参数,用步骤4.1得到的带噪语音模型对上述语音帧进行分类,计算出每一帧语音属于带噪语音统计模型中每个分类的概率。

步骤5:根据步骤4的分类结果,利用干净语音线性频谱模型和噪声的线性频谱模型构造最佳滤波器。

上述实施例中,采用以下式构造最佳滤波器:

其中h(ω)为最佳滤波器的频率响应,sc,i(ω)为第i个分类对应的干净语音线性频谱均值,wi为步骤4中当前语音帧对应于第i个分类的得分。

步骤6:用步骤5中得到的最佳滤波器对yc进行滤波,获得增强后的语音。

与现有技术相比,本发明充分利用接收语音信号的先验知识,能针对空间相干与非相干噪声实时调整和优化滤波器参数,有效地提高输出语音的听觉质量。本发明可以广泛用于视频会议、车载通信、会场、多媒体教室等各种具有嘈杂背景的语音通信应用中。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1