一种检测语音信号基音周期的方法

文档序号:2829681阅读:445来源:国知局
专利名称:一种检测语音信号基音周期的方法
技术领域
本发明涉及语音编码领域,尤其涉及一种检测语音信号基音周期的方法。

背景技术
语音信号的基音周期检测是语音编码中一个非常重要的问题,它具有时变性和准周期性,迄今为止,尚未找到一个完善的、通用的检测方法。目前,针对不同的系统应用人们已经开发出了一些基音检测方法,例如自相关法、平均幅度差函数法、线性预测分析方法、小波变换法等等。在传统的语音编码中,一种通常用到的基音周期检测算法为时域自相关函数(ACF)法,它通过短时自相关函数计算自相关函数,并将最大值处的延时作为基音周期。但研究发现,传统的ACF算法在无噪声环境下有时会发生检测基音倍频和半频错误,并且在噪声环境中,这种错误的发生率明显增加。
此外,宽带语音与传统的窄带语音相比,在基音周期检测方法上存在差异性,因为宽带语音的频谱范围高端延展到7~8kHz,而基音的谐波结构在高频段并不显著,这会给基音周期的检测带来一定的困难,因此需要结合宽带语音的特性对传统的自相关函数法做一定的修改以保证检测结果的准确性。


发明内容
本发明所要解决的技术问题在于提供一种检测语音信号基音周期的方法,以克服基音周期加倍的缺点,并在基音周期检测中体现出基音周期的平滑性。
为了解决上述技术问题,本发明提供一种检测语音信号基音周期的方法,该方法包括 (1)给基音周期候选值序列中的每个基音周期候选值分别选择一个与其对应的自相关函数值的缩放因子; (2)对当前考察的基音周期候选值所对应的自相关函数值与自相关函数值序列中的最大值/缩放因子进行比较,如果当前考察的基音周期候选值所对应的自相关函数值大于自相关函数序列中的最大值/缩放因子,且当前考察的基音周期候选值小于当前最佳的基音周期,则当前考察的基音周期候选值就为最佳基音候选值,否则,继续考察下一个基音周期候选值,直到得出最佳基音周期候选值。
其中,还包括步骤(3),对自相关函数序列中的最大值对应的基音周期候选值是否为所述最佳基音周期候选值的加倍进行判断,如果是,则保持该最佳基音周期候选值不变;如果不是,则将自相关函数序列中最大值对应的基音周期候选值作为最佳基音周期候选值。
其中,进一步包括步骤(4),利用基音周期全局参考来确定基音周期。
其中,使用基音周期全局参考对基音周期候选值序列中值比较接近于基音周期全局参考的候选值所对应的自相关函数进行加权。
其中,所述基音全局参考是由语音的特性以及相邻帧语音的特性所确定。
其中,当所述基音周期最佳候选值接近于基音周期全局参考时,将该基音周期最佳候选值设定为当前帧的基音周期。
其中,所述步骤(1)还包括,当基音周期候选值大于一个门限值时,选择一个较大的缩放因子,否则,选择一个较小的缩放因子。
本发明所述的一种检测语音信号基音周期的方法,克服了基音周期加倍的缺点,并在基音周期检测中体现出了基音周期的平滑性。



图1是本发明所述方法的流程方框图; 图2是AMR-WB+算法的平均信噪比与本发明实施例所述的平均信噪比的对比示意图; 图3是本发明实施例所述的平均信噪比减去AMR-WB+算法的平均信噪比的差值示意图。

具体实施例方式 下面结合附图对本发明作进一步的详细描述。
参考图1,为本发明所述方法的流程方框图。具体过程如下 步骤110给基音周期候选值序列中的每个基音周期候选值分别选择一个与其对应的自相关函数值的缩放因子; 步骤120对当前考察的基音周期候选值所对应的自相关函数值与自相关函数值序列中的最大值/缩放因子进行比较,如果当前考察的基音周期候选值所对应的自相关函数值大于自相关函数序列中的最大值/缩放因子,且当前考察的基音周期候选值小于当前最佳的基音周期,则当前考察的基音周期候选值就为最佳基音候选值,否则,继续考察下一个基音周期候选值,直到得出最佳基音周期候选值。
本发明所述的自相关函数值的计算表达式为 其中,delay代表基音周期候选值。在下面的叙述中,保存自相关函数的若干最大值以及它们所对应的基音周期候选值,并暂定自相关函数最大值对应的基音周期候选值作为最佳基音周期候选值。
针对基音周期的加倍问题,本发明采用固定加权的方式加以消除,增加真实的基音周期被选择的概率,选择一个最佳的基音周期候选值,其具体过程为 对于基音周期候选值序列中每一个基音周期候选值,选择一个与其对应的自相关函数值的缩放因子,这个缩放因子的选择是根据基音周期候选值的大小来选择,选取方式比较简单,当基音周期候选值大于一个门限1时,选择较大的一个缩放因子1,否则,选择一个较小的缩放因子2;然后比较该基音周期候选值对应的自相关函数值与自相关函数值序列中的最大值/缩放因子,如果当前考虑的基音周期候选值小于当前最佳的基音周期,且当前考虑的基音周期候选值的对应的自相关函数值大于自相关函数序列中的最大值/缩放因子,则设定基音周期最佳候选值为当前考虑的基音周期候选值。如此循环,直至考察完基音周期候选值序列中的每一个基音周期候选值。
然后,判断自相关函数序列中的最大值对应的基音周期候选值是否为当前最佳基音周期候选值的加倍,若是,保持当前的最佳基音周期候选值,否则,设定自相关函数序列中最大值对应的基音周期候选值作为最佳基音周期候选值。
针对基音周期的平滑性问题,在本发明中引入基音周期全局参考的概念来表征浊音语音的基音周期平滑性,在基音周期搜索的过程中,使用基音周期全局参考作为基音周期确定的辅助判断依据。
在判断时,首先使用基音周期全局参考对基音周期候选值序列中值比较接近于基音周期全局参考的候选值对应的自相关函数进行加权,以增大比较接近基音周期全局参考的候选值被选定为最佳基音周期候选值的概率。由于基音周期全局参考可以代表近几帧的基音周期变化规律,因而加权的目的在于增强基音周期的平滑性。
基音周期全局参考需要综合根据语音的特性以及相邻帧语音的特性来确定,依据如下四条准则 1.自相关函数候选序列中存在对应的基音周期候选值是当前最佳基音周期候选值的加倍; 2.候选自相关函数值序列中最大值很大,并且明显比其它值大很多; 3.当前基音周期最佳候选值与当前的基音周期全局参考接近; 4.候选自相关函数值序列中最大值比较大,并且当前基音周期全局候选是当前最佳基音周期候选值的加倍。
满足以上4条准则之一,即可将基音周期全局参考更新为当前最佳基音周期候选值。
如不能确定新的基音周期候选,则将原有的基音周期全局候选保持一定帧数后置为0(即不在基音周期确定的过程中发挥作用)。
引用基音周期全局参考的目的在于当基音周期全局参考存在时,表示当前语音段周期性比较明显,因此,可以利用基音周期全局参考对自相关函数序列进行加权,从而使基音周期具有一定的平滑性。
确定最终的基音周期有三种情况 (1)基音周期最佳候选值与基音周期全局参考比较接近。
在这种情况下(1)基音周期全局参考是由当前帧的最佳基音周期候选值来确定的,这时,说明最佳基音周期候选值判定可靠,因此直接输出最佳基音周期值作为基音周期;(2)当前帧确定的最佳基音周期候选值满足了基音周期平滑性的依据,但是只是因为噪声,声道干扰等各种干扰,该基音周期候选值对应的自相关函数值偏小,不足以确定可靠的基音周期全局参考,这样当前帧将延续上一帧的全局基音周期参考。这时,将当前帧确定的最佳基音周期候选值设定为当前帧的基音周期。
(2)最大自相关函数值小于某一门限值。
在这种情况下,语音段信号的相关程度比较小,不易判断出明显的基音周期,此时,当前的基音周期搜索没有实际意义,只是为后来的闭环基音搜索提供一个最大程度去除长时相关性的参考。因而将自相关函数最大值所对应的基音周期搜索候选值作为基音周期。
(3)无法明显判断基音周期。
在当前情况下,引入一个基音周期确定参考值(trkp)的概念,该值用来对最后的基音周期的确定起到参考的作用,该值确定的步骤如下(a)若基音周期全局参考非零,trkp值设定为基音周期的全局参考;(b)否则,trkp值设定为上一个不为0的基音周期全局参考,若上一个不为0的基音周期全局参考保持超过一定的帧数,则该值强制为0。利用上述的条件确定的基音周期确定参考值(trkp)对整个基音周期候选序列进行搜索,找到基音周期候选值最接近trkp的一个值,将其对应的自相关函数加倍,并重新排序自相关函数值,相应的移动对应的基音周期搜索候选值,并找到自相关函数最大值所对应的基音周期候选值作为基音周期输出。
通过实验对本发明进行验证,以ACELP编码模式中的分段信噪比作为客观评价标准,实验结果如下表所示,该表是AMR-WB+算法的平均信噪比与本发明实施例所述的平均信噪比的对比

参考图2,为AMR-WB+算法的平均信噪比与本发明实施例所述的平均信噪比的对比示意图。其中,圆圈代表AMR-WB+在ACELP模式下计算各序列得到的平均信噪比,星号代表本发明在ACELP模式下计算各序列得到的平均信噪比。
如图3所示,为本发明实施例所述的平均信噪比减去AMR-WB+算法的平均信噪比的差值示意图。
实验结果表明,本发明实施例所述的算法可以提高ACELP编码模式中的分段信噪比,其性能优于AMR-WB+的开环基音搜索算法。
本方案以自相关函数基础,利用基音周期的平滑性,引入基音周期全局参考作为基音周期判断的辅助条件,有效解决了基音周期加倍的问题并在基音周期预测中体现出基音周期的平滑性,实验结果表明本发明所述算法性能优于AMR-WB+中的算法性能。
权利要求
1.一种检测语音信号基音周期的方法,其特征在于,包括
(1)给基音周期候选值序列中的每个基音周期候选值分别选择一个与其对应的自相关函数值的缩放因子;
(2)对当前考察的基音周期候选值所对应的自相关函数值与自相关函数值序列中的最大值/缩放因子进行比较,如果当前考察的基音周期候选值所对应的自相关函数值大于自相关函数序列中的最大值/缩放因子,且当前考察的基音周期候选值小于当前最佳的基音周期,则当前考察的基音周期候选值就为最佳基音候选值,否则,继续考察下一个基音周期候选值,直到得出最佳基音周期候选值。
2.如权利要求1所述的方法,其特征在于,还包括步骤(3),对自相关函数序列中的最大值对应的基音周期候选值是否为所述最佳基音周期候选值的加倍进行判断,如果是,则保持该最佳基音周期候选值不变;如果不是,则将自相关函数序列中最大值对应的基音周期候选值作为最佳基音周期候选值。
3.如权利要求2所述的方法,其特征在于,进一步包括步骤(4),利用基音周期全局参考来确定基音周期。
4.如权利要求3所述的方法,其特征在于,使用基音周期全局参考对基音周期候选值序列中值比较接近于基音周期全局参考的候选值所对应的自相关函数进行加权。
5.如权利要求3或4所述的方法,其特征在于,所述基音全局参考是由语音的特性以及相邻帧语音的特性所确定。
6.如权利要求3所述的方法,其特征在于,当所述基音周期最佳候选值接近于基音周期全局参考时,将该基音周期最佳候选值设定为当前帧的基音周期。
7.如权利要求1所述的方法,其特征在于,所述步骤(1)还包括,当基音周期候选值大于一个门限值时,选择一个较大的缩放因子,否则,选择一个较小的缩放因子。
8.如权利要求1所述的方法,其特征在于,所述自相关函数值的计算表达式为
其中,delay代表基音周期候选值。
全文摘要
本发明公开了一种检测语音信号基音周期的方法,包括给基音周期候选值序列中的每个基音周期候选值分别选择一个与其对应的自相关函数值的缩放因子;对当前考察的基音周期候选值所对应的自相关函数值与自相关函数值序列中的最大值/缩放因子进行比较,如果当前考察的基音周期候选值所对应的自相关函数值大于自相关函数序列中的最大值/缩放因子,且当前考察的基音周期候选值小于当前最佳的基音周期,则当前考察的基音周期候选值就为最佳基音候选值,否则,继续考察下一个基音周期候选值,直到得出最佳基音周期候选值。应用本发明所述方法,克服了基音周期加倍的缺点,并在基音周期检测中体现出了基音周期的平滑性。
文档编号G10L19/00GK101183526SQ20061013816
公开日2008年5月21日 申请日期2006年11月14日 优先权日2006年11月14日
发明者军 陈 申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1