CN101145787A - 一种矢量量化方法及矢量量化器 - Google Patents

一种矢量量化方法及矢量量化器 Download PDF

Info

Publication number
CN101145787A
CN101145787A CNA2006101274146A CN200610127414A CN101145787A CN 101145787 A CN101145787 A CN 101145787A CN A2006101274146 A CNA2006101274146 A CN A2006101274146A CN 200610127414 A CN200610127414 A CN 200610127414A CN 101145787 A CN101145787 A CN 101145787A
Authority
CN
China
Prior art keywords
vector
difference
sub
quantization
index
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CNA2006101274146A
Other languages
English (en)
Other versions
CN100530979C (zh
Inventor
李立雄
张德军
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CNB2006101274146A priority Critical patent/CN100530979C/zh
Publication of CN101145787A publication Critical patent/CN101145787A/zh
Application granted granted Critical
Publication of CN100530979C publication Critical patent/CN100530979C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Abstract

本发明公开了一种矢量量化方法,其核心思想是,按照待量化矢量维系数间的跳跃值的分布情况对矢量进行分类,然后对待量化矢量与该分类固定轨迹矢量的残差进行量化。本发明并提供相应的矢量量化器。由于本发明方法中所采用的分类方式能够初步确定矢量维系数变化趋势,使得对应每一类的差值码本具有较小的变化范围,在保证重现质量的前提下,有效缩小后续量化过程中所使用的码本容量,从而能够降低所需要的量化比特。

Description

一种矢量量化方法及矢量量化器
技术领域
本发明涉及数字压缩技术领域,具体涉及一种矢量量化方法及矢量量化器。
背景技术
随着多媒体应用的飞速发展,数字压缩技术得到了广泛的重视和研究。无论语音、图像或视频的传输都倚重于低码率高质量的压缩编码方式。目前广为采用的压缩编码方法包括行程长度编码、预测及内插编码、矢量量化(VQ:Vector Quantization)编码等。其中矢量量化编码方法是一种有损编码方式,以其高压缩比和简单的解码方式在语音和图像压缩技术中被广泛使用。
矢量量化编码的核心过程是对输入矢量进行量化的过程。在进行量化前,先通过大量样本的训练或学习,或自组织特征映射神经网络的方法,得到一系列的标准矢量模型,每一个标准矢量模型称为一个码本,若干码本合在一起称为码书,码书实质上相当于数据库,各码本以其索引确定在码书中的位置。初始的语音或图像等数据按照一定的方式形成输入矢量,矢量量化的过程简单说来就是寻找与输入矢量距离最近的码本的索引的过程。在保证重现质量的前提下,缩小码本容量,减少量化索引所需要的比特,是矢量量化方法研究与发展的主要目标。
下面以语音编码中一种较优的矢量量化方法为例说明现有矢量量化的具体处理过程。
语音信号经过线性预测(LP:Linear Prediction)器,得到相应若干阶LP系数,将LP系数转换到频域得到16维线谱频率(ISF:Immittance SpectralFrequency)参数,ISF参数的表达式为:
f i = f s 2 π arccos ( q i ) , i = 0 , K , 14 f s 4 π arccos ( q i ) i = 15
其中,fi∈[0,6400Hz]为ISF参数;fs为采样频率,通常取12800Hz;fi为相应的线谱系数。16维ISF矢量可表示为fi=[f0,f1,...,f15],上标t表示矢量的转置,以下对16维ISF矢量进行量化,包括:
一、根据当前帧ISF矢量的各维系数值进行分类,根据分类确定量化所使用的码书并输出分类索引。可分为8个类别,即,使用8类备选码书。分类准则为寻找与待量化ISF矢量距离最近的码书,公式表示如下
D = Σ j = 0 15 ( f j - sw _ codebook i , j ) 2 isf _ w j , i = 0,1 , . . . , 7
其中,D为误差;sw_codebooki,j为第i类备选码书质心矢量的第j维系数;isf_wi为ISF矢量第j维的加权因子,其值为该维所对应的线谱能量,计算公式为:
w i = ( 1 ( 1 + Σ j a j cos 2 π f j · i ) 2 + ( Σ a j sin 2 π f j · i j ) 2 ) 0.3 , i = 0,1 , . . . , 14 1.0 , i = 15
其中,ai为第j维LP系数。输出的分类索引就是令误差D为最小的索引值i,由于共有8种类别,因此分类索引需要3个量化比特。
二、对ISF矢量分类后,分别用相应类别的码本对当前帧的ISF矢量进行联合分裂矢量量化(Split Vector Quantization),包括:
①将ISF矢量f1分裂为五个子矢量f1(n)、f2(n)、f3(n)、f4(n)和f5(n)。其中f1(n)是4维矢量,f2(n)是3维矢量,f3(n)是3维矢量,f4(n)是3维矢量,f5(n)是3维矢量,各子矢量所包含ISF矢量的维见表1。
②分别对这5个子矢量进行矢量量化,搜索并输出量化索引。考虑重现质量,量化各子矢量所使用码书的码本容量分别等于或小于1024、512、256、128、32,输出的各子矢量量化索引比特分配如表1所示。
表1  ISF矢量量化比特分配表
量化矢量 16维ISF矢量f
子矢量 f1(n) f2(n) f3(n) f4(n) f5(n)
包含维 f0~f3 f4~f6 f7~f9 f10~f12 f13~f15
量化索引 10bits 9bits 8bits 7bits 5bits
在进行子矢量量化时,用ISF加权均方误差作为量化过程中的失真测度,搜索某子矢量量化索引的过程就是在对应码书中寻找使下式值为最小的码本的索引号,
E = Σ i ( f i - f i k ^ ) 2 isf _ w i
其中E为加权量化误差,fi k为被量化子矢量所使用码书中第k个码本的第i维系数;∑表示对该子矢量所包含的各维求和,例如,对于f1而言,就是对i=0~3求和。
综上可以看出,采用上述量化方法对语音信号的16维ISF矢量量化共需要42比特,其中包括分类索引3比特,量化索引39比特,需要耗费较多的量化比特,且码本容量相应的也较大。
发明内容
本发明的目的在于提供一种新的矢量量化方法及相应的矢量量化器,能够在保证重现质量的前提下,减少码本容量,降低所需要的量化比特。
为达到本发明的目的,所采取的技术方案是:一种矢量量化方法,包括:将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;计算待量化矢量与所述轨迹矢量的差值矢量;搜索并输出所述差值矢量的量化索引。
优选的是,所述按照待量化矢量维系数间的跳跃值的分布情况进行分类包括:计算待量化矢量部分或全部相邻维系数间的跳跃值,获得跳跃值中的最大值和次大值;根据所述最大值和次大值出现的位置对待量化矢量进行分类。
所述待量化矢量可以是16维线谱频率参数;所述跳跃值为第3维到第14维之间各相邻系数的11个跳跃值,根据所述最大值和次大值出现的位置分为110类,输出的分类索引为7比特,或者所述跳跃值为第1维到第15维之间各相邻系数的14个跳跃值,根据所述最大值和次大值出现的位置分为182类,输出的分类索引为8比特。
当待量化矢量为16维线谱频率参数时,所述搜索待量化矢量与轨迹矢量的差值矢量的量化索引可采用:将所述差值矢量分裂为第一子矢量、第二子矢量和第三子矢量,所述第一、二、三子矢量分别包括16维差值矢量的5维、5维、6维,或者,所述第一、二、三子矢量分别包括16维差值矢量的4维、6维、6维;分别搜索该三个子矢量的量化索引。
所述第一子矢量可包括待量化矢量第0、1、14、15维与轨迹矢量相应维的差值,所述第二子矢量可包括待量化矢量第2、3、4、5、6、7维与轨迹矢量相应维的差值,所述第三子矢量可包括待量化矢量第8、9、10、11、12、13维与轨迹矢量相应维的差值。
所述第一、二、三子矢量进行量化搜索所采用码书的码本容量可等于或小于1024,其量化索引输出均为10比特。
本发明矢量量化方法中,在所述将待量化矢量进行分类前,也可先将待量化矢量分裂为第一至N子矢量;在计算待量化矢量与所述轨迹矢量的差值矢量时,分别计算第一至N子矢量与所述轨迹矢量相应维的差值,获得第一至N子差值矢量;在搜索并输出待量化矢量与轨迹矢量的差值矢量的量化索引时,分别搜索并输出第一至N子差值矢量的量化索引。
本发明矢量量化方法中,优选的是,在所述将待量化矢量按照其维系数间的跳跃值的分布情况进行分类时,还根据待量化矢量维系数的动态范围对待量化矢量进行分类,由该两种分类参数获得所对应的轨迹矢量。所述根据待量化矢量维系数的动态范围对待量化矢量进行分类,可以按照待量化矢量第0维的系数的动态范围分为8类。
或者优选的是,在所述将待量化矢量按照其维系数间的跳跃值的分布情况进行分类前,先将待量化矢量按照其与若干备选码书之间的距离进行分类,确定与待量化矢量距离最小的码书并输出码书索引;然后按照待量化矢量维系数间的跳跃值的分布情况在相应码书中获得所对应的轨迹矢量。
此外,优选的是,所述搜索待量化矢量与轨迹矢量的差值矢量的量化索引包括:选取所述差值矢量中的部分维作为第一子矢量;搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;根据所述最佳码本获得与所述差值矢量的其余维相对应的均值矢量;计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;搜索并输出所述二次差值矢量的量化索引。
在上述差值矢量量化过程中,进一步的,在搜索到所述第一子矢量的最佳量化值后,还以固定偏移量对所述最佳量化值的全部或部分维系数进行增加或减少修正,输出标识所述修正的修正索引。
所述修正可根据最佳量化值各维系数与第一子矢量各维系数的大小关系进行,若最佳量化值待修正维的系数大于第一子矢量相应维的系数,则进行减少固定偏移量的修正;若最佳量化值待修正维的系数小于或等于第一子矢量相应维的系数,则进行增加固定偏移量的修正。所述固定偏移量优选为第一子矢量与最佳量化值之间统计误差的一半。
在上述差值矢量量化过程中,优选的是,所述第一子矢量包括位于所述差值矢量起始、中间和结尾部分的维。
若待量化矢量为16维线谱频率参数,则其与轨迹矢量的差值矢量为16维,在上述差值矢量量化过程中,所述第一子矢量可包括所述差值矢量的第0、1、8、14和15维;所述修正对所述最佳量化值对应所述差值矢量第0、1维的系数进行,所述修正索引为2比特,分别标识该两个系数的修正为固定偏移量的增加还是减少,或者,所述修正对所述最佳量化值对应所述差值矢量第0、1、8维的系数进行,所述修正索引为3比特,分别标识该三个系数的修正为固定偏移量的增加还是减少。
所述搜索二次差值矢量的量化索引可包括:将所述二次差值矢量分裂为第二子矢量和第三子矢量;所述第二子矢量包括所述差值矢量的第2、3、4、5、6、7维与均值矢量相应维的差值,所述第三子矢量包括所述差值矢量的第9、10、11、12、13维与均值矢量相应维的差值;分别搜索该两个子矢量的量化索引。
在上述差值矢量量化过程中,所述第一、二、三子矢量进行量化搜索所使用码书的码本容量可等于或小于1024,其量化索引输出均为10比特。
此外,在上述差值矢量量化过程中,所述第一、二、三子矢量进行量化搜索可采用如下误差判断准则:
E = Σ i ( VQl i - V Ql ^ i q ) 2 W i
其中E为加权量化误差,VQli为第l子矢量的第i维系数,l=1、2、3,分别对应第一、二、三子矢量,VQli q为第l子矢量相应码书中第q个码本的第i维系数,Wi为该子矢量第i维的权重因子;∑表示对该子矢量所包含的各维求和;所述输出的索引为令上式为最小的码本的索引。
在上述误差判断准则中,进一步的,当l=1时,
Wi=isf_wi*ci
其中isf_wi为该维度所对应的线谱能量,ci为经验加权因子,对应于第0、1、8、14和15维,ci分别为{1.0,1.0,1.0,0.8,0.4}。
本发明还提供一种矢量量化器,包括分类单元、第一差值单元和差值量化单元;所述分类单元,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;所述第一差值单元,用于计算待量化矢量与所述分类单元获得的轨迹矢量的差值矢量;所述差值量化单元,用于搜索并输出所述第一差值单元计算得到的差值矢量的量化索引。
优选的是,所述差值量化单元包括分裂单元、第一量化单元、第二量化单元和第三量化单元;所述分裂单元,用于将所述第一差值单元计算得到的差值矢量分裂为第一子矢量、第二子矢量和第三子矢量;所述第一量化单元、第二量化单元和第三量化单元,分别用于搜索并输出所述分裂单元生成的第一子矢量、第二子矢量和第三子矢量的量化索引。
或者优选的是,本发明矢量量化器还包括分裂单元;所述分裂单元,用于在所述分类单元进行分类前将所述待量化矢量分裂为第一至N子矢量;所述第一差值单元包括第一至N子差值单元,分别用于计算所述分裂单元生成的第一至N子矢量与所述轨迹矢量相应维的差值,获得第一至N子差值矢量;所述差值量化单元包括第一至N子量化单元,分别用于搜索并输出所述第一至N子差值单元计算得到的第一至N子差值矢量的量化索引。
本发明矢量量化器的分类单元可包括第一分类子单元、第二分类子单元和分类索引单元;所述第一分类子单元,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类;所述第二分类子单元,用于根据待量化矢量维系数的动态范围对待量化矢量进行分类;所述分类索引单元,用于按照所述第一、二分类子单元的分类结果获得所对应的轨迹矢量并输出分类索引。
此外优选的是,本发明矢量量化器还包括码书分类单元;所述码书分类单元,用于将待量化矢量按照其与若干备选码书之间的距离进行分类,确定与待量化矢量距离最小的码书并输出码书索引;所述分类单元是从所述码书分类单元确定的码书中获得相应的轨迹矢量。
本发明矢量量化器的差值量化单元优选包括第一量化单元、第二差值单元和二次差值量化单元;所述第一量化单元,用于选取所述第一差值单元计算得到的差值矢量中的部分维作为第一子矢量,搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;所述第二差值单元,用于根据所述第一量化单元搜索到的最佳码本获得与所述第一差值单元计算得到的差值矢量的其余维相对应的均值矢量,计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;所述二次差值量化单元,用于搜索并输出所述第二差值单元计算得到的二次差值矢量的量化索引。
上述差值量化单元还可包括修正单元;所述修正单元,用于在所述第一量化单元搜索到第一子矢量的最佳量化值后,以固定偏移量对所述最佳量化值的全部或部分维系数进行增加或减少修正,输出标识所述修正的修正索引。
上述差值量化单元中的二次差值量化单元可包括分裂单元、第二量化单元和第三量化单元;所述分裂单元,用于将所述第二差值单元计算得到的差值矢量分裂为第二子矢量和第三子矢量;所述第二量化单元和第三量化单元,分别用于搜索并输出所述分裂单元生成的第二子矢量和第三子矢量的量化索引。
采用上述技术方案,本发明有益的技术效果在于:
1)本发明采用按照待量化矢量维系数间的跳跃值的分布情况对矢量进行分类,然后对待量化矢量与该分类固定轨迹矢量的残差进行量化的方法,由于本发明分类方式能够初步确定矢量维系数变化趋势,使得对应每一类的差值码本具有较小的变化范围,在保证重现质量的前提下,有效缩小后续量化过程中所使用的码本容量,从而能够降低所需要的量化比特。
2)本发明进一步在对待量化矢量进行分类时,采用同时考虑其维系数的动态范围的方法,进一步细化分类的类别,使得各类别的轨迹矢量具有更高的贴合度,进一步提高量化的精确度。
3)本发明进一步在对待量化矢量进行分类前,先根据其维系数的动态范围进行码书分类,确定距离最近的码书以进行后续的分类及量化操作,客观上也起到细化分类的作用,进一步提高量化的精确度。
4)本发明进一步采用对差值矢量按其子矢量确定的形状框架进行分类,然后对差值矢量的其余维与该分类固定均值矢量的二次残差进行量化的方法,由于从差值矢量中挑选出的子矢量可基本确定差值矢量的形状轮廓,因此分类后可大大缩小其余维变化的动态范围,使得后续对二次残差的量化所需要的码本容量更小。
5)本发明针对16维ISF矢量提供了若干种具体的跳跃值分类方式和分裂量化方案,这些优选方案与现有ISF矢量量化方案相比,能够以更少的量化比特和更低的码本容量提供相当的主客观语音质量。
下面通过具体实施方式并结合附图对本发明作进一步的详细说明。
附图说明
图1是本发明实施例一矢量量化方法流程示意图;
图2是实施例一中轨迹矢量训练方法流程示意图;
图3是本发明实施例二矢量量化方法流程示意图;
图4是本发明实施例四矢量量化方法流程示意图;
图5是本发明实施例五矢量量化方法流程示意图;
图6是本发明实施例六矢量量化方法流程示意图;
图7是本发明实施例七矢量量化方法流程示意图;
图8是实施例七中最佳码本、最佳量化值与均值矢量的关联关系示意图;
图9是本发明实施例八矢量量化方法流程示意图;
图10是本发明实施例九矢量量化器结构示意图;
图11是本发明实施例十矢量量化器结构示意图;
图12是本发明实施例十一矢量量化器结构示意图;
图13是本发明实施例十二矢量量化器结构示意图;
图14是本发明实施例十三矢量量化器结构示意图;
图15是本发明实施例十四矢量量化器结构示意图;
图16是本发明实施例十五矢量量化器结构示意图。
具体实施方式
本发明提供一种矢量量化方法,其核心思想是,按照待量化矢量维系数间的跳跃值的分布情况对矢量进行分类,然后对待量化矢量与该分类固定轨迹矢量的残差进行量化。在对待量化矢量按照维系数间的跳跃值的分布情况进行分类时,还可同时考虑待量化矢量维系数动态范围的变化,细化分类的类别;也可以在分类前,根据待量化矢量与各种类备选码书的距离先进行码书分类,确定所使用的码书种类,再进行后续的分类及量化操作。在对待量化矢量与轨迹矢量的差值矢量进行量化时,可直接采用分裂量化的方法,也可先量化由差值矢量中部分维组成的子矢量,根据子矢量确定的形状框架对其余维进行分类,然后再对其余维与该分类对应的均值矢量的二次残差进行量化。此外,在对差值矢量中先挑选出的子矢量进行量化后,还可进一步对其最佳量化值进行修正。本发明并提供相应于上述矢量量化方法的矢量量化器。以下分别对本发明方法和装置进行详细说明。
实施例一、一种矢量量化方法,流程如图1所示,包括步骤:
A1、将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
矢量维系数间的跳跃值能够体现矢量的变化趋势,跳跃值的分布情况即表现出该矢量的形状变化情况。一般而言,跳跃值中的极值对形状的影响最为明显,因此本实施例中选取跳跃值中的最大值和次大值作为分布的研究对象,以其出现的位置对待量化矢量进行分类,具体方法为:
A11、计算跳跃值;
若待量化矢量为n维矢量rt(n)=[r0,r1,...,rn-1],则其维系数间的跳跃值Ji为:
Ji=ri+1-ri,i=0,1,...,n-2
共有n-1个跳跃值。在以跳跃值的分布对矢量进行分类时,可根据矢量的具体特点选择使用全部或部分跳跃值,可以将矢量中容易产生异变且对分类意义不大的跳跃值从判断范围中除去。例如,若矢量头尾部份的跳跃值变化情况在实际中对矢量分类的效果影响不大,可以仅使用中间部分的跳跃值,比如J3~Jn-4等。普遍起见,本例中选用全部n-1个跳跃值。
A12、获得跳跃值中的最大值Mmax和次大值Mmax-1,记录下它们的位置信息indexmax和indexmax-1
需要说明的是,对于一般矢量而言,跳跃值Ji可能为正也可能为负,因此,在寻找极值时,可以根据矢量的特点或要求选择设置判断标准为绝对值或者实际值。由于共有n-1个跳跃值,因此indexmax为0~n-2共n-1个值中的一个,indexmax-1为剩余的n-2个值中的一个,因此最大值Mmax和次大值Mmax-1出现的位置共有(n-1)×(n-2)种排列组合,包括:
{indexmax,indexmax-1}={{0,1},{0,2},...,{0,n-2};{1,0},{1,2},...,{1,n-2};...;{n-2,0},{n-2,1},...,{n-2,n-3}}
A13、根据矢量的Mmax和Mmax-1出现的位置从上述(n-1)×(n-2)种类型中确定当前待量化矢量的类型,获得对应的轨迹矢量:mean_ri,i=0~n2-3n+1,并输出相应的分类索引;分类索引所需要占用的量化比特由总的类别数目确定,计算公式为:INT[1+log2(n2-3n+2)],其中“INT”表示取整。通常分类索引占用7~10个比特都是比较适当的,对应的类别总数在65~1024之间。
mean_ri为与n2-3n+2种类型一一对应的固定矢量,n2-3n+2个mean_ri的集合也可视为一个码书,各个mean_ri即为该码书中的码本,以分类索引标记其在该码书中的位置。不过待量化矢量获得分类索引的过程,远比通常采用最小均方误差获得矢量量化索引的过程简单。
由这些轨迹矢量组成的码书,可以采用通常所使用的码书获取方法之一,通过相当数量的测试数据训练获得,一种简单的训练方法如图2所示,包括:
a1、输入足够数量的测试数据并转换为相应的训练矢量,这些测试数据足以代表各种可能出现的待量化矢量的变化趋势;例如,对于语音处理领域,测试数据可以是各种类型的语音信号,由语音信号计算出ISF矢量作为训练矢量;对于图像处理领域,测试数据则可为各种图片等;
a2、按照前述跳跃值分类规则对所有的训练矢量进行分类,并用计数器在每一类中记数本类存在的训练矢量及其数目;
a3、计算各类中所有训练矢量的平均值作为该类的轨迹矢量。
对训练矢量的统计可以以一个设定的数量为上限,达到该数量则认为获得可接受的轨迹矢量;也可采用其它的评价标准,例如,记录训练过程中平均值的变化情况,当变化值在一段持续时间内保持在允许的范围中,则认为获得可接受的轨迹矢量。
A2、计算待量化矢量与其分类所对应的轨迹矢量mean_ri的差值矢量res_r;
res_ri=ri-mean_rj,i, i=0,1,...,n-1
其中res_ri为差值矢量res_r的第i维系数;ri为待量化矢量r的第i维系数;mean_rj,i为r的分类所对应轨迹矢量mean_ri的第i维系数;显然差值矢量res_r也是一个n维矢量;
A3、搜索并输出差值矢量res_r的量化索引;对该差值矢量的量化可采用通常所使用的矢量量化方法,例如直接在相应码书中采用最小均方误差判断准则获得最接近码本的量化索引等。
以上给出了基于本发明提出的按跳跃值分类进行矢量量化的基本方法,需要说明的是,本发明中的“待量化矢量”应当作广义理解,既可以是初始未被量化的矢量,也可以是矢量量化过也程中还未被量化的残差。在此基本方法的基础上,本发明还提供各种改进的方法以获得更好的效果。为便于描述起见,在下面的实施例中以语音处理领域中的16维ISF矢量作为待量化矢量进行示例描述,详细说明本发明的各种优化方案。
实施例二、一种矢量量化方法,流程如图3所示,本实施例与实施例一相比主要改进之处在于在分类时仅考虑起主要作用的部分跳跃值,且在对差值矢量进行量化时采用分裂量化方法;包括步骤:
B1、计算待量化矢量,即16维ISF矢量fl=[f0,f1,…,f15],各维系数间的跳跃值Gi
Gi=fi+1-fi,i=0,1,.…,14
共有15个跳跃值;对帧内ISF系数的实验分析发现,ISF系数之间存在一定的相关性,帧内ISF系数随序列号依次递增,到最后一个系数发生骤降,导致G14的值为负数,为降低运算复杂度,且通过实验证明选用G3~G13共11个跳跃值进行分类效果良好,因此本实施例中仅使用G3~G13进行ISF矢量的分类;
B2、获得11个跳跃值G3~G13中的最大值Mmax和次大值Mmax-1,记录下它们的位置信息indexmax和indexmax-l
G3~G13中的最大值Mmax和次大值Mmax-1出现的位置共有11×10=110种排列组合,包括:
{indexmax,indexmax-1}={{3,4},{3,5},…,{3,13};{4,3},{4,5},…,{4,13};…;{13,3},{13,4},…,{13,12}}
B3、根据Mmax和Mmax-1出现的位置从上述110种类型中确定当前待量化ISF矢量的类型,获得对应的轨迹矢量:mean_isfi,i=0~109,并输出相应的分类索引;本实施例中分类索引需要占用7个量化比特,轨迹矢量mean_isfi可通过实施例一中描述的训练方法获得;
B4、计算ISF矢量f与其分类所对应的轨迹矢量mean_isfj的差值矢量res_isf;
res_isfi=fi-mean_isfj,i,i=0,1,...,15
其中res_isfi为差值矢量res_isf的第i维系数;fi为ISF矢量f的第i维系数;mean_isfj,i为f的分类所对应轨迹矢量mean_sifj的第i维系数;显然差值矢量res_isf也是一个16维矢量;
B5、搜索并输出差值矢量res_isf的量化索引;由于res_isf的维数较大,为降低计算的复杂度,本实施例中采用分裂量化的方法,包括:
B51、将16维差值矢量res_isf分裂为第一子矢量VQ1、第二子矢量VQ2和第三子矢量VQ3,VQ1是4维矢量,VQ2是6维矢量,VQ3是6维矢量,各子矢量所包含差值矢量res_isf的维见表2;
B52、分别对这3个子矢量进行矢量量化,搜索并输出量化索引;进行各子矢量量化搜索的码书的码本容量等于或小于1024,输出的各子矢量量化索引比特分配如表2所示。
表2 差值矢量res_isf量化比特分配衣
量化矢量 16维差值矢量res_isf
子矢量 VQ1 VQ2 VQ3
包含维 res_isf0、1、14、15 res_isf2~res_isf7 res_isf8~res_isf13
量化索引 10bits 10bits 10bits
综上可以看出,采用本实施例量化方法对语音信号的16维ISF矢量量化共需要37比特,其中包括分类索引7比特,量化索引30比特。与现有42比特量化方案相比节约了5个比特,相应的码本容量也缩小为现有的3/8。同时,经语音质量客观测评实验证明,按照本实施方法进行量化编码的语音质量与现有量化编码的语音质量相当。
实施例三、一种矢量量化方法,本实施例与实施例二基本相同,区别之处在于:
一、在分类时使用G1~G14共14个跳跃值进行ISF矢量的分类;G1~G14中的最大值Mmax和次大值Mmax-1出现的位置共有14×13=182种排列组合,因此对应的轨迹矢量分为182个种类,分类索引需要占用8个量化比特;
二、在对差值矢量进行量化时,分裂出的3个子矢量维数分别为:VQ1为5维,VQ2为5维,VQ3为6维;各子矢量仍旧以10比特进行量化,整个量化方案共需要38比特。
本实施例与实施例二相比分类更加细致,提高了量化的精确度。
实施例四、一种矢量量化方法,流程如图4所示,本实施例与实施例二基本相同,区别之处在于,是在进行ISF矢量分类前先对ISF矢量进行分裂,然后再执行后续的分类和量化操作;包括:
C1、将16维ISF矢量ft=[f0,f1,…,f15]分裂为N个子矢量;
考虑ISF矢量的总维度,本实施例中取N为3,包括第一子矢量VQ1=[f0,f1,f14,f15]、第二子矢量VQ2=[f2,f3,...,f7]、第三子矢量VQ3=[f8,f9,...,f13];
C2、计算ISF矢量f的维系数间的跳跃值Gi
C3、获得11个跳跃值G3~G13中的最大值Mmax和次大值Mmax-1,记录下它们的位置信息indexmax和indexmax-1
C4、根据Mmax和Mmax-1出现的位置从110种类型中获得对应的轨迹矢量:mean_isfi,i=0~109,并输出相应的7比特分类索引;
C5、分别计算三个子矢量VQ1、VQ2、VQ3与其所对应的轨迹矢量mean_isfj相应维的差值,获得第一至三子差值矢量res_VQ1~3:
res_VQ1i=VQ1i-mean_isfj,i,i=0,1,14,15
res_VQ2i=VQ2i-mean_isfj,i,i=2,3,...,7
res_VQ3i=VQ3i-mean_isfj,i,i=8,9,...,13
其中res_VQ1~3i为子差值矢量res_VQ1~3的第i维系数;VQ1~3i为子ISF矢量VQ1~3的第i维系数;mean_isfj,i为f的分类所对应轨迹矢量mean_isfj的第i维系数;
C6、分别搜索并输出第一至三子差值矢量res_VQ1~3的量化索引,各子差值矢量仍旧以10比特进行量化,整个量化方案共需要37比特。
实施例五、一种矢量量化方法,流程如图5所示,本实施例与实施例一相比主要改进之处在于在分类时除了依据跳跃值的分布情况,还同时考虑ISF矢量维系数的动态范围,对轨迹矢量的类别进行进一步的细化;包括步骤:
D1、将ISF矢量按照其维系数间的跳跃值的分布情况,以及维系数的动态范围进行分类,获得其类别所对应的轨迹矢量并输出分类索引;
关于跳跃值的分类,可按照实施例二中的方式进行;
关于动态范围的分类,根据ISF系数的特点,本实施例中选取ISF矢量第0维的系数f0的动态范围作为分类依据,将f0的动态范围分为8类,具体取值范围可根据实际应用环境确定,例如,可采用对f0的动态统计范围进行等间隔划分的形式,或者也可采用按照训练值的出现频率等几率划分的形式等;
加入f0的8种动态范围后,总类别由跳跃值确定的110类扩展为110×8=880类,相应的轨迹矢量也扩展为880种,当然,在轨迹矢量的训练过程中,所使用的分类原则也需要对应增加关于f0的动态范围的判断;因此,本实施例中分类索引所需要占用的量化比特数目增加到10个;
D2、计算ISF矢量与其分类所对应的轨迹矢量的差值矢量;
D3、搜索并输出差值矢量的量化索引;可按照实施例二中的分裂量化方式进行,将差值矢量分裂为三个子矢量,用30个比特进行量化。
本实施例整个量化方案共需要40比特,由于分类数目大幅度提高,并且分类依据来自不同角度,分类更准确,因此本实施例方法具有更好的量化精确度。
实施例六、一种矢量量化方法,流程如图6所示,本实施例与实施例一相比主要改进之处在于,在进行ISF矢量的跳跃值分类前,先进行码书的选择,然后再执行后续的分类量化操作;包括步骤:
E1、将ISF矢量按照其与若干备选码书之间的距离进行分类,确定与ISF矢量距离最小的码书并输出码书索引;
在本实施例中,所使用的码书不再唯一,而是具有多个种类,这些备选码书可按照现有的码书训练方法,例如LBG算法等,依据一定的分类原则生成,例如,参考上一实施例,可依据f0的动态范围训练成8个码书,则相应的码书索引需要3个比特;
E2、按照ISF矢量维系数间的跳跃值的分布情况在相应码书中获得所对应的轨迹矢量并输出分类索引,可按照实施例二中的方式进行,输出7比特的分类索引;
E3、计算ISF矢量与其分类所对应的轨迹矢量的差值矢量;
E4、搜索并输出差值矢量的量化索引;可按照实施例二中的分裂量化方式进行,将差值矢量分裂为三个子矢量,用30个比特进行量化。
本实施例整个量化方案共需要40比特,由于在分类前进行了最近距离码书选择,实质上相当于提高了分类的准确性,因此本实施例方法具有更好的量化精确度。
实施例七、一种矢量量化方法,流程如图7所示,本实施例与实施例一相比主要改进之处在于,在对差值矢量进行量化时,采用进一步分类,获得并量化二次残差的方法;包括步骤:
F1、按照ISF矢量维系数间的跳跃值的分布情况获得所对应的轨迹矢量并输出分类索引,可按照实施例二中的方式进行,输出7比特的分类索引;
F2、计算ISF矢量与其分类所对应的轨迹矢量的16维差值矢量res_isf;
F3、对差值矢量进行量化,包括:
F31、选取16维差值矢量res_isf中的部分维作为第一子矢量VQ1;
为了更好的体现待量化矢量的整体框架,一般可选择位于矢量起始、中间和结尾部分的维来构成第一子矢量VQ1,本实施例中考虑到ISF矢量一次残差的普遍特点,选择res_isf的第0、1、8、14和15维作为VQ1;
F32、搜索第一子矢量VQ1的最佳量化值并输出该最佳量化值所对应的最佳码本的索引;
具体量化搜索过程可采用通常所使用的加权均方误差准则,即在码书中寻找令下式为最小的码本的索引:
E = Σ i ( VQl i - V Q ^ l i q ) 2 W i
其中,E为加权量化误差;VQ1i为第一子矢量VQ1的第i维系数;VQ1i q为VQ1相应码书中第q个码本的第i维系数;∑表示对VQ1所包含的各维求和,显然,i只能取0、1、8、14和15;Wi为VQ1第i维的权重因子,可由如下公式计算,
Wi=isf_wi*ci
其中,isf_wi为该维度所对应的线谱能量,可采用现有方式计算获得;ci为经验加权因子,对应于第0、1、8、14和15维,ci分别为{1.0,1.0,1.0,0.8,0.4};令E为最小的码本的索引即输出为VQ1的量化索引;本实施例中,量化VQ1所使用码书的码本容量为1024,VQ1的量化索引输出为10比特;
F33、根据VQ1量化得到的最佳码本获得与差值矢量res_isf的其余维[res_isf2,res_isf3,…,res_isf7,res_isf9,res_isf10,…,res_isf13]相对应的均值矢量;
由于VQ1可认为包含了差值矢量res_isf的形状信息,因此VQ1量化得到的最佳量化值就确定了差值矢量res_isf的形状;确定VQ1后res_isf其余维的动态变化范围大大缩小,可通过VQ1的量化对res_isf进行分类,在本例中为1024类,每类对应固定的与res_isf的其余维相对应的均值矢量;
当然VQ1的最佳量化值可以是一组或多组与一组固定的均值矢量相对应,均值矢量也可独立于VQ1的最佳量化值所属的最佳码本单独存放;但为数据处理的简洁起见,本实施例中采用一种简单直接的关联方式,即,VQ1的一组最佳量化值唯一映射一组固定的均值矢量,一对互相映射的最佳量化值和均值矢量构成一个最佳码本,显然,在这种方式下,最佳码本与差值矢量res_isf具有相同的维数;
以下举例来说明这种最佳码本的确定方法及其与最佳量化值、均值矢量之间的关联关系。简明起见,假设最佳码本为6维矢量,最佳量化值与均值矢量均为3维矢量,如图8所示:
假设在对6维矢量进行码本训练时,通过6维矢量的前3维矢量将码本分为若干类,经过某种误差判定准则计算,6维矢量vq1的前3维矢量{1,2,4}和矢量vq2的前3维矢量{1,3,6}属于第i类,6维矢量vq3的前3维矢量{1,7,4}和6维矢量vq4的前3维矢量{1,6,3}属于第j类,因此,在仅统计这4个训练样本的情况下(大量样本的情况可类推),可以得到第i类最佳码本的前3维矢量为{1,2.5,5},第j类最佳码本的前3维矢量为{1,6.5,3.5};同时计算属于同一类的6维矢量后3维矢量的平均值作为最佳6维码本的后3维矢量。即将平均值{5.5,8.5,2.5}作为第i类最佳6维码本的后3维矢量,将{8.5,2.5,5}作为第j类最佳6维码本的后3维矢量。至此,即获得第i和第j类的最佳6维码本。类似的,与res_isf对应的16维最佳码本可通过相似的方式获得。VQ1即相当于上述6维矢量中用作聚类判断的前3维矢量,其对应的最佳量化值相当于最佳6维码本的前3维矢量,通过该前3维矢量即可确定同属于一个最佳6维码本的后3维矢量,该后3维矢量即相当于所称均值矢量;
F34、计算差值矢量res_isf的其余维与均值矢量的二次差值矢量res_isf”;
rcs _ is f i = res _ is f i - res _ is f i q , i = 2,3 , . . . , 7,9 , . . . , 12,13
其中,res_isfi为二次差值矢量res_isf”的第i维系数;res_isfi为差值矢量res_isf的第i维系数;res_isfi q为VQ1对应的最佳码本的第i维系数,最佳码本中序号为i=2,3,…,7,9,…,12,13的11维系数构成均值矢量;需要说明的是,VQ1与最佳量化值为5维矢量,二次差值矢量res_isf”与均值矢量为11维矢量,但为描述清楚一致起见,本文中对该四个矢量各维系数的编号仍使用对应于16维差值矢量res_isf及所属最佳码本中编号的形式,不再进行重新顺序编号;
F35、搜索并输出二次差值矢量res_isf”的量化索引;由于res_isf”的维数仍较大,本实施例仿照实施例二中对差值矢量的处理方式,采用分裂量化的方法进行二次差值矢量的量化,包括:
F351、将11维二次差值矢量res_isf”分裂为第二子矢量VQ2和第三子矢量VQ3,VQ2为6维矢量,包括res_isf2”~res_isf7;VQ3为5维矢量,包括res_isf9~res_isf13
F352、分别对VQ2和VQ3进行矢量量化,搜索并输出量化索引;具体量化搜索过程可参照VQ1的量化过程进行,只是权重因子Wi中不包含经验加权因子ci;本实施例中,量化VQ2和VQ3所使用码书的码本容量均为1024,VQ2和VQ3的量化索引输出均为10比特;
本实施例整个量化方案共需要37比特,其中包括分类索引7比特,量化索引30比特。本实施差值矢量量化过程中,VQ1的量化索引同时起到了量化和分类的作用,在不需要增加额外比特的前提下,缩小了未量化部分的动态范围,提高了量化精确度。
实施例八、一种矢量量化方法,流程如图9所示,本实施例与实施例七基本相同,区别之处在于,在对进行VQ1进行量化获得其最佳量化值后,还执行修正并输出修正索引;包括:
G1、按照ISF矢量维系数间的跳跃值的分布情况获得所对应的轨迹矢量并输出分类索引,可按照实施例二中的方式进行,输出7比特的分类索引;
G2、计算ISF矢量与其分类所对应的轨迹矢量的16维差值矢量res_isf;
G3、选取16维差值矢量res_isf中的第0、1、8、14和15维作为第一子矢量VQ1;
G4、搜索第一子矢量VQ1的最佳量化值并输出该最佳量化值所对应的最佳码本的索引;可参照实施例七中的方式进行,输出10比特量化索引;
G5、以固定偏移量对VQ1最佳量化值的全部或部分维系数进行增加或减少修正,输出标识修正的修正索引;
基于矢量量化本质的有损性,一般而言,最佳量化值与VQ1之间始终存在一定的误差,为了使误差均衡分布,本实施例中采用以固定偏移量进行修正的方法。修正可以对全部或部分维系数进行,由于对每个维系数的修正都需要用1个比特来指示该修正为增加还是减少,因此,本实施例中仅选择对重现质量影响较大的维系数进行修正,即最佳量化值中第0、1、8维的系数,这样输出的修正索引需要3比特。当然,为进一步节省量化比特,也可仅对最佳量化值中第0、1维的系数进行修正,输出的修正索引减少为2比特。
具体确定修正为增加或减少的原则可根据实际应用环境确定,本实施例中采用一种简单的修正判断方式,即,若最佳量化值待修正维的系数大于VQ1相应维的系数,则进行减少固定偏移量的修正;若最佳量化值待修正维的系数小于或等于VQ1相应维的系数,则进行增加固定偏移量的修正;修正公式如下:
res _ isf i q = res _ isf i q ( 1 + &alpha; ) , VQ 1 i &GreaterEqual; res _ isf i q , i = 0,1,8 res _ isf i q ( 1 - &alpha; ) , VQ 1 i < res _ isf i q ,
其中,等号右/左侧的
Figure A20061012741400262
分别为最佳码本第i维系数修正前/后的值;α为固定偏移量;为避免扩大最佳量化值与VQ1的统计误差范围,α设置为最佳量化值与VQ1之间统计误差的一半,具体取值可通过对实际应用环境进行相当数量的误差统计获得;相应的修正索引Indexi的取值公式为:
Index i = 0 , VQ 1 i &GreaterEqual; res _ isf i q , i = 0 , 1,8 1 , VQ 1 i < res _ isf i q
当然,也可以设置Indexi的值为0时表示减少,为1时表示增加。
G6、根据VQ1量化得到的最佳码本获得与差值矢量res_isf的其余维相对应的均值矢量:
G7、搜索并输出二次差值矢量的量化索引;可参照实施例七中的方式进行,输出20比特量化索引。
本实施例整个量化方案共需要40比特,相比实施例7增加了3比特的修正索引,其优点在于,由于引入了对主要矢量量化维度的修正,具有更好的重现效果。
上述实施例二~八中分别提出了若干种基于实施例一的改进方法,为清楚起见,在这些方法中对各种改进之处进行了独立的描述,事实上,这些方法中所提出的改进之处也可同时在量化过程中被采用,可根据实际环境的需要综合使用这些改进的方法。
下面对相应于上述各种量化方法的矢量量化器进行详细说明。
实施例九、一种矢量量化器,如图10所示,包括分类单元11、第一差值单元12和差值量化单元13;
分类单元11,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元12,用于计算待量化矢量与分类单元11获得的轨迹矢量的差值矢量;
差值量化单元13,用于搜索并输出第一差值单元12计算得到的差值矢量的量化索引。
本实施例矢量量化器可采用实施例一中提供的矢量量化方法。
实施例十、一种矢量量化器,如图11所示,包括分类单元21、第一差值单元22和差值量化单元23,差值量化单元23包括分裂单元231、第一量化单元232、第二量化单元233和第三量化单元234;
分类单元21,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元22,用于计算待量化矢量与分类单元11获得的轨迹矢量的差值矢量;
分裂单元231,用于将第一差值单元22计算得到的差值矢量分裂为第一子矢量、第二子矢量和第三子矢量;
第一量化单元232、第二量化单元233和第三量化单元234,分别用于搜索并输出分裂单元231生成的第一子矢量、第二子矢量和第三子矢量的量化索引。
本实施例矢量量化器可采用实施例二或三中提供的矢量量化方法。
实施例十一、一种矢量量化器,如图12所示,包括分类单元31、第一差值单元32、差值量化单元33和分裂单元34;
分裂单元34,用于将待量化矢量分裂为第一至N子矢量;
分类单元31,用于将分裂单元34分裂后的待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元32包括第一至N子差值单元,分别用于计算分裂单元34生成的第一至N子矢量与分类单元31获得的轨迹矢量相应维的差值,获得第一至N子差值矢量;
差值量化单元33包括第一至N子量化单元,分别用于搜索并输出第一差值单元32的第一至N子差值单元计算得到的第一至N子差值矢量的量化索引。
本实施例矢量量化器可采用实施例四中提供的矢量量化方法。
实施例十二、一种矢量量化器,如图13所示,包括分类单元41、第一差值单元42和差值量化单元43;分类单元41包括第一分类子单元411、第二分类子单元412和分类索引单元413;差值量化单元43包括分裂单元431、第一量化单元432、第二量化单元433和第三量化单元434;
第一分类子单元411,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类;
第二分类子单元412,用于根据待量化矢量维系数的动态范围对待量化矢量进行分类;
分类索引单元413,用于按照第一、二分类子单元411、412的分类结果获得所对应的轨迹矢量并输出分类索引;
第一差值单元42,用于计算待量化矢量与分类单元41的分类索引单元413获得的轨迹矢量的差值矢量;
分裂单元431,用于将第一差值单元42计算得到的差值矢量分裂为第一子矢量、第二子矢量和第三子矢量;
第一量化单元432、第二量化单元433和第三量化单元434,分别用于搜索并输出分裂单元431生成的第一子矢量、第二子矢量和第三子矢量的量化索引。
本实施例矢量量化器可采用实施例五中提供的矢量量化方法。
实施例十三、一种矢量量化器,如图14所示,包括分类单元51、第一差值单元52、差值量化单元53和码书分类单元54;
码书分类单元54,用于将待量化矢量按照其与若干备选码书之间的距离进行分类,确定与待量化矢量距离最小的码书并输出码书索引;
分类单元51,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,从码书分类单元54确定的码书中获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元52,用于计算待量化矢量与分类单元51获得的轨迹矢量的差值矢量;
差值量化单元53,用于搜索并输出第一差值单元52计算得到的差值矢量的量化索引。
本实施例中差值量化单元可具有实施例十中差值量化单元的结构形式,本实施例矢量量化器可采用实施例六中提供的矢量量化方法。
实施例十四、一种矢量量化器,如图15所示,包括分类单元51、第一差值单元52、差值量化单元53;差值量化单元53包括第一量化单元531、第二差值单元532和二次差值量化单元533;二次差值量化单元533包括分裂单元5331、第二量化单元5332和第三量化单元5333;
分类单元51,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元52,用于计算待量化矢量与分类单元51获得的轨迹矢量的差值矢量;
第一量化单元531,用于选取第一差值单元52计算得到的差值矢量中的部分维作为第一子矢量,搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;
第二差值单元532,用于根据第一量化单元531搜索到的最佳码本获得与第一差值单元52计算得到的差值矢量的其余维相对应的均值矢量,计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;
分裂单元5331,用于将第二差值单元532计算得到的差值矢量分裂为第二子矢量和第三子矢量;
第二量化单元5332和第三量化单元5333,分别用于搜索并输出分裂单元5331生成的第二子矢量和第三子矢量的量化索引。
本实施例矢量量化器可采用实施例七中提供的矢量量化方法。
实施例十五、一种矢量量化器,如图16所示,包括分类单元61、第一差值单元62、差值量化单元63;差值量化单元63包括第一量化单元631、第二差值单元632、二次差值量化单元633和修正单元634;
分类单元61,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
第一差值单元62,用于计算待量化矢量与分类单元61获得的轨迹矢量的差值矢量;
第一量化单元631,用于选取第一差值单元62计算得到的差值矢量中的部分维作为第一子矢量,搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;
修正单元634,用于在第一量化单元631搜索到第一子矢量的最佳量化值后,以固定偏移量对所述最佳量化值的全部或部分维系数进行增加或减少修正,输出标识所述修正的修正索引;
第二差值单元632,用于根据第一量化单元631搜索到的最佳码本获得与第一差值单元62计算得到的差值矢量的其余维相对应的均值矢量,计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;
二次差值量化单元633,用于搜索并输出第二差值单元632计算得到的二次差值矢量的量化索引。
本实施例中二次差值量化单元可具有实施例十四中二次差值量化单元的结构形式,本实施例矢量量化器可采用实施例八中提供的矢量量化方法。
以上对本发明所提供的矢量量化方法及矢量量化器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (29)

1.一种矢量量化方法,其特征在于,包括:
将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
计算待量化矢量与所述轨迹矢量的差值矢量;
搜索并输出所述差值矢量的量化索引。
2.根据权利要求1所述的矢量量化方法,其特征在于,所述按照待量化矢量维系数间的跳跃值的分布情况进行分类包括:
计算待量化矢量部分或全部相邻维系数间的跳跃值,获得跳跃值中的最大值和次大值;
根据所述最大值和次大值出现的位置对待量化矢量进行分类。
3.根据权利要求2所述的矢量量化方法,其特征在于:所述待量化矢量为16维线谱频率参数;
所述跳跃值为第3维到第14维之间各相邻系数的11个跳跃值,根据所述最大值和次大值出现的位置分为110类,输出的分类索引为7比特,或者
所述跳跃值为第1维到第15维之间各相邻系数的14个跳跃值,根据所述最大值和次大值出现的位置分为182类,输出的分类索引为8比特。
4.根据权利要求3所述的矢量量化方法,其特征在于,所述搜索待量化矢量与轨迹矢量的差值矢量的量化索引包括:
将所述差值矢量分裂为第一子矢量、第二子矢量和第三子矢量,所述第一、二、三子矢量分别包括16维差值矢量的5维、5维、6维,或者,
所述第一、二、三子矢量分别包括16维差值矢量的4维、6维、6维;
分别搜索该三个子矢量的量化索引。
5.根据权利要求4所述的矢量量化方法,其特征在于:所述第一子矢量包括待量化矢量第0、1、14、15维与轨迹矢量相应维的差值,所述第二子矢量包括待量化矢量第2、3、4、5、6、7维与轨迹矢量相应维的差值,所述第三子矢量包括待量化矢量第8、9、10、11、12、13维与轨迹矢量相应维的差值。
6.根据权利要求4所述的矢量量化方法,其特征在于:所述第一、二、三子矢量进行量化搜索的码书的码本容量等于或小于1024,其量化索引输出均为10比特。
7.根据权利要求1所述的矢量量化方法,其特征在于:在所述将待量化矢量进行分类前,先将待量化矢量分裂为第一至N子矢量;
在计算待量化矢量与所述轨迹矢量的差值矢量时,分别计算第一至N子矢量与所述轨迹矢量相应维的差值,获得第一至N子差值矢量;
在搜索并输出待量化矢量与轨迹矢量的差值矢量的量化索引时,分别搜索并输出第一至N子差值矢量的量化索引。
8.根据权利要求1~7任意一项所述的矢量量化方法,其特征在于:在所述将待量化矢量按照其维系数间的跳跃值的分布情况进行分类时,还根据待量化矢量维系数的动态范围对待量化矢量进行分类,由该两种分类参数获得所对应的轨迹矢量。
9.根据权利要求8所述的矢量量化方法,其特征在于:所述根据待量化矢量维系数的动态范围对待量化矢量进行分类,是按照待量化矢量第0维的系数的动态范围分为8类。
10.根据权利要求1~7任意一项所述的矢量量化方法,其特征在于:在所述将待量化矢量按照其维系数间的跳跃值的分布情况进行分类前,先将待量化矢量按照其与若干备选码书之间的距离进行分类,确定与待量化矢量距离最小的码书并输出码书索引;然后按照待量化矢量维系数间的跳跃值的分布情况在相应码书中获得所对应的轨迹矢量。
11.根据权利要求1或2所述的矢量量化方法,其特征在于,所述搜索待量化矢量与轨迹矢量的差值矢量的量化索引包括:
选取所述差值矢量中的部分维作为第一子矢量;
搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;
根据所述最佳码本获得与所述差值矢量的其余维相对应的均值矢量;
计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;
搜索并输出所述二次差值矢量的量化索引。
12.根据权利要求11所述的矢量量化方法,其特征在于:在搜索到所述第一子矢量的最佳量化值后,还以固定偏移量对所述最佳量化值的全部或部分维系数进行增加或减少修正,输出标识所述修正的修正索引。
13.根据权利要求12所述的矢量量化方法,其特征在于:所述修正根据最佳量化值各维系数与第一子矢量各维系数的大小关系进行,若最佳量化值待修正维的系数大于第一子矢量相应维的系数,则进行减少固定偏移量的修正;若最佳量化值待修正维的系数小于或等于第一子矢量相应维的系数,则进行增加固定偏移量的修正。
14.根据权利要求13所述的矢量量化方法,其特征在于:所述固定偏移量为第一子矢量与最佳量化值之间统计误差的一半。
15.根据权利要求13所述的矢量量化方法,其特征在于:所述待量化矢量为16维线谱频率参数,其与轨迹矢量的差值矢量为16维,所述第一子矢量包括所述差值矢量的第0、1、8、14和15维;
所述修正对所述最佳量化值对应所述差值矢量第0、1维的系数进行,所述修正索引为2比特,分别标识该两个系数的修正为固定偏移量的增加还是减少,或者,
所述修正对所述最佳量化值对应所述差值矢量第0、1、8维的系数进行,所述修正索引为3比特,分别标识该三个系数的修正为固定偏移量的增加还是减少。
16.根据权利要求11所述的矢量量化方法,其特征在于:所述第一子矢量包括位于所述差值矢量起始、中间和结尾部分的维。
17.根据权利要求16所述的矢量量化方法,其特征在于:所述待量化矢量为16维线谱频率参数,其与轨迹矢量的差值矢量为16维,所述第一子矢量包括所述差值矢量的第0、1、8、14和15维。
18.根据权利要求17所述的矢量量化方法,其特征在于,所述搜索二次差值矢量的量化索引包括:
将所述二次差值矢量分裂为第二子矢量和第三子矢量;所述第二子矢量包括所述差值矢量的第2、3、4、5、6、7维与均值矢量相应维的差值,所述第三子矢量包括所述差值矢量的第9、10、11、12、13维与均值矢量相应维的差值;
分别搜索该两个子矢量的量化索引。
19.根据权利要求18所述的矢量量化方法,其特征在于:所述第一、二、三子矢量进行量化搜索的码书的码本容量等于或小于1024,其量化索引输出均为10比特。
20.根据权利要求18所述的矢量量化方法,其特征在于:所述第一、二、三子矢量进行量化搜索采用如下误差判断准则:
E = &Sigma; i ( VQl i - VQl i q ) 2 W i
其中E为加权量化误差,VQli为第l子矢量的第i维系数,l=1、2、3,分别对应第一、二、三子矢量,VQli q为第l子矢量相应码书中第q个码本的第i维系数,Wi为该子矢量第i维的权重因子;∑表示对该子矢量所包含的各维求和;所述输出的索引为令上式为最小的码本的索引。
21.根据权利要求20所述的矢量量化方法,其特征在于:当l=1时,
Wi=isf_wi*ci
其中isf_wi为该维度所对应的线谱能量,ci为经验加权因子,对应于第0、1、8、14和15维,ci分别为{1.0,1.0,1.0,0.8,0.4}。
22.一种矢量量化器,其特征在于:包括分类单元、第一差值单元和差值量化单元;
所述分类单元,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类,获得该分类所对应的轨迹矢量并输出分类索引;
所述第一差值单元,用于计算待量化矢量与所述分类单元获得的轨迹矢量的差值矢量;
所述差值量化单元,用于搜索并输出所述第一差值单元计算得到的差值矢量的量化索引。
23.根据权利要求22所述的矢量量化器,其特征在于:所述差值量化单元包括分裂单元、第一量化单元、第二量化单元和第三量化单元;
所述分裂单元,用于将所述第一差值单元计算得到的差值矢量分裂为第一子矢量、第二子矢量和第三子矢量;
所述第一量化单元、第二量化单元和第三量化单元,分别用于搜索并输出所述分裂单元生成的第一子矢量、第二子矢量和第三子矢量的量化索引。
24.根据权利要求22所述的矢量量化器,其特征在于:还包括分裂单元;
所述分裂单元,用于在所述分类单元进行分类前将所述待量化矢量分裂为第一至N子矢量;
所述第一差值单元包括第一至N子差值单元,分别用于计算所述分裂单元生成的第一至N子矢量与所述轨迹矢量相应维的差值,获得第一至N子差值矢量;
所述差值量化单元包括第一至N子量化单元,分别用于搜索并输出所述第一至N子差值单元计算得到的第一至N子差值矢量的量化索引。
25.根据权利要求22~24任意一项所述的矢量量化器,其特征在于:所述分类单元包括第一分类子单元、第二分类子单元和分类索引单元;
所述第一分类子单元,用于将待量化矢量按照其维系数间的跳跃值的分布情况进行分类;
所述第二分类子单元,用于根据待量化矢量维系数的动态范围对待量化矢量进行分类;
所述分类索引单元,用于按照所述第一、二分类子单元的分类结果获得所对应的轨迹矢量并输出分类索引。
26.根据权利要求22~24任意一项所述的矢量量化器,其特征在于:还包括码书分类单元;
所述码书分类单元,用于将待量化矢量按照其与若干备选码书之间的距离进行分类,确定与待量化矢量距离最小的码书并输出码书索引;
所述分类单元是从所述码书分类单元确定的码书中获得相应的轨迹矢量。
27.根据权利要求22所述的矢量量化器,其特征在于:所述差值量化单元包括第一量化单元、第二差值单元和二次差值量化单元;
所述第一量化单元,用于选取所述第一差值单元计算得到的差值矢量中的部分维作为第一子矢量,搜索所述第一子矢量的最佳量化值并输出所述最佳量化值所对应的最佳码本的索引;
所述第二差值单元,用于根据所述第一量化单元搜索到的最佳码本获得与所述第一差值单元计算得到的差值矢量的其余维相对应的均值矢量,计算所述差值矢量的其余维与所述均值矢量的二次差值矢量;
所述二次差值量化单元,用于搜索并输出所述第二差值单元计算得到的二次差值矢量的量化索引。
28.根据权利要求27所述的矢量量化器,其特征在于:所述差值量化单元还包括修正单元:
所述修正单元,用于在所述第一量化单元搜索到第一子矢量的最佳量化值后,以固定偏移量对所述最佳量化值的全部或部分维系数进行增加或减少修正,输出标识所述修正的修正索引。
29.根据权利要求27或28所述的矢量量化器,其特征在于:所述二次差值量化单元包括分裂单元、第二量化单元和第三量化单元;
所述分裂单元,用于将所述第二差值单元计算得到的差值矢量分裂为第二子矢量和第三子矢量;
所述第二量化单元和第三量化单元,分别用于搜索并输出所述分裂单元生成的第二子矢量和第三子矢量的量化索引。
CNB2006101274146A 2006-09-13 2006-09-13 一种矢量量化方法及矢量量化器 Expired - Fee Related CN100530979C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2006101274146A CN100530979C (zh) 2006-09-13 2006-09-13 一种矢量量化方法及矢量量化器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2006101274146A CN100530979C (zh) 2006-09-13 2006-09-13 一种矢量量化方法及矢量量化器

Publications (2)

Publication Number Publication Date
CN101145787A true CN101145787A (zh) 2008-03-19
CN100530979C CN100530979C (zh) 2009-08-19

Family

ID=39208113

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2006101274146A Expired - Fee Related CN100530979C (zh) 2006-09-13 2006-09-13 一种矢量量化方法及矢量量化器

Country Status (1)

Country Link
CN (1) CN100530979C (zh)

Cited By (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009056047A1 (en) * 2007-10-25 2009-05-07 Huawei Technologies Co., Ltd. A vector quantizating method and vector quantizer
CN102025998A (zh) * 2010-12-28 2011-04-20 重庆邮电大学 一种数字图像信号矢量量化码书设计方法
CN103746705A (zh) * 2014-01-20 2014-04-23 成都乐创信息科技有限公司 一种压缩矢量数据的方法
CN104269176A (zh) * 2014-09-30 2015-01-07 武汉大学深圳研究院 一种isf系数矢量量化的方法与装置
CN105431901A (zh) * 2014-07-28 2016-03-23 瑞典爱立信有限公司 椎体矢量量化器形状搜索
CN108337000A (zh) * 2017-01-20 2018-07-27 辉达公司 用于转换到较低精度数据格式的自动方法
CN108366264A (zh) * 2010-06-04 2018-08-03 索尼公司 图像处理设备和方法
CN110209665A (zh) * 2018-02-15 2019-09-06 株式会社东芝 数据处理装置、数据处理方法以及记录介质
CN110598838A (zh) * 2018-06-13 2019-12-20 国际商业机器公司 统计感知权重量化
CN110709928A (zh) * 2017-06-07 2020-01-17 诺基亚技术有限公司 多个结构化码本的有效存储
US10573331B2 (en) 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10580424B2 (en) 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
CN111899748A (zh) * 2020-04-15 2020-11-06 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器

Cited By (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2009056047A1 (en) * 2007-10-25 2009-05-07 Huawei Technologies Co., Ltd. A vector quantizating method and vector quantizer
CN108366264A (zh) * 2010-06-04 2018-08-03 索尼公司 图像处理设备和方法
CN108366264B (zh) * 2010-06-04 2022-08-26 索尼公司 图像处理设备和方法
CN102025998A (zh) * 2010-12-28 2011-04-20 重庆邮电大学 一种数字图像信号矢量量化码书设计方法
CN103746705A (zh) * 2014-01-20 2014-04-23 成都乐创信息科技有限公司 一种压缩矢量数据的方法
CN105431901A (zh) * 2014-07-28 2016-03-23 瑞典爱立信有限公司 椎体矢量量化器形状搜索
CN105431901B (zh) * 2014-07-28 2019-03-19 瑞典爱立信有限公司 椎体矢量量化器形状搜索
CN104269176A (zh) * 2014-09-30 2015-01-07 武汉大学深圳研究院 一种isf系数矢量量化的方法与装置
US10997492B2 (en) 2017-01-20 2021-05-04 Nvidia Corporation Automated methods for conversions to a lower precision data format
CN108337000A (zh) * 2017-01-20 2018-07-27 辉达公司 用于转换到较低精度数据格式的自动方法
CN108337000B (zh) * 2017-01-20 2021-10-08 辉达公司 用于转换到较低精度数据格式的自动方法
US11176953B2 (en) * 2017-06-07 2021-11-16 Nokia Technologies Oy Efficient storage of multiple structured codebooks
CN110709928A (zh) * 2017-06-07 2020-01-17 诺基亚技术有限公司 多个结构化码本的有效存储
CN110709928B (zh) * 2017-06-07 2023-05-16 诺基亚技术有限公司 用于编码音频信号的方法及装置
CN110209665A (zh) * 2018-02-15 2019-09-06 株式会社东芝 数据处理装置、数据处理方法以及记录介质
CN110209665B (zh) * 2018-02-15 2023-07-28 株式会社东芝 数据处理装置、数据处理方法以及记录介质
US10586546B2 (en) 2018-04-26 2020-03-10 Qualcomm Incorporated Inversely enumerated pyramid vector quantizers for efficient rate adaptation in audio coding
US10573331B2 (en) 2018-05-01 2020-02-25 Qualcomm Incorporated Cooperative pyramid vector quantizers for scalable audio coding
US10580424B2 (en) 2018-06-01 2020-03-03 Qualcomm Incorporated Perceptual audio coding as sequential decision-making problems
US10734006B2 (en) 2018-06-01 2020-08-04 Qualcomm Incorporated Audio coding based on audio pattern recognition
CN110598838A (zh) * 2018-06-13 2019-12-20 国际商业机器公司 统计感知权重量化
CN110598838B (zh) * 2018-06-13 2024-01-19 国际商业机器公司 统计感知权重量化
CN111899748A (zh) * 2020-04-15 2020-11-06 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器
CN111899748B (zh) * 2020-04-15 2023-11-28 珠海市杰理科技股份有限公司 基于神经网络的音频编码方法及装置、编码器

Also Published As

Publication number Publication date
CN100530979C (zh) 2009-08-19

Similar Documents

Publication Publication Date Title
CN100530979C (zh) 一种矢量量化方法及矢量量化器
CA2151372C (en) A rapid tree-based method for vector quantization
CN1121681C (zh) 语言处理
CN112633175A (zh) 复杂环境下基于多尺度卷积神经网络单音符实时识别算法
CN101944358B (zh) 基于蚁群聚类算法的码书分类方法及其码书分类装置
JP5006404B2 (ja) ベクトル量子化装置
CN101937680A (zh) 码书分类重排矢量量化方法及其矢量量化器
CN107077857A (zh) 对线性预测系数量化的方法和装置及解量化的方法和装置
CN112861984A (zh) 一种基于特征融合与集成学习的语音情感分类方法
Fan et al. Utterance-level permutation invariant training with discriminative learning for single channel speech separation
Perez-Lapillo et al. Improving singing voice separation with the wave-u-net using minimum hyperspherical energy
CN114627892A (zh) 一种基于深度学习的多声部音乐人声主旋律提取方法
CN102063897B (zh) 一种用于嵌入式语音合成系统的音库压缩及使用方法
Davidson et al. High quality audio coding with MDCTNet
Hedelin Single stage spectral quantization at 20 bits
CN108922549B (zh) 一种基于ip对讲系统中音频压缩的方法
CN100550132C (zh) 线谱频率矢量量化的方法及系统
Nicodemo et al. Memory requirement reduction of deep neural networks for field programmable gate arrays using low-bit quantization of parameters
CN107430869A (zh) 参数决定装置、方法、程序及记录介质
CN108388942A (zh) 基于大数据的信息智能处理方法
CN105340010B (zh) 用于通过应用分布量化和编码分裂音频信号包络的音频信号包络编码、处理和解码的装置和方法
CN101345530B (zh) 一种矢量量化方法及矢量量化器
CN113053418A (zh) 一种基于长短时记忆网络快速识别语音情感类别的方法
Mohammadi et al. Low cost vector quantization methods for spectral coding in low rate speech coders
CN117133275B (zh) 基于单元点积相似度特征的并行化语音识别模型建立方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090819

Termination date: 20190913