CN101419802A - 矢量量化方法及矢量量化器 - Google Patents
矢量量化方法及矢量量化器 Download PDFInfo
- Publication number
- CN101419802A CN101419802A CNA2007101812976A CN200710181297A CN101419802A CN 101419802 A CN101419802 A CN 101419802A CN A2007101812976 A CNA2007101812976 A CN A2007101812976A CN 200710181297 A CN200710181297 A CN 200710181297A CN 101419802 A CN101419802 A CN 101419802A
- Authority
- CN
- China
- Prior art keywords
- vector
- sub
- adjustment
- value
- adjustment amount
- 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
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Compression Or Coding Systems Of Tv Signals (AREA)
Abstract
本发明涉及编码技术,公开了矢量量化方法和矢量量化器,其中矢量量化方法包括:获取待量化矢量,对待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;计算与残差矢量需要修正的各个维一一对应的调整量的值,获得由各个调整量的值组成的调整矢量;将调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。使用本发明实施例提供的技术方案,可以减少编码所需的编码空间。
Description
技术领域
本发明涉及编码技术,具体涉及矢量量化方法及矢量量化器。
背景技术
随着近几年计算机技术的不断发展,各种多媒体应用越来越受到人们的青睐。作为多媒体应用不可缺少的语音编码技术,在最近十几年取得了很大的进步。目前常用的编码方法有行程长度编码、矢量量化(VQ:VectorQuantization)编码等。
矢量量化编码的核心过程是对输入矢量进行量化的过程。下面以语音编码中一种对导抗谱频率(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
表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+中所采用的失真度一般可表示为,待量化矢量与相应码本同维度分量的差值的平方和。通常可选择与待量化矢量相比失真度最小的码本作为量化码本。量化比特记录所选择量化码本的索引,解码端可根据该索引找到相应的量化码本,从而以相反的过程逐级恢复出最初输入矢量的比较好的近似值。
采用上述量化方法对语音信号的16维ISF矢量进行量化,能够获得较高的编码质量,但相应的码本存储量较大,由于计算时需要遍历所有码本,因此量化的计算复杂度也较高,计算量比较大。
发明内容
本发明实施例提供了矢量量化方法及矢量量化器,使用本发明实施例提供的技术方案,可以减少编码所需的编码空间。
本发明实施例的目的是通过以下技术方案实现的:
本发明实施例提供了一种矢量量化方法,包括:
获取待量化矢量,对所述待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
计算与所述残差矢量需要修正的各个维一一对应的调整量的值,获得由所述各个调整量的值组成的调整矢量;
将所述调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
本发明实施例还提供了一种矢量量化器,包括:
残差矢量获取单元,用于获取待量化矢量,对所述待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
调整矢量获取单元,用于计算与所述残差矢量需要修正的各个维一一对应的调整量的值,获得由所述各个调整量的值组成的调整矢量;
量化单元,用于将所述调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
量化输出单元,用于判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
本实施例中,由于采用调整矢量对残差矢量进行调整,有效扩大了残差矢量的动态范围,减小了失真度;并且对残差矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量进行N级矢量量化后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的;进一步,在将调整矢量进行分组,用分组对应的综合索引号代替矢量分组时,可以降低对调整矢量编码的比特位数。
附图说明
图1为本发明实施例中矢量量化方法实施例的流程图;
图2为本发明实施例中矢量量化器实施例的结构图。
具体实施方式
为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
本发明实施例提供的矢量量化方法实施例如图1所示,包括:
步骤101、获取待量化矢量,对待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
假设进行两级量化,输入信号为[v1,v2,...,vN],本发明实施例的N级量化具体过程可以如下:
1)将m维的输入信号进行一级矢量量化,假设a个一级码书为:
[
[u11,u12,...,u1m],
[u21,u22,...,u2m],
...\
[ua1,ua2,...,uam],
];
利用预先设定的判断准则,例如为加权均方误差最小等,从这a个一级码书中选择若干(通常为1~10个,记为K个)使输入信号与码书间均方误差最小的w(w>=1)个码书作为一级码书的候选值,并计算出这K个候选一级码书所对应的的一级残差矢量,记为:[r11,r12,...,r1m]、[r21,r22,...,r2m]、...、[rK1,rK2,...,rKm],还可以记录这K个一级码书的索引号,假设这K个一级码书的索引号为:[index11,index12,...,index1K]。
2)再对这K个一级码书的残差信号,分别进行第二级矢量量化,假设二级码书为:
[
[w11,w12,...,w1m],
[w21,w22,...,w2m],
...\
[wa1,wa2,...,wam],
];
同样根据预先设定的判断准则,如加权均方误差最小等,得到K个候选二级码书,其二级码书的二级残差矢量记为:[r’11,r’12,...,r’1m]、[r’21,r’22,...,r’2m]、...、[r’K1,r’K2,...,r’Km],还可以记录这K个二级码书的索引号,假设这K个二级码书的索引号为:[index21,index22,...,index2K]。
根据需要,实际应用中还可以进行三级或更多级的量化,当然也可以仅进行一级量化,因此本发明实施例使用的是N级量化后得到的残差矢量,其中N为正整数;量化过程与二级矢量量化过程类似,此处不再赘述。
步骤102、计算与残差矢量需要修正的各个维一一对应的调整量的值,获得由各个调整量的值组成的调整矢量;
以残差矢量[r’i1,r’i2,...,r’im]为例,本发明实施例可以通过如下流程获取与残差矢量对应的调整矢量:
预先为残差矢量的每一维都设置调整量的值的取值范围,假设为残差矢量[r’i1,r’i2,...,r’im]各维定义的调整量的值的取值范围如下:
[
[adj11,adj12,...],
[adj21,adj22,...],
...\
[adjm1,adjm2,...],
];
其中每一维的调整量的值的取值范围中的值的个数可以相同,也可以不相同。
遍历当前残差矢量[r’i1,r’i2,...,r’im]的每一维,从每一维的调整量的值的取值范围[adjn1,adjn2,...]中找到和r’in(1≤n≤m)偏差最小的调整量的值,假设该调整量的值在该维的调整量的值的取值范围内的编号是index_adj_n。
这样,就可以为残差矢量的每一维找到偏差最小的调整量的值,得到一个m维的调整矢量。
当然,在实际应用中,也可以不对每一维进行调整,例如对于16维的残差矢量,可以默认只对其中的12维进行调整,而对剩余的4维不进行调整,这样就可以得到12维的调整矢量,可以降低调整矢量需要的编码空间。
步骤103、将调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
由于直接对m维的调整矢量编码可能需要较大的编码空间,因而可以将调整矢量按照预置的分组方法分成若干组,每个组对应一个调整子矢量;具体分成几组,以及每组几个调整量都可以预先设置好,可以根据具体的需要确定如何分组。
例如,可以将16维的调整矢量按4维进行组合,分成4组,分别为1~4维,5~8维,9~12维,13~16维;由于共有28比特可用于编码,因此每组的编码比特为7比特。本实施例将16维均分成4组,在实际应用中可以根据具体的需要确定分成几组,以及各组的维度。
其中,调整子矢量的综合索引号可以通过如下流程获得:根据调整量的值计算该调整子矢量的原始索引号;从预置的优先组合表中获取与原始索引号对应的所述综合索引号。
调整量的取值范围是已知的,每个取值在取值范围内都有固定的位置,因而可以为取值范围内的值顺序进行编号,在调整量的值确定后,对应的编号也就确定,从而可以利用调整量的值的编号计算调整子矢量的原始索引号。
假设将16个残差矢量按每4维进行组合,分成4组,分别为1~4维,5~8维,9~12维,13~16维,每组的编码比特为7比特;以1~4维为例,假设各自的调整量编号为:index_adj_1、index_adj_2、index_adj_3、index_adj_4,则计算原始索引号id~=index_adj_1*64+index_adj_2*16+index_adj_3*4+index_adj_4;
由于需要在不够的编码空间中进行编码,因而需要将调整子矢量尽可能调整为出现概率较高的调整子矢量,而出现概率较高的调整子矢量对应的原始索引号可能并不是连续的,因而可以预置一个优先组合表,在组合表中将调整子矢量按照出现概率连续索引,一般来说,出现概率越高,在优先组合表中的综合索引号就越小,从而使出现概率越高的调整子矢量被编码的几率越高,本发明实施例提供的一个优先组合表如下所示:
int pri_select_orde[256]=
{
25,41,80,182,44,57,68,150,163,94,98,141,236,189,154,166,
85,37,27,42,72,40,73,186,165,95,107,168,237,194,180,176,
162,155,54,21,115,84,96,192,164,110,125,187,228,188,174,175,
212,229,243,239,167,171,203,231,153,132,178,216,209,173,179,185,
33,28,52,104,43,0,45,90,81,58,62,105,220,142,118,140,
32,17,23,99,29,36,8,91,69,13,12,87,206,135,114,143,
93,65,20,22,66,5,4,53,101,15,14,100,205,147,129,137,
202,232,240,219,151,156,117,109,148,121,136,190,215,181,144,169,
61,63,97,170,88,71,86,146,122,113,112,177,245,211,198,221,
38,31,60,130,30,7,9,79,64,10,11,82,207,152,133,159,
70,77,106,196,35,2,3,59,46,6,1,83,208,145,124,139,
210,234,248,250,157,116,39,50,103,19,16,47,226,191,131,128,
200,197,222,242,223,204,218,241,244,233,235,247,255,252,251,253,
75,78,126,195,89,67,92,160,161,108,119,193,249,224,214,230,
76,74,127,213,49,26,48,138,56,34,55,149,238,184,172,199,
201,225,246,254,158,120,134,227,51,18,24,123,217,183,111,102
};
步骤104、判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
由于预先分配给各个调整子矢量的综合索引号的编码空间是固定的,而分配的编码空间可能不够,因而需要对调整子矢量的综合索引号是否满足预置编码空间进行判断,如果满足,就可以直接将综合索引号输出给编码单元,如果不满足,则需要进行调整。其中,调整的具体过程为:在设定的调整范围内对各个调整量的值进行调整;调整范围与各个调整量一一对应,是该调整量全部取值范围的真子集。每个调整量都有一个对应的调整量的值的取值范围,一般来说,调整范围是在取值范围内的,因此调整范围是该调整量全部取值范围的真子集。由于综合索引号是与原始索引号对应的,而原始索引号通过调整量的值的编号获得,因而可以对调整量的值进行调整,相应的使调整量的值的编号调整,从而调整相应的综合索引号。
由于每个调整量的值的取值范围都是预先设置的,并且每个调整量的取值具有顺序编号,因而可以在设定的调整范围内对调整量的值进行调整。其中调整范围可以由与当前的调整量的值相邻的一个或多个调整量的取值组成。本发明实施例提供的一个调整范围如下:调整范围为该调整量的当前取值,和编号大于或小于该当前取值的另一取值的集合。具体是大于或小于可以根据具体需要设置。
可以根据不同的需要采用不同的调整方法,本发明实施例并不限定调整的具体方法。但是不管采用哪种调整方法,只要能使调整后的调整子矢量对应的综合索引号符合预置条件都应该在本发明的保护范围内。本发明实施例提供的一种调整方法如下:依次对该调整子矢量对应的调整量子组合中的每一维的调整量进行调整或不进行调整;其中,若对某维调整量进行调整,按照预置的调整量调整方法对该维调整量进行调整;预置的调整量调整方法具体为:若该维调整量在其所处的调整量集合中的索引号较小,将该维调整量调整为索引号较大的调整量;若该维调整量在其所处的调整量集合中的索引号较大,将该维调整量调整为索引号较小的调整量。
假设量化的总比特是40比特,其中一级码书是为64个,占6比特,二级码书为64个,同样占6比特,于是剩下28比特用于对调整量的编码。假设输入的信号是16维,对应的残差矢量同样为16维,调整矢量也是16维,如果每一维都设4个调整量,那么,所有的调整量组合方式为416=232,即需要32比特才能完全编码,但目前只剩下28比特用于对调整子矢量的综合索引号进行编码,因此,需要对调整子矢量所包含的调整量的值进行调整。
按照步骤103中的分组方式,每个综合索引号只有7个比特的编码空间,因而编码值不能大于27=128,如果原始索引号id~满足pri_select_orde[id~]<128,则表示该调整子矢量在7比特的编码空间之内,可以直接将综合索引号pri_select_orde[id~]送入编码器进行编码。
如果原始索引号id~不满足pri_select_orde[id~]<128,则需要对调整量实施调整。调整的具体实现方法有很多,本发明实施例提供的一种快速的调整方法是这样的:依次对每一维进行两次调整,第一次调整保持自身的索引号不变,让其它维去调整,第二次调整时,如果该维的调整量的值的编号是0或1,则上调为1或2,如果调整量的值的编号是2或3,则向下调整为1或2。由于4维每一维都调整两次,因此,总共要调整16次。然后,在这16次调整中,分别计算调整后的原始索引号id~,并判断新的id~是否满足pri_select_orde[id~]<128,如新的id~满足pri_select_orde[id~]<128,则可以将调整得到的综合索引号送入编码器进行编码。
例如,1~4维的调整子矢量是[0,3,0,3],则id~=0*64+3*16+0*4+3=51,相应的pri_select_orde[51]=239>128,因此,必须对调整子矢量[0,3,0,3]进行调整。
第一遍调整,保持调整子矢量[0,3,0,3]不变,由于id~=0*64+3*16+0*4+3=51,pri_select_orde[51]=239>128,不符合要求。
第二遍调整,让第四维的3调整成2,新的调整子矢量为[0,3,0,2],新的id~=0*64+3*16+0*4+2=50,pri_select_orde[50]=243>128,同样也不符合要求。
第三遍调整,让第三维的0调整成1,新的调整子矢量为[0,3,1,3],新的id~=0*64+3*16+1*4+3=55,pri_select_orde[55]=231>128,同样也不符合要求。
第四遍调整,让第三维的0调整成1,第四维的3调整成2,新的调整子矢量为[0,3,1,2],新的id~=0*64+3*16+1*4+2=54,pri_select_orde[54]=203>128,同样也不符合要求。
第五遍调整,让第二维的3调整成2,新的调整子矢量为[0,2,0,3],新的id~=0*64+2*16+0*4+3=35,pri_select_orde[35]=21<128,这种组合方式已经能够满足要求。
第六遍调整,让第二维的3调整成2,第四维的3调整成2,新的调整子矢量为[0,2,0,2],新的id~=0*64+2*16+0*4+2=34,pri_select_orde[34]=54<128,这种组合方式已经也能满足要求。
第七遍调整,让第二维的3调整成2,第三维的0调整成1,新的调整子矢量为[0,2,1,3],新的id~=0*64+2*16+1*4+3=39,pri_select_orde[39]=192>128,这种组合方式不满足要求。
...\
最后,遍历所有的16种调整方式,选择组合方式符合要求且加权均方误差最小的组合作为本阶段的输出。
由于遍历所有的16种调整方式可能获得多个满足要求的调整矢量,此时可以计算各个调整矢量的加权均方误差,选择加权均方误差最小的一个调整矢量;本实施例使用加权均方误差为判断的标准,但是并不排除采用其他数据作为判断的标准的情况;
在遍历的过程中,如果出于计算复杂度的考虑,也可以不对所有的16种调整方式进行循环,而是在找到若干个符合要求的组合方式后即停止循环,例如可以找到一个符合要求的组合方式后就停止循环。
若在设定的调整范围内无法获得使得调整子矢量的综合索引号满足预置编码空间的调整量的值的组合,则将所述调整子矢量所包含的调整量的值调整为预置取值。假设经过上述的16次调整可能仍然没有符合要求的组合方式,这时,强制将调整量组合方式调整为[1,1,1,1],由于[1,1,1,1]的id~=1*64+1*16+1*4+1=85,pri_select_orde[85]=0,因此,组合方式[1,1,1,1]总是符合要求的;当然也可以将调整量组合方式调整为[2,2,2,2]等其他能被7个比特所编码的组合方式。
本实施例中,由于采用调整矢量对残差矢量进行调整,有效扩大了残差矢量的动态范围,减小了失真度;并且对残差矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量进行N级矢量量化后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的;进一步,在将调整矢量进行分组,用分组对应的综合索引号代替矢量分组时,可以降低对调整矢量编码的比特位数。进一步,本实施例在调整子矢量对应的综合索引号不符合预置条件时,可以对调整子矢量进行调整,使调整子矢量符合预置条件,从而可以提高量化的效率。例如在编码空间不够时,可以通过对调整子矢量进行调整,使调整后的调整子矢量能够被有限的编码空间所编码,从而可以进一步降低对调整子矢量的编码比特位数。
优选的,由于输入信号的分布是很不均匀的,大量的输入信号往往集中在少数的一级码书或二级码书周围,对于这些使用率高的一级码书或二级码书,可以分配更多的调整量和更多的调整量组合方式,而对于那些使用率较低的一级码书或二级码书,分配的调整量和调整量组合方式少一些,能进一步的提高量化质量。因此,在将调整矢量按照预置的分组方法分成若干个调整子矢量时,可以根据记录的N级量化时各级的码书,确定如何分组。因为,利用信号的统计分析结果,就可以知道各个各级码书的使用率,对使用率高的各级码书分配较多的调整子矢量编码空间,而对使用率低的各级码书分配较少的调整子矢量编码空间。由于是根据各级码书的使用率来分配调整子矢量空间,从而使使用率高的码书获得较宽的调整范围,提高了编码的性能。
因而可以预先为不同的各级码书确定不同的分组方法,例如对于一级码书的索引号为3,二级码书的索引号为4的情况,可以预置将16维的调整矢量分为4维、6维和6维的3个调整子矢量。在实际应用中,可以仅对部分码书的情况预先设置相应的分组方法;而对没有预置相应的分组方法的码书,则可以采用统一的分组方法进行分组,例如,统一的分组方法可以是将16维的调整矢量均分为4个调整子矢量。因而根据对待量化矢量进行N级量化时记录的各级码书的索引号,判断是否预置有相应的分组方法,如果有则可以使用相应的分组方法对调整矢量进行分组,如果没有,则按照统一的分组方法进行分组;从而使本发明实施例可以根据相应的各级码书确定相应的分组方法。
比如,假设一级码书128个,二级码书64个,1~4维、5~8维、9~12维、13~16维各分配64个调整量组合方式,总共用7+6+6*4=37比特进行编码。但如果我们改成对于前64个一级码书和前32个二级码书用76*64*64*64进行编码,后64个一级码书和前32个二级码书、前64个一级码书和后32个二级码书、后64个一级码书和后32个二级码书各用60*64*64*64进行编码,大约能够下降0.03个dB的谱失真。
本发明实施例还提供了矢量量化器,图2描述了本发明提供的矢量量化器实施例的结构,包括:
残差矢量获取单元201,用于获取待量化矢量,对待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
调整矢量获取单元202,用于计算与残差矢量需要修正的各个维一一对应的调整量的值,获得由各个调整量的值组成的调整矢量;
量化单元203,用于将调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
量化输出单元204,用于判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
本实施例中,由于采用调整矢量对残差矢量进行调整,有效扩大了残差矢量的动态范围,减小了失真度;并且对残差矢量的调整以调整矢量的形式进行,使得能够充分利用待量化矢量进行N级矢量量化后某些维度间依然存在的相关性来设计调整矢量,达到以较少的调整矢量数目实现较大的动态调整范围的目的;进一步,在将调整矢量进行分组,用分组对应的综合索引号代替矢量分组时,可以降低对调整矢量编码的比特位数。进一步,本实施例在调整子矢量对应的综合索引号不符合预置条件时,可以对调整子矢量进行调整,使调整子矢量符合预置条件,从而可以提高量化的效率。例如在编码空间不够时,可以通过对调整子矢量进行调整,使调整后的调整子矢量能够被有限的编码空间所编码,从而可以进一步降低对调整子矢量的编码比特位数。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤:
获取待量化矢量,对所述待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
计算与所述残差矢量需要修正的各个维一一对应的调整量的值,获得由所述各个调整量的值组成的调整矢量;
将所述调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
上述提到的存储介质可以是只读存储器,磁盘或光盘等。
以上对本发明实施例所提供的矢量量化方法及矢量量化器进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (8)
1、一种矢量量化方法,其特征在于,包括:
获取待量化矢量,对所述待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
计算与所述残差矢量需要修正的各个维一一对应的调整量的值,获得由所述各个调整量的值组成的调整矢量;
将所述调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
2、如权利要求1所述的矢量量化方法,其特征在于,所述将调整矢量按照预置的分组方法分成若干个调整子矢量的步骤中,具体是按照所述待量化矢量进行N级量化时获得的各级码书的索引号确定所述调整矢量的分组方法。
3、如权利要求1所述的矢量量化方法,其特征在于,所述对调整子矢量所包含的调整量的值进行调整的步骤具体为:在设定的调整范围内对各个调整量的值进行调整。
4、如权利要求3所述的矢量量化方法,其特征在于:每个调整量的全部取值具有顺序编号;所述在设定的调整范围内对各个调整量的值进行调整具体为:
若调整量的值编号较大,将该调整量的值调整为所述调整范围内编号较小的值;
若调整量的值编号较小,将该调整量的值调整为所述调整范围内编号较大的值。
5、如权利要求1所述的矢量量化方法,其特征在于,在所述对调整子矢量所包含的调整量的值进行调整的步骤中,获得一个以上使得调整子矢量的综合索引号满足预置编码空间的调整量的值的组合;
根据各个调整量的值的组合与所述残差矢量的误差确定调整后的调整子矢量。
6、如权利要求3所述的矢量量化方法,其特征在于,所述对调整子矢量所包含的调整量的值进行调整的步骤包括:若在设定的调整范围内无法获得使得调整子矢量的综合索引号满足预置编码空间的调整量的值的组合,则将所述调整子矢量所包含的调整量的值调整为预置取值。
7、如权利要去1所述的矢量量化方法,其特征在于,所述根据调整量的值确定调整子矢量的综合索引号的步骤包括:
根据所述调整量的值计算该调整子矢量的原始索引号;
从预置的优先组合表中获取与所述原始索引号对应的所述综合索引号。
8、一种矢量量化器,其特征在于,包括:
残差矢量获取单元,用于获取待量化矢量,对所述待量化矢量进行N级量化,获得N级量化后的残差矢量,其中N为正整数;
调整矢量获取单元,用于计算与所述残差矢量需要修正的各个维一一对应的调整量的值,获得由所述各个调整量的值组成的调整矢量;
量化单元,用于将所述调整矢量按照预置的分组方法分成若干个调整子矢量,每个调整子矢量由一个或一个以上的调整量组成,根据所包含的调整量的值确定每个调整子矢量的综合索引号;
量化输出单元,用于判断各个调整子矢量的综合索引号是否满足预置编码空间,若否,则调整该调整子矢量所包含的调整量的值,使得该调整子矢量的综合索引号满足预置编码空间。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101812976A CN101419802B (zh) | 2007-10-25 | 2007-10-25 | 用于语音编码的矢量量化方法及矢量量化器 |
PCT/CN2008/072793 WO2009056047A1 (en) | 2007-10-25 | 2008-10-23 | A vector quantizating method and vector quantizer |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101812976A CN101419802B (zh) | 2007-10-25 | 2007-10-25 | 用于语音编码的矢量量化方法及矢量量化器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101419802A true CN101419802A (zh) | 2009-04-29 |
CN101419802B CN101419802B (zh) | 2011-07-06 |
Family
ID=40630567
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101812976A Active CN101419802B (zh) | 2007-10-25 | 2007-10-25 | 用于语音编码的矢量量化方法及矢量量化器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101419802B (zh) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104269176A (zh) * | 2014-09-30 | 2015-01-07 | 武汉大学深圳研究院 | 一种isf系数矢量量化的方法与装置 |
CN104756187A (zh) * | 2012-10-30 | 2015-07-01 | 诺基亚技术有限公司 | 用于能复原的矢量量化的方法和装置 |
CN110209665A (zh) * | 2018-02-15 | 2019-09-06 | 株式会社东芝 | 数据处理装置、数据处理方法以及记录介质 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3849210B2 (ja) * | 1996-09-24 | 2006-11-22 | ヤマハ株式会社 | 音声符号化復号方式 |
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 |
CA2388358A1 (en) * | 2002-05-31 | 2003-11-30 | Voiceage Corporation | A method and device for multi-rate lattice vector quantization |
CN1420487A (zh) * | 2002-12-19 | 2003-05-28 | 北京工业大学 | 1kb/s线谱频率参数的一步插值预测矢量量化方法 |
CN101030377B (zh) * | 2007-04-13 | 2010-12-15 | 清华大学 | 提高声码器基音周期参数量化精度的方法 |
-
2007
- 2007-10-25 CN CN2007101812976A patent/CN101419802B/zh active Active
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104756187A (zh) * | 2012-10-30 | 2015-07-01 | 诺基亚技术有限公司 | 用于能复原的矢量量化的方法和装置 |
US10109287B2 (en) | 2012-10-30 | 2018-10-23 | Nokia Technologies Oy | Method and apparatus for resilient vector quantization |
CN104269176A (zh) * | 2014-09-30 | 2015-01-07 | 武汉大学深圳研究院 | 一种isf系数矢量量化的方法与装置 |
CN110209665A (zh) * | 2018-02-15 | 2019-09-06 | 株式会社东芝 | 数据处理装置、数据处理方法以及记录介质 |
CN110209665B (zh) * | 2018-02-15 | 2023-07-28 | 株式会社东芝 | 数据处理装置、数据处理方法以及记录介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101419802B (zh) | 2011-07-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN1735928B (zh) | 用于可变速率音频编解码的方法 | |
CN103778918B (zh) | 音频信号的比特分配的方法和装置 | |
CN102687199A (zh) | 编码方法、解码方法、编码装置、解码装置、程序以及记录介质 | |
CN103544957A (zh) | 音频信号的比特分配的方法和装置 | |
CN1458646A (zh) | 一种滤波参数矢量量化和结合量化模型预测的音频编码方法 | |
CN101419802B (zh) | 用于语音编码的矢量量化方法及矢量量化器 | |
EP2908313B1 (en) | Adaptive gain-shape rate sharing | |
CN101198041A (zh) | 矢量量化方法及装置 | |
US20090074076A1 (en) | Method and device for vector quantization | |
WO2015146224A1 (ja) | 符号化方法、符号化装置、プログラム、および記録媒体 | |
US9830919B2 (en) | Acoustic signal coding apparatus, acoustic signal decoding apparatus, terminal apparatus, base station apparatus, acoustic signal coding method, and acoustic signal decoding method | |
CN100440758C (zh) | 语音编码装置、语音解码装置以及语音编码/解码方法 | |
US20040176951A1 (en) | LSF coefficient vector quantizer for wideband speech coding | |
US8140343B2 (en) | Method, device and system for signal encoding and decoding | |
US7650277B2 (en) | System, method, and apparatus for fast quantization in perceptual audio coders | |
CN101800050B (zh) | 基于感知自适应比特分配的音频精细分级编码方法及系统 | |
CN101562015A (zh) | 音频处理方法及装置 | |
CN1124588C (zh) | 信号编码方法及设备 | |
CN101436408B (zh) | 矢量量化方法及矢量量化器 | |
EP1129451A1 (en) | Closed-loop variable-rate multimode predictive speech coder | |
CN101271691B (zh) | 一种时域噪声整形工具启动判决方法及装置 | |
CN101079635B (zh) | 联合标量量化方法以及自适应调整标量量化电平的方法 | |
Phamdo et al. | Coding of speech LSP parameters using TSVQ with interblock noiseless coding | |
CN101145344A (zh) | 线谱频率矢量量化的方法及系统 | |
CN103503065A (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 |