[发明专利]脉冲编码方法及装置、脉冲解码方法及装置有效
申请号: | 200910150637.8 | 申请日: | 2009-06-19 |
公开(公告)号: | CN101931414A | 公开(公告)日: | 2010-12-29 |
发明(设计)人: | 马付伟;张德军;谢敏杰;哈维·米希尔·塔迪;张清 | 申请(专利权)人: | 华为技术有限公司 |
主分类号: | H03M7/30 | 分类号: | H03M7/30;G10L19/12 |
代理公司: | 深圳市深佳知识产权代理事务所(普通合伙) 44285 | 代理人: | 彭愿洁;李文红 |
地址: | 518129 广东*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 脉冲 编码 方法 装置 解码 | ||
技术领域
本发明涉及编解码技术,具体涉及脉冲编码方法及装置、脉冲解码方法及装置。
背景技术
在语音编码领域基于码激励线性预测编码(CELP:Code Excited Linear Prediction)模型的语音编码器应用的最为广泛,与其他类型的语音编码器相比,它能够在极低码率情况下获得较好的语音质量,而在高码率情况下,表现依然优秀。在CELP模型中,作为对激励信号的模拟,自适应码书和固定码书起着非常重要的作用。其中,自适应滤波器的作用是去掉语音残差信号中的长时相关性,语音残差信号在去掉长时相关性之后,已经变得类白噪化,因此,对固定码书的目标信号进行有效量化显得比较困难。目前,一种对固定码书的处理方法是用代数码书来代替固定码书。
在语音编码器中,经过代数码书搜索得到每个轨道上所有脉冲的位置和符号信息,为了能够有效的将每个轨道上所有脉冲的位置和符号信息传递到解码端,必须对这些脉冲的位置和符号信息进行一定的处理。这种处理必须保证所有脉冲的位置和符号信息没有任何丢失,也就是说在解码端能够唯一的恢复所有脉冲的位置和符号信息,同时,为了尽量的降低比特率,这种处理方法必须保证用尽量少的比特来对脉冲的位置和符号信息进行编码。可以基于对同一轨道上所有脉冲位置的排列组合进行统计得出在理论情况下,对每个轨道所有脉冲位置和符号信息进行编码所用的比特数。对同一轨道上所有脉冲位置的排列组合数进行编码所用的比特数即为理论下限值。对同一轨道上所有脉冲位置的排列组合数进行分类和有序的编码时,其所需的比特数可以在理论下限值为整数时达到理论下限值,在理论下限值为小数时达到理论下限值的整数部分加1。
假设同一轨道上有n个脉冲,经过代数码书搜索算法分别得到了这n个脉冲的位置和符号信息,同一轨道上的同一位置可能存在多个脉冲,这种情况之下,如果还对在同一位置的多个脉冲位置进行分别编码,则浪费了很多比特。从排列组合的角度来看,p0和p1在同一位置与p1和p0在同一位置是同一种情形,因此,为了尽量的节省比特,避免对同一种情形编码多次,对有脉冲的位置进行统计(将一个位置上有多个脉冲看作一个有脉冲位置),并输出有脉冲的位置信息、脉冲个数信息和相应的脉冲符号信息。并对有脉冲位置进行分类考虑。如果同一轨道上有n个脉冲,则经过对有脉冲位置的统计,可以将有脉冲位置数进行分类,假设有脉冲位置的数量为m,可以预见,m的取值范围为:1≤m≤n。对于每一个具体的m值,计算脉冲统计函数的排列组合数(假设为排列组合总数为w),将具体的某个区间内的数据再分为w段,其相应的排列组合总数w与一个轨道上的脉冲总数有关。
为了方便对上述各种分类进行有序的编码,这里对上述的分类进行有效的组合。现有的一种组合的方法如下所述:1、计算上述所有排列组合数,并计算最终所需要用比特数BIT,并将此比特流分为若干段。每一段代表一个大类;2、大类是根据m的取值进行分类的,一般分为n类。第一类表示,脉冲位置合并后,仍然有n个脉冲位置;第二类表示,脉冲位置合并后,有n-1个脉冲位置;依此类推。第n类表示,脉冲位置合并后,有1个脉冲位置。某一类都只存在一个封闭的区间内,如:[0x100000,0x17FFFF]。3、对某一大类,再拿出若干比特(比特数由存在脉冲位置函数的所有排列组合总数确定)来表示小的分类。
通过上述3步骤的分类处理,对大类进行排列,大类的排列顺序有很多种,这里按照存在脉冲位置由大到小的顺序进行排列。最后将每一类别放在不同的段内,最终形成最后的索引值。解码端在收到最终的索引值之后,按照上述对各个大类、小类和组合数的排列顺序进行解码,得到各个脉冲的位置和符号信息,即完成了整个编码和解码过程。
在对现有技术的研究中,发明人发现:使用上述技术方案虽然能够用理论比特数的整数值进行编码,但是在每个轨道脉冲个数固定的情况下,任何一种脉冲组合所用的比特数都是固定的;例如,在一个轨道有6个脉冲时,编码比特的理论值是20.5637,因此需要使用21个比特进行编码,而21个比特能够表示的范围是从0~2^21-1,而6脉冲索引的范围是:0~1549823。从1549824~2^21-1还有547328个数,因此有大约26.1%的空间白白浪费了,从而在浪费了编码比特,导致编码效率不高。
发明内容
本发明实施例提供了脉冲编码方法及装置、脉冲解码方法及装置,能够节省编码比特,提高编码效率。
本发明实施例提供了一种脉冲编码方法,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于华为技术有限公司,未经华为技术有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/200910150637.8/2.html,转载请声明来源钻瓜专利网。