首页> 中国专利> 激活音检测及用于激活音检测的方法和装置

激活音检测及用于激活音检测的方法和装置

摘要

本发明涉及一种激活音检测(VAD)及用于激活音检测的方法和装置,该方法包括:获得当前帧的子带信号及频谱幅值;根据子带信号计算得到当前帧的帧能量参数和谱重心特征参数的值;根据前一帧估计得到的背景噪声能量、当前帧的帧能量参数及信噪比子带能量计算得到当前帧的信噪比参数;根据调性标志、信噪比参数、谱重心特征参数、帧能量参数计算得到VAD判决结果。本发明方法和装置可提高不稳定噪声(如办公室噪声)和音乐检测的准确率。

著录项

  • 公开/公告号CN103903634A

    专利类型发明专利

  • 公开/公告日2014-07-02

    原文格式PDF

  • 申请/专利权人 中兴通讯股份有限公司;

    申请/专利号CN201210570563.5

  • 发明设计人 江东平;袁浩;朱长宝;

    申请日2012-12-25

  • 分类号G10L25/93(20130101);G10L21/0208(20130101);

  • 代理机构11262 北京安信方达知识产权代理有限公司;

  • 代理人田红娟;龙洪

  • 地址 518057 广东省深圳市南山区高新技术产业园科技南路中兴通讯大厦法务部

  • 入库时间 2023-12-17 00:06:05

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2018-09-04

    授权

    授权

  • 2015-02-04

    实质审查的生效 IPC(主分类):G10L25/93 申请日:20121225

    实质审查的生效

  • 2014-07-02

    公开

    公开

说明书

技术领域

本发明涉及一种激活音检测(VAD)及用于激活音检测的方法(包括背 景噪声检测、调性信号检测、VAD判决中当前帧激活音保持帧数的修正、 VAD判决中信噪比门限的调整等方法)和装置。

背景技术

正常的语音通话中,用户有时在说话,有时在听,这个时候就会在通话 过程出现非激活音阶段,正常情况下通话双方总的非语音激活阶段要超过通 话双方总的语音编码时长的50%。在非激活音阶段,只有背景噪声,背景噪 声通常没有任何有用信息。利用这一事实,在语音频信号处理过程中,通过 激活音检测(VAD)算法检测出于激活音和非激活音,并采用不同的方法分别 进行处理。现代的很多语音编码标准,如AMR,AMR-WB,都支持VAD 功能。在效率方面,这些编码器的VAD并不能在所有的典型背景噪声下都 达到很好的性能。特别是在非稳定噪声下,这些编码器的VAD效率都较低。 而对于音乐信号,这些VAD有时候会出现错误检测,导致相应的处理算法 出现明显的质量下降。

发明内容

本发明要解决的技术问题是提供一种激活音检测(VAD)及用于激活音检 测的方法(包括背景噪声检测、调性信号检测、VAD判决中当前激活音保持 帧数的修正、VAD判决中信噪比门限的调整等方法)和装置,以提高VAD 检测的准确率。

为解决上述技术问题,本发明提供了一种激活音检测(VAD)方法,该 方法包括:

获得当前帧的子带信号及频谱幅值;

根据子带信号计算得到当前帧的帧能量参数、谱重心特征参数和时域稳 定度特征参数的值;根据频谱幅值计算得到谱平坦度特征参数和调性特征参 数的值;

根据前一帧估计得到的背景噪声能量、当前帧的帧能量参数及信噪比子 带能量计算得到当前帧的信噪比参数;

根据当前帧帧能量参数、谱重心特征参数、时域稳定度特征参数、谱平 坦度特征参数、调性特征参数计算得到当前帧的调性标志;

根据调性标志、信噪比参数、谱重心特征参数、帧能量参数计算得到 VAD判决结果。

为解决上述技术问题,本发明提供了一种激活音检测(VAD)装置,该 装置包括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数获取单元,用于根据子带信号计算得到当前帧的帧能量参数、 谱重心特征参数和时域稳定度特征参数的值;根据频谱幅值计算得到谱平坦 度特征参数和调性特征参数的值;

标志计算单元,用于根据当前帧帧能量参数、谱重心特征参数、时域稳 定度特征参数、谱平坦度特征参数、调性特征参数计算得到当前帧的调性标 志;

信噪比计算单元,用于根据前一帧估计得到的背景噪声能量、当前帧的 帧能量参数及信噪比子带能量计算得到当前帧的信噪比参数;

VAD判决单元,用于根据调性标志、信噪比参数、谱重心特征参数、帧 能量参数计算得到VAD判决结果。

为解决上述技术问题,本发明提供了一种背景噪声检测方法,该方法包 括:

获得当前帧的子带信号及频谱幅值;

根据子带信号计算得到的帧能量参数、谱重心特征参数、时域稳定度特 征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特征参数的值;

根据谱重心特征参数、时域稳定度特征参数、谱平坦度特征参数、调性 特征参数、当前帧能量参数进行背景噪声检测,判断当前帧是否为背景噪声。

为解决上述技术问题,本发明提供了一种背景噪声检测装置,该装置包 括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数计算单元,用于根据子带信号计算得到的帧能量参数、谱重心 特征参数、时域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征 参数和调性特征参数的值;

背景噪声判断单元,用于根据谱重心特征参数、时域稳定度特征参数、 谱平坦度特征参数、调性特征参数、当前帧能量参数进行背景噪声检测,判 断当前帧是否为背景噪声。

为解决上述技术问题,本发明提供了一种调性信号检测方法,该方法包 括:

获得当前帧的子带信号及频谱幅值;

根据子带信号计算得到谱重心特征参数、时域稳定度特征参数的值,根 据频谱幅值计算得到谱平坦度特征参数和调性特征参数的值;

根据调性特征参数、时域稳定度特征参数、谱平坦度特征参数、谱重心 特征参数、判断当前帧是否为调性信号。

为解决上述技术问题,本发明提供了一种调性信号检测装置,该检测装 置包括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数计算单元,根据在子带信号计算得到谱重心特征参数、时域稳 定度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特征参 数的值;

调性信号判断单元,用于根据调性特征参数、时域稳定度特征参数、谱 平坦度特征参数、谱重心特征参数判断当前帧是否为调性信号。

为解决上述技术问题,本发明提供了一种VAD判决中当前帧激活音保 持帧数的修正方法,该方法包括:

计算得到长时信噪比lt_snr和平均全带信噪比SNR2_lt_ave;

根据前面若干帧的判决结果、长时信噪比lt_snr、平均全带信噪比 SNR2_lt_ave、当前帧的信噪比和当前帧的VAD判决结果,对当前激活音保 持帧数进行修正。

为解决上述技术问题,本发明提供了一种VAD判决中当前激活音保持 帧数的修正装置,该修正装置包括:

长时信噪比计算单元,用于计算长时信噪比lt_snr;

平均全带信噪比计算单元,用于计算平均全带信噪比SNR2_lt_ave;

激活音保持帧数修正单元,用于根据前面若干帧的判决结果、长时信噪 比lt_snr、平均全带信噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的 VAD判决结果,对当前激活音保持帧数进行修正。

为解决上述技术问题,本发明提供了一种VAD判决中信噪比门限的调 整方法,该调整方法包括:

根据子带信号计算得到当前帧的谱重心特征参数;

计算前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能 量的比值,得到长时信噪比lt_snr;

根据谱重心特征参数、长时信噪比、前面连续激活音帧个数和前面连续 噪声帧个数continuous_noise_num调整VAD判决的信噪比门限。

为解决上述技术问题,本发明提供了一种VAD判决中信噪比门限的调 整装置,该调整装置包括:

特征参数获取单元,用于根据子带信号计算得到当前帧的谱重心特征参 数;

长时信噪比计算单元,用于计算前一帧计算得到的平均长时激活音信号 能量和平均长时背景噪声能量的比值,得到长时信噪比lt_snr;

信噪比门限调整单元,用于根据谱重心特征参数、长时信噪比、前面连 续激活音帧个数和前面连续噪声帧个数continuous_noise_num调整VAD判决 的信噪比门限。

本发明方法和装置克服了既有VAD算法的缺点,在提高VAD对不稳定 噪声检测效率的同时也提高音乐检测的准确率。使得采用本VAD的语音频 信号处理算法可以得到更好的性能。

附图说明

图1为本发明激活音检测方法实施例1的示意图;

图2为本发明激活音检测方法实施例2的示意图;

图3为本发明实施例1、2中得到VAD判决结果的过程示意图;

图4为本发明激活音检测(VAD)装置实施例1的模块结构示意图;

图5为本发明激活音检测(VAD)装置实施例2的模块结构示意图;

图6为本发明VAD装置中的VAD判决单元的模块结构示意图;

图7为本发明背景噪声检测方法实施例的示意图;

图8为本发明背景噪声检测装置的模块结构示意图;

图9为本发明调性信号检测方法实施例的示意图;

图10为本发明调性信号检测装置的模块结构示意图;

图11为本发明调性信号检测装置的调性信号判断单元的模块结构示意 图;

图12为本发明VAD判决中当前激活音保持帧数的修正方法实施例的示 意图;

图13为本发明VAD判决中当前激活音保持帧数的修正装置的模块结构 示意图;

图14为本发明VAD判决中信噪比门限的调整方法实施例的示意图;

图15为本发明调整信噪比门限的具体流程示意图;

图16为本发明VAD判决中信噪比门限的调整装置的模块结构示意图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行 清楚、完整地描述。显然,所描述的实施例仅仅是本发明一部分实施例,而 非全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出 创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。

需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特 征可以相互组合。

本发明激活音检测(VAD,Voice Activity Detection)方法实施例1,如 图1所示,该方法包括:

步骤101:获得当前帧的子带信号及频谱幅值;

本实施例中以帧长为20ms,采样率为32kHz的音频流为例具体说明。 在其它帧长和采样率条件下,本发明的方法同样适用。

将当前帧时域信号输入滤波器组,进行子带滤波计算,得到滤波器组子带 信号;

本实施例中采用一个40通道的滤波器组,本发明对于采用其他通道数的 滤波器组同样适用。

将当前帧时域信号输入40通道的滤波器组,进行子带滤波计算,得到16 个时间样点上40个子带的滤波器组子带信号X[k,l],0≤k<40,0≤l<16,其 中k为滤波器组子带的索引,其值表示系数对应的子带,l为各个子带的时 间样点索引,其实现步骤如下:

101a:将最近的640个音频信号样值存储在数据缓存中。

101b:将数据缓存中的数据移40个位置,把最早的40个采样值移出数据 缓存,并把40个新的样点存入到0到39的位置上。

将缓存中的数据x乘上窗系数,得到数组z,计算方程式如下:

z[n]=x[n]·Wqmf[n];0≤n<640;

其中Wqmf为滤波器组窗系数。

采用以下的伪代码计算得到一个80点的数据u,

for(n=0;n<80;n++){u[n]=0;for(j=0;j<8;j++){u[n]+=z[n+j·80];}}

采用下面的方程计算得到数组r和i:

r[n]=u[n]-u[79-n],0≤n<40

i[n]=u[n]+u[79-n]

采用下面的方程计算得到第一个时间样点上40个复数子带样值, X[k,l]=R(k)+iI(k),0≤k<40,其中R(k)和I(k)分别为滤波器组子带信号X第l个 时间样点上系数的实部和虚部,其计算方程式如下: R(k)=Σn=039r(n)cos[π40(k+12)n],0≤k<40

I(k)=Σn=039i(n)cos[π40(k+12)n]

101c:重复101b的计算过程,直到将本帧的所有数据都经过滤波器组滤 波,最后的输出结果即为滤波器组子带信号X[k,l]。

101d:完成上面计算过程后,得到40个子带的16个时间样点的滤波器 组子带信号X[k,l],0≤k<40,0≤l<16。

对滤波器组子带信号进行时频变换,并计算得到频谱幅值。

其中对全部滤波器组子带或部分滤波器组子带进行时频变换,计算频谱幅 值,都可以实现本发明实施例。本发明的所述时频变换方法可以是DFT、FFT、 DCT或DST。本实施例采用DFT为例,说明其具体实现方法。计算过程如 下:

对索引为0到9的每个滤波器组子带上的16个时间样点数据进行16点的 DFT变换,进一步提高频谱分辨率,并计算各个频点的幅值,得到频谱幅值 XDFT_AMP

时频变换计算方程式如下: XDFT[k,j]=Σl=015X[k,l]·e-2πi16jl;0≤k<9;0≤j<16;

计算各个频点的幅值过程如下:

首先,计算数组XDFT[k][j]在各个点上的能量,计算方程式如下:

XDFT_POW[k,j]=(real(XDFT[k,j])2+(image(XDFT[k,j])2;0≤k<10;0≤j<16;其中 real(XDFT_POW[k,j]),image(XDFT_POW[k,j])分别表示频谱系数XDFT_POW[k,j]的实部 和虚部。

如果k为偶数,则采用以下方程计算各个频点上的频谱幅值:

XDFT_AMP[8·k+j]=XDFT_POW[k,j]+XDFT_POW[k,15-j];0≤k<10;0≤j<8;

如果k为奇数,则采用以下方程计算各个频点上的频谱幅值: XDFT_AMP[8·k+7-j]=XDFT_POW[k,j]+XDFT_POW[k,15-j];0≤k<10;0≤j<8;

XDFT_AMP即为时频变换后的频谱幅值。

步骤102:根据子带信号计算得到当前帧的帧能量参数和谱重心特征参 数的值;

帧能量参数、谱重心特征参数和调性特征参数的值,可采用现有技术方 法获得,优选地,各参数采用如下方法获得:

所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;具体 地:

a)根据滤波器组子带信号X[k,l]计算各滤波器组子带的能量,计算方程 式如下: Esb[k]=Σl=015((real(X[k,l]))2+(image(X[k,l])2));0≤k<40;

b)将部分听觉比较敏感的滤波器组子带或所有的滤波器组子带的能量累 加,得到帧能量参数。

其中根据心理听觉模型,人耳对极低频(如100Hz以下)和高频(如20kHz 以上)声音会比较不敏感,本发明认为按照频率从低到高排列的滤波器组子 带,从第二个子带到倒数第二个子带为听觉比较敏感的主要滤波器组子带, 将部分或全部听觉比较敏感的滤波器组子带能量累加得到帧能量参数1,计 算方程式如下:

Et1=Σn=e_sb_starte_sb_endEsb[n];

其中,e_sb_start为起始子带索引,其取值范围为[0,6]。e_sb_end为 结束子带索引,其取值大于6,小于子带总数。

帧能量参数1的值加上部分或全部在计算帧能量参数1时未使用的滤波 器组子带的能量的加权值,得到帧能量参数2,其计算方程式如下:

Et2=Et1+e_scalel·Σn=0e_sb_start-1Esb[n]+e_scale2·Σn=e>end+1num_bandEsb[n];

其中e_scale1,e_scale2为加权比例因子,其取值范围分别为[0,1]。 num_band为子带总个数。

谱重心特征参数是通过求滤波器组子带能量加权相加的和与子带能量的 直接相加的和的比值或通过对其他谱重心特征参数值进行平滑滤波得到的。

谱重心特征参数可以采用如下子步骤实现:

a:将用于谱重心特征参数计算的子带区间划分如下:

b:采用a的谱重心特征参数计算区间划分方式和以下公式,计算得到两 个谱重心特征参数值,分别为第一区间谱重心特征参数和第二区间谱重心特 征参数。 sp_center[k]=Σn=0spc_end_band(k)-spc_start_band(k)(n+1)·Esb[n+spc_start_band(k)]+DeltalΣn=0spc_end_band(k)-spc_start_band(k)Esb[n+spc_start_band(k)]+Delta2;0≤k<2

Delta1,Delta2分别为一个小的偏置值,取值范围为(0,1)。其中k为谱 重心编号索引。

c:对第一区间谱重心特征参数sp_center[0]进行平滑滤波运算,得到平滑 谱重心特征参数值,即第一区间谱重心特征参数值的平滑滤波值,计算过程 如下:

sp_center[2]=sp_center--1[2]·spc_sm_scale+sp_center[0]·(1-spc_sm_scale)

其中,spc_sm_scale为谱重心参数平滑滤波比例因子,sp_center-1[2]表示 上一帧的平滑谱重心特征参数值,其初始值为1.6。

步骤103:根据前一帧估计得到的背景噪声能量、当前帧的帧能量参数 及信噪比子带能量计算得到当前帧的信噪比参数;

前一帧的背景噪声能量可通过现有方法获得。

如果当前帧是起始帧,信噪比子带背景噪声能量的值采用默认的初值。 前一帧信噪比子带背景噪声能量估计与当前帧的信噪比子带背景能量估计的 原理相同,当前帧的信噪比子带背景能量估计参见下文实施例2中的步骤207。 具体地,当前帧的信噪比参数可采用现有信噪比计算方法实现。优选地,采 用以下方法:

首先,将滤波器组子带重新划分为若干信噪比子带,划分索引如下表,

其次,根据信噪比子带的划分方式,计算当前帧各个信噪比子带能量。 计算方程如下: Esb2[n]=Σk=SubStartindex(n)Sub_end_index(n)Esb[k];0≤n<13;

再次、根据当前帧各个信噪比子带的能量和上一帧各个信噪比子带的背 景噪声能量计算子带平均信噪比SNR1。计算方程如下:

SNR1=1num_bandΣn=0num_band-1log2Esb2(n)Esb2bg(n)

其中Esb2_bg为估计得到的上一帧各个信噪比子带的背景噪声能量, num_band信噪比子带个数。得到上一帧信噪比子带的背景噪声能量的原理与 得到当前帧的信噪比子带背景能量的原理相同,得到当前帧的信噪比子带背 景能量的过程参见下文实施例2的步骤207;

最后,根据估计得到的上一帧全带背景噪声能量和当前帧的帧能量参数, 计算全带信噪比SNR2:

SNR2=log2Et1Etbg

其中Et_bg为估计得到的上一帧全带背景噪声能量,得到上一帧全带背景 噪声能量原理与得到当前帧的全带背景噪声能量的原理相同,得到当前帧的 全带背景噪声能量的过程参见下文实施例2的步骤207;

本实施例中信噪比参数包括子带平均信噪比SNR1和全带信噪比SNR2。全 带背景噪声能量和各个子带的背景噪声能量统称为背景噪声能量。

步骤104:根据调性标志、信噪比参数、谱重心特征参数、帧能量参数 计算得到VAD判决结果。

实施例2

本发明激活音检测(VAD)方法实施例2,对输入的音频信号分帧进行 多相滤波,得到滤波器组子带信号,并对滤波器组子带信号进一步进行时频 变换,并计算得到频谱幅值,分别在各个滤波器组子带信号和频谱幅值上进 行信号特征提取,得到各个特征参数值。根据特征参数值计算得到当前帧的 背景噪声标识和调性标志。根据当前帧能量参数值和背景噪声能量计算得到 当前帧的信噪比参数,根据计算得到的当前帧的信噪比参数、前面帧的VAD (语音激活检测,Voice Activity Detection)判决结果和各个特征参数,判断 当前帧是否是激活音帧。根据激活音帧判决结果对背景噪声标识进行修正, 得到新的背景噪声标识。根据新的背景噪声标识判断是否对背景噪声进行更 新。VAD检测的具体过程如下:

如图2所示,该方法实施例2包括:

步骤201:获得当前帧的子带信号及频谱幅值;

步骤202:根据子带信号计算得到当前的帧能量参数、谱重心特征参数、 时域稳定度特征参数的值;根据频谱幅值计算得到谱平坦度特征参数和调性 特征参数的值;

所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;

所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权 累加值的比值;

具体地,

根据各个滤波器组子带的能量计算得到谱重心特征参数,谱重心特征参数 是通过求滤波器组子带能量加权相加的和与子带能量的直接相加的和的比值 或通过对其他谱重心特征参数值进行平滑滤波得到的。

谱重心特征参数可以采用如下子步骤实现:

a:将用于谱重心特征参数计算的子带区间划分如下:

b:采用a的谱重心特征参数计算区间划分方式和以下公式,计算得到两 个谱重心特征参数值,分别为第一区间谱重心特征参数和第二区间谱重心特 征参数。 sp_center[k]=Σn=0spc_end_band(k)-spc_start_band(k)(n+1)·Esb[n+spc_start_band(k)]+DeltalΣn=0spc_end_band(k)-spc_start_band(k)Esb[n+spc_start_band(k)]+Delta2;0≤k<2

Delta1,Delta2分别为一个小的偏置值,取值范围为(0,1)。其中k为谱 重心编号索引。

c:对第一区间谱重心特征参数sp_center[0]进行平滑滤波运算,得到平滑 谱重心特征参数值,即第一区间谱重心特征参数值的平滑滤波值,计算过程 如下:

sp_center[2]=sp_center-1[2]·spc_sm_scale+sp_center[0]·(1-spc_sm_scale)

其中,spc_sm_scale为谱重心参数平滑滤波比例因子,sp_center-1[2]表示 上一帧的平滑谱重心特征参数值其初始值为1.6。

所述时域稳定度特征参数是幅值叠加值的方差和幅值叠加值平方的期望 的比值,或该比值乘上一个系数;

具体地,

由最新的若干帧信号的帧能量参数计算得到时域稳定度特征参数。在本实 施例中采用最新的40帧信号的帧能量参数计算得到时域稳定度特征参数。具 体计算步骤为:

首先,计算得到最近40帧信号的能量幅值,计算方程如下: Ampt1[n]=Et2(n)+e_offset;0≤n<40;

其中,e_offset为一个偏置值,其取值范围为[0,0.1]

其次,依次将当前帧到前面第40帧的相邻两帧的能量幅值相加,得到 20个幅值叠加值。具体计算方程如下:

Ampt2(n)=Ampt1(-2n)+Ampt1(-2n-1);0≤n<20;

其中,n=0时,Ampt1表示当前帧的能量幅值,n<0时,Ampt1表示当前 帧往前的n帧的能量幅值。

最后,通过计算最近的20个幅值叠加值的方差和平均能量的比值,得到 时域稳定度特征参数1td_stable_rate0。计算方程式如下:

ltd_stable_rate0=Σn=019(Ampt2(n)-120Σj=019Ampt2(j))2Σn=019Ampt2(n)2+Delta;

所述谱平坦度特征参数是某些频谱幅值的几何平均数和算术平均数的比 值,或该比值乘上一个系数;

具体地,将频谱幅值XDFT_AMP划分成若干个频带,并计算当前帧各个频带 的谱平坦度,得到当前帧的谱平坦度特征参数。

本实施例将频谱幅值划分成3个频带,并计算这3个频带的谱平坦度特征, 其具体实现步骤如下:

首先、将XDFT_AMP按照下表的索引划分为3个频带。

其次、分别计算各个子带的谱平坦度,得到当前帧的谱平坦度特征参数。 当前帧的各个谱平坦度特征参数值的计算方程如下: SMR(k)=(ΠnFreq_band(k)XDFT_AMP(n))1/(freq_band_end(k)-freq_band_start(k)+1)1freq_band_end(k)-freq_band_start(k)+1ΣnFreq_band(k)XDFT_AMP(n);0≤k<3

最后,对当前帧的谱平坦度特征参数进行平滑滤波,得到当前帧最终的 谱平坦度特征参数。

sSMR(k)=smr_scale·sSMR-1(k)+(1-smr_scale)·SMR(k);0≤k<3

其中smr_scale为平滑因子,其取值范围为[0.6,1],sSMR-1(k)为上一帧 的第k个谱平坦度特征参数的值。。

调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得 到的,或继续对该相关值进行平滑滤波得到的。

具体地,前后两帧信号的帧内频谱差分系数的相关值的计算方法如下:

根据频谱幅值计算得到调性特征参数,其中调性特征参数可以根据所有频 谱幅值或部分频谱幅值计算得到。

其计算步骤如下:

a,将部分(不小于8个频谱系数)或全部频谱幅值跟相邻的频谱幅值做 差分运算,并将差分结果小于0的值置0,得到一组非负的频谱差分系数。

本实施例选择位置索引为3到61的频点系数为例,计算调性特征参数。 具体过程如下:

将频点3到频点61的相邻频谱幅值做差分运算,方程式如下:

spec_dif[n-3]=XDFT_AMP(n+1)-XDFT_AMP(n);3≤n<62;

将spec_dif中小于0的变量置零。

b,求取步骤a计算得到的当前帧非负的频谱差分系数和前一帧非负的频 谱差分系数的相关系数,得到第一调性特征参数值。计算方程式如下:

tonality_ratel=Σn=056spec_dif[n]·pre_spec_dif[n]Σn=056spec_dif[n]2·Σn=056pre_spec_dif[n]2

其中,pre_spec_dif为前一帧的非负的频谱差分系数。

c,对第一调性特征参数值进行平滑运算,得到第二调性特征参数值。计 算方程如下:

tonality_rate2=tonal_scale·tonality_rate2-1+(1-tonal_scale)·tonality_rate1

tonal_scale为调性特征参数平滑因子,其取值范围为[0.1,1],tonality_rate2-1为前一帧的第二调性特征参数值,其初始值取值范围为[0,1]。

步骤203:根据前一帧估计得到的背景噪声能量、当前帧的帧能量参数 及信噪比子带能量计算得到当前帧的信噪比参数;

步骤204:根据当前帧帧能量参数、谱重心特征参数、时域稳定度特征 参数、谱平坦度特征参数、调性特征参数计算得到当前帧的初始背景噪声标 识和调性标志;

步骤205:根据调性标志、信噪比参数、谱重心特征参数、帧能量参数 计算得到VAD判决结果;

具体地,该步骤205的具体实现方法参见下文结合图3的描述。

可理解地,步骤205VAD判决之前的步骤,只要其中的参数没有前后因 果关系,则前后顺序可调,比如得到初始背景噪声标识和调性标志的步骤204 可以在信噪比计算步骤203之前。

当前帧的初始背景噪声标识需要修正后用于下一帧信噪比参数的计算, 因此得到当前帧的初始背景噪声标识的操作也可以在VAD判决之后。

步骤206:根据当前帧VAD的判决结果、调性特征参数、信噪比参数、 调性标志、时域稳定度特征参数对初始背景噪声标识进行修正;

如果信噪比参数SNR2小于一个设定的门限值SNR2_redec_thr1,SNR1小于 SNR1_redec_thr1、VAD标志vad_f1ag等于0、调性特征参数tonality_rate2小于 tonality_rate2_thr1、调性标志tonality_flag等于0并且时域稳定度特征参数 lt_stable_rate0小于lt_stable_rate0_redec_thr1(设置为0.1),则背景噪声标识 赋值为1。

步骤207:根据背景噪声标识的修正值和当前帧的帧能量参数、前一帧 的全带背景噪声能量,得到当前帧的背景噪声能量;所述当前帧的背景噪声 能量用于下一帧信噪比参数计算。

根据背景噪声标识判断是否进行背景噪声更新,如果背景噪声标识为1, 则根据估计得到全带背景噪声能量与当前帧信号的能量的比值进行背景噪声 更新。背景噪声能量估计包括子带背景噪声能量估计和全带背景噪声能量估 计。

a,子带背景噪声能量估计方程式如下:

Esb2_bg(k)=Esb2_bg_pre(k)·αbg_e+Esb2_bg(k)·(1-αbg_e);0≤k<num_sb

其中num_sb是频域子带的个数,Esb2_bg_pre(k)表示前一帧第k个信噪比 子带的子带背景噪声能量。

αbg_e是背景噪声更新因子,其值由前一帧的全带背景噪声能量和当前帧能 量参数决定。计算过程如下:

如果上一帧全带背景背景噪声能量Et_bg小于当前帧的帧能量参数Et1,则 取值0.96,否则取值0.95。

b,全带背景噪声能量估计:

如果当前帧的背景噪声标识为1,则更新背景噪声能量累加值Et_sum和背 景噪声能量累计帧数NEt_counter,计算方程如下:

Et_sum=Et_sum_-1+Et1

NEt_counter=NEt_counter_-1+1;

其中Et_sum_-1为前一帧的背景噪声能量累加值,NEt_counter_-1为前一帧计算 得到的背景噪声能量累计帧数。

c,全带背景噪声能量由背景噪声能量累加值Et_sum和累计帧数NEt_counter的 比值得到:

Et_bg=Et_sumNEtcounter

判断NEt_counter是否等于64,如果NEt_counter等于64则分别将背景噪声能量累加 值Et_sum和累计帧数NEt_counter乘0.75。

d,根据调性标志、帧能量参数、全带背景噪声能量的值对子带背景噪 声能量和背景噪声能量累加值进行调整。计算过程如下:

如果调性标志tonality_flag等于1并且帧能量参数Et1的值小于背景噪声 能量特征参数Et_bg的值乘以一个增益系数gain,

则,Et_sum=Et_sum·gain+delta;Esb2_bg(k)=Esb2_bg(k)·gain+delta;

其中,gain的取值范围为[0.3,1]。

实施例1和实施例2中,根据调性标志、信噪比参数、谱重心特征参数、 帧能量参数计算得到VAD判决结果的流程,如图3所示包括如下步骤:

步骤301:通过前一帧计算得到的平均长时激活音信号能量和平均长时 背景噪声能量的比值,计算得到长时信噪比lt_snr;

平均长时激活音信号能量Efg和平均长时背景噪声能量Ebg的计算和定义 见步骤307。长时信噪比lt_snr计算方程如下:

该式中,长时信噪比lt_snr是采用对数表示的。

步骤302:计算最近若干个帧的全带信噪比SNR2的平均值,得到平均 全带信噪比SNR2_lt_ave;

计算方程如下:

SNR2_lt_ave=1F_numΣn=0F_numSNR2(n)

SNR2(n)表示当前帧往前第n帧的全带信噪比SNR2的值,F_num为计算 平均值的总帧数,其取值范围为[8,64]。

步骤303:根据谱重心特征参数、长时信噪比lt_snr、前面连续激活音帧 个数continuous_speech_num和前面连续噪声帧个数continuous_noise_num得 到VAD判决的信噪比门限snr_thr;

具体实现步骤如下:

首先,设置信噪比门限snr_thr的初始值,范围为[0.1,2],优选地为1.06。

其次,根据谱重心特征参数首次调整信噪比门限snr_thr的值。其步骤如 下:如果谱重心特征参数sp_center[2]的值大于一个设定的门限值 spc_vad_dec_thr1,则snr_thr加上一个偏置值,优先的改偏置值取0.05;否则, 如果sp_center[1]大于spc_vad_dec_thr2,则snr_thr加上一个偏置值,优先的改偏 置值取0.10;否则,snr_thr加上一个偏置值,优先的改偏置值取0.40;其中, 门限值spc_vad_dec_thr1和spc_vad_dec_thr2取值范围为[1.2,2.5]

再次,根据前面连续激活音帧个数continuous_speech_num、前面连续噪 声帧个数continuous_noise_num、平均全带信噪比SNR2_lt_ave和长时信噪比 lt_snr二次调整snr_thr的值。如果前面连续语音个数continuous_speech_num 大于一个设定的门限值cpn_vad_dec_thr1,则snr_thr减去0.2;否则,如果前面 连续噪声个数continuous_noise_num大于一个设定的门限值cpn_vad_dec_thr2, 并且SNR2_lt_ave大于一个偏置值加上长时信噪比lt_snr乘以系数 lt_tsnr_scale,则snr_thr加上一个偏置值,优先的改偏置值取0.1;否则,如 果continuous_noise_num大于一个设定的门限值cpn_vad_dec_thr3,则snr_thr 加上一个偏置值,优先的改偏置值取0.2;否则,如果continuous_noise_num 大于一个设定的门限值cpn_vad_dec_thr4,则snr_thr加上一个偏置值,优先的 改偏置值取0.1。其中,门限值cpn_vad_dec_thr1,cpn_vad_dec_thr2,cpn_vad_dec_thr3, cpn_vad_dec_thr4取值范围为[2,500],系数lt_tsnr_scale取值范围为[0,2]。 跳过本步骤,直接进入最后一步,也可实现本发明。

最后,根据长时信噪比lt_snr的值再对信噪比门限snr_thr进行最终调整, 得到当前帧的信噪比门限snr_thr。

修正方程如下:

snr_thr=snr_thr+(lt_tsnr-thr_offset)·thr_scale;

其中,thr_offset为一个偏置值,其取值范围为[0.5,3];thr_scale为一个增 益系数,其取值范围为[0.1,1]。

步骤304:根据VAD的判决门限snr_thr和当前帧计算得到的信噪比参 数SNR1、SNR2计算得到初始的VAD判决;

计算过程如下:

如果SNR1大于判决门限snr_thr,则判断当前帧为激活音帧,用VAD标 志vad_flag的值来指示当前帧是否为激活音帧,本实施例中用值1表示当前 帧为激活音帧,0表示当前帧为非激活音帧。否则,判断当前帧为非激活音 帧,VAD标志Vad_flag的值置0。

如果SNR2大于一个设定的门限值snr2_thr,则判断当前帧为激活音帧, VAD标志vad_flag的值置1。其中,snr2_thr的取值范围为[1.2,5.0]

步骤305:根据调性标志、平均全带信噪比SNR2_lt_ave、谱重心和长时 信噪比lt_snr对VAD的判决结果进行修正;

具体步骤如下:

如果调性标志指示当前帧为调性信号,即tonality_flag为1,则判断当 前帧是激活音信号,vad_flag标志置1。

如果平均全带信噪比SNR2_lt_ave大于一个设定的门限 SNR2_lt_ave_t_thr1加上长时信噪比lt_snr乘于系数lt_tsnr_tscale,则判断当 前帧为激活音帧,vad_flag标志置1。

其中,本实施例SNR2_lt_ave_thr1的取值范围为[1,4],lt_tsnr_tscale的 取值范围为[0.1,0.6]。

如果平均全带信噪比SNR2_lt_ave大于一个设定的门限 SNR2_lt_ave_t_thr2,并且谱重心特征参数sp_center[2]大于一个设定的门限 sp_center_t_thr1和长时信噪比lt_snr小于一个设定的门限lt_tsnr_t_thr1,则 判断当前帧为激活音帧,vad_f1ag标志置1。其中,SNR2_lt_ave_t_thr2的取 值范围为[1.0,2.5],sp_center_t_thr1的取值范围为[2.0,4.0],lt_tsnr_t_thr1 的取值范围为[2.5,5.0]。

如果SNR2_lt_ave大于一个设定的门限SNR2_lt_ave_t_thr3,并且谱重心 特征参数sp_center[2]大于一个设定的门限sp_center_t_thr2和长时信噪比 lt_snr小于一个设定的门限lt_tsnr_t_thr2,则判断当前帧为激活音帧, vad_flag标志置1。其中,SNR2_lt_ave_t_thr3的取值范围为[0.8,2.0], sp_center_t_thr2的取值范围为[2.0,4.0],lt_tsnr_t_thr2的取值范围为[2.5, 5.0]。

如果SNR2_lt_ave大于一个设定的门限SNR2_lt_ave_t_thr4,并且谱重心 特征参数sp_center[2]大于一个设定的门限sp_center_t_thr3和长时信噪比 lt_snr小于一个设定的门限lt_tsnr_t_thr3,则判断当前帧为激活音帧, vad_flag标志置1。其中,SNR2_lt_ave_t_thr4的取值范围为[0.6,2.0], sp_center_t_thr3的取值范围为[3.0,6.0],lt_tsnr_t_thr3的取值范围为[2.5, 5.0]。

步骤306:根据前面若干帧的判决结果、长时信噪比lt_snr、平均全带信 噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的VAD判决结果,修正激 活音保持帧数;

具体计算步骤如下:

当前激活音保持帧数修正的前提条件是激活音标志指示当前帧为激活音 帧,若不符合该条件,不修正当前激活音保持帧数num_speech_hangover的值, 直接进入步骤307。

激活音保持帧数修正步骤如下:

如果前面连续语音帧数continuous_speech_num小于一个设定的门限值 continuous_speech_num_thr1,并且lt_tsnr小于一个设定的门限值 lt_tsnr_h_thr1,则当前激活音保持帧数num_speech_hangover等于最小连续激 活音帧数减去前面连续语音帧数continuous_speech_num。否则,如果 SNR2_lt_ave大于一个设定的门限值SNR2_lt_ave_thr1,并且前面连续语音帧 个数continuous_speech_num大于一个设定的门限值 continuous_speech_num_thr2,则根据长时信噪比lt_tsnr的大小设置激活音 保持帧数num_speech_hangover的值。否则,不修正当前激活音保持帧数 num_speech_hangover的值。其中本实施例中最小连续激活音帧数取值为8, 其可以在[6,20]之间取值。

具体步骤如下:

如果长时信噪比lt_snr大于2.6,则num_speech_hangover的值为3;否则, 如果长时信噪比lt_snr大于1.6,则num_speech_hangover的值为4;否则, num_speech_hangover的值为5。

步骤307:根据当前帧的判决结果和激活音保持帧数num_speech_hangover 添加激活音保持,得到当前帧的VAD判决结果。

其方法为:

如果当前帧被判断为非激活音,即激活音标志为0,并且激活音保持帧 数num_speech_hangover大于0,添加激活音保持,即设置激活音标志为1,, 并且将num_speech_hangover的值减1。

得到当前帧的最终的VAD判决结果。

优选地,步骤304之后,还包括根据VAD初始判决结果,计算平均长 时激活音信号能量Efg;步骤307之后,还包括,根据VAD判决结果计算平 均长时背景噪声能量Ebg,计算值用于下一帧VAD判决。

平均长时激活音信号能量Efg具体计算过程如下:

a),如果VAD初始判决结果指示当前帧为激活音帧,即VAD标志的值 为1,并且Et1大于Ebg的若干倍,本实施例取6倍,则更新平均长时激活音能 量累加值fg_energy和平均长时激活音能量累加帧数fg_energy_count。更新 方法为fg_energy加上Et1得到新的fg_energy。fg_energy_count加1得到新的 fg_energy_count。

b),为了保证平均长时激活音信号能量能反映最新的激活音信号能量, 如果平均长时激活音能量累加帧数值等于某一个设定值fg_max_frame_num, 则累加帧数和累加值同时乘上一个衰减系数attenu_coef1。本实施例中 fg_max_frame_num取值512,attenu_coef1取值为0.75。

c),由平均长时激活音能量累加值fg_energy除以平均长时激活音能量 累加帧数得到平均长时激活音信号能量,计算方程式如下:

Efg=fg_energyfg_energy_count

平均长时背景噪声能量Ebg的计算方法为:

假设bg_energy_count为背景噪声能量累加帧数,用于记录最近背景噪声 能量的累加值包含了多少帧的能量。bg_energy为最近背景噪声能量的累加 值。

a),如果当前帧判断为非激活音帧,则VAD标志的值为0,并且SNR2小 于1.0,则更新背景噪声能量累加值bg_energy和背景噪声能量累加帧数 bg_energy_count。更新方法为背景噪声能量累加值bg_energy加上Et1得到新 的背景噪声能量累加值bg_energy。背景噪声能量累加帧数bg_energy_count 加1得到新的背景噪声能量累加帧数bg_energy_count。

b),如果背景噪声能量累加帧数bg_energy_count为等于平均长时背景噪 声能量计算的最大计数帧数,则累加帧数和累加值同时乘上衰减系数 attenu_coef2。其中,本实施例平均长时背景噪声能量计算的最大计数帧数为 512,衰减系数attenu_coef2等于0.75。

c),由背景噪声能量累加值bg_energy除于背景噪声能量累加帧数得到 平均长时背景噪声能量计算方程式如下:

Ebg=bg_energybg_energy_count

为了实现上述激活音检测方法实施例1和2,本发明还提供了一种激活 音检测(VAD)装置实施例1,如图4所示,该装置包括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数获取单元,用于根据子带信号计算得到当前帧的帧能量参数和 谱重心特征参数的值;

信噪比计算单元,用于根据前一帧估计得到的背景噪声能量、当前帧的 帧能量参数及信噪比子带能量计算得到当前帧的信噪比参数;

VAD判决单元,用于根据调性标志、信噪比参数、谱重心特征参数、帧 能量参数计算得到VAD判决结果。

对应于方法实施例2,所述特征参数获取单元,还用于根据子带信号计 算得到时域稳定度特征参数的值,用于根据频谱幅值计算得到谱平坦度特征 参数和调性特征参数的值;;

各特征参数可采用现有方法获得,也可采用以下方法获得:

所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;

所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权 累加值的比值,或该比值进行平滑滤波得到的值;

所述时域稳定度特征参数是幅值叠加值的方差和幅值叠加值平方的期望 的比值,或该比值乘上一个系数;

所述谱平坦度特征参数是某些频谱幅值的几何平均数和算术平均数的比 值,或该比值乘上一个系数;

调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得 到,或继续对该相关值进行平滑滤波得到。

如图5所示,本发明激活音检测(VAD)装置实施例2,与实施例1不 同的是,所述装置还包括标志计算单元和背景噪声能量处理单元,其中:

标志计算单元,用于根据当前帧帧能量参数、谱重心特征参数、时域稳 定度特征参数、谱平坦度特征参数、调性特征参数计算得到当前帧的调性标 志:

背景噪声能量处理单元,其包括:

标识计算模块,用于根据当前帧帧能量参数、谱重心特征参数、时域稳 定度特征参数、谱平坦度特征参数、调性特征参数计算得到当前帧的初始背 景噪声标识;

标识修正模块,用于根据当前帧VAD的判决结果、调性特征参数、信 噪比参数、调性标志、时域稳定度特征参数对初始背景噪声标识进行修正;

背景噪声能量获取模块,用于根据背景噪声标识的修正值和当前帧的帧 能量参数、前一帧的全带背景噪声能量,得到当前帧的背景噪声能量,所述 当前帧的背景噪声能量用于下一帧信噪比参数计算。

对应于方法实施例1和2,如图6所示,所述VAD判决单元包括:

长时信噪比计算模块,用于通过前一帧计算得到的平均长时激活音信

号能量和平均长时背景噪声能量的比值,计算得到长时信噪比lt_snr;

平均全带信噪比计算模块,用于计算最近若干个帧的全带信噪比SNR2 的平均值,得到平均全带信噪比SNR2_lt_ave;

信噪比门限计算模块,用于根据谱重心特征参数、长时信噪比lt_snr、 前面连续激活音帧个数continuous_speech_num和前面连续噪声帧个数 continuous_noise_num得到VAD判决的信噪比门限snr_thr;

初始VAD判决模块,用于根据VAD的判决门限snr_thr和当前帧计算 得到的信噪比参数SNR1、SNR2计算得到初始的VAD判决;

VAD结果修正模块,根据调性标志、平均全带信噪比SNR2_lt_ave、谱 重心和长时信噪比lt_snr对VAD的判决结果进行修正;

激活音保持帧修正模块,用于根据前面若干帧的判决结果、长时信噪比 lt_snr、平均全带信噪比SNR2_lt_ave、当前帧的信噪比和当前帧的VAD判 决结果,修正得到激活音保持帧数;

VAD判决模块,用于根据当前帧的判决结果和激活音保持帧数 num_speech_hangover添加激活音保持,得到当前帧的VAD判决结果。

更优选地,所述VAD判决单元还包括:能量计算模块,用于根据 VAD初始判决结果,计算平均长时激活音信号能量Efg;以及根据VAD判决 结果进行平均长时背景噪声能量Ebg更新,更新后的值用于下一帧VAD判决。

本发明还提供了一种背景噪声检测方法实施例,如图7所示,该方法包 括:

步骤701:获得当前帧的子带信号及频谱幅值;

步骤702:根据子带信号计算得到的帧能量参数、谱重心特征参数、时 域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特 征参数的值;

优选地,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加 值。

所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权 累加值的比值,或该比值进行平滑滤波得到的值。

所述时域稳定度参数是帧能量幅值的方差和幅值叠加值平方的期望的比 值,或该比值乘上一个系数。

所述谱平坦度参数是某些频谱幅值的几何平均数和算术平均数的比值, 或该比值乘上一个系数。

具体地,步骤701和步骤702可采用与上文相同的方法,在此不再赘述。

步骤703:根据谱重心特征参数、时域稳定度特征参数、谱平坦度特征 参数、调性特征参数、当前帧能量参数进行背景噪声检测,判断当前帧是否 为背景噪声。

优选地,判断以下任一条件成立,则判断当前帧不是噪声信号:

所述时域稳定度参数lt_stable_rate0大于一个设定的门限值;

第一区间谱重心特征参数值的平滑滤波值大于一个设定的门限值,且时 域稳定度特征参数值也大于某一个设定的门限值;

调性特征参数或其平滑滤波后的值大于一个设定的门限值,且时域稳定 度特征参数lt_stable_rate0值大于其设定的门限值;

各子带的谱平坦度特征参数或各自平滑滤波后的值均小于各自对应的设 定的门限值;

或,判断帧能量参数Et1的的值大于设定的门限值E_thr1。

具体地,假设当前帧为背景噪声。

本实施例通过一个背景噪声标识background_flag来指示当前帧是否是 背景噪声,并约定如果判断当前帧为背景噪声,则设置背景噪声标识 background_flag为1,否则设置背景噪声标识background_flag为0。

根据时域稳定度特征参数、谱重心特征参数、谱平坦度特征参数、调性 特征参数、当前帧能量参数检测当前帧是否为噪声信号。如果不是噪声信号, 则将背景噪声标识background_flag置0。

具体过程如下:

判断时域稳定度参数lt_stable_rate0是否大于一个设定的门限值 lt_stable_rate_thr1。如果是,则判断当前帧不是噪声信号,并将 background_flag置0。本实施例门限值lt_stable_rate_thr1取值范围为[0.8, 1.6];

判断平滑谱重心特征参数值是否大于一个设定的门限值sp_center_thr1, 并且时域稳定度特征参数值也大于某一个设定的门限值lt_stable_rate_thr2。如 果是,则判断当前帧不是噪声信号,并将background_flag置0。sp_center_thr1 的取值范围为[1.6,4];1t_stable_rate_thr2的取值范围为(0,0.1]。

判断调性特征参数tonality_rate2的值是否大于一个设定的门限值 tonality_rate_thr1,时域稳定度特征参数lt_stable_rate0值是否大于设定的门限值 lt_stable_rate_thr3,如果上述条件同时成立,则判断当前帧不是背景噪声, background_flag赋值为0。门限值tonality_rate_thr1取值范围在[0.4,0.66]。 门限值lt_stable_rate_thr3的取值范围为[0.06,0.3]。

判断谱平坦度特征参数sSMR[0]的值是否小于设定的门限值sSMR_thr1, 判断谱平坦度特征参数sSMR[1]的值是否小于设定的门限值sSMR_thr2,判断谱 平坦度特征参数sSMR[2]的值是否小于设定的sSMR_thr3。如果上述条件同时 成立,则判断当前帧不是背景噪声。background_flag赋值为0。门限值 sSMR_thr1、sSMR_thr2、sSMR_thr3的取值范围为[0.88,0.98]。判断平坦度特 征参数sSMR[0]的值是否小于设定的门限值sSMR_thr4,判断谱平坦度特征参 数sSMR[1]的值是否小于设定的门限值sSMR_thr5,判断谱平坦度特征参数 sSMR[1]的值是否小于设定的门限值sSMR_thr6。如果上述任一条件成立,则判 断当前帧不是背景噪声。background_flag赋值为0。sSMR_thr4、sSMR_thr5、 sSMR_thr6的取值范围为[0.80,0.92]

判断帧能量参数Et1的值是否大于设定的门限值E_thr1,如果上述条件成 立,则判断当前帧不是背景噪声。background_flag赋值为0。E_thr1根据帧 能量参数的动态范围进行取值。

如果当前帧未被检测不是背景噪声,则表示当前帧为背景噪声。

对应于上述方法,本发明还提供了一种背景噪声检测装置,如图8所示, 该装置包括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数计算单元,用于根据子带信号计算得到的帧能量参数、谱重心 特征参数、时域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征 参数和调性特征参数的值;

优选地,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加 值。

所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权 累加值的比值,或该比值进行平滑滤波得到的值。

所述时域稳定度参数是帧能量幅值的方差和幅值叠加值平方的期望的比 值,或该比值乘上一个系数。

所述谱平坦度参数是某些频谱幅值的几何平均数和算术平均数的比值, 或该比值乘上一个系数。

背景噪声判断单元,用于根据谱重心特征参数、时域稳定度特征参数、 谱平坦度特征参数、调性特征参数、当前帧能量参数进行背景噪声检测,判 断当前帧是否为背景噪声。

优选地,所述背景噪声判断单元判断以下任一条件成立,则判断当前帧 不是噪声信号:

所述时域稳定度参数lt_stable_rate0大于一个设定的门限值;

第一区间谱重心特征参数值的平滑滤波值大于一个设定的门限值,且时 域稳定度特征参数值也大于某一个设定的门限值;

调性特征参数或其平滑滤波后的值大于一个设定的门限值,且时域稳定 度特征参数lt_stable_rate0值大于其设定的门限值;

各子带的谱平坦度特征参数或各自平滑滤波后的值均小于各自对应的设 定的门限值;

或,判断帧能量参数Et1的的值大于设定的门限值E_thr1。

本发明还提供了一种调性信号检测方法,如图9所示,方法包括:

步骤901:获得当前帧的子带信号及频谱幅值;

步骤902:根据子带信号计算得到当前帧的谱重心特征参数、时域稳定 度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特征参数 的值;

优选地,所述谱重心特征参数是所有或部分子带信号能量的加权累加值 和未加权累加值的比值,或该比值进行平滑滤波得到的值;所述时域稳定度 特征参数是幅值叠加值的方差和幅值叠加值平方的期望的比值,或该比值乘 上一个系数;

所述谱平坦度特征参数是某些频谱幅值的几何平均数和算术平均数的比 值,或该比值乘上一个系数;

调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得 到,或继续对该相关值进行平滑滤波得到。

步骤903:根据调性特征参数、时域稳定度特征参数、谱平坦度特征参 数、谱重心特征参数判断当前帧是否为调性信号。

步骤903判断是否为调性信号时,执行以下操作:

A)假设当前帧信号为非调性信号,并用一个调性帧标志tonality_frame 来指示当前帧是否为调性帧。

本实施例中tonality_frame的值为1表示当前帧为调性帧,0表示当前帧 为非调性帧;

B)判断调性特征参数tonality_ratel或其平滑滤波后tonality_rate2的值是否 大于对应的设定的门限值tonality_decision_thr1或tonality_decision_thr2,如果上 述条件有一个成立则执行步骤C),否则执行步骤D);

其中,tonality_decision_thr1的取值范围为[0.5,0.7],tonality_ratel的取 值范围为[0.7,0.99]。

C如果时域稳定度特征参数值lt_stable_rate0小于一个设定的门限值 lt_stable_decision_thr1;谱重心特征参数值sp_center[1]大于一个设定的门限值 spc_decision_thr1,且各子带的谱平坦度特征参数均小于各自对应的预设的门 限值,具体地,谱平坦度特征参数sSMR[0]小于一个设定的门限值 sSMF_decision_thr1或sSMR[1]小于一个设定的门限值sSMF_decision_thr2或 sSMR[2]小于一个设定的门限值sSMF_decision_thr3;则判断当前帧为调性帧, 设置调性帧标志tonality_frame的值为1,否则判断为非调性帧,设置调性帧 标志tonality_frame的值为0。并继续执行步骤D。

其中,门限值lt_stable_decision_thr1的取值范围为[0.01,0.25], spc_decision_thr1为[1.0,1.8],sSMF_decision_thr1为[0.6,0.9], sSMF_decision_thr2[0.6,0.9],sSMF_decision_thr3[0.7,0.98]。

D)根据调性帧标志tonality_frame对调性程度特征参数tonality_degree进 行更新,其中调性程度参数tonality_degree初始值在激活音检测装置开始工作 时进行设置,取值范围为[0,1]。不同的情况下,调性程度特征参数 tonality_degree计算方法不同:

如果当前的调性帧标志指示当前帧为调性帧,则采用以下方程式对调性 程度特征参数tonality_degree进行更新:

tonality_degree=tonality_degree-1·td_scale_A+td_scale_B;

其中,tonality_degree-1为前一帧的调性程度特征参数。其初始值取值范 围为[0,1]。td_scale_A为衰减系数,其取值范围为[0,1];td_scale_B为累加系数, 其取值范围为[0,1]。

E)根据更新后的调性程度特征参数tonality_degree判断当前帧是否为调性 信号,并设置调性标志tonality_flag的值。

具体地,若调性程度特征参数tonality_degree大于某个设定的门限值,则 判断当前帧为调性信号,否则,判断当前帧为非调性信号。

对应于前述调性信号检测方法,本发明还提供了一种调性信号检测装置, 如图10所示,该检测装置包括:

滤波器组,用于获得当前帧的子带信号;

频谱幅值计算单元,用于获得当前帧的频谱幅值;

特征参数计算单元,用于根据子带信号计算得到当前的谱重心特征参数、 时域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性 特征参数的值;

如前所述,所述谱重心特征参数是所有或部分子带信号能量的加权累加 值和未加权累加值的比值,或该比值进行平滑滤波得到的值;

所述时域稳定度特征参数是幅值叠加值的方差和幅值叠加值平方的期望 的比值,或该比值乘上一个系数;

所述谱平坦度特征参数是某些频谱幅值的几何平均数和算术平均数的比 值,或该比值乘上一个系数;

调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得 到,或继续对该相关值进行平滑滤波得到。

调性信号判断单元,用于根据调性特征参数、时域稳定度特征参数、谱 平坦度特征参数、谱重心特征参数判断当前帧是否为调性信号。

如图11所示,所述调性信号判断单元包括:

调性信号初始化模块,用于设定当前帧信号为非调性信号,并用一个调 性帧标志tonality_frame来指示当前帧是否为调性帧;

调性特征参数判断模块,用于判断调性特征参数tonality_rate1或其平滑滤 波后tonality_rate2的值是否大于对应的设定的门限值;

调性信号判断模块,用于在所述调性特征参数判断模块判断为是时,如 果时域稳定度特征参数值小于一个设定的门限值;谱重心特征参数值大于一 个设定的门限值,且各子带的谱平坦度特征参数均小于各自对应的预设的门 限值;判断当前帧为调性帧;在根据计算得到的调性程度特征参数 tonality_degree判断当前帧是否为调性信号,并在所述调性特征参数判断模块 判断为否时,用于根据更新后的调性程度特征参数tonality_degree判断当前帧 是否为调性信号,并设置调性标志tonality_flag的值;

调性程度参数更新模块,用于在调性特征参数tonality_rate1或其平滑滤波 后tonality_rate2的值均小于对应的设定的门限值时,根据调性帧标志对调性程 度特征参数tonality_degree进行更新,其中调性程度参数tonality_degree初始值在 激活音检测装置开始工作时进行设置。

具体地,如果当前的调性帧标志指示当前帧为调性帧,则调性程度参数 更新模块采用以下方程式对调性程度特征参数tonality_degree进行更新:

tonality_degree=tonality_degree-1·td scale_A+td_scale_B;

其中,tonality_degree-1为前一帧的调性程度特征参数。其初始值取值范围 为[0,1]。td_scale_A为衰减系数,其取值范围为[0,1];td_scale_B为累加系数, 其取值范围为[0,1]。

若调性程度特征参数tonality_degree大于某个设定的门限值,则所述调性 信号判断模块判断当前帧为调性信号,否则,判断当前帧为非调性信号。

具体地,如果调性程度特征参数tonality_degree大于该门限值0.5,则判断 当前帧为调性信号,设置调性标志tonality_flag的值为1;否则,判断当前 帧为非调性信号,设置该值为0。调性信号判决的门限值取值区间为[0.3, 0.7]。

本发明还提供了一种VAD判决中激活音保持帧数的修正方法,如图12 所示,该方法包括:

步骤1201:根据子带信号计算得到长时信噪比lt_snr;

具体地,通过前一帧计算得到的平均长时激活音信号能量和平均长时背 景噪声能量的比值,计算得到长时信噪比lt_snr;长时信噪比lt_snr可采用对 数表示。

步骤1202:计算平均全带信噪比SNR2_lt_ave;

计算最近若干个帧的全带信噪比SNR2的平均值,得到平均全带信噪比 SNR2_lt_ave;

步骤1203:根据前面若干帧的判决结果、长时信噪比lt_snr、平均全带 信噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的VAD判决结果,对当 前激活音保持帧数进行修正。

可理解地,当前激活音保持帧数修正的前提条件是激活音标志指示当前 帧为激活音帧。

优选地,对当前激活音保持帧数进行修正时,如果前面连续语音帧数小 于一个设定的门限值1,并且长时信噪比lt_snr小于一个设定的门限值2,则 当前激活音保持帧数等于最小连续激活音帧数减去前面连续语音帧数;否则, 如果平均全带信噪比SNR2_lt_ave大于一个设定的门限值3,并且前面连续语 音帧个数大于一个设定的门限值4,则根据长时信噪比的大小设置激活音保 持帧数的值,否则不修正当前激活音保持帧数num_speech_hangover的值。

对应于前述激活音保持帧数的修正方法,本发明还提供了一种VAD判 决中激活音保持帧数的修正装置,如图13所示,该修正装置包括:

长时信噪比计算单元,用于计算长时信噪比lt_snr;

具体地,长时信噪比计算单元通过前一帧计算得到的平均长时激活音信 号能量和平均长时背景噪声能量的比值,计算得到长时信噪比lt_snr;

平均全带信噪比计算单元,用于计算平均全带信噪比SNR2_lt_ave;

具体地,所述平均全带信噪比计算单元计算最近若干个帧的全带信噪比 SNR2的平均值,得到平均全带信噪比SNR2_lt_ave。

激活音保持帧数修正单元,用于根据前面若干帧的判决结果、长时信噪 比lt_snr、平均全带信噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的 VAD判决结果,对当前激活音保持帧数进行修正。

如上文所述,当前激活音保持帧数修正的前提条件是激活音标志指示 当前帧为激活音帧。

优选地,激活音保持帧数修正单元,对当前激活音保持帧数进行修正时, 如果前面连续语音帧数小于一个设定的门限值1,并且长时信噪比lt_snr小于 一个设定的门限值2,则当前激活音保持帧数等于最小连续激活音帧数减去 前面连续语音帧数,否则,如果平均全带信噪比SNR2_lt_ave大于一个设定的 门限值3,并且前面连续语音帧个数大于一个设定的门限值4,则根据长时信 噪比的大小设置激活音保持帧数的值,否则不修正当前激活音保持帧数 nun_speech_hangover的值。

本发明还提供了一种VAD判决中信噪比门限的调整方法,如图14所示, 该调整方法包括:

步骤1401:根据子带信号计算得到当前帧的谱重心特征参数;

具体地,所述谱重心特征参数是所有或部分子带信号能量的加权累加值 和未加权累加值的比值,或该比值进行平滑滤波得到的值。

步骤1402:通过前一帧计算得到的平均长时激活音信号能量和平均长时 背景噪声能量的比值,计算得到长时信噪比lt_snr;

步骤1403:根据谱重心特征参数、长时信噪比、前面连续激活音帧个数 和前面连续噪声帧个数continuous_noise_num调整VAD判决的信噪比门限。

具体地,如图15所示,调整信噪比门限的步骤包括:

步骤1501:设置信噪比门限snr_thr的初始值;

步骤1502:根据谱重心参数首次调整信噪比门限snr_thr的值;

步骤1503:根据前面连续激活音帧个数continuous_speech_num、前面连 续噪声帧个数continuous_noise_num、平均全带信噪比SNR2_lt_ave和长时信 噪比lt_snr二次调整信噪比门限snr_thr的值;

步骤1504:根据长时信噪比lt_snr的值再对信噪比门限snr_thr进行最终 修正,得到当前帧的信噪比门限snr_thr。

对应于前述信噪比门限的调整方法,本发明还提供了一种VAD判决中 信噪比门限的调整装置,如图16所示,该调整装置包括:

特征参数获取单元,用于根据子带信号计算得到当前帧的谱重心特征参 数;

优选地,所述谱重心特征参数是所有或部分子带信号能量的加权累加值 和未加权累加值的比值,或该比值进行平滑滤波得到的值。

长时信噪比计算单元,用于通过前一帧计算得到的平均长时激活音信号 能量和平均长时背景噪声能量的比值,计算得到长时信噪比lt_snr;

信噪比门限调整单元,用于根据谱重心特征参数、长时信噪比、前面连 续激活音帧个数和前面连续噪声帧个数continuous_noise_num调整VAD判决 的信噪比门限。

具体地,所述信噪比门限调整单元调整信噪比门限时,设置信噪比门限 snr_thr的初始值;根据谱重心参数首次调整信噪比门限snr_thr的值;根据前 面连续激活音帧个数continuous_speech_num、前面连续噪声帧个数 continuous_noise_num、平均全带信噪比SNR2_lt_ave和长时信噪比lt_snr二次 调整snr_thr的值;最后,根据长时信噪比lt_snr的值再对信噪比门限snr_thr 进行最终调整,得到当前帧的信噪比门限snr_thr。

现代的很多语音编码标准,如AMR,AMR-WB,都支持VAD功能。在 效率方面,这些编码器的VAD并不能在所有的典型背景噪声下都达到很好 的性能。特别是在非稳定噪声下,如office噪声,这些编码器的VAD效率都 较低。而对于音乐信号,这些VAD有时候会出现错误检测,导致相应的处 理算法出现明显的质量下降。

本发明的方法克服了既有VAD算法的缺点,在提高VAD对不稳定噪声 检测效率的同时也提高音乐检测的准确率。使得采用本VAD的语音频信号 处理算法可以得到更好的性能。

本发明提供的背景噪声检测方法,可使得背景噪声的估计更加准确和稳定, 有利于提高VAD检测的准确率。本发明同时提供的调性信号检测方法,提 高了调性音乐检测的准确率。本发明同时提供的激活音保持帧数的修正方法, 可使得在不同的噪声和信噪比下,VAD算法可以在性能和效率得到更好的平 衡。本发明同时提供的VAD判决中信噪比门限的调整方法,可使得VAD判 决算法在不同的信噪比下都可以达到较好的准确率,在保证质量的情况下, 进一步的提升效率。

本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序 来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读 存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用 一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用 硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任 何特定形式的硬件和软件的结合。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号