编解码方法及编解码器技术

技术编号:3420123 阅读:166 留言:0更新日期:2012-04-11 18:40
本发明专利技术公开了一种编码方法,对需要进行编码的脉冲按照位置进行合并,分别对有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目进行编码。本发明专利技术还提供相应的解码方法,以及编解码器。本发明专利技术提供的编码逻辑对于不同的编码脉冲数目可一致采用,避免了递归方式下编码索引冗余度的累加,从总的逻辑构思上保证充分利用编码比特。同时由于避免了对同一位置的多个脉冲进行分别编码,使得本发明专利技术进行位置合并后编码的方法具有节省编码比特的优势,并且随着轨道上编码脉冲数目的增加,脉冲位置发生重叠的几率也随之增加,本发明专利技术方法的优势愈加明显。

【技术实现步骤摘要】

本专利技术涉及编解码方法及相应的编解码器。
技术介绍
在矢量编码技术中,常常使用代数码书对自适应滤波后的残差信号进行量 化编码。当经过搜索获得轨道上最佳代数码书脉冲的位置和符号信息后,通过 编码计算得到相应的索引值,使得解码端能够根据该索引值重建脉冲序列。在保证无损重建的前提下,尽量减少编码索引值所需要的比特,是代数码书脉冲 编码方法研究与发展的主要目标之一。下面以语音编码中 一种较优的编码方法——宽带自适应多码率(AMR—WB + : Adaptive Multi-Rate Wideband)编码方法为例,说明现有代数 码书脉冲所采用的一种具体编码方法。根据编码码率的不同,在每个轨道上可 以编码l-N个脉冲,假定每个轨道有M-2"MM立置,AMR一WB+中每个轨道 上编码1~6个脉冲的过程分别描述如下① 每个轨道编码1个脉冲由于每个轨道有2"MM立置,因此,每个轨道上脉冲的位置索引需要用m 个比特进行编码,脉冲的符号索引需要用1比特编码。编码1个带符号脉冲的 索引值为Ilp(m) = p + s x 2m其中p6为脉冲的位置索引;s为脉冲的符号索引,当脉冲符号为正 时,s设置为0,当脉冲符号为负时,s设置为1; Ilp6。 每个轨道编码1个脉冲所需的比特数为m + 1 。② 每个轨道编码2个脉冲根据①的结果,每个轨道编码1个脉冲需要111+1个比特,对另一个脉冲 的位置索引进行编码需要m个比特,由于对脉冲顺序没有特别要求,可通过 排列脉冲位置索引获得的大小关系来表示另一个脉冲的符号。编码2个脉冲的 索引值为I2p(m) = Pl +Ilp0x2m = Pl +P0x2m + Sx22m 其中p0、 p16分别为2个脉冲的位置索引;s为pO脉冲的符号索引; pi脉冲符号的具体表示规则为pO < pi表示2个脉冲符号相同,p0 〉 pi表示 2个脉冲符号相反;I2p€。每个轨道编码2个S永冲所需的比特数为2m + 1 。③ 每个轨道编码3个脉冲将每个轨道分为两个部分section A和SectionB,每个部分各包含2"1—〗个 位置。某个部分中至少包含2个脉冲,根据②的结果,编码该部分需要2x(m -l)+l=2m-1个比特;另一个脉冲则在整个轨道上搜索,根据①的结果, 需要m+l个比特;此外,还需要用1个比特来指示包含2个脉沖的部分。编 码3个脉冲的索引值为I3p(m) = I2p(m _ 1) + k x 22m" + Ilp(m) x 22m 其中k为Section的索引;l3pe。每个轨道编码3个脉冲所需的比特数为3m + 1。④ 每个轨道编码4个脉冲将每个轨道分为两个部分section A和SectionB,每个部分各包含2"1—t个 位置。各部分中包含脉冲个数的组合情况如下表所示<table>table see original document page 8</column></row><table>上表中,各个类别对应的需要比特数的依据为对于类别0和类别4,在 有4个脉冲的部分中采用类似③的方法,只是进行整体搜索的脉冲数目为2 个,相当于l2p(m-2) + kx22m-3 + I2p(m-l)x22m-2;对于类别1,相当于、(m-1) + I3p(m-I)x2m;对于类别2,相当fl2p(m - 1) + I2p(m - 1) x 22m";对于类 别3,相当fl3p(m — 1) + Ilp(m - 1) x 23m-2。将类别0和类别4看作一种可能的情况,类别1 3各作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应的情况,则类别1 3都需要 4m - 2 + 2 = 4m个比特;此外,对于包含类别0和类别4的情况,还需要用1 个比特来区分,因此类别0和类别4需要4m-3 + 2+ 1 = 4111个比特。每个轨道编码4个脉冲所需的比特数为4m 。 、每个轨道编码5个脉冲将每个轨道分为两个部分SectionA和SectionB,每个部分各包含2^'个 位置。某个部分中至少包含3个脉冲,根据③的结果,编码该部分需要3x(m -1)+l-3m-2个比特;剩下两个脉冲则在整个轨道上搜索,根据②的结果, 需要2m+l个比特;此外,还需要用1个比特来指示包含3个脉冲的部分。 编码5个脉冲的索引值为I5p(m) = I3p(m - 1) + k x 23m-2 + Ilp(m) x 23111.1每个轨道编码5个脉冲所需的比特数为5m。 每个轨道编码6个脉冲将每个轨道分为两个部分SectionA和SectionB,每个部分各包含2"^个 位置。各部分中包含脉冲个数的组合情况如下表所示<table>table see original document page 9</column></row><table>上表中,各个类别对应的需要比特数的依据可仿照④推算,不再赘述。分别将类别0和6、类别1和5、类别2和4各看作一种可能的情况,类 别3单独作为一种情况,则总共有4种情况,因此需要用2个比特来表示对应 的情况,则类别3需要6m-4 + 2 = 6m- 2个比特;对于那些包含合并类别的情况,还需要用l个比特来区分,因此除类别3外的其他类别需要6m-5 + 2 + 1 =6m-2个比特。每个轨道编码6个脉冲所需的比特数为6m - 2。在提出本专利技术的过程中,专利技术人发现,AMR一WB +提供的代数脉冲编码 方法,采用类似递归的编码逻辑,将编码脉冲数量较多的情况拆分为若干个编 码脉冲数量较少的情况来处理。因此,随着轨道上编码脉冲数目的增加,编码 索引的冗余度将逐渐累加。
技术实现思路
一种编码方法,包括对轨道上需要编码的脉冲按照位置进行统计,获得 有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数 目;按照有脉冲位置的数目确定第一索引,所述第一索引对应于相同有脉冲位 置的数目下,有脉冲位置在轨道上全部可能的分布情况;按照有脉冲位置在轨 道上的分布确定第二索引,所述第二索引从所述第一索引对应的全部可能的分 布情况中,指示与当前有脉冲位置的分布对应的分布情况;按照各个有脉沖位 置上的脉冲数目确定第三索引;生成编码索引,所述编码索引包括所述第一、 二、三索引的信息。一种解码方法,包括接收编码索引,从所述编码索引中提取出第一索引, 按照第一索引确定有脉冲位置的数目;从所述编码索引中提取出第二、三索引; 按照第二索引确定,在所述第一索引对应的有脉冲位置的数目下,有脉冲位置 在轨道上的分布;按照第三索引确定各个有脉冲位置上的脉冲数目;按照有脉 冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目,重建轨道上的脉沖序 列。一种编码器,包括脉冲统计单元,用于对轨道上需要编码的脉冲按照位 置进行统计,输出有脉冲位置的数目、有脉沖位置在轨道上的分布和各个有脉 冲位置上的脉冲数目;索引计算单元,其中包括第一索引单元、第二索引单元 和第三索引单元,第一索引单元用于按照有脉冲位置的数目输出第一索引,所 述第一索引对应于相同有脉沖位置的数目下,有脉冲位置在轨道上全部可能的 分布情况,第二索引单本文档来自技高网
...

【技术保护点】
一种编码方法,其特征在于,包括:    对轨道上需要编码的脉冲按照位置进行统计,获得有脉冲位置的数目、有脉冲位置在轨道上的分布和各个有脉冲位置上的脉冲数目;    按照有脉冲位置的数目确定第一索引,所述第一索引对应于相同有脉冲位置的数目下,有脉冲位置在轨道上全部可能的分布情况;    按照有脉冲位置在轨道上的分布确定第二索引,所述第二索引从所述第一索引对应的全部可能的分布情况中,指示与当前有脉冲位置的分布对应的分布情况;    按照各个有脉冲位置上的脉冲数目确定第三索引;    生成编码索引,所述编码索引包括所述第一、二、三索引的信息。

【技术特征摘要】

【专利技术属性】
技术研发人员:马付伟张德军
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:94[中国|深圳]

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1