CN100508402C - 一种aac或mp3解码器中的反量化方法 - Google Patents

一种aac或mp3解码器中的反量化方法 Download PDF

Info

Publication number
CN100508402C
CN100508402C CNB2005101029807A CN200510102980A CN100508402C CN 100508402 C CN100508402 C CN 100508402C CN B2005101029807 A CNB2005101029807 A CN B2005101029807A CN 200510102980 A CN200510102980 A CN 200510102980A CN 100508402 C CN100508402 C CN 100508402C
Authority
CN
China
Prior art keywords
spectral coefficient
value
nonlinear function
multinomial
probability
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.)
Expired - Fee Related
Application number
CNB2005101029807A
Other languages
English (en)
Other versions
CN1741394A (zh
Inventor
冯宇红
邓昊
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGDONG ZHONGXING ELECTRONICS Co Ltd
Original Assignee
Vimicro Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Vimicro Corp filed Critical Vimicro Corp
Priority to CNB2005101029807A priority Critical patent/CN100508402C/zh
Publication of CN1741394A publication Critical patent/CN1741394A/zh
Application granted granted Critical
Publication of CN100508402C publication Critical patent/CN100508402C/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开了一种AAC或MP3解码器中的反量化方法,其包括:步骤一,统计码流中,量化的谱系数的分布概率;步骤二:在量化的谱系数出现概率相对集中的[0,B]范围内,对反量化中的非线性函数采用查表法来计算,其中B点的值可以根据用户的要求设定;步骤三:在谱系数出现概率相对非集中的[B~8191]范围内的,对反量化中的非线性函数通过多项近似来计算。本发明提出结合查找表法和多项式近似来计算AAC解码器的反量化中的非线性函数,可以在内存消耗很小的前提下,既保证很少的计算量,同时又能保证很高的精度。

Description

一种AAC或MP3解码器中的反量化方法
技术领域
本发明涉及音频压缩算法领域,特别是涉及一种AAC或MP3解码器中的反量化方法。
技术背景
AAC(Advanced Audio Coding)是ISO MPEG组织在MPEG-2压缩标准中制定的一项新的音频压缩算法,后来在MPEG-4标准对该算法进行了进一步的增强。AAC同MP3算法不是互相兼容的,同MP3算法相比,AAC采用了一些新的编码工具,因此在相同的压缩质量下,AAC比MP3的压缩比更高。当在硬件设备上实现AAC解码器时,由于功耗和成本的原因,通常设备只支持定点操作,不支持浮点操作。图1给出了AAC解码器的结构图,当在定点设备上实现解码器时,由于AAC解码器中的反量化公式中涉及非线性函数,定点设备并不支持这些非线性函数,因此需要寻找快速的定点实现。
通常,AAC解码器中的反量化采用一种非线性的浮点量化策略。其中,AAC解码器中的量化公式为:
Xquant(k)=sign(X(k)).int{(|X(k)·21/4·(scf-globalgain))3/4+MAGIC_NUMBER}       (1)
其中xquant(k)表示量化后的谱系数;
x(k)表示量化前的谱系数;
scf和globalgain分别是尺度因子和全局增益因子;
MAGIC_NUMBER定义的是常数0.4054。
AAC解码器中的反量化公式为:
Xinquant(k)=sign(Xquant(k))·|Xquant(k)|4/3·21/4·(gloabalgain-scf)           (2)
其中xinquant(k)表示重建的谱系数;
xinquant(k)同X(k)的差异称之为量化误差。
由反量化公式(2)可见,这里涉及两个非线性的幂操作。一个是|Xquant(k)|4/3,其中|Xquant|的范围0~8191;另一个是21/4·(globalgain-scf)。当需要在定点DSP上实现AAC解码器,由于定点设备并不支持这些非线性的浮点操作。我们通常需要采用以下几种方式对上述非线性的幂操作进行处理:
(1)查找表法(lookup table):用一张表保存着这些数学函数f(x)在各个离散点的函数值。此方法的缺点是,消耗太多的内存。优点是,节省计算量。这方法比较适合自变量动态范围不是很大的情况。
(2)查找表+插值法(interpolated LUT):相对于方法1,用一张小表保存少数离散点的函数值,如果函数自变量的值落在表中的两点之间,则采用插值的方法。此方法是在内存和计算量之间的折衷,缺点是插值精度较差。
(3)多项式近似(Polynomial approximation):使用x的幂级数近似非线性的函数。如:
f(x)=a0+a1·x+a2·x2+a3·x3+a4·x4+...         (3)
多项式近似的优点在于:
(1)适合并行计算结构,特别适合支持SIMD(single instruction multiple data)或是MIMD(multiple instruction multiple data)
(2)很小的内存开销。只需保存多项式系数。
(3)具有理论基础的。Weierstrass近似理论:
如果f:[a,b]→R是定义在闭区间[a,b]的一个连续函数, &ForAll; &epsiv; > 0 , 则存在一个多项式函数Pε(x),使得|f(x)-Pε(x)|<ε  x∈[a,b]
多项式近似缺点在于:当多项式的阶数较高时,计算开销较大。
因此,亟待提出一种更优的计算反量化公式中的非线性函数的方法。
发明内容
有鉴于此,本发明的目的在于提出一种结合查找表法和多项式近似两种方法的AAC或MP3解码器中的反量化方法。
为了达到上述目的,本发明提供一种AAC或MP3解码器中的反量化方法,其包括:
步骤一,统计码流中,量化的谱系数的分布概率;
步骤二:在量化的谱系数出现概率相对集中的[0,B]范围内,对反量化中的非线性函数采用查表法来计算,其中B点的值可以根据用户的要求设定;
步骤三:在谱系数出现概率相对非集中的[B~8191]范围内的,对反量化中的非线性函数通过多项近似来计算。
优选的,所述非线性函数为P(x)=X4/3,其中X为量化的谱系数,且0≦X≦8191。
优选的,其特征为:所述反量化公式是AAC解码器中的反量化公式或是MP3压缩标准中使用的反量化公式。
进一步优选的,设定B点的值时需要考虑的因素包括幂函数值Y的精确度、需要储存的谱系数X的个数及出现在[0,B]范围内的谱系数X概率。
进一步优选的,B点的值的范围确定为[13,17]。
进一步优选的,B点的值为15。
进一步优选的,步骤三中对非线性函数通过多项式近似来计算具体包括:
a:根据对精度和计算量的要求,确定多项式及多项式的阶数和系数;
b:根据确定出来的多项式计算出非线性函数的值。
进一步优选的,步骤a中采用minimax polynomial法来获得多项式,。
进一步优选的,采用Remez算法来计算P(x)=x4/3函数的minimax多项式,当多项式的阶数为6时,X的区间选取为[0.5,1]时,多项式系数为a[7]={-0.014840828668,0.503176802784,0.879620120995,-0.649533912857,0.417397714480,-0.164851058049,0.029031186561}
对应的多项式为:
P(x)=a[0]+a[1]·x+a[2]·x2+a[3]·x3+a[4]·x4+a[5]·x5+a[6]·x6
进一步优选的,步骤b可分为以下几步计算:
B1.将多项式的系数采用Q31的定点数来表示;
B2.将自变量X的范围由[16,8191]归一化到[0.5,1]区间,得到新变量X′;X′=X.2N
N为X中除了最高位的符号位外,剩余的符号位的个数。N值的计算可用定点DSP的专用指令完成。乘法可用移位操作完成。此时得到的X′为Q31的定点数;
B3.利用多项式P(x)来计算P(X′);
B4.由X′的幂值P(X′)来恢复X的幂值X4/3
本发明提出结合查找表法和多项式近似来计算AAC解码器的反量化中的非线性函数,可以在内存消耗很小的前提下,既保证很少的计算量,同时又能保证很高的精度。
附图说明
图1是现有技术中AAC解码器的结构图。
具体实施方式
由公式(2)可以知道,在AAC反量化公式中涉及两个非线性函数,一个是|Xquant(k)|4/3,其中|Xquant|的范围0~8191;另一个是21/4·(globalgain-scf)。其中21/4*x函数的计算比较简单,可采用下面方法计算:
Y=21/4*x
采用浮点量化的策略,将Y的结果表示成两部分:尾数部分Yfract(|Yfract|≤1,采用二进制的小数表示)和2的指数部分Yexp(采用二进制的整数表示),则 Y = Y fract * 2 Y exp = ( Y fract ) < < Y exp
通常我们只需要将20/4,21/4,22/4,23/4这四个指数值保存到表中table[4](数组下标从0开始),当x采用二进制补码表示时,Yfract=table[x & 0x3],Yexp=x>>2.例如:
2^(4/4)=2^(1)*2^(0/4)
2^(5/4)=2^(1)*2^(1/4)
明显这种方法实现只需保存四个指数值,所涉及的计算量也很小,只有一个查表操作,一个“位与”操作和2个移位操作。
针对AAC反量化公式中非线性x4/3函数(x∈[0,8191]的整数)的计算,本发明提出结合查找表法和多项式近似来计算AAC解码器的反量化中的非线性函数,可以在内存消耗很小的前提下,既保证很少的计算量,同时又能保证很高的精度。此外,由于AAC和MP3采用类似的量化策略,本发明提出的方法也适用于MP3解码器的反量化中非线性函数的计算。
下面以AAC反量化公式中非线性x4/3函数为例,来说明本发明计算反量化公式中的非线性函数的方法,其包括如下步骤:
步骤一:统计AAC码流中,量化的谱系数X的分布概率以及采用32位定点数(1位符号位)来保存幂函数值Y时的精度,其中Y=X4/3
下表中统计了AAC码流中,量化的谱系数X的分布概率以及采用32位定点数(1位符号位)来保存幂函数值Y时的精度。
 
X的范围 Y的范围 X值出现的概率 定点表示Y的小数点位数              定点表示Y的精度            保存定点数Y的存储量(Word) 
0~15 0~37 99.74% 25 3 x 10<sup>-8</sup> 16
0~31 0~98 99.88% 24 6 x 10<sup>-8</sup> 32
0~63 0~251 99.94% 23 1 x 10<sup>-7</sup> 64
0~127 0~639 99.96% 21 5 x 10<sup>-7</sup> 128
0~255 0~1618 99.98% 20 1 x 10<sup>-6</sup> 256
0~8191 0~165113 100% 13 1 x 10<sup>-4</sup> 8192
步骤二:在X出现概率相对集中的[0,B]范围内,对非线性x4/3函数采用查表法来计算,其中B点的值可以根据用户的要求设定。该步骤具体如下:
从表中谱系数X的分布可以看出,量化后的谱系数X大部分分布在[0~15]范围内,因此在谱系数X的[0~15]范围内即B为15时,对非线性x4/3函数采用查表法来计算。此时,只需在表中保存16个谱系数X的幂值Y,由于大部分的谱系数的幂值可以通过查表来获得,因此这种策略在大量节省内存的情况下,计算量也没有大的增加,同时有能保证很高的精度。需要注意的是,由于B值得选取可以影响幂函数值Y的精确度、需要储存的谱系数X的个数及出现在[0,B]范围内的谱系数X概率,所以,在其他的是实例中,一般可以根据用户对上述因素的要求在15附近选取B值,比如13、14、16、17等。
步骤三:在谱系数X出现概率相对非集中的[B~8191]范围内的,对非线性x4/3函数可以通过多项近似来计算。
下面介绍如何通过多项式近似来计算Y=X4/3,步骤一的特定实施例中B取值15,所以此步骤X属于[16,8191]区间上的整数。
步骤a:根据对精度和计算量的要求,确定多项式的阶数和系数。
从实现角度考虑,一方面我们希望多项式的阶数越小越好,这样既可以减少需要保存的多项式系数{ai},同时也可以节省计算量;但另一方面我们希望多项式近似的精度越高越好;因此我们需要寻找一组多项式系数{ai},希望在最小阶数下保持最大的精度。在实际应用中,我们通常寻找满足给定精度准则(accuracy criterion)下具有最小阶数的多项式。通常采用的几个精度准则有:
(1)最小化最大的绝对误差(Minimize maximum absolute error)
(2)最小化平均的绝对误差(Minimize mean absolute error)
(3)最小化均方误差(Minimize mean squared error)
在实际应用中,一般要考虑最坏情况下的近似误差,因此通常采用精度准则1,即最小化最大的绝对误差。通常把这种方法获得多项式近似称之为minimaxpolynomial法。
在一个特定的实施例中,采用Remez算法来计算P(x)=x4/3函数的minimax多项式。Remez递推算法的交错点初值选取的是切比雪夫多项式(Chebyshev)的交错点。当多项式的阶数为6时,X的区间选取为[0.5,1]时,最大绝对误差为2.6x10-8。此时的多项式系数为
a[7]={-0.014840828668,0.503176802784,0.879620120995,-0.649533912857,0.417397714480,-0.164851058049,0.029031186561}
对应的多项式为:
P(x)=a[0]+a[1]·x+a[2]·x2+a[3]·x3+a[4]·x4+a[5]·x5+a[6]·x6
步骤b:根据确定出来的多项式计算出非线性x4/3函数的值。
可分为以下几步计算((假设整数采用二进制补码表示,字长32位):
(1)6阶多项式的系数可采用Q31的定点数来表示;
(2)将自变量X的范围由[16,8191]归一化到[0.5,1]区间,得到新变量X′;
X′=X.2N
N为X中除了最高位的符号位外,剩余的符号位的个数。N值的计算可用定点DSP的专用指令完成。乘法可用移位操作完成。此时得到的X′为Q31的定点数。
(3)利用多项式P(x)来计算P(X′)。最快的实现需要6个乘法操作和6个加法操作。在实际应用中,根据计算精度和计算量考虑可以适当调整多项式的阶数。下表列出了多项式近似的计算量和存储量同多项式阶数的关系。
 
阶数 乘法次数 加法次数 存储量(word) 精度
3 3 3 4 2.3 x 10<sup>-5</sup>
 
4 4 4 5 2.1 x 10<sup>-6</sup>
5 5 5 6 2.2 x 10<sup>-7</sup>
6 6 6 7 2.6 x 10<sup>-8</sup>
7 7 7 8 3.1 x 10<sup>-9</sup>
(4)由X′的幂值P(X′)来恢复X的幂值X4/3
X4/3=(X.2N-31·231-N)4/3=(X·2N-31)4/3·2(31-N)·4/3
前一项对应的定点数就是P(X′),后一项计算可采用查表来获得。由于16≤X≤8191,18≤N≤26,因此只需保存table[i]=2(13-i)·4/3  0≤i=N-18≤8。具体实现时,为了保证精度,通常采用伪浮点来保存table[i]的值,table_frac[I]保存Q31格式尾数,table_exp[I]保存对应的指数(以2为底)。因此恢复X的幂值X4/3,只需要1个乘法和1个移位操作和两次查表操作。此外,需要额外的存储量18word来保存table_frac和table_exp。
由上述计算过程可见,本文提出的采用多项式近似计算x4/3方法,当多项式阶数为6时,在很小的内存消耗(25个word),既保持很高的精度(2.6x10-8),又只有很少的计算量(6个加法,7个乘法,2个移位,2个查表操作,1个DSP专用指令)。
由此可见,针对AAC反量化公式中非线性x4/3函数(x∈[0,8191]的整数)的计算,本发明提出结合查找表法和多项式近似来计算AAC解码器的反量化中的非线性函数,具体来说即在X出现概率相对集中的[0,B]范围内对非线性x4/3函数采用查表法来计算、在谱系数X出现概率相对非集中的[B~8191]范围内的,对非线性x4/3函数通过多项近似来计算,可以在内存消耗很小的前提下,既保证很少的计算量,同时又能保证很高的精度。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换等,均应包含在本发明的保护范围之内。

Claims (8)

1.一种AAC或MP3解码器中的反量化方法,其包括:
步骤一,统计码流中,量化的谱系数的分布概率;
步骤二:在量化的谱系数出现概率相对集中的范围内,对反量化中的非线性函数采用查表法来计算;
步骤三:在谱系数出现概率相对非集中的范围内的,对反量化中的非线性函数通过多项近似来计算,其中
所述非线性函数为P(x)=X4/3,其中X为量化的谱系数,且0≦X≦8191,其中量化的谱系数出现概率相对集中的范围是指[0,B],谱系数出现概率相对非集中的范围是指[B~8191],其中B点的值根据用户的要求设定。
2.根据权利要求1所述的方法,其特征为:设定B点的值时需要考虑的因素包括幂函数值Y的精确度、需要储存的谱系数X的个数及出现在[0,B]范围内的谱系数X概率。
3.根据权利要求1所述的方法,其特征为:B点的值的范围确定为[13,17]。
4.根据权利要求1所述的方法,其特征为:B点的值为15。
5.根据权利要求1或4所述的方法,其特征为:步骤三中对非线性函数通过多项近似来计算具体包括:
a:根据对精度和计算量的要求,确定多项式及多项式的阶数和系数;
b:根据确定出来的多项式计算出非线性函数的值。
6.根据权利要求5所述的方法,其特征为:步骤a中采用minimax polynomial法来获得多项式。
7.根据权利要求6所述的方法,其特征为:采用Remez算法来计算P(x)=x4/3函数的minimax多项式,当多项式的阶数为6时,X的区间选取为[0.5,1]时,多项式系数为
a[7]={-0.014840828668,0.503176802784,0.879620120995,-0.649533912857,
       0.417397714480,-0.164851058049,0.029031186561}
对应的多项式为:
P(x)=a[0]+a[1]·x+a[2]·x2+a[3]·x3+a[4]·x4+a[5]·x5+a[6]·x6
8.根据权利要求5所述的方法,其特征为:步骤b可分为以下几步计算:
B1.将多项式的系数采用Q31的定点数来表示;
B2.将自变量X的范围由[16,8191]归一化到[0.5,1]区间,得到新变量X′;X′=X·2N
N为X中除了最高位的符号位外,剩余的符号位的个数,N值的计算可用定点DSP的专用指令完成,乘法可用移位操作完成,此时得到的X′为Q31的定点数;
B3.利用多项式P(x)来计算P(X′);
B4.由X′的幂值P(X′)来恢复X的幂值X4/3
CNB2005101029807A 2005-09-16 2005-09-16 一种aac或mp3解码器中的反量化方法 Expired - Fee Related CN100508402C (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CNB2005101029807A CN100508402C (zh) 2005-09-16 2005-09-16 一种aac或mp3解码器中的反量化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CNB2005101029807A CN100508402C (zh) 2005-09-16 2005-09-16 一种aac或mp3解码器中的反量化方法

Publications (2)

Publication Number Publication Date
CN1741394A CN1741394A (zh) 2006-03-01
CN100508402C true CN100508402C (zh) 2009-07-01

Family

ID=36093636

Family Applications (1)

Application Number Title Priority Date Filing Date
CNB2005101029807A Expired - Fee Related CN100508402C (zh) 2005-09-16 2005-09-16 一种aac或mp3解码器中的反量化方法

Country Status (1)

Country Link
CN (1) CN100508402C (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP2315358A1 (en) * 2009-10-09 2011-04-27 Thomson Licensing Method and device for arithmetic encoding or arithmetic decoding
US9606796B2 (en) 2013-10-30 2017-03-28 Texas Instruments Incorporated Computer and methods for solving math functions
CN104484703B (zh) * 2014-12-30 2017-06-30 合肥工业大学 一种基于列梅兹逼近算法的sigmoid函数拟合硬件电路
WO2017181342A1 (zh) * 2016-04-19 2017-10-26 北京中科寒武纪科技有限公司 一种非线性函数运算装置及方法
CN107589935A (zh) * 2017-09-01 2018-01-16 中国科学院计算技术研究所 一种非线性函数计算装置及方法
CN107590105B (zh) * 2017-09-01 2019-02-01 中国科学院计算技术研究所 面向非线性函数的计算装置及方法
CN111582432B (zh) * 2019-02-19 2023-09-12 嘉楠明芯(北京)科技有限公司 一种网络参数处理方法及装置

Also Published As

Publication number Publication date
CN1741394A (zh) 2006-03-01

Similar Documents

Publication Publication Date Title
CN100508402C (zh) 一种aac或mp3解码器中的反量化方法
JP3964765B2 (ja) イメージおよびビデオコード化のための改善ブロック変換および量子化
CN102016829A (zh) 计算逆向离散余弦变换期间的误差减少
Tsai et al. A high quality re-quantization/quantization method for MP3 and MPEG-4 AAC audio coding
US8700687B2 (en) Video codec and method thereof
CN101552009B (zh) 一种mp3编码中的量化方法及装置
Kumar et al. Efficient phase correlation motion estimation using approximate normalization
Cho et al. Error bound reduction for fixed-width modified Booth multiplier
Wang et al. Hardware implementation of transform and quantization for AVS encoder
Sekhar Precision-Aware and Quantization of Lifting Based DWT Hardware Architecture
Wang et al. An 8-point Approximate DCT Design with Optimized Signed Digit Encoding
TW202335498A (zh) 使用量化熵譯碼分佈參數的神經網路媒體壓縮
Benavides et al. FPGAs Implementation of fast algorithms oriented to mp3 audio decompression
Benavides et al. FPGAs Implementation of fast algorithms oriented to mp3 audio decompression Implementación en FPGAs de algoritmos rápidos para descompresión de audio en formato MP3

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
C41 Transfer of patent application or patent right or utility model
TR01 Transfer of patent right

Effective date of registration: 20151109

Address after: 519031 Guangdong city of Zhuhai province Hengqin Baohua Road No. 6, room 105 -478

Patentee after: GUANGDONG ZHONGXING ELECTRONICS CO., LTD.

Address before: 100083, Haidian District, Xueyuan Road, Beijing No. 35, Nanjing Ning building, 15 Floor

Patentee before: Beijing Vimicro Corporation

DD01 Delivery of document by public notice

Addressee: GUANGDONG ZHONGXING ELECTRONICS CO., LTD.

Document name: Notification to Pay the Fees

DD01 Delivery of document by public notice

Addressee: GUANGDONG ZHONGXING ELECTRONICS CO., LTD.

Document name: Notification of Termination of Patent Right

CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20090701

Termination date: 20160916

CF01 Termination of patent right due to non-payment of annual fee