技术领域
[0001] 本发明涉及语音信号处理技术领域,特别是涉及一种语音增强方法。
相关背景技术
[0002] 现实生活中语音信号不可避免的会受到背景噪声的污染,背景噪声使许多语音处理系统的性能急剧下降。语音增强作为一种信号处理方法,是解决噪声污染的一种高效途径。语音增强的目的就是在保证语音可懂度的前提下,尽可能的去除背景噪声,提高语音的主观听觉效果。传统语音增强算法在平稳噪声以及高信噪比环境中可以取得较好的效果,然而,在非平稳噪声及低信噪比下增强效果由于语音失真和残留噪声的影响而不能令人满意。
[0003] 尽管目前语音增强在理论上并未完全解决,还有待发展,但某些增强算法已被证明是有效的,代表性的语音增强算法包括谱减法、维纳滤波法、最小均方误差估计法(minimum mean square error,MMSE)、子空间法、基于小波变换的增强方法等。这些方法大都基于频域中语音和噪声分量的统计模型,并结合各种估计理论来设计具有针对性的噪声消除技术。
[0004] 传统谱减法用带噪语音功率谱减去噪声功率谱,由于人耳对相位不敏感,因此相位不做处理。谱减法算法复杂度比较低,容易实现,但由于其局部平稳性的假设与实际情况并不相符,因此增强后的语音信号中存在着影响听觉效果的音乐噪声。
[0005] 维纳滤波法通过最小化目标信号和估计信号之间的均方差获得干净语音的谱幅度估计。但是,算法主要针对平稳噪声,在非平稳噪声及低信噪比环境下,增强后的语音信号中残留背景噪声较大。
[0006] MMSE方法中,假设语音谱和噪声谱服从零均值高斯分布,基于谱幅度MMSE准则计算得到了谱增益函数。但是,由于语音和噪声信号的非平稳性和多样性,语音和噪声的假设模型与实际情况不可避免的会存在偏差,而且在求解过程中为了能够得到一些复杂方程的解,还需要做一些简化与假设,因而MMSE方法在追求减小噪声的同时,也导致了语音畸变,而且残留噪声也严重影响了语音的清晰度和可懂度。
具体实施方式
[0034] 以下结合附图和实施例进行进一步说明。
[0035] 如图1所示,为一实施例的语音增强方法流程图。该方法包括如下步骤。
[0036] 步骤S101:基于短时谱幅度估计方法对语音信号进行降噪处理。虽然语音和噪声一般都是非平稳随机过程,但在10~30毫秒长度的分析帧内可以看成是近似平稳的。另外人耳对语音谱分量的相位也不敏感。而基于短时谱幅度估计的增强方法则充分利用了上述两个性质,能够达到比较好的降噪效果,同时也为后续的掩蔽处理提供优良的中间语音信号。
[0037] 步骤S102:基于人耳掩蔽效应对经过降噪处理的语音信号中的残留噪声进行掩蔽处理。人耳掩蔽效应指出语音信号能够掩蔽与其同时进入听觉系统的一部分能量较小的噪声信号,而使得这部分噪声不为人所感知。即一种频率的声音阻碍听觉系统感受另一种频率声音的现象。心理声学模型是在研究人类听觉系统基础上抽象出来反映人类听觉感知特性的数学模型,它描述了人类听觉系统对语音及噪声的感知和掩蔽能力。本步骤即利用这种效应建立这种纯净语音信号和残留噪声信号之间的掩蔽关联,使得残留噪声被人耳自动掩蔽,达到增强语音的效果。
[0038] 上述方法,相比于传统的语音增强方法,在短时谱幅度估计方法的基础上增加了基于人耳掩蔽效应的处理步骤,使得残留噪声可以被人耳掩蔽,有效地解决了传统语音增强方法中噪声残留的问题,达到了增强语音的效果。
[0039] 以下通过选用合适的算法,来具体阐明上述方法的实现过程。
[0040] 在步骤S101中,短时谱估计方法可以采用幅度谱最小均方误差(Minimum Mean-Square Error,MMSE)估计法和谱减估计法等利用上述短时平稳随机过程和人耳对相位不敏感的两个性质的方法。本实施例采用对数谱幅度最小均方误差(Minimum Mean-Square Error Log-Spectral Amplitude,MMSE-LSA)估计方法进行所述降噪处理。由于人耳对频谱强度的感受与幅度的对数成正比,相比于MMSE估计法和谱减估计法,MMSE-LSA估计方法更符合人耳听觉特性,且能更好的抑制噪声。
[0041] MMSE-LSA估计方法详述如下。
[0042] 对准平稳性语音信号做数字处理必须先按短时段对语音信号分帧,也即将语音信号以10~30毫秒为一段进行分帧,这样每一帧信号都具有短时平稳性。带噪语音的短时谱可以通过快速傅里叶变换计算得到,在提取相位信息后存储起来,然后对纯净语音的短时对数谱做最小均方误差估计。处理后的语音通过由谱估计得到的幅度谱和已存储的相位信息重建得到。
[0043] 以下是推导及计算过程,假定观察到的带噪语音信号的一帧为:
[0044] y(n)=s(n)+d(n) (1)
[0045] 式(1)中y(n)表示带噪语音,s(n)表示纯净语音信号,d(n)表示加性噪声。
[0046] 由于语音信号是短时平稳的,因此可用短时傅立叶变换进行分析。令Y(k)=R(k)exp[jθ(k)],X(k)=A(k)exp[jα(k)],D(k)分别表示带噪语音y(n),纯净语音信号s(n)和加性噪声d(n)进行快速傅里叶变换后的第k个频谱分量。
[0047] 由于相位对语音质量影响不大,我们仅考虑对数频谱幅度。因此,MMSE-LSA估计可以简化为由带噪信号观测值Y(k)计算A(k),令为A(k)的估计值 估值问题即为求下式最小值:
[0048]
[0049] 由式(2)可进一步得到:
[0050]
[0051] 令Z(k)=ln(A(k)),则有:
[0052] ΦZ(k)|Y(k)(μ)=E{exp(μZ(k)|Y(k))}=E{Aμ(k)|Y(k)} (4)[0053] 因为
[0054]
[0055] 假定信号谱和噪声谱都服从高斯分布,即:
[0056]
[0057]
[0058] 上式中λx(k)=E{|X(k)|2},λd(k)=E{|D(k)|2}分别表示信号和噪声第k个谱分量功率的数学期望。
[0059] 由式(5)、式(6)、式(7)可以得到:
[0060]
[0061]
[0062] 将零阶修正贝塞尔函数I0(·)代入式(8)化简可得:
[0063]
[0064] 式(9)中λ(k)满足下述关系:
[0065]
[0066] 式(9)中v(k)的定义如下:
[0067]
[0068] 式(11)中ξ(k)和γ(k)分别为先验信噪比和后验信噪比,其定义为[0069]
[0070] 对式(9)进行积分可得:
[0071]
[0072] 式(12)中Γ(·)是伽玛函数,M(a;c;x)为合流超几何函数
[0073]
[0074] 式(13)中(a)r=1·a·(a+1)…1),(a)0=1。式(12)中出现的M(-μ/2;1;-vk)在|μ|<2逐项微分,在μ=0时可导出:
[0075]
[0076]
[0077]
[0078] 式(16)中 c=0.57721566490是欧拉常数。将式(16)逐项微分并利用式(15)可以得到:
[0079]
[0080] 利用式(13)、式(16),从式(12)可得:
[0081]
[0082]
[0083] 把式(17)代入式(5),应用式(18),可以得到谱估计:
[0084]
[0085] 其增益函数 为:
[0086]
[0087] 式(19)的表达式所计算得到的估计值 满足使式(2)最小,也即最接近纯净语音信号。
[0088] MMSE-LSA估计方法将语音增强问题转换为根据某一失真测度数学期望最小化原则,从带噪语音的谱系数中估计出干净语音谱系数。该方法有比较明确的数学和物理意义,而且运算量适中、增强效果较好。
[0089] 上述步骤中,用到了λd(k)=E{|D(k)|2},也即噪声第k个谱分量功率的数学期望。该噪声是采用噪声估计方法得到的。噪声估计是语音增强算法中一个非常重要的部分。噪声估计过高,则微弱语音将被去掉,增强语音会产生大的失真;而估计过低,增强语音会残留过多的背景噪声。传统的噪声估计方是基于语音活动检测(Voice Activity Detector,VAD)的噪声估计方法。该方法在信噪比较高的情况下可以得到较好的噪声估计,但是在低信噪比的情况下,VAD的误检率很高,噪声估计不准确。事实上,实际噪声通常是非平稳的,在语音存在期间噪声也可能发生变化,要想取得好的语音增强效果,就必须及时估计并更新噪声估计,并随时跟踪噪声的变化。因此,本实施例采用不需要VAD的噪声谱估计方法。其中效果比较好的噪声估计算法包括基于最优平滑和最小统计的噪声估计算法、改进的最小受控递归平均法(Improved Minima Controlled Recursive Average,IMCRA)等,这些噪声估计方法都可以用在本实施例中。
[0090] 经过步骤S101的处理,得到了经过降噪处理的语音信号,但其仍带有残留噪声。对该带有残留噪声的语音信号,采用步骤S102对其进行进一步处理。步骤S102包括两个主要步骤:获得听觉掩蔽阈值和计算感知增益函数。现分别说明如下。
[0091] 1)听觉掩蔽阈值估计。
[0092] 传统心理声学模型只适用于纯净语音输入,因此,在计算掩蔽阈值前,需要对纯净语音进行初估,初估方法采用谱减法。在计算得到初估语音后,算法结合心理声学模型计算听觉掩蔽阈值。
[0093] 其计算过程为:
[0094] |X(k)|=(|R(k)|m-n(λd(k))m)1/m
[0095] 上式中R(k)为原始输入带噪语音的幅度谱,λd(k)为估计的噪声,m和n为常数,其值可以根据背景噪声的不同做相应的调整,默认值为m=0.4,n=0.9。
[0096] 在计算得到初估的纯净语音后,算法结合Johnston心理声学模型计算听觉掩蔽阈值。其计算步骤如下:
[0097] 步骤1:时频分析
[0098] 输入语音信号x(t)经过快速傅里叶变换,得到频域信号X(ω),计算信号的功率谱:
[0099] P(ω)=Re{X(ω)}2+Im{X(ω)}2
[0100] 将语音信号的功率谱按临界频段重新划分,并计算每一段的能量:
[0101]
[0102] 上式中Bi表示第i个临界频段的能量,bli表示第i个临界频段的最低频率,bhi表示第i个临界频段的最高频率。
[0103] 步骤2:Bark域扩展能量计算。
[0104] 各个临界频带之间掩蔽阈值相互影响,为了能够将其引入掩蔽阈值的计算中,定义如下的扩展函数:
[0105]
[0106] 上式中Δ=i-j表示两个频带的频带号之差,i,j=1,2,…且|Δ|<imax。则Bark域扩展能量计算为:
[0107]
[0108] 步骤3:噪声掩蔽阈值计算。
[0109] 有两种噪声掩蔽门限:一种是纯音掩蔽噪声(TMN),是在Ci下面14.5+idB;另一种是噪声掩蔽纯音(NMT),是在Ci下面5.5dB。为了能够辨别信号时纯音还是噪声,给出以下谱平坦度系数SFM:
[0110]
[0111] 上式中Gm为输入语音信号的几何平均,Am为输入语音信号的算术平均。令α为音调系数,其定义如下:
[0112]
[0113] 当α=0,完全是噪声;α=1,完全是纯音。实际语音信号既非噪声,又非纯音,α介于两者之间。通过α的数值可以判断这个信号时偏噪声的,还是偏语音的。
[0114] 在计算得到音调系数后,掩蔽能量的偏移函数为:
[0115] Oi=α(14.5+i)+(1-α)5.5
[0116] 最后,每个临界频段的掩蔽阈值Ti计算为:
[0117]
[0118] 2)计算感知增益函数。
[0119] 根据所述听觉掩蔽阈值计算感知增益函数,所述感知增益函数使得语音失真最小同时残留噪声处于所述听觉掩蔽阈值下。
[0120] 令经过MMSE-LSA处理后的第一级增强语音y′(n)表示为:
[0121] y′(n)=s(n)+z(n) (21)
[0122] 式(21)中s(n)为纯净语音信号,z(n)为经过MMSE-LSA处理后语音中的残余噪声,并且z(n)与s(n)不相关。
[0123] 对信号做快速傅里叶变换,对第k个短时幅度谱分量有:
[0124] Y′(k)=S(k)+Z(k) (22)
[0125] 假设 为S(k)的估计值,并定义G(k)为感知增益函数,则有:
[0126]
[0127] 定义估计误差E(k)
[0128]
[0129] 将式(22)、式(23)代入式(24)可得:
[0130]
[0131]
[0132]
[0133] 式(25)右端由2部分组成,分别源于语音信号失真和残差噪声,分别用ES(k)和ER(k)表示,即:
[0134] ES(k)=(1-G(k))S(k) (26)
[0135] ER(k)=G(k)Z(k) (27)
[0136] 因为G(k)≤1,容易看出,当感知加权增益函数G(k)变化时,ES(k)和ER(k)的变化趋势相反,即语音增强不可能使得ES(k)和ER(k)同时变小,一个理想的增益函数G(k)应该使得ES(k)和ER(k)有良好的均衡。结合人耳掩蔽效应,最优的增益函数G(k)应该使语音失真尽可能小的同时,使残差噪声处于人耳掩蔽阈值之下,即应满足如下条件:
[0137]
[0138] 式(28)中T(k)为第k个短时幅度谱分量的听觉掩蔽阈值估计值,T(k)由心理声学模型计算得到,也即前述第1)步听觉掩蔽阈值估计中得到的T(i)。
[0139] 为了得到最优的感知增益函数G(k),构造如下的Lagrange代价函数:
[0140]
[0141] 将式(26)、式(27)代入(29)可得:2 2 2
[0142] J(G,μ)=[(1-G(k))S(k)]+μ(k)(G(k)Z(k)-T(k)) (30)
[0143] 为使式(29)中Lagrange代价函数最小,针对式(30)令 化简可得:
[0144]
[0145] 同时,令 化简可得:
[0146]
[0147] 当式(29)中Lagrange代价函数最小时,式(32)与式(31)等价,即:
[0148]
[0149] 由式(33)可得:
[0150]
[0151] 将式(34)代入式(31)化简可得增益函数G(k):
[0152]
[0153] 上述推导中,残余噪声Z(k)的功率谱Pz(k)近似计算如下:
[0154]
[0155] 式(36)中λd(k)为噪声模块估计得到的第k个频谱功率的数学期望, 为式(20)中MMSE-LSA的增益函数,R(k)为原始带噪语音信号y(n)的幅度谱。
[0156] 上述公式的物理意义为:λd(k)为噪声估计算法估计的原始带噪语音中的噪声,为MMSE-LSA算法去除掉的噪声,即Z(k)=原始噪声–MMSE-LSA算法去除的噪声。
[0157] 上述过程中,首先是通过步骤S101进行降噪处理,得到谱估计 经过时域转换得到步骤S102所需要处理的中间语音信号y′(n),然后步骤S102利用掩蔽阈值T(k)对y′(n)进行处理,得到符合“使语音失真最小而残留噪声处于掩蔽阈值之下”条件的感知增益函数。从而实现了最大程度的语音增强。
[0158] 如图2所示,为一实施例的语音增强装置模块图。该语音增强装置10包括短时谱降噪模块100、感知增强模块200以及噪声估计模块300。其中短时谱降噪模块100基于短时谱幅度估计方法对语音信号进行降噪处理,感知增强模块200基于人耳掩蔽效应对经过降噪处理的语音信号中的残留噪声进行掩蔽处理;噪声估计模块300估计噪声谱并提供给短时谱降噪模块100和感知增强模块200。感知增强模块200包括掩蔽阈值计算单元210和感知增强滤波单元220。其中短时谱降噪模块100执行前述实施例中步骤S101的步骤,感知增强模块200执行前述实施例中步骤S102的步骤,并分别由掩蔽阈值计算单元210和感知增强滤波单元220完成掩蔽阈值估计和根据掩蔽阈值计算感知增益函数后进行中间语音信号的处理。
[0159] 以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。