发明内容
有鉴于此,本发明提供了一种自动噪声抑制方法,能够根据音频信号中的信噪比情况,自适应调整噪声抑制程度,从而提高音频呈现效果。
该方法包括:预设带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系;
对带噪音频信号的自动噪声抑制过程包括:
A、对带噪音频信号进行加窗和短时谱分解,得到带噪音频信号的幅度谱和相位信息;
B、根据带噪音频信号的幅度谱,计算所述带噪音频信号的信噪比;
C、根据所述映射关系,确定步骤B得到的信噪比对应的GMIN;采用所确定的GMIN计算增益函数;
D、利用步骤C得到的增益函数及所述带噪音频信号的幅度谱,估计去噪后音频信号的幅度谱;
E、根据所述相位信息,对去噪后音频信号的幅度谱进行短时谱逆变换,然后再进行合成窗和重叠相加处理,得到去噪后的音频信号。
其中,预设带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系为:
其中,ηth_l和ηth_h分别为η的下限阈值和上限阈值,Gth_l和Gth_h分别为GMIN的下限阈值和上限阈值,α和β为两个预设系数。
较佳地,所述步骤B为:将所述带噪音频信号均分为N个子带,每个子带包括M/N个频率点,M为加窗处理时的窗长;N为大于0的正整数;计算各子带的信噪比;子带i的信噪比ηi为:
其中,
为子带i中频率点k的幅度谱,
为子带i中频率点k的噪声方差估计值;
所述步骤C为:根据各子带i的信噪比ηi以及所述映射关系,计算各子带i对应的GMIN,i;采用频率点k所在子带i对应的GMIN,i,计算频率点k的增益函数。
较佳地,所述ηth_l=10,所述ηth_h=50。
较佳地,所述Gth_l=-25,所述Gth_h=-10。
较佳地,所述α=-0.375,所述β=-6.25。
本发明还提供了一种监控系统中提高音频信号质量的方法,能够根据所采集音频信号中的信噪比情况,自适应调整噪声抑制程度,从而提高监控系统中的音频呈现效果。
该方法包括:
监控系统的音视频应用层接收来自监控接入层的带噪音频信号并解码;
对解码后的带噪音频信号执行上述任意一种自动噪声抑制方法,得到去噪后的音频信号;
播放去噪后的音频信号。
本发明还提供了一种自动噪声抑制装置,能够根据音频信号中的信噪比情况,自适应调整噪声抑制程度,从而提高音频呈现效果。
该装置包括:
加窗单元,用于对带噪音频信号进行加窗处理;
傅立叶变换FFT单元,用于对加窗处理后的带噪音频信号进行短时谱分解,得到带噪音频信号的幅度谱和相位信息,将所述带噪音频信号的幅度谱发送给功率谱计算单元和乘法单元,将所述相位信息发送给逆FFT单元;
功率谱计算单元,用于根据带噪音频信号的幅度谱计算带噪音频信号的功率谱,将所述功率谱发送给谱增益计算单元和噪声方差估计单元;
噪声方差估计单元,用于根据所述功率谱计算噪声方差估计值,将所述噪声方差估计值发送给谱增益计算单元;
谱增益计算单元,用于存储预设的带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系;根据所接收的功率谱和噪声方差估计值,计算带噪音频信号的信噪比;根据所述映射关系,确定计算得到的信噪比对应的GMIN;采用所确定的GMIN计算增益函数;将计算得到的增益函数发送给乘法单元;
乘法单元,用于将所接收的增益函数与所述带噪音频信号的幅度谱相乘,得到去噪后音频信号的幅度谱;
逆FFT单元、合成窗单元和重叠相加单元,依次对去噪后音频信号的幅度谱进行短时谱逆变换、合成窗和重叠相加处理,得到去噪后的音频信号;
所述预设的带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系为:
其中,ηth_l和ηth_h分别为η的下限阈值和上限阈值,Gth_l和Gth_h分别为GMIN的下限阈值和上限阈值,α和β为两个预设系数。
所述谱增益计算单元包括映射关系存储模块、信噪比计算模块和增益函数计算模块;
所述映射关系存储模块,用于存储预设的带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系;
所述信噪比计算模块,用于根据接收自所述功率谱计算单元的功率谱和接收自所述噪声方差估计单元的噪声方差估计值,计算带噪音频信号的信噪比,并发给所述增益函数计算模块;
所述增益函数计算模块,根据所述映射关系存储模块存储的映射关系,确 定所接收信噪比对应的GMIN;采用所确定的GMIN计算增益函数。
其中,所述信噪比计算模块包括子带分割子模块和子带信噪比计算子模块;
所述子带分割子模块,用于将带噪音频信号均分为N个子带,N为大于0的正整数;每个子带包括M/N个频率点,M为所述加窗处理时的窗长;
所述子带信噪比计算子模块,根据所述子带分割子模块的子带划分结果,计算各子带的信噪比;子带i的信噪比ηi为:
其中,
为子带i中频率点k的幅度谱,
为子带i中频率点k的噪声方差估计值;
所述增益函数计算模块进一步用于,根据各子带i的信噪比ηi以及所述映射关系,计算各子带i对应的GMIN,i;采用频率点k所在子带i对应的GMIN,i计算频率点k的增益函数。
较佳地,所述ηth_l=10,所述ηth_h=50。
较佳地,所述Gth_l=-25,所述Gth_h=-10。
较佳地,所述α=-0.375,所述β=-6.25。
本发明又提供了一种监控系统,能够根据所采集音频信号中的信噪比情况,自适应调整噪声抑制程度,从而提高监控系统中的音频呈现效果。
该系统包括设置在音视频应用层的自动噪声抑制装置,还包括音视频应用层的解码装置和播放装置;
所述解码装置,用于接收来自所述监控系统中监控接入层的带噪音频信号并解码;
所述自动噪声抑制装置采用上述任意一种自动噪声抑制装置,对解码后的带噪音频信号进行自动噪声抑制处理,得到去噪后的音频信号;
所述播放装置,用于播放所述去噪后的音频信号。
根据以上技术方案可见,本发明根据音频信号的信噪比,自适应调整噪声抑制程度,即GMIN的值,从而提高监控系统中的音频呈现效果。
当将上述自动噪声抑制方法应用于监控系统时,在音视频业务层播放音频之前,对监控接入层传来的音频信号进行一次统一的噪声抑制处理,从而提高监控系统中的音频呈现效果。
而且,由于自动噪声抑制是根据音频信号的信噪比调整噪声抑制程度,因此无论前端拾音设备是否具有噪声抑制功能,都能够根据音频信号中反应出来的前端环境状况,对噪声加以抑制,达到屏蔽前端音频采集差异的效果,解决系统中异构设备组网下音频效果一致性问题。由于无需进行全网部署和升级拾音设备,只需要在后端进行音频信号处理,因此实现简单,从而降低了升级成本。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
图2为本发明提出的提高监控系统音频信号质量的方案示意图。如图2所示,监控接入层的编码器负责音频信号的采集和编码,不限定前端采集必需利用昂贵的拾音器材来保证采集音频的纯净,即允许编码发送的音频码流是带噪音频信号。
监控系统的音视频应用层接收来自监控接入层的带噪音频信号并解码;在播放前,对解码后的带噪音频信号进行一次统一的自动噪声抑制处理。噪 声抑制处理时,根据带噪音频信号的信噪比,自适应的调整噪声抑制程度,从而完成对带噪音频信号的噪声估计及滤除,然后播放去噪后的音频信号。
上述自动噪声抑制过程根据带噪音频信号的信噪比,自适应调整噪声抑制程度,从而提高监控系统中的音频呈现效果。无论前端拾音设备是否具有噪声抑制功能,都能够根据音频信号中反应出来的前端环境状况,对噪声加以抑制,达到屏蔽前端音频采集差异的效果,解决系统中异构设备组网下音频效果一致性问题。
其中,本发明的自动噪声抑制处理通过改进现有MMSE-STSA(基于最小均方误差准则的短时谱估计,Minimum Mean-Square Error,Short-TimeSpectral Amplitude)的自动噪声抑制方案得以实现。
首先,介绍一下现有的MMSE-STSA自动噪声抑制方案。
图3示出了现有MMSE-STSA自动噪声抑制的原理框图。参见图3,
首先,加窗单元对带噪音频信号进行加窗处理。加窗处理相当于对带噪音频信号进行分帧,后续处理是针对每一帧带噪音频信号进行的。
然后,傅立叶变换(FFT)单元对加窗处理后的带噪音频信号进行短时谱分解,得到带噪音频信号的幅度谱和相位信息,将带噪音频信号的幅度谱发送给功率谱计算单元和乘法单元,将相位信息发送给逆FFT单元。
这里,设原始纯净的音频信号为x(n),受到与x(n)不相关的加性宽带噪声d(n)干扰的带噪音频信号为y(n),y(n)=x(n)+d(n);
经加窗和短时谱分解处理后,得到带噪音频信号的幅度谱记为Y(k,l),其中,l为当前处理的音频信号帧的帧编号,k为频率点索引。k值与加窗处理时使用的窗长M有关,k的取值范围为0到M-1,M的值确定了频域分辨率。如果窗长M为1024,则k取值为0-1023。可见,Y(k,l)即为第l帧带噪音频信号的频率点k的幅度谱。
同理,设第l帧纯净音频信号的频率点k的幅度谱为X(k,l),第l帧噪声信号的频率点k的幅度谱为D(k,l),带噪音频信号的相位为 噪声方 差为λd(k,l),纯净音频方差为λx(k,l)。
接着,功率谱计算单元根据带噪音频信号的幅度谱Y(k,l)计算带噪音频信号的功率谱|Y|2 k,l,将功率谱|Y|2 k,l发送给噪声方差估计单元和谱增益计算单元。
噪声方差估计单元,根据功率谱|Y|2 k,l计算噪声方差估计值 并发给谱增益计算单元。
谱增益计算单元,根据所接收的功率谱|Y|
2 k,l和噪声方差估计值
计算出当前帧l的增益函数G(k,l),并发送给乘法单元。
乘法单元,将所接收的G(k,l)与带噪音频信号的幅度谱Y(k,l)相乘,得到去噪后音频信号的幅度谱
然后,逆FFT单元、合成窗单元和重叠相加单元,依次对去噪后音频信号的幅度谱
进行短时谱逆变换、合成窗和重叠相加处理,得到去噪后的音频信号
其中,短时谱逆变换处理是利用带噪音频信号的相位信息
完成的。
至此,本流程结束。在以上处理过程中,加窗处理、短时谱分解、短时谱逆变换、合成窗处理、重叠相加处理都是数字信号处理中常用的技术,在此不作详细叙述。
从图3示出的流程可以看出,去噪的重点在于谱增益计算单元对增益函数G(k,l)的计算。
传统的MMSE-STSA技术中,增益函数计算公式为:
其中, ξ(k,l)表示先验信噪比,γ(k,l)表示后验信噪比;λx(k,l)为纯净音频方差;λd(k,l)为噪声方差。
传统的MMSE-STSA算法计算增益函数时总是基于处理的信号全部是语音的假设,在这种假设下噪声段全为语音噪声,没有考虑实际环境中信号还存在无语音的噪声段,导致在噪声段的估计偏差大。
基于传统MMSE-STSA算法的现有改进引入了语音概率,引入语音概率的增益函数计算公式如公式<1>所示,公式<1>表示语音段增益估计和噪声段增益估计的加权:
G(k,l)={GMMSE(k,l)}p(k,l)·GMIN 1-p(k,l) <1>
公式<1>中的 表示条件语音出现概率;q(k,l)表示先验语音缺失概率。
当q(k,l)趋近于1时,p(k,l)趋近于0,因此p(k,l)和q(k,l)这两种概率的关系近似为
q(k,l)的计算本质上是求估计值
估计过程比较复杂,无法用于一个简单的公式表示,且由于估计过程不是本文的重点,所以在本文中没有给出q(k,l)的具体表达式。
在公式<1>中,GMIN是现场噪声经验估计值,表示噪声抑制程度,同时也表征信号处理能够提高的信噪比程度。
现有技术中GMIN通常采用一个预设常量。但是,由于监控系统中的现场环境千差万别,导致背景噪声差异很大,所以实际应用中无法用一个固定经验值来表征环境噪声。
为此,本发明在自动噪声抑制处理过程中,根据当前音频信号的信噪比,自适应选择GMIN的值,采用选定的GMIN代入公式<1>,从而得到合适的增益函数。
在选择GMIN值时,本发明基于如下基本原理:
在信噪比高时,语音成分重,通过设置较大的噪声抑制阈值,即GMIN值取较大值,能够达到保证语音的前提下尽可能的抑制噪声;在信噪比低时,语音成分轻,通过设置较小的噪声抑制阈值,即GMIN值取较小值,能够抑制 噪声的同时保证尽量少的损伤语音。从而使得算法具有良好适应性,保证不同场景下都有较高的语音清晰度。
上述选择GMIN的基本原理可以通过预先设置信噪比与GMIN的映射关系实现。
为了根据映射关系确定GMIN,从而计算增益函数,本发明的自动噪声抑制装置沿用图2的结构,但其中的谱增益计算单元不同于现有技术。图4为本发明实施例中谱增益计算单元的结构示意图。如图4所示,本发明的谱增益计算单元包括映射关系存储模块、信噪比计算模块和增益函数计算模块;其中,
映射关系存储模块,用于存储预设的带噪音频信号的信噪比η与现场噪声经验估计值GMIN之间的映射关系,该映射关系采用如下公式<2>表示:
其中,ηth_l和ηth_h分别为η的下限阈值和上限阈值,α和β为两个预设系数。如前所述,GMIN表征信号处理能够提高的信噪比程度,由于信噪比提高程度不是无限的,所以限定了GMIN的上限阈值Gth_h和下限阈值Gth_l。
在本发明实施例中,较佳地设置ηth_l=10,ηth_h=50,Gth_l=-25,Gth_h=-10,将这些参数代入公式<2>,得到公式<2>的变形:
基于实验,本发明实施例取N=8,α取值为-0.375,β取值为-6.25。
信噪比计算模块,用于根据接收自功率谱计算单元的功率谱|Y|
2 k,l和接收自噪声方差估计单元的噪声方差估计值
计算带噪音频信号的信噪比,并发给增益函数计算模块。
由于本谱增益计算单元执行的所有操作是针对当前帧l进行的,因此为了公式表达上的简便,下面公式<4>到<6>均省略的关于l的描述,默认为所有参数都是第l帧的参数。从而将|Y|
2 k,l简化为|Y|
2 k,将
简化为
那么,在本实施例中,信噪比的计算公式为:
增益函数计算模块,根据映射关系存储模块保存的映射关系,计算接收自信噪比计算模块的信噪比对应的GMIN,采用所确定的GMIN计算增益函数,具体是采用所确定的GMIN代入公式<1>得到增益函数,然后发送给乘法单元。
在实际中,由于人耳对语音各频段的感知不同,对低频段的信号感知更灵敏。利用该特性,本发明实施例进一步将音频信号分割为多个子带,在每个子带内分别计算GMIN。这样,针对具有不同信噪比的各子带,分别采用不同GMIN进行去噪处理,从而更有针对性的提高语音呈现效果。
具体来说,在划分子带的情况下,上述信噪比计算模块具体分为子带分割子模块和子带信噪比计算子模块。
子带分割子模块,将带噪音频信号均分为N个子带,也就是将带噪音频信号中一个窗长M内的所有频率点均分为N组。假设M取1024,则该窗长M内有1024个频点。将带噪音频信号均分为N个子带就是将1024个频率点均分成N组,每组1024/N个频率点。
子带信噪比计算子模块,根据子带分割子模块的子带划分结果,计算各子带的信噪比;子带i的信噪比ηi的计算公式为:
其中,i为子带序号,|Y|
k 2为子带i中频率点k的功率谱,
为频率点k的噪声方差估计值。当N为1时,公式<5>退化为公式<4>,即不划分子带或者说子带数量为1的情况。
公式<3>所示的映射关系同样适用于划分子带的情况,为了方便理解,可以将公式<3>表示为子带i的信噪比ηi与GMIN,i的映射关系:
在划分子带的情况下,上述增益函数计算模块在确定GMIN时,根据各子带i的信噪比ηi以及公式<6>表达的映射关系,计算各子带i对应的GMIN,i;然后,采用频率点k所在子带i对应的GMIN,i计算频率点k的增益函数,并发送给乘法单元。
本发明还提供了一种采用本发明自动噪声抑制装置提高音频信号质量的监控系统。参见图2,将本发明的自动噪声抑制装置设置在监控系统的音视频应用层,同时该音视频应用层还包括解码装置和播放装置。
其中,解码装置,接收来自监控接入层的带噪音频信号并解码。
自动噪声抑制装置,对解码后的带噪音频信号进行自动噪声抑制处理,得到去噪后的音频信号。
播放装置,用于播放去噪后的音频信号。播放前还可以对去噪后的音频信号进行音量调节等处理。
基于本发明的基本思想,本发明还提出了一种自动噪声抑制方法,该方法预设信噪比与现场噪声经验估计值GMIN之间的映射关系;在一个实施例中,该映射关系可以采用上述公式<2>或<3>表达;在划分子带的实施例中映射关系可以采用上述公式<6>表达。
对带噪音频信号的自动噪声抑制过程包括:
A、对带噪音频信号进行加窗和短时谱分解,得到带噪音频信号的幅度谱和相位信息。
B、根据带噪音频信号的幅度谱,计算带噪音频信号的信噪比。
C、根据预设的映射关系,确定步骤B得到的信噪比对应的GMIN;采用所确定的GMIN计算增益函数,即将所确定的GMIN代入公式<1>。
D、利用步骤C得到的增益函数及步骤A得到的带噪音频信号的幅度谱,估计去噪后音频信号的幅度谱。
E、根据步骤A得到的相位信息,对去噪后音频信号的幅度谱进行短时谱逆变换,然后再进行合成窗和重叠相加处理,得到去噪后的音频信号。
至此,完成了音频信号的噪声抑制处理过程。
较佳地,本发明可以通过对带噪音频信号进行子带划分,从而针对不同子带采用不同GMIN进行去噪处理,更有针对性的提高语音呈现效果。在划分子带的情况下,
上述步骤B具体为:将带噪音频信号均分为N个子带,每个子带包括M/N个频率点,M为加窗处理时的窗长;N为大于0的正整数;采用前述公式<5>计算各子带i的信噪比ηi。
相应地,上述步骤C具体为:根据各子带i的信噪比ηi以及公式<6>表达的映射关系,计算各子带i对应的GMIN,i;采用频率点k所在子带i对应的GMIN,i,计算频率点k的增益函数。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。