CN101388210A - 编解码方法及编解码器 - Google Patents
编解码方法及编解码器 Download PDFInfo
- Publication number
- CN101388210A CN101388210A CNA2007101539527A CN200710153952A CN101388210A CN 101388210 A CN101388210 A CN 101388210A CN A2007101539527 A CNA2007101539527 A CN A2007101539527A CN 200710153952 A CN200710153952 A CN 200710153952A CN 101388210 A CN101388210 A CN 101388210A
- Authority
- CN
- China
- Prior art keywords
- index
- pulse
- distribution
- coding
- 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.)
- Granted
Links
Images
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+提供的代数脉冲编码方法,采用类似递归的编码逻辑,将编码脉冲数量较多的情况拆分为若干个编码脉冲数量较少的情况来处理,计算复杂度较大,同时,随着轨道上编码脉冲数目的增加,编码索引的冗余度将逐渐累加,容易造成编码比特的浪费。
发明内容
本发明提供一种能够有效降低计算复杂度同时尽量节省编码比特的编/解码方法和编/解码器。
一种编码方法,包括:对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;确定分布索引,所述分布索引按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的分布索引;生成编码索引,所述编码索引包括所述分布索引的信息。
一种解码方法,包括:接收编码索引;从所述编码索引中提取出分布索引;按照所述分布索引确定各个脉冲的位置在轨道上的分布;按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
一种编码器,包括:第一统计单元,用于对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;分布索引单元,用于确定分布索引,所述分布索引按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的分布索引;索引生成单元,用于生成编码索引,所述编码索引包括所述分布索引的信息。。
一种解码器,包括:输入单元,用于接收编码索引;分布提取单元,用于从所述编码索引中提取出分布索引;分布解码单元,用于按照所述分布索引确定各个脉冲的位置在轨道上的分布;分布重建单元,用于按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
上述技术方案采用对需要进行编码的脉冲按照脉冲的位置在轨道上的分布进行排序并编码的方法;研究实践证明,该方案能够有效降低计算复杂度,同时由于按照排序进行编码,不同的脉冲分布情况对应连续的编码,能够尽可能的降低编码的冗余度,节省编码比特。
附图说明
图1是本发明实施例一编码方法流程示意图;
图2是本发明实施例一中5脉冲编码索引结构示意图;
图3是本发明实施例一中4脉冲编码索引结构示意图;
图4是本发明实施例一中3脉冲编码索引结构示意图;
图6是本发明实施例三编码方法流程示意图;
图7是本发明实施例三中6脉冲编码索引结构示意图;
图8是本发明实施例三中SU(1)的可能组合情况示意图;
图9是本发明实施例三中SU(2)的可能组合情况示意图;
图10是本发明实施例三中SU(3)的可能组合情况示意图;
图11是本发明实施例三中SU(4)的可能组合情况示意图;
图12是本发明实施例三中SU(5)的可能组合情况示意图;
图13是本发明实施例三中SU(6)的可能组合情况示意图;
图14是本发明实施例三中5脉冲编码索引结构示意图;
图15是本发明实施例三中4脉冲编码索引结构示意图;
图16是本发明实施例三中3脉冲编码索引结构示意图;
图17是本发明实施例三中2脉冲编码索引结构示意图;
图18是本发明实施例三中1脉冲编码索引结构示意图;
图19是本发明实施例四中N=2时的X(N)树结构示意图;
图20是本发明实施例四中N=3时的X(N)树结构示意图;
图21是本发明实施例五解码方法流程示意图;
图22是本发明实施例七解码方法流程示意图;
图23是本发明实施例九编码器逻辑结构示意图;
图24是本发明实施例十编码器逻辑结构示意图;
图25是本发明实施例十一解码器逻辑结构示意图;
图26是本发明实施例十二解码器逻辑结构示意图;
图27是本发明实施例三、七方法的应用例二中的脉冲搜索结果图。
具体实施方式
本发明实施例提供一种编码方法,对需要进行编码的脉冲按照脉冲的位置在轨道上的分布进行排序并编码。本发明实施例还提供相应的解码方法,以及编/解码器。以下分别对本发明实施例的方法和装置进行详细说明。
实施例一、一种编码方法,如图1所示,包括:
A1、对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息。
同一轨道上需要编码的脉冲总数通常根据码率来确定,需要编码的脉冲数目越多,显然编码索引需要的比特数也越多,码率越高。本文中,
此外,需要编码的脉冲还可能带有符号,即具有正或负的特性,此时在对轨道上需要编码的脉冲按照位置进行统计时,还需要获得各个脉冲的脉冲符号信息。本文中,
以脉冲符号矢量表示各个脉冲的脉冲符号信息;其中,ss(h)表示第h+1个脉冲的脉冲符号,称为q(h)脉冲的符号索引,基于ss(h)所代表的脉冲符号具有或正或负的二值性,一般可采用如下简单的编码方式:用ss(h)=0表示正脉冲,ss(h)=1表示负脉冲。当然,对于需要编码的脉冲来说,脉冲符号并不是必须具备的特征,按照实际需要,脉冲可以仅有位置和数量特性,此时无需统计脉冲符号信息。
在统计获得需要编码的脉冲的各项参数、后,就需要将各项参数编码为索引,建立参数与索引之间的对应关系,使得解码方能够根据索引恢复出对应的参数。对应关系可以采用两种表示方式,一是用代数方式表示的计算关系,这种情况下,编码方对参数进行正向计算获得索引,解码方则对索引进行反向计算获得参数;一是用映射方式表示的查询关系,这种情况下,编解码双方需要存储关联参数与索引的映射表。两种对应关系可根据参数的具体特点进行选择,一般而言,在数据量大的情况下,尽量设计出以计算关系表示的对应关系能够节省编解码双方的存储量,是更为有利的。下面分别对各项参数的编码进行说明。
I4可以用任何能够被解码方识别的方式放置到编码索引中,例如,最简单的,从编码索引的设定位置起存放。
容易理解的是,上述例举的编码索引构造方式仅为本实施例的一种可选方式,本领域技术人员可以利用构成编码索引的基本信息,容易的得出其他编码索引结构的构造方式,例如进行索引位置的互换或重新组合等,编码索引的具体构造方式不构成对本发明实施例的限定。
为更好的理解实施例一中编码索引的构造方式,下面举出一些实际的例子来进行说明。假设轨道上的位置总数M=16:
编码索引Index(5)共有19个比特,即Index(5)∈[0,219-1],图2中Index(5)的编码值范围以十六进制形式表示。本文中,在数值前冠以“0x”表示该数值为十六进制表示;其他数值未经特殊说明,均以十进制表示。
五个符号索引ss(0)~ss(4)占用末尾的5个比特。
图2中使用14个比特来放置I4,因此提供给I4的编码空间长度为214=16384,由于 显然足够使用。
编码索引Index(4)共有16个比特,即Index(4)∈[0,216-1]。
四个符号索引ss(0)~ss(3)占用末尾的4个比特。
图3中使用12个比特来放置I4,因此提供给I4的编码空间长度为212=4096,由于 显然足够使用。
编码索引Index(3)共有13个比特,即Index(3)∈[0,213-1]。
三个符号索引ss(0)~ss(2)占用末尾的3个比特。
图4中使用10个比特来放置I4,因此提供给I4的编码空间长度为210=1024,由于 显然足够使用。
其中等号表示脉冲的位置可以重复;假设采用前者,则有:q(0)∈[0,M],q(h)∈[q(h-1),M],M为轨道上的位置总数。然后对不同的情况依次比较各个维度的大小,按照从小到大或者从大到小的顺序对所有可能的进行排序。
其中“C”表示求组合数;Σ表示求和。上式的含义可解释为:表示第1个脉冲位于q(0)之前的情况总数;表示第1个脉冲位于q(0)时,第2个脉冲位于q(1)之前的情况总数;的含义可类推。需要说明的是,上述公式只是I4与间计算关系的一种表现形式,根据相同的排序规则,还可等价的以其他数学形式来描述该计算关系;若采用不同的排序规则,也可相应的设计出类似的计算关系,具体计算关系的表述方式不构成对本发明实施例的限定。
xx(1)=q(0);
xx(i)=q(i-1)-q(i-2);
xx(i)表示的是第i个脉冲的位置与第i-1个脉冲的位置之间的相对位置关系, 。利用可将所有可能的情况构造在一个树结构中,树的深度为,树第i层的子节点表示第i个脉冲的相对位置值xx(i)。按照从左到右从小到大的顺序放置xx(i)的取值,然后在树的底层,即末节点处从左到右依次对各个末节点进行编码。每个末节点到根节点的路径对应的一种情况,因此每个末节点的编码即为指示相应情况的分布索引I4。
本实施例提供了一种以计算关系获得分布索引I4的方法,由于I4在编码索引中所占数据量较大,因此采用本实施例计算方法能够尽量减少编解码双方的存储量。同时,由于I4连续编码且与严格一一对应,因此能够最大限度的利用编码比特,避免浪费。
实施例三、一种编码方法,本实施例与实施例一相比区别之处在于,本实施例将实施例一中所描述的编码过程视为第一编码方式,先在包括第一编码方式的可选编码方式中进行选择,再按照所选择的编码方式进行编码。本实施例编码方法流程如图6所示,包括:
本文中将实施例一所描述的编码方式称为第一编码方式。可选的编码方式除了第一编码方式之外,还可以包括其他形式的编码方式,例如现有的AMR_WB+等。本实施例中将具体提供一种可选的第二编码方式。
B3、根据编码方式选择的结果,在确定选择第一编码方式之后,按照第一编码方式进行编码。
具体编码过程可参照实施例一中的描述执行。
B4、根据编码方式选择的结果,在确定选择第二编码方式之后,按照第二编码方式进行编码,包括如下步骤:
B41、对轨道上需要编码的脉冲按照位置进行统计,获得有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目。
本文中,
以脉冲位置矢量P(N)={p(0),p(1),...,p(N-1)}表示有脉冲位置在轨道上的分布;其中,p(n)表示有脉冲位置在轨道上的位置序号,n∈[0,N-1],p(n)∈[0,M-1],M在本文中表示轨道上的位置总数,一般M可以为8,16等等;
此外,需要编码的脉冲还可能带有符号,即具有正或负的特性,此时在对轨道上需要编码的脉冲按照位置进行统计时,还需要获得各个有脉冲位置的脉冲符号信息(一般而言,位于相同位置的脉冲,其脉冲符号是相同的,因此可以用有脉冲位置的脉冲符号信息来表示该位置上的脉冲的符号信息)。本文中,
以位置符号矢量S(N)={s(0),s(1),...,s(N-1)}表示各个有脉冲位置的脉冲符号信息;其中,s(n)表示p(n)位置的脉冲符号,称为p(n)位置的符号索引,基于s(n)所代表的脉冲符号具有或正或负的二值性,一般可采用如下简单的编码方式:用s(n)=0表示正脉冲,s(n)=1表示负脉冲。当然,对于需要编码的脉冲来说,脉冲符号并不是必须具备的特征,按照实际需要,脉冲可以仅有位置和数量特性,此时无需统计脉冲符号信息。
显然,P(N)、SU(N)、S(N)中的值具有一一对应的关系。
在统计获得需要编码的脉冲的各项参数N、P(N)、SU(N)、S(N)后,就需要将各项参数编码为索引,建立参数与索引之间的对应关系,使得解码方能够根据索引恢复出对应的参数。对应关系可以采用两种表示方式,一是用代数方式表示的计算关系,这种情况下,编码方对参数进行正向计算获得索引,解码方则对索引进行反向计算获得参数;一是用映射方式表示的查询关系,这种情况下,编解码双方需要存储关联参数与索引的映射表。两种对应关系可根据参数的具体特点进行选择,一般而言,在数据量大的情况下,尽量设计出以计算关系表示的对应关系能够节省编解码双方的存储量,是更为有利的。下面分别对各项参数的编码进行说明。
B42、按照有脉冲位置的数目pos_num=N确定第一索引I1,第一索引I1对应于相同pos_num下,有脉冲位置在轨道上全部可能的分布情况。
pos_num的数值N变化范围不大,因此与第一索引I1的对应采用计算关系或查询关系都是可行的。在建立pos_num与I1的对应关系时,一般可令他们与具有一一对应的关系;当然,若某些pos_num数值下,其他参数的索引只需要较少比特数,这些pos_num也可以合并使用一个I1,再通过额外的标记比特进行区分。
pos_num的数值N决定了P(N)全部可能情况的总数W(N), “C”表示求组合数;因此一个I1对应于W(N)个可能的P(N)。
B43、按照有脉冲位置在轨道上的分布P(N)确定第二索引I2,第二索引I2从第一索引I1对应的全部可能的分布情况中,指示与当前有脉冲位置的分布对应的分布情况。
P(N)的总可能数为 数据量较大,因此与第二索引I2的对应比较适合采用计算关系,当然采用查询关系也是可行的。显然W(N)即是I2全部可能的取值数目,若I2的值从0开始计数,则有I2∈[0,W(N)-1]。
B44、按照各个有脉冲位置上的脉冲数目SU(N)确定第三索引I3。
SU(N)虽然是与P(N)同维度的矢量,但受限于 且的数值通常不大,一般为1~6,因此SU(N)的总可能数不大,与第三索引I3的对应采用计算关系或查询关系都是可行的。并且,鉴于其矢量形式,在高维度情况下采用查询关系较为适宜;在低维度情况下计算关系的设计较为容易,则两种方式均可采用。需要说明的是,在某些极端情况下,例如N=1或此时SU(N)只有一种可能情况,无须由具体的I3进行指示,可将I3视为不影响最终编码索引生成的任意值。
I1、I2、I3可以用任何能够被解码方识别的方式放置到编码索引中,例如,最简单的,可分别单独存放在固定的字段中。考虑到在同一轨道上需要编码的脉冲总数pulse_num一定的前提下,I1指示的pos_num的数值N决定了I2和I3的变化范围,即,决定了I2和I3需要的编码比特数,因此可采用如下方式来构造编码索引:
①以第一索引I1为起始值,叠加其他索引的信息;I1的一个取值对应于编码索引的一个独立的取值范围;这样,解码方就可以根据编码索引的取值范围直接确定pos_num的数值N;
②进一步的,在I1划定的取值范围中(通常对应于一定的字段长度),I2、I3可以用任何能够被解码方识别的方式进行放置,例如,最简单的,可分别单独存放。由于I2、I3一般不能表示为2的整数次方,为尽量节省编码比特,可将I2、I3组合为如下形式放置到I1划定的取值范围中:
I2、I3均从0开始编码, Class(N)为SU(N)的总可能数。显然,这种方式相当于将I1划定的取值范围分成Class(N)个长度为W(N)的部分,每个部分对应SU(N)的一种分布情况。
容易理解的是,上述例举的编码索引构造方式仅为本实施例的一种可选方式,本领域技术人员可以利用构成编码索引的基本信息,容易的得出其他编码索引结构的构造方式,例如进行索引位置的互换或重新组合等,编码索引的具体构造方式不构成对本发明实施例的限定。
第二编码方式提供的编码逻辑对于不同的编码脉冲数目可一致采用,避免了AMR_WB+所采用的递归方式下编码索引冗余度的累加,从总的逻辑构思上保证充分利用编码比特。同时由于避免了对同一位置的多个脉冲进行分别编码,使得本发明实施例进行位置合并后编码的方法具有节省编码比特的优势,并且随着轨道上编码脉冲数目的增加,脉冲位置发生重叠的几率也随之增加,本发明实施例方法的优势愈加明显。
为更好的理解第二编码方式中编码索引的构造方式,下面举出一些实际的例子来进行说明。假设轨道上的位置总数M=16,且有脉冲位置的数目pos_num与第一索引I1为一一对应的关系:
例一、编码个带符号脉冲,编码索引结构如图7所示。
编码索引Index(6)共有21个比特,即Index(6)∈[0,221-1],图7中分别表示出pos_num的不同取值情况下,Index(6)所包含的各部分索引所占用的比特数。为清楚起见,以下用I1(N)、I2(N)、I3(N)、I23(N)分别表示N为特定取值下的该索引。I1(N)的确定采用映射方式,分别为,
I1(1)=0x1F0000,I1(2)=0x1E0000,I1(3)=0x1D0000,
I1(4)=0x180000,I1(5)=0x000000,I1(6)=0x100000。
下面对图7进行具体分析说明。
①6个脉冲在1个位置上时,N=1,SU(1)的可能组合如图8所示;
W(1)=16,I2(1)∈[0,15],
SU(1)={6},Class(1)=1,I3(1)=0,
因此I23(1)=I2(1)∈[0,15];
一个符号索引s(0)占用末尾的1个比特,
I1(1)提供给I23(1)的编码空间长度为[221-I1(1)]/21=32768,显然足够使用。
②6个脉冲在2个位置上时,N=2,SU(2)的可能组合如图9所示;
W(2)=120,I2(2)∈[0,119],
SU(2)={5,1},{4,2},{3,3},{2,4},{1,5};Class(2)=5,I3(2)∈[0,4],
因此I23(2)=I3(2)×120+I2(2)∈[0,599];
两个符号索引s(0)、s(1)占用末尾的2个比特,
I2(2)提供给I23(2)的编码空间长度为[I1(1)-I1(2)]/22=16384,显然足够使用。
③6个脉冲在3个位置上时,N=3,SU(3)的可能组合如图10所示;
W(3)=560,I2(3)∈[0,559],
SU(3)={4,1,1},{1,4,1},{1,1,4},{3,2,1},{3,1,2},{2,3,1},{2,1,3},{1,3,2},{1,2,3},{2,2,2};Class(3)=10,I3(3)∈[0,9],
因此I23(3)=I3(3)×560+I2(3)∈[0,5599];
三个符号索引s(0)~s(2)占用末尾的3个比特,
I2(3)提供给I23(3)的编码空间长度为[I1(2)-I1(3)]/23=8192,显然足够使用。
④6个脉冲在4个位置上时,N=4,SU(4)的可能组合如图11所示;
W(4)=1820,I2(4)∈[0,1819],
SU(4)={3,1,1,1},{1,3,1,1},{1,1,3,1},{1,1,1,3},{2,2,1,1},{2,1,2,1},{2,1,1,2},{1,2,2,1},{1,2,1,2},{1,1,2,2};Class(4)=10,I3(4)∈[0,9],
因此I23(4)=I3(4)×1820+I2(4)∈[0,18199];
四个符号索引s(0)~s(3)占用末尾的4个比特,
I2(4)提供给I23(4)的编码空间长度为[I1(3)-I1(4)]/24=20480,显然足够使用。
⑤6个脉冲在5个位置上时,N=5,SU(5)的可能组合如图12所示;
W(5)=4368,I2(5)∈[0,4367],
SU(5)={2,1,1,1,1},{1,2,1,1,1},{1,1,2,1,1},{1,1,1,2,1},{1,1,1,1,2};Class(5)=5,I3(5)∈[0,4],
因此I23(5)=I3(5)×4368+I2(5)∈[0,21839];
五个符号索引s(0)~s(4)占用末尾的5个比特,
I2(5)提供给I23(5)的编码空间长度为[I1(6)-I1(5)]/25=32768,显然足够使用。
⑥6个脉冲在6个位置上时,N=6,SU(6)的可能组合如图13所示;
W(6)=8008,I2(6)∈[0,8007],
SU(6)={1,1,1,1,1,1},Class(6)=1,I3(6)=0,
因此I23(6)=I2(6)∈[0,8007];
六个符号索引s(0)~s(5)占用末尾的6个比特,
I2(6)提供给I23(6)的编码空间长度为[I1(4)-I1(6)]/26=8192,显然足够使用。
编码索引Index(5)共有19个比特,即Index(5)∈[0,219-1]。图14中分别表示出pos_num的不同取值情况下,Index(5)所包含的各部分索引所占用的比特数。I1(N)的确定采用映射方式,分别为,
I1(1)=0x78000,I1(2)=0x70000,I1(3)=0x60000,
I1(4)=0x40000,I1(5)=0x00000。
对图14的具体分析可仿照图7进行,在此不再赘述。
编码索引Index(4)共有16个比特,即Index(4)∈[0,216-1]。图15中分别表示出pos_num的不同取值情况下,Index(4)所包含的各部分索引所占用的比特数。I1(N)的确定采用映射方式,分别为,
I1(1)=0xE000,I1(2)=0xC000,I1(3)=0x8000,I1(4)=0x0000。
对图15的具体分析可仿照图7进行,在此不再赘述。
编码索引Index(3)共有13个比特,即Index(3)∈[0,213-1]。图16中分别表示出pos_num的不同取值情况下,Index(3)所包含的各部分索引所占用的比特数。I1(N)的确定采用映射方式,分别为,
I1(1)=0x1C00,I1(2)=0x1800,I1(3)=0x0000。
对图16的具体分析可仿照图7进行,在此不再赘述。
编码索引Index(2)共有9个比特,即Index(2)∈[0,29-1]。图17中分别表示出pos_num的不同取值情况下,Index(2)所包含的各部分索引所占用的比特数。I1(N)的确定采用映射方式,分别为,
I1(1)=0x1E0,I1(2)=0x000。
对图17的具体分析可仿照图7进行,在此不再赘述。
编码索引Index(1)共有5个比特,即Index(1)∈[0,25-1]。由于N≡1,因此图18中,Index(2)仅包含索引I23(1)=I2(1),以及p(0)的符号索引s(0)。
实施例四、一种编码方法,本实施例采用与实施例三相同的编码逻辑,本实施例主要是提供一种在第二编码方式中对第二索引I2的计算方法,使得便于通过代数计算来确定有脉冲位置在轨道上的分布:P(N)={p(0),p(1),...,p(N-1)}与I2的对应关系。
本实施例中I2的计算方法是,按照设定的顺序,对第一索引I1对应的有脉冲位置的数目N下,P(N)全部可能的情况进行排列,以排列的序号作为指示相应分布情况的第二索引I2。
“设定的顺序”可理解为编解码双方按照同样的排序计算规则,所确定的P(N)全部可能情况的顺序。本实施例中提供如下排序计算规则:
由于P(N)不同的情况是通过所包含的不同数值组合来体现,因此不妨对P(N)中包含的各个位置序号进行排列,令:
p(0)<p(1)<...<p(N-1),或者p(0)>p(1)>...>p(N-1);
假设采用前者,则有:p(0)∈[0,M-N],p(n)∈[p(n-1)+1,M-N+n],M为轨道上的位置总数。然后对P(N)不同的情况依次比较各个维度的大小,按照从小到大或者从大到小的顺序对所有可能的P(N)进行排序。
假设采用从小到大的排序方式,并从0开始对排序后的P(N)进行编号,则:
其中“C”表示求组合数;Σ表示求和。上式的含义可解释为:表示第1个脉冲位于p(0)之前的P(N)情况总数;表示第1个脉冲位于p(0)时,第2个脉冲位于p(1)之前的P(N)情况总数;的含义可类推。需要说明的是,上述公式只是I2与P(N)间计算关系的一种表现形式,根据相同的排序规则,还可等价的以其他数学形式来描述该计算关系;若采用不同的排序规则,也可相应的设计出类似的计算关系,具体计算关系的表述方式不构成对本发明实施例的限定。
为更好的理解上述I2的计算方法,可假设一个脉冲相对位置矢量X(N)={x(1),x(2),...,x(N)},X(N)与P(N)有如下一一对应关系:
x(1)=p(0);
x(i)=p(i-1)-p(i-2);
x(i)表示的是第i个有脉冲位置与第i-1个有脉冲位置之间的相对位置关系,i∈[1,N]。利用X(N)可将P(N)所有可能的情况构造在一个N层树结构中,树的深度为N+1,树第i层的子节点表示第i个有脉冲位置的相对位置值x(i)。按照从左到右从小到大的顺序放置x(i)的取值,然后在树的底层,即末节点处从左到右依次对各个末节点进行编码。每个末节点到根节点的路径对应X(N)的一种情况,因此每个末节点的编码即为指示相应P(N)情况的第二索引I2。
下面举出一些实际的例子来进行说明,假设轨道上的位置总数M=16。
例一、有脉冲位置的数目pos_num的值N=2,树结构如图19所示。
例二、有脉冲位置的数目pos_num的值N=3,树结构如图20所示。
当N=4、5、6时,对应的树结构类似,I2的计算公式可类推,不再赘述。
本实施例提供了一种以计算关系获得第二索引I2的方法,由于I2在编码索引中所占数据量较大,因此采用本实施例计算方法能够尽量减少编解码双方的存储量。同时,由于I2连续编码且与P(N)严格一一对应,因此能够最大限度的利用编码比特,避免浪费。
下面,对上述第一编码方式和第二编码方式中编码索引构造方式的优势进行分析。理论上,同一轨道上需要编码的脉冲总数pulse_num一定的前提下,所有脉冲在轨道上的全部可能的排列组合数,就是编码索引的最小取值范围,由此对应的编码比特数即为理论下限值,当排列组合数为2的整数次方时,编码比特数的理论下限值为整数,当排列组合数不能表示为2的整数次方时,编码比特数的理论下限值为小数,此时,存在一定的编码冗余。轨道上的位置总数M=16时,在不同的pulse_num取值下,对编码比特数的理论下限值、采用AMR_WB+编码方式需要的编码比特数,以及采用第一编码方式和第二编码方式中编码索引构造方式需要的比特数进行对比,如表1所示:
表1
由表1对比可以得知,第二编码方式的编码索引构造方式能够在理论下限值为整数时,达到理论下限值;在理论下限值为小数时,达到理论下限值的整数部分加一。第一编码方式在时具有与第二编码方式相同的编码比特长度。该两种编码方式在高码率的情形下,编码效率比AMR_WB+要高,即更加节省比特。
在计算复杂度方面,以AVS-M移动音频标准的参考代码中的全部测试序列为测试对象,对AMR_WB+、第一编码方式和第二编码方式的运行时间统计进行进行对比(遍历所有样本空间,包括编码和解码过程,第一编码方式采用实施例二中的计算方式,第二编码方式采用实施例四中的计算方式,解码采用后续实施例中提供的相应方式),如表2所示:
表2
由表2对比可以得知,第一编码方式在大多数情况下具有较低的运算复杂度,第二编码方式的运算复杂度则与AMR_WB+方式相当。通过表1和表2可以看出,综合使用第一编码方式和第二编码方式,在时利用第一编码方式的低计算复杂度,在其他情况下利用第二编码方式的低编码比特长度能够达到良好的效果。
下面对本发明实施例的解码方法进行详细说明。
实施例五、一种解码方法,本实施例提供的解码方法对按照实施例一编码方法获得的编码索引进行解码,解码过程为编码过程的反过程,如图21所示,包括:
若编码的是带符号脉冲,则还需要从中提取出与各个脉冲对应的符号索引ss(h)。由于不同码率下,编码索引的总比特数不同,因此解码方可直接根据编码索引的长度(比特数),确定出同一轨道上编码的脉冲总数然后根据从中提取相应数目的符号索引ss(h)。按照实施例一中提供的结构,个符号索引位于末尾,因此可直接从中分离出各个ss(h)。
解码I4采用与编码I4相反的过程,若I4在编码时采用计算关系获得,则在解码时利用同样的计算关系进行逆运算即可;若I4在编码时采用查询关系获得,则在解码时查询相同的对应关系即可。
对于带符号脉冲的情形,在重建轨道上的脉冲序列时,还按照各个符号索引ss(h)携带的脉冲符号信息,恢复各个脉冲的脉冲符号的正或负的特性。
实施例六、一种解码方法,本实施例采用与实施例五相同的解码逻辑,本实施例主要是提供一种对按照实施例二编码方法获得的分布索引I4进行解码的计算方法,即提供实施例二中I4的计算方法在解码方的逆计算方法。
对于在编码时,按照:
①按照q(0)从小到大的顺序依次计算其中,q(0)∈[0,M],M为轨道上的位置总数,为同一轨道上编码的脉冲总数,,“C”表示求组合数;记录最后一个令T[q(0)]大于零的q(0)值作为轨道上第1个脉冲的位置序号v0;
实施例七、一种解码方法,本实施例提供的解码方法对按照实施例三编码方法获得的编码索引进行解码,解码过程为编码过程的反过程,如图22所示,包括:
解码方可直接根据编码索引的长度(比特数),确定出同一轨道上编码的脉冲总数当然,解码方也可以通过与编码方约定的方式在接收编码索引前即获知编码索引对应的(例如在接收编码索引前通过双方的信息交互获知),本实施例对的具体获知方式不做限定。
本文中将实施例五所描述的解码方式称为第一解码方式。可选的解码方式除了第一解码方式之外,还可以包括其他形式的解码方式,各种可选的解码方式需要与编码方提供的编码方式对应。本实施例中将具体提供与前述第二编码方式对应的第二解码方式。
解码方应采用与编码方相应的规则来选择解码方式,确保编解码方式的一致性。
D3、根据解码方式选择的结果,在确定选择第一解码方式之后,按照第一解码方式进行解码。执行所述从编码索引中提取出分布索引的步骤。
具体解码过程可参照实施例五中的描述执行。
D4、根据解码方式选择的结果,在确定选择第二解码方式之后,按照第二解码方式进行解码,包括如下步骤:
由于不同码率下,编码索引的总比特数不同,因此解码方可直接根据编码索引的长度(比特数),确定出同一轨道上编码的脉冲总数
若采用实施例三中提供的以I1作为起始值叠加其他索引的结构,则可先提取出I1,按照与I1对应的pos_num的值N确定其他索引在中的位置。在这种情况下,由于一个I1对应的一个独立取值范围,因此,解码方可从设定的若干个独立的取值范围中,判断所属的取值范围,按照该所属的取值范围对应的起始值确定第一索引I1。
②按照如下方式分离出I2、I3,
I2=I23%W(N),I3=Int[I23/W(N)];
其中,W(N)为pos_num=N下,P(N)全部可能的情况的总数, M是轨道上的位置总数;%表示取余数;Int表示取整。
D44、按照第二索引I2确定,在pos_num=N下,有脉冲位置在轨道上的分布P(N);
解码I2采用与编码I2相反的过程,若I2在编码时采用计算关系获得,则在解码时利用同样的计算关系进行逆运算即可;若I2在编码时采用查询关系获得,则在解码时查询相同的对应关系即可。
D45、按照第三索引I3确定各个有脉冲位置上的脉冲数目SU(N);解码I3的原则与I2类似。
D46、按照有脉冲位置在轨道上的分布P(N)和各个有脉冲位置上的脉冲数目SU(N),重建轨道上的脉冲序列。
对于带符号脉冲的情形,在重建轨道上的脉冲序列时,还按照各个符号索引s(n)携带的脉冲符号信息,恢复各个有脉冲位置的脉冲符号的正或负的特性。
实施例八、一种解码方法,本实施例采用与实施例七相同的解码逻辑,本实施例主要是提供一种在第二解码方式中对按照实施例四编码方法获得的第二索引I2,进行解码的计算方法,即提供实施例四中I2的计算方法的在解码方的逆计算方法。
对于在编码时,按照 得到的I2,在解码时采用:
①从I2中逐个减去
直到I2的余值R(y0)由正数变为负数;其中,M为轨道上的位置总数,N为有脉冲位置的数目,y0∈[1,M-N+1],“C”表示求组合数;记录轨道上第1个有脉冲位置的位置序号p(0)=y0-1;
②若N>1,则继续从R[p(0)]中逐个减去 直到R[p(0)]的余值R1(x1)由正数变为负数;记录轨道上第2个有脉冲位置的位置序号p(1)=y1-1;
③以此类推,从R(n-1)[p(n-1)]中逐个减去 直到R(n-1)[p(n-1)]的余值Rn(yn)由正数变为负数;其中,n≤N-1;记录轨道上第n+1个有脉冲位置的位置序号p(n)=yn-1。
④解码I2完成,获得P(N)={p(0),p(1),...,p(N-1)}。
应当理解,实现本发明编解码方法的软件可以存储于计算机可读介质中。
编码软件的在执行时,包括如下步骤:对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;确定分布索引,所述分布索引按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的分布索引;生成编码索引,所述编码索引包括所述分布索引的信息。
解码软件的在执行时,包括如下步骤:接收编码索引;从所述编码索引中提取出分布索引;按照所述分布索引确定各个脉冲的位置在轨道上的分布;按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
所述的可读介质,如:ROM/RAM、磁碟、光盘等。
下面对本发明实施例的编解码器进行详细说明。
实施例九、一种编码器10,如图23所示,包括:
第一统计单元11,用于对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;在对带符号脉冲进行统计时,第一统计单元11还按照各个脉冲的脉冲符号的正或负的特性,输出与各个脉冲对应的符号索引的信息,所述符号索引指示与该索引对应的脉冲的脉冲符号信息;
分布索引单元12,用于按照确定分布索引I4,I4按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的I4;
本实施例编码装置可用于实施例一和二提供的编码方法中。
实施例十、一种编码器20,如图24所示,包括第一编码模块21、第二编码模块22和编码选择单元23,
编码选择单元23,用于确定同一轨道上需要编码的脉冲总数根据进行编码方式选择,本实施例中可选编码方式包括第一编码方式和第二编码方式;根据所述编码方式选择的结果,在确定选择第一编码方式之后触发第一编码模块21开始执行编码,在确定选择第二编码方式之后触发第二编码模块22开始执行编码。
第一编码模块21包括第一统计单元211、分布索引单元212、索引生成单元213,与实施例九中的同名单元逻辑结构相同。
第二编码模块22包括:
第二统计单元221,用于对轨道上需要编码的脉冲按照位置进行统计,输出有脉冲位置的数目N、有脉冲位置在轨道上的分布P(N)和各个有脉冲位置上的脉冲数目SU(N);在对带符号脉冲进行统计时,第二统计单元221还按照各个有脉冲位置的脉冲符号的正或负的特性,输出相应的脉冲符号信息S(N);
索引计算单元222,包括:
第一索引单元2221,用于按照有脉冲位置的数目N输出第一索引I1,I1对应于相同有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况;
第二索引单元2222,用于按照有脉冲位置在轨道上的分布P(N)输出第二索引I2,I2从所述第一索引对应的全部可能的分布情况中,指示与当前有脉冲位置的分布对应的分布情况;
第三索引单元2223,用于按照各个有脉冲位置上的脉冲数目SU(N)输出第三索引I3;
索引组合单元223,用于组合所述第一、二、三索引的信息生成编码索引;在编码带符号脉冲时,索引组合单元223还将与各个有脉冲位置对应的符号索引的信息S(N),组合到所述编码索引中,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
在按照实施例三中第二编码方式提供的编码索引结构进行编码时,索引组合单元223可采用如下结构,包括:
第一组合单元2231,用于输出组合为I23的第二、三索引,
I23=I3×W(N)+I2;
其中,W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数。
本实施例编码装置可用于实施例三和四提供的编码方法中。
实施例十一、一种解码器30,如图25所示,包括:
分布重建单元34,用于按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
在解码带符号脉冲时,解码器还需要包括:
本实施例解码装置可用于实施例五和六提供的解码方法中。
实施例十二、一种解码器40,如图26所示,包括第一解码模块41、第二解码模块42和解码选择单元43:
解码选择单元43,用于确定接收的编码索引在同一轨道上编码的脉冲总数根据进行解码方式选择,本实施例中可选解码方式包括第一解码方式和第二解码方式;根据所述解码方式选择的结果,在确定选择第一解码方式之后触发第一解码模块41开始执行解码,在确定选择第二解码方式之后触发第二解码模块42开始执行解码。
第一解码模块41包括分布提取单元412、分布解码单元413、分布重建单元414、符号提取单元415,与实施例十一中的同名单元逻辑结构相同。
第二解码模块42包括:
在对实施例三中第二编码方式提供的编码索引结构进行解码时,第二提取单元422可采用如下结构,包括:
分离子单元4221,用于从编码索引中提取出第二、三索引的组合值I23;
解析子单元4222,用于按照如下方式分离输出第二、三索引I2、I3,
I2=I23%W(N),I3=Int[I23/W(N)];
其中W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数;%表示取余数;Int表示取整。
第一解码单元423,用于按照第二索引I2确定,在I1对应的有脉冲位置的数目N下,有脉冲位置在轨道上的分布P(N);
第二解码单元424,用于按照第三索引I3确定各个有脉冲位置上的脉冲数目SU(N);
脉冲重建单元425,用于按照有脉冲位置在轨道上的分布P(N)和各个有脉冲位置上的脉冲数目SU(N),重建轨道上的脉冲序列。
在解码带符号脉冲时,解码器还需要包括:
此时,脉冲重建单元425可采用如下结构,包括:
第一重建单元4251,用于按照有脉冲位置在轨道上的分布P(N)和与各个有脉冲位置对应的符号索引s(n),恢复各个有脉冲位置的脉冲符号的正或负的特性;
第二重建单元4252,用于按照第一重建单元251输出的各个带符号的有脉冲位置的分布,和各个有脉冲位置上的脉冲数目SU(N),重建轨道上的脉冲序列。
本实施例解码装置可用于实施例七和八提供的解码方法中。
为更好的理解上述实施例,以下给出具体的编解码实例,编码采用实施例三编码方法(第一编码方式采用实施例二计算方法,第二编码方式采用实施例四计算方法),解码相应的采用实施例七解码方法(第一解码方式采用实施例六计算方法,第二解码方式采用实施例八计算方法),假设第一编/解码方式的选择条件为,轨道上总位置数目M=16。
例一、对图8所示的脉冲搜索结果进行编解码。
A、编码
②统计N、P(N)、SU(N)、S(N)
N=1;
P(1)={p(0)}={2};
SU(1)={su(0)}={6};
S(1)={s(0)}={0};
③编码I1、I2、I3、I23
按照N=1,由图7可知,I1=0x1F0000;
按照实施例四计算方法,I2=2;
Class(1)=1,I3=0;因此I23=I2=2;
B、解码
②提取I1、s(n)、I23
③解码I23
按照N=1,
I3=Int[I23/W(1)]=0,对应SU(1)唯一的一种情况:SU(1)={6};
I2=I23% W(1)=2;按照实施例八计算方法,P(1)={p(0)}={2};
④恢复脉冲序列
由P(1)={2}、SU(1)={6}、s(0)=0知,在位置“2”上有“6”个“正”脉冲。解码过程完毕。
例二、对图27所示的脉冲搜索结果进行编解码。
A、编码
Q(5)={q(0),q(1),q(2),q(3),q(4)}={1,1,4,6,6};
SS(5)={ss(0),ss(1),ss(2),ss(3),ss(4)}={0,0,0,0,0};
③编码I4
按照实施例二计算方法,
Index(5)=I4×25+ss(0)×24+ss(1)×24+...+ss(4)
=4215×25+0
=0x20EE0
B、解码
分离出I4,;
③解码I4
按照实施例六计算方法,Q(5)={1,1,4,6,6};
④恢复脉冲序列
由Q(5)={1,1,4,6,6}、ss(0)~ss(4)=0知,在位置“1”上有“2”个“正”脉冲,在位置“4”上有“1”个“正”脉冲,在位置“6”上有“2”个“正”脉冲。解码过程完毕。
通过上述实施例可以看出,本发明实施例采用对需要进行编码的脉冲按照脉冲的位置在轨道上的分布进行排序并编码的方法,能够有效降低计算复杂度,同时由于按照排序进行编码,不同的脉冲分布情况对应连续的编码,能够尽可能的降低编码的冗余度,节省编码比特。进一步的,综合采用本发明实施例中提供的第一和第二编/解码方式,使两种编码方式在不同下的优势相互补充,效果愈加明显。
以上对本发明所提供的编解码方法及编解码器进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。
Claims (36)
1、一种编码方法,其特征在于,包括:
对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;
确定分布索引,所述分布索引按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的分布索引;
生成编码索引,所述编码索引包括所述分布索引的信息。
2、根据权利要求1所述的编码方法,其特征在于:
所述对轨道上需要编码的脉冲按照位置进行统计时,还按照各个脉冲的脉冲符号的正或负的特性,获得相应的脉冲符号信息;
所述编码索引还包括与各个脉冲对应的符号索引的信息,所述符号索引指示与该索引对应的脉冲的脉冲符号信息。
5、根据权利要求1~4任意一项所述的编码方法,其特征在于,还包括:
确定同一轨道上需要编码的脉冲总数;
根据所述同一轨道上需要编码的脉冲总数进行编码方式选择,所述编码方式包括第一编码方式;
根据所述编码方式选择的结果,在确定选择第一编码方式之后,执行所述对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息的步骤。
6、根据权利要求5所述的编码方法,其特征在于,所述根据同一轨道上需要编码的脉冲总数进行编码方式选择的步骤包括:当所述同一轨道上需要编码的脉冲总数为3或4或5时,确定选择第一编码方式。
7、根据权利要求5所述的编码方法,其特征在于,所述编码方式还包括第二编码方式,所述编码方法还包括:
根据所述编码方式选择的结果,在确定选择第二编码方式之后,按照如下步骤执行所述第二编码方式:
对轨道上需要编码的脉冲按照位置进行统计,获得有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目;
按照有脉冲位置的数目确定第一索引,所述第一索引对应于相同有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况;
按照有脉冲位置在轨道上的分布确定第二索引,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示与当前有脉冲位置的分布对应的分布情况;
按照各个有脉冲位置上的脉冲数目确定第三索引;
生成编码索引,所述编码索引包括所述第一、二、三索引的信息。
8、根据权利要求7所述的编码方法,其特征在于:
所述对轨道上需要编码的脉冲按照位置进行统计时,还按照各个有脉冲位置的脉冲符号的正或负的特性,获得相应的脉冲符号信息;
所述编码索引还包括与各个有脉冲位置对应的符号索引的信息,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
9、根据权利要求7所述的编码方法,其特征在于:所述生成编码索引是,以第一索引为起始值,叠加其他索引的信息;所述第一索引的一个取值对应于编码索引的一个独立的取值范围。
10、根据权利要求9所述的编码方法,其特征在于:所述有脉冲位置的数目与第一索引为一一对应的关系;
所述轨道上共有16个位置,需要编码的脉冲数目为6,有脉冲位置的数目分别为1、2、3、4、5、6时,与其顺序一一对应的第一索引以十六进制表示分别为1F0000、1E0000、1D0000、180000、000000、100000;或者,
所述轨道上共有16个位置,需要编码的脉冲数目为5,有脉冲位置的数目分别为1、2、3、4、5时,与其顺序一一对应的第一索引以十六进制表示分别为78000、70000、60000、40000、00000;或者,
所述轨道上共有16个位置,需要编码的脉冲数目为4,有脉冲位置的数目分别为1、2、3、4时,与其顺序一一对应的第一索引以十六进制表示分别为E000、C000、8000、0000;或者,
所述轨道上共有16个位置,需要编码的脉冲数目为3,有脉冲位置的数目分别为1、2、3时,与其顺序一一对应的第一索引以十六进制表示分别为1C00、1800、0000;或者,
所述轨道上共有16个位置,需要编码的脉冲数目为2,有脉冲位置的数目分别为1、2时,与其顺序一一对应的第一索引以十六进制表示分别为1E0、000。
11、根据权利要求9所述的编码方法,其特征在于:在以第一索引为起始值,叠加其他索引的信息时,第二、三索引组合为如下形式进行叠加:
I3×W(N)+I2;
其中,I2、I3分别为第二索引和第三索引;W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数。
12、根据权利要求7所述的编码方法,其特征在于,所述按照有脉冲位置在轨道上的分布确定第二索引,是按照如下方式进行第二索引的计算:
按照设定的顺序,对第一索引对应的有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的第二索引。
13、根据权利要求12所述的编码方法,其特征在于,所述按照设定的顺序,对第一索引对应的有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况进行排列,按照如下方式进行:
将有脉冲位置在轨道上的分布对应为一个N维脉冲位置矢量P(N),
P(N)={p(0),p(1),...,p(N-1)};
其中,N为有脉冲位置的数目;p(n)表示有脉冲位置在轨道上的位置序号,n∈[0,N-1];p(0)<p(1)<...<p(N-1),或者p(0)>p(1)>...>p(N-1);
依次比较脉冲位置矢量各个维度的大小,按照从小到大或者从大到小的顺序对N维下全部可能的脉冲位置矢量进行排序。
14、根据权利要求13所述的编码方法,其特征在于,第二索引的计算公式为:
其中,M为轨道上的位置总数;p(0)∈[0,M-N],p(n)∈[p(n-1)+1,M-N+n];“C”表示求组合数;∑表示求和。
15、一种解码方法,其特征在于,包括:
接收编码索引;
从所述编码索引中提取出分布索引;
按照所述分布索引确定各个脉冲的位置在轨道上的分布;
按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
16、根据权利要求15所述的解码方法,其特征在于,还包括:
从所述编码索引中提取出与各个脉冲对应的符号索引,所述符号索引指示与该索引对应的脉冲的脉冲符号信息;
在重建轨道上的脉冲序列时,还按照所述脉冲符号信息,恢复各个脉冲的脉冲符号的正或负的特性。
17、根据权利要求15所述的解码方法,其特征在于,所述按照分布索引I4确定各个脉冲的位置在轨道上的分布采用:
按照q(0)从小到大的顺序依次计算其中,q(0)∈[0,M],M为轨道上的位置总数,为同一轨道上编码的脉冲总数, “C”表示求组合数;记录最后一个令T[q(0)]大于零的q(0)值作为轨道上第1个脉冲的位置序号v0;
18、根据权利要求15~17任意一项所述的解码方法,其特征在于,还包括:
确定所述接收的编码索引在同一轨道上编码的脉冲总数;
根据所述同一轨道上编码的脉冲总数进行解码方式选择,所述解码方式包括第一解码方式;
根据所述解码方式选择的结果,在确定选择第一解码方式之后,执行所述从编码索引中提取出分布索引的步骤。
19、根据权利要求18所述的解码方法,其特征在于,所述根据同一轨道上编码的脉冲总数进行解码方式选择的步骤包括:当所述同一轨道上编码的脉冲总数为3或4或5时,确定选择第一解码方式。
20、根据权利要求19所述的解码方法,其特征在于,所述解码方式还包括第二解码方式,所述解码方法还包括:
根据所述解码方式选择的结果,在确定选择第二解码方式之后,按照如下步骤执行所述第二解码方式:
从所述编码索引中提取出第一索引,按照第一索引确定有脉冲位置的数目;
从所述编码索引中提取出第二、三索引;
按照第二索引确定,在所述第一索引对应的有脉冲位置的数目下,有脉冲位置在轨道上的分布;
按照第三索引确定各个有脉冲位置上的脉冲数目;
按照有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,重建轨道上的脉冲序列。
21、根据权利要求20所述的解码方法,其特征在于:在确定有脉冲位置的数目后,还从所述编码索引中提取出与各个有脉冲位置对应的符号索引,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息;
在重建轨道上的脉冲序列时,还按照所述脉冲符号信息,恢复各个有脉冲位置的脉冲符号的正或负的特性。
22、根据权利要求20所述的解码方法,其特征在于,所述从编码索引中提取出第一索引采用:从设定的若干个独立的取值范围中,判断所述编码索引所属的取值范围,按照该所属的取值范围对应的起始值确定所述第一索引。
23、根据权利要求22所述的解码方法,其特征在于,所述从编码索引中提取出第二、三索引采用:从编码索引中提取出第二、三索引的组合值I23,按照如下方式分离出第二、三索引,
I2=I23%W(N),I3=Int[I23/W(N)];
其中,I2、I3分别为第二索引和第三索引;W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数;%表示取余数;Int表示取整。
24、根据权利要求20所述的解码方法,其特征在于,所述按照第二索引确定有脉冲位置在轨道上的分布采用:
从第二索引I2中逐个减去直到I2的余值R(y0)由正数变为负数;其中,M为轨道上的位置总数,N为有脉冲位置的数目,y0∈[1,M-N+1],“C”表示求组合数;记录轨道上第1个有脉冲位置的位置序号p(0)=y0-1;
若N>1,则继续从R[p(0)]中逐个减去 直到R[p(0)]的余值R1(y1)由正数变为负数;记录轨道上第2个有脉冲位置的位置序号p(1)=y1-1;
25、一种编码器,其特征在于,包括:
第一统计单元,用于对轨道上需要编码的脉冲按照位置进行统计,获得各个脉冲的位置在轨道上的分布信息;
分布索引单元,用于确定分布索引,所述分布索引按照如下方式进行计算:按照设定的顺序,对当前脉冲数目下,各个脉冲的位置在轨道上全部可能的分布情况进行排列,以排列的序号作为指示相应分布情况的分布索引;
索引生成单元,用于生成编码索引,所述编码索引包括所述分布索引的信息。
26、根据权利要求25所述的编码器,其特征在于:所述第一统计单元还按照各个脉冲的脉冲符号的正或负的特性,输出与各个脉冲对应的符号索引的信息,所述符号索引指示与该索引对应的脉冲的脉冲符号信息;所述索引生成单元还将与各个脉冲对应的符号索引的信息,组合到所述编码索引中。
27、根据权利要求25或26所述的编码器,其特征在于,还包括:
编码选择单元,用于确定同一轨道上需要编码的脉冲总数;根据所述同一轨道上需要编码的脉冲总数进行编码方式选择,所述编码方式包括第一编码方式;根据所述编码方式选择的结果,在确定选择第一编码方式之后,触发所述第一统计单元开始执行编码。
28、根据权利要求27所述的编码器,其特征在于,还包括:
第二统计单元,用于对轨道上需要编码的脉冲按照位置进行统计,输出有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目;
索引计算单元,所述索引计算单元包括:第一索引单元,用于按照有脉冲位置的数目输出第一索引,所述第一索引对应于相同有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况;第二索引单元,用于按照有脉冲位置在轨道上的分布输出第二索引,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示与当前有脉冲位置的分布对应的分布情况;第三索引单元,用于按照各个有脉冲位置上的脉冲数目输出第三索引;
索引组合单元,用于组合所述第一、二、三索引的信息生成编码索引;
所述编码选择单元可选择的编码方式还包括第二编码方式,所述编码选择单元根据所述编码方式选择的结果,在确定选择第二编码方式之后,触发所述第二统计单元开始执行编码。
29、根据权利要求28所述的编码器,其特征在于:所述第二统计单元还按照各个有脉冲位置的脉冲符号的正或负的特性,输出相应的脉冲符号信息;所述索引组合单元还将与各个有脉冲位置对应的符号索引的信息,组合到所述编码索引中,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息。
30、根据权利要求28所述的编码器,其特征在于,所述索引组合单元包括:
第一组合单元,用于输出组合为如下形式的第二、三索引,
I3×W(N)+I2;
其中,I2、I3分别为第二索引和第三索引;W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数;
第二组合单元,用于将所述第一组合单元的输出与其他索引的信息叠加,输出编码索引。
31、一种解码器,其特征在于,包括:
输入单元,用于接收编码索引;
分布提取单元,用于从所述编码索引中提取出分布索引;
分布解码单元,用于按照所述分布索引确定各个脉冲的位置在轨道上的分布;
分布重建单元,用于按照各个脉冲的位置在轨道上的分布重建轨道上的脉冲序列。
32、根据权利要求31所述的解码器,其特征在于,还包括:
符号提取单元,用于按照同一轨道上编码的脉冲总数,从所述编码索引中提取出与各个脉冲对应的符号索引,所述符号索引指示与该索引对应的脉冲的脉冲符号信息;
所述分布重建单元还按照所述脉冲符号信息,恢复各个脉冲的脉冲符号的正或负的特性。
33、根据权利要求31或32所述的解码器,其特征在于,还包括:
解码选择单元,用于确定所述接收的编码索引在同一轨道上编码的脉冲总数;根据所述同一轨道上编码的脉冲总数进行解码方式选择,所述解码方式包括第一解码方式;根据所述解码方式选择的结果,在确定选择第一解码方式之后,触发所述分布提取单元开始执行解码。
34、根据权利要求33所述的解码器,其特征在于,还包括:
第一提取单元,用于接收编码索引,从所述编码索引中提取出第一索引,按照第一索引确定有脉冲位置的数目;
第二提取单元,用于从所述编码索引中提取出第二、三索引;
第一解码单元,用于按照第二索引确定,在所述第一索引对应的有脉冲位置的数目下,有脉冲位置在轨道上的分布;
第二解码单元,用于按照第三索引确定各个有脉冲位置上的脉冲数目;
脉冲重建单元,用于按照有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,重建轨道上的脉冲序列;
所述解码选择单元可选择的解码方式还包括第二解码方式,所述解码选择单元根据所述解码方式选择的结果,在确定选择第二解码方式之后,触发所述第一提取单元开始执行解码。
35、根据权利要求34所述的解码器,其特征在于,还包括:第三提取单元,用于按照有脉冲位置的数目,从所述编码索引中提取出与各个有脉冲位置对应的符号索引,所述符号索引指示与该索引对应的有脉冲位置的脉冲符号信息;
所述脉冲重建单元包括:第一重建单元,用于按照有脉冲位置在轨道上的分布和与各个有脉冲位置对应的符号索引,恢复各个有脉冲位置的脉冲符号的正或负的特性;第二重建单元,用于按照各个带符号的有脉冲位置的分布和各个有脉冲位置上的脉冲数目,重建轨道上的脉冲序列。
36、根据权利要求34所述的解码器,其特征在于,所述第二提取单元包括:分离子单元,用于从编码索引中提取出第二、三索引的组合值I23;
解析子单元,用于按照如下方式分离输出第二、三索引,
I2=I23%W(N),I3=Int[I23/W(N)];
其中,I2、I3分别为第二索引和第三索引;W(N)为第一索引对应的有脉冲位置的数目N下,有脉冲位置在轨道上全部可能的分布情况的总数;%表示取余数;Int表示取整。
Priority Applications (19)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101539527A CN101388210B (zh) | 2007-09-15 | 2007-09-15 | 编解码方法及编解码器 |
ES08734199.6T ES2529292T3 (es) | 2007-04-29 | 2008-04-29 | Método de codificación y de decodificación |
DK14184929.9T DK2827327T3 (da) | 2007-04-29 | 2008-04-29 | Fremgangsmåde til excitationsimpulskodning |
EP14184929.9A EP2827327B1 (en) | 2007-04-29 | 2008-04-29 | Method for Excitation Pulse Coding |
PT141849299T PT2827327T (pt) | 2007-04-29 | 2008-04-29 | Método para codificação de impulsos de excitação |
JP2010504431A JP5221642B2 (ja) | 2007-04-29 | 2008-04-29 | 符号化法、復号化法、符号器、および復号器 |
EP08734199.6A EP2157573B1 (en) | 2007-04-29 | 2008-04-29 | An encoding and decoding method |
PCT/CN2008/070841 WO2008134974A1 (fr) | 2007-04-29 | 2008-04-29 | Procédé de codage et de décodage, codeur et décodeur |
ES14184929T ES2817906T3 (es) | 2007-04-29 | 2008-04-29 | Método de codificación de impulsos de las señales de excitación |
US12/607,723 US8294602B2 (en) | 2007-04-29 | 2009-10-28 | Coding method, decoding method, coder and decoder |
US13/622,207 US8988256B2 (en) | 2007-04-29 | 2012-09-18 | Coding method, decoding method, coder, and decoder |
JP2013046027A JP5866307B2 (ja) | 2007-04-29 | 2013-03-07 | 符号化法、復号化法、符号器、および復号器 |
US14/617,585 US9225354B2 (en) | 2007-04-29 | 2015-02-09 | Coding method, decoding method, coder, and decoder |
US14/974,171 US9444491B2 (en) | 2007-04-29 | 2015-12-18 | Coding method, decoding method, coder, and decoder |
JP2016000105A JP6239652B2 (ja) | 2007-04-29 | 2016-01-04 | 符号化の方法および符号化装置 |
US15/228,661 US9912350B2 (en) | 2007-04-29 | 2016-08-04 | Coding method, decoding method, coder, and decoder |
US15/880,300 US10153780B2 (en) | 2007-04-29 | 2018-01-25 | Coding method, decoding method, coder, and decoder |
US16/184,240 US10425102B2 (en) | 2007-04-29 | 2018-11-08 | Coding method, decoding method, coder, and decoder |
US16/568,144 US10666287B2 (en) | 2007-04-29 | 2019-09-11 | Coding method, decoding method, coder, and decoder |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2007101539527A CN101388210B (zh) | 2007-09-15 | 2007-09-15 | 编解码方法及编解码器 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101388210A true CN101388210A (zh) | 2009-03-18 |
CN101388210B CN101388210B (zh) | 2012-03-07 |
Family
ID=40477580
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2007101539527A Active CN101388210B (zh) | 2007-04-29 | 2007-09-15 | 编解码方法及编解码器 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101388210B (zh) |
Cited By (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2010145474A1 (zh) * | 2009-06-19 | 2010-12-23 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
WO2011160537A1 (zh) | 2010-06-24 | 2011-12-29 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
WO2012100596A1 (zh) | 2011-01-26 | 2012-08-02 | 华为技术有限公司 | 矢量联合编解码方法及编解码器 |
CN103460284A (zh) * | 2011-02-14 | 2013-12-18 | 弗兰霍菲尔运输应用研究公司 | 音频信号音轨脉冲位置的编码与译码 |
CN103886862A (zh) * | 2010-06-24 | 2014-06-25 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
US9037457B2 (en) | 2011-02-14 | 2015-05-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio codec supporting time-domain and frequency-domain coding modes |
US9047859B2 (en) | 2011-02-14 | 2015-06-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion |
US9153236B2 (en) | 2011-02-14 | 2015-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio codec using noise synthesis during inactive phases |
US9384739B2 (en) | 2011-02-14 | 2016-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for error concealment in low-delay unified speech and audio coding |
US9536530B2 (en) | 2011-02-14 | 2017-01-03 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Information signal representation using lapped transform |
US9583110B2 (en) | 2011-02-14 | 2017-02-28 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for processing a decoded audio signal in a spectral domain |
US9595262B2 (en) | 2011-02-14 | 2017-03-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Linear prediction based coding scheme using spectral domain noise shaping |
US9620129B2 (en) | 2011-02-14 | 2017-04-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
US10153780B2 (en) | 2007-04-29 | 2018-12-11 | Huawei Technologies Co.,Ltd. | Coding method, decoding method, coder, and decoder |
WO2024067771A1 (zh) * | 2022-09-29 | 2024-04-04 | 抖音视界有限公司 | 编码方法、解码方法、编码装置、解码装置、电子设备和存储介质 |
-
2007
- 2007-09-15 CN CN2007101539527A patent/CN101388210B/zh active Active
Cited By (36)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10666287B2 (en) | 2007-04-29 | 2020-05-26 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
US10425102B2 (en) | 2007-04-29 | 2019-09-24 | Huawei Technologies Co., Ltd. | Coding method, decoding method, coder, and decoder |
US10153780B2 (en) | 2007-04-29 | 2018-12-11 | Huawei Technologies Co.,Ltd. | Coding method, decoding method, coder, and decoder |
US9349381B2 (en) | 2009-06-19 | 2016-05-24 | Huawei Technologies Co., Ltd | Method and device for pulse encoding, method and device for pulse decoding |
CN101931414A (zh) * | 2009-06-19 | 2010-12-29 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
CN101931414B (zh) * | 2009-06-19 | 2013-04-24 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
US8723700B2 (en) | 2009-06-19 | 2014-05-13 | Huawei Technologies Co., Ltd. | Method and device for pulse encoding, method and device for pulse decoding |
US10026412B2 (en) | 2009-06-19 | 2018-07-17 | Huawei Technologies Co., Ltd. | Method and device for pulse encoding, method and device for pulse decoding |
WO2010145474A1 (zh) * | 2009-06-19 | 2010-12-23 | 华为技术有限公司 | 脉冲编码方法及装置、脉冲解码方法及装置 |
US9508348B2 (en) | 2010-06-24 | 2016-11-29 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
CN103886862B (zh) * | 2010-06-24 | 2018-09-28 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
WO2011160537A1 (zh) | 2010-06-24 | 2011-12-29 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
US10446164B2 (en) | 2010-06-24 | 2019-10-15 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
US9858938B2 (en) | 2010-06-24 | 2018-01-02 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
CN103886862A (zh) * | 2010-06-24 | 2014-06-25 | 华为技术有限公司 | 脉冲编解码方法及脉冲编解码器 |
US8959018B2 (en) | 2010-06-24 | 2015-02-17 | Huawei Technologies Co.,Ltd | Pulse encoding and decoding method and pulse codec |
US9020814B2 (en) | 2010-06-24 | 2015-04-28 | Huawei Technologies Co., Ltd. | Pulse encoding and decoding method and pulse codec |
US9404826B2 (en) | 2011-01-26 | 2016-08-02 | Huawei Technologies Co., Ltd. | Vector joint encoding/decoding method and vector joint encoder/decoder |
US8930200B2 (en) | 2011-01-26 | 2015-01-06 | Huawei Technologies Co., Ltd | Vector joint encoding/decoding method and vector joint encoder/decoder |
EP3174048A1 (en) | 2011-01-26 | 2017-05-31 | Huawei Technologies Co., Ltd. | Method and encoder for vector joint encoding of a speech signal |
US10089995B2 (en) | 2011-01-26 | 2018-10-02 | Huawei Technologies Co., Ltd. | Vector joint encoding/decoding method and vector joint encoder/decoder |
US9881626B2 (en) | 2011-01-26 | 2018-01-30 | Huawei Technologies Co., Ltd. | Vector joint encoding/decoding method and vector joint encoder/decoder |
WO2012100596A1 (zh) | 2011-01-26 | 2012-08-02 | 华为技术有限公司 | 矢量联合编解码方法及编解码器 |
US9704498B2 (en) | 2011-01-26 | 2017-07-11 | Huawei Technologies Co., Ltd. | Vector joint encoding/decoding method and vector joint encoder/decoder |
US9384739B2 (en) | 2011-02-14 | 2016-07-05 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for error concealment in low-delay unified speech and audio coding |
US9620129B2 (en) | 2011-02-14 | 2017-04-11 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for coding a portion of an audio signal using a transient detection and a quality result |
US9595263B2 (en) | 2011-02-14 | 2017-03-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Encoding and decoding of pulse positions of tracks of an audio signal |
US9595262B2 (en) | 2011-02-14 | 2017-03-14 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Linear prediction based coding scheme using spectral domain noise shaping |
US9583110B2 (en) | 2011-02-14 | 2017-02-28 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for processing a decoded audio signal in a spectral domain |
US9536530B2 (en) | 2011-02-14 | 2017-01-03 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Information signal representation using lapped transform |
CN103460284B (zh) * | 2011-02-14 | 2016-05-18 | 弗劳恩霍夫应用研究促进协会 | 音频信号音轨脉冲位置的编码与译码 |
CN103460284A (zh) * | 2011-02-14 | 2013-12-18 | 弗兰霍菲尔运输应用研究公司 | 音频信号音轨脉冲位置的编码与译码 |
US9153236B2 (en) | 2011-02-14 | 2015-10-06 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio codec using noise synthesis during inactive phases |
US9047859B2 (en) | 2011-02-14 | 2015-06-02 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Apparatus and method for encoding and decoding an audio signal using an aligned look-ahead portion |
US9037457B2 (en) | 2011-02-14 | 2015-05-19 | Fraunhofer-Gesellschaft Zur Foerderung Der Angewandten Forschung E.V. | Audio codec supporting time-domain and frequency-domain coding modes |
WO2024067771A1 (zh) * | 2022-09-29 | 2024-04-04 | 抖音视界有限公司 | 编码方法、解码方法、编码装置、解码装置、电子设备和存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN101388210B (zh) | 2012-03-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101388210B (zh) | 编解码方法及编解码器 | |
CN101295506B (zh) | 脉冲编解码方法及脉冲编解码器 | |
CN102122966B (zh) | 基于信道极化的交错结构重复码的编码器及其编译码方法 | |
CN102164025B (zh) | 基于重复编码和信道极化的编码器及其编译码方法 | |
CN103995887A (zh) | 位图索引压缩方法和位图索引解压方法 | |
Wu et al. | Structural entropy guided graph hierarchical pooling | |
Ryabko et al. | Compression-based methods of statistical analysis and prediction of time series | |
CN101483043A (zh) | 基于分类和排列组合的码本索引编码方法 | |
CN101604977B (zh) | 利用低密度奇偶校验矩阵进行数字数据编码的方法及编码器 | |
CN1183683C (zh) | 使用前缀预测的位自适应编码方法 | |
d’Alessandro et al. | Hierarchical approach to complexity with applications to dynamical systems | |
CN101981618A (zh) | 复杂度减少的矢量编制索引和去索引 | |
CN102299760B (zh) | 脉冲编解码方法及脉冲编解码器 | |
CN111276187B (zh) | 一种基于自编码器的基因表达谱特征学习方法 | |
Rissanen | An introduction to the MDL principle | |
CN101431335B (zh) | 用于调制编码和解码的方法、装置和系统 | |
CN101594152A (zh) | 实现水平运算和垂直运算同时运行的ldpc码译码方法 | |
CN101266796A (zh) | 一种量化编解码方法及装置 | |
Park et al. | Irregular product coded computation for high-dimensional matrix multiplication | |
Leinster | Entropy and Diversity: The Axiomatic Approach | |
CN104657749A (zh) | 一种时间序列的分类方法及装置 | |
CN107733441A (zh) | 编码方法及装置、译码方法及装置 | |
Marcus | Symbolic dynamics | |
CN103886862B (zh) | 脉冲编解码方法及脉冲编解码器 | |
Wu et al. | Monotonicity-based fast algorithms for MAP estimation of Markov sequences over noisy channels |
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 |