指数计算装置和解码装置制造方法及图纸

技术编号:2888045 阅读:142 留言:0更新日期:2012-04-11 18:40
本发明专利技术的一种装置是一种用来对给定的输入值x计算x^(a/b)(其中a和b均为整常数)的指数计算装置。该装置包含:一个输入控制部分,用来输出x’的值,其中当x≤A时(其中A是x的变化范围内的一个阈值)x’=x,当x>A时x’=x/2^b;一个核心部分,用来输出z’=x’^(a/b)的值;以及一个输出控制部分,用来输出z的值,其中当x≤A时z=z’,当x>A时z=z’↑[*]2^a。(*该技术在2019年保护过期,可自由使用*)

【技术实现步骤摘要】

本专利技术涉及用来对给定的编码比特流执行一种预定计算的指数计算装置和解码装置。较具体地,本专利技术涉及用来对含在一个已根据MPEG(活动图像专家组)2的声频编码标准“AAC”编码的比特流中的给定整数值x和y执行x^(a/b)计算的一种指数计算装置和执行x^(a/b)*2(y/c)计算的一种解码装置。通常,为了对一个给定值x计算z=x^(a/b)(其中a和b均为常数),把对应于所有可能x值的x^(a/b)值存储在一个表格中,并使该表格的地址与各相应的x值相关联。通过读出存储在表格中的值便可得到对应于给定x值的z值。在本说明书中“x的(a/b)次方”写成“x^(a/b)”,其中符号“^”代表采用指数函数,符号“/”代表采用除法函数。这里还使用了代表采用乘法函数的符号“*”。图27示出了一个表格,其中含有x值范围为0≤x≤8191的x^(4/3)值。根据MPEG2的声频编码标准AAC的解码操作,需要计算对应于0至8191范围内的x值的x^(4/3)值。为了对根据MPEG2的声频编码标准AAC编码的数据进行解码而作指数计算时,若采用通常的获得x^(a/b)的方法,则需把输入值x当作地址,从预先提供的如图27所示的表格中读出相应的值,得到作为输出值z的x^(4/3)值。为了对一个编码比特流解码以得到所需数据,必需进行一个预定的计算处理。按MPEG2的声频编码标准AAC编码的比特流含有一个量化码(quantization code)“x”和一个标度因子(scalingfactor)“y”。量化码“x”和标度因子“y”都是整数。对于MPEG2的AAC的情况,解码装置需对给定的x和y值计算x^(a/b)×2^(y/c)(其中a、b、c均为常数)。MPEG2的声频编码标准AAC刊登于IS0/IECl3818-7:1997,pp.57-59。通常,对给定x、y值计算x^(a/b)*2^(y/c)的操作用一个定点格式的DSP(数字信号处理器)按下述方法进行。图28示出一个示例性的32比特(32位)定点格式。参见图28,其中比特0是最低位比特,比特31是最高位比特,小数点固定在比特30和比特29之间。具体地说,比特30代表一个值的整数部分,而比特29至比特0则代表该值的小数部分。比特31是符号位,表明该值是正还是负。这样一种带有固定小数点的数字表示叫做“定点格式”。例如,在图28所示的32位定点格式中,一个值“f”可以在一2≤f<2的范围内变动。因此,为了用一个像DSP这样的定点格式处理单元来进行计算,在进行所需计算之前应把计算所涉及到的每一个值都调节到±2.0的范围之内。在MPEG2的声频编码标准AAC中,x值可在0≤x<8192范围内变化,而y值可在-100≤y<156范围内变化。对于这样的x、y范围考虑下列表达式(1)的计算x^(4/3)*2^(y/4)(1)根据以往技术,可以用一个定点格式处理单元按如下方法来计算表达式(1)。首先把表达式(1)转变成如下的表达式(2)x^(4/3)*2^((y%4)/4)*2^int(y/4)(2)在表达式(2)中,“(y%4)”表示比值y/4的余数,“int(y/4)”表示比值y/4的商(整数)。计算表达式(2)时首先计算x^(4/3)。典型地,这一计算利用一个ROM(只读存储器)表格进行。具体地说,预先计算各个x值的x^(4/3)值,并存储在一个表格中。然后通过把一个给定的x值作为表格的地址来查阅该ROM表格而得到对应于该x值的x^(4/3)值。表达式(1)或(2)的计算是假定使用了一个定点格式的处理单元。具体地说,不同地x^(4/3)值是预先经归一化后存储在表格中的,其最大值已被归一化为不超过1.0的值。图29示出用于普通解码装置的一个第一表格的内容。该表格在对应于各个x值的地址处含有对应于0≤x<8192范围的f(x)值。各f(x)值是这样得以的首先对各个x值计算x^(4/3),然后把各计算值除以2^18以得到均不超过1.0的各个归一化值。对于表达式(2)的计算,接着将计算2^((y%4)/4)。典型地,2^((y%4)/4)也是用一个ROM表格计算的。具体地说,预先对各个整数(y%4)计算相应的2^((y%4)/4)值并存储在一个表格中。然后用一个整数(y%4)作为地址去查阅该表格以得到相应的2^((y%4)/4)值。图30示出用于普通解码装置的一个第二表格的内容。该第二表格含有对应于范围0至3的地址值(y%4)的g(y)值。g(y)值是通过使2^((g%4)/4)归一化而得到的均不超过2.0的值。有了这样的表格之后,便可得到表达式(2)的值。首先用输入整数x作为地址查阅图29所示的第一表格,得到x^(4/3)的归一化f(x)值。然后对给定的整数y计算(y%4)。接着用计算值(y%4)作为地址从图30所示的第二表格得到g(y)=2^((y%4)/4)值。其后用一个乘法器计算f(x)*g(y),得到乘积值f(x)*g(y)=h(x,y)。由于得到的f(x)值在±1范围内而g(y)值在±2范围内,所以乘积h(x,y)的值必定在±2范围内。然后把h(x,y)乘上2^int(y/4),便得到了表达式(2)的计算结果乘积值i(x,y)。该乘法运算可以通过比特移位操作完成。在比特移位操作中,假定还在最后计算结果超出了±2范围时进行一个限制操作(所谓“剪截(clipping)操作”)。这样,在以往技术中i(x,y)=x^(4/3)*2^(y/4)的计算是用大容量表格来进行的。采用上述通常方法来得到x^(a/b)值需要为含有各个不同x^(a/b)值的表格提供大的存储区域。例如,假定存储的x^(a/b)值是32比特定点值,则图27所示表格需要32Kbytes(千字节)的存储区。这样,当x有很大的变化范围时,必须为所需的大存储区而使用大规模的硬件。此外,在计算x^(a/b)*2^(y/c)的通常方法中,计算值f(x)的有效数字数目对于图29中上面部分的比较小的输入整数x来说是不利地太少了。例如,对应于地址x=2的f(x)值只利用了可供利用的32比特中的低14位比特。所以,用这种表格进行的计算结果精度很差。而且,通常的计算方法使用了很大的x范围(即0至8191),从而需要大至8191*32比特的存储区域。结果,通常的解码装置需要一个容量址分大的表格。根据本专利技术的一个方面,提供了一种用来对一个给定输入值x计算x^(a/b)(其中a和b均为整常数)的指数计算装置。该装置包括一个输入控制部分,用来输出x’值,其中当x≤A(其中A是一个位于x变化范围内的阈值)时x’=x,当x>A时,x’=x/2^b;一个核心部分,用来输出z’=x’^(a/b)的值;以及一个输出控制部分,用来输出z值,其中当x≤A时z=z’,当x>A时z=z’*2^a。在本专利技术的一个实施例中,输入控制装置通过在x>A时把x向下移位b个比特位(b位)来计算x’值。在本专利技术的另一个实施例中,核心部分把对应于所有可能x’值(其中0≤x’≤A)的x’^(a/b)值存储在一个表格中。在本专利技术的又一个实施例中,A值的设定使得x小于或等于A的频率等于或大于一个预定值。根据本专利技术的另一个方面,提供了一种用来对一个给定输入值x计算x^(a本文档来自技高网...

【技术保护点】
一种用来对给定的输入值x计算x^(a/b)(其中a和b均为整常数)的指数计算装置,它包括:一个输入控制部分,用来输出x’的值,其中当x≤A时x’=x(其中A是x变化范围内的一个阈值),当x>A时x’=x/2^b;一个核心部分,用来输 出z’=x’^(a/b)的值;以及一个输出控制部分,用来输出z的值,其中当x≤A时z=z’,当x>A时z=z’*2^a。

【技术特征摘要】
...

【专利技术属性】
技术研发人员:宫坂修二藤田刚史末吉雅弘川村明久松本正治片山崇阿部一任西尾孝祐
申请(专利权)人:松下电器产业株式会社
类型:发明
国别省市:JP[日本]

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

1