一种编码、解码、编解码方法、编解码系统以及相关装置的制作方法

文档序号:2831073阅读:212来源:国知局

专利名称::一种编码、解码、编解码方法、编解码系统以及相关装置的制作方法
技术领域
:本发明涉及数据处理领域,尤其涉及一种编码、解码、编解码方法、编解码系统以及相关装置。
背景技术
:近年来,随着承载技术的发展,用户对音频编码器的编码质量提出了越来越高的要求。在追求语音通话的同时,用户希望获得更高质量、更丰富的媒体服务。一方面,在通信领域,用户越来越不满足于窄带语音编解码器的质量,因此语音编解码器已逐步向宽带、超宽带扩展。另一方面,应用于多媒体
技术领域
的音频编码器也逐渐朝着能够提供低速率高质量的音频编码质量方向努力。目前已经标准化的音频编码器大都是采用变换编码、心理声学模型和格型矢量量化技术相结合的方法对信号进行编码。现有技术中,国际电信联盟电信标准局(ITU-T,InternationalTelecommunicationUnionTelecommunicationStandardizationSector)最新的宽带嵌入式变速率编码器G.718中使用了基于分层组合的格型码书索引编码方法,其主要步骤包括首先对待编码矢量的符号进行编码,并得到与待编码矢量相对应的绝对值矢量;其次,根据事先存储的每一个Leader矢量对应的表征各层移除元素数值大小的矢量和一个表征符号编码所需比特数、分层编码的层数以及除最高层外各层绝对值矢量维数的分层组合编码参数矢量,依次移除待编码的绝对值矢量中相应元素,并对所剩元素在上一层中的位置进行编码,最后累计各层编码值,并考虑待编码矢量的符号编码值贡献,得到最终的待编码矢量的索引值。但是,上述技术方案增加了存储复杂度,特别是对于编码比特数较高,Leader码字较多的格型矢量量化器,增加的存储复杂度几乎和码书自身的存储复杂度相当。
发明内容本发明实施例提供了一种编码、解码、编解码方法、编解码系统以及相关装置,能够减少存储复杂度,提高编码性能。本发明实施例提供的编码方法,包括获取待编码的矢量对应的幅度矢量和长度矢量;对所述幅度矢量以及长度矢量进行排序;根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值。本发明实施例提供的解码方法,包括接收编码端发送的格型码书索引值;获取幅度矢量以及长度矢量;对所述幅度矢量以及长度矢量进行排序;根据所述排序后的幅度矢量以及排序后的长度矢量解码得到矢量。本发明实施例提供的编解码方法,包括编码装置在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;编码装置获取待编码的矢量对应的幅度矢量和长度矢量;编码装置对幅度矢量以及长度矢量进行排序;编码装置根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;编码装置根据所述码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送所述格型码书索引值;解码装置在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量;解码装置根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;解码装置从所述格型码书索引值中减去该码书索引值偏移量得到新索引值;解码装置对幅度矢量以及长度矢量进行排序;解码装置根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。本发明实施例提供的编解码系统,包括编码装置,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,获取待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量进行排序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据所述码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值,向解码装置发送该格型码书索引值;解码装置,用于接收编码装置发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从所述格型码书索引值中减去该码书索引值偏移量得到新索引值,对幅度矢量以及长度矢量进行排序,根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。本发明实施例提供的编解码系统,包括编码装置,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,对矢量中的符号矢量进行单独编码得到符号索引值,获取无符号待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量进行排序,对无符号待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据码书索引值偏移量,符号索引值,位置索引值计算矢量的格型码书索引值,向解码装置发送该格型码书索引值;解码装置,用于接收编码装置发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从格型码书索引值中减去该码书索引值偏移量得到新索引值,从新索引值中分离出符号索引值和位置索引值,根据符号索引值解码出非零元素符号矢量,对幅度矢量以及长度矢量进行排序,根据获取到的位置索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到无符号矢量,根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量。本发明实施例提供的编码装置,包括查询单元,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;获取单元,用于获取待编码的矢量对应的幅度矢量和长度矢量;排序单元,用于对获取单元获取到的幅度矢量以及长度矢量进行排序;置换编码单元,用于根据排序单元排序后的长度矢量和幅度矢量,按照最优的元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值;执行单元,根据查询单元查询到的码书索引值偏移量和置换编码单元获取到的位置索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送该格型码书索引值。本发明实施例提供的解码装置,包括接收单元,用于接收编码装置发送的格型码书索引值;查找单元,用于在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,并根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;生成单元,用于从格型码书索引值中减去该码书索引值偏移量得到新索引值;排序单元,用于对查找单元获取到的幅度矢量以及长度矢量进行排序;解码单元,用于根据生成单元获取到的新索引值,以及排序单元排序后的幅度矢量,长度矢量解码得到矢量。从以上技术方案可以看出,本发明实施例具有以下优点本发明实施例中,由于可以获取根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,并根据排序后的幅度矢量以及排序后的长度矢量进行置换编码,幅度矢量和长度矢量的获取是随编解码过程实时进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度;其次,本发明实施例中,在对幅度矢量以及长度矢量进行排序后得到的是顺序有规律的矢量,因此能够按照最优元素移除顺序对待编码的矢量各元素出现的位置顺序进行置换编码,从而能够降低编码过程的计算复杂度,提高编码性能。图1为本发明实施例中编码方法第一实施例示意图;图2为本发明实施例中解码方法第一实施例示意图;图3为本发明实施例中编码方法第二实施例示意图;图4为本发明实施例中解码方法第二实施例示意图;图5为本发明实施例中编解码系统实施例示意图;图6为本发明实施例中编码装置实施例示意图;图7为本发明实施例中解码装置实施例示意图。具体实施例方式由于现有技术中的宽带嵌入式变速率编码器G.718具体采用的是对待编码矢量的符号和绝对值矢量进行单独的索引值编码,而对绝对值矢量的索引值编码使用基于分层组合的格型码书索引编码方法,导致该方法需要存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,从而增加了存储复杂度。本发明实施例提供了一种编码、解码、编解码方法、编解码系统以及相关装置,用于减少存储复杂度,提高编码性能。本发明实施例中提供的编码方法如图1所示,具体包括101、在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;本实施例中,在编码端预先存储有一个码书索引值偏移量表,该表用于指示矢量与幅度绝对值矢量和符号矢量之间的对应关系,该表与现有技术中的码书索引值偏移量表类似,此处不做限定。根据待编码的矢量即可确定对应的码书索引值偏移量,用以表示幅度绝对值索引值和符号索引值。102、获取待编码的矢量对应的幅度矢量和长度矢量;本步骤中,根据待编码的矢量即可获取到对应的幅度矢量以及长度矢量,具体可以根据待编码的矢量所属的Leader矢量获取得到,同样也可以根据待编码的矢量计算得到。需要说明的是,一个矢量对应的幅度矢量表示该矢量中包含的具有不同数值大小的元素;一个矢量对应的长度矢量表示幅度矢量中每一个元素在该矢量中出现的次数。103、对幅度矢量以及长度矢量按照预置的排序规则进行排序;本实施例中,为了能够按照最优元素移除顺序进行置换编码,因此本步骤中需要首先对幅度矢量以及长度矢量进行排序。具体排序的方法可以先对幅度矢量的元素按照一定的规律进行重新排列,并相应地调整长度矢量中各元素的顺序,再对长度矢量的元素按照一定的规律进行重新排列,并相应地调整幅度矢量中各元素的顺序;也可以是对长度矢量中的元素按照一定的规律进行重新排列,并相应地调整幅度矢量中元素的顺序,对于排序后长度矢量中元素相等的情况,其相应幅度矢量中的元素应该按照一定的规律再进行一次调整。此外,排序使用的规律也有很多种,可以按照从大到小的顺序进行,也可以按照从小到大的顺序进行,此处不做限定。104、对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;本实施例中,根据排序后的长度矢量和幅度矢量,按照最优的元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值。最优移除顺序即按照长度矢量中元素由大到小顺序所对应的幅度矢量的元素顺序。105、根据码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值。本实施例中,由于可以根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,并根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序进行置换编码,幅度矢量和长度矢量的获取是随编码过程实时进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度;其次,本发明实施例中,在对幅度矢量以及长度矢量进行排序后得到的是顺序有规律的矢量,因此能够按照最优元素移除顺序对待编码的矢量各元素出现的位置顺序进行置换编码,从而能够降低编码过程的计算复杂度,提高编码性能。上述描述了本实施例中的编码过程,下面描述与上述编码过程对应的解码过程请参阅图2,本发明实施例中解码方法第一实施例包括201、在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量;本实施例中,当解码端接收到编码端发送的格型码书索引值后,在与编码端相同的码书索引值偏移量表中查找小于接收到的格型码书索引值的码书索引值偏移量,之后再在查找到的码书索引值偏移量中取最大的码书索引值偏移量。202、根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;根据此码书索引值偏移量在码书索引值偏移量表中的标号确定矢量中包含的元素值,并得到对应的幅度矢量和长度矢量。203、从格型码书索引值中减去该码书索引值偏移量得到新索引值;204、对幅度矢量以及长度矢量按照预置的排序规则进行排序;本实施例中,对幅度矢量和长度矢量中的元素顺序按照与编码端相同的排序规则进行排序,但是对幅度矢量和长度矢量排序的先后顺序不做限定。205、根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。根据排序后的长度矢量和幅度矢量,按照与编码端相同的元素移除顺序,由新的索引值解码出位置矢量,并得到按照幅度矢量、长度矢量和位置矢量生成新矢量,该矢量即为接收到的格型码书索引值对应的矢量。需要说明的是,在实际应用中,上述编码方法以及解码方法可以结合使用,也可以独立使用。为便于理解,下面以一具体实例对本发明实施例中的编码方法进行详细描述发明应用到基于Gosset格的格型矢量量化器的码书索引编解码中。基于Gosset格的格型矢量量化器的码书由最基本的RootLeader矢量经过元素符号以及位置的变化产生。每一个RootLeader矢量只经过元素符号的变化后构成一系列Leader矢量,每一个Leader矢量再经过元素位置的变化,最终构成整个码书。RootLeader矢量中各元素均为非负数,且按照从大到小的顺序排列。在基于Gosset格的格型矢量量化器中只存储了所有RootLeader矢量对应的幅度矢量和长度矢量。RootLeader矢量对应的幅度矢量表征了对应的矢量中不同元素数值的大小,元素值按照由大到小的顺序排列。RootLeader矢量对应的长度矢量表征了对应的矢量中不同元素值各自出现的次数。由RootLeader矢量对应的幅度矢量和长度矢量可以很容易地计算相应的RootLeader矢量,根据RootLeader及元素符号的变换规律,可以计算出每一个RootLeader矢量下对应的Leader矢量及Leader矢量对应的幅度矢量和长度矢量。编码端在码书中搜索与待量化矢量距离最近的矢量,得到待编码的矢量,同时可以得到相应的RootLeader矢量、Leader矢量。首先对RootLeader矢量以及Leader矢量进行简要介绍RootLeader又可称为根引导项。在格型码书中,如果一些码字可以由一个矢量通过元素符号和位置顺序的变换得到,这个矢量就称为RootLeader矢量,这些码字就属于同一个RootLeader。RootLeader矢量中的元素均为非负数,通常也按照元素值由大到小的顺序排列。例如码字[200]、、、[-200]、、均可以由一个矢量[200]经过元素符号和位置顺序的变换得到,那么矢量[200]就是这六个码字所属的RootLeader矢量。Leader又可称为引导项。在格型码书中,如果一些码字可以由一个矢量通过元素位置顺序的变换得到,这个矢量就称为Leader矢量,这些码字就属于同一个Leader。Leader矢量中的元素通常按照元素值由大到小的顺序排列。例如码字[200]、、均可以由一个矢量[200]经过元素位置顺序的变换得到,那么矢量[200]就是这三个码字所属的Leader矢量;又例如码字[-200]、、均可以由一个矢量经过元素位置顺序的变换得到,那么矢量就是这三个码字所属的Leader矢量。下面进行具体介绍以一个8比特量化的8维Gosset格型矢量量化器为例,该格型矢量量化器包含的RootLeader矢量第0个RootLeader矢量[22000000]和第1个RootLeader矢量[11111111]。第0个RootLeader矢量对应的Leader矢量包括第0个Leader矢量[22000000],第1个Leader矢量[2000000-2],第2个Leader矢量;第1个RootLeader矢量对应的Leader矢量包括第0个Leader矢量[11111111],第1个Leader矢量[111111-1-1],第2个Leader矢量[1111-1-1-1-1],第3个Leader矢量[11-1-1-1-1-1-1],第4个Leader矢量[-1-1-1-1-1-1-1-1]。假设待编码的矢量为X=。由于Leader矢量[2000000-2]经过元素位置的变化可以得到X矢量,因此待编码的矢量X对应的Leader矢量为[2000000-2]。由于RootLeader矢量[22000000]经过元素符号和位置的变化可以得到X矢量,因此待编码的矢量X对应的RootLeader矢量为[22000000]。同样请参阅图1,应用于Gosset格的格型矢量量化器中时的编码方法具体包括101、在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;对待编码的矢量对应的幅度绝对值矢量和符号矢量进行索引编码。这里对待编码的矢量中各元素的符号和幅度值进行联合编码,在码书索引值偏移量表中查找待编码的矢量对应的码书索引值偏移量。本实施例中的码书索引值偏移量表具体可以为Offset_table[2][5]={{0,28,84},{112,113,141,211,239}};其中,表格的行数对应了量化器包含的RootLeader矢量的个数,各行的列数为量化器包含的该RootLeader矢量所属的Leader矢量的个数。在码书索引值偏移量表中查找待编码的矢量对应的码书索引值偏移量时,表格的行下标代表了与待编码的矢量对应的RootLeader矢量在码书中的标号(本实施例矢量X属于第0个RootLeader矢量,因此行下标为0),表格的列下标代表了该RootLeader矢量所属的待编码的矢量对应的Leader矢量的标号(本实施例矢量X属于第0个RootLeader矢量的第1个Leader矢量,因此列下标为1)。该码书索引值偏移量可以记作idxOffset。具体地,可以根据与待编码的矢量对应的RootLeader矢量和待编码的矢量之间的符号差异得到表征待编码的矢量中各元素符号的标号(本实施例为1),该标号即为对应的Leader矢量的标号,也就是列下标的标号。由于RootLeader矢量中的元素均为非负数,因此也可以说是根据待编码的矢量中绝对值相同的非零元素的符号的个数,计算出表征待编码的矢量中各元素符号的标号。然后根据与待编码的矢量对应的RootLeader矢量在码书中的标号(本实施例为0)以及上面得到的表征待编码的矢量中各元素符号的标号(本实施例为1),在码书索引值偏移量表中查找对应的码书索引值偏移量(即码书索引值偏移量即表格第0行、第1列的值28)。码书索引值偏移量表是根据基于Gosset格的格型码书的结构事先计算并存储的。表格第i行第j列的值为第0到第i-1个RootLeader矢量所能生成的所有码字的个数加上第i个RootLeader矢量所属的第0到第j-1个Leader矢量所能生成的所有码字的个数。在本实施例中,以第1行第1列为例,第0个RootLeader矢量经过元素符号和位置变化后可以得到112个码字,第1个RootLeader矢量所属的第0个Leader矢量经过元素位置变化后可以得到1个码字,因此第1行第1列的值为112+1=113。102、获取待编码的矢量对应的幅度矢量和长度矢量;本实施例中,幅度矢量和长度矢量可以根据待编码的矢量所属的Leader矢量获得,例如待编码的矢量所属的Leader矢量为[2000000-2],则幅度矢量为长度矢量为LP=3,其中LP为幅度矢量和长度矢量的维数,表示待编码的矢量中元素值不同的元素的数目。幅度矢量和长度矢量也可以根据待编码的矢量获得,例如待编码的矢量为X=,则对应的幅度矢量为长度矢量为LP=3,其中LP为幅度矢量和长度矢量的维数,表示待编码的矢量中元素值不同的元素的数目。103、对幅度矢量以及长度矢量按照预置的排序规则进行排序;本实施例中,可以先对幅度矢量的元素按照从大到小的规律进行重新排列,并相应地调整长度矢量中各元素的顺序,再对调整后的长度矢量的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中各元素的顺序。如果幅度矢量和长度矢量是根据待编码的矢量所属的Leader矢量获得的,那么原始幅度矢量的元素已经是按照从大到小的顺序排列,只需要对长度矢量的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中各元素的顺序即可。若根据待编码的矢量获得的幅度矢量和长度矢量,则原始的幅度矢量为长度矢量为先对幅度矢量的元素按照从大到小的规律进行重新排列得到并相应地调整长度矢量中各元素的顺序得到再对调整后的长度矢量的元素按照从大到小的规律进行重新排列得到并相应地调整幅度矢量中各元素的顺序得将最终得到的排序后的幅度矢量记为排序后的长度矢量记为若根据待编码的矢量所属的Leader矢量获得的幅度矢量和长度矢量,则由于原始幅度矢量的元素已经是按照从大到小的顺序排列,因此只需要对长度矢量的元素按照从大到小的规律进行重新排列。根据待编码的矢量所属的Leader矢量获得的原始长度矢量为原始幅度矢量为长度矢量按照元素从大到小的顺序重新排列后变为然后相应的调整幅度矢量中各元素的顺序,得到调整后的幅度矢量将最终得到的排序后的幅度矢量记为排序后的长度矢量记为需要说明的是,也可以先对长度矢量的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中元素的顺序;对于排序后长度矢量中元素相等的情况,其相应幅度矢量中的元素应该按照从大到小的规律再进行一次调整以根据待编码的矢量获得的幅度矢量和长度矢量为例,在编码过程中(即步骤103中)对原始长度矢量中的元素按照从大到小的规律进行重新排列得到并相应地调整原始幅度矢量中元素的顺序得到对于排序后长度矢量中元素相等的情况(排序后长度矢量中下标为1和2的元素均为1),其相应幅度矢量中的元素应该按照从大到小的规律再进行一次调整,即按照从大到小的规律调整幅度矢量中下标为1和2的元素得到将最终得到的排序后的幅度矢量记为排序后的长度矢量记为由此可知,无论是根据待编码的矢量所属的Leader矢量获得的幅度矢量和长度矢量,还是根据待编码的矢量获得的幅度矢量和长度矢量,经过重新排列后的幅度矢量和长度矢量是一致的。此外,幅度矢量和长度矢量排序时所使用的规律可以是均按照从大到小的顺序进行;可以是均按照从小到大的顺序进行;也可以是对幅度矢量按照从大到小的顺序进行,对长度矢量按照从小到大的顺序进行;还可以是对长度矢量按照从大到小的顺序进行,对幅度矢量按照从小到大的顺序进行例如,先对幅度矢量的元素按照从大到小的规律进行重新排列得到并相应地调整长度矢量中各元素的顺序得到再对调整后的长度矢量的元素按照从小到大的规律进行重新排列得到并相应地调整幅度矢量中各元素的顺序得104、对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;本实施例中的元素移除顺序是指待编码矢量中元素出现频率由高到低的顺序,即是出现次数多的元素先移除。具体地,元素移除可以按照排序后的长度矢量元素值由大到小对应的排序后的幅度矢量中对应的元素顺序进行。在本实施例中最终得到的排序后的长度矢量为排序后的幅度矢量为由于长度矢量中元素是按照由大到小顺序重新排列的,因此只要按照排序后相应的幅度矢量下标从小到大的顺序移除就可以了。本实施例中将待编码的矢量分解为Lp层,并以待编码的矢量作为最高层矢量,采用基于分层组合的索引值编码方法,根据上一步排序后的长度矢量和幅度矢量,对待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值。具体可以通过如下过程得到该位置索引值idxVecLocal(1)将待编码的矢量分解为Lp层,以待编码的矢量作为最高层矢量。换句话说第0层矢量为待编码的矢量。继续上面的例子,第0层矢量为待编码的矢量,。(2)增加n值。在第n层(0<n<LP),通过从上一层(n-1层)矢量中移除出现频率最高的元素得到一个新的矢量,这个当前层的新的矢量是由剩余的元素构成的,新矢量中元素的位置顺序根据第n-1层矢量有关。所有的剩余元素的位置值构成了一个位置矢量。继续上面的例子,层数Lp=3,在第1层,从第0层矢量(原始的矢量)中移除元素则第1层得到的新的矢量为[-22],位置矢量为[35];在第2层,从第1层矢量[-22]中移除元素则第2层得到的新的矢量为[-2],位置矢量为。(3)对与上一层(第n-1层)矢量相关的当前层(第n层)矢量的位置矢量的编码是基于排列组合函数进行的,其索引值记作mid_idxn。对于当前层的新的矢量,位置矢量索引值可以由以下的计算公式得到idxVecLocal在步骤(1)之前被初始化为0。其中,P0、P1、P2......是第n层位置矢量包含的元素值,根据其层数范围为从位置矢量左侧到右侧的所有元素;mn-1为上一层(第n-1层)矢量的维数;mn为当前层(第n层)矢量的维数;代表排列组合公式p,m={1,......,L},且p>m,L为待编码的矢量的维数。所有可能的的值可以事先存在一个表格中,这样可以避免程序中的阶乘计算。第n-1层的索引值idxVecLocal乘以当前层的可能索引值的总数之后再加上当前层索引值mid_idxn,就得到了当前层的索引值idxVecLocal。按照本实施例中的例子,在第1层,上一层(第0层)矢量的维数是8,因此mn-1=8,当前层(第1层)新的矢量的维数是2,因此mn=2,则索引值在第2层,上一层(第1层)矢量的维数是2,因此mn-1=2,当前层(第2层)新的矢量的维数是1,因此mn=1,那么索引值即本实施例中计算得到的位置索引值为38。需要说明的是,在上述实施例中的步骤104中最优的移除顺序始终是按照待编码的矢量中元素出现频率由高到低进行的。若在上述实施例中的步骤103中长度矢量中元素是按照由小到大顺序重新排列的,移除顺序则按照排序后相应的幅度矢量下标从大到小的顺序移除。以排序时使用的规律为对幅度矢量按照从大到小的顺序进行,对长度矢量按照从小到大的顺序进行为例,排序后的长度矢量记为相应的排序后的幅度矢量记为在本实施例的步骤104的步骤(2)中在第n层(0<n<LP),从上一层(n-1层)矢量中移除出现频率最高的元素,这个元素从原来的变成了105、根据码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值。本实施例中,根据码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值。具体地,最终的待编码的矢量对应的格型码书索引值indexVector_NT=idxOffset+idxVecLocal。按照本实施例中前述计算得到的格型码书索引值以及位置索引值可知indexVector_NT=idxOffset+idxVecLocal=28+38=66。上述介绍了本实施例中的编码方法详细流程,下面介绍与上述编码方法对应的解码方法,具体同样请参阅图2,包括201、在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量;本实施例中,在预置的码书索引值偏移量表中查询比格型码书索引值小的全部码书索引值偏移量,之后再在这些码书索引值偏移量中确定最大的码书索引值偏移量。本实施例中,解码端接收到的格型码书索引值为66,在如下码书索引值偏移量表中进行查询Offset_table[2][5]={{0,28,84},{112,113,141,211,239}};该码书索引值偏移量表与编码端中存储的码书索引值偏移量表一致。从该码书索引值偏移量表中查找到0<28<66<84,即比66小的码书索引值偏移量有两个,分别为0和28,之后再在这两个码书索引值偏移量中取最大值,所以码书索引值偏移量为28。202、根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;码书索引值偏移量28在码书索引值偏移量表中对应的表征所属RootLeader的标号为0、表征元素符号的标号为1,表示第0个RootLeader所属的第1个Leader。经过编码端元素符号标号计算的逆过程,由元素符号的标号为1可知RootLeader矢量和Leader矢量之间的符号差异为第1种情况,即非零元素相差1个符号。由RootLeader矢量可以得到相应的Leader矢量为[2000000-2],则幅度矢量为长度矢量为203、从格型码书索引值中减去该码书索引值偏移量得到新索引值;从格型码书索引值中减去码书索引值偏移量,得到新的索引值。格型码书索引值记作indexVector_NT,码书索引值偏移量记作idxOffset,新的索引值记作则idxVecLocal,则idxVecLocal=indexVector_NT-idxOffset。例如,idxVecLocal=indexVector_NT-idxOffset=66-28=38。204、对幅度矢量以及长度矢量按照预置的排序规则进行排序;解码端可以采用和编码端相同的排序方法,先对幅度矢量的元素按照从大到小的规律进行重新排列,并相应地调整长度矢量中各元素的顺序,再对调整后的长度矢量的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中各元素的顺序。由于本实施例中对幅度矢量选择了由大到小的元素排列顺序,而解码端获得Leader矢量对应的幅度矢量已经按此顺序排列,因此只需要对长度矢量的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中各元素的顺序即可。例如,原始的幅度矢量为长度矢量为其中LP=3。则按照长度矢量中元素值由大到小的顺序重新排列后的长度矢量变为相应的调整幅度矢量中各元素的顺序后得到幅度矢量解码端也可以先对长度矢量中的元素按照从大到小的规律进行重新排列,并相应地调整幅度矢量中元素的顺序,对于排序后长度矢量中元素相等的情况,其相应幅度矢量中的元素应该按照从大到小的规律再进行一次调整。需要说明的是,编解码端对幅度矢量和长度矢量排序的先后顺序可以不一样,但是排序时所遵守的预置的排序规则必须一致。编码端先排序幅度矢量再排序长度矢量,则解码端可以先排序幅度矢量再排序长度矢量,也可以先排序长度矢量再排序幅度矢量。编码端先排序长度矢量再排序幅度矢量,则解码端可以先排序幅度矢量再排序长度矢量,也可以先排序长度矢量再排序幅度矢量。但是编解码端长度矢量内部元素排序时所遵守的元素顺序规律必须一致编码端长度矢量内部元素排序时所遵守的元素顺序规律是从大到小,则解码端也必须是从大到小。编码端长度矢量内部元素排序时所遵守的元素顺序规律是从小到大,则解码端也必须是从小到大。同样,编解码端幅度矢量内部元素排序时所遵守的元素顺序规律必须一致编码端幅度矢量内部元素排序时所遵守的元素顺序规律是从大到小,则解码端也必须是从大到小。编码端幅度矢量内部元素排序时所遵守的元素顺序规律是从小到大,则解码端也必须是从小到大。205、根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。本步骤具体可以包括(1)得到索引值mid_idn新的索引值idxVecLocal被分解成几个中间索引值,这些中间索引值分别对应从最低层到最高层的各个层。以新的索引值idxVecLocal作为对应最低层的起始值。每一个较低层的中间索引值是由索引值除以可能索引值的总数得到的,商为下一个较低层的索引值,余数为当前层的中间索引值mid_idxn。层数n逐渐递减(Lp>n>0)。%表示取余数运算,表示向下取整运算,mn-1为上一层(第n-1层)的维数,mn为当前层(第n层)的维数,对应编码端的例子,索引值idxVecLocal=38,该索引值被分解成为Lp-1=2个中间索引值对于n=Lp-1=2,对于n=1,(2)位置矢量解码基于排列组合函数对每一个较低层的中间索引值mid_idxn进行解码,得到对应于上一层矢量的每一个较低层的位置矢量。为了在每一个较低层由中间矢量得到位置矢量,此算法应用了排列组合函数来估计位置序列。估计的步骤如下第一步,初始化i=1,从0开始增加pos的值,直到中间索引值mid_idxn不再大于第二步,取P0=pos-1作为位置矢量的第一个元素值,从中间索引值mid_idxn中减去第三步,从Pi-1+1开始继续增加pos的值,直到中间索引值mid_idxn不再大于其中Pi-1为前一步解码出的位置值;第四步,取Pi=pos-1作为位置矢量中标号为i的元素值,从中间索引值mid_idxn中减去i=i+1;第五步,重复第三步和第四步,直到当前层位置序列包含的所有位置值都被解码出来。具体到上述实例中,对于n=1层来说,mid_idx1=19,mn-1=m0=8,mn=m1=2,第一步pos=0,pos=pos+1=1,pos=pos+1=2,pos=pos+1=3,pos=pos+1=4,停止;第二步P0=pos-1=3,第三步pos=P0+1=4,pos=pos+1=5,pos=pos+1=6,停止;第四步P1=pos-1=5。当前层位置序列包含的所有位置值都被解码出来了。同理,对于n=2层来说mid_idx2=0,P0=0。(3)产生矢量从最低层到最高层一层一层进行。根据位置参数,每一个较低层矢量被用来替换上一层矢量的部分元素,解码出的最高层矢量为输出的矢量。对于最低层来说,矢量中只包含一个元素值种类,这个值可以根据重新排序后的幅度矢量得到。最低层的矢量被传递到下一层,在下一步中另一个元素值种类被加进来。这个新的元素值也是根据重新排序后的幅度矢量得到。此过程被重复,直到最高层矢量产生完毕。按照上述实例在第0层,第0层矢量Y=;在第1层层,P=[35],第1层矢量Y=;在第2层,P=,第2层矢量Y=;由于总层数为3层,因此第2层矢量即为最高层矢量,所以Y=为最终得到的矢量。需要说明的是,若在上述实施例中的步骤204中长度矢量中元素是按照由小到大顺序重新排列的,相应的,在步骤205中(1)和(2)步骤中的表示当前层(第n层)维数的mn的计算公式由变成了(3)步骤中,从第0层到第LP-1层新元素的添加顺序不再是而变成了上述实施例中,由于可以获取根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,并根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序进行置换编码,幅度矢量和长度矢量的获取是随编码过程时实进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度;其次,本发明实施例中,在对幅度矢量以及长度矢量进行排序后得到的是顺序有规律的矢量,因此能够按照最优元素移除顺序对待编码的矢量各元素出现的位置顺序进行置换编码,从而能够降低编码过程的计算复杂度,提高编码性能。上述描述了基于Gosset格的格型矢量量化器的码书索引编解码的过程,在实际应用,本实施例中的编解码过程同样还可以基于RE8格的格型矢量量化器的码书索引编解码,或者其他类型的格型矢量量化器的码书索引编解码。下面介绍另外一种编码方法,具体请参阅图3,本发明实施例中编码方法第二实施例包括301、在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;本实施例中,编码端找到离待量化矢量最近的格点,此格点即为待编码的矢量。根据待编码的矢量所属的RootLeader矢量,在事先存储好的码书索引值偏移量表中查找相应的码书索引值偏移量idxOffset。302、对矢量中的符号矢量进行单独编码得到符号索引值;本实施例中,将待编码的矢量的符号矢量分离出来,单独进行符号编码,得到符号索引值idxSign。编码所需的比特数N等于待编码的矢量中非零元素的个数。所有可能的符号编码的总数为2N。例如,待编码的矢量为x=,则符号矢量为,去除零元素后为[-11],假设用1表示符号为正,0表示符号为负(可以理解的是,同样也可以用0表示正,1表示负)进行编码,编码值为二进制数01,转换为十进制数即1。待编码的矢量中非零元素的个数N=2,因此所有可能的符号编码的总数为2N=4。303、获取无符号待编码的矢量对应的幅度矢量和长度矢量;304、对幅度矢量以及长度矢量按照预置的排序规则进行排序;305、对无符号待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;需要说明的是,本实施例中的步骤303至步骤305与本发明实施例中编码方法第一实施例中的步骤102至步骤104类似,此处不再赘述,具体结果为无符号待编码的矢量所属RootLeader矢量对应的幅度矢量为[20],长度矢量为[26],无符号待编码的矢量为。306、根据码书索引值偏移量,符号索引值,位置索引值计算矢量的格型码书索引值。根据得到的符号索引值、位置索引值及码书索引值偏移量,计算最终的待编码的矢量对应的格型码书索引值indexVector_NT。具体地,最终的待编码的矢量对应的格型码书索引值indexVector_NT=idxOffset+2N*idxVecLocal+idxSign。下面介绍与上述编码方法对应的解码方法实施例请参阅图4,本发明实施例中的解码方法第二实施例包括401、在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量;解码端在接收到格型码书索引值之后,在码书索引值偏移量表中查找小于接收到的格型码书索引值的码书索引值偏移量,之后再在查找到的码书索引值偏移量中取最大的值作为码书索引值偏移量idxOffset。402、根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;根据步骤401中的码书索引值偏移量在码书中的标号确定矢量所属的RootLeader矢量对应的按照元素数值由大到小顺序排列的幅度矢量和表征不同元素值各自出现次数的长度矢量。403、从格型码书索引值中减去该码书索引值偏移量得到新索引值;从格型码书索引值中减去码书索引值偏移量,得到新的索引值。格型码书索引值记作indexVector_NT,码书索引值偏移量记作idxOffset,新的索引值记作则rank,则rank=indexVector_NT-idxOffset。404、从新索引值中分离出符号索引值和位置索引值;根据所属的RootLeader矢量中非零元素的个数N,从新的索引值rank中分离出符号索引值idxSign和位置索引值idxVecLocal。具体地idxSign=rank%2N,%表示取余数运算,表示向下取整运算。405、根据符号索引值解码出非零元素符号矢量;根据符号索引值idxSign解码出非零元素的符号矢量。例如,符号索引值idxSign=1,变换成二进制数为01,根据与编码端相同的编码准则,用1表示符号为正,0表示符号为负,则非零元素的符号矢量为[-11]。406、对幅度矢量以及长度矢量按照预置的排序规则进行排序;407、根据位置索引值,排序后的幅度矢量,以及排序后的长度矢量,解码得到无符号矢量;需要说明的是,本实施例中的步骤406至步骤407与本发明实施例中解码方法第一实施例中的步骤204至步骤205类似,此处不再赘述。408、根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量。本实施例中,根据无符号的矢量和非零元素的符号矢量生成最终的矢量。例如,无符号的矢量为,非零元素的符号矢量为[-11],则最终的矢量为。需要说明的是,在实际应用中,上述编码方法以及解码方法可以结合使用,也可以独立使用。上述实施例中介绍了应用于Gosset格以及应用于RE8格的格型矢量量化器的码书索引编解码过程,可以理解的是,在实际应用中,本发明实施例中所描述的编解码过程还可以应用于其他类似的格型矢量量化器中,具体类型此处不做限定。在上面描述的编码方法中,由于可以获取根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,并根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序进行置换编码,幅度矢量和长度矢量的获取是随编码过程时实进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度;其次,本发明实施例中,在对幅度矢量以及长度矢量进行排序后得到的是顺序有规律的矢量,因此能够按照最优元素移除顺序对待编码的矢量各元素出现的位置顺序进行置换编码,从而能够降低编码过程的计算复杂度,提高编码性能;再次,编码过程中对幅度矢量以及长度矢量的排序可以采用多种方式,因此能够提高编码方法的灵活性。下面介绍本发明实施例中的编解码系统,请参阅图5,本发明实施例中的编解码系统包括编码装置501以及解码装置502;编码装置501用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,获取待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量按照预置的排序规则进行排序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值,向解码装置502发送该格型码书索引值;解码装置502用于接收编码装置501发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从格型码书索引值中减去该码书索引值偏移量得到新索引值,对幅度矢量以及长度矢量按照预置的排序规则进行排序,根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。上述的编解码系统可以应用于Gosset格的格型矢量量化器的编解码过程,同样可以应用于RE8格的格型矢量量化器的编解码过程,或者还可以应用于其他类型的格型矢量量化器的编解码过程,下面介绍另外一种可替代的编解码方案,具体地,该种编解码系统包括编码装置501用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,对矢量中的符号矢量进行单独编码得到符号索引值,获取无符号待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量按照预置的排序规则进行排序,对无符号待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据码书索引值偏移量,符号索引值,位置索引值计算矢量的格型码书索引值,向解码装置502发送该格型码书索引值;解码装置502用于接收编码装置501发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从格型码书索引值中减去该码书索引值偏移量得到新索引值,从新索引值中分离出符号索引值和位置索引值,根据符号索引值解码出非零元素符号矢量,对幅度矢量以及长度矢量按照预置的排序规则进行排序,根据获取到的位置索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到无符号矢量,根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量。上述编解码系统中,由于编码装置501可以获取根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,并根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序进行置换编码,幅度矢量和长度矢量的获取是随编码过程时实进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度。请参阅图6,本发明实施例中的编码装置实施例包括查询单元601,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;获取单元602,用于获取待编码的矢量对应的幅度矢量和长度矢量;排序单元603,用于对获取单元602获取到的幅度矢量以及长度矢量按照预置的排序规则进行排序;置换编码单元604,用于根据排序单元603排序后的长度矢量和幅度矢量,按照最优的元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值;执行单元605,根据查询单元601查询到的码书索引值偏移量和置换编码单元604获取到的位置索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送该格型码书索引值,具体的计算过程与前述编码方法实施例中的计算过程一致,此处不再赘述。可以理解的是,上述的编码装置可以应用于Gosset格的格型矢量量化器的编解码过程,同样可以应用于RE8格的格型矢量量化器的编解码过程,或者还可以应用于其他类型的格型矢量量化器的编解码过程,下面介绍另外一种可替代的编解码方案,则本实施例中的编码装置还可以进一步包括分离单元606以及符号编码单元607,则在该实施例中查询单元601,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;分离单元606,用于从待编码的矢量中分离出符号矢量;符号编码单元607,用于对分离出的符号矢量进行单独编码得到符号索引值;获取单元602,用于获取无符号待编码的矢量对应的幅度矢量和长度矢量;排序单元603,用于对获取单元602获取到的幅度矢量以及长度矢量按照预置的排序规则进行排序;置换编码单元604,用于根据排序单元603排序后的长度矢量和幅度矢量,按照最优的元素移除顺序,对无符号待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值;执行单元605,根据查询单元601查询到的码书索引值偏移量,置换编码单元604获取到的位置索引值以及符号编码单元607获取到的符号索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送该格型码书索引值,具体的计算过程与前述编码方法实施例中的计算过程一致,此处不再赘述。本实施例中的编码装置中,由于获取单元602可以获取根据待编码的矢量获取得到该矢量对应的幅度矢量和长度矢量,排序单元603对幅度矢量和长度矢量进行排序,并由置换编码单元604根据排序单元603的排序结果,按照最优的元素移除顺序进行置换编码得到位置索引值,因此执行单元605可以根据查询单元601查询到的码书索引值偏移量和置换编码单元604获取到的位置索引值,计算最终的待编码的矢量对应的格型码书索引值,幅度矢量和长度矢量的获取是随编码过程时实进行的,所以也就无需存储每个Leader对应的表征各层移除元素数值大小的矢量和表征分层组合编码参数的矢量,因此能够有效地减少存储复杂度。下面介绍本发明实施例中的解码装置实施例,请参阅图7,本发明实施例中的解码装置实施例包括接收单元701,用于接收编码装置发送的格型码书索引值;查找单元702,用于在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,并根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;生成单元703,用于从格型码书索引值中减去该码书索引值偏移量得到新索引值;排序单元704,用于对查找单元702获取到的幅度矢量以及长度矢量按照预置的排序规则进行排序;解码单元705,用于根据生成单元703获取到的新索引值,以及排序单元704排序后的幅度矢量,长度矢量解码得到矢量,具体的计算过程与前述解码方法实施例中所采用的计算过程一致,此处不再赘述。可以理解的是,上述的解码装置可以应用于Gosset格的格型矢量量化器的编解码过程,同样可以应用于RE8格的格型矢量量化器的编解码过程,或者还可以应用于其他类型的格型矢量量化器的编解码过程,下面介绍另外一种可替代的编解码方案,则本实施例中的解码装置还可以进一步包括索引值分离单元706,该方式中,解码装置具体包括接收单元701,用于接收编码装置发送的格型码书索引值;查找单元702,用于在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,并根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;生成单元703,用于从格型码书索引值中减去该码书索引值偏移量得到新索引值;索引值分离单元706,用于从生成单元703生成的新索引值中分离出符号索引值和位置索引值;排序单元704,用于对查找单元702获取到的幅度矢量以及长度矢量按照预置的排序规则进行排序;解码单元705,用于根据索引值分离单元706分离出的位置索引值对排序单元704的排序结果进行解码得到无符号矢量,根据索引值分离单元706分离出的符号索引值进行解码得到非零元素的符号矢量,之后再根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量,具体的计算过程与前述解码方法中的计算过程一致,此处不再赘述。本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,该程序在执行时,包括如下步骤获取待编码的矢量对应的幅度矢量和长度矢量;对所述幅度矢量以及长度矢量按照预置的排序规则进行排序;根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值。上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种编码、解码、编解码方法、编解码系统以及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。权利要求1、一种编码方法,其特征在于,包括获取待编码的矢量对应的幅度矢量和长度矢量;对所述幅度矢量以及长度矢量进行排序;根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值。2、根据权利要求1所述的方法,其特征在于,所述对幅度矢量以及长度矢量进行排序,具体为对所述幅度矢量以及长度矢量按照预置的排序规则进行排序;所述预置的排序规则为按照元素从大到小的顺序进行排列,或者是按照元素从小到大的顺序进行排列。3、根据权利要求1所述的方法,其特征在于,所述根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值具体为根据排序后的幅度矢量以及排序后的长度矢量,按照最优元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值。4、根据权利要求1或3所述的方法,其特征在于,所述方法还包括在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;根据所述码书索引值偏移量以及所述位置索引值获取待编码的矢量对应的格型码书索引值。5、根据权利要求1至3中任一项所述的方法,其特征在于,所述获取待编码的矢量对应的幅度矢量和长度矢量包括查询所述待编码的矢量所属的Leader矢量;根据所述Leader矢量获取对应的幅度矢量以及长度矢量,所述幅度矢量指示所述Leader矢量中包含的具有不同数值大小的元素,所述长度矢量指示所述幅度矢量中每一个元素在所述Leader矢量中出现的次数。6、根据权利要求2所述的方法,其特征在于,所述对幅度矢量以及长度矢量按照预置的排序规则进行排序包括对幅度矢量的元素进行重新排列,并按照重新排列后的幅度矢量的元素顺序调整长度矢量中各元素的顺序;对调整过元素顺序的长度矢量的元素进行重新排列,并按照重新排列后的长度矢量的元素顺序调整幅度矢量中各元素的顺序。7、根据权利要求2所述的方法,其特征在于,所述对幅度矢量以及长度矢量按照预置的排序规则进行排序包括对长度矢量中的元素进行重新排列,并按照重新排列后的长度矢量的元素顺序调整幅度矢量中元素的顺序;若重新排列后的长度矢量中存在相等的元素,则按照预置规则对所述相等元素在幅度矢量中对应的元素顺序进行调整。8、根据权利要求3所述的方法,其特征在于,所述根据排序后的幅度矢量以及排序后的长度矢量,按照最优元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值包括对待编码的矢量进行分层,分层的数目等于所述幅度矢量的维数;将待编码的矢量作为最高层矢量;从最高层矢量开始,移除所述排序后的长度矢量元素值由大到小对应的排序后的幅度矢量中对应的元素得到新的矢量,将该新的矢量作为次高层矢量;依次执行,直至处理完所有分层;根据分层处理的结果以及每个分层新矢量的维数计算位置索引值。9、根据权利要求4所述的方法,其特征在于,所述根据码书索引值偏移量以及所述位置索引值获取待编码的矢量对应的格型码书索引值包括将所述码书索引值偏移量与所述位置索引值的和作为格型码书索引值。10、根据权利要求1所述的方法,其特征在于,所述获取待编码的矢量对应的幅度矢量和长度矢量之前包括对待编码的矢量对应的符号矢量进行单独编码得到符号索引值;所述获取待编码的矢量对应的幅度矢量和长度矢量具体为获取无符号待编码的矢量对应的幅度矢量和长度矢量;所述根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值具体为根据排序后的幅度矢量以及排序后的长度矢量,对无符号待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;所述根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值之后还包括根据所述码书索引值偏移量,符号索引值以及所述位置索引值计算矢量的格型码书索引值。11、一种解码方法,其特征在于,包括接收编码端发送的格型码书索引值;获取幅度矢量以及长度矢量;对所述幅度矢量以及长度矢量进行排序;根据所述排序后的幅度矢量以及排序后的长度矢量解码得到矢量。12、根据权利要求11所述的方法,其特征在于,所述获取幅度矢量以及长度矢量包括在预置的码书索引值偏移量表中查询小于所述格型码书索引值且数值最大的码书索引值偏移量;根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量。13、根据权利要求12所述的方法,其特征在于,所述方法还包括从格型码书索引值中减去所述码书索引值偏移量得到新索引值;所述根据排序后的幅度矢量以及排序后的长度矢量解码得到矢量的步骤具体为根据新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。14、根据权利要求13所述的方法,其特征在于,所述从格型码书索引值中减去所述码书索引值偏移量得到新索引值之后包括从所述新索引值中分离出符号索引值和位置索引值;根据所述符号索引值解码出非零元素符号矢量;所述根据新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量具体为根据所述位置索引值,排序后的幅度矢量以及排序后的长度矢量解码得到无符号矢量;根据所述非零元素符号矢量以及所述无符号矢量计算得到矢量。15、根据权利要求11至14中任一项所述的方法,其特征在于,所述对幅度矢量以及长度矢量进行排序,具体为对所述幅度矢量以及长度矢量按照预置的排序规则进行排序;所述预置的排序规则为按照元素从大到小的顺序进行排列,或者是按照元素从小到大的顺序进行排列。16、一种编解码方法,其特征在于,包括编码装置在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;编码装置获取待编码的矢量对应的幅度矢量和长度矢量;编码装置对幅度矢量以及长度矢量进行排序;编码装置根据排序后的幅度矢量以及长度矢量,按照最优元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值;编码装置根据所述码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送所述格型码书索引值;解码装置在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量;解码装置根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;解码装置从所述格型码书索引值中减去该码书索引值偏移量得到新索引值;解码装置对幅度矢量以及长度矢量进行排序;解码装置根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。17、一种编解码系统,其特征在于,包括编码装置,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,获取待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量进行排序,对待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据所述码书索引值偏移量和位置索引值,计算最终的待编码的矢量对应的格型码书索引值,向解码装置发送该格型码书索引值;解码装置,用于接收编码装置发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从所述格型码书索引值中减去该码书索引值偏移量得到新索引值,对幅度矢量以及长度矢量进行排序,根据获取到的新索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到矢量。18、一种编解码系统,其特征在于,包括编码装置,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量,对矢量中的符号矢量进行单独编码得到符号索引值,获取无符号待编码的矢量对应的幅度矢量和长度矢量,对幅度矢量以及长度矢量进行排序,对无符号待编码的矢量各元素出现的位置顺序进行置换编码得到位置索引值,根据码书索引值偏移量,符号索引值,位置索引值计算矢量的格型码书索引值,向解码装置发送该格型码书索引值;解码装置,用于接收编码装置发送的格型码书索引值,在预置的码书索引值偏移量表中查询小于格型码书索引值且数值最大的码书索引值偏移量,根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量,从格型码书索引值中减去该码书索引值偏移量得到新索引值,从新索引值中分离出符号索引值和位置索引值,根据符号索引值解码出非零元素符号矢量,对幅度矢量以及长度矢量进行排序,根据获取到的位置索引值,排序后的幅度矢量,以及排序后的长度矢量解码得到无符号矢量,根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量。19、一种编码装置,其特征在于,包括查询单元,用于在预置的码书索引值偏移量表中查询待编码的矢量对应的码书索引值偏移量;获取单元,用于获取待编码的矢量对应的幅度矢量和长度矢量;排序单元,用于对获取单元获取到的幅度矢量以及长度矢量进行排序;置换编码单元,用于根据排序单元排序后的长度矢量和幅度矢量,按照最优的元素移除顺序,对待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值;执行单元,根据查询单元查询到的码书索引值偏移量和置换编码单元获取到的位置索引值,计算最终的待编码的矢量对应的格型码书索引值,并向解码装置发送该格型码书索引值。20、根据权利要求19所述的编码装置,其特征在于,所述编码装置还包括分离单元,用于从待编码的矢量中分离出符号矢量;符号编码单元,用于对分离出的符号矢量进行单独编码得到符号索引值;所述获取单元,用于获取无符号待编码的矢量对应的幅度矢量和长度矢量;所述置换编码单元,用于对无符号待编码的矢量各元素出现的位置顺序进行置换编码,得到位置索引值;所述执行单元,用于根据所述码书索引值偏移量,位置索引值以及符号索引值计算最终的待编码的矢量对应的格型码书索引值。21、一种解码装置,其特征在于,包括接收单元,用于接收编码装置发送的格型码书索引值;查找单元,用于在预置的码书索引值偏移量表中查询小于接收到的格型码书索引值且数值最大的码书索引值偏移量,并根据查询到的码书索引值偏移量获取矢量中包含的元素值,幅度矢量以及长度矢量;生成单元,用于从格型码书索引值中减去该码书索引值偏移量得到新索引值;排序单元,用于对查找单元获取到的幅度矢量以及长度矢量进行排序;解码单元,用于根据生成单元获取到的新索引值,以及排序单元排序后的幅度矢量,长度矢量解码得到矢量。22、根据权利要求21所述的解码装置,其特征在于,所述解码装置还包括索引值分离单元,用于从生成单元生成的新索引值中分离出符号索引值和位置索引值;所述解码单元,用于根据所述位置索引值以及排序单元的排序结果进行解码得到无符号矢量,根据符号索引值进行解码得到非零元素符号矢量,再根据获取到的非零元素符号矢量以及无符号矢量计算得到矢量。全文摘要本发明实施例公开了一种编码、解码、编解码方法、编解码系统以及相关装置,用于减少存储复杂度,提高编码性能。编码方法包括获取待编码的矢量对应的幅度矢量和长度矢量;对所述幅度矢量以及长度矢量进行排序;根据排序后的幅度矢量以及排序后的长度矢量,得到位置索引值。本发明实施例还提供解码方法,编解码系统及装置。本发明实施例可以减少存储复杂度,提高编码性能。文档编号G10L19/02GK101430881SQ20081017526公开日2009年5月13日申请日期2008年11月10日优先权日2008年11月10日发明者李海婷申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1