CN101345530B - 一种矢量量化方法及矢量量化器 - Google Patents
一种矢量量化方法及矢量量化器 Download PDFInfo
- Publication number
- CN101345530B CN101345530B CN2007101305191A CN200710130519A CN101345530B CN 101345530 B CN101345530 B CN 101345530B CN 2007101305191 A CN2007101305191 A CN 2007101305191A CN 200710130519 A CN200710130519 A CN 200710130519A CN 101345530 B CN101345530 B CN 101345530B
- Authority
- CN
- China
- Prior art keywords
- vector
- vectors
- adjustment
- basic
- associating
- 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.)
- Active
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明公开了一种矢量量化方法,由基础码本矢量与其子矢量的调整矢量组合成的联合码本矢量对待量化矢量进行量化。本发明还提供相应的矢量量化器。由于采用调整矢量对基础码本矢量进行调整,有效扩大了基础码本矢量的动态范围,减小了失真度,使得进行单级量化能够达到或超过多级量化的效果,有效降低码本存储量和量化计算量;并且对基础码本矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量减去基础码本矢量后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的,同时由于利用了维度间的相关性,使得调整矢量数目较少,有利于减小量化的计算量。
Description
技术领域
本发明涉及编码技术,具体涉及一种矢量量化方法及矢量量化器。
背景技术
随着多媒体应用的飞速发展,数字压缩技术得到了广泛的重视和研究。无论语音、图像或视频的传输都倚重于低码率高质量的压缩编码方式。目前广为采用的压缩编码方法包括行程长度编码、预测及内插编码、矢量量化(VQ:Vector Quantization)编码等。其中矢量量化编码方法是一种有损编码方式,以其高压缩比和简单的解码方式在语音和图像压缩技术中被广泛使用。
矢量量化编码的核心过程是对输入矢量进行量化的过程。在进行量化前,先通过大量样本的训练或学习,或自组织特征映射神经网络的方法,得到一系列的标准矢量模型,每一个标准矢量模型称为一个码本,若干码本合在一起称为码书,码书实质上相当于数据库,各码本以其索引确定在码书中的位置。初始的语音或图像等数据按照一定的方式形成输入矢量,矢量量化的过程简单说来就是寻找与输入矢量距离最近的码本的索引的过程。在保证重现质量的前提下,缩小码本容量,降低运算复杂度,是矢量量化方法研究与发展的主要目标之一。
下面以语音编码中一种对导抗谱频率(ISF:Immittance Spectral Frequency)进行矢量量化的方法——宽带自适应语音编解码(AMR-WB+)方法为例,说明现有矢量量化的具体处理过程。
语音信号经过线性预测(LP:Linear Prediction)器,得到相应若干阶LP系数,将LP系数转换到频域得到由若干个ISF参数组成的ISF矢量。AMR-WB+采用联合矢量量化(SVQ:combination of Split Vector Quantization)和多级矢量量化(MSVQ:Multi-Stage Vector Quantization)的方式量化ISF矢量,具体描述如下:
1、采用一阶滑动平均(MA:Moving Average)预测法,求出当前第n帧的ISF预测残差矢量r;设ISF矢量是16维矢量,那么r也是一个16维矢量。
2、对残差矢量r进行量化处理,如表1所示,表1是现有ISF矢量量化过程的比特分配及码书使用表。先对r进行第一级***,得到两个一级子矢量,分别是9维的r1的和7维的r2;分别用8比特量化r1和r2,则相应所使用的码本的个数分别为256个9维码本和256个7维码本。
3、然后对r1和r2分别进行第二级***。9维的r1被***为三个二级子矢量,分别是:3维的r11,用6比特量化,对应的码本为64个3维码本;3维的r12,用7比特量化,对应的码本为128个3维码本;3维的r13,用7比特量化,对应的码本为128个3维码码本。7维的r2被***为两个二级子矢量,分别是:3维的r21,用5比特量化,对应的码本为32个3维码本;4维的r22,用5比特量化,对应的码本为32个4维码本。
在上述用码本对矢量(包括一级子矢量、二级子矢量等)进行量化时,通过衡量矢量与相应的码本集合中各个码本之间的偏差来确定所选取的量化码本。一般可通过计算码本相对于矢量的失真度来表示这个偏差,AMR-WB+中所采用的失真度一般可表示为,待量化矢量与相应码本同维度分量的差值的平方和。通常可选择与待量化矢量相比失真度最小的码本作为量化码本。量化比特记录所选择量化码本的索引,解码端可根据该索引找到相应的量化码本,从而以相反的过程逐级恢复出最初输入矢量的比较好的近似值。
表1
采用上述量化方法对语音信号的16维ISF矢量进行量化,能够获得较高的编码质量,但相应的码本存储量较大,由于计算时需要遍历所***本,因此量化复杂度也较高,计算量比较大。
发明内容
本发明解决的技术问题是提供一种能够降低量化复杂度的矢量量化方法及矢量量化器。
一种矢量量化方法包括:获取待量化矢量;获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;获取与基础子矢量对应的调整矢量;将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
一种矢量量化器,包括:矢量输入单元,用于获取待量化矢量;基础码本单元,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;调整矢量单元,用于提供与基础子矢量对应的调整矢量;量化单元,用于从所述基础码本单元和调整矢量单元获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;量化输出单元,用于获得与所述量化单元选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
上述矢量量化方法中采用由基础码本矢量与其子矢量的调整矢量组合成的联合码本矢量对待量化矢量进行量化的方法;由于采用调整矢量对基础码本矢量进行调整,能够充分利用维度间的相关性,以较少的调整矢量数目实现较大的动态调整范围,有利于减小量化的计算量,降低运算复杂度。
附图说明
图1是本发明实施例一矢量量化方法流程示意图;
图2是本发明实施例二矢量量化方法流程示意图;
图3是本发明实施例三矢量量化方法流程示意图;
图4是本发明实施例四矢量量化方法流程示意图;
图5是本发明实施例五矢量量化器逻辑结构示意图;
图6是本发明实施例五中量化单元的一种逻辑结构示意图;
图7是本发明实施例五中量化单元的另一种逻辑结构示意图;
图8是本发明实施例六矢量量化器逻辑结构示意图;
图9是本发明实施例七矢量量化器逻辑结构示意图;
图10是本发明实施例八矢量量化器逻辑结构示意图。
具体实施方式
本发明实施例提供了一种矢量量化方法,由基础码本矢量与其子矢量的调整矢量组合成的联合码本矢量对待量化矢量进行量化。本发明实施例还提供相应的矢量量化器。以下分别进行详细说明。
实施例一、一种矢量量化方法,流程如图1所示,包括步骤:
A1、获取待量化矢量。
本实施例中所称待量化矢量,可以是矢量量化过程中最初输入的原始矢量、原始矢量***得到的某个子矢量、原始矢量经过一级或多级量化后的残差矢量、残差矢量***得到的某个子矢量等。
例如,假设对于L维矢量v,
v={v1,v2,…,vL}
可将其分解为若干个子矢量(当然也可以不分解),每个子矢量所包含的维数可以相同也可以不同,表示为,
{{v1,v2,…,vL1},{vL1+1,vL1+2,…,vL2},…,{vL(K-1)+1,vL(K-1)+2,…,vLK}}
其中,LK=L。可以将其中的某一个子矢量作为待量化矢量。为清楚简明起见,以下将待量化矢量统一表示为v。
A2、获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数。
基础码本矢量是与待量化矢量同维的矢量,例如,对于L维的待量化矢量v,可以有A个L维的基础码本矢量,
{
{u11,u12,…,u1L},
{u21,u22,…,u2L},
……,
{uA1,uA2,…,uAL},
}
基础码本矢量可以是通过各种码书训练方式直接获得的码本矢量,也可以是通过某种方式从更大范围的码本矢量中搜索出来的优选码本矢量,还可以是由维数较多的码本矢量中的部分维数构成的子码本矢量,本实施例不作限定。为清楚简明起见,以下将基础码本矢量统一表示为u,需要确指某个基础码本矢量时表示为ua,1≤a≤A。
本实施例中基础码本矢量由若干基础子矢量组成(当只有一个基础子矢量时,该基础子矢量即为基础码本矢量自身),例如,将u视为由K个基础子矢量组成,
u={u1,u2,…,uK}
={{u1,u2,…,uL1},{uL1+1,uL1+2,…,uL2},…,{uL(K-1)+1,uL(K-1)+2,…,uLK}}
其中,LK=L。需要说明的是,基础子矢量所包含的各维分量并不要求在维数上是连续的,上式可视为按照所属基础子矢量,对基础码本矢量中的各个分量进行了重新排列。为清楚起见,以下将基础子矢量中包含的各个分量以在该基础子矢量中的序号表示,即,将I维基础子矢量表示为,
uk={uk(1),uk(2),…,uk(I)}
其中,1≤k≤K;
基础码本矢量u至少有一个二维或二维以上的uk对应于一个调整矢量集合,该调整矢量集合具有N个调整矢量adjk,n,1≤n≤N,adjk,n的维度与所对应的uk维度相同,
{
{adjk,1(1),adjk,1(2),…,adjk,1(I)},
{adjk,2(1),adjk,2(2),…,adjk,2(I)},
……,
{adjk,N(1),adjk,N(2),…,adjk,N(I)},
}
当然,组成u的全部uk都可以具有对应的调整矢量集合,也可以仅部分uk具有。不同的uk可分别对应相同或不同的调整矢量集合,不同的调整矢量集合中的调整矢量数目可相同或不同。但至少有一个调整矢量集合的N值小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数。以下将满足这种条件的调整矢量集合称为优化调整矢量集合,将调整矢量的各维分量称为“调整量”。对于非优化的调整矢量集合,其N值等于各维调整量的不同取值的全部可能组合数,相当于各维调整量之间的变化不具有关联关系,因此其作用可视为对各维调整量分别进行调整。
例如,假设一个优化调整矢量集合包含有3个二维调整矢量{{-1,-1},{0,0},{1,1}},该集合中全部调整矢量的第1维和第2维均有3个不同取值{-1,0,1},因此两个维度的不同取值的全部可能的组合数为3×3=9种,具体包括如下可能的情况{{-1,-1},{-1,0},{-1,1},{0,-1},{0,0},{0,1},{1,-1},{1,0},{1,1}},显然这个调整矢量集合中仅包含各维不同取值的部分组合情况。
对u进行uk划分可根据对待量化矢量v的统计分析来进行,例如,可将v与u的差值矢量统计显示具有同动特性(同时变大或同时变小)的维度划分到一个uk中,这样在设计与该uk对应的优化调整矢量组合时,即可更多的考虑各维度同时变大或变小的情况。与完全忽略维度间的关联关系的调整方式相比,在同样的动态范围下(即各维调整量的不同取值范围相当),明显减少调整组合的可能数目;而在同样的调整组合的可能数目下,则能够有效扩大调整的动态范围。
A3、获取与基础子矢量对应的调整矢量。
对应于某个uk的调整矢量adjk,n可以有多种提供方式。例如,可通过包含N个关系矢量gk,n的关系矢量集合来提供,gk,n即为adjk,n或者与adjk,n具有确定的函数对应关系。所称的函数对应关系包括但不限于:
①乘积关系:例如adjk,n可表示为gk,n与某个实数的乘积;
②加减关系:例如adjk,n可表示为gk,n与某个参考矢量的和或差;
需要说明的是,参考矢量可以是由属于同一联合码本矢量的其他adjk,n的“n”值具体确定的一个矢量。此时,可将该参考矢量称为“参考码书”,它表示在其他调整矢量为某值时,随后选择的调整矢量应当进行的进一步适应性调整。
③混合关系:例如adjk,n可表示为gk,n与某个实数的乘积再与参考码书之差。
gk,n本身的提供方式也可以有多种,例如,可存储关系矢量集合,直接遍历所包含的各个gk,n;或者也可通过某种确定的计算方式来获得与某个uk对应的gk,n。在后续的实施例中将会提供几种典型的方式进行说明。
A4、将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量。
本实施例是利用对基础码本矢量u以及与其各个uk对应的adjk,n的联合搜索,来对待量化矢量v进行量化的。
假设基础码本矢量u(共有A个)的K个uk均具有对应的调整矢量集合,K个uk对应的adjk,n的数目分别为{N1,N2,…,NK},则由基础码本矢量u和调整矢量adjk,n组合出的可能的联合码本矢量的数目为:Total=A×N1×N2×…×NK。根据联合码本矢量与待量化矢量v的偏差从中选择出最终用于量化的联合码本矢量。当然,选择的依据可以不仅仅是联合码本矢量与v的偏差,还可以引入联合码本矢量与某个参考矢量的偏差来辅助选择。
在计算联合码本矢量与待量化矢量v的偏差的过程中,可以采用各种方法搜索联合码本矢量,包括但不限于如下两种:
一、分级计算。即对于每个ua计算出搭配各个uak的最佳调整矢量,然后再比较搭配了最佳调整矢量的ua。具体步骤包括:
1、计算待量化矢量与当前基础码本矢量的差值矢量;所述差值矢量由若干差值子矢量组成,差值子矢量的划分方式与基础子矢量的划分方式相同。
若v为L维矢量,则v与u的差值矢量r也为L维矢量,r按照u的方式划分为K个差值子矢量,r={r1,r2,…,rK},rk={rk(1),rk(2),…,rk(I)}。
2、对于对应有调整矢量集合的基础子矢量,根据该调整矢量集合中的调整矢量与对应差值子矢量的偏差,选择当前基础子矢量的最佳调整矢量。
对当前ua的每个uak分别执行最佳调整矢量的选择,当然,若某个uak并不具有对应的调整矢量集合,则不作调整。选择最佳调整矢量时对偏差的判断根据实际需要可采用多种方式,本实施例对此不作限定。例如可采用同维分量的绝对差值的累计、差值的平方值的累计,或差值的加权平方值的累计等。
假设某个I维的uak对应的是具有Nk个adjk,n的优化调整矢量集合,则在选择该uak的最佳调整矢量时可采用的一种偏差的表示方式为:
其中,wk(i)为rk与adjk,n的第i维分量的差值的权重。通过步骤A3提供搜索到的adjk,n,比较Δak,选择出uak最佳的调整矢量adjk,n0,将与uak对应的adjk,n0的“n0”值记为“n0k”,1≤n0k≤Nk,对应的偏差记为Δak0。对于非优化的调整矢量集合,分别对每维分量计算出最佳调整量即可,由各维的最佳调整量组成的调整矢量即为最佳调整矢量。
3、累计各个最佳调整矢量的偏差,以及未对应调整矢量集合的基础子矢量与待量化矢量相应部分的偏差,作为与当前基础码本矢量对应的最佳联合码本矢量的偏差。
假设ua的K个uak中,某些对应有调整矢量集合,而某些未作调整;则对于未作调整的基础子矢量,以该子矢量与待量化矢量v相应部分的偏差计入偏差总和,简便起见,将未作调整的某个uak与v相应部分的偏差仍记为Δak0,则与ua对应的最佳联合码本矢量的偏差可表示为,
4、比较与各个基础码本矢量对应的最佳联合码本矢量的偏差,选择用于量化的联合码本矢量。
分别计算并比较A个ua的A个Δa,选择出最终用于量化的联合码本矢量,假设对应的偏差记为Δa0,1≤a0≤A。
二、整体计算。即先生成联合码本矢量,然后直接比较不同的联合码本矢量与v的偏差。具体步骤包括:
1、将当前基础码本矢量与可选的调整矢量叠加,生成联合码本矢量。
假设,ua的K个uak均对应有调整矢量组合,则可能生成的联合码本矢量表示为,
其中nk为与uak对应的adjk,n的“n”值。若各个调整矢量组合中adjk,n的数目分别为{N1,N2,…,NK},则对每个ua共可以生成N1×N2×…×NK个联合码本矢量,全部A个ua可以生成Total=A×N1×N2×…×NK个联合码本矢量。
2、计算当前联合码本矢量与待量化矢量的偏差。
偏差的计算方式可以与分级计算法中adjk,n与rk的偏差计算方式类似,只是计算的范围扩展到v的全部维数。将联合码本矢量与v的偏差记为Δ(a,n1,…,nK)。
3、比较不同的联合码本矢量与所述待量化矢量的偏差,选择用于量化的联合码本矢量。
如果按照某种顺序有规律的产生联合码本矢量,显然并不需要生成所有Total个联合码本矢量。例如,先固定{a,n1,…,nK-1},由步骤A3搜索提供与uaK对应的adjK,n生成联合码本矢量,则在比较出包含最佳的adjK,n0的联合码本矢量后,即可固定nK为“n0”,从而无需在{a,n1,…,nK-1}变化时,产生nK为其他值的联合码本矢量。按照这种方式,需要生成的联合码本矢量的数目最多为(这是假设每个调整矢量集合都被遍历的情况,若调整矢量集合中某些调整量取值在一定范围内可独立变化,则可先搜索确定独立变化的调整量,而无需遍历所有的可能情况,该数目可进一步降低):Totals=A×[N1+(N2-1)+…+(NK-1)]=A×(N1+N2+…+NK-K+1),从中选择出最终用于量化的联合码本矢量,假设对应的偏差记为Δ(a0,n01,…,n0K),1≤a0≤A,1≤n0k≤Nk。
A5、获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
对于基础码本矢量和调整矢量的索引可采用多种方式进行编排,本实施例不予限制。例如,可采用矢量在同类的集合中排列的序号作为该矢量的索引。
对于步骤A4中采用方法一选择出的联合码本矢量,根据最终选择的偏差Δa0,可确定基础码本矢量的索引为a0;然后根据Δa0对应的各个Δak0,可确定K个调整矢量的索引为{n01,n02,…,n0K},因此获得的全部量化索引的集合为{a0,n01,n02,…,n0K}。
对于步骤A4中采用方法二选择出的联合码本矢量,可直接根据最终选择的偏差Δ(a0,n01,…,n0K),确定全部量化索引的集合为{a0,n01,n02,…,n0K}。
解码端在解码出量化索引的集合{a0,n01,n02,…,n0K}后,可根据a0找到对应的基础码本矢量ua0;然后分别在与各个ua0k对应的各个调整矢量集合中,由n01,n02,…,n0K找到对应的调整矢量adjk,n0(adjk,n0的“n0”值为“n0k”),1≤k≤K,然后将ua0与K个adjk,n0组合恢复出初始矢量v的近似值。
本实施例采用由基础码本矢量与其子矢量的调整矢量组合成的联合码本矢量对待量化矢量进行量化的方法;由于采用调整矢量对基础码本矢量进行调整,有效扩大了基础码本矢量的动态范围,减小了失真度,使得进行单级量化能够达到或超过多级量化的效果,有效降低码本存储量和量化计算量;并且对基础码本矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量减去基础码本矢量后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的,同时由于利用了维度间的相关性,使得调整矢量数目较少,有利于减小量化的计算量。
实施例二、一种矢量量化方法,本实施例与实施例一的区别之处在于,利用与基础码本矢量相关的比例因子来扩大调整矢量的动态范围。流程如图2所示,包括步骤:
B1、获取待量化矢量。
B2、获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数。
上述步骤B1、B2可参照实施例一中的步骤A1、A2执行。
B3、获取与当前基础码本矢量对应的比例因子。
假设当前基础码本矢量为ua,1≤a≤A,则与其对应的比例因子可记为sa,sa的获取方式可以是对应ua从预置的存储中获取,可根据统计数据或经验值来设置sa;或者也可以根据ua计算得到。
用于示例,下面给出一种根据ua计算sa的方法,具体包括步骤:
①计算全部A个ua的平均矢量。
B4、根据比例因子获取与基础子矢量对应的调整矢量。
本实施例中对应于ua的某个基础子矢量uak的调整矢量adjk,n,采用通过包含N个关系矢量gk,n的关系矢量集合来提供的方式,gk,n与adjk,n具有如下函数对应关系,
adjk,n=sa×gk,n
本文中将与adjk,n具有上述函数对应关系的关系矢量称为调整系数矢量,将其集合称为调整系数矢量集合,则上述函数对应关系可表述为,与某个基础码本矢量的某个基础子矢量对应的调整矢量集合表现为与该基础子矢量对应的调整系数矢量集合与相应比例因子的乘积。
例如,假设基础码本矢量u为四维,前二维为第一子矢量u1,后二维为第二子矢量u2;其中第一子矢量具有对应的调整矢量集合。假设共有两个基础码本矢量u1和u2,与基础码本矢量u1对应的比例因子为s1,与基础码本矢量u2对应的比例因子为s2,与第一子矢量u1对应的调整系数矢量集合包含有2个调整系数矢量{{-1,-1},{1,1}}。则与u1的第一子矢量u11对应的调整矢量集合为s1×{{-1,-1},{1,1}}={{-s1,-s1},{s1,s1}},与u2的第一子矢量u21对应的调整矢量集合为s2×{{-1,-1},{1,1}}={{-s2,-s2},{s2,s2}}。由于比例因子与各个基础码本矢量对应,因此此时调整矢量的索引可以表示为对应的调整系数矢量的索引,解码端可根据调整系数矢量的索引以及基础码本矢量的索引恢复出相应的调整矢量。
B5、将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量。
B6、获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
上述步骤B5、B6可参照实施例一中的步骤A4、A5执行。需要说明的是在步骤B6中,由于比例因子与各个基础码本矢量对应,因此不需要增加额外的编码比特,此时调整矢量的索引可以表示为对应的调整系数矢量的索引,解码端可根据调整系数矢量的索引以及基础码本矢量的索引恢复出相应的调整矢量。
本实施例采用由比例因子与调整系数矢量的乘积来获取调整矢量的方式,由于调整矢量的取值与具体的ua相关,不同的ua由相同的调整系数矢量集合能够得到不同的调整矢量集合,能够使得调整的效果更理想,且有效扩大了调整矢量的动态范围。
实施例三、一种矢量量化方法,本实施例在实施例一和二的基础上,提供一种具体的获取调整矢量的方法。流程如图3所示,包括步骤:
C1、获取待量化矢量。
C2、获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数。
上述步骤C1、C2可参照实施例一中的步骤A1、A2执行。
C3、获取与基础子矢量对应的调整矢量,具体包括:
C31、搜索与基础子矢量对应的关系矢量集合,所述关系矢量集合为所述调整矢量集合或与所述调整矢量集合具有函数对应关系。所称的关系矢量可以是实施例二中的调整系数矢量,此种情况下需要在获取基础码本矢量ua后获取对应的比例因子sa。
搜索关系矢量集合具体可采用如下方式:
①搜索关系矢量集合的若干子集,每个子集所包含关系矢量的数目等于该子集中全部关系矢量各维度的不同取值的全部可能组合数;
②在各个子集中,搜索对应关系矢量各维度的不同取值。
由于在各个子集中,各维分量彼此之间不具有相关性,因此所采用搜索方式可与在非优化的调整矢量集合中的搜索类似,即,独立搜索各维分量。
假设与uk对应的关系矢量集合包含N个关系矢量{gk,1,gk,2,…,gk,N},根据这些关系矢量的各维分量之间的取值关系,可将关系矢量集合视为由若干个子集组成,在每个子集内,关系矢量的各维分量的取值之间不再具有相关性,彼此可视为独立变化;一种极端的情形是,各个关系矢量单独构成一个子集。
例如,假设一个由二维关系矢量组成的关系矢量集合{{30,30},{30,20},{20,30},{20,20},{0,5},{-30,-20},{-30,-30}},可将其分为“偏大”、“中间”、“偏小”三个子集,分别为:
“偏大”:{{30,30},{30,20},{20,30},{20,20}},
“中间”:{{0,5}},
“偏小”:{{-30,-30},{-30,-20},{-20,-30},{-20,-20}}。
在“偏大”子集中,分别在取值20、30中独立搜索关系矢量的第1、2维;在“中间”子集中,搜索到唯一的关系矢量;在偏小”子集中,分别在取值-20、-30中独立搜索关系矢量的第1、2维。
可以分别对关系矢量的各个子集进行编号,在子集内再对各种组合方式进行排列获得各种组合方式的序号,这样一个关系矢量便可由其所属子集的编号以及在子集内的序号来确定。当然,这与按照关系矢量在整个关系矢量集合中的排列来编号实质上是一致的。
C32、根据从关系矢量集合中获取的关系矢量得到相应的调整矢量。
获得的关系矢量可能直接就是调整矢量,也可能需要经过如实施例二中提供的乘以比例因子的计算后得到调整矢量。
C4、将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量。
C5、获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
上述步骤C4、C5可参照实施例一中的步骤A4、A5执行。需要说明的是在步骤C5中,获得的调整矢量的索引为与该调整矢量对应的关系矢量在关系矢量集合中的序号。在关系矢量集合采用子集划分的情况下,该序号可以表示为关系矢量所属关系矢量子集的编号以及在该关系矢量子集中的序号。
解码端在解码出关系矢量的序号后,可在对应的关系矢量集合中找到该关系矢量,例如,利用子集编号找到关系矢量所属的子集,再利用子集内的序号确定关系矢量,然后即可根据关系矢量与调整矢量之间的关系获得调整矢量了。
本实施例采用搜索关系矢量集合的方式获取调整矢量,获取方式直接,消耗的计算量较小。若进一步采用划分子集的方式来搜索关系矢量集合,可将关系矢量分子集存储,在各个子集内部,由于提供各维度的全部取值组合,因此可仅存储各维度的不同取值,不必存储组合方式,可减少部分存储量。
实施例四、一种矢量量化方法,本实施例与实施例三相比,区别之处在于提供另一种具体的获取调整矢量的方法。流程如图4所示,包括步骤:
D1、获取待量化矢量。
D2、获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数。
上述步骤D1、D2可参照实施例一中的步骤A1、A2执行。
D3、获取与基础子矢量对应的调整矢量,具体包括:
D31、搜索与基础子矢量对应的关系矢量的各维度的不同取值;
具体搜索可分为两种方式:
方式一,仅搜索不同取值的组合方式,不对偏差进行进行判断;此时,搜索结果为各维度的一种组合方式。
方式二,在搜索各个维度时(基础码本矢量不变),即根据其不同取值产生的调整量对联合码本矢量该维度偏差的影响进行判断,从而确定出该维度的最佳取值;此时,搜索结果为各维度的最佳取值。
D32、判断当前获得的各维度的取值组合是否为可选择的有效关系矢量,若是,则执行步骤D33,若否则继续执行步骤D31直至搜索完成;
在判断当前获得的各维度的取值组合是否为可选择的有效关系矢量时,具体可采用这样的方法:计算当前获得的各维度的取值组合在全部可能组合中的序号,根据所述序号判断该取值组合是否为可选择的有效关系矢量。
例如,假设关系矢量为四维,每维有5个可能的不同取值,则共有625个可能的关系矢量,其中对应调整矢量的有效关系矢量共有256个。设置两个具有625项的固定数组,
Ga[id’]=D,id’={1,…,625},D=1或0;
Gb[id’]=n,id’={1,…,625},1≤n≤256。
Ga[id’]中共有256个id’值对应的D值为1,代表256个有效关系矢量,将这256个id’值简称为“有效id’值”;Gb[id’]中对应有效id’值的n值,分别取1~256中的一个,作为这256个有效id’值的序号。可采用这样的方式来设置Gb[id’]的n值:将有效id’值顺序排列,从1到256依次对应设置一个n值;至于Gb[id’]中与其它id’值对应的n值可采用任意方式设置。
当搜索到一个可能的关系矢量{id1,id2,id3,id4}时(id1~id4分别为各维分量的取值序号),计算该关系矢量的原始序号为:
id’=id1×125+id2×25+id3×5+id4,
查找Ga[id’],若Ga[id’]=1,则判断该关系矢量为有效关系矢量,可继续获得对应的调整矢量;相应的Ga[id’]对应的n值,即为调整矢量的索引。
若Ga[id’]=0,则判断该关系矢量不对应调整矢量,继续进行搜索。
对于D31中的搜索方式一:
1、在判断当前获得的各维度的取值组合不是可选择的有效关系矢量,需要继续搜索时,可直接跳过当前组合,继续按顺序进行搜索;
2、确定遍历完所有取值组合可判断搜索完成;或者确定已搜索完所有有效关系矢量也可判断搜索完成;
3、在这种情况下,与每个有效关系矢量对应的调整矢量都会被提供给相应的基础子矢量。
对于D31中的搜索方式二:
1、在判断当前获得的各维度的取值组合不是可选择的有效关系矢量,需要继续搜索时,可采用如下各种方式:
①产生一个临时的数组,用来存放全部有效关系矢量的取值组合,然后在这个临时数组中进行搜索;
②尝试调整某一维或某几维的取值,例如按照维度从大到小的顺序,逐个调整取值,直到调整为有效;
③类似②,不过限定某些维不作调整。
2、确定搜索到的是有效关系矢量即可判断搜索完成;
3、在这种情况下对于基础码本矢量ua的每个uak,相当于仅提供一次有效关系矢量,该有效关系矢量对应uak的最佳调整矢量。
D33、根据当前获得的有效关系矢量获取调整矢量。
此时,调整矢量集合为全部有效关系矢量的集合或与全部有效关系矢量的集合具有函数对应关系;而调整矢量的索引则可表示为与该调整矢量对应的有效关系矢量在全部有效关系矢量中的序号。
D4、将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量。
D5、获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
上述步骤D4、D5可参照实施例一中的步骤A4、A5执行。需要说明的是在步骤D5中,获得的调整矢量的索引为与该调整矢量对应的有效关系矢量在全部有效关系矢量中的序号。
解码端在解码出关系矢量的序号n后,可查询一个数据与Gb[id’]对应设置的256项的固定数组,
Gc[n]=id’,n={1,…,256},1≤id’≤625。
来恢复该关系矢量的原始序号id’,然后按照
id4=id’%5;id4’=Int[id’/5];
id3=id4’%5;id3’=Int[id4’/5];
id2=id3’%5;id2’=Int[id3’/5];
id1=id2’%5;
(其中,“%”表示取余数,“Int”表示取整数)得到各维分量的取值序号,从而获得对应的关系矢量。
本实施例采用超量搜索(即所搜索的组合数少于能够进行最终索引编码的有效组合数)的方式获取关系矢量,通过对组合有效性的判断来获得对应的调整矢量,由于不需要存储实际的有效关系矢量组合关系,可减少存储量。
本发明上述实施例提供的矢量量化方法(以下简称本方法)可用于各种类型的矢量量化过程,可单独使用或与其他矢量量化方法合并使用,可用本方法对矢量执行单级量化,也可对按本方法执行单级量化后的量化残差或残差的部分继续按本方法执行进行二级量化。应当理解,实现本发明矢量量化方法的软件可以存储于计算机可读介质中。该软件在执行时,包括如下步骤:获取待量化矢量;获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;获取与基础子矢量对应的调整矢量;将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。所述的可读介质,如:ROM/RAM、磁碟、光盘等。
下面对本发明实施例的矢量量化器进行详细说明。
实施例五、一种矢量量化器10,如图5所示,包括:
矢量输入单元11,用于获取待量化矢量;
基础码本单元12,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
调整矢量单元13,用于提供与基础码本单元12提供的基础码本矢量中的基础子矢量对应的调整矢量;
量化单元14,用于从基础码本单元12和调整矢量单元13获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与矢量输入单元11获取的待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
量化输出单元15,用于获得与量化单元14选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
对应于实施例一中的搜索联合码本矢量的方法一,本实施例中的量化单元具体可采用如图6所示的结构,包括:
残差计算单元1411,用于计算所述待量化矢量与当前从所述基础码本单元获取的基础码本矢量的差值矢量;所述差值矢量由若干差值子矢量组成,差值子矢量的划分方式与基础子矢量的划分方式相同;
残差量化单元1412,用于对于对应有调整矢量集合的基础子矢量,根据调整矢量单元提供的该调整矢量集合中的调整矢量,与对应的残差计算单元1411得到的差值子矢量的偏差,选择当前基础子矢量的最佳调整矢量;
偏差累计单元1413,用于累计残差量化单元1412得到的各个最佳调整矢量的偏差,以及未对应调整矢量集合的基础子矢量与待量化矢量相应部分的偏差,作为与当前基础码本矢量对应的最佳联合码本矢量的偏差;
量化选择单元1414,用于比较偏差累计单元1413得到的与各个基础码本矢量对应的最佳联合码本矢量的偏差,选择用于量化的联合码本矢量。
对应于实施例一中的搜索联合码本矢量的方法二,本实施例中的量化单元具体可采用如图7所示的结构,包括:
联合矢量单元1421,用于将当前从基础码本单元获取的基础码本矢量与从调整矢量单元获取的调整矢量叠加,生成联合码本矢量;
偏差计算单元1422,用于计算联合矢量单元1421当前生成的联合码本矢量与待量化矢量的偏差;
比较选择单元1423,用于比较偏差计算单元1422得到的不同的联合码本矢量与待量化矢量的偏差,选择用于量化的联合码本矢量。
本实施例矢量量化器可用于执行实施例一中描述的矢量量化方法。
实施例六、一种矢量量化器20,如图8所示,包括:
矢量输入单元21,用于获取待量化矢量;
基础码本单元22,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
比例因子单元23,用于提供与基础码本单元22当前提供的基础码本矢量对应的比例因子;
调整矢量单元24,用于提供与基础码本单元22提供的基础码本矢量中的基础子矢量对应的调整矢量,该调整矢量是与基础子矢量对应的调整系数矢量和比例因子单元23提供的比例因子的乘积;
量化单元25,用于从基础码本单元22和调整矢量单元24获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
量化输出单元26,用于获得与量化单元24选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
本实施例矢量量化器可用于执行实施例二中描述的矢量量化方法。
实施例七、一种矢量量化器30,如图9所示,包括:
矢量输入单元31,用于获取待量化矢量;
基础码本单元32,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
调整矢量单元33,包括,
集合提供单元331,用于提供与基础码本单元32提供的基础子矢量对应的关系矢量集合,所述关系矢量集合为所述调整矢量集合或与所述调整矢量集合具有函数对应关系,
调整生成单元332,用于搜索集合提供单元331提供的关系矢量集合,根据从所述关系矢量集合中获取的关系矢量得到相应的调整矢量;
量化单元34,用于从基础码本单元32和调整矢量单元33获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
量化输出单元35,用于获得与量化单元34选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引,该索引为与该调整矢量对应的关系矢量在关系矢量集合中的序号。
本实施例矢量量化器可用于执行实施例三中描述的矢量量化方法。
实施例八、一种矢量量化器40,如图10所示,包括:
矢量输入单元41,用于获取待量化矢量;
基础码本单元42,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
调整矢量单元43,包括,
超量搜索单元431,用于搜索与基础码本单元42提供的基础子矢量对应的关系矢量的各维度的不同取值的全部可能组合,
矢量选择单元432,用于判断超量搜索单元431当前获得的各维度的取值组合是否为可选择的有效关系矢量,若是则根据当前获得的有效关系矢量获取调整矢量;若否,则控制超量搜索单元431继续搜索直至搜索完成;
量化单元44,用于从基础码本单元42和调整矢量单元43获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
量化输出单元45,用于获得与量化单元44选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引,该索引为与该调整矢量对应的有效关系矢量在全部有效关系矢量中的序号。
本实施例矢量量化器可用于执行实施例四中描述的矢量量化方法。
上述实施例七和实施例八中调整矢量单元的具体结构也可用于实施例五和实施例六中。
通过上述实施例可以看出,本发明实施例采用由基础码本矢量与其子矢量的调整矢量组合成的联合码本矢量对待量化矢量进行量化的方法;由于采用调整矢量对基础码本矢量进行调整,有效扩大了基础码本矢量的动态范围,减小了失真度,使得进行单级量化能够达到或超过多级量化的效果,有效降低码本存储量和量化计算量;并且对基础码本矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量减去基础码本矢量后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的,同时由于利用了维度间的相关性,使得调整矢量数目较少,有利于减小量化的计算量。在进一步采用由比例因子与调整系数矢量的乘积来获取调整矢量的方式时,由于调整矢量的取值与具体的ua相关,不同的ua由相同的调整系数矢量集合能够得到不同的调整矢量集合,能够使得调整的效果更理想,且有效扩大了调整矢量的动态范围。在进一步采用搜索关系矢量集合的方式获取调整矢量时,获取方式直接,消耗的计算量较小。若进一步采用划分子集的方式来搜索关系矢量集合,可将关系矢量分子集存储,在各个子集内部,由于提供所各维度的全部取值组合,因此可仅存储各维度的不同取值,不必存储组合方式,可减少部分存储量。在进一步采用超量搜索的方式获取关系矢量时,通过对组合有效性的判断来获得对应的调整矢量,由于不需要存储实际的有效关系矢量组合关系,可减少存储量。
为具体说明本发明实施例的有益效果,以下具体比较在量化宽带非语音类信号(Unvoiced)的16维ISF矢量时,本方法与ITU-T G.VBR基线编码器方法的各种性能参数。(ITU-T G.VBR基线编码器对宽带非语音类信号所采用的矢量量化方法与AMR-WB+中的MSVQ类似,只是在多级量化的过程中不进行矢量***。)其中“量化效果”项为对Unvoiced类总共405336帧的ISF系数进行量化,对NTT提供的25种语音、2112个语音素材进行全面统计后给出。
一、ITU-T G.VBR基线编码器方法
基本设置:
1、共进行八级量化。
2、第一级根据加权均方误差从一级码本中选择5个优选码本,共使用64个16维一级码本。
3、对每个优选码本,依次用二~八级码书对上级量化的残差进行量化,最后从5组结果中选择最终量化结果。第二~八级使用的16维码本数目依次为:32、16、64、64、32、32、8。
性能参数:
1、编码比特数:6+5+4+6+6+5+5+3=40比特。
2、存储量:16×(64+32+16+64+64+32+32+8)=4992个浮点数。
3、计算量:加减法21000次左右,乘法42000次左右。
4、量化效果:平均谱失真0.975dB,2.0~4.0dB占总数的0.919%,>4.0dB占0.00715%。
二、本方法
基本设置:
1、共使用57个16维的基础码本矢量(分为五个基础子矢量)。
2、每个基础码本矢量对应一个比例因子。
3、第一基础子矢量包含第1~2维,每维7个独立变化的调整量。
4、第二~五基础子矢量分别依次包含第3~5维、第6~8维、第9~12维、第13~16维,第二~五基础子矢量各自对应一个调整矢量集合,每个调整矢量集合分为3个子集,每个子集中每维3个独立变化的调整量。
性能参数:
1、编码比特数:40比特。因为总共有57×7×7×(3×3×3×3)×(3×3×3×3)×(3×3×3×3×3)×(3×3×3×3×3)=1082065425777种组合,而40比特总共允许有2^40=1099511627776种组合,因此可以用40比特进行编码。
2、存储量:16×57+57+7×2+14×3×3=1109个浮点数。
3、计算量:加减法25000次左右,乘法7500次左右。
4、量化效果:平均谱失真0.943dB,2.0~4.0dB占总数的1.031%,>4.0dB占0.0054%。
比较两种方法的性能参数可以看出,在相同的编码比特数下,本方法无论是存储量、计算复杂度,还是量化效果都要优于ITU-T G.VBR基线编码器方法。
以上对本发明实施例所提供的矢量量化方法及矢量量化器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (14)
1.一种矢量量化方法,其特征在于,包括:
获取待量化矢量;
获取基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
获取与基础子矢量对应的调整矢量;
将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
获得与被选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
2.根据权利要求1所述的矢量量化方法,其特征在于,还包括:获取与当前基础码本矢量对应的比例因子;
与当前基础码本矢量的某个基础子矢量对应的调整矢量集合表现为与该基础子矢量对应的调整系数矢量集合与所述比例因子的乘积。
3.根据权利要求1所述的矢量量化方法,其特征在于,所述从可能的联合码本矢量中选择用于量化的联合码本矢量的步骤包括:
计算所述待量化矢量与当前基础码本矢量的差值矢量;所述差值矢量由若干差值子矢量组成,差值子矢量的划分方式与基础子矢量的划分方式相同;
对于对应有调整矢量集合的基础子矢量,根据该调整矢量集合中的调整矢量与对应差值子矢量的偏差,选择当前基础子矢量的最佳调整矢量;
累计各个最佳调整矢量的偏差,以及未对应调整矢量集合的基础子矢量与待量化矢量相应部分的偏差,作为与当前基础码本矢量对应的最佳联合码本矢量的偏差;
比较与各个基础码本矢量对应的最佳联合码本矢量的偏差,选择用于量化的联合码本矢量。
4.根据权利要求1所述的矢量量化方法,其特征在于,所述从可能的联合码本矢量中选择用于量化的联合码本矢量的步骤包括:
将当前基础码本矢量与可选的调整矢量叠加,生成联合码本矢量;
计算当前联合码本矢量与所述待量化矢量的偏差;
比较不同的联合码本矢量与所述待量化矢量的偏差,选择用于量化的联合码本矢量。
5.根据权利要求1~4任意一项所述的矢量量化方法,其特征在于,所述获取与基础子矢量对应的调整矢量的步骤包括:
搜索与基础子矢量对应的关系矢量集合,所述关系矢量集合为所述调整矢量集合或与所述调整矢量集合具有函数对应关系的集合,
根据从所述关系矢量集合中获取的关系矢量得到相应的调整矢量;
所述调整矢量的索引为与该调整矢量对应的关系矢量在关系矢量集合中的序号。
6.根据权利要求5所述的矢量量化方法,其特征在于,所述搜索与基础子矢量对应的关系矢量集合的步骤包括:
搜索关系矢量集合的若干子集,每个子集所包含关系矢量的数目等于该子集中全部关系矢量各维度的不同取值的全部可能组合数,
在各个子集中,搜索对应关系矢量各维度的不同取值;
所述调整矢量的索引为与该调整矢量对应的关系矢量所属关系矢量子集的编号以及在该关系矢量子集中的序号。
7.根据权利要求1~4任意一项所述的矢量量化方法,其特征在于,所述获取与基础子矢量对应的调整矢量的步骤包括:
搜索与基础子矢量对应的关系矢量的各维度的不同取值,
判断当前获得的各维度的取值组合是否为可选择的有效关系矢量,若是则根据当前获得的有效关系矢量获取调整矢量;若否,则继续搜索直至搜索完成;
所述调整矢量集合为全部有效关系矢量的集合或与全部有效关系矢量的集合具有函数对应关系的集合;所述调整矢量的索引为与该调整矢量对应的有效关系矢量在全部有效关系矢量中的序号。
8.根据权利要求7所述的矢量量化方法,其特征在于,所述判断当前获得的各维度的取值组合是否为可选择的有效关系矢量的步骤具体为:计算当前获得的各维度的取值组合在全部可能组合中的序号,根据所述序号判断该取值组合是否为可选择的有效关系矢量。
9.一种矢量量化器,其特征在于,包括:
矢量输入单元,用于获取待量化矢量;
基础码本单元,用于提供基础码本矢量,所述基础码本矢量由若干基础子矢量组成;所述若干个基础子矢量中,至少有一个二维或二维以上的基础子矢量对应于一个调整矢量集合,所述调整矢量集合包含N个与该基础子矢量同维度的调整矢量;至少一个所述调整矢量集合满足,N小于该调整矢量集合中全部调整矢量各维度的不同取值的全部可能组合数;
调整矢量单元,用于提供与基础子矢量对应的调整矢量;
量化单元,用于从所述基础码本单元和调整矢量单元获取基础码本矢量和调整矢量,将基础码本矢量和一个或一个以上与不同基础子矢量对应的调整矢量的组合视为联合码本矢量,根据联合码本矢量与所述待量化矢量的偏差,从可能的联合码本矢量中选择用于量化的联合码本矢量;
量化输出单元,用于获得与所述量化单元选择的联合码本矢量对应的基础码本矢量的索引以及调整矢量的索引。
10.根据权利要求9所述的矢量量化器,其特征在于,还包括:
比例因子单元,用于提供与所述基础码本单元当前提供的基础码本矢量对应的比例因子;
所述调整矢量单元提供的调整矢量是,与基础子矢量对应的调整系数矢量和所述比例因子单元提供的比例因子的乘积。
11.根据权利要求9所述的矢量量化器,其特征在于,所述量化单元包括:
残差计算单元,用于计算所述待量化矢量与当前从所述基础码本单元获取的基础码本矢量的差值矢量;所述差值矢量由若干差值子矢量组成,差值子矢量的划分方式与基础子矢量的划分方式相同;
残差量化单元,用于对于对应有调整矢量集合的基础子矢量,根据所述调整矢量单元提供的该调整矢量集合中的调整矢量,与对应差值子矢量的偏差,选择当前基础子矢量的最佳调整矢量;
偏差累计单元,用于累计各个最佳调整矢量的偏差,以及未对应调整矢量集合的基础子矢量与待量化矢量相应部分的偏差,作为与当前基础码本矢量对应的最佳联合码本矢量的偏差;
量化选择单元,用于比较与各个基础码本矢量对应的最佳联合码本矢量的偏差,选择用于量化的联合码本矢量。
12.根据权利要求9所述的矢量量化器,其特征在于,所述量化单元包括:
联合矢量单元,用于将当前从所述基础码本单元获取的基础码本矢量与从所述调整矢量单元获取的调整矢量叠加,生成联合码本矢量;
偏差计算单元,用于计算所述联合矢量单元当前生成的联合码本矢量与所述待量化矢量的偏差;
比较选择单元,用于比较不同的联合码本矢量与所述待量化矢量的偏差,选择用于量化的联合码本矢量。
13.根据权利要求9~12任意一项所述的矢量量化器,其特征在于,所述调整矢量单元包括:
集合提供单元,用于提供与基础子矢量对应的关系矢量集合,所述关系矢量集合为所述调整矢量集合或与所述调整矢量集合具有函数对应关系的集合;
调整生成单元,用于搜索所述集合提供单元提供的关系矢量集合,根据从所述关系矢量集合中获取的关系矢量得到相应的调整矢量;
所述量化输出单元获得的调整矢量的索引为与该调整矢量对应的关系矢量在关系矢量集合中的序号。
14.根据权利要求9~12任意一项所述的矢量量化器,其特征在于,所述调整矢量单元包括:
超量搜索单元,用于搜索与基础子矢量对应的关系矢量的各维度的不同取值;
矢量选择单元,用于判断所述超量搜索单元当前获得的各维度的取值组合是否为可选择的有效关系矢量,若是则根据当前获得的有效关系矢量获取调整矢量;若否,则控制所述超量搜索单元继续搜索直至搜索完成;
所述量化输出单元获得的调整矢量的索引为与该调整矢量对应的有效关系矢量在全部有效关系矢量中的序号。
Priority Applications (6)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101305191A CN101345530B (zh) | 2007-07-11 | 2007-07-11 | 一种矢量量化方法及矢量量化器 |
KR1020097005033A KR101083291B1 (ko) | 2006-12-05 | 2007-12-05 | 벡터 양자화를 위한 방법 및 장치 |
PCT/CN2007/071178 WO2008067766A1 (fr) | 2006-12-05 | 2007-12-05 | Procédé et dispositif de quantification d'un vecteur |
EP07846024A EP2048787A4 (en) | 2006-12-05 | 2007-12-05 | METHOD AND DEVICE FOR QUANTIFYING VECTORS |
JP2009536590A JP5006404B2 (ja) | 2006-12-05 | 2007-12-05 | ベクトル量子化装置 |
US12/273,201 US8335260B2 (en) | 2006-12-05 | 2008-11-18 | Method and device for vector quantization |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101305191A CN101345530B (zh) | 2007-07-11 | 2007-07-11 | 一种矢量量化方法及矢量量化器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101345530A CN101345530A (zh) | 2009-01-14 |
CN101345530B true CN101345530B (zh) | 2010-09-15 |
Family
ID=40247439
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101305191A Active CN101345530B (zh) | 2006-12-05 | 2007-07-11 | 一种矢量量化方法及矢量量化器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101345530B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102195760A (zh) | 2010-03-16 | 2011-09-21 | 松下电器产业株式会社 | 无线通信***、基站、终端及码本生成方法 |
KR102034419B1 (ko) * | 2014-07-28 | 2019-10-18 | 텔레폰악티에볼라겟엘엠에릭슨(펍) | 피라미드 벡터 양자화기의 형상 검색 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1120268A (zh) * | 1994-05-27 | 1996-04-10 | 株式会社东芝 | 向量量化装置 |
US5970443A (en) * | 1996-09-24 | 1999-10-19 | Yamaha Corporation | Audio encoding and decoding system realizing vector quantization using code book in communication system |
US6009387A (en) * | 1997-03-20 | 1999-12-28 | International Business Machines Corporation | System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization |
CN1420487A (zh) * | 2002-12-19 | 2003-05-28 | 北京工业大学 | 1kb/s线谱频率参数的一步插值预测矢量量化方法 |
US20030219167A1 (en) * | 2002-05-23 | 2003-11-27 | Petri Pikkarainen | Method and system for forming HCVQ vector library |
-
2007
- 2007-07-11 CN CN2007101305191A patent/CN101345530B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1120268A (zh) * | 1994-05-27 | 1996-04-10 | 株式会社东芝 | 向量量化装置 |
US5970443A (en) * | 1996-09-24 | 1999-10-19 | Yamaha Corporation | Audio encoding and decoding system realizing vector quantization using code book in communication system |
US6009387A (en) * | 1997-03-20 | 1999-12-28 | International Business Machines Corporation | System and method of compression/decompressing a speech signal by using split vector quantization and scalar quantization |
US20030219167A1 (en) * | 2002-05-23 | 2003-11-27 | Petri Pikkarainen | Method and system for forming HCVQ vector library |
CN1420487A (zh) * | 2002-12-19 | 2003-05-28 | 北京工业大学 | 1kb/s线谱频率参数的一步插值预测矢量量化方法 |
Also Published As
Publication number | Publication date |
---|---|
CN101345530A (zh) | 2009-01-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101939781B (zh) | 音频编码器和解码器 | |
CN102708868B (zh) | 使用扩展带频率编码的复变换信道编码 | |
CN100530979C (zh) | 一种矢量量化方法及矢量量化器 | |
US6662154B2 (en) | Method and system for information signal coding using combinatorial and huffman codes | |
CN101401153B (zh) | Celp技术中改进的数字音频信号的编码/解码 | |
CN101335004B (zh) | 一种多级量化的方法及装置 | |
EP1326235A2 (en) | Efficient excitation quantization in noise feedback coding with general noise shaping | |
CN105654958A (zh) | 用于高频带宽扩展的对信号进行编码和解码的设备和方法 | |
CN105723455A (zh) | 用于编码音频信号的编码器、音频发送***和用于确定校正值的方法 | |
US20170178649A1 (en) | Method and device for quantization of linear prediction coefficient and method and device for inverse quantization | |
JP5006404B2 (ja) | ベクトル量子化装置 | |
EP3142110A1 (en) | Method and device for quantizing linear predictive coefficient, and method and device for dequantizing same | |
CN100580772C (zh) | 对信息信号编码的方法和设备 | |
US20070271094A1 (en) | Method and system for coding an information signal using closed loop adaptive bit allocation | |
CN102708871A (zh) | 基于条件高斯混合模型的线谱对参数降维量化方法 | |
CN101821800A (zh) | 矢量量化装置、矢量反量化装置和其方法 | |
CN101198041B (zh) | 矢量量化方法及装置 | |
WO2009090875A1 (ja) | ベクトル量子化装置、ベクトル逆量子化装置、およびこれらの方法 | |
CN101937680A (zh) | 码书分类重排矢量量化方法及其矢量量化器 | |
CN101345530B (zh) | 一种矢量量化方法及矢量量化器 | |
US7206740B2 (en) | Efficient excitation quantization in noise feedback coding with general noise shaping | |
CN102959871A (zh) | 编码方法、解码方法、编码装置、解码装置、程序及记录介质 | |
US7110942B2 (en) | Efficient excitation quantization in a noise feedback coding system using correlation techniques | |
CN105340010B (zh) | 用于通过应用分布量化和编码***音频信号包络的音频信号包络编码、处理和解码的装置和方法 | |
Mohammadi et al. | Low cost vector quantization methods for spectral coding in low rate speech coders |
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 | ||
TR01 | Transfer of patent right | ||
TR01 | Transfer of patent right |
Effective date of registration: 20210423 Address after: Unit 3401, unit a, building 6, Shenye Zhongcheng, No. 8089, Hongli West Road, Donghai community, Xiangmihu street, Futian District, Shenzhen, Guangdong 518040 Patentee after: Honor Device Co.,Ltd. Address before: 518129 Bantian HUAWEI headquarters office building, Longgang District, Guangdong, Shenzhen Patentee before: HUAWEI TECHNOLOGIES Co.,Ltd. |