提高声码器基音周期参数量化精度的方法

文档序号:7510451阅读:499来源:国知局
专利名称:提高声码器基音周期参数量化精度的方法
技术领域
本发明属于语音编码技术领域,特别涉及语音编码参数量化技术。
背景技术
极低速率声码器比特资源十分有限,因此其各个参数的量化精度都需要进一步的提高。理论证明,在比特数相同的情况下,矢量量化的效果要优于标量量化,因此,低速率声码器算法中,各个参数的量化大都采用矢量量化算法。目前在声码器中,基音周期参数与带通浊音度参数均采用矢量量化算法单独量化传输,并没有考虑到二者之间的关联性,比如对于清音帧而言,在解码端通常直接将基音周期参数置作50,因此清音帧的基音周期参数并不需要量化编码传输。因此,在此提出一种基于码字空间划分的基音周期参数与带通浊音度参数的联合量化算法。
本算法充分利用了基音周期参数与带通浊音度参数的相关性,将码字索引空间按照带通浊音度模式进行细致划分,使基音周期参数的量化更加精细,全浊音模式下的基音周期得到了更多的码矢量,从而提高了量化精度,有效提升了合成语音的质量。

发明内容
本发明的目的是为了改进已有的矢量量化技术,充分发掘利用声码器中基音周期参数与带通浊音度参数的相关性;主要研究了如何通过联合量化的方法提高基音周期参数的量化精度,提升声码器合成语音的质量。
本发明提出的提高声码器基音周期参数量化精度的方法,包括以下步骤步骤(1)对输入的语音信号样点按设定的时间间隔顺序分成子帧,并根据基音周期参数和带通清浊音参数多帧联合量化时所设定的子帧数划分为若干超帧,即若两帧联合量化,则每两个子帧划分为一个超帧,三帧联合量化,则每三个子帧划分为一个超帧,依此类推;其中所述的语音信号样点是已按照设定频率采样且经过高通滤波去除工频干扰后的信号样点;步骤(2)按美国国防部混合激励的线性预测MELP语音编码算法中所述方法分别提取当前超帧中所有子帧的基音周期参数,组成多维基音周期参数矢量P→I=[pi1,pi2······pin],]]>其中n表示联合量化时所设定的子帧数,即一个超帧中包含的子帧数目,pin为第n个子帧的基音周期参数;步骤(3)按步骤(2)所述的混合激励的线性预测语音编码算法分别提取当前超帧中所有子帧的清浊音参数,其中,每个子帧各自提取5个子带的清浊音参数;步骤(4)根据以下步骤先构建所有子帧的清浊音参数矢量BI,J,I=i1,i2......inJ=j1,j2,j3,j4,j5,j为子帧中子带的序号,每一个子帧的清浊音参数矢量为Bi,J=[b1,b2,b3,b4,b5];再对该子带的清浊音矢量Bi,J用5个比特量化,5个比特依次对应着5个子带的清浊音模式,即若第j个子带为浊音性的,则bj=1,否则,bj=0;整个子帧的清浊音性由该子帧的第一子带,也就是最低频子带的清浊音性决定,即若b1=1,则该子帧为浊音子帧,否则b1=0,则该子帧为清音子帧;步骤(5)将当前超帧中由步骤(4)得到的所有子帧的清浊音矢量依次排列起来组成当前超帧的清浊音矢量,即BI=[Bi1,J,Bi2,J,······Bin,J],]]>得到5×n维的当前超帧的清浊音矢量;步骤(6)将步骤(5)中得到的当前超帧的5×n维的清浊音矢量BI进行矢量量化,量化使用预先设定的码本CB,采用全搜索的方法进行矢量量化,量化失真测度采用加权欧氏距离准则,即使下式所示的失真D最小D=(BI-B(k))W(BI-B(k))T,其中B(k)是码本中的对应索引为k的码字,加权矩阵W是一个对角矩阵,其值用来表示各子带重要性的不同,低带最重要,随着频带的升高重要性依次降低,对每子帧的5个子带分配不同的权重,在本算法中,5个子带权重的比例为16∶8∶4∶2∶1,从而加权矩阵W如下所示 设定的码本CB的每个索引值对应一个5×n维的清浊音矢量码字B(k),对应于失真值最小的码字索引值即为矢量量化后得到的当前帧的清浊音矢量BI的矢量量化索引值IDXBI;
步骤(7)按以下步骤求出当前超帧的对数基音周期参数矢量的联合量化索引值IDXPI,将其编码后经信道传到解码端;步骤(7.1)将步骤(2)中得到的当前超帧基音周期参数矢量 变换到对数域,得到对数域上的n维基音周期参数矢量 P→logI=[log(pi1),log(pi2)......log(pin)];]]>步骤(7.2)根据步骤(6)中得到当前超帧的清浊音矢量BI的矢量量化索引值IDXBI,通过查表确定当前超帧的对数基音周期参数矢量 在联合量化中所对应的量化索引范围ψ以及对应的量化方式当超帧的子帧全是清音帧的,则该超帧的基音周期参数矢量不作量化,而留出的索引范围实际留作信道编码等使用;当超帧中只有一帧浊音子帧的,则只对该超帧的对数基音周期参数矢量 中对应浊音子帧的那个分量作标量量化,其余对应清音子帧的分量不作量化;除以上两种情况的其余情形,则根据超帧中含有的浊音子帧数目对该超帧的对数基音周期参数矢量 中对应浊音子帧的那些分量作对应维数的矢量量化;同样,对应清音子帧的那些分量不作量化;步骤(7.3)根据最小均方准则在确定的量化索引范围ψ内全搜索对应的基音周期参数码字,找到使对应浊音子帧部分量化误差最小的码字,其索引值就是联合量化索引值IDXPI,将其编码后经信道传输到解码端;步骤(8)在解码端解码得到步骤(7)中的当前超帧基音周期参数矢量的联合量化索引值IDXPI,根据该索引值IDXPI的值得知其所在的量化索引范围ψ,从而可以查表确定当前超帧的清浊音矢量BI在清浊音矢量码本CB的矢量量化索引值IDXBI,从而得到当前超帧的清浊音矢量的量化值 同时根据量化索引范围ψ和索引值IDXPI就对应得到当前超帧对数基音周期参数矢量中对应浊音子帧的那些分量的量化值,再把对应清音子帧的分量直接置为50,即组成解码端反量化恢复出的当前超帧对数基音周期参数矢量 步骤(9)将步骤(8)中得到的当前超帧对数基音周期参数矢量的量化值 和清浊音矢量的量化值 送到解码端的语音合成模块作为基本参数参与语音的合成。
本发明的特点在不增加冗余比特的前提下,充分利用基音周期参数与带通浊音度参数的相关性,将码字索引空间按照带通浊音度模式进行细致划分,使基音周期参数的量化更加精细,全浊音模式下的基音周期得到了更多的码矢量,从而提高了量化精度,使得合成语音的质量也有了比较明显的提高。
该算法与原先参数各自量化的算法相比,能够在带通浊音度参数依旧完全恢复的前提下,使基音周期参数的量化误差降低20%以上,适合1200b/s和600b/s语音编码算法,将在数字处理芯片DSP上实现。


图1为本发明提出的提高声码器基音周期参数量化精度的方法流程框图。
具体实施例方式
本发明提出的提高声码器基音周期参数量化精度的方法结合附图及实施例进一步说明如下本发明的方法流程如图1所示,包括以下步骤步骤(1)对输入的语音信号样点按设定的时间间隔顺序分成子帧,并根据基音周期参数和带通清浊音参数多帧联合量化时所设定的子帧数划分为若干超帧,即若两帧联合量化,则每两个子帧划分为一个超帧,三帧联合量化,则每三个子帧划分为一个超帧,依此类推;其中所述的语音信号样点是已按照设定频率采样且经过高通滤波去除工频干扰后的信号样点;步骤(2)按美国国防部混合激励的线性预测MELP语音编码算法中所述方法分别提取当前超帧中所有子帧的基音周期参数,组成多维基音周期参数矢量P→I=[pi1,pi2······pin],]]>其中n表示联合量化时所设定的子帧数,即一个超帧中包含的子帧数目,pin为第n个子帧的基音周期参数;步骤(3)按步骤(2)所述的混合激励的线性预测语音编码算法分别提取当前超帧中所有子帧的清浊音参数,其中,每个子帧各自提取5个子带的清浊音参数;
步骤(4)根据以下步骤先构建所有子帧的清浊音参数矢量BI,J,I=i1,i2......inJ=j1,j2,j3,j4,j5,j为子帧中子带的序号,每一个子帧的清浊音参数矢量为Bi,J=[b1,b2,b3,b4,b5];再对该子带的清浊音矢量Bi,J用5个比特量化,5个比特依次对应着5个子带的清浊音模式,即若第j个子带为浊音性的,则bj=1,否则,bj=0;整个子帧的清浊音性由该子帧的第一子带,也就是最低频子带的清浊音性决定,即若b1=1,则该子帧为浊音子帧,否则b1=0,则该子帧为清音子帧;步骤(5)将当前超帧中由步骤(4)得到的所有子帧的清浊音矢量依次排列起来组成当前超帧的清浊音矢量,即BI=[Bi1,J,Bi2,J,......Bin,J],]]>得到5×n维的当前超帧的清浊音矢量;步骤(6)将步骤(5)中得到的当前超帧的5×n维的清浊音矢量BI进行矢量量化,量化使用预先设定的码本CB,采用全搜索的方法进行矢量量化,量化失真测度采用加权欧氏距离准则,即使下式所示的失真D最小D=(BI-B(k))W(BI-B(k))T,其中B(k)是码本中的对应索引为k的码字,加权矩阵W是一个对角矩阵,其值用来表示各子带重要性的不同,低带最重要,随着频带的升高重要性依次降低,对每子帧的5个子带分配不同的权重,在本算法中,5个子带权重的比例为16∶8∶4∶2∶1,从而加权矩阵W如下所示 设定的码本CB的每个索引值对应一个5×n维的清浊音矢量码字B(k),对应于失真值最小的码字索引值即为矢量量化后得到的当前帧的清浊音矢量BI的矢量量化索引值IDXBI;步骤(7)按以下步骤求出当前超帧的对数基音周期参数矢量的联合量化索引值IDXPI,将其编码后经信道传到解码端;
步骤(7.1)将步骤(2)中得到的当前超帧基音周期参数矢量 变换到对数域,得到对数域上的n维基音周期参数矢量 P→logI=[log(pi1),log(pi2)......log(pin)];]]>步骤(7.2)根据步骤(6)中得到当前超帧的清浊音矢量BI的矢量量化索引值IDXBI,通过查表确定当前超帧的对数基音周期参数矢量 在联合量化中所对应的量化索引范围ψ以及对应的量化方式当超帧的子帧全是清音帧的,则该超帧的基音周期参数矢量不作量化,而留出的索引范围实际留作信道编码等使用;当超帧中只有一帧浊音子帧的,则只对该超帧的对数基音周期参数矢量 中对应浊音子帧的那个分量作标量量化,其余对应清音子帧的分量不作量化;除以上两种情况的其余情形,则根据超帧中含有的浊音子帧数目对该超帧的对数基音周期参数矢量 中对应浊音子帧的那些分量作对应维数的矢量量化;同样,对应清音子帧的那些分量不作量化;步骤(7.3)根据最小均方准则在确定的量化索引范围ψ内全搜索对应的基音周期参数码字,找到使对应浊音子帧部分量化误差最小的码字,其索引值就是联合量化索引值IDXPI,将其编码后经信道传输到解码端;步骤(8)在解码端解码得到步骤(7)中的当前超帧基音周期参数矢量的联合量化索引值IDXPI,根据该索引值IDXPI的值得知其所在的量化索引范围ψ,从而可以查表确定当前超帧的清浊音矢量BI在清浊音矢量码本CB的矢量量化索引值IDXBI,从而得到当前超帧的清浊音矢量的量化值 同时根据量化索引范围ψ和索引值IDXPI就对应得到当前超帧对数基音周期参数矢量中对应浊音子帧的那些分量的量化值,再把对应清音子帧的分量直接置为50,即组成解码端反量化恢复出的当前超帧对数基音周期参数矢量 步骤(9)将步骤(8)中得到的当前超帧对数基音周期参数矢量的量化值 和清浊音矢量的量化值 送到解码端的语音合成模块作为基本参数参与语音的合成。
本发明上述方法各步骤的具体实施例分别详细说明如下本实施例使用的声码器码率为1200b/s,采用两帧联合矢量量化。
上述方法步骤(1)的实施例为对8kHz频率采样、已经过高通滤波去除工频干扰的语音样点,每25ms,也就是200个语音样点构成一帧,每两帧构成一个超帧。
上述方法步骤(2)的实施例为按美国政府1200b/s混合激励的线性预测(MELP)语音编码算法标准所描述的音周期参数提取方法分别提取当前超帧中两个子帧的基音周期参数,组成两维基音周期参数矢量P→I=[pi1,pi2].]]>上述方法步骤(3)的实施例为按美国政府1200b/s混合激励的线性预测(MELP)语音编码算法标准所描述的方法对当前超帧的两个子帧分别提取5个子带的清浊音参数。
上述方法步骤(4)的实施例为根据步骤(3)中从每一子帧提取到的5个子带的清浊音参数,若子带为清音,用“0”表示,子带为浊音则用“1”表示,记为矢量Bi,J,Bi,J=[b1,b2,b3,b4,b5],再对该子带清浊音矢量Bi,J用5比特量化,5个比特依次对应着5个子带的清浊音模式,即若第k个子带为浊音,则bk=1,否则,bk=0;上述方法步骤(5)的实施例为将当前超帧中两个子帧的清浊音矢量依次排列起来组成当前超帧的清浊音矢量,即BI=[Bi1,J,Bi2,J,],]]>故当前超帧的清浊音矢量是10维的。
上述方法步骤(6)的实施例为将步骤(5)中得到的当前超帧的10维的清浊音矢量BI进行矢量量化,量化使用3bit,即量化清浊音矢量的码本包含8个10维的清浊音矢量码字,如下表所示。

量化采用全搜索的方法进行,失真测度采用加权欧氏距离准则,即使下式所示的失真D最小D=(BI-B(k)W(BI-B(k))T,其中B(k)是码本中的一个码字,加权矩阵W是一个对角矩阵,其值用来表示各子带重要性的不同,低带最重要,随着频带的升高重要性依次降低,对每子帧的5个子带分配不同的权重,在本算法中,5个子带权重的比例为16∶8∶4∶2∶1,从而加权矩阵W如下所示

矢量量化后得到当前超帧的清浊音矢量BI的矢量量化索引值IDXPI。
上述方法步骤(7)的实施例为将步骤(2)中得到的当前超帧基音周期参数矢量

变换到对数域,得到对数域上的两维基音周期参数矢量P→logI=[log(pi1),log(pi2)];]]>然后根据步骤(6)中得到当前超帧的清浊音矢量BI的矢量量化索引值IDXBI,通过查表确定当前超帧的对数基音周期参数矢量

在联合量化中对应的索引范围ψ以及对应的量化方式。联合量化索引值的比特数是原先分别量化时基音周期参数和清浊音参数码本索引比特数之和,为12bit,因此联合量化的索引范围为0~4095。具体采用的对应关系见下表所示

联合量化后,得到当前超帧对数基音周期参数矢量的量化索引值IDXPI,将其编码后经信道传输到解码端。
上述方法步骤(8)的实施例为在解码端解码得到步骤(7)中的当前超帧基音周期参数矢量的联合量化索引值IDXPI,根据该索引值IDXPI的值得知其所在的量化索引范围ψ,从而可以查表确定当前超帧的清浊音矢量BI在清浊音矢量码本CB的矢量量化索引值IDXBI,从而得到当前超帧的清浊音矢量的量化值 同时根据量化索引范围ψ和索引值IDXPI就对应得到当前超帧对数基音周期参数矢量中浊音子帧对应的那些分量的量化值,再把对应清音子帧的分量直接置为50,即组成解码端反量化的当前超帧对数基音周期参数矢量 上述方法步骤(9)的实施例为将步骤(8)中得到的当前超帧对数基音周期参数矢量的量化值 和清浊音矢量的量化值 送到解码端的语音合成模块作为基本参数参与语音的合成。
权利要求
1.提高声码器基音周期参数量化精度的方法,其特征在于,所述方法是在数字集成电路芯片中依次按以下步骤实现的步骤(1)对输入的语音信号样点按设定的时间间隔顺序分成子帧,并根据基音周期参数和带通清浊音参数多帧联合量化时所设定的子帧数划分为若干超帧,即若两帧联合量化,则每两个子帧划分为一个超帧,三帧联合量化,则每三个子帧划分为一个超帧,依此类推;其中所述的语音信号样点是已按照设定频率采样且经过高通滤波去除工频干扰后的信号样点;步骤(2)按美国国防部混合激励的线性预测MELP语音编码算法中所述方法分别提取当前超帧中所有子帧的基音周期参数,组成多维基音周期参数矢量P→I=[pi1,pi2······pin],]]>其中n表示联合量化时所设定的子帧数,即一个超帧中包含的子帧数目,pin为第n个子帧的基音周期参数;步骤(3)按步骤(2)所述的混合激励的线性预测语音编码算法分别提取当前超帧中所有子帧的清浊音参数,其中,每个子帧各自提取5个子带的清浊音参数;步骤(4)根据以下步骤先构建所有子帧的清浊音参数矢量BI,J,I=i1,i2……inJ=j1,j2,j3,j4,j5,j为子帧中子带的序号,每一个子帧的清浊音参数矢量为Bi,J=[b1,b2,b3,b4,b5];再对该子带的清浊音矢量Bi,J用5个比特量化,5个比特依次对应着5个子带的清浊音模式,即若第j个子带为浊音性的,则bj=1,否则,bj=0;整个子帧的清浊音性由该子帧的第一子带,也就是最低频子带的清浊音性决定,即若b1=1,则该子帧为浊音子帧,否则乃b1=0,则该子帧为清音子帧;步骤(5)将当前超帧中由步骤(4)得到的所有子帧的清浊音矢量依次排列起来组成当前超帧的清浊音矢量,即BI=[Bi1,J,Bi2,J,······Bin,J],]]>得到5×n维的当前超帧的清浊音矢量;步骤(6)将步骤(5)中得到的当前超帧的5×n维的清浊音矢量BI进行矢量量化,量化使用预先设定的码本CB,采用全搜索的方法进行矢量量化,量化失真测度采用加权欧氏距离准则,即使下式所示的失真D最小D=(BI-B(k))W(BI-B(k))T,其中B(k)是码本中的对应索引为k的码字,加权矩阵W是一个对角矩阵,其值用来表示各子带重要性的不同,低带最重要,随着频带的升高重要性依次降低,对每子帧的5个子带分配不同的权重,在本算法中,5个子带权重的比例为16∶8∶4∶2∶1,从而加权矩阵W如下所示 设定的码本CB的每个索引值对应一个5×n维的清浊音矢量码字B(k),对应于失真值最小的码字索引值即为矢量量化后得到的当前帧的清浊音矢量BI的矢量量化索引值IDXBI;步骤(7)按以下步骤求出当前超帧的对数基音周期参数矢量的联合量化索引值IDXPI,将其编码后经信道传到解码端;步骤(7.1)将步骤(2)中得到的当前超帧基音周期参数矢量 变换到对数域,得到对数域上的n维基音周期参数矢量 P→logI=[log(pi1),log(pi2)......log(pin)];]]>步骤(7.2)根据步骤(6)中得到当前超帧的清浊音矢量BI的矢量量化索引值IDXBI,通过查表确定当前超帧的对数基音周期参数矢量 在联合量化中所对应的量化索引范围ψ以及对应的量化方式当超帧的子帧全是清音帧的,则该超帧的基音周期参数矢量不作量化,而留出的索引范围实际留作信道编码等使用;当超帧中只有一帧浊音子帧的,则只对该超帧的对数基音周期参数矢量 中对应浊音子帧的那个分量作标量量化,其余对应清音子帧的分量不作量化;除以上两种情况的其余情形,则根据超帧中含有的浊音子帧数目对该超帧的对数基音周期参数矢量 中对应浊音子帧的那些分量作对应维数的矢量量化;同样,对应清音子帧的那些分量不作量化;步骤(7.3)根据最小均方准则在确定的量化索引范围ψ内全搜索对应的基音周期参数码字,找到使对应浊音子帧部分量化误差最小的码字,其索引值就是联合量化索引值IDXPI,将其编码后经信道传输到解码端;步骤(8)在解码端解码得到步骤(7)中的当前超帧基音周期参数矢量的联合量化索引值IDXPI,根据该索引值IDXPI的值得知其所在的量化索引范围ψ,从而可以查表确定当前超帧的清浊音矢量BI在清浊音矢量码本CB的矢量量化索引值IDXBI,从而得到当前超帧的清浊音矢量的量化值 同时根据量化索引范围ψ和索引值IDXPI就对应得到当前超帧对数基音周期参数矢量中对应浊音子帧的那些分量的量化值,再把对应清音子帧的分量直接置为50,即组成解码端反量化恢复出的当前超帧对数基音周期参数矢量 步骤(9)将步骤(8)中得到的当前超帧对数基音周期参数矢量的量化值 和清浊音矢量的量化值 送到解码端的语音合成模块作为基本参数参与语音的合成。
2.按权利要求1所述的提高声码器基音周期参数量化精度的方法,其特征在于,所述步骤(1)中每一个帧包含的语音样点数是200个或者180个。
3.按权利要求1所述的提高声码器基音周期参数量化精度的方法,其特征在于,所述步骤(7)中的清浊音矢量BI的矢量量化索引值决定了对数基音周期参数矢量 在联合量化中的量化索引范围及量化方式,其对应关系由预先设定的表格所确定。
4.按权利要求1所述的提高声码器基音周期参数量化精度的方法,其特征在于,所述步骤(8)中的解码过程中,首先根据联合量化索引值IDXPI确定联合量化范围ψ,从而确定清浊音矢量的量化索引值以及清浊音矢量的量化值。
全文摘要
本发明属于语音压缩编码技术领域,其特征在于在编码端,该方法首先对输入信号样点分帧,对当前超帧提取基音周期参数矢量和清浊音参数矢量;矢量量化清浊音参数矢量,得到其量化索引值;将基音周期参数矢量变换到对数域,根据清浊音参数的矢量量化索引值查表确定其量化方式以及在联合量化索引中的量化范围,进行量化,得到相应的量化索引值并编码传输。在编码端,解码得到联合量化的量化索引值,确定其所在范围,进而得到清浊音矢量量化索引及基音周期量化索引,分别反量化,清音子帧的基音周期置为50,供语音合成。该方法可提高基音周期参数量化精度,最适合低速率语音编码。
文档编号H03M7/30GK101030377SQ20071006540
公开日2007年9月5日 申请日期2007年4月13日 优先权日2007年4月13日
发明者崔慧娟, 唐昆, 李晔, 洪侃 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1