首页> 中国专利> 码书分类重排矢量量化方法及其矢量量化器

码书分类重排矢量量化方法及其矢量量化器

摘要

一种码书分类重排矢量量化方法及其矢量量化器,其方法编码过程是输入残差矢量根据分类信息进行分类,在编码器中的分类重排码书中确定子码书搜索范围,在子码书中确定矢量量化值;解码过程是根据信道传到解码器端的量化索引,在解码器的分类重排码书中确定输入残差矢量的重构矢量。量化前预先用码书分类算法对码书分类,分类信息存储于分类器。其矢量量化器中编码器中的分类器、分类重排码书存储单元和量化模块,以及解码器中的分类重排码书存储单元和解码模块为关键部件。本发明分类器信息不需在信道传送,不占用量化比特,但编码时码字搜索范围通过分类器限定到了分类重排码书中的子码书,降低了矢量量化器的时间复杂度,达到了透明量化的效果。

著录项

  • 公开/公告号CN101937680A

    专利类型发明专利

  • 公开/公告日2011-01-05

    原文格式PDF

  • 申请/专利权人 太原理工大学;

    申请/专利号CN201010267160.4

  • 发明设计人 张雪英;李凤莲;贾海蓉;

    申请日2010-08-27

  • 分类号G10L19/00(20060101);

  • 代理机构14100 山西太原科卫专利事务所;

  • 代理人戎文华

  • 地址 030024 山西省太原市迎泽西大街79号

  • 入库时间 2023-12-18 01:30:56

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-08-09

    未缴年费专利权终止 IPC(主分类):G10L19/00 专利号:ZL2010102671604 申请日:20100827 授权公告日:20111221

    专利权的终止

  • 2011-12-21

    授权

    授权

  • 2011-03-02

    实质审查的生效 IPC(主分类):G10L19/00 申请日:20100827

    实质审查的生效

  • 2011-01-05

    公开

    公开

说明书

技术领域

本发明涉及一种语音信号处理的矢量量化方法及其矢量量化器,具体地说,是一种用于码书分类重排的矢量量化方法及其矢量量化器。

背景技术

矢量量化器的构成包括编码器和解码器,其构成方式直接决定矢量量化器的存储需求、码书搜索算法复杂度以及解码语音质量;在编码器和解码器中存放有矢量量化器码书,其码书性能好坏以及码书的排列方式直接影响矢量量化器的量化性能。在语音编码算法中最常用的矢量量化器有分裂矢量量化器、多级矢量量化器、分离均值多级分裂矢量量化器S-MSVQ(Split-MultiStage Vector Quantiser)以及分类矢量量化器等。转换分类分裂矢量量化器SSVQ(Switched Split Vector Quantiser)作为一种分类矢量量化器,近几年在宽带语音编码算法量化参数导抗谱频率ISF量化过程中得到研究者的广泛关注。

转换分类分裂矢量量化器SSVQ编码原理:待量化的矢量首先要经过转换分类器,得到其所属类的分类号。分类的过程相当于一个矢量量化的过程:进入转换分类器的待分类矢量需要根据规定好的加权失真测度计算方法,从事先训练好的转换分类矢量量化器码书中找到与该矢量最近邻的那个码字,并将这个码字的索引值作为此待分类矢量的分类号。然后根据得到的分类号,选择相应的分裂矢量量化器SVQ(Split Vector Quantiser),对待量化的矢量进行分裂矢量量化。针对每一个分类号,转换分类分裂矢量量化器都有与之相配套的分裂矢量量化器。

转换分类分裂矢量量化器SSVQ码书的训练过程为:首先利用LBG算法由整个训练集得到m个质心矢量,并以此作为转换分类码书。然后根据分类信息将整个训练集分成m个训练子集。最后针对每一个训练子集,先进行矢量分裂,再利用LBG算法训练每一个用于分裂矢量量化的码书。

转换分类分裂矢量量化器SSVQ特性主要在于充分利用了各维输入矢量之间的全局相关性,通过把矢量空间分成许多不同的分裂矢量量化器,从而使分裂矢量量化的次优特性可被限制在局部区域而不是整个矢量空间。因此,转换分类分裂矢量量化器特性与分裂矢量量化器相比,在比特率、失真性能以及较低的计算复杂度等方面,都有了一个良好的折中。量化时,首先用转换矢量量化器对输入矢量进行聚类,以充分利用输入矢量各维分量之间的相关性。然后对每个聚类结果,用局部分裂矢量量化器进行量化。

但转换分类分裂矢量量化器是以增加存储需求来换取量化性能的折中。其需要的存储需求是分类数乘以码书大小。且在进行码书设计时需要大量的训练样本以得到各分类码书。

基于浊音约束的矢量量化器C-VBVQ(Constrained Voicing-based Vector Quantiser)所提出的码书设计思路,是将码书分为清音、浊音和传输语音三部分,三部分码书分别根据清音、浊音和传输语音训练得到,量化时,输入矢量只在其中一个码书中搜索匹配矢量,这种码书设计方法不需要增加码书存储空间和量化比特。其实质也是充分利用了码书的分类信息,但由于其基于语音特性,因此,在训练三部分码书时要分别进行。

公开号为CN 101256773A,发明名称为“导抗谱频率参数的矢量量化方法及装置”,于2008年9月3日公开。对自适应多速率宽带语音编码算法AMR-WB的量化参数导抗谱频率参数采用了各维非等系数帧间预测的方式对导抗谱频率预测残差进行分裂矢量量化,这种量化方法需要在编码端和解码端分别存放预测系数和上一帧的量化参数,并根据预测系数、当前帧残差失量的量化矢量以及上一帧的量化参数来得到当前帧的量化矢量,因此算法复杂度偏高。

公开号为CN 101192408A,发明名称为“选择导谱频率系数的矢量量化方法及装置”,于2008年6月4日公开。对自适应多速率宽带语音编码算法AMR-WB的量化参数导抗谱频率参数对每一组子矢量分别进行帧间强相关、弱相关矢量量化,计算强、弱相关矢量量化后的残差信号,并计算强、弱相关残差信号的量化误差,本发明基于导抗谱频率系数的短时相关性、长时相关性,对导抗谱频率系数的每一维分别使用不同的预测系数,因此也是一种预测矢量量化方法,算法复杂度依然偏高。

发明内容

本发明在码书分类重排量化比特不增加、量化谱失真达到透明量化效果的情况下,解决矢量量化器中的编码器码书和解码器码书的码字排列方式不规则,为找到输入残差矢量对应的量化矢量,矢量量化器码字搜索需要采用穷尽搜索的方法所造成的矢量量化器时间复杂度和空间复杂度与矢量量化器量化性能不能良好折中的问题,并提供一种码书分类重排矢量量化方法及其矢量量化器。

为了解决上述问题和实现上述目的,本发明所采取的措施包括码书分类重排矢量量化方法及其矢量量化器,其中:

码书分类重排矢量量化方法是基于16维导抗谱频率参数ISF,包括编码过程和解码过程:

所述的编码过程是输入待量化矢量减去编码器中的矢量均值得到输入残差矢量;

输入残差矢量根据分类信息进行分类,在编码器中的分类重排码书中确定编码器端矢量量化的码书搜索范围,再根据欧式距离测度确定编码器端输入残差矢量的矢量量化值和编码器端输入残差矢量的量化索引;

所述的解码过程是根据信道传送到解码器端的量化索引,在解码器中的分类重排码书中确定解码器端的矢量量化值,加上解码器中的矢量均值确定输入待量化矢量的重构矢量。

上述方法中,其输入残差矢量分裂为9维子矢量和7维子矢量后根据分类信息进行分类,在编码器中的9维分类重排码书中确定编码器端9维子矢量进行量化的码书搜索范围,再根据欧式距离测度确定编码器端输入残差矢量9维子矢量的矢量量化值和量化索引;

在编码器中的7维分类重排码书中确定编码器端7维子矢量进行量化的码书搜索范围,再根据欧式距离测度确定编码器端输入残差矢量7维子矢量的矢量量化值和量化索引。

上述方法中,其分类重排码书的获得方法包括如下步骤:

得到码书训练序列:

首先计算输入训练矢量各分量的均值,并分别存放在编码器矢量均值存储单元和解码器矢量均值存储单元;再将所有输入训练矢量减去各分量的均值,得到输入训练矢量的残差矢量,即为码书设计阶段所用的码书训练序列;

码书设计阶段:

码书设计用LBG算法,其初始码书从码书训练序列中随机选取,失真测度采用欧式距离;

码书分类阶段:

将码书设计阶段设计的码书,用码书分类算法进行分类;

码书分类算法采用蚁群聚类算法或LBG算法,码书分类算法运行结束,保存分类算法所产生的分类信息和属于同一个分类信息的输入矢量个数,每一分类信息确定一个子码书的质心,具有相同质心的输入码字构成一个子码书,属于同一个子码书质心的输入矢量个数确定对应子码书的大小;其中:

蚁群聚类算法分类数由算法自动确定,属于同一聚类半径内的码字划分为一类,同一类所有码字的质心为该类的分类信息;

LBG算法码书大小用分类数代替,所产生的各胞腔的形心为各类的分类信息,划分到同一个胞腔的输入矢量归为一类;

码书重排阶段:

将码书分类阶段确定的子码书按子码书质心的排列顺序重新排列组合在一起,构成构成分类重排码书。

上述方法中,其分类信息进行分类是根据码书分类阶段得到的子码书质心,用欧式距离测度确定与输入残差矢量距离最近的子码书质心;再根据确定的子码书质心在子码书质心存储单元中的排序确定输入残差矢量对应的子码书大小存储单元,两者共同确定子码书第一个码字的地址;然后根据子码书大小存储单元的内容确定子码书大小。

上述方法中,其码书搜索范围是从确定的输入残差矢量对应的子码书第一个码字的地址开始,至该子码书最后一个码字的地址;该子码书第一个码字地址的确定方法是:与确定的子码书质心对应的子码书大小存储单元之前各存储单元内容相加,再乘以每一个码字占用存储单元的个数;该子码书最后一个码字地址的确定方法是:该子码书大小乘以每一个码字占用存储单元的个数加上第一个码字的地址。

本发明一种用于上述码书分类重排矢量量化方法的矢量量化器,其矢量量化器包括编码器和解码器;其编码器包括矢量均值存储单元、加法器、分类器、分类重排码书存储单元和量化模块;其解码器包括矢量均值存储单元、分类重排码书存储单元、解码模块和加法器。

上述码书分类重排矢量量化器中,所述的矢量均值存储单元是存放所有输入训练矢量每一维分量的均值,每一维分量的均值是输入训练矢量的每一维分量对应相加再除以输入训练矢量个数;所述的编码器中的加法器是用于将输入待量化矢量与矢量均值存储单元中各维分量相减,得到输入待量化矢量的残差失量。所述的分类器由子码书大小存储单元和子码书质心存储单元组成,用于提供分类信息,即子码书的搜索范围;其中,子码书大小存储单元是存放各子码书包括的码字个数,码字个数是由码书分类阶段具有相同质心的输入码字个数确定;子码书是在码书分类阶段确定,由具有相同子码书质心的所有码字重新排列在一起构成;子码书质心存储单元是存放具有相同子码书质心的输入码字形成的质心。所述的分类重排码书存储单元是位于编码器端和解码器端,是由码书重排阶段形成的码书构成;所述的量化模块是根据分类信息确定输入矢量的子码书搜索范围,并在子码书中确定输入待量化矢量的量化矢量及量化索引,并将量化索引送入信道;所述的解码模块是根据信道传送到解码器端的量化索引,解析出输入待量化矢量的量化矢量,再用解码器中的加法器将输入矢量的量化矢量和矢量均值相加得到输入矢量的重构矢量。

本发明与现有穷尽搜索矢量量化器相比,本发明在量化比特没有增加的情况下,减少了矢量量化器码字搜索范围,降低了矢量量化器量化的时间复杂程度,同时量化谱失真达到了透明量化的效果。与转换分类分裂矢量量化器相比,本发明不需要转换分类矢量量化器所占用的量化比特,降低了矢量量化器存储空间,使得矢量量化器量化比特减少,空间复杂度得到大幅度的降低。与基于浊音约束的矢量量化器相比,基于浊音约束的矢量量化器,是将码书分为清音、浊音和传输语音三部分,并根据清音、浊音和传输语音训练得到,量化时,首先判断输入矢量属于清音、浊音还是传输语音,确定了输入矢量语音类型后,之后的码书搜索只在与输入矢量语音类型对应的一部分码书中搜索量化矢量;显然本发明对码书进行设计时是不需要考虑训练矢量是清音、浊音还是传输语音的,因此,两种矢量量化器码书设计思路是完全不同的,相应的量化过程也就完全不同了。

由于本发明只需在编码器端确定码书的分类信息及各子码书包括的码字个数,因此在编码器端增加的存储需求为码书分类数的二倍;解码器端不需要码书的分类信息,只需要分类重排码书存储单元,而分类重排码书大小、码字不变,只是码字的排列顺序发生了变化,因此解码器的存储需求没有增加;但在编码器端分类重排码书中确定量化矢量时的码字搜索范围却被限定到了一个子码书范围,因此,码字搜索范围减小了很多,从而使矢量量化时的时间复杂度得到大幅降低。

本发明提供的一种码书分类重排矢量量化方法及其矢量量化器,其矢量量化器的编码器和解码器中的码书是采用码书分类算法分类的重排码书,以使码书中的码字按一定的排列方式存储,量化时对分类重排码书不采用穷尽搜索矢量量化方法,只在分类重排码书确定的子码书范围进行矢量量化,缩小了矢量量化器码字搜索范围,降低了矢量量化器的时间复杂度。

本发明突出的显著特点在于引入子码书质心存储单元与子码书大小存储单元后,码字搜索范围直接根据分类器所包含的码书分类信息被限定到了子码书范围,不必在分类重排码书中进行穷尽搜索,缩小了矢量量化时码字搜索的范围,从而使矢量量化时的时间复杂度得到了大幅降低。

附图说明

图1是本发明对比实施例提供的AMR-WB算法的多级分裂矢量量化器编码器原理框图;

图2是本发明对比实施例提供的AMR-WB算法的多级分裂矢量量化器解码器原理框图;

图3是本发明码书分类重排多级分裂矢量量化器编码器原理框图;

图4是本发明码书分类重排多级分裂矢量量化器解码器原理框图;

图5是本发明码书分类重排矢量量化方法的码书设计原理框图;

图6是本发明码书分类重排矢量量化方法的矢量量化器结构示意图;

图7是本发明码书分类重排多级分裂矢量量化器编码器装置结构示意图;

图8是本发明码书分类重排多级分裂矢量量化器解码器装置结构示意图;

图9本发明AMR-WB算法的码书分类重排多级分裂矢量量化器装置结构示意图。

具体实施方式

下面结合附图对本发明的一种码书分类重排矢量量化方法及其矢量量化器在自适应多速率宽带语音编码器AMR-WB的具体实施方式作出进一步的详细说明。

首先设置本发明实施例描述中需要用到的各个参量。本发明实施例基于16维导抗谱频率参数,一帧输入语音参数对应一组16维导抗谱频率参数,以下叙述都针对一帧输入语音参数进行,设

当前帧输入的待量化矢量是16维导抗谱频率参数:ISF′i,i=0~15

当前帧输入待量化矢量16维导抗谱频率参数的重构矢量是:i=0~15

当前帧输入的待量化矢量16维导抗谱频率参数残差矢量(简记为输入残差矢量)是:ISFi,i=0~15

一级输入残差矢量的矢量量化值是:i=0~15

二级待量化矢量是输入残差矢量的量化残差ΔISFi,输入残差矢量的量化残差ΔISFi为:输入残差矢量减去一级输入残差矢量的矢量量化值,即

二级量化矢量是输入残差矢量的量化残差ΔISFi对应的矢量量化值i=0~15

训练矢量是:isf′ki,i=0~15,k=0~M-1

训练矢量的残差矢量是:isfki,i=0~15,k=0~M-1

其中M是训练矢量及训练矢量的残差矢量包括的16维矢量个数,M取值应该大于等于10倍一级码书大小,本发明实施例中两个一级9维ISF残差子矢量和7维ISF残差子矢量码书大小都是256,所以M取值应该大于等于2560。

16维导抗谱频率参数ISF均值矢量是:i=0~15

码书设计阶段得到的一级9维ISF残差子矢量码书和7维ISF残差子矢量码书分别是C11和C12,C11和C12码书大小都是256;

码书分类算法分类重排的一级9维ISF残差子矢量码书和7维ISF残差子矢量码书分别是C′11和C′12,C′11和C′12码书大小依然都是256,且满足

C11=C11NNum1+C11NNum2+···+C11NNuml+···+C11NNumN

上式表示码书C′11由N个子码书构成,其中l=1,2,…,N表示码书C′11中的第l个子码书,Numl表示N个子码书中第l个子码书包括的码字个数,则满足

Num1+Num2+…+Numl+…+NumN=256

同理

C12=C12NNum1+C12NNum2+···+C12NNuml+···+C12NNumN

其中码书C′12由N′个子码书构成,其中l′=1,2,…,N′表示码书C′12中的第l′个子码书,Num′l′表示N′个子码书中第l′个子码书包括的码字个数,则满足

Num′1+Num′2+…+Num′l′+…+Num′N′=256

分类重排码书C′11和C′12包括的子码书个数分别是N和N′,N和N′可以相等,也可以不相等,本发明实施例中取N和N′相等。

二级分裂矢量量化使用的码书包括C21、C22、C23、C24和C25,码书大小分别是64,128,128,32,32。与下述对比实施例1中二级码书完全相同。

对比实施例1

自适应多速率宽带AMR-WB(Adaptive Multirate Wideband)语音编码算法(以下简称AMR-WB算法)是一种宽带语音编码标准,其输入语音的采样频率为16kHz,音频带宽50-7000Hz,能提供9种语音编码速率,分别为23.85kbit/s、23.05kbit/s、19.85kbit/s、18.25kbit/s、15.85kbit/s、14.25kbit/s、12.65kbit/s、8.85kbit/s和6.60kbit/s,对应9种编码模式:模式8到模式0。9种编码模式采用的量化参数都是与LPC系数对应的16维导抗谱频率ISF(ImmittanceSpectral Frequencies)参数,量化方法是多级分裂矢量量化器S-MSVQ,采用两级分裂方法。

图1示出了对比实施例提供的AMR-WB算法的多级分裂矢量量化器编码器原理框图,为AMR-WB算法编码模式1到8时,以下叙述只针对模式1到8的情况,模式0量化过程类似。

量化过程如下:首先用输入待量化矢量减去其均值求出输入待量化矢量的残差矢量,此处对均值的处理是不进行量化,而是在编码器端和解码器端分别存储16维导抗谱频率ISF参数的均值,然后对去除均值的输入待量化矢量的残差矢量进行两级分裂矢量量化。第一级量化时,首先将16维输入待量化矢量的残差矢量分裂为9维子矢量和7维子矢量,对这两个子矢量分别进行矢量量化,采用的是欧式距离测度,根据欧式距离测度分别确定了两个子矢量的矢量量化值以及量化索引后,进一步用输入待量化矢量的残差子矢量减去各残差子矢量一级矢量量化值,得到一级矢量量化的残差值。对一级矢量量化残差值,再进行二级分裂矢量量化,分裂时,对模式0和其它8种模式采用了不同的方法,模式0时,将9维的子矢量分裂为5维子矢量和4维子矢量,7维的子矢量不分裂;其它8种模式时,则是将9维的子矢量分裂为3个3维的子矢量,7维的子矢量分裂为3维子矢量和4维子矢量。

其中输入的待量化矢量为16维ISF′i,i=0~15,16维导抗谱频率ISF参数的均值是i=0~15。量化时,首先将输入的16维待量化矢量ISF′i,i=0~15减去其均值i=0~15,得到输入待量化矢量的残差矢量(简记为输入残差矢量)ISFi,i=0~15,然后对输入残差矢量ISFi,i=0~15,进行两级分裂矢量量化。一级分裂矢量量化是将输入残差矢量ISFi,i=0~15,分裂为9维子矢量ISFi,i=0~8和7维子矢量ISFi,i=9~15进行的,一级分裂矢量量化器有两个码书:9维子矢量ISFi,i=0~8对应的码书C11和7维子矢量ISFi,i=9~15对应的码书C12。量化时9维子矢量ISFi,i=0~8在码书C11中根据欧式距离测度确定距离最小的码字,该距离最小的码字就是9维子矢量ISFi,i=0~8的矢量量化值i=0~8,该距离最小的码字在码书C11中的地址就是9维子矢量ISFi,i=0~8的矢量量化索引I11;类似,7维子矢量ISFi,i=9~15采用同样的方法在码书C12中确定欧式距离最小的码字为其矢量量化值i=9~15,该距离最小的码字在码书C12中的地址就是7维子矢量ISFi,i=9~15的矢量量化索引I12

第一级量化后,进一步将输入残差子矢量ISFi,i=0~8减去其量化值i=0~8,ISFi,i=9~15减去其量化值i=9~15,得到二级量化输入子失量再进一步将二级量化输入子失量ΔISFi,i=0~8分裂为3,3,3维子矢量i1=0~2,i2=3~5,i3=6~8;输入子失量ΔISFi,i=9~15,分裂为3,4维子矢量i4=9~11,i5=12~15;对这5个子矢量i1=0~2,i2=3~5,i3=6~8,i4=9~11,i5=12~15,分别在码书C21、C22,C23,C24和C25中,根据欧式距离测度确定距离最小的码字为各子矢量的矢量量化值i1=0~2,i2=3~5,i3=6~8,i4=9~11,i5=12~15,各距离最小的码字对应的地址为各子矢量的量化索引,分别是I21,I22,I23,I24,I25

多级分裂矢量量化器S-MSVQ解码端的工作过程是编码时的逆过程,图2示出了本发明对比实施例提供的AMR-WB算法的多级分裂矢量量化器解码器原理框图。解码过程如下:

首先根据信道传送到解码端的索引号I11、I12、I21、I22、I23、I24和I25,分别在一级码书C11、C12中,确定相应的一级矢量量化值i=0~8,i=9~15,在二级码书C21、C22、C23、C24和C25中,确定相应的矢量量化值i1=0~2,i2=3~5,i3=6~8,i4=9~11,i5=12~15,则输入待量化矢量的重构矢量i=0~15是其中均值i=0~15,存放在解码器中的矢量均值存储单元。

实施例1

将本发明码书分类重排矢量量化器用于多级分裂矢量量化器S-MSVQ一级分裂矢量量化器量化过程中,称为码书分类重排多级分裂矢量量化器。图3示出了本发明码书分类重排多级分裂矢量量化器编码器原理框图。图4示出了本发明码书分类重排多级分裂矢量量化器解码器原理框图。

在AMR-WB中编码模式为1到8,两级分裂矢量量化器一级量化时,将输入的16维导抗谱频率参数待量化矢量的残差矢量ISF0-15分裂为9维子矢量ISF0-8和7维子矢量ISF9-15,二级量化时,一级量化子矢量又被分别分裂为3个3维子矢量和3维子矢量4维子矢量第二级分裂矢量量化过程与对比实施例1完全相同。将本发明码书分类重排矢量量化器用于实施例1所述码书分类重排多级分裂矢量量化器的具体过程如下

第一步:码书的设计过程。图5示出了本发明码书分类重排矢量量化方法的码书设计原理框图,具体包括

[1]求解一级码书训练序列。首先计算16维导抗谱频率参数ISF均值矢量i=0~15,并分别存放在编码器中的矢量均值存储单元和解码器中的矢量均值存储单元中;再将训练矢量序列isf′ki,i=0~15,k=0~M-1减去均值矢量i=0~15,得到训练矢量的残差矢量序列是isfki,i=0~15,k=0~M-1,即为码书设计阶段第一级码书的训练矢量序列。

具体计算过程如下:

ISFi=Σk=0M-1isfkiM,i=0~15

isfki=isfki-ISFi,i=0~15,k=0~M-1

[2]码书设计阶段。码书设计的任务是设计出第一级2个子矢量的码书和第二级5个子矢量的码书。子矢量码书的设计都采用LBG算法。LBG码书设计算法具体设计过程为本领域技术人员公知的内容。下面针对两级码书设计时训练矢量及子矢量的码书进行说明。

ISF参数两级分裂矢量量化器一级分裂矢量量化阶段使用2个子码书,分别是ISF参数9维残差子矢量ISF0-8的码书C11和7维残差子矢量ISF9-15的码书C12,码书C11大小N11和码书C12大小N12是N11=N12=256。设计2个子码书时使用的训练子矢量序列是将[1]得到的16维训练矢量的残差矢量序列isfki,i=0~15,k=0~M-1分裂为9维训练子矢量序列isfki,i=0~8,k=0~M-1和7维训练子矢量序列isfki,i=9~15,k=0~M-1,两个训练子矢量序列包括的子矢量个数都是M。

ISF参数两级分裂矢量量化器二级分裂矢量量化阶段使用5个子码书,5个子码书分别是C21、C22,C23,C24和C25,码书大小分别是64,128,128,32,32。设计5个子码书时使用的训练序列的构成方法如下:

训练子矢量序列isfki,i=0~8,k=0~M-1每一个子矢量作为待量化矢量,根据欧式距离测度在第一级子矢量码书C11中确定距离最小的码字,确定的距离最小的码字组成对应的训练子矢量序列isfki,i=0~8,k=0~M-1的量化子矢量序列i=0~8,k=0~M-1,训练子矢量序列isfki,i=0~8,k=0~M-1每一个子矢量减去其对应的量化子矢量,得到训练子矢量残差子矢量序列Δisfki,i=0~8,k=0~M-1,即

Δisfki=isfki-is^fki,i=0~8,k=0~M-1

将Δisfki,i=0~8,k=0~M-1分裂为3个3维子矢量i1=0~2,k=0~M-1,i2=3~5,k=0~M-1,i3=6~8,k=0~M-1,则i1=0~2,k=0~M-1是码书C21对应的训练序列,i2=3~5,k=0~M-1是码书C22对应的训练序列,i3=6~8,k=0~M-1是码书C23对应的训练序列。

类似的方法得到第二级码书C24和C25对应的训练序列分别为i4=9~11,k=0~M-1,i5=12~15,k=0~M-1,训练序列由下式确定

Δisfki=isfki-is^fki,i=9~15,k=0~M-1

其中i=9~15,k=0~M-1是训练子矢量序列isfki,i=9~15,k=0~M-1中每一个子矢量根据欧式距离测度在码书C12中确定的距离最小码字组成的量化子矢量序列。

[3]码书分类阶段。将码书设计阶段设计出的第一级2个子矢量的码书用码书分类算法分类。在宽带语音编码算法AMR-WB中,由于第一级9维子矢量码书和7维子矢量码书大小都为256,码书搜索范围较大,所以此处只对这两个一级子码书进行了分类,考虑5个二级子码书相对较小,没有对5个二级子码书进行分类重排。下面以9维子矢量码书C11为分类对象,叙述码书分类算法运行步骤,7维子矢量码书分类过程与此完全相同,不再叙述。码书分类算法可任选以下两种之一。

一种是用已知训练序列的LBG码书设计算法对已知码书进行分类,称为LBG码书分类算法。LBG码书分类算法与LBG码书设计算法变量的对应关系如下表一所示。

表一

LBG码书分类算法运行步骤如下:

第(1)步给定初始子码书质心即给定初始子码书个数N和子码书质心并置n=0,设起始平均失真D(-1)→∞,给定计算停止门限ε(0<ε<1)。其中初始子码书质心采用随机法从码书C11中选取。

第(2)步用子码书质心中每个元素为已知形心,根据欧式距离测度对码书C11中码字在子码书质心中确定距离最小的形心,确定的距离最小的形心是码书C11中码字的最佳划分,划分到同一个形心的码书C11中的码字构成与该形心对应的一个子码书,子码书质心中N个元素对应N个子码书,N个子码书就是码书C11的N个最佳划分,即

SCj(n)={CW|d(CW,SCWj)<d(CW,SCWi),

ij,SCWi,SCWjSCCN(n),CWC11,j=1,2,...,N)

其中是第n次迭代时码书C11的第j个最佳划分,该最佳划分由码书C11中与形心SCWj距离最近的码字组成,也就是由码书C11中与形心SCWj的欧式距离小于和其它形心SCWi欧式距离的码字构成。

第(3)步计算平均失真与相对失真。平均失真为

D(n)=1mΣr=1mminSCWSCCN(n)d(CWr,SCW)

式中CWr∈C11,r=1,2,..,m。对C11,m=N11=256。

相对失真为

D~(n)=|D(n-1)-D(n)D(n)|

若则停止计算,否则进行第(4)步。

第(4)步用下式计算这时最佳划分的各胞腔的形心

SCWj=1|SCj|ΣCWSCjCW

|SCj|表示最佳划分SCj中包括的码书C11中码字的个数。

由这N个新形心构成新的子码书质心并置n=n+1,返回第(2)步再计算,直到得到所要求的子码书质心为止。

另一种是用蚁群聚类算法作为码书分类算法,称为蚁群聚类码书分类算法。这种算法不需要预先选定子码书个数,也不存在初始子码书质心选取问题。码书设计阶段设计的码书C11中码字为蚁群聚类码书分类算法的待分类输入矢量。蚁群聚类码书分类算法运行步骤如下:

(I)初始化参数。包括聚类最大循环次数NMAX,蚂蚁背负物体最多移动次数门限N1,蚂蚁个数,二维平面,网格,聚类半径R等的初始值设定,本发明设定NMAX=20000,N1=200,二维平面区域为0~100,聚类半径R=3,蚂蚁个数为1只蚂蚁;

(II)将码书C11中的码字CW∈C11随机映射到二维平面上,随机给每个数据对象赋予一个在初始二维平面区域的坐标,并生成一个分布在0-100%之间的随机概率p;

(III)将蚂蚁随机放置到设置了区域范围的二维平面上,并设置蚂蚁的初始状态为未负载;

(IV)按下式(1)计算相似度参数f(oi);

式中d(CWi,CWj)为映射到二维平面上的码书C11中两个码字的欧式距离,dMAX(CWi,CWj)为数据CWi所在聚类半径R内与CWi之间的最大欧式距离。α为调节数据对象间相似性的参数。

(V)如果蚂蚁的当前状态为未负载,则按拾起概率函数计算拾起概率,其中拾起概率函数用LF/Deneubourg基本模型,LF/Deneubourg基本模型如下式(2):

pp=(k1k1+f)2---(2)

式(2)参数f为根据式(1)确定的相似度,且满足在相似度越小时拾起概率应该越大越好,随着相似度的增大,拾起概率则应该越小越好;k1为门限常数,本发明置k1=0.4。

根据式(2)确定拾起概率函数pp后,再进一步判断拾起概率是否大于随机概率p,如果大于则蚂蚁拾起它所在位置的物体,开始背负物体移动;否则蚂蚁随机移动到别的位置,再跳转到(IV)计算相似度参数。

(VI)如果蚂蚁的当前状态为负载状态,则按放下概率函数计算物体的放下概率pd,放下概率函数的变化规律应该是相似度越大,放下概率也越大;相似度越小,放下概率也越小。本发明放下概率函数采用Deneubourg基本模型,如下式(3)所示:

pd=(fk2+f)2---(3)

式(3)中k2为门限常数,本发明置k2=0.2,参数f为根据式(1)确定的相似度。

按式(3)确定放下概率后,再进一步判断放下概率pd是否大于随机概率p,如果大于则蚂蚁放下物体,并置蚂蚁状态为未负载状态;否则蚂蚁背负物体继续移动。为了防止蚂蚁一直背负物体找不到放下位置,程序进入无限循环,本发明设置了蚂蚁最多移动次数门限N1=200,如果蚂蚁背负一个物体连续移动的次数超过此最多移动次数门限值,则无论放下概率条件是否满足,也必须放下物体。

(VII)赋给蚂蚁新的数据位置,再次生成一个随机概率p,循环次数加1,如果循环次数大于最大循环次数NMAX,结束聚类循环,转至(VIII),否则转至步骤(IV);

(VIII)将聚类结果按聚类半径划分子码书包括的码字。

划分过程中,针对一个待分类码字同时属于多个子码书的情况,进一步增加了欧式距离判据来决定最终分类结果。聚类结果出现的未分类码字,根据欧式距离判据进一步判断与该未分类码字距离最近的输入码字,并将该未分类码字和距离最近的输入码字划分为一类,如果距离最近的输入矢量也是未分类码字,则新建一个包括这两个未分类码字的子码书。

对输入码字个数小于5的子码书,按欧式距离找到与其子码书质心距离最小的子码书后,将两个子码书中的码字合并为一个子码书;本步骤是为了防止一些输入矢量个数小于5的子码书形成非典型子码书质心,因此将输入码字个数小于5的子码书与其它子码书进行合并。

(IX)利用下式计算划分的各子码书质心

SCWj=1|SCj|ΣCWSCjCW

|SCj|表示子码书SCj中包括的码字个数。

[4]码书重排阶段。将码书分类阶段确定的属于各个子码书的码字按子码书质心的排列顺序重新排列组合在一起,构成分类重排码书。

采用码书分类算法将码书分类后,再进行码书重排,重排过程包括以下步骤:

第(1)步保存设计的子码书质心,对LBG码书分类算法,设计的子码书质心为蚁群聚类码书分类算法,设计的子码书质心为其中N1为用蚁群聚类码书分类算法确定的子码书个数,是由算法自动形成的;LBG码书分类算法的子码书个数是提前人为设定的;因此N和N1不一定相同。

第(2)步将码书C11中码字按其所属的子码书分别存放在相应的子码书区域,进一步计算各子码书包括的码字个数;

第(3)步将各子码书质心、各子码书包括的码字个数以及各子码书按一致的顺序分别存放在子码书质心存储单元、子码书大小存储单元以及分类重排码书存储单元中。为了将分类重排码书和原始码书C11、C12相区别,用C′11、C′12表示分类重排码书。

一般情况下各子码书所包括的码字个数是非均匀的。各子码书所包含的码字个数决定了矢量量化时的运算复杂度。码字个数越少,码书搜索范围越小,量化时运算复杂度越低。

第二步:码书分类重排矢量量化方法的编码过程。具体包括

(1)输入待量化矢量ISF′i,i=0~15减去矢量均值i=0~15,得到输入待量化矢量的残差矢量ISFi,i=0~15。

(2)输入残差矢量ISFi,i=0~15分裂为9维子矢量i1=0~8和7维子矢量i2=9~15,进一步分别确定9维子矢量i1=0~8子码书搜索范围和7维子矢量i2=9~15子码书搜索范围;由于9维子矢量子码书搜索范围和7维子矢量子码书搜索范围确定方法相同,下面只针对9维子矢量子码书搜索范围进行叙述,7维子矢量子码书搜索范围确定方法不再叙述。

根据9维子矢量子码书质心存储单元的内容,利用欧式距离测度确定输入残差矢量9维子矢量i1=0~8距离最小的子码书质心,则子码书搜索范围也确定。子码书搜索范围的确定方法为:从确定的输入残差矢量9维子矢量对应的子码书第一个码字开始,至该子码书最后一个码字之间的码字。

(3)在(2)确定的子码书搜索范围内对输入残差矢量9维子矢量i1=0~8,根据欧式距离测度确定与输入残差矢量9维子矢量i1=0~8距离最小的码字,该码字就是确定的输入残差矢量9维子矢量i1=0~8的一级矢量量化值i=0~8,该码字在码书C′11中的地址就是输入残差矢量9维子矢量一级量化索引I11

类似,输入残差矢量7维子矢量i2=9~15在码书C′12中确定的距离最小的码字就是其一级矢量量化值i=9~15,该码字在码书C′12中的地址就是输入残差矢量7维子矢量一级量化索引I12

将输入残差矢量9维子矢量i1=0~8减去其一级矢量量化值i1=0~8,得到一级9维子矢量量化残差

将输入残差矢量7维子矢量i2=9~15减去其一级矢量量化值i2=9~15,得到一级7维子矢量量化残差

将一级9维子矢量量化残差分裂为3、3、3维的子矢量i11=0~2,i12=3~5,i13=6~8,一级7维子矢量量化残差分裂为3维子矢量i14=9~11、4维子矢量i15=12~15,则子矢量i11=0~2,i12=3~5,i13=6~8和i14=9~11,i15=12~15就是二级待量化子矢量;再根据欧式距离测度分别在二级码书C21、C22,C23,C24和C25中确定距离最小的码字,则距离最小的码字就是二级待量化子矢量对应的矢量量化值i1=0~2,i2=3~5,i3=6~8,i4=9~11,i5=12~15,各距离最小的码字在二级码书C21、C22,C23,C24和C25中的地址就是各待量化子矢量对应的量化索引I21、I22、I23、I24、I25

第三步:码书分类重排矢量量化方法的解码过程。具体包括

首先根据信道传送到解码端的索引号I21、I22、I23、I24、I25以及I11、I12分别在二级码书C21、C22、C23、C24和C25以及一级码书C′11、C′12中找到相应的量化子矢量,则输入矢量的各维重构矢量为对应维两级矢量量化值加上各维的均值

IS^Fi=ΔIS^Fi+IS^Fi+ISFi,i=0~15

上述第一步到第三步构成了本发明一种码书分类重排矢量量化方法的完整流程,其中第一步包括的[1]~[4],也可以作为本发明实施例1提供的码书设计过程的实施方式,第二步和第三步合起来,也可以作为本发明实施例1提供的码书分类重排矢量量化方法的实施方式。

实施例2

下面对本发明提供的一种码书分类重排矢量量化方法的矢量量化器结构进行详细说明。图6示出了本发明码书分类重排矢量量化方法的矢量量化器结构示意图。其中矢量量化器由编码器和解码器构成。编码器包括矢量均值存储单元、加法器、分类器、分类重排码书存储单元、量化模块。编码器中各部件功能如下:

矢量均值存储单元,用于提供量化参数的矢量均值,以将输入待量化矢量与矢量均值相减得到待量化矢量的残差矢量。

加法器,用于将输入待量化矢量与矢量均值相减得到输入待量化矢量的残差矢量,即输入残差矢量。

分类器,包括子码书质心存储单元和子码书大小存储单元,用于提供输入待量化矢量量化时的子码书搜索范围。

分类重排码书存储单元,存储用码书分类算法得到的分类重排码书,用于加法器提供的输入残差矢量量化时使用的码书。

量化模块,用于根据加法器提供的输入残差矢量,利用分类器提供的子码书搜索范围,在分类重排码书的对应子码书中确定输入残差矢量的量化矢量及量化索引,并将量化索引提供给码流以在信道传送。

下面再说明解码器。解码器包括矢量均值存储单元、加法器、分类重排码书存储单元和解码模块。各部件功能如下:

矢量均值存储单元,用于提供量化参数的矢量均值,以得到输入待量化矢量的重构矢量。

分类重排码书存储单元,存储用码书分类算法得到的分类重排码书,为解码模块提供码书查询。

解码模块,根据从信道传送到解码器端的码流,解析出量化索引值,并在分类重排码书存储单元查询矢量量化值,提供给加法器。

加法器,用于将解码模块提供的矢量量化值和矢量均值单元提供的矢量均值相加,得到输入待量化矢量的重构矢量。

本发明实施例2提供的一种码书分类重排矢量量化方法的矢量量化器,其中的各个部件涉及到的计算均可以使用本发明实施例提供的方法或公式计算得到。

实施例3

图7示出了本发明码书分类重排多级分裂矢量量化器编码器装置结构示意图。编码器由码书分类重排分裂矢量量化器编码器装置和二级分裂矢量量化器编码器装置组成,其中码书分类重排分裂矢量量化器编码器装置包括矢量均值存储单元、3个加法器、分类器1、分类器2、一级码书单元、量化模块11和量化模块12;二级分裂矢量量化器编码器装置包括二级码书单元、量化器21到25。各单元的功能分别说明如下:

码书分类重排分裂矢量量化器编码器装置用于对输入待量化矢量进行一级分裂矢量量化,并给二级分裂矢量量化器编码器装置提供待量化矢量;其中的

矢量均值存储单元,用于提供量化参数的矢量均值,以将输入待量化矢量与矢量均值相减得到输入残差矢量。

加法器1,用于将输入待量化矢量与矢量均值相减得到输入残差矢量。

加法器2,用于将输入残差矢量的9维子矢量与其量化值相减,得到二级分裂矢量量化器的输入。

加法器3,用于将输入残差矢量的7维子矢量与其量化值相减,得到二级分裂矢量量化器的输入。

分类器1,包括子码书质心存储单元1和子码书大小存储单元1,用于提供输入残差矢量9维子矢量量化时的子码书搜索范围。

分类器2,包括子码书质心存储单元2和子码书大小存储单元2,用于提供输入残差矢量7维子矢量量化时的子码书搜索范围。

一级码书单元,包括码书C′11存储单元和码书C′12存储单元,码书C′11和码书C′12根据码书分类算法得到,其中码书C′11用于提供输入残差矢量9维子矢量量化时的码书;码书C′12用于提供输入残差矢量7维子矢量量化时的码书。

量化模块11,用于根据欧式距离测度在分类器1确定输入残差矢量9维子矢量的子码书搜索范围,并在码书C′11的子码书中确定输入残差矢量9维子矢量的矢量量化值及量化索引,并将量化索引提供给码流以在信道传送;

量化模块12,用于根据欧式距离测度在分类器2确定输入残差矢量7维子矢量的子码书搜索范围,并在码书C′12的子码书中确定输入残差矢量7维子矢量的矢量量化值及量化索引,并将量化索引提供给码流以在信道传送;

二级分裂矢量量化器编码器装置用于对码书分类重排分裂矢量量化器编码器提供的一级量化残差进行分裂矢量量化。其中的

二级码书单元,存储5个2级码书,码书C21到码书C25,用于分别给量化器21到25提供码书查询。

量化器21到25,用于根据码书分类重排分裂矢量量化器编码器提供的一级量化残差,确定二级输入待量化矢量的矢量量化值及量化索引,并将量化索引提供给码流以在信道传送。

图8示出了本发明码书分类重排多级分裂矢量量化器解码器装置结构示意图。该装置包括一级码书单元、二级码书单元、矢量均值单元、解码模块和加法器。其中

一级码书单元,包括码书C′11存储单元和码书C′12存储单元,用于存储码书C′11和码书C′12,为解码模块提供码书查询。

二级码书单元,存储5个2级码书,码书C21到码书C25,为解码模块提供码书查询。

矢量均值单元,用于提供量化参数的矢量均值,以得到输入待量化矢量的重构矢量。

解码模块,从信道传送到解码器端的码流中解析出量化索引值,并在一级码书单元和二级码书单元查询一级量化值和二级量化值,提供给加法器。

加法器,用于将解码模块提供的一级量化值、二级量化值和矢量均值单元提供的矢量均值相加,得到输入待量化矢量的重构矢量。

本发明实施例3提供的码书分类重排多级分裂矢量量化器编码器装置,码书分类重排多级分裂矢量量化器解码器装置,构成了AMR-WB算法采用的码书分类重排多级分裂矢量量化器的装置。上述的码书分类重排多级分裂矢量量化器编码器装置也可以作为本发明实施例3提供的AMR-WB算法采用的码书分类重排多级分裂矢量量化器装置中编码器装置的实施方式;上述的码书分类重排多级分裂矢量量化器解码器装置也可以作为本发明实施例3提供的AMR-WB算法采用的码书分类重排多级分裂矢量量化器装置中解码器装置的实施方式。

本发明实施例3提供的码书分类重排多级分裂矢量量化器编码器装置、码书分类重排多级分裂矢量量化器解码器装置和AMR-WB算法采用的码书分类重排多级分裂矢量量化器装置中的各个部件涉及到的计算均可以使用本发明实施例提供的方法或公式计算得到。

下表2给出了AMR-WB算法采用的码书分类重排多级分裂矢量量化器量化时的谱失真值,每帧分别用36bit和46bit量化,采用的是LBG码书分类算法。其中码书分类重排分裂矢量量化器分类器1与分类器2的子码书个数都分别为4、8、16和32个。每帧分别用36bit和46bit量化,36比特/帧对应的是AMR-WB算法编码模式0时的情况,46比特/帧对应的是AMR-WB算法编码模式1到8时的情况;模式0与模式1到8在一级分裂矢量量化时,都采用的是码书分类重排矢量量化方法,使用的码书都是分类重排码书C′11和C′12;原算法中模式0与模式1到8在二级分裂矢量量化时的不同,为本领域技术人员公知的内容。

量化谱失真是否能达到透明量化的效果,是衡量矢量量化性能优劣的一个指标。透明量化效果的条件是:平均谱失真约为1dB;平均谱失真大于4dB帧的百分比趋于0;平均谱失真在2~4dB范围帧的百分比为2%左右;没有平均谱失真超过4dB的语音帧。由表2可以看出,采用本发明的量化方案,量化谱失真达到了透明量化的效果。

表2

表3给出了采用本发明提供的码书分类重排多级分裂矢量量化器量化时,AMR-WB算法重建语音w-PESQ(wideband-Perceptual Evaluation of Speech Quality)值,可以看出,与采用S-MSVQ两级分裂矢量量化器量化方法相比,采用码书分类重排多级分裂矢量量化器量化,分类器1与分类器2码书的的子码书个数分别都是4、8、16和32个时,平均重建语音w-PESQ值都有所提高,这表明本发明在不增加量化比特数,谱失真达到了透明量化效果的情况下,不仅可降低量化复杂度,且还使重建语音质量得到了一定程度的提高。

表3

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号