一种改善言语清晰度的子带自适应降噪算法
梁维谦 1 , 郑方 2 , 郑佳春 1 , 朴志刚 3     
1. 集美大学 信息工程学院, 海上通信与智能电子系统福建省高等学校重点实验室, 厦门 361021 ;
2. 清华大学 信息技术研究院, 语音和语言技术中心, 北京 100084 ;
3. 厦门莱亚特医疗器械有限公司, 厦门 361009
摘要:助听器对声音进行压缩放大,需要高言语清晰度的降噪算法。该文提出了一种子带自适应噪声抑制方法,通过加权重叠相加滤波器组和基于心理声学模型的子带划分、基于先验和后验信噪比的快变的非线性降噪增益、基于噪声声压级估值的慢变的增益下限阈值、基于峰值跟踪的子带增益平滑及其跟踪和释放时间系数的精细选择等算法,明显提高了言语清晰度。主观测听实验表明:该方法对输入的不同信噪比的带噪语音的言语清晰度提高约12%~45%。在EZAIRO5900数字信号处理器上实现了此方法,通过对增益公式的量化处理使得整个算法的运行效率提高约30%。
关键词噪声抑制     子带     非线性增益     言语清晰度    
Sub-band adaptive noise reduction algorithm to improve speech intelligibility
LIANG Weiqian1 , ZHENG Fang2 , ZHENG Jiachun1 , PIAO Zhigang3     
1. Key Laboratory of Maritime Communication and Intelligent Electronic Systems of Fujian Province, College of Information Engineering, Jimei University, Xiamen 361021, China ;
2. Center for Speech and Language Technologies, Research Institute of Information Technology, Tsinghua University, Beijing 100084, China ;
3. Xiamen LA and Associates Medical Equipment Co., Ltd., Xiamen 361009, China
Abstract:Noise reduction algorithms to improve speech intelligibility are needed when sounds are compressed and amplified in hearing aids. A sub-band adaptive noise reduction algorithm was developed with a weighted overlap-add filter bank and psycho-acoustic model for the sub-band splitting. The non-linear noise reduction gains are computed with an estimated a posteriori signal to noise ratio (SNR) and an a priori SNR. The gain floors are determined based on the estimated noise level expressed as the dB sound pressure level (SPL). The final gains are smoothed between the frames by a peak detector with carefully selected attack and release time constants. Listening tests show 12% to 45% improvements in intelligibility by this algorithm for noise corrupted speech. A quantified gain table is also used to replace the non-linear gain computing when the algorithm is implemented on the EZAIRO5900 digital signal processor, with the execution cycle reduced by about 30%.
Key words: noise reduction     sub-band     non-linear gains     speech intelligibility    

环境噪声是指日常环境中由多种噪声叠加而成的类平稳底噪,一般音量相对较小,声压级(sound pressure level,SPL)小于50 dB,但经过助听器压缩放大后音量会明显提高,严重影响听觉感受,因此必须对环境噪声进行低失真的抑制,以免环境噪声或处理后的失真被放大而影响言语清晰度[1]

根据输入信号的量,降噪算法可分为麦克风阵列和单麦克风降噪2大类。本文所讨论的环境降噪方法属于单麦克风降噪范畴[1-2]。典型的单麦克风降噪算法有低增益扩展法[1]、谱减法[1-4]、Wiener滤波法[2]、统计模型方法[2]和子空间方法[2]等。低增益扩展法[1]假设环境噪声低于某一预设的声压级(dB SPL),若当前输入的声压级小于扩展临界值则判断为噪声,并进行增益衰减; 若输入声压级大于此临界值则判断为语音,并进行增益压缩。谱减法[1-4]是一类由带噪语音谱减去估计噪声谱得到纯净语音谱的方法,包括过谱减法、非线性谱减、多子带谱减、最小均方误差(minimum mean squared error,MMSE)谱减、Ephraim-Malah谱减和基于掩蔽模型的谱减等。Wiener滤波法[2, 5]是以最小均方误差目标函数推导出的对带噪语音的最优滤波,包括时域法、频域法、均方根法、参数法和迭代法等。统计模型方法[2]通过对噪声谱和语音谱的概率估计进行降噪,包括最大似然估计、最小均方误差估计、最大后验概率估计、Bayes估计及其扩展方法等。子空间方法[2]则是通过奇异值分解和特征值分解等进行降噪。上述方法都需要对噪声谱进行假设和估计。噪声谱估计方法主要有语音激活检测法(voice activity detection,VAD)、最小值跟踪法(minimal tracking,MT)、时域递归平均法(time recursive averaging,TRA)和直方图法等[2]。VAD是一类通过能量、过零率等声学特征区分语音段和噪声段的方法,通过噪声段估计噪声谱; MT法是一类跟踪带噪语音信号的长时最小值,并将其作为噪声谱估计的方法,包括时间窗法和连续跟踪法; TRA法通过对前一时刻的噪声谱估计与当前时刻信号的加权平均来估计噪声谱,此加权值可以是噪声出现的概率等,例如最小控制递归平均(minimal controlled recursive averaging,MCRA)和MCRA-2等方法[2]; 直方图法则是通过直方图统计得到语音和噪声出现的概率从而进行噪声谱估计。上述方法由于其数学建模与真实带噪声语音的差异性以及噪声谱估计的不准确性,在降噪同时都会不同程度对语音造成损伤,产生失真,从而影响降噪语音的言语清晰度,因此都需要在信噪比和失真之间寻求平衡。

在助听器这类对声音进行压缩放大的系统中,上述算法失真更易于被听者所感知。本文提出一种改善言语清晰度的低失真的子带自适应降噪方法。通过加权重叠相加(weighted overlap add,WOLA)滤波器组[6]和基于心理声学模型[1-2]的子带划分、基于先验信噪比和后验信噪比的非线性增益扩展、基于噪声估计信号声压级的增益下限阈值、基于峰值跟踪的子带增益平滑及其跟踪和释放时间系数的精细选择等方法,有效降低环境噪声和提高言语清晰度。为适应超低功耗数字信号处理器(digital signal processor,DSP)[7]的应用,也对降噪增益公式进行了量化处理。

1 WOLA框架的子带降噪算法

图 1为子带降噪算法框图。时域信号s(t)经过WOLA分析滤波器组[6]得到时频信号S((n,k)),即第n帧第k个子带的带噪语音信号; 由S(n,k)估计得到降噪增益G(n,k)(G(n,k)为实数,∂(n,k)表示dB单位的降噪增益); 将G(n,k)作用于|S(n,k)|得到降噪输出的时频信号

图 1 子带降噪算法框图

$\left| Y\left( (n,k) \right) \right|=\left| S\left( n.k \right) \right|G\left( (n,k) \right),$ (1)

或者转换到dB单位为

$\begin{align} & 20\lg \left| Y\left( (n,k) \right) \right|= \\ & 20\lg \left| S\left( n.k \right) \right|+\partial \left( (n,k) \right). \\ \end{align}$ (2)

其中: n代表时间帧,k代表频域子带。一个子带可以是WOLA变换后的单个频点也可由多个相邻的频点构成; 尤其是在高频部分,k若采用单一频点将会影响降噪后信号的音质[1]。心理声学实验表明,人耳对低频信号的频率分辨率高,对高频信号的频率分辨率低[1-2]。这里对Bark频标、Mel频标和ERB(equivalent rectangular bandwidth)频标等3种常见的心理声学模型[1-2]进行实验,详见本文节3。与其他降噪算法类似,本文的Y(n,k)继承了S(n,k)的相位信息。Y(n,k)经过WOLA综合滤波器组得到时域的输出信号y(t)。

2 基于非线性扩展的子带自适应降噪算法 2.1 非线性扩展的降噪增益计算方法

本文提出的基于非线性扩展的子带降噪增益计算方法的流程图如图 2 所示。

图 2 降噪增益计算的流程图

具体步骤描述如下:

1) 对输入的子带带噪语音信号进行噪声能量谱估计。为了消除可能被助听器放大的环境背景噪声,所以采用对环境噪声估计效果更好的最小值跟踪方法[2]估计噪声能量谱。

计算输入信号S(n,k)的能量谱|S(n,k)|2的短时最大值

$\left| S\left( n.k \right) \right|_{\max }^{2}=\underset{n-{{T}_{1}}+1\le m\le n}{\mathop{\max }}\,\left( {{\left| S\left( m,k \right) \right|}^{2}} \right).$ (3)

其中T1代表用于统计最大值的短时帧数。 通过短时最大值|S(n,k)|max2计算长时最小值,将其作为噪声能量谱的估计值

${{{\tilde{P}}}_{\text{N}}}\left( (n,k) \right)=\underset{n-{{T}_{2}}+1\le m{{T}_{1}}\le n}{\mathop{\max }}\,\left( \left| S\left( m{{T}_{1}},k \right) \right|_{\max }^{2} \right).$ (4)