CN103886862B - 脉冲编解码方法及脉冲编解码器 - Google Patents
脉冲编解码方法及脉冲编解码器 Download PDFInfo
- Publication number
- CN103886862B CN103886862B CN201410118069.4A CN201410118069A CN103886862B CN 103886862 B CN103886862 B CN 103886862B CN 201410118069 A CN201410118069 A CN 201410118069A CN 103886862 B CN103886862 B CN 103886862B
- Authority
- CN
- China
- Prior art keywords
- track
- pulse
- index
- pulse position
- code
- 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
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
本发明实施例公开了脉冲编解码方法及脉冲编解码器。本发明实施例通过将两个以上的轨道联合进行编码,使得在单个轨道编码的情况下空闲的码书空间能够在联合编码时合并,成为可以被节省的编码比特,此外,对各个轨道上需要进行编码的脉冲按照位置进行合并,分别对有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目进行编码,避免了对同一位置的多个脉冲进行分别编码,使得编码比特更加节省。
Description
技术领域
本发明涉及脉冲编解码方法及脉冲编解码器。
背景技术
在矢量编码技术中,常常使用代数码书对自适应滤波后的残差信号进行量化编码。当经过搜索获得轨道上最佳代数码书脉冲的位置和符号信息后,通过编码计算得到相应的索引值,使得解码端能够根据该索引值重建脉冲序列。在保证无损重建的前提下,尽量减少编码索引值所需要的比特,是代数码书脉冲编码方法研究与发展的主要目标之一。
下面以语音编码中一种较优的编码方法——宽带自适应多码率(AMR_WB+:Adaptive Multi-Rate Wideband)编码方法为例,说明现有代数码书脉冲所采用的一种具体编码方法。根据编码码率的不同,在每个轨道上可以编码1~N个脉冲,假定每个轨道有M=2m个位置,AMR_WB+中每个轨道上编码1~6个脉冲的过程分别描述如下:
①每个轨道编码1个脉冲
由于每个轨道有2m个位置,因此,每个轨道上脉冲的位置索引需要用m个比特进行编码,脉冲的符号索引需要用1比特编码。编码1个带符号脉冲的索引值为:
I1p(m)=p+s×2m
其中p∈[0,2m-1]为脉冲的位置索引;s为脉冲的符号索引,当脉冲符号为正时,s设置为0,当脉冲符号为负时,s设置为1;I1p∈[0,2m+1-1]。
每个轨道编码1个脉冲所需的比特数为:m+1。
②每个轨道编码2个脉冲
根据①的结果,每个轨道编码1个脉冲需要m+1个比特,对另一个脉冲的位置索引进行编码需要m个比特,由于对脉冲顺序没有特别要求,可通过排列脉冲位置索引获得的大小关系来表示另一个脉冲的符号。编码2个脉冲的索引值为:
I2p(m)=p1+I1p0×2m=p1+p0×2m+s×22m
其中p0、p1∈[0,2m-1]分别为2个脉冲的位置索引;s为p0脉冲的符号索引;p1脉冲符号的具体表示规则为:p0<p1表示2个脉冲符号相同,p0>p1表示2个脉冲符号相反;I2p∈[0,22m+1-1]。
每个轨道编码2个脉冲所需的比特数为:2m+1。
③每个轨道编码3个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。某个部分中至少包含2个脉冲,根据②的结果,编码该部分需要2×(m-1)+1=2m-1个比特;另一个脉冲则在整个轨道上搜索,根据①的结果,需要m+1个比特;此外,还需要用1个比特来指示包含2个脉冲的部分。编码3个脉冲的索引值为:
I3p(m)=I2p(m-1)+k×22m-1+I1p(m)×22m
其中k为Section的索引;I3p∈[0,23m+1-1]。
每个轨道编码3个脉冲所需的比特数为:3m+1。
④每个轨道编码4个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。各部分中包含脉冲个数的组合情况如下表所示:
类别 | Section A中脉冲数 | Section B中脉冲数 | 需要比特数 |
0 | 0 | 4 | 4m-3 |
1 | 1 | 3 | 4m-2 |
2 | 2 | 2 | 4m-2 |
3 | 3 | 1 | 4m-2 |
4 | 4 | 0 | 4m-3 |
上表中,各个类别对应的需要比特数的依据为:对于类别0和类别4,在有4个脉冲的部分中采用类似③的方法,只是进行整体搜索的脉冲数目为2个,相当于I2p(m-2)+k×22m-3+I2p(m-1)×22m-2;对于类别1,相当于I1p(m-1)+I3p(m-1)×2m;对于类别2,相当于I2p(m-1)+I2p(m-1)×22m-1;对于类别3,相当于I3p(m-1)+I1p(m-1)×23m-2。
将类别0和类别4看作一种可能的情况,类别1~3各作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应的情况,则类别1~3都需要4m-2+2=4m个比特;此外,对于包含类别0和类别4的情况,还需要用1个比特来区分,因此类别0和类别4需要4m-3+2+1=4m个比特。
每个轨道编码4个脉冲所需的比特数为:4m。
⑤、每个轨道编码5个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。某个部分中至少包含3个脉冲,根据③的结果,编码该部分需要3×(m-1)+1=3m-2个比特;剩下两个脉冲则在整个轨道上搜索,根据②的结果,需要2m+1个比特;此外,还需要用1个比特来指示包含3个脉冲的部分。编码5个脉冲的索引值为:
I5p(m)=I3p(m-1)+k×23m-2+I1p(m)×23m-1
每个轨道编码5个脉冲所需的比特数为:5m。
⑥每个轨道编码6个脉冲
将每个轨道分为两个部分:Section A和Section B,每个部分各包含2m-1个位置。各部分中包含脉冲个数的组合情况如下表所示:
类别 | Section A中脉冲数 | Section B中脉冲数 | 需要比特数 |
0 | 0 | 6 | 6m-5 |
1 | 1 | 5 | 6m-5 |
2 | 2 | 4 | 6m-5 |
3 | 3 | 3 | 6m-4 |
4 | 4 | 2 | 6m-5 |
5 | 5 | 1 | 6m-5 |
6 | 6 | 0 | 6m-5 |
上表中,各个类别对应的需要比特数的依据可仿照④推算,不再赘述。
分别将类别0和6、类别1和5、类别2和4各看作一种可能的情况,类别3单独作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应的情况,则类别3需要6m-4+2=6m-2个比特;对于那些包含合并类别的情况,还需要用1个比特来区分,因此除类别3外的其他类别需要6m-5+2+1=6m-2个比特。
每个轨道编码6个脉冲所需的比特数为:6m-2。
在提出本发明的过程中,发明人发现,AMR_WB+提供的代数脉冲编码方法,采用类似递归的编码逻辑,将编码脉冲数量较多的情况拆分为若干个编码脉冲数量较少的情况来处理,计算复杂度较大,同时,随着轨道上编码脉冲数目的增加,编码索引的冗余度将逐渐累加,容易造成编码比特的浪费。
发明内容
本发明实施例提供能够节省编码比特的脉冲编码方法。
一种脉冲编码方法,包括:获取T个轨道上需要编码的脉冲,T是大于等于2的整数;分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,其中下标t表示第t个轨道,t∈[0,T-1];按照各个轨道上有脉冲位置的数目{N0,N1,…,NT-1}确定第一索引I1,所述第一索引对应于其所代表的有脉冲位置的数目下,各个轨道上有脉冲位置全部可能的分布情况;分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示相应轨道上与当前有脉冲位置的分布对应的分布情况;分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t;生成编码索引Ind,所述编码索引包括第一索引和各个轨道的第二、三索引的信息。
另一种脉冲编码方法,包括:获取T个轨道上需要编码的脉冲,T是大于等于2的整数;分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,其中下标t表示第t个轨道,t∈[0,T-1];分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引I1t,所述第一索引对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况;分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示该轨道上与当前有脉冲位置的分布对应的分布情况;分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t;生成编码索引Ind,所述编码索引包括各个轨道的第一、二、三索引的信息。
本发明实施例还提供与之相应的脉冲解码方法以及相应的脉冲编码器和解码器。
本发明实施例中,通过将两个以上的轨道联合进行编码,使得在单个轨道编码的情况下空闲的码书空间能够在联合编码时合并,成为可以被节省的编码比特,此外,对各个轨道上需要进行编码的脉冲按照位置进行合并,分别对有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目进行编码,避免了对同一位置的多个脉冲进行分别编码,使得编码比特更加节省。
附图说明
图1是本发明实施例一编码方法流程示意图;
图2是本发明实施例一中脉冲位置映射示意图;
图3是本发明实施例二编码方法流程示意图;
图4是本发明实施例三编码方法流程示意图;
图5是本发明实施例四中轨道脉冲叠加示意图;
图6是本发明实施例四中脉冲分布的轨道索引示意图;
图7是本发明实施例五解码方法流程示意图;
图8是本发明实施例六解码方法流程示意图;
图9是本发明实施例七解码方法流程示意图;
图10是本发明实施例八编码器逻辑结构示意图;
图11是本发明实施例九解码器逻辑结构示意图。
具体实施方式
本发明实施例提供脉冲编码方法,通过将两个以上的轨道联合进行编码来节省的编码比特。本发明实施例还提供相应的脉冲解码方法以及脉冲编解码器。以下分别进行详细说明。
在语音编码器中,经过码书搜索得到每个轨道上所有脉冲的位置和符号(若涉及)信息,这些信息需要被完整的传递到解码端,使得在解码端能够唯一的恢复所有脉冲的位置和符号(若涉及)信息,同时为了尽量的降低比特率,期望使用尽量少的比特来传递这些信息。
通过理论分析可知,同一轨道上所有脉冲位置和符号(若涉及)的排列组合数即为码本空间的最小值,对应的编码比特数即为理论下限值。轨道上的位置总数以及脉冲总数是一定的,对于轨道上的位置总数以及脉冲总数的不同取值情况而言,所有脉冲位置和符号的排列组合数并不总是2的整数次幂,因此编码比特数的理论下限值并不总是整数,此时,单轨道编码的实际编码比特数至少为理论下限值的整数部分加1,这使得不可避免的出现部分码本空间的空闲。例如,表1给出了在位置总数为16的轨道上,需要编码的脉冲总数为1-6的情况下,编码比特数的理论下限值与实际下限值以及空闲空间的情况。
表1
从表1可以看出,大多数情况下,实际下限值仍会带来码本空间的较大浪费,因此本发明提出,对两个以上的轨道进行联合编码,这样在单轨道编码中空闲的码本空间就可以合并,一旦合并的空闲空间足够,即可降低1个实际编码比特。显然,对于同样类型(轨道上的位置总数和脉冲总数均相同)的轨道,只要将K个轨道联合编码即可节省1个编码比特,K≥1/(1-kk),其中kk为单轨道编码的理论下限值的小数部分。举例而言,kk小于0.5的轨道,例如,表1中脉冲总数为3、4、5的轨道,2个一起联合编码即可节省1个编码比特,表1中脉冲总数为6的轨道,3个一起联合编码即可节省1个编码比特。当然,不同类型的轨道联合编码也可以达到同样的效果,只要2个轨道的kk累加之和小于1,或者3个轨道的kk累加之和小于2即可节省一个比特,显然若3个轨道的kk累加之和小于1更可节省2个比特,以此类推。表2给出了同类型2轨道联合编码与单轨道编码的比较情况(考虑脉冲有符号),轨道上的位置总数为16,需要编码的脉冲总数为3-5。
表2
表3给出了不同类型2-3轨道联合编码与单轨道编码的比较情况(考虑脉冲有符号),轨道上的位置总数为16,需要编码的脉冲总数为3-5。
表3
以上给出了多轨道联合编码节省比特数的理论分析,为达到该理论效果,需要使编码索引尽可能有效的使用码本空间,下面分别以具体实施例给出实现多轨道联合编码的实际比特下限值的编码方法。
实施例一、一种脉冲编码方法,如图1所示,包括:
A1、获取T个轨道上需要编码的脉冲,T是大于等于2的整数。
T个轨道中每个轨道上需要编码的脉冲总数通常根据码率来确定,需要编码的脉冲数目越多,显然编码索引需要的比特数也越多,码率越高,本文中,以pulse_numt表示第t个轨道上需要编码的脉冲总数,假设t∈[0,T-1];联合编码的各个轨道上的脉冲总数可以相同也可以不同。
A2、分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目。
本文中:
以pos_numt表示第t个轨道上有脉冲位置的数目,由于个脉冲在轨道上的分布可能出现位置重叠,假设pos_numt=Nt,显然有
以脉冲位置矢量Pt(Nt)={pt(0),pt(1),…,pt(Nt-1)}表示第t个轨道上有脉冲位置在轨道上的分布;其中,pt(n)表示有脉冲位置在第t个轨道上的位置序号,n∈[0,Nt-1],pt(n)∈[0,Mt-1],Mt在本文中表示第t个轨道上的位置总数,一般Mt可以为8,16等等,联合编码的各个轨道上的位置总数可以相同也可以不同。
以脉冲数目矢量SUt(Nt)={sut(0),sut(1),…,sut(Nt-1)}表示第t个轨道上的各个有脉冲位置上的脉冲数目;其中,sut(n)表示pt(n)位置的脉冲数目,显然有
此外,需要编码的脉冲还可能带有符号,即具有正或负的特性,此时在对轨道上需要编码的脉冲按照位置进行统计时,还需要获得各个有脉冲位置的脉冲符号信息,本文中:
以脉冲符号矢量St(Nt)={st(0),st(1),…,st(Nt-1)}表示第t个轨道上的各个有脉冲位置的脉冲符号信息;其中,st(n)表示pt(n)位置的脉冲符号,称为pt(n)位置的符号索引,基于st(n)所代表的脉冲符号具有或正或负的二值性,一般可采用如下简单的编码方式:用st(n)=0表示正脉冲,st(n)=1表示负脉冲。当然,对于需要编码的脉冲来说,脉冲符号并不是必须具备的特征,按照实际需要,脉冲可以仅有位置和数量特性,此时无需统计脉冲符号信息。
显然,Pt(Nt)、SUt(Nt)、St(Nt)中的值具有一一对应的关系。
在统计获得轨道联合编码需要的各项参数Nt、Pt(Nt)、SUt(Nt)、St(Nt)后,就需要将各项参数编码为索引,建立参数与索引之间的对应关系,使得解码方能够根据索引恢复出对应的参数。对应关系可以采用两种表示方式,一是用代数方式表示的计算关系,这种情况下,编码方对参数进行正向计算获得索引,解码方则对索引进行反向计算获得参数;一是用映射方式表示的查询关系,这种情况下,编解码双方需要存储关联参数与索引的映射表。两种对应关系可根据参数的具体特点进行选择,一般而言,在数据量大的情况下,尽量设计出以计算关系表示的对应关系能够节省编解码双方的存储量,是更为有利的。下面分别对各项参数的编码进行说明。
A3、按照各个轨道上有脉冲位置的数目{N0,N1,…,NT-1}确定第一索引I1,第一索引I1对应于其所代表的有脉冲位置的数目下,各个轨道上有脉冲位置全部可能的分布情况。
{N0,N1,…,NT-1}组合的可能情况总数为由于Nt取值不大,通常联合编码的轨道总数T也不会很大,使得{N0,N1,…,NT-1}组合的可能情况总数不是很大,因此{N0,N1,…,NT-1}组合与第一索引I1的对应采用计算关系或查询关系都是可行的。
在建立{N0,N1,…,NT-1}组合与I1的对应关系时,一般可令他们与I1具有一一对应的关系,即一个第一索引与一个{N0,N1,…,NT-1}组合对应。pos_numt的数值Nt决定了Pt(Nt)全部可能情况的总数Wt(Nt),“C”表示求组合数;因此一个I1对应于个可能的Pt(Nt)组合{P0(N0),P1(N1),…,PT-1(NT-1)}。
当然,若某个轨道的某些Nt值对应较少的Pt(Nt)情况数,可以将这些Nt值组合起来对应同一个I1,即至少有一个I1与两个以上的{N0,N1,…,NT-1}组合对应,此时需要通过额外的附加索引Ift对这些对应同一个I1的{N0,N1,…,NT-1}组合进行区分,也就是用附加索引Ift进一步确定与I1对应的Nt值不唯一的轨道当前的Nt值。
可以将不同的I1视为轨道联合编码的分类索引,它根据各个轨道的脉冲位置数组合将整个联合编码的码本空间划分为若干个部分。下面举例说明联合编码的组合分类情况。表4为3脉冲2轨道联合编码的一种组合分类方案,共有3×3种Nt值组合,每种组合对应一个分类(I1),假定轨道上的位置总数Mt均为16。
表4
表5为4脉冲2轨道联合编码的一种组合分类方案,共有4×4种Nt值组合,同样是每种组合对应一个分类(I1),假定轨道上的位置总数Mt均为16。
表5
表6为5脉冲2轨道联合编码的一种组合分类方案,与前面两例不同的是,将Nt=1、2、3的情形组合在一起进行分类,共有3×3种分类(I1),某些分类对应多个Nt值组合,假定轨道上的位置总数Mt均为16。
表6
由表6可以看出,通过将Nt值(通常是对应位置组合数较少的Nt值)组合在一起进行分类,可以有效减少总的联合编码分类数量(例如表6中的分类数为9个,远少于一一对应情况下的分类数25),当然,相应的需要在出现非唯一Nt值的分类情形中使用额外的附加索引Ift来确定当前Nt值,即在I1划分出的空间中,进一步划分出由附加索引Ift标识的子空间。
A4、分别按照各个轨道上有脉冲位置的分布Pt(Nt)确定各个轨道的第二索引I2t,第二索引I2t从第一索引I1对应的全部可能的分布情况中,指示相应轨道上与当前有脉冲位置的分布对应的分布情况。
Pt(Nt)的总可能数为数据量较大,因此与第二索引I2t的对应比较适合采用计算关系,当然采用查询关系也是可行的。显然Wt(Nt)即是I2t全部可能的取值数目,若I2t的值从0开始计数,则有I2t∈[0,Wt(Nt)-1]。
当然,在需要使用附加索引Ift的情况下,决定I2t范围的Nt值由第一索引I1与附加索引Ift联合确定。
为便于通过代数计算来确定Pt(Nt)与I2t的对应关系,下面给出一种第二索引I2t的计算公式:
其中,pt(n)表示第n个有脉冲位置在轨道上的位置序号,n∈[0,Nt-1],pt(0)∈[0,Mt-Nt],pt(n)∈[pt(n-1)+1,Mt-Nt+n],pt(0)<pt(1)<…<pt(Nt-1),或者pt(0)>pt(1)>…>pt(Nt-1)。
采用上述方法能够以计算关系获得各个轨道的第二索引I2t,由于I2t在编码索引中所占数据量较大,采用计算方法能够尽量减少编解码双方的存储量。同时,由于I2t连续编码且与Pt(Nt)严格一一对应,因此能够最大限度的利用编码比特,避免浪费。关于该计算方法的原理以及具体推导和描述请参阅公开号为CN101295506的中国专利申请(公开日为2008年10月29日),尤其可参见该申请文件说明书第13页第18行至第15页第9行(实施例二,附图14、15),相应的解码计算方法可参见该申请文件说明书第16页第23行至第17页第12行(实施例四)。
A5、分别按照各个轨道上各个有脉冲位置上的脉冲数目SUt(Nt)确定各个轨道的第三索引I3t。
SUt(Nt)虽然是与Pt(Nt)同维度的矢量,但受限于 且的数值通常不大,一般为1~6,因此SUt(Nt)的总可能数不大,与第三索引I3t的对应采用计算关系或查询关系都是可行的。需要说明的是,在某些极端情况下,例如Nt=1或此时SUt(Nt)只有一种可能情况,无须由具体的I3t进行指示,可将I3t视为不影响最终编码索引生成的任意值。
为便于通过代数计算来确定SUt(Nt)与I3t的对应关系,下面给出一种第三索引I3t的计算方法:
对于第t个轨道,将在Nt个有脉冲位置上有个脉冲的情况,映射为在Nt个位置上有个脉冲的情况,其中表示第t个轨道上需要编码的脉冲总数。例如,图2所示的4种6脉冲4位置(Nt=4)的情形,其SUt(Nt)均为{1,2,1,2},将每个位置上的脉冲数减1(因为每个位置都至少有1个脉冲)得到{0,1,0,1},即将SUt(Nt)的信息映射为2脉冲4位置的编码情形。
按照设定的顺序,对个脉冲在Nt个位置上全部可能的分布情况进行排列,以排列的序号作为指示有脉冲位置上的脉冲数目的第三索引I3t。
体现上述计算方法的一种计算公式为:
其中,q(h)表示第h+1个脉冲的位置序号, q(h)∈[0,Nt-1],或者 ∑表示求和。
关于该计算方法的原理以及具体推导和描述请参阅公开号为CN101388210的中国专利申请(公开日为2009年3月18日),尤其可参见该申请文件说明书第8页第23行至第10页第7行(实施例二,附图6),相应的解码计算方法可参见该申请文件说明书第21页第10行至第21页第27行(实施例六)。
A6、生成T个轨道的总的编码索引Ind,编码索引Ind包括第一索引I1和各个轨道的第二、三索引I2t、I3t的信息。
I1、I2t、I3t以及附加索引Ift(若涉及)和符号索引Ist(若涉及)可以用任何能够被解码方识别的方式放置到编码索引中,例如,最简单的,可分别单独存放在固定的字段中。考虑到在各个轨道需要编码的脉冲总数pulse_numt一定的前提下,I1指示的各个pos_numt的数值Nt决定了I2t和I3t的变化范围,即,决定了I2t和I3t需要的编码比特数(在涉及的情况下,也决定了Ist需要的编码比特数),因此可采用如下方式来构造编码索引:
①以第一索引I1为起始值,叠加其他索引的信息;I1的一个取值对应于编码索引的一个独立的取值范围;这样,解码方就可以根据编码索引的取值范围直接确定pos_numt的数值组合{N0,N1,…,NT-1},当然,在有附加索引的情况下,根据I1只能确定与第一索引对应的Nt值不唯一的轨道的Nt值组合,例如表6中的组合“1、2、3”;不管是确定的Nt值还是Nt值组合,其所需编码空间都是确定的,因此可以将I1划定的取值范围(通常对应于一定的字段长度)再分成T个部分分别给T个轨道的I2t、I3t和Ift(若涉及)使用。
②I2t、I3t可以用任何能够被解码方识别的方式进行放置,例如,最简单的,可分别单独存放。由于I2t、I3t一般不能表示为2的整数次方,为尽量节省编码比特,可将第t个轨道I2t、I3t组合为如下形式放置到从I1划定的取值范围中所分配的部分中:
I2t、I3t均从0开始编码,I2t∈[0,Wt(Nt)-1],I3t∈[0,Class(Nt)-1],Class(Nt)为SUt(Nt)的总可能数。显然,这种方式相当于将从I1中分配的取值范围分成Class(Nt)个长度为Wt(Nt)的部分,每个部分对应SUt(Nt)的一种分布情况。
当然,在需要使用Ift的情况下,从I1中分配给该轨道的取值范围需要先由Ift划分给不同的Nt使用,再在划分给各个Nt的空间中放置I2t、I3t,此时,
③当然,在所编码的脉冲为带符号脉冲的情况下,各个Index(t)中还需要包括各个脉冲符号索引st(n)的信息,例如,可以将第t个轨道的符号索引Ist作为长度为Nt的字段放置在从I1中分配给该轨道的取值范围中的固定位置上,例如末尾,此时,
(对于与第一索引对应的Nt值唯一的
轨道),或者,
(对于与第一索引对应的Nt值不
唯一的轨道),
其中,
综上,T个轨道的总的编码索引Ind的一种构造方式可表示为:
其中Imax(t)表示Index(t)的上限值,“Π”表示求积。解码时可采用对Imax(t)取余的方式逐个将Index(t)分离出来,例如,将(Ind-I1)对Imax(T-1)取余获得Index(T-1),从(Ind-I1)中减去Index(T-1)再除以Imax(T-1)后继续对Imax(T-2)取余获得Index(T-2),以此类推,直至获得Index(0)。
容易理解的是,上述例举的编码索引构造方式仅为本实施例的一种可选方式,本领域技术人员可以利用构成编码索引的基本信息,容易的得出其他编码索引结构的构造方式,例如进行索引位置的互换或重新组合等,具体可以是先组合不同轨道的I2t,再组合I3t和Ist等,编码索引的具体构造方式不构成对本发明实施例的限定。
实施例二、一种脉冲编码方法,本实施例是将联合编码的各个轨道分别计算出各自索引后,再组合成编码索引,如图3所示,包括步骤:
B1、获取T个轨道上需要编码的脉冲,T是大于等于2的整数。
B2、分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目。
步骤B1、B2可参照实施例一的步骤A1、A2执行。
B3、分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引I1t,第一索引I1t对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况。
B4、分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t,第二索引I2t从第一索引I1t对应的全部可能的分布情况中,指示该轨道上与当前有脉冲位置的分布对应的分布情况。
B5、分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t。
步骤B3-B5可参照实施例一的步骤A1、A2执行,分别获得各个轨道的索引的过程具体请参阅公开号为CN101295506的中国专利申请(公开日为2008年10月29日),尤其可参见该申请文件说明书第6页第13行至第15页第9行(实施例一、实施例二),相应的解码计算方法可参见该申请文件说明书第15页第11行至第17页第12行(实施例三、实施例四)。
B6、生成T个轨道的总的编码索引Ind,编码索引Ind包括各个轨道的第一、二、三索引I1t、I2t、I3t的信息。
I1t、I2t、I3t和符号索引Ist(若涉及)可以用任何能够被解码方识别的方式放置到编码索引中,例如,最简单的,可分别单独存放在固定的字段中。当然也可以进行组合,例如分别将各个轨道的索引组合在一起后再叠加,即采用如下方式来构造编码索引:
其中Imax(t)表示Index(t)的上限值,
(不考虑脉冲符号的情形),或者,
(考虑脉冲符号的情形)。
容易理解的是,上述例举的编码索引构造方式仅为本实施例的一种可选方式,本领域技术人员可以利用构成编码索引的基本信息,容易的得出其他编码索引结构的构造方式,例如在各个轨道内进行索引位置的互换或重新组合等,编码索引的具体构造方式不构成对本发明实施例的限定。
实施例三、一种脉冲编码方法,本实施例是在实施例一或二的基础上,提出的进一步节省编码比特的方法。
本实施例脉冲编码方法的编码索引Ind生成过程可参照实施例一或二方法执行,在生成编码索引Ind的之后执行如下操作,如图4所示,包括:
C1、比较编码索引Ind和调整门限值THR,其中,
THR≤2Bmax-Imax(T),
Imax(T)表示Ind的上限值,Bmax表示用来对编码索引进行编码的比特数量的上限值,若Ind小于THR,则转到步骤C2,否则转到步骤C3。
C2、采用第一数量的编码比特对Ind进行编码。
C3、采用第二数量的编码比特对加上偏移值THR0的Ind进行编码,THR≤THR0≤2Bmax-Imax(T),所称的第一数量少于第二数量,而第二数量则小于等于Bmax,第一数量和第二数量均为正整数。
例如,对于2个4脉冲轨道联合编码的情形(每个轨道的位置总数假设为16),Ind的总可能数Imax(T)=44032×44032(考虑脉冲有符号),需要31个编码比特,其空闲码本空间为231-44032×44032=208666624,可以设置THR=THR0=208666624,当Ind小于208666624时,使用第一数量(30个)的编码比特对Ind进行编码,当Ind大于208666624时,使用第二数量(31个)的编码比特对Ind+208666624进行编码,显然,有9.7%的几率在31个比特的基础上再节省一个比特。当然,调整门限值THR可以设置的比208666624更小,以节省更多的比特,但相应出现可节省比特的情况的概率会大幅度的下降,可平衡考虑。
关于该节省比特的方法的原理以及具体推导和描述请参阅申请号为CN200910150637.8的中国专利申请(申请日为2009年6月19日)。
进一步的,为提高可节省比特的情况出现的概率,可采用如下优选方式来设置编码索引Ind中第一索引I1与{N0,N1,…,NT-1}组合的对应关系:统计{N0,N1,…,NT-1}组合的出现概率,使出现概率越高的组合对应的第一索引越小,以尽量减小出现概率高的组合的编码索引值。
实施例四、一种脉冲编码方法,本实施例从与实施例一和二不同的角度提出一种新的轨道联合编码方法。
在实施例一和二中不管是对轨道有脉冲位置的情况进行联合分类(实施例一)还是分别对每个轨道设置第一索引(实施例二),均需要对每个轨道的脉冲位置分布进行分别处理,本实施例则采用一种新的思路,即,将联合编码的各个轨道重叠为1个轨道,叠加其脉冲分布信息。例如,如图5所示,将2个3脉冲轨道叠加成1个6脉冲轨道(假设各个轨道的位置数为16),然后,
①按照单轨道脉冲分布的情形,计算叠加后的轨道的分布索引,例如可采用实施例二中所描述的I1t、I2t、I3t以及Ist组合的方式。
②按照脉冲所属轨道的情形编制轨道索引,例如,如图6所示,图5叠加得到的3位置6脉冲对应不同的轨道分布情形,可以用不同的轨道索引分别来表示相应的情形,图6中“o”表示轨道0上的脉冲,“×”表示轨道1上的脉冲。
③将脉冲叠加得到的单轨道的分布索引与表示脉冲所属轨道的轨道索引组合在一起获得最终的编码索引。
本实施例联合编码方法同样可以象实施例一和二一样节省编码比特,并且,也可以与实施例三结合使用,以达到进一步节省编码比特的目的。
实施例五、一种脉冲解码方法,本实施例提供的解码方法对按照实施例一编码方法获得的编码索引进行解码,解码过程为编码过程的反过程,如图7所示,包括:
D1、获取编码索引Ind,从编码索引Ind中提取出第一索引I1,按照第一索引I1确定T个轨道的各个轨道上有脉冲位置的数目{N0,N1,…,NT-1}。
从Ind中提取各个索引的信息,可按照与编码时将各个索引组合成Ind相反的过程来进行。例如,若各个索引单独存放的固定的字段中,则直接分别提取即可。
若Ind采用实施例一中提供的以I1作为起始值叠加其他索引的结构,则可先提取出I1,按照与I1对应的{N0,N1,…,NT-1}组合将各个轨道的Index(t)从Ind中分离出来。在这种情况下,由于一个I1对应Ind的一个独立取值范围,因此,解码方可从设定的若干个独立的取值范围中,判断Ind所属的取值范围,按照该所属的取值范围对应的起始值确定第一索引I1。
当然,在存在与第一索引I1对应的Nt值不唯一的轨道的情况下,对于该轨道,I1确定的是其Nt值组合,实际Nt值由进一步提取的附加索引Ift来确定,此时分离出的Index(t)中包含Ift的信息。
D2、从编码索引Ind中提取出各个轨道的第二索引I2t和第三索引I3t;
与I1类似,I2t、I3t的提取也按照与组合进相反的过程进行,在独立放置时可被直接提取。若I2t、I3t采用实施例一中组合后进行叠加的编码方式,则此步骤是从Index(t)中分离I2t、I3t、Ift(若涉及)和Ist(若涉及),根据组合的过程进行逆运算即可。
例如,在不涉及Ift和Ist的情况下,I2t=Index(t)%Wt(Nt),I3t=Int[Index(t)/Wt(Nt)],其中%表示取余数,Int表示取整。在涉及Ift的情况下,与确定I1类似,可先根据Index(t)所属的取值范围对应的起始值确定附加索引Ift,在分离出Ift后根据确定的Nt值进一步提取I2t、I3t和Ist(若涉及)。
D3、分别对于各个轨道,按照第二索引I2t确定,在第一索引I1和Ift(若涉及)对应的有脉冲位置的数目下,有脉冲位置在轨道上的分布。
解码I2t采用与编码I2t相反的过程,若I2t在编码时采用计算关系获得,则在解码时利用同样的计算关系进行逆运算即可;若I2t在编码时采用查询关系获得,则在解码时查询相同的对应关系即可。
D4、分别对于各个轨道,按照第三索引I3t确定各个有脉冲位置上的脉冲数目。
D5、分别对于各个轨道,按照有脉冲位置在轨道上的分布Pt(Nt)和各个有脉冲位置上的脉冲数目SUt(Nt),重建轨道上的脉冲序列。
对于带符号脉冲的情形,在重建各个轨道上的脉冲序列时,还按照各个符号索引st(n)携带的脉冲符号信息,恢复各个有脉冲位置的脉冲符号的正或负的特性。
实施例六、一种脉冲解码方法,本实施例提供的解码方法对按照实施例二编码方法获得的编码索引进行解码,解码过程为编码过程的反过程,如图8所示,包括:
E1、获取编码索引Ind,从编码索引Ind中提取出各个轨道的第一索引I1t,分别对于各个轨道,按照第一索引I1t确定有脉冲位置的数目Nt。
由于在各个轨道上脉冲总数确定的情况下(由于不同码率下,编码索引的总比特数不同,因此解码方可直接根据编码索引的长度(比特数),确定出各个轨道上脉冲总数),Index(t)的上限值Imax(t)确定,因此可以直接从Ind中分离出各个轨道的Index(t),进而根据Index(t)的取值范围确定出I1t和相应的Nt。
E2、从编码索引Ind中提取出各个轨道的第二索引I2t和第三索引I3t。即,从Index(t)中分离出I2t和I3t,可参照实施例五的步骤D2执行。若涉及脉冲符号,还可进一步分离出Ist。
E3、分别对于各个轨道,按照第二索引I2t确定,在第一索引I1t对应的有脉冲位置的数目下,有脉冲位置在轨道上的分布。
E4、分别对于各个轨道,按照第三索引I3t确定各个有脉冲位置上的脉冲数目。
E5、分别对于各个轨道,按照有脉冲位置在轨道上的分布Pt(Nt)和各个有脉冲位置上的脉冲数目SUt(Nt),重建轨道上的脉冲序列。
步骤E3-E5可参照实施例五的步骤D3-D5执行。
实施例七、一种脉冲解码方法,本实施例提供的解码方法与实施例三编码方法对应,对实施例三变长编码的码流进行解码,以获得编码索引,过程如图9所示,包括:
F1、从编码码流中提取第一数量的编码比特。
F2、若第一数量的编码比特解码后的值小于调整门限值THR,则转到步骤F3,否则转到步骤F4。
F3、以第一数量的编码比特解码后的值作为编码索引Ind。
F4、否则,增加提取的编码比特的数量至第二数量,以第二数量的编码比特解码后的值减去偏移值THR0作为编码索引Ind。
按照本实施例解码方法从编码码流中获得编码索引Ind后,即可按照实施例五或六的解码方法继续对编码索引Ind进行解码。
实施例八、一种脉冲编码器10,本实施例提供的编码器可用于执行实施例一编码方法,如图10所示,包括:
脉冲统计单元101,用于获取T个轨道上需要编码的脉冲,T是大于等于2的整数,分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,其中下标t表示第t个轨道,t∈[0,T-1];
索引计算单元102,包括:
第一索引单元1021,用于按照各个轨道上有脉冲位置的数目{N0,N1,…,NT-1}输出第一索引I1,I1对应于其所代表的有脉冲位置的数目下,各个轨道上有脉冲位置全部可能的分布情况;
第二索引单元1022,用于分别按照各个轨道上有脉冲位置的分布输出各个轨道的第二索引I2t,I2t从I1对应的全部可能的分布情况中,指示相应轨道上与当前有脉冲位置的分布对应的分布情况;
第三索引单元1023,用于分别按照各个轨道上各个有脉冲位置上的脉冲数目输出各个轨道的第三索引I3t;
索引组合单元103,用于组合第一索引I1和各个轨道的第二、三索引I2t、I3t的信息生成编码索引Ind。
在至少有一个第一索引与两个以上的{N0,N1,…,NT-1}组合对应的情况下,索引计算单元102还可进一步包括附加索引单元1024(图10中以虚线框示出),用于对于存在与第一索引对应的Nt值不唯一的轨道,确定与该轨道上当前有脉冲位置的数目对应的附加索引Ift,附加索引Ift对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况。此时,索引组合单元103还将附加索引Ift的信息组合到编码索引Ind中。
此外,在采用实施例三方法对编码索引进行变长编码的情况下,本实施例脉冲编码器10还可进一步包括编码比特调整单元104(图10中以虚线框示出),用于在索引组合单元103生成编码索引后,比较编码索引Ind和调整门限值THR,其中,
THR≤2Bmax-Imax(T),
Imax(T)表示Ind的上限值,Bmax表示用来对编码索引进行编码的比特数量的上限值,
若Ind小于THR,采用第一数量的编码比特对Ind进行编码,否则采用第二数量的编码比特对加上偏移值THR0的Ind进行编码,THR≤THR0≤2Bmax-Imax(T),所使用的第一数量少于第二数量,第二数量小于等于Bmax,第一数量和第二数量均为正整数。
实施例九、一种脉冲解码器20,本实施例提供的解码器可用于执行实施例五解码方法,如图11所示,包括:
第一提取单元201,用于获取编码索引Ind,从编码索引中提取出第一索引I1,按照第一索引确定T个轨道的各个轨道上有脉冲位置的数目{N0,N1,…,NT-1};
第二提取单元202,用于从编码索引Ind中提取出各个轨道的第二索引I2t和第三索引I3t;
第一解码单元203,用于分别对于各个轨道,按照第二索引I2t确定,在第一索引对应的有脉冲位置的数目下,有脉冲位置在轨道上的分布;
第二解码单元204,用于分别对于各个轨道,按照第三索引I3t确定各个有脉冲位置上的脉冲数目;
脉冲重建单元205,用于分别对于各个轨道,按照有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,重建轨道上的脉冲序列。
在至少有一个第一索引与两个以上的{N0,N1,…,NT-1}组合对应的情况下,本实施例解码器还可以进一步包括:
附加提取单元206(图11中以虚线框示出),用于对于存在与第一索引对应的Nt值不唯一的轨道,提取与该轨道上当前有脉冲位置的数目对应的附加索引Ift,附加索引Ift对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况。此时,第二提取单元202是根据附加提取单元206提取的附加索引Ift确定的相应轨道上当前有脉冲位置的数目,提取出该轨道的第二索引I2t和第三索引I3t。
此外,在采用实施例七方法对变长编码的码流进行解码的情况下,本实施例脉冲解码器20还可进一步包括解码比特调整单元207(图11中以虚线框示出),用于从编码码流中提取第一数量的编码比特,若第一数量的编码比特解码后的值小于调整门限值THR,以第一数量的编码比特解码后的值作为编码索引Ind输出,否则,增加提取的编码比特的数量至第二数量,再以第二数量的编码比特解码后的值减去偏移值THR0作为编码索引Ind输出。
本领域普通技术人员可以理解,上述实施例中各种方法的全部或部分步骤可以通过程序来指令相关硬件完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器、随机存储器、磁盘或光盘等。
以上对本发明实施例所提供的脉冲编解码方法及脉冲编解码器进行了详细介绍,本文中应用了具体实施例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (12)
1.一种脉冲编码方法,其特征在于,包括:
获取T个轨道上需要编码的脉冲,T是大于等于2的整数;
分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,其中下标t表示第t个轨道,t∈[0,T-1];
分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引I1t,所述第一索引对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况;
分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示该轨道上与当前有脉冲位置的分布对应的分布情况;
分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t;所述分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t的步骤包括:
对于第t个轨道,将在Nt个有脉冲位置上有个脉冲的情况,映射为在Nt个位置上有个脉冲的情况,其中表示第t个轨道上需要编码的脉冲总数,
按照设定的顺序,对个脉冲在Nt个位置上全部可能的分布情况进行排列,以排列的序号作为指示有脉冲位置上的脉冲数目的第三索引I3t;
生成编码索引Ind,所述编码索引包括各个轨道的第一、二、三索引的信息。
2.根据权利要求1所述的方法,其特征在于,各个轨道的第三索引I3t的计算公式为:
其中,q(h)表示第h+1个脉冲的位置序号, q(h)∈[0,Nt-1],或者 ∑表示求和。
3.根据权利要求1或2所述的方法,其特征在于,各个轨道的第二索引I2t的计算公式为:
其中,pt(n)表示第n个有脉冲位置在轨道上的位置序号,n∈[0,Nt-1],pt(0)∈[0,Mt-Nt],pt(n)∈[pt(n-1)+1,Mt-Nt+n],pt(0)<pt(1)<…<pt(Nt-1),或者pt(0)>pt(1)>…>pt(Nt-1);Mt表示第t个轨道上的位置总数。
4.根据权利要求1或2所述的方法,其特征在于,所述分别对各个轨道上需要编码的脉冲按照位置进行统计时,还按照各个轨道上各个有脉冲位置的脉冲符号的正或负的特性,获得各个轨道的各个有脉冲位置的脉冲符号信息;
所述编码索引还包括各个轨道的与各个有脉冲位置对应的符号索引的信息,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
5.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
比较所述编码索引Ind和调整门限值THR,其中,
THR≤2Bmax-Imax(T),
Imax(T)表示Ind的上限值,Bmax表示用来对编码索引进行编码的比特数量的上限值,
若Ind小于THR,采用第一数量的编码比特对Ind进行编码,否则采用第二数量的编码比特对加上偏移值THR0的Ind进行编码,THR≤THR0≤2Bmax-Imax(T),所述第一数量少于所述第二数量,所述第二数量小于等于Bmax,所述第一数量和所述第二数量均为正整数。
6.根据权利要求5所述的方法,其特征在于,所述方法还包括:所述生成编码索引Ind,包括:采用如下方式来生成所述编码索引Ind,
其中Imax(t)表示Index(t)的上限值,
或者,
其中,Ist表示符号索引;Mt表示第t个轨道上的位置总数。
7.一种脉冲编码装置,其特征在于,包括:
用于获取T个轨道上需要编码的脉冲的单元,T是大于等于2的整数;
用于分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目的单元,其中下标t表示第t个轨道,t∈[0,T-1];
用于分别按照各个轨道上有脉冲位置的数目确定各个轨道的第一索引I1t的单元,所述第一索引对应于其所代表的有脉冲位置的数目下,该轨道上有脉冲位置全部可能的分布情况;
用于分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t的单元,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示该轨道上与当前有脉冲位置的分布对应的分布情况;
用于分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t的单元;所述用于分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t的单元包括:
用于对于第t个轨道,将在Nt个有脉冲位置上有个脉冲的情况,映射为在Nt个位置上有个脉冲的情况的子单元,其中表示第t个轨道上需要编码的脉冲总数,
用于按照设定的顺序,对个脉冲在Nt个位置上全部可能的分布情况进行排列的子单元,以排列的序号作为指示有脉冲位置上的脉冲数目的第三索引I3t;
用于生成编码索引Ind的子单元,所述编码索引包括各个轨道的第一、二、三索引的信息。
8.根据权利要求7所述的装置,其特征在于,用于分别按照各个轨道上各个有脉冲位置上的脉冲数目确定各个轨道的第三索引I3t的单元采用如下计算公式计算各个轨道的第三索引I3t:
其中,q(h)表示第h+1个脉冲的位置序号, q(h)∈[0,Nt-1],或者 ∑表示求和。
9.根据权利要求7或8所述的装置,其特征在于,用于分别按照各个轨道上有脉冲位置的分布确定各个轨道的第二索引I2t的单元采用如下计算公式计算各个轨道的第二索引I2t:
其中,pt(n)表示第n个有脉冲位置在轨道上的位置序号,n∈[0,Nt-1],pt(0)∈[0,Mt-Nt],pt(n)∈[pt(n-1)+1,Mt-Nt+n],pt(0)<pt(1)<…<pt(Nt-1),或者pt(0)>pt(1)>…>pt(Nt-1);Mt表示第t个轨道上的位置总数。
10.根据权利要求7或8所述的装置,其特征在于,所述用于分别对各个轨道上需要编码的脉冲按照位置进行统计,获得各个轨道上有脉冲位置的数目Nt、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目的单元在分别对各个轨道上需要编码的脉冲按照位置进行统计时,还按照各个轨道上各个有脉冲位置的脉冲符号的正或负的特性,获得各个轨道的各个有脉冲位置的脉冲符号信息;
所述用于生成编码索引Ind的子单元生成的所述编码索引还包括各个轨道的与各个有脉冲位置对应的符号索引的信息,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
11.根据权利要求7或8所述的装置,其特征在于,所述装置还包括:
编码比特调整单元,用于在所述索引组合单元生成编码索引后,比较所述编码索引Ind和调整门限值THR,其中,
THR≤2Bmax-Imax(T),
Imax(T)表示Ind的上限值,Bmax表示用来对编码索引进行编码的比特数量的上限值,
若Ind小于THR,采用第一数量的编码比特对Ind进行编码,否则采用第二数量的编码比特对加上偏移值THR0的Ind进行编码,THR≤THR0≤2Bmax-Imax(T),所述第一数量少于所述第二数量,所述第二数量小于等于Bmax,所述第一数量和所述第二数量均为正整数。
12.根据权利要求11所述的装置,其特征在于,所述生成编码索引Ind,包括:采用如下方式来生成所述编码索引Ind,
其中Imax(t)表示Index(t)的上限值,
或者,
其中,Ist表示符号索引;Mt表示第t个轨道上的位置总数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410118069.4A CN103886862B (zh) | 2010-06-24 | 2010-06-24 | 脉冲编解码方法及脉冲编解码器 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201010213451.5A CN102299760B (zh) | 2010-06-24 | 2010-06-24 | 脉冲编解码方法及脉冲编解码器 |
CN201410118069.4A CN103886862B (zh) | 2010-06-24 | 2010-06-24 | 脉冲编解码方法及脉冲编解码器 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201010213451.5A Division CN102299760B (zh) | 2010-06-24 | 2010-06-24 | 脉冲编解码方法及脉冲编解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103886862A CN103886862A (zh) | 2014-06-25 |
CN103886862B true CN103886862B (zh) | 2018-09-28 |
Family
ID=50955720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201410118069.4A Active CN103886862B (zh) | 2010-06-24 | 2010-06-24 | 脉冲编解码方法及脉冲编解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103886862B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9336788B2 (en) * | 2014-08-15 | 2016-05-10 | Google Technology Holdings LLC | Method for coding pulse vectors using statistical properties |
CN116224226A (zh) * | 2023-03-08 | 2023-06-06 | 北京航天众信科技有限公司 | 一种挂轨式机器人定位方法、装置及计算机设备 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295506A (zh) * | 2007-04-29 | 2008-10-29 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101388210A (zh) * | 2007-09-15 | 2009-03-18 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101483043A (zh) * | 2008-01-07 | 2009-07-15 | 中兴通讯股份有限公司 | 基于分类和排列组合的码本索引编码方法 |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6847929B2 (en) * | 2000-10-12 | 2005-01-25 | Texas Instruments Incorporated | Algebraic codebook system and method |
CN102299760B (zh) * | 2010-06-24 | 2014-03-12 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
-
2010
- 2010-06-24 CN CN201410118069.4A patent/CN103886862B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101295506A (zh) * | 2007-04-29 | 2008-10-29 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101388210A (zh) * | 2007-09-15 | 2009-03-18 | 华为技术有限公司 | 编解码方法及编解码器 |
CN101483043A (zh) * | 2008-01-07 | 2009-07-15 | 中兴通讯股份有限公司 | 基于分类和排列组合的码本索引编码方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103886862A (zh) | 2014-06-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9858938B2 (en) | Pulse encoding and decoding method and pulse codec | |
US10089995B2 (en) | Vector joint encoding/decoding method and vector joint encoder/decoder | |
JP5221642B2 (ja) | 符号化法、復号化法、符号器、および復号器 | |
CN103886862B (zh) | 脉冲编解码方法及脉冲编解码器 | |
Klebanov | Gauss diagrams of 3-manifolds |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |