矢量编/解码方法、装置及流媒体播放器的制作方法

文档序号:7510972阅读:248来源:国知局

专利名称::矢量编/解码方法、装置及流媒体播放器的制作方法
技术领域
:本发明涉及编解码技术,具体涉及矢量编/解码方法、装置及流媒体播放器。
背景技术
:在流々某体编码中常采用矢量量化的技术,一种比较常用的量化技术是格型矢量量化技术,在低码率的情况下用得相当普及;以音频编码为例,一种应用广泛的扩展宽带自适应多码率(AMR-WB+:ExtendAdaptiveMulti-RateWidebandcodec)音频编码算法,其变换激励编码(TCX:Transformcodeexcite)部分所运用的量化技术就是建立在i^8的多码率格型矢量量化技术。在AMR-WB+音频编码算法的TCX部分,采取的量化方法是多码率矢量量化方法,它作用于预整形后的频语数据,以八个数为一组,根据就近原则将这八个数量化为A^集合上的点;在算法中,量化选取的是i^8的点集,其中D8={(X,X2,'.',X8)eZ8IXjh-----hx8&eve"},故及£8集合中所有数据之和是4的倍数;于是,整个量化方法就演变成先在2马集合中找到离原始数据最近的点,再在2A+(l,U…,l)集合中寻找距离最近的点,最后在前后找出的两个点中间比较得出最终结果初始矢量,用q表示,是一组整型数据(x。,x"…,x^》;因输入数据为八个数一组,则得到的q实际上为(x。,Xp…,X7);然后在基础码本Q。,Q2,Q3,Q,中查找q,若在基础码本中找不到q,则使用Voronoi扩展将其扩展到基础码本中,从而确定相应的&出码本索引和扩展码本数值;其中,QQ,Q2,Q3,Q4中基础码本的情况如表1所示表l、基础码本所属码本情况<table>tableseeoriginaldocumentpage8</column></row><table><table>tableseeoriginaldocumentpage9</column></row><table>表1描述的特征码本(即leader大小,size表示这个leader经过排歹分布在各个球面上,sphere代表球面的组合所能形成的码字的个数,ka标识了不同的leader,每一个leader都有一个不同的ka值;Sphere(S)的值为leader的每一个分量的四次方之和的四分之一,即S:l(x;+X24+…+x;+X84);每一个leader对应的S的值都不一样,在编码中,S的每一个值对应一个ka的值;对于一个八维矢量,只要计算它的S值,就可以查到一个对应的ka,由ka值就可以确定它属于哪个leader;表1还描述了leader所属基础码本的情况,基础码本分为Q。,Q2,Q3,Q4,由表1可见,Q。只包含一个leader,(^2,(53,(54分别包含3、8、28个leader,其中(^20=(^,Q3crQ4;在确定了Ct所属的基础码本后,假设Ci是来自元素集合(a。,^,…,—!)的样本,w(/)是样本中元素&的个数,则LeaderL可能的状态数有A(/)个若"("=/,w,是(Xo,Xp…,x"一)中元素为a,个数,那么(x0,x,,…,x^)的索引编码为<formula>formulaseeoriginaldocumentpage10</formula>在解码时使用如下公式依次确定矢量d(",k=0,...7:<formula>formulaseeoriginaldocumentpage10</formula>再根据d(t)=/,=",,由恢复出(Xo,x!,…,x"4)。在实现上述方案的过程中发现至少存在如下不足编解码过程中要多次计算非规则的阶乘,而且这些随机性比较大的阶乘也很难用查表处理来简化计算,因而具有较高的计算复杂度。
发明内容本发明实施例提供的矢量编/解码方法、装置及流媒体播放器,可以降低计算复杂度。一种矢量编码方法,包括步骤分解初始矢量获得符号及初始绝对值矢量;对所述符号进行编码获得符号编码;对所述初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合所述符号编码及所述绝对值矢量编码,获得所述初始矢量的编码。一种矢量解码方法,包括步骤分解初始矢量的编码,获得符号编码和绝对值矢量编码;对所述符号编码进行解码,获得符号;对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合所述符号及初始绝对值矢量,获得初始矢量。一种矢量编码装置,包括分解单元,用于分解初始矢量,获得符号和初始绝对值矢量;符号编码单元,用于对所述符号编码,获得符号编码;分层组合编码单元,用于对所述初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合单元,用于组合所述符号编码及绝对值矢量编码,获得初始矢量的编码。一种矢量解码装置,包括分解单元,用于分解初始矢量的编码,获得符号编码及绝对值矢量编码;符号解码单元,用于对所述符号编码解码,获得符号;分层组合解码单元,用于对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合单元,用于组合所述符号及初始绝对值矢量,获得所述初始矢量。一种流媒体播放器,包括矢量解码装置,所述矢量解码装置包括分解单元,用于分解矢量编码,获得符号编码及绝对值矢量编码;符号解码单元,用于对所述符号编码解码,获得符号;分层组合解码单元,用于对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合单元,用于组合所述符号及初始绝对值矢量,获得所述初始矢量。从以上技术方案可以看出,由于使用分层组合编码的方式对绝对值矢量进行编码,不需要使用复杂的公式进行计算,降低了计算复杂度。图1为本发明实施例中矢量编码方法实施例一的流程图;图2为本发明实施例中矢量编码方法实施例二的流程图;图3a为本发明实施例中位置编码表index83的实施例的示意图;图3b为本发明实施例中位置编码表index32的实施例的示意图;图4为本发明实施例中矢量编码方法实施例三的流程图;图5为本发明实施例中矢量解码方法实施例一的流程图;图6为本发明实施例中矢量解码方法实施例二的流程图;图7为本发明实施例中矢量编码装置实施例的结构图;图8为本发明实施例中矢量解码装置实施例的结构图。具体实施例方式为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。如图1所示,本发明4是供的矢量编码方法实施例一包括如下步骤(其中本说明书所描述的流媒体是指视频、音频等应用流技术的多媒体,为了描述方便,本说明书统一采用音频作为描述对象,其他如视频等流媒体的处理方式类似)步骤IOI、分解初始矢量获得符号及初始绝对值矢量;初始矢量中的元素符号有正有负,正负的可能组合数量较多,因而分解初始矢量的符号,可以减少元素的组合数量,进而降低后续的计算量;步骤102、对符号进行编码获得符号编码;具体的可以直接提取各个元素的符号;也可以先去除零元素的符号,从而只提取非零元素的符号;其中只提取非零元素的符号可以减少符号整数值需要占用的数据位;可以使用本发明实施方式提供的如下一种技术方案获得符号整数值去除符号中元素值为零的元素的符号,非零元素的符号按非零元素在初始矢量中的顺序排列,以1代表正、0代表负或0代表正、1代表负获得符号编码,由此得到初始矢量的符号对应的符号编码,得到的符号编码的位数是初始矢量中的非零元素个数;其中,用i、O是采用二进制时的情况,当采用其他如八进制、十进制等方式处理时,相应的取值可能有所不同;本说明书描述的顺序排列是从左到右,但是在实际应用中也可以是从右到左、或从中间到两边,具体的处理过程与^v左到右的处理过程类似,本说明书不对其进行赘述;进一步,在实际应用中,对符号编码还要进行一个后处理,原因是量化过程中对基础码本的设计有一个限制,即矢量所有元素的元素值之和是4的倍数;如果单独改变任何一个元素的符号,可以使所有元素的元素值之和的变化是4的倍数,则各个元素的符号是独立的,否则就是不独立的,不独立意味着矢量符号间有关联性、存在冗余,消除符号间的冗余才能达到有效编码的目的,由于不独立的初始矢量的任何一位符号可以由其它符号位来决定,因而一种简单的消除冗余的方法是不对符号不独立矢量的最后一个非零元素符号进行编码,即去除已经获得的符号编码的最后一位;这是因为要满足矢量所有元素的元素值之和是4的倍数,在知道其余的矢量元素符号后,可以直接得出剩余的一个元素的符号;步骤103、对初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;分层组合编码是逐层去除矢量中符合预置条件的元素值,例如可以去除出现次数最多的元素值对应的元素,当有两个或以上的元素值对应的元素数量都是最多时,可以按照元素值的大小顺序去除相应的元素,当然也可以釆用其他方式选取去除相应的元素,具体采用哪种方式可以根据具体的使用环境确定;在实际应用中还可以去除出现次数最多的两个或更多元素值对应的元素;分层组合编码时,当前层保留下来的元素在上一层的位置数据组成一个位置排列,位置排列的可能最大值是属于上一层的元素个数,对获得的当前层的位置排列进行编码;按此方法对绝对值矢量进行分层组合编码,直到分解层的元素只对应一个元素值,这样就获得一系列分层编码值,合并分层编码值得到绝对矢量编码;在实际应用中,分层组合编码时,分层编码值的合并可以是逐层合并,也可以是在获得所有分层编码值后一次合并;其中,本说明书采用逐层合并的方式进行说明;步骤104、组合符号编码及绝对值矢量编码,获得初始矢量的编码;将符号编码和绝对值矢量编码组合可以得到初始矢量的编码,从而在解码时可以根据初始矢量的编码解码出绝对值矢量及其元素的符号;具体的组合过程可以如下确定符号编码的位数后,将绝对值矢量编码左移符号编码的位数后组合符号编码,从而获得初始矢量的编码;在实际应用中也可以将绝对值矢量编码右移再组合符号编码,或者也可以确定绝对值矢量编码的位数后,将符号编码左移或右移再组合绝对值矢量编码;本说明书并不限定具体采用哪种方式组合绝对值矢量编码和符号编码,只要能在解码时能从初始矢量编码中获得符号编码和绝对值矢量编码都应该在本发明保护范围内;从上可以看出,由于本实施例使用分层组合编码的方式对绝对值矢量进行编码,不需要使用复杂的公式进行计算,降低了计算复杂度。在实际应用中,可能会有多个特征码本,即码本空间保存有至少两个特征码本,此时需要在获得初始矢量归属于特征码本的编码值后进一步包括步骤获取初始矢量所属的特征码本在码本空间的特征值,组合特征值和初始矢量归属于该特征码本的编码,获得初始矢量的最终编码;各个特征码本在码本空间的特征值是不同的,该特征值可以是特征码本在码本空间的整体偏移值,也可以是其他在码本空间中能唯一标识该特征码本的其他值,如特征码本编号等;因而将初始矢量归属于特征码本的编码和特征值组合,可以将编码与特征码本对应起来,从而在解码时可以4吏用相应的特征码本进行解码;具体的组合过程可以采用与组合符号整数值和绝对值矢量编码的过程相同的方式;其中在实际应用中,当特征值使用的是整体偏移值时,由于各个特征码本在码本空间的整体偏移值之间有一定的间隔,若该间隔足够大,则可以直接将初始矢量归属于特征码本的编码和整体偏移值相加组合获得最终编码值;经过上述步骤后,可以在有多个特征码本时,将初始矢量与其对应的特征码本对应起来。当本发明实施例应用于语音频标准中变换域格形矢量量化编码的情况时,由于格形矢量量化编码的基础码本都是固定的,因而每个Leader的元素种类、每类元素的数量都是确定的,可以预先根据Leader的情况确定分层组合编码的顺序以及配置参数等;以表1描述的基础码本所属码本情况为例,本发明实施例提供的分层组合编码的顺序及配置参数如表2所示,表2描述了每层去除一个出现次数最多的元素值的元素的情况;表2、分层组合编码的顺序及配置参数<table>tableseeoriginaldocumentpage15</column></row><table><table>tableseeoriginaldocumentpage16</column></row><table>制的100为十进制为4,因而符号编码sign=4;对绝对值矢量进行分层组合编码,参照表2,先去除绝对值矢量中元素值为0的元素,得到的绝对值矢量为(2,4,6),其中2、4、6在上一层的位置数据分别为1、4、6,根据组合原理,是在8个元素中选取3个,可以根据预置的计算公式/"&x83二C83—C83_p0+C82—p0—i_C8%,+C;_pW—C8、2计算出对应的位置编码,公式中,p0为2的位置数据,pi为4的位置数据,p2为6的位置数据,或者也可以使用预置的位置编码表查找到位置编码,本发明实施例提供的一个位置编码表如图3a所示,从图3a可以看出,位置数据分别为1、4、6对应的位置编码为31;进一步,由于剩下的绝对值矢量的元素数量为3,因而需要继续分层组合编码,因为3个元素的对应3个不同的元素值,所以可以顺序从3个元素中去除一个,参照表2,从中去除元素值为2的元素,剩下有两个元素的绝对值矢量(4,6);又因为上层的位置编码为31,所以组合本层的位置编码和上层位置编码得到的组合位置编码为31*3+2=95,其中乘以3是因为从3个元素中选取2个元素即3选2的组合数的数值为3,加上2是因为剩下的绝对值矢量(4,6)中的元素4和6在矢量(2,4,6)中的位置数据为1和2,而才艮据公式/"^^32二C32-Ctpo+C^-C〗^可得到位置编码为2,其中po为元素4的位置数据,pi为元素6的位置数据;当然,也可以才艮据预置的位置编码表查找到位置编码,本发明实施例提供的一个位置编码表如图3b所示,从图3b可以看出,位置凝:据分别为1、2对应的位置编码为2;同样,由于剩下的绝对值矢量的元素数量为2,继续分层组合编码,参照表2,从中去除元素值为4的元素,剩下只有一个元素的绝对值矢量(6);因为上层的组合位置编码为95,从2个元素中选耳又1个元素即2选1的组合数的数值为2,又元素6在矢量(4,6)中的位置数据为1,因而使用公式/"&x21=C;-C可得到位置编码为1,其中po为元素6在矢量(4,6)中的位置数据,所以组合位置编码为95*2+1=191;剩下的绝对值矢量的元素对应的元素值数量为1,因而分层组合编码完成;组合符号编码和绝对值矢量编码,绝对值矢量的初始元素中非零元素的数量为3,即符号整数值的位数为3,因而需要将绝对值矢量编码左移3位再加上符号编码,从而将绝对值矢量编码和符号编码组合存储,得到的初始矢量归属于Leader20的编码值为191*(23)+4=191*8+4=1592,其中4是符号编码;继续组合归属于Leader20的编码和Leader20在码本空间的整体偏移值,假设Leader20在码本空间的整体偏移值offset为57728,因而得到的最终编码值为59260;其中Leader20在码本空间的整体偏移值是由Leader20在系统中的存储位置决定的,不同的系统的值可能并不相同,但是在同一个系统中是不变的;从上可知,本实施例中不需要进行复杂的阶乘计算,计算量不高;并且,本实施例只需要保存如表2的一张表,及计算位置编码的公式、或查找位置编码的位置编码表,以及少量的中间数据,因而对存储空间的占用也不大;其中,本实施例描述的每一层去除一个元素值的元素的情况,在实际应用中,如果元素值的数量比较多,也可以一层去除多个元素值的元素。本发明进一步提供了矢量编码方法的实施例三,如图4所示,包括步骤401、分解初始矢量的符号以获得符号和绝对值矢量;步骤402、以非零元素的符号按非零元素在初始矢量中的顺序排列,以l代表正、0代表负获得符号编码;在实际应用中也可以以0代表正、1代表负或者其他方式获得符号编码;步骤403、判断初始矢量中元素的符号是否独立;如果是,进入步骤405,如果否,进入步骤404;步骤404、去除符号编码的最后一位;步骤405、去除绝对值矢量中对应的元素数量最多的元素值对应的元素;本实施例是去除绝对值矢量中对应的元素数量最多的元素值对应的元素的方式,在实际应用中也可以去除绝对d直矢量中对应的元素数量最少的元素值对应的元素等方式;步骤406、获得与对应的元素数量不是最多的元素值的元素在绝对值矢量中的位置数据,采用预置方式计算获得位置编码;预置方式可以是采用位置编码计算公式计算、或从预置的位置编码表中查找;步骤407、判断与对应的元素数量不是最多的元素值的数量是否为1;如果是,进入步骤409;如果否,进入步骤408;步骤408、顺序保留与对应的元素数量不是最多的元素值的元素,组成新的绝对值矢量,进入步骤405;步骤409、组合得到的各个位置编码得到组合位置编码,将组合位置编码左移符号编码的位数后,组合符号编码,获得初始矢量归属于特征码本的编码;其中,特征码本由初始矢量确定;步骤410、组合归属于特征码本的编码和特征码本在码本空间的整体偏移值,获得初始矢量的最终编码值;本实施例使用分层组合编码,不需要进行复杂的阶乘计算,计算量不高;并且,本实施例需要存储的中间数据不多,因而对存储空间的占用也不大。与矢量编码方法对应的,本发明实施例还提供了矢量解码方法,解码端在收到最终的绝对值矢量编码之后,按照与编码过程相反的方式对解码值进行拆分,得到各个部分的组合解码值,解出位置信息,然后逐层进行替代,最终得到初始矢量;解码主要包括如下几个步骤(l)根据编码值范围查找得到格形矢量所属Leader,进而得到编码偏移值,并从编码值中减掉偏移值,得到Leader内的编码值;(2)从Leader编码值分解出符号编码值和分层组合编码值;(3)对分层组合编码值进行逐层分解,分解出各层的组合编码值,调用组合解码模块解出各层的位置矢量,并用逐层替换的方式恢复出矢量所有位置上的元素值;本发明提供的矢量解码方法实施例一如图5所示,包括步骤501、分解矢量编码,获得符号编码和绝对值矢量编码;由矢量编码可以确定矢量对应的特征码本,进而从预置解码表中查找矢量编码对应的符号编码的位数;符号编码表示的是矢量中元素的符号,而每个特征码本中元素的数量都是已知的,因而在确定特征码本后可以确定符号编码的位数,这些都可以保存在预置的解码表中;从矢量编码中提取符号编码的位数上的数据,获得符号编码;由于矢量编码是由绝对值矢量编码和符号编码共同组成的,若在编码时将绝对值矢量编码左移后组合符号编码得到特征码本的编码值,那么在矢量编码的最右边的几位是符号编码;将从符号编码中提取符号编码的位数上的数据后得到的数据,右移符号编码的位数,获得绝对值矢量编码;在提取了符号编码后,将提取符号编码后的数据右移相应的位数就可以得到绝对值矢量编码,这与编码时的过程正好相反;步骤502、对符号编码解码,获得符号;根据得到的符号整数值将其转为二进制,然后根据编码时是O代表正、1代表负还是O代表负、1代表正相应的确定元素的符号;本实施例以由非零元素的符号得到符号编码来描述;步骤503、对绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;分层组合解码的具体过程如下分解绝对值矢量编码,获得绝对值矢量中元素在上层绝对值矢量中的位置编码;实际上,因为绝对值矢量编码是由分层组合编码时得到的各个位置编码组合而成,因而在解码时直接分解绝对值矢量编码可以获得各层的位置编码;对位置编码进行解码,获得绝对值矢量中元素在上层绝对值矢量中的位置数据;从预置解码表中查找上层绝对值矢量中元素数量、及获得绝对值矢量时去除的元素的元素值;将绝对值矢量中的元素按位置数据置于上层绝对值矢量,并在剩下的位置上补充去除的元素的元素值,获得上层绝对值矢量;若上层绝对值矢量不是初始绝对值矢量,则需要按照上述步骤继续进行分层组合解码,直到得到初始绝对值矢量;步骤504、组合符号及初始绝对值矢量,获得初始矢量;具体的,将符号顺序恢复至初始绝对值矢量中的非零元素;由于在编码时可能由于元素符号的不独立,去除了符号编码的最后一位,所以若在恢复初始矢量时,初始矢量中最右一位的非零元素没有恢复元素符号,根据初始矢量中各元素的元素值之和为4的倍数,确定最右一位的非零元素的元素符号;当然,也可能是初始矢量中最左一位的非零元素没有恢复元素符号,具体由编码时去除的是哪个非零元素的符号来确定;从本实施例可以看出,使用本发明实施例提供的技术方案在解码的过程中也不需要进行非规则的阶乘计算,计算量不大,并且所使用的中间文件与编码时差不多,因而也不会占用较多的存储空间。在实际应用中,若得到的编码是组合了特征码本在码本空间的特征值的最终编码,则需要通过如下步骤对最终编码进行分解由初始矢量的最终编码确定初始矢量对应的特征码本,获得该特征码本在码本空间的特征值;由最终编码和特征值,确定初始矢量归属于特征码本的矢量编码;该特征值可以为整体偏移值,因为每个特征码本在码本空间的存储位置都是固定的,因而特征码本在码本空间的整体偏移值也是固定的,所以在得到编码后可以由编码值所处的范围确定其所处的特征码本;具体的,可以在系统中保存一张表,记录每个特征码本及其偏移值,在解码时就可以从该表中直接查找;同样,若该特征值为特征码本的编号等的处理过程类似;具体的,若编码时是由矢量归属于特征码本的编码加上整体偏移值得到的编码,归属于特征码本的编码值可以直接由编码减去整体偏移值得到;经过上述步骤后,可以从最终编码中将矢量归属于特征码本的编码分解出来,从而可以对矢量归属于特征码本的编码值进行解码,获得初始矢量。本发明提供的矢量解码方法的实施例二如图6所示,包括步骤61、由最终编码值所处范围得到Leader和offset;例如编码值为59260,可以得到其归属于Leader20,其offset为57728;步骤62、将最终编码值减去offset得到初始矢量归属于Leader的编码值;用编码值59260减去57728得到归属于Leader20的编码值为1532;步骤63、分解初始矢量归属于Leader的编码值得到符号编码和绝对值矢量编码;分解1532为符号编码4和绝对值矢量编码1528;步骤64、由符号编码恢复绝对值矢量中元素的元素符号;因为编码时用1代表负、0代表正,所以十进制数4转换为二进制数100,因此非零元素对应的元素符号从左到右分别为-,+,+;步骤65、分层组合解码,其具体过程为步骤651、分解绝对值矢量编码的第n层的编码;其中n是编码时分层组合编码的层数,对于不同的特征码本n值可能不一样,具体n值为多少可以直接从表2中的Vc项获得;本实施例具体使用Leader20进行描述,从表2可知,对应的是4层,其中第一层去除的是元素值为0的元素,第二层去除的是元素值为2的元素,第三层去除的是元素值为4的元素,得到的第四层为元素值为6的元素;其中,在分解之前要先将绝对值矢量编码符号位右移3位(与编码时左移3位对应),因而可以由1528/(23)=1528/8得到191;步骤652、分解绝对值矢量编码的第3层的编码;以Leader20为例,由于对应的是4层,而第四层并不进行编码,故Leader20只进行了3层组合编码,因此解码时对应的从第三层开始;由于编码时每层去除一个元素值对应的元素,所以解码时也对应的一层恢复一个元素值对应的元素;由表2可知m3为1,m2为2,ml为3,从第二层的元素数量个元素中选取第三次元素数量个元素中的组合数为2选1的组合数为2,因而使用191%2计算可得商为95,因而第一层和第二层的组合位置编码为95,余数1为第三层的绝对值矢量中元素在第二层的绝对值矢量的位置编码;该位置编码对应的位置数据为1;步骤653、分解绝对值矢量编码的第2层的编码;同样使用95%3得到第一层的位置编码为31,余数2为第二层的绝对值矢量中元素在第一层绝对值矢量位置编码;该位置编码对应的位置数据为1,2;步骤654、分解绝对值矢量编码的第1层的编码;因为第1层为最后一层,所以得到的第一层绝对值矢量中元素在初始绝对值矢量的位置编码,而ml为3,又初始lt据为8位,所以可以通过图3a所描述的表查出位置编码31对应的位置数据为1、4、6,当然也可以通过相应的公式计算;步骤655、用2层的解码结果替代1层待定位置的数据;从表2可知,最先去除的元素值为O,因而将绝对值矢量除位置1、4、6外的位置设置为零;步骤656、用3层的解码结果替代2层待定位置的数据;从表2可知,第二个去除的元素值为2,又因为1、4、6三个位置中,保留至下层的数据的位置为4和6,因而将元素值2补入位置1中;相应的将4设置在位置4,将6设置在位置6,得到的初始绝对值矢量为(0,2,0,0,4,0,6,0);由于Leader20只需要进行3层的解码,因而没有第4层至第n层的步骤;在实际应用中,若某个Leader对应的层数较多,每一层的处理过程都类似,本实施例不对其进行详细描述;步骤657、用n层的解码结果替代n-l层待定位置的数据;步骤66、从左到右恢复绝对值矢量中非零元素的符号;又因为得到的非零元素的符号从左到右分别为-,+,+,所以可以得到初始矢量为(0,-2,0,0,4,0,6,0);步骤67、如果初始矢量中最右一个非零元素符号没有确定,根据绝对值矢量中各个元素值之和为4的原则确定该非零元素的符号;在实际应用中,可能由于初始矢量的符号不独立,而将非零元素的最右一位的符号位丟弃不处理,所以若在解码时得到的初始矢量的最右一位非零元素没有符号值,就可以根据绝对值矢量中各个元素值之和为4的原则确定该非零元素的符号;从本实施例可以看出,使用本发明实施例提供的技术方案在解码的过程中也不需要进行非规则的阶乘计算,计算量不大,并且所使用的中间文件与编码时差不多,因而也不会占用较多的存储空间。本发明实施例进一步提供了矢量编码装置,如图7所示,包括分解单元71,用于分解初始矢量,获得符号和初始绝对值矢量;符号编码单元72,用于对符号编码,获得符号编码;分层组合编码单元73,用于对初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;其主要包括元素去除单元,用于去除初始绝对值矢量中元素值符合预置条件的元素;元素保留单元,用于顺序保留不符合预置条件的元素,组成新的绝对值矢量;位置编码单元,用于对不符合预置条件的元素在初始绝对值矢量中的位置进行编码获得位置编码;还用于在新的绝对值矢量中元素值的数量大于1时,触发元素去除单元去除新的绝对值矢量中元素值符合预置条件的元素;绝对值矢量编码单元,用于在新的绝对值矢量中元素值的数量为1时,组合分层组合编码过程中得到的各个位置编码得到绝对值矢量编码;其中,位置编码单元使用预置的位置编码计算公式计算位置编码、或从预置的位置编码表中查找位置编码;在实际应用中,还可以包括预置编码表保存单元,用于保存预置编码表,所述预置编码表保存预置条件;元素去除单元从预置编码表中查找需要去除的元素值;组合单元74,用于组合符号编码及绝对值矢量编码,获得初始矢量编码;其主要包括位数确定单元,用于确定符号编码的位数;组合单元,用于将绝对值矢量编码左移符号编码的位数后,组合符号编码,获得初始矢量编码;从上可以看出,由于本实施例使用分层组合编码的方式对绝对值矢量进行编码,不需要使用复杂的公式进行计算,降低了计算复杂度。在实际应用中,若码本空间的特征码本数量至少为2,则需要使初始矢量的编码与特征码本对应,因而本发明实施例提供的矢量编码装置还需要包括特征码本确定单元,用于确定初始矢量归属的特征码本;最终编码值获得单元,用于获取特征码本的特征值,组合特征值和所述初始矢量的编码,获得初始矢量的最终编码;通过最终编码值获得单元可以在有多个特征码本时,将初始矢量与其对应的特征码本对应起来。本发明还提供了矢量解码装置的实施例,如图8所示,包括分解单元81,用于分解矢量编码,获得符号编码及绝对值矢量编码;其主要包括符号编码位数确定单元,用于由初始矢量归属的特征码本确定符号编码的位数;符号编码提取单元,用于从矢量编码中提取符号编码的位数上的数据,获得符号编码;绝对值矢量编码获得单元,用于将从矢量编码中提取符号编码的位数上的数据后右移符号编码的位数,获得绝对值矢量编码;符号解码单元82,用于对符号编码解码,获得符号;分层组合解码单元83,用于对绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;其主要包括绝对值矢量编码分解单元,用于分解绝对值矢量编码,获得绝对值矢量中元素在上层绝对值矢量中的位置编码和上层绝对值矢量编码;位置数据获得单元,用于对位置编码进行解码,获得绝对值矢量中元素在上层绝对值矢量中的位置数据;数据查找单元,用于从预置解码表中查找上层绝对值矢量中元素数量、及获得绝对值矢量时去除的元素的元素值;绝对值矢量获得单元,用于将绝对值矢量中的元素按位置数据置于上层绝对值矢量,并在剩下的位置上补充去除的元素的元素值,获得上层绝对值矢量;在上层绝对值矢量不是初始绝对值矢量时,触发位置数据获得单元对上层绝对值矢量对应的位置编码进行解码;其中,位置数据获得单元使用预置的位置数据解码公式计算所述位置数据、或使用预置的位置数据解码表查找所述位置数据;组合单元84,用于组合符号及初始绝对值矢量,获得初始矢量;从上可以看出,由于本实施例使用分层组合编码的方式对绝对值矢量进行编码,不需要使用复杂的公式进行计算,降低了计算复杂度。在实际应用中,如果编码过程中涉及多个特征码本,则解码时得到的是初始矢量的最终编码值,因而本发明实施例提供的矢量解码装置还需要包括特征码本确定单元,用于确定初始矢量对应的特征码本,获得该特征码本在所述码本空间的特征值;编码值确定单元,用于根据特征值,分解所述初始矢量的最终编码得到初始矢量的编码;在获得了初始矢量的编码后就可以由分解单元开始矢量解码。本发明实施例还提供了一种包括矢量解码装置的流媒体播放器,其中矢量解码装置包括分解单元,用于分解矢量编码,获得符号编码及绝对值矢量编码;符号解码单元,用于对符号编码解码,获得符号;分层组合解码单元,用于对绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合单元,用于组合符号及初始绝对值矢量,获得初始矢量;从上可以看出,由于本实施例使用分层组合编码的方式对绝对值矢量进行编码,不需要使用复杂的公式进行计算,降低了计算复杂度。领i或晋通才支术人贝可。是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤分解初始矢量获得符号及初始绝对值矢量;对符号编码获得符号编码;对初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合符号编码及绝对值矢量编码,获得初始矢量的编码;上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明实施例所提供的矢量编/解码方法、装置及流媒体播放器进行了详细介绍,以上实施例的说明只是用于帮助理解本发明的方法及其思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种矢量编码方法,包括步骤分解初始矢量获得符号及初始绝对值矢量;对所述符号进行编码获得符号编码;对所述初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合所述符号编码及所述绝对值矢量编码,获得所述初始矢量的编码。2、如权利要求1所述的矢量编码方法,其特征在于,在分解初始矢量前进一步包括确定所述初始矢量归属的特征码本;所述初始矢量的编码为所述初始矢量归属于所述特征码本的编码,在获得所述初始矢量的编码后进一步包括获取所述特征码本的特征值,组合所述特征值和所述初始矢量的编码,获^f寻所述初始矢量的最终编码。3、如权利要求1或2所述的矢量编码方法,其特征在于,采用如下方式对所述初始绝对值矢量进行分层组合编码去除所述初始绝对值矢量中元素值符合预置条件的元素;顺序保留不符合所述预置条件的元素,组成新的绝对值矢量;对所述不符合预置条件的元素在所述初始绝对值矢量中的位置进行编码获得位置编码;若所述新的绝对值矢量中元素值的数量大于1,继续对所述新的绝对值矢量进行分层组合编码;若所述新的绝对值矢量中元素值的数量为1,组合分层组合编码过程中得到的各个位置编码得到所述绝对值矢量编码。4、如权利要求3所述的矢量编码方法,其特征在于,使用预置的位置编码计算公式计算所述位置编码、或从预置的位置编码表中查找所述位置编码。5、如权利要求3所述的矢量编码方法,其特征在于,所述预置条件保存在预置编码表中,分层组合编码时从所述预置编码表中查找需要去除的元素值。6、如权利要求1或2所述的矢量编码方法,其特征在于,顺序对所述符号中的非零元素的符号进行编码获得所述符号编码。7、如权利要求1或2所述的矢量编码方法,其特征在于,所述组合所述符号编码及所述绝对值矢量编码具体为确定所述符号编码的位it;将所述绝对值矢量编码左移所述符号编码的位数后,组合所述符号编码。8、一种矢量解码方法,包括步骤分解初始矢量的编码,获得符号编码和绝对值矢量编码;对所述符号编码进行解码,获得符号;对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合所述符号及初始绝对值矢量,获得初始矢量。9、如权利要求8所述的矢量解码方法,其特征在于,若获得的是所述初始矢量的最终编码,分解所述初始矢量的编码前进一步包括确定所述初始矢量对应的特征码本;获得该特征码本在所述码本空间的特征值;根据所述特征值,分解所述初始矢量的最终编码得到所述初始矢量的编码。10、如权利要求8或9所述的矢量解码方法,其特征在于,对所述绝对值矢量编码进行分层组合解码具体为分解所述绝对值矢量编码,获得所述绝对值矢量中元素在上层绝对值矢量中的位置编码;对所述位置编码进行解码,获得所述绝对值矢量中元素在上层绝对值矢量中的位置数据;从预置解码表中查找所述上层绝对值矢量中元素数量、及获得所述绝对值矢量时去除的元素的元素值;将所述绝对值矢量中的元素按所述位置数据置于所述上层绝对值矢量,并在剩下的位置上补充所述去除的元素的元素值,获得所述上层绝对值矢量;若所述上层绝对值矢量不是所述初始绝对值矢量,继续对所述上层绝对值矢量进行分层组合解码。11、如权利要求IO所述的矢量解码方法,其特征在于,使用预置的位置数据解码公式计算所述位置数据、或使用预置的位置数据解码表查找所述位置数据。12、如权利要求8或9所述的矢量解码方法,其特征在于,分解初始矢量的编码具体为由所述初始矢量归属的特征码本确定符号编码的位数;从所述矢量编码中提取所述符号编码的位数上的数据,获得所述符号编码;将从所述矢量编码中提取所述符号编码的位数上的数据后右移所述符号编码的位数,获得所述绝对值矢量编码。13、如权利要求8或9所述的矢量解码方法,其特征在于,组合所述符号及初始绝对值矢量具体为将所述符号顺序赋给所述初始绝对值矢量中的非零元素。14、一种矢量编码装置,其特征在于,包括分解单元,用于分解初始矢量,获得符号和初始绝对值矢量;符号编码单元,用于对所述符号编码,获得符号编码;分层组合编码单元,用于对所述初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合单元,用于组合所述符号编码及绝对值矢量编码,获得初始矢量的编码。15、如权利要求14所述的矢量编码装置,其特征在于,还包括特征码本确定单元,用于确定所述初始矢量归属的特征码本;最终编码值获得单元,用于获取所述特征码本的特征值,组合所述特征值和所述初始矢量的编码,获得所述初始矢量的最终编码。16、如权利要求14或15所述的矢量编码装置,其特征在于,所述分层组合编码单元包括元素去除单元,用于去除所述初始绝对值矢量中元素值符合预置条件的元素;元素保留单元,用于顺序保留不符合所述预置条件的元素,组成新的绝对值矢量;位置编码单元,用于对所述不符合预置条件的元素在所述初始绝对值矢量中的位置进行编码获得位置编码;还用于在所述新的绝对值矢量中元素值的数量大于l时,触发所述元素去除单元去除所述新的绝对值矢量中元素值符合预置条件的元素;绝对值矢量编码单元,用于在所述新的绝对值矢量中元素值的数量为1时,组合分层组合编码过程中得到的各个位置编码得到所述绝对值矢量编码。17、如权利要求16所述的矢量编码装置,其特征在于,所述位置编码单元使用预置的位置编码计算公式计算所述位置编码、或从预置的位置编码表中查找所述位置编码。18、如权利要求16所述的矢量编码装置,其特征在于,进一步包括预置编码表保存单元,用于保存预置编码表,所述预置编码表保存所述预置条件;所述元素去除单元从所述预置编码表中查找需要去除的元素值。19、如权利要求14或15所述的矢量编码装置,其特征在于,所述符号20、如权利要求14或15所述的矢量编码装置,其特征在于,所述组合单元包括位数确定单元,用于确定所述符号编码的位数;组合单元,用于将所述绝对值矢量编码左移所述符号编码的位数后,组合所述符号编码。21、一种矢量解码装置,其特征在于,包括分解单元,用于分解初始矢量的编码,获得符号编码及绝对值矢量编码;符号解码单元,用于对所述符号编码解码,获得符号;分层组合解码单元,用于对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合单元,用于组合所述符号及初始绝对值矢量,获得所述初始矢量。22、如权利要求21所述的矢量解码装置,其特征在于,还包括特征码本确定单元,用于确定所述初始矢量对应的特征码本,获得该特征码本在所述码本空间的特征值;编码值确定单元,用于根据所述特征值,分解所述初始矢量的最终编码得到所述初始矢量的编码。23、如权利要求21或22所述的矢量解码装置,其特征在于,所述分层组合解码单元包括绝对值矢量编码分解单元,用于分解所述绝对值矢量编码,获得所述绝对值矢量中元素在上层绝对值矢量中的位置编码和上层绝对值矢量编码;位置数据获得单元,用于对所述位置编码进行解码,获得所述绝对值矢量中元素在上层绝对值矢量中的位置数据;数据查找单元,用于从预置解码表中查找所述上层绝对值矢量中元素数量、及获得所述绝对值矢量时去除的元素的元素值;绝对值矢量获得单元,用于将所述绝对值矢量中的元素按所述位置数据置于所述上层绝对值矢量,并在剩下的位置上补充所述去除的元素的元素值,获得所述上层绝对值矢量;在所述上层绝对值矢量不是所述初始绝对值矢量时,触发所述位置数据获得单元对所述上层绝对值矢量对应的位置编码进行解码。24、如权利要求23所述的矢量解码装置,其特征在于,所述位置数据获得单元使用预置的位置数据解码公式计算所述位置数据、或使用预置的位置数据解码表查找所述位置数据。25、如权利要求22所述的矢量解码装置,其特征在于,所述分解单元包括符号编码位数确定单元,用于由所述初始矢量归属的特征码本确定符号编码的位数;符号编码提取单元,用于从所述矢量编码中提取所述符号编码的位数上的数据,获得所述符号编码;绝对值矢量编码获得单元,用于将从所述矢量编码中提取所述符号编码的位数上的数据后右移所述符号编码的位数,获得所述绝对值矢量编码。26、如权利要求21或22所述的矢量解码装置,其特征在于,所述组合单元通过将所述符号顺序赋给所述初始绝对值矢量中的非零元素,组合所述符号及初始绝对值矢量。27、一种流媒体播放器,其特征在于,包括矢量解码装置,所述矢量解码装置包括分解单元,用于分解矢量编码,获得符号编码及绝对值矢量编码;符号解码单元,用于对所述符号编码解码,获得符号;分层组合解码单元,用于对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合单元,用于组合所述符号及初始绝对值矢量,获得所述初始矢量。全文摘要本发明涉及编解码技术,公开了矢量编/解码方法、装置及流媒体播放器,其中矢量编码方法包括分解初始矢量获得符号及初始绝对值矢量;对所述符号进行编码获得符号编码;对所述初始绝对值矢量进行分层组合编码,获得绝对值矢量编码;组合所述符号编码及所述绝对值矢量编码,获得所述初始矢量的编码;矢量解码方法包括分解初始矢量的编码,获得符号编码和绝对值矢量编码;对所述符号编码进行解码,获得符号;对所述绝对值矢量编码进行分层组合解码,获得初始绝对值矢量;组合所述符号及初始绝对值矢量,获得初始矢量;使用上述技术方案,可以降低计算复杂度。文档编号H03M7/30GK101304254SQ20071012960公开日2008年11月12日申请日期2007年7月23日优先权日2007年7月23日发明者马付伟申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1