一种基于先进音频编码器的比特消耗控制方法

文档序号:7510480阅读:279来源:国知局

专利名称::一种基于先进音频编码器的比特消耗控制方法
技术领域
:本发明涉及先进音频编码器(AAC),具体地说涉及一种基于先进音频编码器的比特消耗控制方法。技术背景音频编码技术是诸如数字音频广播,互联网的传播音乐和音频通讯等多媒体应用技术的核心。这些应用极大地受益于音频编码器压縮性能的提高。感知音频编码器作为使用有损变换域编码的一种编码器,是现代的主流音频编码器。感知音频编码器依赖于人耳的听觉感知特性研究,对编码噪声进行感知整形,以较高的编码压縮比获得较低感知质量下降的编码效果。在感知音频编码算法中,对编码噪声的整形是一个码率失真(Rate-Distortion,R-D)优化过程,码率控制算法和失真控制算法对引入每个频域子带的量化噪声的分布进行控制,它们要将编码器消耗的比特数控制在允许范围内,同时将感知失真控制到最小的程度,以实现码率失真优化。MPEG-4AAC是现代主流感知音频编码器中较重要的一种,由MPEG标准委员会制定。其在编码时,音频信号的MDCT(改进的离散余弦变换)谱经量化后得到整数量化谱,整数量化谱以子带为单位使用霍夫曼码书进行熵编码。MPEG-4AAC中霍夫曼码书包含码字码书HW^和码长码书HI^,H戈表码书序号,取l到ll,代表ll种不同性质的霍夫曼码书,它们列于表1中。对码字码书检索得到霍夫曼码字,对码长码书检索得到霍夫曼码字的长度,即码长。表1MPEG-4AAC中霍夫曼码书及其性质<table>tableseeoriginaldocumentpage5</column></row><table>表1中,有符号代表该码书直接对整数量化谱编码;无符号代表该码书仅对整数量化谱的绝对值编码。n维码书代表n个整数量化谱对应一个霍夫曼码字;最大绝对值代表能使用该码书编码的子带中整数量化谱最大绝对值。对熵编码码长进行检索的过程,首先是求得子带中整数量化谱的最大绝对值力_,依次将子带中相邻的4个整数量化谱组成四维矢量^力2&t4]作为索引去查找霍夫曼码长码书,累加求得不同码书熵编码所需码长的总数,其中,有符号码书的索引要加上最大绝对值作为偏移,而无符号码书的索引则加上1。传统的检索码书的流程根据力_判断如下imax=l,检索1,2,3,4,5,6,7,8,9,10,11号码书zmax=2,检索3,4,5,6,7,8,9,10,11号码书2<、ax^4,检索5,6,7,8,9,10,11号码书4<imax^7,检索7,8,9,10,11号码书7<力歸^12,检索9,10,11号码书12<zmax^15,检索ll号码书16^imax,检索ll号码书,启动溢出保护机制其中溢出保护机制是在力_^16时先以16替代大于16的整数谱d乍为索引进行检索,然后在这个霍夫曼码字后面,为大于等于16的索引依次添加逃避序列。逃避序列(escapesequence)由以下三部分组成[escape—separator][escape_word]其中[escape』refix提iV个T,[escape—separator]是~"个'O',[escape—word]是一个iV+4比特的无符号整型数,f满足力=+[escape—w。rd],增加比特数为2int[l。g2(力+l)+l]-5,其中,int为取整数运算。通过检索码长码书得到第rz子带整数量化谱使用m号码书的比特消耗参考值,记录在参考比特消耗矩阵reffiits(n,中。reffiits作为比特控制的依据交给R-D算法处理,R-D算法根据当前状态比特消耗参考值控制编码的码率和失真,确定每个子带最终使用的霍夫曼码书序号,进行熵编码和码流合成。由于MPEG-4AAC的熵编码使用运行长度编码(Run-Lengthcoding),R-D控制算法为获得当前量化状况下编码器所消耗的比特的参考值,需要反复对量化结果调用霍夫曼码书进行编码长度检索来计算比特消耗参考值,导致R-D控制算法的计算量极大,因而编码器的效率不高。
发明内容本发明就是为了解决上述问题,提出了一种基于先进音频编码器的比特消耗控制方法,能够快速计算出编码所消耗的比特的参考值,从而降低码率失真控制的运算量,提高编码器的效率。为了实现上述目的,本发明采用了如下技术方案一种基于先进音频编码器的比特消耗控制方法,包含如下处理过程A、设定编码器使用的码书和检索方案首先设定使用的码书,其次根据测试码流预先统计出各码书的使用几率,该使用几率分为常用、极少、从未三类,由子带整数量化谱最大绝对值对应不同码书的使用几率类别确定码书检索方案;B、编码器接收待编码码流,根据步骤A中的码书和码书检索方案,以子带整数量化谱为索引,检索码书得到待编码码流的码长;C、由步骤B中得到的码长计算得到比特消耗参考值,并将该比特消耗参考值作为编码器进行码率失真控制的输入参数。所述码书检索方案根据如下原则确定对于使用几率为常用类的项都进行检索;对于使用几率为从未类的项不进行检索;对于使用几率为极少类的项选择性进行检索。所述设定的使用码书为霍夫曼码书,其包含ll个序号的码书。所述步骤A中还包括码书合并过程霍夫曼码书的前10号码书两两合并形成新码书的前5号码书;霍夫曼码书的第11号码书作为新码书的第6号码书;所述步骤B后还包括码长还原过程将步骤B中得到的待编码码流在新码书下的码长还原成霍夫曼码书下的码长。所述两两合并具体为将码书符号、维数、最大绝对值和码字总个数都相同的两个霍夫曼码书的其中一者进行左移操作后与另一者相加从而得到一个新码书。所述码长还原过程是通过如下方法实现将步骤B中得到的待编码码流在新码书下的码长均分成高位部分和低位部分,分别取高位部分和低位部分作为两个霍夫曼码书下的码长。本发明首先根据测试码流得到码书的使用几率,并据此设计检索方案,从而能够快速地计算出比特消耗参考值,以此作为码率失真控制的输入参数,因此降低了码率失真控制的运算量,提高了先进音频编码器的编码效率。进一步地,对使用的霍夫曼码书进行码书合并,从而能够一次并行处理两个码书,进一步加快了计算速度。图l是本发明的编码器比特消耗控制方法的流程图;图2是本发明所使用的MegalAAC编码器的结构框架图;图3是不同码率下本发明的两种实施例和现有技术的量化谱平均检索次数比较示意图;图4一a是现有技术在不同码率下的平均编码时间示意图;图4一b是两种实施例相对于现有技术的速度改进比例示意图;图5—a是两种实施例与现有技术的ODG指标的比较示意图;图5-b是两种实施例与现有技术的DIX指标的比较示意图;图5—c是两种实施例与现有技术的NMR指标的比较示意图;图5—d是两种实施例与现有技术的NoiseLoud指标的比较示意图。具体实施方式如图l所示,本发明的基于先进音频编码器的比特消耗控制方法的具体实施方式的主要步骤如下1.设定编码器使用的码书和码书检索方案以MPEG-4标准推荐的一种霍夫曼码书为例,该码书及其性质如表1所示,可以直接利用此码书来得到码书检索方案,其处理过程同下,但为了能进一步地提高计算速度,可首先将11个霍夫曼码书合并组成6个新码书从表l可以看到,1-2,3-4,5-6,7-8,9-10五对码书性质相同,即各对码书的符号、维数、最大绝对值和码字总个数都相同,因此可将性质相同的各号码书进行合并,组成新的码书,合并规则如下HL12=叫+HL2《16HL34=HL3+HL4《16HL56=HL5+HL6《16(1)HL78=HL7+HL8《16HL恥二HL9+HL10《16其中《16表示二进制左移16位,ll号码书不变,这样就形成12,34,56,78,90,11这6个不同序号的新码书。式(1)采用的合并方式是将2、4、6、8、10号码书移到高位以便将两组较短的数据合并成一组较长的数据。显然,同样可以将1、3、5、7、9等序号的码书中的一个或多个移到高位来进行码书的合并。同样的,对于并非是此处给出的ll个序号的形式的霍夫曼码书,也可以采用上述的合并方式来进行合并。其次建立码书使用几率表并据此设计部分检索方案子带整数量化谱最大绝对值对应的霍夫曼码书的使用概率差别较大.,因此可通过测试码流先统计出霍夫曼码书或合并后的新码书的使用几率。子带整数量化谱最大绝对值力,对应新码书下不同码书使用几率如表2所示,利用新码书进行各种类型的音频在多种码率下的编码并保存码书使用的中间数据,例如某次编码时某个子带最大值是7,使用8号码书(78号),则在表2的第7行,第4列加1表明使用该码书的次数,依此方法统计结束后,对表2的每一行归一化,便得到使用几率百分比。设定几率阈值P0和P1,几率小于P0,定义为从未使用,几率在P0与P1之间,定义为极少用,几率大于P1定义为常用,这样便完成了表2的建立。几率阈值是经过大量实验验证获得的经验值,例如可取P0为0,Pl为2%。然后通过表2设计检索方案对码长进行检索从而计算出比特消耗参考值。检索方案的原则是对于不同的^_,不检索从未使用的码书,检索常用的码书,选择性检索极少用的码书(即部分检索)。表2子带整数量化谱最大绝对值力_对应不同码书使用几率<table>tableseeoriginaldocumentpage9</column></row><table><table>tableseeoriginaldocumentpage10</column></row><table>依照上述检索方案的原则,给出两种检索方案;方案l的流程为:力_216,检索ll号码书,启动溢出保护机制152^^213,检索ll号码书122〖max^10,检索90,11号码书9^imax28,检索90号码书7^imax25,检索78,90号码书4^tmax23,检索56,78号码书《_=2,检索34,56号码书Ux=l,检索12,34号码书方案2的流程为、ax^16,检索ll号码书,启动溢出保护机制15^tmax^13,检索ll号码书12^Zmax^8,检索90,11号码书力_=7,检索78,90,11号码书6上U^25,检索78,90号码书42力_23,检索56,78,90号码书〖max=2,检索34,56,78号码书力_=1,检索12,34,56号码书可以看到,方案1只对常用码书进行检索,对于极少用的码书都没有进行检索;而方案2则选择性地对极少用的码书进行了检索,显然,还存在其他方案,例如可以选择对极少用的码书都进行检索或是选择不同于方案二选用码书的序号的极少用码书进行检索。再次根据设计的检索方案使用霍夫曼码书或新码书检索计算编码码长.-对于新码书,具体每个码书的检索过程为根据码书的性质不同分别对6个不同的新码书进行检索,对于4维码书,依次将子带中相邻的4个整数量化谱组成四维矢量^力2^力J作为索引去査找,对于2维码书,将子带中相邻的2个整数量化谱组成2维矢量作为索引去查找,累加每次检索的结果,求得该子带不同码书熵编码所需码长的总数,有符号码书检索累加得到所需码长的过程见式(2),其中对各个量化谱要加上最大绝对值作为偏移作为索引,丄12=丄12+肌12[&+1][力2+服+服+1](2)丄56=丄56+HL5(^+4][力2+4]+HLs6[力3+4][力4+4]无符号码书检索累加得到所需码长的过程见式(3),量化谱需要加1作为索引,力l=l力ll,力2=|&|,力3=Kl,力4=l力J勿n丄en=(!!^+!"2+!!力3+!!i4)(2《16+1)Am=4+肌34[力i]fe][力3][力4]+丰丄en(3)L78=£<78+肌78[4][力2]+肌78|^3][力4]+丄ere丄恥=丄恥+HL恥[力i]fe]+HLg。[力3][力4]+s^n丄en丄u=Ai+HLu[仑][,2]+HLu[力3][亡4]+s^n丄era其中!!运算符的运算原则是若力-O,!!力=1,若力=0,!!力=0。最后还原利用上述部分检索方案通过6个新码书计算的编码码长,得到11个原霍夫曼码书的编码码长,该步骤使用式(4)进行还原计算前十个码书对应的码长A=丄12&0xFFFF,丄2=int[i12》16]丄3=丄34&0xFFFF,丄6=int[i34》16]I5=i56&OxFFFF,i6=int[丄56》16](4)丄7=丄78&0xFFFF,i8=int[i^》16]丄9=丄恥&OxFFFF,A。=int[丄恥》16]》16表示二进制右移16位,11号码书对应码长不需要作改动。对其中没有检索到的码书,对应码长使用65535代替。应当了解,式(4)的还原计算只针对式(l)的合并方式,显然,如果采用其他合并方式,例如在l、2号码书进行合并时将1号码书作为高位数据,则式(4)也需做针对性的调整。在使用霍夫曼码书的情况下,由于没有码书合并步骤,因此对应的码书还原步骤也不需要,其他的处理步骤都与使用新码书的处理是相同的。2.利用得到的码长作为编码器的码率失真控制算法的参数控制编码的码率和失真通过上一步得到的码长,检索码长码书从而得到第n子带整数量化谱使用m号码书的比特消耗参考值并记录在参考比特消耗矩阵reffiits(n,m)中。以参考消耗矩阵reffiits作为码率失真控制的输入参数交给R-D算法处理,R-D算法根据当前状态比特消耗参考值控制编码的码率和失真,确定每个子带最终使用的霍夫曼码书序号,进行熵编码和码流合成,从而完成先进音频编码器对音频信号的编码。这里采用MegalAAC编码器作为测试平台来验证采用了本发明的部分检索方案后的R-D控制方法的有效性,MegalAAC编码器是一种符合MPEG-4AAC标准的编码器,其结构框架与标准基本相同,如图2所示。测试对8段44100Hz采样,16比特量化的立体声剪辑进行,每段剪辑持续11.63秒,剪辑曲目见表3,每次测试结果取8段剪辑的平均值。测试在载有一颗主频为1.86GHz的IntelE6300处理器的工作站上进行,编码计算量以实际运行时间为参考。编码测试的平均码率设定从80kbps开始到250kbps,以5kbps为间隔共35组。编码器音质评估使用EAQUAL1.3。EAQUAL1.3是使用感知音频客观评价标准PEAQ的客观评价程序,PEAQ提供的音质评价指标名称及其描述见表4表3测试剪辑<table>tableseeoriginaldocumentpage13</column></row><table>表4PEAQ评价指标及意义<table>tableseeoriginaldocumentpage14</column></row><table>这些指标中,选择四个最常用的整体指标,ODG,DIX,NMR和NoiseLoud,其中ODG和DIX越大越好,NMR和NoiseLoud越小越好。定义量化谱平均检索次数为调用霍夫曼码书总次数除以有效量化谱总数。原算法为现有技术中的检索方案,对比算法为上述两种部分检索方案。图3为不同码率下的原算法和两种部分检索方案的量化谱平均检索次数对比,原算法的平均检索次数维持在3-4之间,并且因为低码率小数值量化谱更多,其检索次数要多于高码率,方案2维持在2以下,方案1维持在1.5左右。可见,本发明能大幅减少码书检索次数。图4是不同码率下每段剪辑平均编码耗时比较,图4-a是原算法的耗时,图4-b是两种方案相对于原算法编码耗时减少比例。部分检索方案在低码率时改进明显,编码耗时下降超过15%,高码率则维持在10%左右,其中方案1编码速度要快于方案2,因为它的平均检索次数相对更低。图5-a,图5-b,图5-c,图5-d分别是原算法和两种部分检索方案在不同码率下编码的客观评价指标ODQDIX,NMR和NoiseLoud的比较。可以看到,两种部分检索方案的音质相对于原算法都略有下降,但下降幅度微弱,其中方案1的ODG下降小于0.07,DIX下降小于0.07,NMR上升小于0.2dB,NoiseLoud上升小于0.013;方案2的ODG下降小于0.025,DIX下降小于0.025,NMR上升小于0.12dB,NoiseLoud上升小于0.004。这两种方案中低码率下有15%以上的编码速度提高,而音频质量下降微弱,是有效的比特消耗参考值快速计算的方法。本发明的编码器比特消耗控制方法能够快速获得比特消耗参考值,从而降低了R-D控制算法的运算量,使得编码器的编码效率得到提升。权利要求1、一种基于先进音频编码器的比特消耗控制方法,其特征在于,包含如下处理过程A、设定编码器使用的码书和检索方案首先设定使用的码书,其次根据测试码流预先统计出各码书的使用几率,该使用几率分为常用、极少、从未三类,由子带整数量化谱最大绝对值对应不同码书的使用几率类别确定码书检索方案;B、编码器接收待编码码流,根据步骤A中的码书和码书检索方案,以子带整数量化谱为索引,检索码书得到待编码码流的码长;C、由步骤B中得到的码长计算得到比特消耗参考值,并将该比特消耗参考值作为编码器进行码率失真控制的输入参数。2、如权利要求1所述的基于先进音频编码器的比特消耗控制方法,其特征在于所述码书检索方案根据如下原则确定对于使用几率为常用类的项都进行检索;对于使用几率为从未类的项不进行检索;对于使用几率为极少类的项选择性进行检索。3、如权利要求1或2所述的基于先进音频编码器的比特消耗控制方法,其特征在于:所述设定的使用码书为霍夫曼码书,其包含11个序号的码书。4、如权利要求3所述的基于先进音频编码器的比特消耗控制方法,其特征在于所述步骤A中还包括码书合并过程霍夫曼码书的前10号码书两两合并形成新码书的前5号码书;霍夫曼码书的第11号码书作为新码书的第6号码书;所述步骤B后还包括码长还原过程将步骤B中得到的待编码码流在新码书下的码长还原成霍夫曼码书下的码长。5、如权利要求4所述的基于先进音频编码器的比特消耗控制方法,其特征在于所述两两合并具体为将码书符号、维数、最大绝对值和码字总个数都相同的两个霍夫曼码书的其中一者进行左移操作后与另一者相加从而得到一个新码书。6、如权利要求4所述的基于先进音频编码器的比特消耗控制方法,其特征在于所述码长还原过程是通过如下方法实现将步骤B中得到的待编码码流在新码书下的码长均分成高位部分和低位部分,分别取高位部分和低位部分作为两个霍夫曼码书下的码长。全文摘要本发明公开了一种基于先进音频编码器的比特消耗控制方法,包含如下处理过程A.设定编码器使用的码书和检索方案首先设定使用的码书,其次根据测试码流预先统计出各码书的使用几率,该使用几率分为常用、极少、从未三类,由子带整数量化谱最大绝对值对应不同码书的使用几率类别确定码书检索方案;B.编码器接收待编码码流,根据步骤A中的码书和码书检索方案,以子带整数量化谱为索引,检索码书得到待编码码流的码长;C.由步骤B中得到的码长计算得到比特消耗参考值,并将该比特消耗参考值作为编码器进行码率失真控制的输入参数。本发明的方法,能够快速计算比特消耗参考值,从而提高编码器的编码效率。文档编号H03M7/42GK101290771SQ20071007412公开日2008年10月22日申请日期2007年4月20日优先权日2007年4月20日发明者晟吴,邱小军,强陈,黎家力申请人:中兴通讯股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1