一种激活音修正帧数的获取方法、激活音检测方法和装置与流程

文档序号:12609393阅读:194来源:国知局
本发明涉及通信领域,尤其涉及一种激活音修正帧数的获取方法、激活音检测方法和装置。
背景技术
:正常的语音通话中,用户有时在说话,有时在听,这个时候就会在通话过程出现非激活音阶段,正常情况下通话双方总的非语音激活阶段要超过通话双方总的语音编码时长的50%。在非激活音阶段,只有背景噪声,背景噪声通常没有任何有用信息。利用这一事实,在语音频信号处理过程中,通过激活音检测(VoiceActivityDetection,简称VAD)算法检测出于激活音和非激活音,并采用不同的方法分别进行处理。现代的很多语音编码标准,如自适应多速率(AdaptiveMulti-Rate,AMR),自适应多速率宽带(AdaptiveMulti-RateWideband,简称AMR-WB),都支持VAD功能。在效率方面,这些编码器的VAD并不能在所有的典型背景噪声下都达到很好的性能。特别是在非稳定噪声下,这些编码器的VAD效率都较低。而对于音乐信号,这些VAD有时候会出现错误检测,导致相应的处理算法出现明显的质量下降。技术实现要素:本发明实施例提供了一种激活音修正帧数的获取方法、激活音检测方法和装置,以解决激活音检测(VAD)的准确率低的问题。为解决上述技术问题,本发明实施例提供了一种激活音修正帧数的获取方法,所述方法包括:获得当前帧的激活音检测判决结果;获得激活音保持帧数;获得背景噪声更新次数;根据所述当前帧的激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数获取激活音修正帧数。进一步的,所述获得当前帧的激活音检测判决结果包括:获得所述当前帧的子带信号及频谱幅值;根据所述子带信号计算得到所述当前帧的帧能量参数、谱重心特征参数和时域稳定度特征参数;根据所述频谱幅值计算得到谱平坦度特征参数和调性特征参数;根据利用所述当前帧的前一帧得到的背景噪声能量、所述帧能量参数及信噪比子带能量计算得到所述当前帧的信噪比参数;根据所述帧能量参数、所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数计算得到所述当前帧的调性标志;根据所述调性标志、所述信噪比参数、所述谱重心特征参数、所述帧能量参数计算得到所述激活音检测判决结果。进一步的,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权累加值的比值,或是将所述比值进行平滑滤波得到的值;所述时域稳定度特征参数是幅值叠加值的方差和幅值叠加值平方的期望的比值,或该比值乘上一个系数;所述谱平坦度特征参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数;调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得到,或继续对该相关值进行平滑滤波得到。进一步的,所述根据所述调性标志、所述信噪比参数、所述谱重心特征参数、所述帧能量参数计算得到所述激活音检测判决结果包括:通过所述当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到长时信噪比;计算距离所述当前帧最近的若干帧的全带信噪比的平均值,得到平均全带信噪比;根据所述谱重心特征参数、所述长时信噪比、连续激活音帧个数和连续噪声帧个数得到激活音检测判决的判决信噪比门限;根据所述激活音检测的判决门限和所述信噪比参数计算得到初始的激活音检测判决结果;根据所述调性标志、所述平均全带信噪比、所述谱重心特征参数和所述长时信噪比对所述初始的激活音检测判决结果进行修正,得到所述激活音检测判决结果。进一步的,所述根据所述当前帧的激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数获取激活音修正帧数包括:当所述当前帧的激活音检测判决结果为激活音帧,且所述背景噪声更新次数小于预设门限值时,则所述激活音修正帧数为一个常数和所述激活音保持帧数中的最大值。进一步的,所述获得激活音保持帧数包括:设置所述激活音保持帧数的初始值。进一步的,所述获得激活音保持帧数包括:获得所述当前帧的子带信号及频谱幅值;根据所述子带信号计算得到长时信噪比和平均全带信噪比,根据所述当前帧之前的若干帧的激活音检测的判决结果、所述长时信噪比、所述平均全带信噪比、所述当前帧的激活音检测判决结果,对当前激活音保持帧数进行修正获得所述激活音保持帧数。进一步的,所述根据所述子带信号计算得到长时信噪比和平均全带信噪 比包括:通过利用所述当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到所述长时信噪比;计算距离所述当前帧最近的若干个帧的全带信噪比的平均值,得到所述平均全带信噪比。进一步的,对所述当前激活音保持帧数进行修正的前提条件是激活音标志指示所述当前帧为激活音帧。进一步的,获得所述激活音保持帧数时,如果所述连续语音帧数小于一个设定的门限值,并且所述长时信噪比小于一个设定的门限值,则所述激活音保持帧数等于最小连续激活音帧数减去所述连续语音帧数,否则,如果所述平均全带信噪比大于一个设定的门限值,并且所述连续语音帧数大于一个设定的门限值,则根据所述长时信噪比的大小设置所述激活音保持帧数的值,否则不修正所述激活音保持帧数的值。进一步的,所述获得背景噪声更新次数包括:获得背景噪声更新标识;根据所述背景噪声更新标识计算所述背景噪声更新次数。进一步的,所述根据所述背景噪声更新标识计算所述背景噪声更新次数包括:设置所述背景噪声更新次数初始值。进一步的,所述根据所述背景噪声更新标识计算所述背景噪声更新次数包括:当所述背景噪声更新标识指示所述当前帧为背景噪声,且所述背景噪声更新次数小于设定的门限值时,将所述背景噪声更新次数加1。进一步的,所述获得背景噪声更新标识包括:获得所述当前帧的子带信号及频谱幅值;根据所述子带信号计算得到帧能量参数、谱重心特征参数、时域稳定度特征参数;根据所述频谱幅值计算得到谱平坦度特征参数和调性特征参数;根据所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数、所述帧能量参数进行背景噪声检测,获得所述背景噪声更新标识。进一步的,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权累加值的比值,或是将所述比值进行平滑滤波得到的值;所述时域稳定度特征参数是帧能量幅值的方差和幅值叠加值平方的期望的比值,或该比值乘上一个系数;所述谱平坦度参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数。进一步的,所述根据所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数、所述帧能量参数进行背景噪声检测,获得所述背景噪声更新标识,具体包括:设置所述背景噪声更新标识为第一预设值;如果以下任一条件成立,则判断所述当前帧不是噪声信号,并将所述背景噪声更新标识设置为第二预设值:所述时域稳定度特征参数大于一个设定的门限值;所述谱重心特征参数值的平滑滤波值大于一个设定的门限值,且所述时域稳定度特征参数值也大于某一个设定的门限值;所述调性特征参数或所述调性特征参数平滑滤波后的值大于一个设定的门限值,且时域稳定度特征参数值大于其设定的门限值;各子带的谱平坦度特征参数或所述各子带的谱平坦度特征参数各自平滑滤波后的值均小于各自对应的设定的门限值;或,所述帧能量参数的值大于设定的门限值。本发明实施例提供了一种激活音检测方法,所述方法包括:获得第一激活音检测判决结果;获得激活音保持帧数;获得背景噪声更新次数;根据所述第一激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数计算激活音修正帧数;获得第二激活音检测判决结果;根据所述激活音修正帧数和所述第二激活音检测判决结果计算所述的激活音检测判决结果。进一步的,所述根据所述激活音修正帧数和所述第二激活音检测判决结果计算所述激活音检测判决结果包括:当所述第二激活音检测判决结果指示所述当前帧为非激活音帧,且所述激活音修正帧数大于0时,将所述激活音检测判决结果设置为激活音帧,且所述激活音修正帧数减1。进一步的,所述获得第一激活音检测判决结果包括:获得当前帧的子带信号及频谱幅值;根据所述子带信号计算得到所述当前帧的帧能量参数、谱重心特征参数和时域稳定度特征参数;根据所述频谱幅值计算得到谱平坦度特征参数和调性特征参数;根据利用所述当前帧的前一帧得到的背景噪声能量、所述帧能量参数及信噪比子带能量计算得到所述当前帧的信噪比参数;根据所述帧能量参数、所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数计算得到所述当前帧的调性标志;根据所述调性标志、所述信噪比参数、所述谱重心特征参数、所述帧能量参数计算得到所述第一激活音检测判决结果。进一步的,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠 加值;所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权累加值的比值,或是将所述比值进行平滑滤波得到的值;所述时域稳定度特征参数是幅值叠加值的方差和幅值叠加值平方的期望的比值,或该比值乘上一个系数;所述谱平坦度特征参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数;调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得到,或继续对该相关值进行平滑滤波得到。进一步的,所述根据所述调性标志、所述信噪比参数、所述谱重心特征参数、所述帧能量参数计算得到所述第一激活音检测判决结果包括:通过所述当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到长时信噪比;计算距离所述当前帧最近的若干帧的全带信噪比的平均值,得到平均全带信噪比;根据所述谱重心特征参数、所述长时信噪比、连续激活音帧个数和连续噪声帧个数得到激活音检测的判决门限;根据所述激活音检测的判决门限和所述信噪比参数计算得到初始的激活音检测判决结果;根据所述调性标志、所述平均全带信噪比、所述谱重心特征参数和所述长时信噪比对所述初始的激活音检测判决结果进行修正,得到所述第一激活音检测判决结果。进一步的,所述获得激活音保持帧数包括:设置所述激活音保持帧数的初始值。进一步的,所述获得激活音保持帧数包括:获得当前帧的子带信号及频谱幅值;根据所述子带信号计算得到长时信噪比和平均全带信噪比,根据所述当前帧之前的若干帧的激活音检测的判决结果、所述长时信噪比、所述平均全带信噪比、所述第一激活音检测判决结果,对当前激活音保持帧数进行修正。进一步的,所述根据所述子带信号计算得到长时信噪比和平均全带信噪比包括:通过利用所述当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到所述长时信噪比;计算距离所述当前帧最近的若干个帧的全带信噪比的平均值,得到所述平均全带信噪比。进一步的,对所述当前激活音保持帧数进行修正的前提条件是激活音标志指示所述当前帧为激活音帧。进一步的,获得所述激活音保持帧数时,如果连续语音帧数小于一个设定的门限值,并且所述长时信噪比小于一个设定的门限值,则所述激活音保持帧数等于最小连续激活音帧数减去所述连续语音帧数,否则,如果所述平均全带信噪比大于一个设定的门限值,并且所述连续语音帧数大于一个设定的门限值,则根据所述长时信噪比的大小设置所述激活音保持帧数的值,否则不修正所述当前激活音保持帧数的值。进一步的,所述获得背景噪声更新次数包括:获得背景噪声更新标识;根据所述背景噪声更新标识计算所述背景噪声更新次数。进一步的,所述根据所述背景噪声更新标识计算所述背景噪声更新次数包括:设置所述背景噪声更新次数初始值。进一步的,所述根据所述背景噪声更新标识计算所述背景噪声更新次数包括:当所述背景噪声更新标识指示所述当前帧为背景噪声时,且所述背景噪声更新次数小于设定的门限值时,将所述背景噪声更新次数加1。进一步的,所述获得背景噪声更新标识包括:获得当前帧的子带信号及频谱幅值;根据所述子带信号计算得到的帧能量参数、谱重心特征参数、时域稳定度特征参数的值,根据所述频谱幅值计算得到谱平坦度特征参数和调性特征参数的值;根据所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数、所述帧能量参数进行背景噪声检测,获得所述背景噪声更新标识。进一步的,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值;所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权累加值的比值,或将是所述比值进行平滑滤波得到的值;所述时域稳定度特征参数是帧能量幅值的方差和幅值叠加值平方的期望的比值,或该比值乘上一个系数;所述谱平坦度参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数。进一步的,所述根据所述谱重心特征参数、所述时域稳定度特征参数、所述谱平坦度特征参数、所述调性特征参数、所述帧能量参数进行背景噪声检测,获得所述背景噪声更新标识,具体包括:设置所述背景噪声更新标识为第一预设值;如果以下任一条件成立,则判断所述当前帧不是噪声信号,并将所述背景噪声更新标识设置为第二预设值:所述时域稳定度特征参数大于一个设定的门限值;所述谱重心特征参数值的平滑滤波值大于一个设定的门限值,且所述时域稳定度特征参数值也大于某一个设定的门限值;所述调性特征参数或所述调性特征参数平滑滤波后的值大于一个设定的门限值,且所述时域稳定度特征参数值大于其设定的门限值;各子带的谱平坦度特征参数或所述各子带的谱平坦度特征参数各自平滑滤波后的值均小于各自对应的设定的门限值;或,所述帧能量参数的值大于设定的门限值。进一步的,所述根据所述第一激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数计算激活音修正帧数包括:当所述第一激活音检测判决结果为激活音帧,且所述背景噪声更新次数小于预设门限值时,则所述激活音修正帧数为一个常数和所述激活音保持帧数中的最大值。本发明实施例提供了一种激活音修正帧数的获取装置,所述装置包括:第一获取单元,用于获得当前帧的激活音检测判决结果;第二获取单元,用于获得激活音保持帧数;第三获取单元,用于获得背景噪声更新次数;第四获取单元,用于根据所述当前帧的激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数获取激活音修正帧数。本发明实施例提供了一种激活音检测装置,所述装置包括:第一获取单元,用于获得第一激活音检测判决结果;第二获取单元,用于获得激活音保持帧数;第三获取单元,用于获得背景噪声更新次数;第一计算单元,用于根据所述第一激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数计算激活音修正帧数;第四获取单元,用于获得第二激活音检测判决结果;第二计算单元,用于根据所述激活音修正帧数和所述第二激活音检测判决结果计算所述激活音检测判决结果。本发明实施例提供一种激活音修正帧数的获取方法、激活音检测方法和装置,首先获得第一激活音检测判决结果,获得激活音保持帧数,获得背景噪声更新次数,再根据所述第一激活音检测判决结果、所述背景噪声更新次 数和所述激活音保持帧数计算激活音修正帧数,并且获得第二激活音检测判决结果,最后根据所述激活音修正帧数和所述第二激活音检测判决结果计算所述激活音检测判决结果,能够提高VAD检测的准确率。本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。本发明的目的和其他优点可通过在说明书、权利要求书以及附图中所特别指出的结构来实现和获得。附图说明附图用来提供对本发明技术方案的进一步理解,并且构成说明书的一部分,与本申请的实施例一起用于解释本发明的技术方案,并不构成对本发明技术方案的限制。图1为本发明实施例一提供的激活音检测方法的流程示意图;图2为本发明实施例一中得到VAD判决结果的过程示意图;图3为本发明实施例二提供的背景噪声检测方法的流程示意图;图4为本发明实施例三提供的VAD判决中当前激活音保持帧数的修正方法的流程示意图;图5为本发明实施例四提供的激活音修正帧数的获取方法的流程示意图;图6为本发明实施例四提供的激活音修正帧数的获取装置的结构示意图;图7为本发明实施例五提供的激活音检测方法的流程示意图;图8为本发明实施例五提供的激活音检测装置的结构示意图。具体实施方式为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申 请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。符号说明:不做特殊说明时,以下实施例中右上角标[i]表示帧序号,[0]表示当前帧,[-1]表示上一帧。如和表示当前帧和前一帧的平滑频谱。实施例一本发明提供了一种激活音检测方法,如图1所示,该方法包括:步骤101、获得当前帧的子带信号及频谱幅值。本实施例中以帧长为20ms,采样率为32kHz的音频流为例具体说明。在其它帧长和采样率条件下,本发明的方法同样适用。将当前帧时域信号输入滤波器组,进行子带滤波计算,得到滤波器组子带信号;本实施例中采用一个40通道的滤波器组,本发明对于采用其他通道数的滤波器组同样适用。假设输入的音频信号为sHP(n),LC为40,是滤波器组通道数,wc是一个窗函数,窗长为10LC,子带信号X(k,l)=XCR(l,k)+i·XCI(l,k),XCR和XCI是子带信号的实部和虚部,子带信号计算方法如下:XCR(l,k)=80Lc·Σn=0n=10LC-wC(10Lc-n)·sHP(10Lc-n+l·LC)cos[πLC(n+12+LC2)(k+12)]]]>XCI(l,k)=80Lc·Σn=0n=10LC-wC(10Lc-n)·sHP(10Lc-n+l·LC)sin[πLC(n+12+LC2)(k+12)]]]>l子带时间索引0≤l≤15,k子带索引0≤k≤LC。对滤波器组子带信号进行时频变换,并计算得到频谱幅值。其中对全部滤波器组子带或部分滤波器组子带进行时频变换,计算频谱幅值,都可以实现本发明实施例。本发明的所述时频变换方法可以是离散傅里叶变换(DiscreteFourierTransform,简称DFT)、快速傅里叶变换(Fast FourierTransformation,简称FFT)、离散余弦变换(DiscreteCosineTransform,简称DCT)或离散正弦变换(DiscreteSineTransform,简称DST)。本实施例采用DFT为例,说明其具体实现方法。计算过程如下:对索引为0到9的每个滤波器组子带上的16个时间样点数据进行16点的DFT变换,进一步提高频谱分辨率,并计算各个频点的幅值,得到频谱幅值Asp。时频变换计算方程式如下:XDFT[k,j]=Σl=015X[k,l]e-2πj16l;0≤k<10,0≤j<16]]>计算各个频点的幅值过程如下:首先,计算数组XDFT[k,j]在各个点上的能量,计算方程式如下:XDFT_POW[k,j]=((Re(XDFT[k,j]))2+(Im(XDFT[k,j]))2);0≤k<10,0≤j<16其中Re,Im分别表示取频谱系数XDFT_POW[k,j]的实部和虚部。如果k为偶数,则采用以下方程计算各个频点上的频谱幅值:Asp(8k+j)=XDFT_POW[k,j]+XDFT_POW[k,15-j],0≤k<10,0≤j<8]]>如果k为奇数,则采用以下方程计算各个频点上的频谱幅值:Asp(8k+7-j)=XDFT_POW[k,j]+XDFT_POW[k,15-j],0≤k<10,0≤j<8]]>Asp即为时频变换后的频谱幅值。步骤102、根据子带信号计算得到当前帧的帧能量参数、谱重心特征参数、时域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特征参数的值。其中,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值,具体的:a)根据滤波器组子带信号X[k,l]计算各滤波器组子带的能量Esb[k]=E‾C(k):]]>E‾C(k)=Σt=015EC(k,t),0≤k≤LC]]>其中,EC(t,k)=(XCR(t,k))2+(XCI(t,k))20≤t≤15,0≤k≤LC。b)将部分听觉比较敏感的滤波器组子带或所有的滤波器组子带的能量累加,得到帧能量参数。其中根据心理听觉模型,人耳对极低频(如100Hz以下)和高频(如20kHz以上)声音会比较不敏感,示例性的,本发明实施例中认为按照频率从低到高排列的滤波器组子带,从第二个子带到倒数第二个子带为听觉比较敏感的主要滤波器组子带,将部分或全部听觉比较敏感的滤波器组子带能量累加得到帧能量参数1,计算方程式如下:Et1=Σn=e_sb_starte_sb_endE‾C(k)]]>其中,e_sb_start为起始子带索引,其取值范围为[0,6]。e_sb_end为结束子带索引,其取值大于6,小于子带总数。帧能量参数1的值加上部分或全部在计算帧能量参数1时未使用的滤波器组子带的能量的加权值,得到帧能量参数2,其计算方程式如下:Et2=Et1+e_scale1·Σn=0e_sb_start-1E‾C(k)+e_scale2·Σn=e_sb_end+1num_bandE‾C(k)]]>其中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)]+Delta1Σ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个幅值叠加值的方差和平均能量的比值,得到时域稳定度特征参数ltd_stable_rate0。计算方程式如下:ltd_stable_rate0=Σn=019(Ampt2(n)-120Σj=019Ampt2(j))2Σn=019Ampt2(n)2+Delta;]]>所述谱平坦度特征参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数。对频谱幅值进行平滑得到:Assp[0](i)=0.7Assp[-1](i)+0.3Asp[0](i),0≤i<NA]]>其中和表示当前帧和当前帧的前一帧的平滑频谱,NA是频谱幅值的数目。需要说明的是,本发明中所述预定的若干频谱可以是根据技术人员的经验选定的一部分频谱,也可以是按照实际情况选取的一部分频谱,本发明对此并不做限定。本实施例将频谱幅值划分成3个频带,并计算这3个频带的谱平坦度特征其划分方式如下表:谱平坦度子带划分让N(k)=NA_end(k)-NA_start(k)表示用于计算谱平坦度频谱个数,则FSF(k):FSF(k)=(Πn=NA_start(k)NA_end(k)Assp(n))1/N(k)Σn=NA_start(k)NA_end(k)Assp(n))/N(k)]]>最后,对当前帧的谱平坦度特征参数进行平滑滤波,得到当前帧最终的谱平坦度特征参数:FSSF[0](k)=0.85FSSF[-1](k)+0.15FSF[0](k)]]>其中和分别表示当前帧和当前帧的前一帧的谱平坦度。调性特征参数是通过计算前后两帧信号的帧内频谱差分系数的相关值得到的,或继续对该相关值进行平滑滤波得到的。具体地,前后两帧信号的帧内频谱差分系数的相关值的计算方法如下:根据频谱幅值计算得到调性特征参数,其中调性特征参数可以根据所有频谱幅值或部分频谱幅值计算得到。其计算步骤如下:a,将部分(不小于8个频谱系数)或全部频谱幅值跟相邻的频谱幅值做差分运算,并将差分结果小于0的值置0,得到一组非负的频谱差分系数:Dsp(i)=0ifAsp(i+6)<Asp(i+5)Asp(i+6)-Asp(i+5)otherwise]]>b,求取步骤a计算得到的当前帧非负的频谱差分系数和当前帧的前一帧非负的频谱差分系数的相关系数,得到第一调性特征参数值,计算方程式如下:FTR=Σi=0NDsp[0](i)Dsp[-1](i)Σi=0N(Dsp[0](i))2(Dsp[-1](i))2]]>其中,为前一帧的非负的频谱差分系数。c,对第一调性特征参数值进行平滑运算,得到第二调性特征参数值和第三调性特征角标0表示为当前帧,计算方程如下:FT(0)=FTRFT[0](1)=0.96FT[-1](1)+0.04FTR]]>FT[0](2)=0.90FT[-1](2)+0.10FTR]]>步骤103、根据当前帧的前一帧得到的背景噪声能量、当前帧的帧能量参数及信噪比子带能量计算得到当前帧的信噪比参数。当前帧的前一帧的背景噪声能量可通过现有方法获得。如果当前帧是起始帧,信噪比子带背景噪声能量的值采用默认的初值。当前帧的前一帧信噪比子带背景噪声能量估计与当前帧的信噪比子带背景能量估计的原理相同,当前帧的信噪比子带背景能量估计参见本实施例的步骤107。具体地,当前帧的信噪比参数可采用现有信噪比计算方法实现。优选地,采用以下方法:首先,将滤波器组子带重新划分为若干信噪比子带,划分索引如下表,其次,根据信噪比子带的划分方式,计算当前帧各个信噪比子带能量。计算方程如下:Esb2[n]=-Σk=Sub_Start_index(n)Sub_end_index(n)Esb[k];0≤n<13;]]>再次,根据当前帧各个信噪比子带的能量和上一帧各个信噪比子带的背景噪声能量计算子带平均信噪比SNR1。计算方程如下:SNR1=1num_bandΣn=0num_band-1log2Esb2(n)Esb2_bg(n)]]>其中Esb2_bg为估计得到的当前帧的前一帧各个信噪比子带的背景噪声能量,num_band信噪比子带个数。得到该前一帧信噪比子带的背景噪声能量的原理与得到当前帧的信噪比子带背景能量的原理相同,得到当前帧的信噪比子带背景能量的过程参见下文实施例一的步骤107。最后,根据估计得到的所述前一帧全带背景噪声能量和当前帧的帧能量参数,计算全带信噪比SNR2:SNR2=log2Et1Et_bg]]>其中Et_bg为估计得到的前一帧全带背景噪声能量,得到前一帧全带背景噪声能量原理与得到当前帧的全带背景噪声能量的原理相同,得到当前帧的全带背景噪声能量的过程参见下文实施例一的步骤107;本实施例中信噪比参数包括子带平均信噪比SNR1和全带信噪比SNR2。 全带背景噪声能量和各个子带的背景噪声能量统称为背景噪声能量。步骤104、根据当前帧的帧能量参数、谱重心特征参数、时域稳定度特征参数、谱平坦度特征参数、调性特征参数计算得到当前帧的调性标志,具体的:104a:假设当前帧信号为非调性信号,并用一个调性帧标志tonality_frame来指示当前帧是否为调性帧。本实施例中tonality_frame的值为1表示当前帧为调性帧,0表示当前帧为非调性帧;104b:判断调性特征参数或其平滑滤波后的值是否大于对应的设定的门限值tonality_decision_thr1或tonality_decision_thr2,如果上述条件有一个成立则执行步骤104c,否则执行步骤104d;其中,tonality_decision_thr1的取值范围为[0.5,0.7],tonality_rate1的取值范围为[0.7,0.99]。104c:如果时域稳定度特征参数值lt_stable_rate0小于一个设定的门限值lt_stable_decision_thr1;谱重心特征参数值sp_center[1]大于一个设定的门限值spc_decision_thr1,且各子带的谱平坦度特征参数均小于各自对应的预设的门限值,则判断当前帧为调性帧,设置调性帧标志tonality_frame的值为1,否则判断为非调性帧,设置调性帧标志tonality_frame的值为0。并继续执行步骤D。其中,门限值lt_stable_decision_thr1的取值范围为[0.01,0.25],spc_decision_thr1为[1.0,1.8]。104d:根据调性帧标志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]。104e:根据更新后的调性程度特征参数tonality_degree判断当前帧是否为调性信号,并设置调性标志tonality_flag的值。具体地,若调性程度特征参数tonality_degree大于某个设定的门限值,则判断当前帧为调性信号,否则,判断当前帧为非调性信号。步骤105:根据调性标志、信噪比参数、谱重心特征参数、帧能量参数计算得到VAD判决结果,具体步骤如下:步骤105a:通过当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到长时信噪比lt_snr;平均长时激活音信号能量Efg和平均长时背景噪声能量Ebg的计算和定义见步骤105g。长时信噪比lt_snr计算方程如下:该式中,长时信噪比lt_snr是采用对数表示的。步骤105b:计算距离当前帧最近的若干个帧的全带信噪比SNR2的平均值,得到平均全带信噪比SNR2_lt_ave;计算方程如下:SNR2_lt_ave=1F_numΣn=0F_numSNR2(n)]]>SNR2(n)表示当前帧往前第n帧的全带信噪比SNR2的值,F_num为计算平均值的总帧数,其取值范围为[8,64]。步骤105c:根据谱重心特征参数、长时信噪比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]。步骤105d:根据激活音检测的判决门限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]。步骤105e:根据调性标志、平均全带信噪比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_flag标志置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]。步骤105f:根据当前帧之前的若干帧的判决结果、长时信噪比lt_snr、平均全带信噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的激活音检测判决结果,修正激活音保持帧数。具体计算步骤如下:当前激活音保持帧数修正的前提条件是激活音标志指示当前帧为激活音帧,若不符合该条件,不修正当前激活音保持帧数num_speech_hangover的值,直接进入步骤105g。激活音保持帧数修正步骤如下:如果连续语音帧数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。步骤105g:根据当前帧的判决结果和激活音保持帧数num_speech_hangover添加激活音保持,得到当前帧的VAD判决结果。其方法为:如果当前帧被判断为非激活音,即激活音标志为0,并且激活音保持帧数num_speech_hangover大于0,添加激活音保持,即设置激活音标志为1,并且将num_speech_hangover的值减1。得到当前帧的最终的VAD判决结果。优选地,步骤105d之后,还可以包括:根据初始VAD判决结果,计算平均长时激活音信号能量Efg,计算值用于下一帧VAD判决;步骤105g之后,还可以包括:根据当前帧的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]]>另外,还需说明的是,实施例一还可以包括以下的步骤:步骤106:根据当前帧的VAD判决结果、调性特征参数、信噪比参数、调性标志、时域稳定度特征参数计算背景噪声更新标识,计算方法可以参考后述的实施例二。步骤107:根据背景噪声更新标识和当前帧的帧能量参数、当前帧的前 一帧的全带背景噪声能量,得到当前帧的背景噪声能量;所述当前帧的背景噪声能量用于下一帧信噪比参数计算。具体的,根据背景噪声更新标识判断是否进行背景噪声更新,如果背景噪声更新标识为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_sumNEt_counter]]>判断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]。实施例二本发明还提供了一种背景噪声检测方法实施例,如图3所示,该方法包括:步骤201:获得当前帧的子带信号及频谱幅值;步骤202:根据子带信号计算得到的帧能量参数、谱重心特征参数、时域稳定度特征参数的值,根据频谱幅值计算得到谱平坦度特征参数和调性特征参数的值;优选地,所述帧能量参数是各个子带信号能量的加权叠加值或直接叠加值。所述谱重心特征参数是所有或部分子带信号能量的加权累加值和未加权累加值的比值,或该比值进行平滑滤波得到的值。所述时域稳定度特征参数是帧能量幅值的方差和幅值叠加值平方的期望的比值,或该比值乘上一个系数。所述谱平坦度参数是预定的若干频谱幅值的几何平均数和算术平均数的比值,或该比值乘上一个系数。具体地,步骤201和步骤202可采用与上文相同的方法,在此不再赘述。步骤203:根据谱重心特征参数、时域稳定度特征参数、谱平坦度特征 参数、调性特征参数、当前帧能量参数进行背景噪声检测,判断当前帧是否为背景噪声。优选地,首先,假定当前帧是背景噪声,并设置所述背景噪声更新标识为第一预设值;然后,如果以下任一条件成立,则判断当前帧不是噪声信号,并将背景噪声更新标识设置为第二预设值:时域稳定度特征参数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];lt_stable_rate_thr2的取值范围为(0,0.1]。判断调性特征参数的值是否大于一个设定的门限值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]。判断谱平坦度特征参数FSSF(0)的值是否小于设定的门限值sSMR_thr1,判断谱平坦度特征参数FSSF(1)的值是否小于设定的门限值sSMR_thr2,判断谱平坦度特征参数FSSF(2)的值是否小于设定的sSMR_thr3,如果上述条件同时成立,则判断当前帧不是背景噪声,background_flag赋值为0,门限值sSMR_thr1、sSMR_thr2、sSMR_thr3的取值范围为[0.88,0.98]。判断平坦度特征参数FSSF(0)的值是否小于设定的门限值sSMR_thr4,判断谱平坦度特征参数FSSF(1)的值是否小于设定的门限值sSMR_thr5,判断谱平坦度特征参数FSSF(2)的值是否小于设定的门限值sSMR_thr6。如果上述任一条件成立,则判断当前帧不是背景噪声。background_flag赋值为0。sSMR_thr4、sSMR_thr5、sSMR_thr6的取值范围为[0.80,0.92]。判断帧能量参数Et1的值是否大于设定的门限值E_thr1,如果上述条件成立,则判断当前帧不是背景噪声。background_flag赋值为0。E_thr1根据帧能量参数的动态范围进行取值。如果当前帧未被检测成不是背景噪声,则表示当前帧为背景噪声。实施例三本发明还提供了一种VAD判决中激活音保持帧数的修正方法,如图4所示,该方法包括:步骤301:根据子带信号计算得到长时信噪比lt_snr;具体地,通过当前帧的前一帧计算得到的平均长时激活音信号能量和平均长时背景噪声能量的比值,计算得到长时信噪比lt_snr;长时信噪比lt_snr可采用对数表示。步骤302:计算平均全带信噪比SNR2_lt_ave;计算距离当前帧最近的若干个帧的全带信噪比SNR2的平均值,得到平均全带信噪比SNR2_lt_ave;步骤303:根据当前帧之前的若干帧的判决结果、长时信噪比lt_snr、平均全带信噪比SNR2_lt_ave、当前帧的信噪比参数和当前帧的VAD判决结果,对当前激活音保持帧数进行修正。可理解地,当前激活音保持帧数修正的前提条件是激活音标志指示当前帧为激活音帧。优选地,对当前激活音保持帧数进行修正时,如果连续语音帧数小于一个设定的门限值1,并且长时信噪比lt_snr小于一个设定的门限值2,则当前激活音保持帧数等于最小连续激活音帧数减去连续语音帧数;否则,如果平均全带信噪比SNR2_lt_ave大于一个设定的门限值3,并且连续语音帧数大于一个设定的门限值4,则根据长时信噪比的大小设置激活音保持帧数的值,否则不修正当前激活音保持帧数num_speech_hangover的值。实施例四本发明提供一种激活音修正帧数的获取方法,如图5所示,具体步骤如下:401:通过本发明实施例一的方法获得当前帧激活音检测判决结果。402:通过本发明提供的实施例三获得激活音保持帧数。403:获得背景噪声更新次数update_count。具体步骤如下:403a:通过本发明提供的实施例二计算背景噪声更新标识background_flag;403b:当背景噪声更新标识指示是背景噪声,且背景噪声更新次数小于 1000,则背景噪声更新次数加1。其中背景噪声更新次数初始值设置为0。404:根据当前帧的激活音检测判决结果、背景噪声更新次数和活音保持帧数获取激活音修正帧数warm_hang_num。具体的,当当前帧激活音检测判决结果为激活音帧,且背景噪声更新次数小于预设门限值例如为12,则激活音修正帧数选择为常数例如为20和激活音保持帧数中的最大值。另外,还可以包括405:根据VAD判决结果、激活音修正帧数修正VAD判决结果,具体的:当VAD判决结果指示当前帧为非激活音帧,且激活音修正帧数大于0,则设置当前帧为激活音帧,同时激活音修正帧数减1。对应于前述激活音修正帧数的获取方法,本发明实施例还提供了一种激活音修正帧数的获取装置60,如图6所示,该获取装置60包括:第一获取单元61,用于获得当前帧的激活音检测判决结果;第二获取单元62,用于获得激活音保持帧数;第三获取单元63,用于获得背景噪声更新次数;第四获取单元64,用于根据所述当前帧的激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数获取激活音修正帧数。本实施例中激活音修正帧数的获取装置的各个单元的工作流程和工作原理参见上述各方法实施例中的描述,在此不再赘述。实施例五本发明提供一种激活音检测方法,如图7所示,具体步骤如下:501:通过本发明实施例一的方法获得第一激活音检测判决结果vada_flag;获得第二激活音检测判决结果vadb_flag。需要说明的是,第二激活音检测判决结果vadb_flag是通过现有的任意一种激活音检测判决方案获得的,对于现有的激活音检测判决方案,本发明在 此不做详细阐述,本领域技术人员可以自行查阅相关资料了解。502:通过本发明提供的实施例三获得激活音保持帧数。503:获得背景噪声更新次数update_count。具体步骤如下:503a:通过本发明提供的实施例二计算背景噪声更新标识background_flag;503b:当背景噪声更新标识指示是背景噪声,且背景噪声更新次数小于1000,则背景噪声更新次数加1。背景噪声更新次数初始值设置为0。504:根据vada_flag、背景噪声更新次数和激活音保持帧数计算激活音修正帧数warm_hang_num,具体的:当vada_flag指示为激活音帧,且背景噪声更新次数小于12,则激活音修正帧数选择为20和激活音保持帧数中的最大值。505:根据vadb_flag、激活音修正帧数计算VAD判决结果,具体的:当vadb_flag指示当前帧为非激活音帧,且激活音修正帧数大于0,则设置当前帧为激活音帧,同时激活音修正帧数减1。对应于前述激活音检测方法,本发明还提供了一种激活音检测装置,如图8所示,该检测装置80包括:第一获取单元81,用于获得第一激活音检测判决结果;第二获取单元82,用于获得激活音保持帧数;第三获取单元83,用于获得背景噪声更新次数;第一计算单元84,用于根据所述第一激活音检测判决结果、所述背景噪声更新次数和所述激活音保持帧数计算激活音修正帧数;第四获取单元85,用于获得第二激活音检测判决结果;第二计算单元86,用于根据所述激活音修正帧数和所述第二激活音检测判决结果计算所述激活音检测判决结果。本实施例中激活音检测装置的各个单元的工作流程和工作原理参见上述各方法实施例中的描述,在此不再赘述。现代的很多语音编码标准,如AMR,AMR-WB,都支持VAD功能。在效率方面,这些编码器的VAD并不能在所有的典型背景噪声下都达到很好的性能。特别是在非稳定噪声下,如办公室噪声,这些编码器的VAD效率都较低。而对于音乐信号,这些VAD有时候会出现错误检测,导致相应的处理算法出现明显的质量下降。本发明实施例提供的技术方案克服了既有VAD算法的缺点,在提高VAD对不稳定噪声检测效率的同时也提高音乐检测的准确率。使得采用本发明提供的技术方案的语音频信号处理算法可以得到更好的性能。另外,本发明实施例提供的背景噪声检测方法,可使得背景噪声的估计更加准确和稳定,有利于提高VAD检测的准确率。本发明实施例同时提供的调性信号检测方法,提高了调性音乐检测的准确率。本发明实施例同时提供的激活音保持帧数的修正方法,可使得在不同的噪声和信噪比下,VAD算法可以在性能和效率得到更好的平衡。本发明实施例同时提供的VAD判决中判决信噪比门限的调整方法,可使得VAD判决算法在不同的信噪比下都可以达到较好的准确率,在保证质量的情况下,进一步的提升效率。本领域普通技术人员可以理解上述方法中的全部或部分步骤可通过程序来指令相关硬件完成,所述程序可以存储于计算机可读存储介质中,如只读存储器、磁盘或光盘等。可选地,上述实施例的全部或部分步骤也可以使用一个或多个集成电路来实现。相应地,上述实施例中的各模块/单元可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。本发明不限制于任何特定形式的硬件和软件的结合。虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化,但本发明的专利保护范围,仍须以所附的权利要求书所界定的范围为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1