一种语音信号特征波形的非负矩阵分解方法技术

技术编号:3045650 阅读:255 留言:0更新日期:2012-04-11 18:40
本发明专利技术涉及一种语音信号特征波形的非负矩阵分解方法,属于语音信号处理领域。用非负矩阵分解技术来分解语音信号特征波形的基本思想是:首先对语音特征波形按照语音信号的基音周期(pitch)的大小分为9类,对每类特征波形都按照标准的非负矩阵分解的迭代方法训练出基矩阵W,然后对给定的一帧特征波形,首先按照其基音周期的大小归类,然后取出对应于该类特征波形的已经训练好的基矩阵W,再通过迭代方法获得对应于该帧特征波形的编码矩阵H,至此,该帧特征波形已经近似被分解为基矩阵W和编码矩阵H的乘积。本发明专利技术的分解方法具有不会带来额外延时、分解精度比较高、计算复杂度比较低的优点,同时起到了数据压缩的目的。

【技术实现步骤摘要】

本专利技术涉及,属于语音信号处理领域。
技术介绍
随着无线移动通信、保密电话通信和网络VoIP通信系统的迅速发展,人们对高质量的4kb/s以下的语音编码技术的需求日益增加。目前国际上针对4kb/s以下速率的语音编码模型主要有二元激励线性预测模型(LPC-10-Linear Prediction Coding-10)、混合激励线性预测模型(MELP-MixedExcitation Linear Prediction)、多带激励模型(MBE-Muliti-BandExcitation)和波形内插模型(WI-Waveform Interpolation)。这些模型均基于产生语音信号的源-系统模型,即用激励源信号(模拟来自肺部的气流)去激励一个线性时变滤波器(模拟声道)来产生语音信号,在这种源-激励模型中,声道参数的提取已经非常成功,而如何根据语音的不同特点对激励信号(或称“特征波形”)进行高精度的分解和量化是目前语音质量提高的瓶颈。WI语音编码算法是最具潜力的低速率语音编码算法,此编码算法的关键问题也在于如何有效分解和量化特征波形(WI编码器中,称激励源信号为“特征波形”)。在波形内插语音编码方案中,目前存在三种特征波形(CW-CharacterWaveform)的分解方法(1)利用线性相位滤波方法进行分解。(2)小波变换分解方法。(3)奇异值分解方法。这三种分解方法在分解精度、计算复杂度、额外延时大小三个技术指标上,各自存在着下述缺陷(1)利用线性相位滤波方法进行分解分解精度差;带来1帧额外延时。(2)小波变换带来5帧额外延时。(3)奇异值分解计算复杂度很高。
技术实现思路
为了解决上述问题,本专利技术提供了,该方法所要解决的问题就是在波形内插语音编码器中分解语音信号特征波形时,达到高精度、低复杂度和没有额外延时的特征波形分解的目的。非负矩阵分解(NMF-Non-negative Matrix Factorization)技术已广泛应用于信号处理的各个领域,其基本思想是对于任意给定的一个非负矩阵V,NMF通过有限次迭代总能够寻找到一个非负矩阵W和一个非负矩阵H,使得满足近似关系V≈W×H,从而将一个非负的矩阵近似分解为左右两个非负矩阵的乘积。其中左矩阵W(又名“基矩阵”)中储存着V矩阵所代表的该类事物的局部特征,即组成V的“parts”,线性组合这些“parts”可以近似合成原始的V矩阵信息,而组合系数储存于右矩阵H(又名“编码矩阵”)中。本专利技术基于在信号处理领域得到广泛应用的非负矩阵技术,来分解波形内插语音编码器中语音信号的特征波形。用非负矩阵分解技术来分解语音信号特征波形的基本思想是通过10000帧左右的实验样本,训练出语音信号特征波形的基矩阵,并把基矩阵储存起来。由于训练基矩阵是离线进行的,所以在评估本方法的计算复杂度时并不统计这一步的计算复杂度;然后对每一帧给定的特征波形作非负矩阵分解,即把对应于该帧特征波形的已经训练好的基矩阵取出来,通过迭代方法获得对应于该帧特征波形的编码矩阵。至此,该帧特征波形已经近似被分解为基矩阵和编码矩阵的乘积,也就是说完成了非负矩阵分解的全过程。下面分别论述如何利用标准非负矩阵分解方法来训练基矩阵以及如何获得编码矩阵。A、训练基矩阵。a、首先对语音特征波形按照该帧语音信号的基音周期(pitch)的大小分为9类,分类依据如表1所示 表1 特征波形的分类2)然后对第一类特征波形选取10000帧左右的实验样本,组成矩阵V,按照标准的非负矩阵分解的迭代方法,训练出基矩阵W,具体步骤如下(1)对该类特征波形选取10000帧左右的实验样本,构成矩阵V;(2)设置最大迭代次数为N次,N的取值大于10;设置分解阶数为M,M的取值为8~32之间的整数,“分解阶数”这个概念沿用了标准非负矩阵分解方法提出时Seung和Lee所使用的提法,分解阶数设置为M就是说把基矩阵W的列维数设为M;(3)用在之间均匀分布的随机数,初始化W、H矩阵中的所有元素;(4)对矩阵W的每一列进行归一化,即每列中的每一个元素都除以该列所有元素的和;(5)设置当前迭代次数为1;(6)如果当前迭代次数小于或者等于最大迭代次数N,则转(7),否则转(8);(7)更新编码矩阵H,随后更新基矩阵W,两个矩阵的更新方式如下,然后把当前迭代次数增加1,转(6); Haμ←HaμΣiWiaViμ(WH)iμ]]>(1)Wia←WiaΣμViμ(WH)iμHaμ]]>(2)Wia←WiaΣjWja]]>(3)上述(1)式中所涉及的符号说明如下(a)Haμ表示矩阵H的第a行第μ列的元素;(b)Wia表示矩阵W的第i行第a列的元素;(c)Viμ表示矩阵V第i行第μ列的元素;(d)(WH)iμ表示矩阵W与矩阵H相乘后所得矩阵的第i行第μ列的元素;(e) 表示矩阵V的第i行第μ列的元素除以矩阵W矩阵H相乘后所得矩阵的第i行第μ列的元素;(f) 表示对所有不同的i和μ由 所计算出的所有元素所构成的矩阵中的第μ列,跟W矩阵的第a列,作向量内积;(g)“←”符号表示把“←”右边的矩阵元素赋给“←”左边对应位置的矩阵元素,即完成了H矩阵各个元素的“更新”操作。上述(2)式中所涉及的符号说明如下(a)Wia表示矩阵W第i行第a列的元素;(b)Haμ表示矩阵H的第a行第μ列的元素;(c)Viμ表示矩阵V的第i行第μ列的元素;(d)(WH)iμ表示矩阵W与矩阵H相乘后所得矩阵的第i行第μ列的元素;(e) 表示矩阵V第i行第μ列的元素除以矩阵W与矩阵H相乘后所得矩阵的第i行第μ列的元素;(f) Haμ表示对所有不同的i和μ由 所计算出的所有元素所构成的矩阵中的第i行,跟H矩阵的第a行,作向量内积;(g)“←”符号表示把“←”右边的矩阵元素赋给“←”左边对应位置的矩阵元素,即完成了W矩阵各个元素的“更新”操作。上述(3)式中所涉及的符号说明如下(a)Wia表示矩阵W的第i行第a列的元素;(b) 表示矩阵W第a列的所有元素求和;(c) 表示矩阵W第i行第a列的元素除以矩阵W第a列所有元素的和;(d)“←”符号表示把“←”右边的矩阵元素赋给“←”左边对应位置的矩阵元素,即完成了W矩阵各个元素的“归一化”操作。(8)结束循环,并保存基矩阵W。3)重复上述方法,分别获得第2~9类特征波形的基矩阵W,总共获得9个分别对应于不同类特征波形的基矩阵;B、获得某一帧给定的特征波形的编码矩阵Ha、对某一帧给定的特征波形,首先根据该帧特征波形按照基音周期的大小分为9类,分类方法和步骤1)中分法相同; b、然后从已经训练好的9个基矩阵中取出对应于该类特征波形的基矩阵W,最后应用现有的非负矩阵分解方法,获得编码矩阵H,获得编码矩阵H的具体步骤如下(1)把该帧特征波形,视为矩阵V;(2)设置分解阶数为M,M的取值为8~32之间的整数,设置最大迭代次数为10次;(3)用在之间均匀分布的随机数,初本文档来自技高网
...

【技术保护点】
一种语音信号特征波形的非负矩阵分解方法,其特征在于,该方法是按以下步骤进行的:A、训练基矩阵W1)首先对语音特征波形按照该帧语音信号的基音周期,即pitch的大小分为9类,如下所示:第1类20≤pitch<30   第2类30≤pitch<40第3类40≤pitch<50第4类50≤pitch<60第5类 60≤pitch<70第6类70≤pitch<80第7类80≤pitch<90 第8类90≤pitch<100第9类100≤pitch≤1202)然后对第一类特征波形选取10000帧左右的实验样本,组成矩阵V,按照标准的非负矩阵分解的迭代方法,训练出基矩阵W,具体步骤如下:(1) 对该类特征波形选取10000帧左右的实验样本,构成矩阵V;(2)设置最大迭代次数为N次,N的取值大于10;设置分解阶数为M,M的取值为8~32之间的整数,“分解阶数”这个概念沿用了标准非负矩阵分解方法提出时Seung和Lee所使用的 提法,分解阶数设置为M就是说把基矩阵W的列维数设为M;(3)用在[0,1]之间均匀分布的随机数,初始化W、H矩阵中的所有元素;(4)对矩阵W的每一列进行归一化,即每列中的每一个元素都除以该列所有元素的和;(5)设置当 前迭代次数为1;(6)如果当前迭代次数小于或者等于最大迭代次数N,则转(7),否则转(8);(7)更新编码矩阵H,随后更新基矩阵W,两个矩阵的更新方式如下,然后把当前迭代次数增加1,转(6);H↓[aμ]←H↓[aμ ]*W↓[ia]V↓[iμ]/(WH)↓[iμ](1)W↓[ia]←W↓[ia]*V↓[iμ]/(WH)↓[iμ]H↓[aμ](2)W↓[ia]←W↓[ia]/*W↓[ja](3)上述(1)式中所涉及的符 号说明如下:(a)H↓[aμ]表示矩阵H的第a行第μ列的元素;(b)W↓[ia]表示矩阵W的第i行第a列的元素;(c)V↓[iμ]表示矩阵V的第i行第μ列的元素;(d)(WH)↓[iμ]表示矩阵W与矩阵H相乘 后所得矩阵的第i行第μ列的元素;(e)V↓[iμ]/(WH)↓[iμ]表示矩阵V的第i行第μ列的元素除以矩阵W与矩阵H相乘后所...

【技术特征摘要】
1.一种语音信号特征波形的非负矩阵分解方法,其特征在于,该方法是按以下步骤进行的A、训练基矩阵W1)首先对语音特征波形按照该帧语音信号的基音周期,即pitch的大小分为9类,如下所示第1类20≤pitch<30第2类30≤pitch<40第3类40≤pitch<50第4类50≤pitch<60第5类60≤pitch<70第6类70≤pitch<80第7类80≤pitch<90第8类90≤pitch<100第9类100≤pitch≤1202)然后对第一类特征波形选取10000帧左右的实验样本,组成矩阵V,按照标准的非负矩阵分解的迭代方法,训练出基矩阵W,具体步骤如下(1)对该类特征波形选取10000帧左右的实验样本,构成矩阵V;(2)设置最大迭代次数为N次,N的取值大于10;设置分解阶数为M,M的取值为8~32之间的整数,“分解阶数”这个概念沿用了标准非负矩阵分解方法提出时Seung和Lee所使用的提法,分解阶数设置为M就是说把基矩阵W的列维数设为M;(3)用在之间均匀分布的随机数,初始化W、H矩阵中的所有元素;(4)对矩阵W的每一列进行归一化,即每列中的每一个元素都除以该列所有元素的和;(5)设置当前迭代次数为1;(6)如果当前迭代次数小于或者等于最大迭代次数N,则转(7),否则转(8);(7)更新编码矩阵H,随后更新基矩阵W,两个矩阵的更新方式如下,然后把当前迭代次数增加1,转(6);Haμ←HaμΣiWiaViμ(WH)iμ---(1)]]>Hia←HiaΣμViμ(WH)iμHaμ---(2)]]>Hia←WiaΣjWja---(3)]]>上述(1)式中所涉及的符号说明如下(a)Haμ表示矩阵H的第a行第μ列的元素;(b)Wia表示矩阵W的第i行第a列的元素;(c)Viμ表示矩阵V的第i行第μ列的元素;(d)(WH)iμ表示矩阵W与矩阵H相乘后所得矩阵的第i行第μ列的元素;(e) 表示矩阵V的第i行第μ列的元素除以矩阵W与矩阵H相乘后所得矩阵的第i行第μ列的元素;(f) 表示对所有不同的i和μ由 所计算出的所有元素所构成的矩阵中的第μ列,跟W矩阵的第a列,作向量内积;(g)“←”符号表示把“←”右边的矩阵元素赋给“←”左边对应位置的矩阵元素,即完成了H矩阵各个元素的“更新”操作。上述(2)式中所涉及的符号说明如下(a)Wia表示矩阵W的第i行第a列的元素;(b)Haμ表示矩阵H的第a行第μ列的元素;(c)Viμ表示矩...

【专利技术属性】
技术研发人员:鲍长春张鹏
申请(专利权)人:北京工业大学
类型:发明
国别省市:11[中国|北京]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1