一种对音频数据进行反量化的方法及装置的制作方法

文档序号:7517159阅读:249来源:国知局
专利名称:一种对音频数据进行反量化的方法及装置的制作方法
技术领域
本发明计算机及音频处理领域,特别是涉及对音频数据进行反量化的方法及装置。
背景技术
在音频解码中,反量化是不可缺少的环节。反量化过程是指将经过Huffman(哈弗曼)解码的数据,根据一些诸如尺度因子、长短块类型和全局增益等帧头和边信息等恢复频谱线的过程。国际标准化组织 international Organizationfor Standardization, ISO) 11172-3中给出的反量化公式简化如下对于短块χη =吨咖).—I苦.2>嫩(一[炉]-210-8*惑滅—识])公式丄氺二—亿“^^-爪““尔“^产此“^^^一对识]!^^^1^]!^,"1^^])对于长块
rmn7l.、I. - ^{global _gain[gr]-2\Q)= signQSi3 ·24公式 2^2"^ sca^ac -* (scalefac _l[sft>][ch][gr]-l· preflag [gr]* pretab [sft>]))其中,iSi为Huffman解码之后的值;Xri为反量化后得到的值;sign(iSi)为取iSi 的符号;global_gain表示每个声道中的全局量化步长;常数210用来保证合适的量化步长;scalefac_l和scalefac_s对应长短窗的缩放因子;subblock_gain为全局增益的偏移值,只在短窗时有作用;preflag是高频预加重标志;pretab用来查表得出每个缩放带的预加重值;gr表示当前样本处在的颗粒;ch表示当前样本处在的声道;sfb表示当前样本处在的比例因子带;window表示当前样本处在的窗类型。反量化运算中最为关键的运算是计算现有技术之一是通过计算得到的值,则运算量巨大,实现复杂,影响反量化的效率。另一种方式是通过查表的方式得到
的值,在MP3解码中,iSi取值从0到8206,为了得到的值,常用方案是构造一个大小为
8206的表,存储所有可能反量化输入数据的值的4/3幂的结果。这种方案需要存放8206条数据,耗用大量的存储空间。

发明内容
本发明实施例提供一种对音频数据进行反量化的方法及装置,用于简化音频数据的反量化过程,提高反量化效率,并且节省存储空间。一种对音频数据进行反量化的方法,用于简化音频数据的反量化过程,提高反量化效率,并且节省存储空间。所述方法包括以下步骤
根据用户需求预设门限值;判断音频数据的值是否大于预设的门限值;当不大于门限值时,根据预设的基础音频数据的值与基础音频数据的值的*次幂的对应关系,获得音频数据的值对应的I次幂;当大于门限值时,将音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得右移后的音频数据的值对应的*次
幂,根据右移后的音频数据的值对应的I次幂获得移位前的音频数据的值对应的I次幂;根据音频数据的值的*次幂获得音频数据的反量化值。一种用于对音频数据进行反量化的装置,用于简化音频数据的反量化过程,提高反量化效率,并且节省存储空间。所述装置包括配置模块,用于根据用户需求预设门限值;控制模块,用于判断音频数据的值是否大于预设的门限值;幂计算模块,用于当不大于门限值时,根据预设的基础音频数据的值与基础音频
数据的值的I次幂的对应关系,获得音频数据的值对应的I次幂;当大于门限值时,将音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得右移后的音频数据的值对应的*次幂,根据右移后的音频数据的值对应的I次幂获得移位前的音频数据的值对应的I次幂;量化模块,用于根据音频数据的值的*次幂获得音频数据的反量化值。本发明实施例在音频数据的值不大于预设的门限值时,通过查询对应关系获得音频数据的值的I次幂,在音频数据的值大于预设的门限值时,先对音频数据的值进行移位,
使其不大于门限值,然后通过查询对应关系获得音频数据的值的I次幂,再获得移位前的音
频数据的值的I次幂。本发明实施例中门限值可以远小于8206,则不再需要存储8206条数
据,节省了存储空间,并且大于门限值时通过移位和查询方式获得音频数据的值的I次幂, 该实现过程相对于根号和乘法运算大大简化,提高了反量化的效率。


图1为本发明实施例中对音频数据进行反量化的主要方法流程图;图2为本发明实施例中对音频数据进行反量化的详细方法流程图3为本发明实施例中对音频数据进行带修正的反量化的详细方法流程图;图4为本发明实施例中修正值表的示意图;图5为本发明实施例中Nmax = 256时对音频数据进行反量化的方法流程图;图6为本发明实施例中修正值表的示意图;图7为本发明实施例中装置的主要结构图;图8为本发明实施例中装置的详细结构图。
具体实施例方式本发明实施例在音频数据的值不大于预设的门限值时,通过查询对应关系获得音频数据的值的I次幂,在音频数据的值大于预设的门限值时,先对音频数据的值进行移位,
使其不大于门限值,然后通过查询对应关系获得音频数据的值的I次幂,再获得移位前的音
频数据的值的I次幂。本发明实施例中门限值可以远小于8206,则不再需要存储8206条数
据,节省了存储空间,并且大于门限值时通过移位和查询方式获得音频数据的值的I次幂,
该实现过程相对于根号和乘法运算大大简化,提高了反量化的效率。参见图1,本实施例中对音频数据进行反量化的主要方法流程如下步骤101 根据用户需求预设门限值。步骤102:获得待进行反量化的音频数据的值。该音频数据可以是经过哈弗曼 (Huffman)解码后的得到的音频数据,也可以是未经编码的原始的音频数据。步骤103 判断待进行反量化的音频数据的值是否大于预设的门限值。步骤104 当不大于门限值时,根据预设的基础音频数据的值与基础音频数据的
值的I次幂的对应关系,获得待进行反量化的音频数据的值对应的I次幂。音频数据的值在不大于门限值时,便落入了基础音频数据的范围。步骤105 当大于门限值时,将待进行反量化的音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得右移后的
音频数据的值对应的I次幂,根据右移后的音频数据的值对应的I次幂获得待进行反量化
的音频数据的值对应的I次幂。步骤106 根据待进行反量化的音频数据的值的*次幂获得音频数据的反量化值。在步骤105中,可以对右移后的音频数据的值的*次幂进行左移,得到音频数据的值的I次幂;或者,根据预设的补偿量对右移后的音频数据的值的I次幂进行补偿,得到音频数据的值的I次幂。对右移后的音频数据的值的I次幂进行左移,得到音频数据的值的t次幂的步骤包括根据移位参数值的I次幂对右移后的音频数据的值的I次幂进行左移,其中,移位参数值为23η,η为正整数。在获得右移后的音频数据的值对应的*次幂之后,根据修正值对右移后的音频数据的值对应的I次幂进行修正;和/或,根据修正值对音频数据的值的*次幂进行修正,根据修正后的音频数据的值的I次幂获得音频数据的反量化值。为了便于对音频数据的值iSi进行移位,本实施例先对做了变形,然后根据变
形后的方案进行反量化。下面先对变形过程进行分析和介绍。将反量化公式化简为如下形式χη = signiis,)-^-2^ ,其中,对于长块int = (global—gain[gr]—210)_4水(scalefac—multiplier水(scalefac—1[sfb][ch][gr]+preflag[gr]^pretab[sfb]))对于短块int = (global_gain[gr]-210_8*subblock—gain[window][gr])-4*(scalefac—multiplier*scalefac_s[gr][ch][sfb][window])由此可见,2>'为常数,Sign(ISi)的结果为正/负号,因此对Xri计算的关键就在
于IhP。设h = p * ([,] + i*朴k e
,其中,其中[,]为iSi除以P (移位参数)后取
整得到的整数,该取整可以是向上取整也可以是向下取整等,本实施例为了提高精度,采用四舍五入的方式取整。令[^]=贈,,则/S,.=芦*(腿,+丄*众),k e
,进而 P P
4J4一二+ — *众))3’k e
,
P
4 4j4is^ =Pi* {ms, + — *ky
P丨为常数,要计算.丨只需要先计算出0 ,.+丄然后乘上常数i即可。为了 P3A ’PP'
便于计算 以及为了通过移位来得到1本实施例中P为23n,n为正整数。将(唧+丄*印
Pi ,Pi ,P
在k = 0附近使用泰勒级数展开
ι i 1 4 1 142{ms. + —* ky = ms^ + —*—* mst3 * k +--* msi 3 * k +...
'ρ3 ρρmSi与⑽彳的值的对应关系存储在预设的查找表LUT中,Mm彳的值可通过查询
8查找表LUT得到。由泰勒展开式可知,*是^Wi+Iu疒的近似值,为了提高反量化
THSfiρ
的精确度,除⑺彳以外的其它余项均可以作为修正值对w彳进行修正。采用的余项越多精确度越高,相应的复杂度也越大,本实施例综合考虑精确度和复杂度,采用一阶余项
皿,“M乍为修正值,误差在2以内。如果是对右移后的音频数据的值的 次幂进行修 3 P3
正,采用^Lwiu作为修正值,如果对左移后的音频数据的值的ι次幂进行修正,采用 3 P3
厂“^丄*·,“Α:作为修正值。如果不对右移后的音频数据的值的 次幂进行左移,而是通 3 P3
过补偿量的方式获得移位前的音频数据的值的I次幂,则该补偿量包括修正值(用于对右
移后的音频数据的值的I次幂进行修正)与右移操作使音频数据的值的损失量的总和的* 次幂。mSi与 ,的值的对应关系也可以作为iSi与的对应关系,当iSi不大于门限值
时通过查询查找表LUT获得。当is,大于门限值时,将iSi除以p,如果ρ等于8,则对iSi
右移3(即2的幂数)位即可,相当于获得了 mSi。再通过查询查找表LUT获得。然后将
乘以;^,如果P等于8,则对左移4位即可,相当于获得了。下面通过实施例来详细描述实现过程。参见图2,本实施例中对音频数据进行反量化的详细方法流程如下步骤201 获得经过Huffman解码后的音频数据的值iSi。步骤202 判断音频数据的值1&是否大于预设的门限值Nmax,若是,则继续步骤 204,否则继续步骤203。以Nmax = 1024为例进行说明。步骤203 通过查询查找表LUT获得音频数据的值iSi对应的*次幂。由于Nmax
=1024,本实施例中存储IOM条数据的值即可,远小于现有技术中的8206条数据的值,节省了存储空间。步骤204:根据预设的移位参数值将音频数据的值右移至不大于门限值,获得右移后的音频数据的值mSi。其中,移位参数值ρ为23的正整数倍。当ρ = 8时,右移的位数为2的幂数3。对于1023 < is, < 8191的音频数据的值,将其除以8后便小于1024,则可
通过查询同样的查找表LUT获得数据的值的*次幂。继续步骤207。步骤205 通过查询查找表LUT获得音频数据的值Hisi对应的 次幂
ΛlflO: O步骤206 根据移位参数值的 次幂对右移后的音频数据的值的 次幂进行左移,得到音频数据的值的I次幂。例如,P = 8,^=16=24 ,左移的位数为2的幂数4。步骤207 根据音频数据的值的*次幂ρ,,获得音频数据的反量化值。此步骤参见公式1和公式2。对于8191 < iSi < 8206,可通过包含iSi与的对应关系的查找表获得,该
表保存15条数据,加上之前的IOM条数据,总共1039条数据,仍然远小于8206。或者对处于8191 < is, < 8206区间的数据的值右移4位,相当于除以16,使其小于1024,同样可通
过查表获得音频数据的值的I次幂。参见图3,本实施例中对音频数据的值进行带修正的反量化的详细方法流程如下步骤301 获得经过Huffman解码后的音频数据的值iSi。步骤302 判断音频数据的值1&是否大于预设的门限值Nmax,若是,则继续步骤 304,否则继续步骤303。以Nmax = 1024为例进行说明。步骤303 通过查询查找表LUT获得音频数据的值iSi对应的|次幂。步骤304 根据预设的移位参数值和四舍五入的方式将音频数据的值iSi右移至不大于门限值,获得右移后的音频数据的值mSi。四舍五入的实现方式例如将iSi左移两位得到ml,即ml = (iSi >> 2),然后mSi = ((ml+1) >> 1),以提高Hisi的精确度。步骤305 通过查询查找表LUT获得音频数据的值Hisi对应的|次幂 ^ j。步骤306 根据移位参数值对右移后的音频数据的值的*次幂进行左移。步骤307 根据修正值对音频数据的值的*次幂进行修正。步骤308 根据音频数据的值的*次幂获得音频数据的反量化值。在步骤307中,本实施例采用的修正值为一阶泰勒余项P 丄彳*众,
3 ρ
k e
0可以每次通过计算方式获得修正值,也可以通过查表方式获得mSi(或iSi)
对应的修正值。由于iSi属于0^([1]),0^([1]) +夕_1))时,HlSi都是相同的,k值可视为一
PP
阶余项修正的索引值,在实际应用中,可将的值存放在存储器(memory)中,通过
3 ρ
与索引值k相乘得到一阶余项修正值。并且,当mSi的值变化不大时,其对应的一阶余项修正值是相同的,基于这点,可以缩短表的长度,节省存储空间。HlSi与修正值的对应关系参见表ι所示表权利要求
1.一种对音频数据进行反量化的方法,其特征在于,包括以下步骤 根据用户需求预设门限值;判断待进行反量化的音频数据的值是否大于预设的门限值;当不大于门限值时,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得待进行反量化的音频数据的值对应的I次幂;当大于门限值时,将待进行反量化的音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得右移后的音频数据的值对应的I次幂,根据右移后的音频数据的值对应的I次幂获得待进行反量化的音频数据的值对应的I次幂;根据待进行反量化的音频数据的值对应的I次幂获得音频数据的反量化值。
2.如权利要求1所述的方法,其特征在于,将待进行反量化的音频数据的值右移至不大于门限值的步骤包括根据预设的移位参数值将待进行反量化的音频数据的值右移至不大于门限值;其中,移位参数值为23η,η为正整数。
3.如权利要求1所述的方法,其特征在于,将待进行反量化的音频数据的值右移至不大于门限值的步骤包括采用四舍五入的方式将待进行反量化的音频数据的值右移至不大于门限值。
4.如权利要求1所述的方法,其特征在于,根据右移后的音频数据的值对应的*次幂获得待进行反量化的音频数据的值对应的*次幂的步骤包括对右移后的音频数据的值的I次幂进行左移,得到待进行反量化的音频数据的值对应的I次幂;或者,根据预设的补偿量对右移后的音频数据的值的I次幂进行补偿,得到待进行反量化的音频数据的值对应的i33次幂。
5.如权利要求4所述的方法,其特征在于,对右移后的音频数据的值的*次幂进行左移的步骤包括根据移位参数值的I次幂对右移后的音频数据的值对应的I次幂进行左移,其中,移位参数值为23η,η为正整数。
6.如权利要求1所述的方法,其特征在于,在获得右移后的音频数据对应的*次幂之后,以及根据右移后的音频数据对应的I次幂获得音频数据对应的I次幂之前,还包括步骤根据修正值对右移后的音频数据的值对应的1次幂进行修正。
7.如权利要求1所述的方法,其特征在于,根据音频数据的值的*次幂获得音频数据的反量化值的步骤包括根据修正值对音频数据的值的I次幂进行修正,根据修正后的音频数据的值对应的I次幂获得音频数据的反量化值。
8.如权利要求6或7所述的方法,其特征在于,通过以下方式获得修正值 根据关于音频数据的值的I次幂的一阶泰勒余项获得修正值;或者根据预设的数据的值与修正值的对应关系获得音频数据的值的I次幂对应的修正值;或者根据预设的数据的值与索引的对应关系和索引与修正值的对应关系,获得音频数据的值的I次幂对应的修正值。
9.一种用于对音频数据进行反量化的装置,其特征在于,包括 配置模块,用于根据用户需求预设门限值;控制模块,用于判断待进行反量化的音频数据的值是否大于预设的门限值; 幂计算模块,用于当不大于门限值时,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得待进行反量化的音频数据的值对应的I次幂;当大于门限值时,将音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的I次幂的对应关系,获得右移后的音频数据的值对应的I次幂,根据右移后的音频数据的值对应的I次幂获得待进行反量化的音频数据的值对应的I次幂;量化模块,用于根据待进行反量化的音频数据的值的I次幂获得音频数据的反量化值。
10.如权利要求9所述的装置,其特征在于,幂计算模块根据预设的移位参数值将待进行反量化的音频数据的值右移至不大于门限值,其中,移位参数值为23η,η为正整数。
11.如权利要求9所述的装置,其特征在于,幂计算模块采用四舍五入的方式将待进行反量化的音频数据的值右移至不大于门限值。
12.如权利要求9所述的装置,其特征在于,幂计算模块对右移后的音频数据的值的* 次幂进行左移,得到待进行反量化的音频数据的值的*次幂,或者,根据预设的补偿量对右移后的音频数据的值的I次幂进行补偿,得到待进行反量化的音频数据的值的I次幂。
13.如权利要求12所述的装置,其特征在于,幂计算模块根据移位参数值对应的*次幂对右移后的音频数据的值的#次幂进行左移,其中,移位参数值为23η,η为正整数。
14.如权利要求9所述的装置,其特征在于,幂计算模块根据修正值对右移后的音频数据的值对应的*次幂进行修正。
15.如权利要求9所述的装置,其特征在于,幂计算模块根据修正值对音频数据的值对应的I次幂进行修正;量化模块根据修正后的音频数据的值对应的I次幂获得音频数据的反量化值。
16.如权利要求14或15所述的装置,其特征在于,还包括修正模块,用于根据关于音频数据的值对应的I次幂的一阶泰勒余项获得修正值;或者,根据预设的数据的值与修正值的对应关系获得音频数据的值对应的1次幂对应的修正值;或者,根据预设的数据的值与索引的对应关系和索引与修正值的对应关系,获得音频数据的值的#次幂对应的修正值。
全文摘要
本发明公开一种音频数据的反量化方法,用于简化音频数据的反量化过程,提高反量化效率,并且节省存储空间。所述方法包括根据用户需求预设门限值;判断哈弗曼解码后的音频数据的值是否大于预设的门限值;当不大于门限值时,根据预设的基础音频数据的值与基础音频数据的值的次幂的对应关系,获得音频数据的值对应的次幂;当大于门限值时,将音频数据的值右移至不大于门限值,根据预设的基础音频数据的值与基础音频数据的值的次幂的对应关系,获得右移后的音频数据的值对应的次幂,根据右移后的音频数据的值对应的次幂获得移位前的音频数据的值对应的次幂;根据音频数据的值的次幂获得音频数据的反量化值。本发明还公开了用于实现所述方法的装置。
文档编号H03M7/30GK102237096SQ201010160638
公开日2011年11月9日 申请日期2010年4月29日 优先权日2010年4月29日
发明者孙大鹏, 朱俊锋, 谢湘勇 申请人:炬力集成电路设计有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1