用于音频编码的动态位分配装置和方法

文档序号:2820820阅读:471来源:国知局
专利名称:用于音频编码的动态位分配装置和方法
技术领域
本发明涉及用于音频编码的动态位分配装置和方法,特别涉及用于对数字音频信号编码以产生有效信息数据的动态位分配装置和方法,以把该数字音频信号通过传输线路发送或把数字音频信号存储于数字存储介质或记录介质中。
随着最近数字音频压缩算法的发展,一些算法被应用于用户应用程序中。一个典型的例子是用于小型光盘(Mini-Disc)产品的ATRAC算法。该算法在1992年9月由索尼公司出版的系列图书“小型光盘系统说明书”的第十章中描述。ATRAC算法属于一类使用部分频带和变换编码的混合编码方案。
图21是示出具有用于根据现有技术执行动态位分配处理的动态位分配模块109a的ATRAC编码器100a的结构。
参见图21,首先,输入模拟音频信号被具有特定采样频率的模数转换器112从模拟形式转换为数字形式,一把该信号分为分别具有512个音频样本的帧(音频样本数据)。然后,每个音频样本的帧被输入到执行两级QMF(正交镜象滤波器)分析滤波的QMF分析滤波模块111。QMF分析滤波器模块111包括QMF滤波器101、QMF滤波器102和QMF滤波器103。QMF滤波器101把具有512个音频样本的音频信号分为两个部分频带(高频带和中/低频带)信号,每个频带具有相等数目(256)的音频样本,并且中/低部分频带信号还被QMF滤波器103分为具有相同数目(128)的音频样本的两个部分频带(中频带和低频带)信号。高频带信号被延时器102延迟QMF滤波器103的处理所需的时间,使得高频带信号与从QMF分析滤波器模块111中输出的各频带的部分频带信号中的中频带信号和低频带信号同步。
因此,块尺寸确定模块104确定被分别用于这三个部分频带信号MDCT(改进的离散余弦变换)模块105、106和107的各个块尺寸模式。该块尺寸模式固定于具有特定更长的时间间隔的长块或具有特定更短时间间隔的短块。当检测到一具有频谱幅值的陡升高电平的冲击信号时,选择短块模式。所有MDCT谱线被归类为52频率分区的波带。在下文中,频率分区频带被称为单元。该归类使得每个较低频率单元与每个较高频率单元相比具有较小数目的谱线。
单元的归类是根据临界频带而进行的。术语“临界频带”或“基准带宽”是指用于由人的听觉处理噪声中的在频率轴上的不均匀波带,其中基准带宽随着频率增加而加宽,例如频宽对于150Hz为100Hz、对于160Hz为1kHz、对于700Hz为4kHz、以及对于2.5kHz为10.5kHz。
示出每个单元的级别的比例因子SF[n]是通过在特定表格中从大于该单元中的最大幅度的谱线的数值中选择最小数值而在比例因子模块108中计算。在动态位分配模块109a中,确定作为被分配以量化一单元的每个频谱采样的数位的数目的字长WL[n]。最后,该单元的频谱采样被结合使用包括位分配数据的比例因子SF[n]和字长WL[n]的附加信息在量化模块110中量化,然后输出声音频谱数据ASD[n]。
动态位分配模块109a在确定编码音频信号的音质以及实现的复杂度的方面非常重要。一些现有的方法利用单元的频谱级别的变化执行数位分配。在位分配过程中,首先具有最高变化量的单元被检索,然后,一个数位被分配给该单元。然后,该单元的频谱级别的变化量由特定的因子所减小。该过程重复进行直到可用于数位分配的所有数位都被用尽。该方法高度迭代并且消耗大量的计算能力。另外,由于缺少对音质屏蔽现象的利用,使得该方法难以获得的良好音质。另外一个这样的用于ISO/IEC11172-3MPEG音频标准中的方法使用非常复杂的音质模型,并且也是一种迭代位分配过程。
对于本领域内的专业人士所众所周知的是建立象MPEG1音频标准这样的数字音频压缩系统利用人的听觉系统的音质模型来估计屏蔽效应的绝对阈值,通过这一方法当量化噪声保持低于绝对阈值时,该量化噪声不被听到。尽管由MPEG1音频标准所提出的两种音质模型可以获得的良好的音质,但是这些模型对于应用在用于用户产品的低成本大规模集成电路中过于复杂。这产生对简化的屏蔽阈值计算方法的需求。
因此,本发明的一个基本目的是提供一种用于音频编码的动态位分配装置,该音频编码可以广泛应用于几乎所有数字音频压缩系统并且能在低成本下简单实现。
因此,本发明的另一个目的是提供一种用于音频编码的动态位分配方法,该音频编码可以广泛应用于几乎所有数字音频压缩系统并且能在低成本下简单实现。
为了实现上述目的,根据本发明在此提供一种用于音频编码用于确定量化一个数字音频信号的多个分解样本所用的数位数目的动态位分配装置或方法,该多个样本被归类为多个分别具有至少一个不同的频率间隔或时间间隔的单元,该不同的频率间隔被根据人的声音特性的临界频带来确定,并且该不同时间间隔包括第一时间间隔和比该第一时间间隔长的第二时间间隔。本发明的装置和方法包括如下步骤(a)绝对阈值设置步骤,用于根据表示人是否能在安静条件下听见声音的安静条件下的特定阈值特性对每个单元设置绝对阈值;(b)绝对阈值调整步骤,用于通过由具有相同频率间隔的多个单元中的最小绝对阈值代替具有第一时间间隔的单元的绝对阈值而调整具有第一时间间隔的单元的绝对阈值;(c)峰值能量计算步骤,用于根据被归类于多个单元的多个样本计算该单元的峰值能量;(d)屏蔽效应计算步骤,用于在所有单元具有第二时间间隔时根据一特定的简化同步屏蔽效应模型和屏蔽单元的峰值能量,用该简化同步屏蔽效应模型计算最小可听极限的屏蔽效应,并用所计算的屏蔽效应更新和设置每个单元的绝对阈值;(e)信号屏蔽比(SMR)计算步骤,用于根据每个单元的所计算峰值能量以及每个单元的所计算绝对阈值计算该单元的SMR;(f)可用数位数目计算步骤,用于根据数字音频信号的帧尺寸计算可用于位分配的数位的数目,假设所有要被量化的频带包括所有单元;(g)SMR正变换步骤,用于通过把特定正数加到所有SMR的SMR把所有单元的SMR正变换,以使该SMR都为正数;(h)SMR偏移量计算步骤,用于根据所有单元的正变换后的SMR、根据对每个特定线性量化器的数位改进信噪比确定的SMR减小步长、以及可用数位的数目计算SMR偏移量,该SMR偏移量被定义为用于减小所有单元的正变换SMR的偏移量;(i)带宽计算步骤,用于根据所计算SMR的偏移量和这些单元的所计算的SNR更新覆盖需要被分配数位的单元的带宽,以便根据所计算带宽更新SMR偏移量;(j)采样数位计算步骤,用于通过从每个单元中的所计算SMR减去所计算SMR的偏移量计算所减得的SMR,然后根据每个单元的被减去的SMR和SMR减小步长计算表示要被分配给量化中的每个单元的数位的数目的采样数位数目;以及(k)剩余数位分配步骤,用于分配从在对于具有比SMR偏移量更大的SMR的最小单元的可用数目的计算数目中减去要被分配给所有单元的采样数位的数目之和所得的保留数位的数目。
在上述装置和方法中,在所述峰值电压计算步骤中,每个单元的峰值电压最好通过执行特定的近似而计算,其中利用特定比例因子表,用对应于该幅值的比例因子代替在每个单元中的最大频谱系数的幅值。
在上述装置和方法中,在所述屏蔽效应计算步骤中,特定简化同步屏蔽效应模型最好包括一个被用于屏蔽比屏蔽单元频率更高的单元的音频信号的高频带侧屏蔽效应模型,以及频率比所屏蔽单元低的低频带侧屏蔽效应模型,以及其中最终对每个屏蔽单元确定的绝对阈值最好被设为在屏蔽单元的设置绝对阈值中的最大值,并且该同步屏蔽效应由所述同时屏蔽模型所确定。
在上述装置和方法中,在所述SMR计算步骤中,最好每个单元的SMR是通过从以分贝(dB)为单位的单元峰值能量中减去该设置绝对阈值而计算。
在上述装置和方法中,在所述SMR偏移量计算步骤中,最好通过根据所有单元的取整的SMR、SMR减小步长和可用于位分配的数位的数目计算初始SMR偏移量,然后根据所计算的初始SMR偏移量执行特定的迭代处理而计算该SMR偏移量。
在上述装置和方法中,所述迭代处理最好包括如下步骤从SMR偏移量的计算中除去具有比初始SMR偏移量更小的SMR的单元;以及根据剩余单元的取整的SMR、SMR减小步长和可用于位分配的可用数位的数目迭代重新计算SMR偏移量,直到在SMR偏移量计算中所涉及的所有单元的SMR变得大于最终确定的SMR偏移量,从而保证不发生分配任何负数位。
在上述装置和方法中,在所述带宽计算步骤中,最好在具有比SMR偏移量更小的SMR的单元连续出现时,通过从特定单元中除去连续单元而计算该带宽,以及其中对应于被除去单元的数位的数目最好被加到可用数位的数目中,以更新可用数位的数目,所述SMR偏移量的更新是根据可用数位的更新数目而进行的。
在上述装置和方法中,在所述采样位计算步骤中,每个单元的采样位的数目最好是通过从每个单元的SMR中减去SMR偏移量、通过用SMR减小步长除去减法运算的结果、然后把除法运算的结果取整而获得的;以及其中,用于具有比SMR偏移量小的SMR单元的数位分配被抑制。
在上述装置和方法,在所述剩余位分配步骤中,最好执行用于分配剩余位的数目的特定第一和第二传送过程;在第一传送过程中,一个数位被分配给每个这样的单元,该单元具有比SMR偏移量大的SMR,但是作为在所述采样位计算步骤中取整的结果没有数位被分配该单元;以及在第二传送过程中,一个数位被分配给每个这样的单元,被分配该单元的数位数目不是最大的数位数目,但是有多个数位被分配给该单元。
在上述装置和方法中,在所述剩余位分配步骤中,当该单元被从最高频率单元变为最低频率单元,第一和第二传送过程最好被执行。
相应地,本发明可以应用于几乎所有数字音频压缩系统。特别地,当用于ATRAC算法时,可以产生具有显著的高声音质量的语音,而可以动态、明显和有效地实现位分配。另外,该位分配过程与现有技术相比具有相对较低的复杂度,并且通过使用本发明的改进ATRAC编码器可以实现音频编码器的低成本大规模集成电路的应用。
在下文参照附图结合最佳实施例的描述中,本发明的目的和特点将变得更加清楚,在附图中相同的部件由相同的参考标号示出,其中

图1是示出具有用于在本发明的一个最佳实施例中执行动态位分配的动态位分配模块109的ATRAC编码器100的结构的方框图;图2是示出由图1的动态位分配模块109所执行的动态位分配过程的第一部分的流程图;图3是示出由图1的动态位分配模块109所执行的动态位分配过程的第二部分的流程图;图4是示出作为图2的子程序的用于短块的绝对阈值调整过程(S203)的第一部分的流程图;图5是示出作为图2的子程序用于短块的绝对阈值调整过程(S203)的第二部分的流程图;图6是示出作为图2的子程序的上斜率屏蔽效应计算过程(S206)的第一部分的流程图;图7是示出作为图2的子程序的上斜率屏蔽效应计算过程(S206)的第二部分的流程图;图8是示出作为图2的子程序的下斜率屏蔽效应计算过程(S206)的第一部分的流程图;图9是示出作为图2的子程序的下斜率屏蔽效应计算过程(S206)的第二部分的流程图;图10是示出作为图3的子程序的SMR偏移量计算过程(S211)的第一部分的流程图;图11是示出作为图3的子程序的SMR偏移量计算过程(S211)的第二部分的流程图;图12是示出作为图3的子程序的带宽计算过程(S212)的第一部分的流程图;图13是示出作为图3的子程序的带宽计算过程(S212)的第二部分的流程图;图14是示出作为图3的子程序的采样位计算过程(S213)的第一部分的流程图;图15是示出作为图3的子程序的采样位计算过程(S213)的第二部分的流程图;图16是示出作为图3的子程序的剩余位分配过程(S214)的第一部分的流程图;图17是示出作为图3的子程序的剩余位分配过程(S214)的第二部分的流程图;图18是示出在图6和7的屏蔽效应计算过程中的上斜率屏蔽效应计算的坐标图,该图示出峰值能量(dB)与临界带宽(Bark)之间的关系;图19是示出在图8和9的屏蔽效应计算过程中的下斜率屏蔽效应计算的坐标图,该图示出峰值能量(dB)与临界带宽(Bark)之间的关系;图20是示出在图14和15的采样位计算过程中利用SMR和SMR偏移量的坐标图,该图示出SMR(dB)与谱线数目/SMR减小步长(dB-1)之间的关系;以及图21是示出具有用于执行现有技术的动态位分配过程的动态位分配模块109a的ATRAC编码器100a的结构的方框图。
下面参照附图描述本发明的最佳实施例。
图1是具有用于执行本发明的一个最佳实施例的动态位分配的动态位分配模块109的ATRAC编码器100的方框图。本最佳实施例的特征在于图21中所示的现有技术的ATRAC编码器100a的动态位分配模块109a由动态位分配过程不同于动态位分配模块109a的动态位分配过程的动态位分配模块109所代替。
尽管下面利用ATRAC算法作为最佳实施例的一个实例对本最佳实施例的动态位分配过程进行描述,但是本最佳实施例也可应用于其它音频编码算法中。
根据本发明的本最佳实施例包括如下步骤(a)通过利用比例因子指数计算所有单元的峰值能量的过程;(b)当使用短块MDCT时调节绝对阈值的过程;(c)用单元的峰值能量计算上斜率屏蔽效应和下斜率屏蔽效应的过程;
(d)计算所用单元的信号屏蔽比(在下文中称为SMR)的过程;(e)把伪偏移量加到所有SMR中使得SMR变为正数的过程;(f)计算SMR偏移量的过程;(g)计算带宽的过程;(h)根据单元的SMR和SMR偏移量计算分配给每个单元的样本位的数目的过程;以及(i)把可用数位中的剩余位分配给几个被选择单元的过程。
具体来说,在用于音频编码用于确定量化数字音频信号的多个分解样本所需的数位的数目的本最佳实施例的动态位分配装置和方法中,多个样本被分组为分别具有至少不同频率间隔或时间间隔之一的多个单元,不同频率间隔被根据人类声音特性的临界频带而确定,并且不同时间间隔包括第一时间间隔和比第一时间间隔更长的第二时间间隔。该装置和方法包括如下步骤(a)绝对阈值设置步骤,用于根据表示人是否能在安静条件下听见声音的安静条件下的特定阈值特性对每个单元设置绝对阈值;(b)绝对阈值调整步骤,用于通过由具有相同频率间隔的多个单元中的最小绝对阈值代替具有第一时间间隔的单元的绝对阈值而调整具有第一时间间隔的单元的绝对阈值;(c)峰值能量计算步骤,用于根据被归类于多个单元的多个样本计算该单元的峰值能量;(d)屏蔽效应计算步骤,用于在所有单元具有第二时间间隔时根据一特定的简化同步屏蔽效应模型和屏蔽单元的峰值能量,用该简化的同步屏蔽效应模型计算最小可听极限的屏蔽效应,并用所计算的屏蔽效应更新和设置每个单元的绝对阈值;(e)信号屏蔽比(SMR)计算步骤,用于根据每个单元的所计算峰值能量以及每个单元的所计算绝对阈值计算该单元的SMR;(f)可用数位数目计算步骤,用于根据数字音频信号的帧尺寸计算可用于位分配的数位的数目,假设所有要被量化的频带包括所有单元;(g)SMR正变换步骤,用于通过把特定正数加到所有SMR的SMR把所有单元的SMR正变换,以使该SMR都为正数;
(h)SMR偏移量计算步骤,用于根据所有单元的正变换后的SMR、根据对每个特定线性量化器的数位改进信噪比确定的SMR减小步长、以及可用数位的数目计算SMR偏移量,该SMR偏移量被定义为用于减小所有单元的正变换SMR的偏移量;(i)带宽计算步骤,用于根据所计算SMR的偏移量和所计算的SMR更新覆盖需要被分配数位的单元的带宽,以便根据所计算带宽更新SMR偏移量;(j)采样数位计算步骤,用于通过从每个单元中的所计算SMR减去所计算SMR的偏移量计算所减得的SMR,然后根据每个单元的被减去的SMR和SMR减小步长计算表示要被分配给量化中的每个单元的数位的数目的采样数位数目;以及(k)剩余数位分配步骤,用于分配从在对应于具有比SMR偏移量更大的SMR的最小单元的可用数目的计算数目中减去要被分配给所有单元的采样数位的数目之和所得的保留数位的数目。
所有单元的峰值能量从它们的最大频谱采样数据中确定。这可以用它们相应的比例因子指数来近似,这样可以避免采用对数运算。然后该峰值能量被用于估计简化的同时屏蔽绝对阈值,以及用于计算信号屏蔽比(SMR)。该同时屏蔽模型的函数由上斜率和下斜率来近似。请注意对于用于频率的频谱信号的屏蔽曲线模型,高于频谱信号的频率区域的屏蔽曲线被称为上斜率,低于频谱信号的频率区域的屏蔽曲线被称为下斜率。上斜率屏蔽效应的梯度假设为-10dB/Bark,并且下斜率屏蔽效应的梯度为27dB/Bark。假设每个单元具有一个主屏蔽音频信号(在下文中也称为“主屏蔽”),它的声音压缩程度由该单元的峰值能量所表示,而不考虑其听觉特性。由一具有主屏蔽音频信号的单元(在下文中称为主屏蔽单元),以及具有由该主屏蔽单元所屏蔽的其它音频信号的单元(在下文中称为“被屏蔽单元”)所表现的屏蔽效应,是从用在主屏蔽单元内的最大绝对阈值与被屏蔽单元最大绝对阈值之间的临界带宽(Bark)表达的最差情况的距离,以及下斜率的梯度或上斜率的梯度计算而得的,采用下斜率的梯度或上斜率的梯度取决于该被屏蔽单元是位于比主屏蔽音频信号更高或更低的频率区域。
同步屏蔽效应只有当特定帧的所有三个部分频带由长块模式的MDCT所变换时才被应用。给定单元的屏蔽绝对阈值是从对该单元计算的绝对阈值、低频带屏蔽绝对阈值和高频带屏蔽绝对阈值中的最大值来选择的。在一些或全部部分频带被利用短块MDCT变换为多条谱线的情况下,只使用被调节的绝对阈值。由于时间和频率分辨率的改变需要对该绝对阈值进行调解。例如,如果长块MDCT被四个相等长度的短块MDCT所代替,则现在由四个长块单元所跨越的频率间间隔由四个短块单元的每一个所覆盖。因此,从四个长块单元中选择的最小绝对阈值被用来表示四个短块单元的被调节绝对阈值。
位分配过程采用SMR偏移量来加速采样位的分配。在被用于SMR偏移量计算之前,所有单元的原始SMR被通过加上一个伪正数而升高变为大于0值。利用这些升高的SMR和其它象在给定单元内的谱线的数目和可用数位的数目这样的参数可以计算SMR偏移量。然后从SMR和SMR偏移量确定带宽。只有具有大于SMR偏移量的SMR的那些单元被分配数位。表示被分配给一单元的数位的数目的采样位数值可以通过用SMR减小因子(或SMR减小步长数)除SMR和SMR偏移量之间的差别而计算。该SMR减小因子与线性量化器的以分贝为单位的信噪比(SNR)的改进数值密切相关,该数值具有一个量化位的每个增量,并且被取值为6.02dB。对所计算采样位进行取整操作,并且该采样位也受到最大16位的限制。这样,即使如果一些数位被分配给某些单元,还剩下一些数位。这剩下的数位在两个步骤中分配回具有大于SMR偏移量的SMR的单元。第一步骤把两个数位分配给未被分配给数位的单元。第二步骤把一个数位分配给数位分配在两个和15个数位之间的单元。一这种方式对多个单元进行位分配。
因此,本最佳实施例的特征在于,在现有技术的动态位分配过程中需要复杂计算的屏蔽效应计算被通过利用简化的同步屏蔽效应模型而简单实现。结果,可以获得具有高质量的音质和较少计算量的有效动态位分配过程。
参见图1,除了动态位分配模块109之外的处理模块与图21中所示的现有技术的处理模块工作方式相同。
图2和3是示出要由图1中的动态位分配模块109所执行的动态位分配过程的流程图。
首先,在图2中的步骤S201的初始化处理中,用于表示被分配给所有单元u(u=0,1,2,…,umax-1)的数位数目的字长指数(WLindex[u])和用于位分配过程或类似过程中的负数标记(negflag[u])都被初始化为0。请注意,在此最好umax=52。
接着,该步骤S202的绝对阈值下载过程中,该单元的绝对阈值(也称为在安静条件的阈值)被下载以设置数值qthreshold[u]。根据现有参考文献由E.Zwicker等人所著的《心理声学事实和模型》,Springer-Verlag,1990,作为在安静条件下的绝对阈值,只有可听见的单音的声压级作为频率的函数被示出。在MPEG1的声学标准规范中,在安静条件下的阈值也被称为绝对阈值。所有在安静条件下的阈值中,在安静条件下的可听阈值和在安静条件下的屏蔽阈值具有相同的平均值。
接着,在用于步骤S203的短块的绝对阈值调整过程中,根据是否激活短块模式,调节特定频带的绝对阈值。在步骤S204的峰值能量计算过程中,所有单元u(u=0,1,2,…,umax-1)的峰值能量(peak_energy[u])由如下方程(1)所计算peak_energy[u]=10×log10(max_spectral_amplitude[u]2)[dB]=10×log10(scale_factor[u])2=(sfindex[u]-15)×2.006866638…(1)其中u(u=0,1,2,…,umax-1)。
从方程(1)可以明显看出对单元u的峰值能量(peak_energy[u])的计算可以用在具有其对应的比例因子(scale_factor[u])的相关单元u中的最大频谱幅值(max_spectral_amplitude[u])所代替而近似计算。该比例因子(scale_factor[u])是从下文所示的大于在相关单元u中的最大频谱幅值(max_spectral_amplitude[u])的比例因子表中选择出来的最小数字。在ATRAC算法中,该比例因子表包括由6位比例因子指数(sfindex[u])所寻址的64个比例因子值。该比例因子表如下。
表1
为了取消用于有效实现本最佳实施例的对数运算,比例因子指数(sfindex[u])被用于简化峰值能量(peak_energy[u])的计算。升到0dB峰值能量的比例因子指数15被用作为参考值。峰值能量(peak_energy[u])通过从比例因子指数(sfindex[u])中减去参考值15,并把所得的差乘以常数2.006866638计算而得。该常数表示每个比例因子指数(sfindex[u])的级别中以分贝(dB)为单位的平均峰值能量的增量。
在图3的步骤S205中,决定是否所有三个部分频带(低、中和高频带)被周长块MDCT进行编码。如果在步骤S205中为“是”,则在步骤S206中执行上斜率屏蔽效应计算过程,然后在步骤S207中执行下斜率屏蔽效应计算过程,接着流程转到步骤S208。另一方面,如果在步骤S205中为“否”,则流程直接转到步骤S208。即,当所有三个频带的部分频带被用来自MDCT的长块数据编码时,可以在步骤S206和S207中计算简化的同时屏蔽绝对阈值。主屏蔽单元的扩展函数确定在除了主屏蔽单元自身的频率之外的其它频率处的屏蔽程度(在下文中称为屏蔽效应)。该屏蔽效应由上斜率和下斜率来近似。在本最佳实施例中,上斜率和下斜率被分别选择为-10dB/Bark和27dB/Bark。
图18是示出在图6和7的上斜率屏蔽效应计算过程中的上斜率屏蔽效应计算的曲线图,该图示出峰值能量(dB)和临界带宽(Bark)之间的关系。图19为示出图8和9的下斜率屏蔽效应计算过程中的下斜率屏蔽效应计算的曲线图,该图示出峰值能量(dB)和临界带宽(Bark)之间的关系。
考虑最差的近似情况,当用于上斜率屏蔽效应计算时,假设在主屏蔽单元中的主屏蔽音频信号发生在主屏蔽单元中的下边缘。这也应用于下斜率屏蔽效应计算中,其中假设在主屏蔽单元中的主屏蔽音频信号发生在主屏蔽单元的上边缘。
在图3中的步骤S208的SMR计算过程中,所有单元u的SMR(smr[u])由如下方程(2)所计算smr[u]=peak_rnergy[u]-qthreshold[u]…(2)其中u=0,1,2,…,umax-1接着,在步骤S209的位数目计算过程中,假设要被首先量化的整个带宽具有52个单元,可用于位分配的位数目available_bit由如下方程(3)所计算available_bit=(sound_frame-4)×8-(52×10)…(3)其中sound_frame表示以字节为单位的帧尺寸,并且最好为212字节。在方程(3)中,从sound_frame中减去的四个字节被用于对三个部分频带和带宽指数(amount
)的块模式进行编码。字长指数(4个位)的辅助信息(每个单元中总共有10个位)以及包括52个单元的比例因子指数的辅助信息(6个位)由52×10个位所编码。
接着,在步骤S201的SMR正变换过程中,以伪正数被加到所有SMR值上使得该SMR值在被用于步骤S211的SMR偏移量计算过程中计算SMR偏移量之前变为正值。然后,要被量化的带宽在步骤S212的带宽计算过程中确定。接着,该步骤S213中,SMR偏移量被用于采样位计算过程中,其中表示要被分配给单元的位的数目的采样位数目被计算。然后,在步骤S214的剩余位分配过程中,在对该单元使用采样位之后剩余的数位被分配给一些被选择单元作为剩余可用位的数目。
下面具体描述现在作为子程序的上述主程序动态位分配过程,其中包括步骤S203的用于短块的绝对阈值调整过程、步骤S206的上斜率屏蔽效应计算过程、步骤S207的下斜率屏蔽效应计算过程、步骤S211的SMR偏移量计算过程、步骤S212的带宽计算过程、步骤S213的采样位计算过程、以及步骤S214的剩余位分配过程。
图4和5为示出用于短块的绝对阈值调整,它是图2的子程序。
在本最佳实施例的系统中,由一个单元所覆盖的频带在短块和长块之间存在差别。也就是说,长块的4个单元对应于在低和中频带内的短块的一个单元,而长块的8个单元对应于在高频带内的短块的一个单元。因此,用于单元的绝对阈值在长块与短块之间存在差别。在本最佳实施例中,用于长块的绝对阈值被在步骤S202中设置,并且用于短块的绝对阈值被在步骤S203中调整。
在图4的步骤S301中,低频段的MDCT数据被首先检测。如果使用短块,则程序转到步骤S302,否则,程序转到S305。在步骤S302中,从具有相同频率间隔但属于不同时间帧的单元组中检索或确定最小绝对阈值。在最佳实施例的系统中,对于短块的情况,一个帧被分为多个时间帧。即,一个帧被分为在低和中频段内的四个时间帧,并且一个帧被分为在高频段内的八个时间帧。相应地,在此“时间帧”这个术语是指在相同编码中的不同短块。然后在步骤S303中,这样单元的原始长块绝对阈值被在最小绝对阈值所代替。在步骤S304中,确定步骤S302和S303的过程是否在低频段内被所有组执行。如果在步骤S304的判断为“是”,则程序转到步骤S305,否则程序返回到步骤S302。步骤S302、S303和S304的过程重复进行,直到在低频段内的所有组都已被处理。在图5中,与对低频段所进行的绝对阈值调整过程相类似,在步骤S305至S308对在中频段内的所有组执行绝对阈值调整过程,在步骤S309至S312对在高频段内的所有组执行绝对阈值调整过程。这些步骤之后,程序流返回到原主程序。
图6和7为示出作为图2的子程序的上斜率屏蔽效应计算过程(步骤S206)的流程图。
在图6的步骤S401中,主屏蔽单元umr被设为从第一单元开始。请注意,“第一单元”是指最低频率单元(u=0),并且“最后单元”是指最高频率单元(u=umax-1)。然后,在步骤S402中,被屏蔽单元umd被设为从下一较高频率单元(umr+1)开始到主屏蔽单元umr。在步骤S403中,取决于主屏蔽单元umr的临界带宽或Bark(bark[umr])由如下方程(4)所计算mask_index=a+(b×bark[umr])…(4)其中a和b为任意常数,并且bark[umr]为主屏蔽单元umr的较低则临界频带率边界。Bark(bark)表示临界频带率(z)的单位。从频率级映射到临界频带率可以用如下方程(5)进行z[bark]=13×tan-1(0.76f)+3.5×tan-1(f/7.5)2…(5)其中f是以kHz所表达的频率。
接着在步骤S404中,作用于当前被屏蔽单元umd的上斜率屏蔽效应(mask_effect(upper-slope))由如下方程(6)所计算mask_effect(upper-slope)=peak_energy[umr]-mask_index-{(bark[umd]-bark[umr])×10.0}
…(6)其中bark[umd]是被屏蔽单元umd的上临界频带率的边界,而bark[umr]是主屏蔽单元umr的下临界频带率的边界。
在步骤S405中,如果这种转移条件满足上斜率屏蔽效应(mask_effect(upper-slope))大于所有被屏蔽单元内的最低绝对阈值,并且满足被屏蔽单元umd的频率低于或等于最后单元的频率,则程序流转到图7的步骤S406,否则程序流转到步骤S410。
在图7的步骤S406中,如果上斜率屏蔽效应(mask_effect(upper-slope))大于被屏蔽单元umd的绝对阈值(qthreshold[umd]),则程序流转到步骤S407,在此被屏蔽单元umd的绝对阈值(qthreshold[umd])被设为上斜率屏蔽效应(mask_effect(upper-slope)),然后程序流转到步骤S408。另一方面,在步骤S406中,如果上斜率屏蔽效应(mask_effect(upper-slope))不大于被屏蔽单元umd的绝对阈值(qthreshold[umd]),则程序流直接转到步骤S408。然后在步骤S408中,被屏蔽单元umd被增加到下一个较高单元(umd+1)。另外,在步骤S409中,用于当前被屏蔽单元umd的上斜率屏蔽效应(mask_effect(upper-slope))被利用上述方程(6)再次计算。
步骤S406至S409的过程重复循环进行直到上斜率屏蔽效应(mask_effect(upper-slope))被测试为小于在所有单元中的最低绝对阈值,或直到被屏蔽单元umd被设为高于在步骤S405的最后单元(直到获得这种转移状态)。一旦这种转移状态发生后(在步骤S405中为“否”),则在图6的步骤S410中主屏蔽单元umr被设为下一较高频率单元(umr+1)。步骤S402至S410的过程被重复进行直到在步骤S411中主屏蔽单元umr被证实等于最后单元。如果主屏蔽单元umr变为等于该最后单元(在步骤S411中为“是”),则上斜率屏蔽效应计算过程被完成,接着执行主程序中的步骤S207的下斜率屏蔽效应计算过程。
图8和9为示出作为图2的子程序的下斜率屏蔽效应计算过程(步骤S207)。
在图8中的步骤S501中,主屏蔽单元umr被设为从最后单元开始。然后在步骤S502中,被屏蔽单元umd被设为从下一较低频率单元(umr-1)开始到主屏蔽单元umr。在步骤S503中,以与上斜率屏蔽效应计算过程相类似,屏蔽指数(mask_index)由上述方程(4)所计算。然后,在步骤S504,下斜率屏蔽效应(mask_effect(lower-slope))利用如下方程(7)来计算mask_effect(lower-slope)=peak_energy[umr]-mask_index-{(bark[umr]-bark[umd])×27.0}…(7)其中bark[umd]是被屏蔽单元umd的下临界频带率的边界,而bark[umr]是主屏蔽单元umr的上临界频带率的边界。
在步骤S505中,如果这些转移条件被满足,即下斜率屏蔽效应(mask_effect(lowel-slope))大于在所有被屏蔽单元内的最低绝对阈值,并且被屏蔽单元umd的斜率高于或等于第一单元的频率,然后程序流转到图9的步骤S506。否则,程序流转到步骤S510。
在图9的步骤S506中,下斜率屏蔽效应(mask_effect(lower-slope))与被屏蔽单元umd的绝对阈值(qthreshold[umd])相比较,其中如果下斜率屏蔽效应(ma sk_effect(lower-slope))大于绝对阈值(qthreshold[umd]),则程序流转到步骤S507,否则,程序流转到步骤S508。在步骤S507中,被屏蔽单元umd的绝对阈值(qthreshold[umd])被设为下斜率屏蔽效应(mask_effect(lower-slope)),然后程序流转到步骤S508。
应当注意,在步骤S506和S507之前,该绝对阈值可能已被上斜率屏蔽效应(mask_effect(upper-slope))所改变。因此,作为最后过程的结果,最高屏蔽阈值是从被屏蔽单元umd的绝对阈值(qthreshold[umd])中选择的,上斜率屏蔽效应(mask_effect(upper-slope))和下斜率屏蔽效应(mask_effect(lower-slope))表示被屏蔽单元umd的屏蔽绝对阈值(qthreshold[umd])的级别。
一但当前被屏蔽单元umd被处理后,在步骤S508该被屏蔽单元umd被降低到下一较低频率单元。然后,在步骤S509,用方程(7)重新计算新的下斜率屏蔽效应(mask_effect(lower-slope))。步骤S505至步骤S509的过程被重复进行,直到下斜率屏蔽效应(mask_effect(lower-slope))被测试为小于最低绝对阈值,或者在步骤S505被屏蔽单元umd被设为小于第一单元。在这种情况下,如果在步骤S505为“否”,则在图8的步骤S510中该主屏蔽单元umr被设为下一较低频率单元(umr-1)。在步骤S511,如果主屏蔽单元umr还未到达第一单元,则程序流返回到步骤S502。步骤S502至S510的过程重复进行直到主屏蔽单元umr到达第一单元。如果在步骤S511中为“是”,则主程序流返回到原主程序。
图10和11示出在图3的步骤S211中的SMR偏移量计算过程的流程图。在步骤S601至步骤S604的过程中,初始SMR偏移量被根据如下方程(8)至(15)进行计算abit={(smr
-smr_offset)/smrstep}×L
+{(smr[1]-smr_offset)/smrstep}×L[1]+…+{(smr[umax-1]-smr_offset)/smrstep}×L[umax-1]…(8)其中abit是表示可用于位分配的数位数目的可用位数目,tbit是表示满足所有单元的SMR所需的数位的总数,L[u]是表示在单元u中的谱线的数目,umax是表示单元的总数,smr[u]是表示单元u的SMR,smr_offset是表示SMR偏移量,以及smrstep是表示用于分配以分贝为单位的一个采样位的SMR减小步长。
现在如果用于单元u的参数n[u]被定义为如下方程(9)所示,则方程(8)由方程(10)所代替,其中需要满足所有单元的SMR的数位的总数(tbit)由方程(11)所表达n[u]=L[u]/smrstep…(9)abit=(smr
-smr_offset)×n
+(smr[1]-smr_offset)×n[1]+…+(smr[umax_1]-smr_offset)×n[umax-1]…(10),以及tbit=smr
×n
+smr[1]×n[1]+…+smr[umax-1]×n[umax-1]…(11)
因此,如下方程(12)保持,并且SMR偏移量(smr_offset)由方程(13)所计算tbit-abit=smr_offset×n
+smr_offset×n[1]+…+smr_offset×n[umax-1]…(12),以及smr_offset=(tbit-abit)/(n
+n[1]+…+n[umax-1])…(13)。
在此,变量nsum由如下方程(14)所定义,并且变量dbit由方程(15)所定义nsum=n
+n[1]+…+n[umax-1]…(14),以及dbit[u]=smr[u]×n[u]…(15)。
在此应用中,SMR减小步长(smrstep)被选择为6.02dB。该数值表示对每个分配给线性量化器的数位改进的近似的信噪比(SMR)。在此有几种一些单元的SMR小于SMR偏移量(smr_offset)的情况,并且当这些情况发生时,这几个单元可能会接收负位分配。在图10和11中的步骤S605至S614的处理序列中保证这些单元参与SMR偏移量(smr_offset)的计算,使SMR(smr[u])大于该SMR偏移量(smr_offset)。这可以通过迭代消除循环而实现。
图10和11是示出作为图3的子程序的SMR偏移量计算过程(S211)的流程图。
参见图10,变量nsum和变量tbit都在步骤S601中初始化为0。然后在步骤S602和S603,对于所有单元的参数n[u]和dbit[u]由方程(9)和(11)所计算,而变量nsim和tbit的参数预先由方程(14)和(15)所计算。然后在步骤S604中,SMR偏移量的初始值(smr_offset)由上述方程(13)所计算。另外在步骤S605中,作为判断SMR偏移量计算过程是否完成的判断基准的负计数器(neg_counter)被设为1。
接着,在图11的步骤S606中,判断是否满足负计数器(neg_counter)等于0的结束条件。如果结束条件满足,SMR偏移量计算过程则完成,然后程序流转到在原主程序中的图3的步骤S211,否则,程序流转到步骤S607。在步骤S607中,负计数器(neg_counter)被设为0。然后为了对所有单元执行步骤S608至S615的过程,在步骤S608判断是否满足u≥umax的条件。如果该条件满足,则程序流转到步骤S609,否则,程序流转到步骤S610。在步骤S610判断是否满足负数标记(negflag[u])等于0的条件,如果该条件不满足,则程序流转到步骤S615。另一方面,如果该条件满足,程序流转到步骤S611。在步骤S611中,单元u的SMR(smr[u])与SMR偏移量(smr_offset)相比较,其中,如果SMR(smr[u])等于或大于SMR偏移量(smr_offset),则程序流转到步骤S615。另一方面,如果SMR(smr[u])小于SMR偏移量(smr_offset),则程序流转到步骤S612。然后在步骤S612中,为了鉴别具有小于SMR偏移量(smr_offset)的SMR(smr[u])的单元u,单元u的负标记(negflag[u])被设为1,使得避免该单元u参与新的SMR偏移量(smr_offset)的计算。在步骤S613中,负计数器(neg_counter)被通过按1增加该计数器而置数。然后在步骤S614中,方程(11)的变量tbit被通过从变量tbit的当前值减去或除去不需要的数值dbit[u]=smr[u]×n[u]而更新,并且表示方程(14)的变量n[u]的总和的变量nsum被通过从变量nsum的当前值减去(或除去)不需要的数值n[u]而更新。该减去或除去过程意味着从SMR偏移量计算过程中除去单元u。请注意,变量u表示被避免参与SMR偏移量的计算的单元数目,即,应当被除去并具有小于SMR偏移量(smr_offset)的SMR的单元的数目。接着,在步骤S615中,该单元数目u被通过按1增加而置数,然后程序流转到步骤S608。
如果在步骤S608中判断步骤S610至S615的过程已经对所有单元执行,则程序流转到步骤S609。在步骤S609中,一个新的SMR偏移量(smr_offset)被上述方程(13)所重新计算,然后程序流返回到步骤S606。
在这些步骤中,该新的SMR偏移量(smr_offset)被循环利用,并在该消除过程中计算直到SMR偏移量(smr_offset)变得小于参与该计算过程的所有单元的任何SMR。
图12和13是示出作为图3的子程序的带宽计算过程(S212)的流程图。由该带宽指数所表示的单元数amount
在下表中示出。
表3
参见图12,首先在步骤S701中,变量i被设为51(最后的单元数)。然后在步骤S702中,如果满足负标记(negflag[i])为1的条件,则程序流转到步骤S703,否则程序转到步骤S704。在步骤S703中,变量i被通过按1增加而置数,并且完成步骤S702的过程。即,在步骤S701至S703中,具有负标记negflag[i]=1的连续单元的数目被从最后单元umax-1开始计数,并且无论何时遇到具有负标记negflag[i]=0的单元u时,该计数过程将停止。在步骤S704中,计数(51-i)然后转换为作为由下述方程(16)所计算的整数的指数k,接着程序流转到步骤S705k=(integer){(51-i)/4}…(16)其中(integer){·}表示取整运算。
在步骤S705至S709,根据指数k值确定带宽指数amount
,并且在必要时调整指数k。参见图13,首先,在步骤S705中,如果满足指数k等于或小于5的条件,则程序流转到步骤S709。否则,程序流转到步骤S706。在步骤S706,程序流由指数k等于或小于7这样的条件所转移。如果转移条件满足,则程序流转到步骤S707,否则程序流转到步骤S708。在步骤S707中,带宽指数amount
被设为1,指数k被设为6,然后,程序流转到步骤S710。在步骤S708中,带宽指数amount
被设为0,指数k被设为8,然后程序流转到步骤S710。在步骤S709中,带宽指数amount
被设为7-k,然后,程序流转到步骤S710。在步骤S710中,可用数位的数目abit由如下方程(17)所更新abit←abit+(k×40)…(17)其中指数k是可以在带宽确定中被除去的单元数的指示,实际除去的单元数为(k×4)。
因当注意,对于每个被除去的单元可以从字长指数WLindex[u](4个位)和比例因子指数srindex[u](6个位)的辅助信息中恢复,并且该恢复的位可以对其它单元分配。恢复的位在步骤S710中加到方程(17)中的可用位的数目abit中。
接着,在步骤S711中,利用方程(13)重新计算SMR偏移量(smr_offset),并且在步骤S712中,在所计算带宽内的最大单元数假设为u’max。当步骤S712的过程完成时,带宽计算过程被完成,其中程序流返回到执行图3中步骤S213的采样位的计算过程的原主程序。
图14和15是作为图3中的子程序的采样位计算过程的流程图。
参见图14,在该过程中,执行对单元的位分配过程。首先在步骤801中,单元数u被设为0。然后在步骤S802中,如果满足u≥u’max的结束条件,则程序流转到步骤S812,否则,程序流转到步骤S803。请注意,在带宽计算过程中所计算的带宽内的最大单元数假设为u’max。在步骤S803中,判断是否负数标记negflag[u]=0。如果在步骤S803中为“是”,则程序流转到步骤S804,否则,程序流转到图14中的步骤S811。在步骤S804中,用如下方程来计算用于每个被选择单元的采样位(sample_bit),其中在所计算带宽内的单元数假设为u’maxsample_bit←(integer){(smr[u]g smr_offset)/smrstep} …(18)其中(integer){·}表示取整运算。
表示要被分配给单元的每条谱线的位数的采样位(sample_bit)只对存在于在带宽计算过程中计算的带宽内的单元u计算,其中负数标记(ngeflag[u])为0,如步骤S802至S804中所示。0采样位(sample_bit)被返回到其它单元。
利用SMR和SMR偏移量进行的位分配的概念在图20中示出。图20为示出在图14和15的采样位计算过程中利用SMR和SMR偏移量模拟位分配的坐标图,该坐标图表示SMR(dB)与谱线/SMR减小步长(dB-1)之间的关系。如上文所述,SMR减小步长(smrstep)被设为6.02dB。
一旦在步骤S804中,对该单元的采样位(sample_bit)的计算完成后,如果采样位(sample_bit)的数值落在许可范围之外,这在图15的步骤S805至S809中对该采样位进行某些调整。更具体来说,该步骤S805中,判断是否满足采样位(sample_bit)小于2的条件,其中如果该条件满足,则程序流转到步骤S806,否则,程序流转到步骤S807。在步骤S806中,采样位(sample_bit)被设为0,字长指数(WLindex[u])被设为0,负数标记(negflag[u])被设为2,然后程序流转到步骤S810。另一方面,在步骤S807中,判断是否满足采样位(sample_bit)大于或等于16的条件,如果该条件满足,则程序流转到步骤S808,否则,程序流转到步骤S809。在步骤S808中,采样位(sample_bit)被设为16,字长指数(WLindex[u])被设为15,负数标记(negflag[u])被设为1,然后程序流转到步骤S810。在步骤S809,字长指数(WLindex[u])被设为sample_bit-1的数值,然后程序流转到步骤S810。
也就是说,单元u的字长指数(WLindex[u])和负数标记(negflag[u])被随着上述过程而设置,其中如果单元u的采样位(sample_bit)大于或等于2,则负数标记(negflag[u])被设为2。如果采样位(sample_bit)大于或等于16,则负数标记(negflag[u])被设为1。负数标记(negflag[u])的设置将被用于图3中步骤S204的剩余位分配过程。从采样位(sample_bit)到字长指数(WLindex[u])的映射如下所示
表4
接着在步骤S810中,可用位(abit)的数目减小了如下述方程(19)所示的单元u的采样位(sample_bit)乘以谱线(L[u])的数目所得的乘积,其中方程(19)为abit←abit-(sample_bit×L[u])…(19)。
接着在步骤S811中,单元u通过按1增加该单元而置数,并且程序流转到步骤S802的过程中。当步骤S803至S811的过程已经对所有单元完成后,程序流从步骤S802转到步骤S812。在步骤S812中,作为从可用位的总数中减去被分配给所有单元的位数目所得的最终结果的abit数值被剩余可用位(abit’)的数目所代替,其中该采样位计算过程被完成,然后程序流转到作为原主程序的图3中步骤S214。
图16和17是作为图3中的子程序的剩余位分配过程(S214)的流程图。在该过程中,从可用位的总数中减去要被分配给在采样位计算过程中所计算的所有单元的位数目而获得的剩余可用位(abit’)的数目进一步被分配给几个被选择单元,其中两个位在第一过程中被分配给SMR大于SMR偏移量并且在步骤S213中没有被分配数位的单元,并且在第二过程中再分配一个位。任何剩余可用位(abit’)的数目被分配给根据其负数标记(negflagp[u])设置而被选择的单元u。剩余可用位(abit’)的存在是由于取整运算的发生于采样位计算过程中的16位的最大限度的采样位饱和度。采用两个过程来分配剩余位,并且在每个过程中,剩余可用位(abit’)的数目的位分配分别从在步骤S901和S907中计算的带宽内的最高频率单元开始。第一过程位分配是在步骤S901至S907的过程中执行的,而第二过程位分配是在步骤S908至S914的过程中执行的。
首先,在图16的第一过程中,单元u的初始期望值被设为在步骤S901所计算带宽内的最高频率单元。然后,在步骤S902中,判断是否满足u<0的结束条件,如果该结束条件满足,则程序流转到步骤S908以开始第二过程的处理。另一方面,如果该结束条件不满足,则程序流转到步骤S903。在步骤S903中,如果满足负数标记(negflag[u])等于2的条件,则程序流转到步骤S904,否则,程序流转到步骤S907。然后在步骤S904中,如果满足剩余可用位(abit’)的数目是在单元u中的谱线(L[u])的数目的两倍或更多倍的条件,则程序流转到步骤S905,否则,程序流转到步骤S907。另外,单元u的字长指数(WLindex[u])在步骤S905中被设为1,则在步骤S906中由如下方程(20)计算剩余可用位(abit’)的数目,并且程序流转到步骤S907。在步骤S907中,通过把单元u增加1而对该单元置数,然后程序流转到步骤S902abit’←abit’-(2×L[u])…(20)。
即,如果负数标记(negflag[u])为2(其中被分配给单元u的位数目为0个位),并且如果剩余可用位(abit’)的数目大于等于在单元u中谱线(L[u])的数目的两倍,则等于谱线(L[u])的数目的两倍的位数目被分配给单元u,而剩余可用位(abit’)的数目减小了在单元u中的谱线(L[u])的数目的两倍。
在步骤S907中,通过把单元u增加1而对该单元置位,并且步骤S902的过程完成。如果要被处理的单元已经被处理,则程序流转到图7的作为第二过程的起始步骤的步骤S908。
然后,以类似于第一过程的方式,在第二过程的步骤S908中,单元u被置数以从该带宽内的最高频率单元开始。然后在步骤S909中,判断是否满足u<0的结束条件。如果该结束条件满足,则完成剩余位分配过程,然后其结果是动态位分配过程结束。如果该结束条件不满足,则程序流转到步骤S910。然后在步骤S910,如果满足单元u的负数标记(negflag[u])等于0的条件,则程序流转到步骤S914。在步骤S911中,如果可用位(abit)等于或大于在单元u中的谱线(L[u])的数目,则程序流转到步骤S912,否则,程序流转到步骤S914。另外,单元u的字长指数(WLindex[u])被更新为通过在步骤S912中把1加到当前字长指数(WLindex[u])而获得的数值,然后,由如下方程在步骤S913更新剩余可用位(abit’),然后程序流转到步骤S914abit’←abit’-L[u]…(21)。
在步骤S914中,通过把单元u增加1而对该单元u置数,然后程序流转到步骤S909。即,如果负数标记(negflag[u])为0(其中被分配给单元u的位数目为2至15位),并且如果剩余可用位(abit’)的数目大于或等于在单元u中的谱线(L[u])的数目,则等于谱线数目的位数目进一步被分配给单元u,而剩余可用位(abit’)的数目对减小了在单元u中的谱线(L[u])的数目。按上述方式。剩余位被分配给所选择单元。
如上文所述,根据本发明的本最佳实例可以应用于几乎所有数字音频压缩系统,特别地,当用于ATRAC算法中时,可以产生具有显著的高声音质量的语音,而可以动态、明显和有效地完成位分配。另外,该位分配过程与现有技术相比具有相对较低的复杂度,并且可以利用本最佳实施例的ATRAC编码器100实现音频编码器的低成本大规模集成电路的应用。
尽管在上文中已经参照附图结合最佳实施例对本发明进行完整的描述,但是应当注意,还可以做出各种对本领域内的专业技术人员来说显而易见的各种改变和变化。这种改变和变化应当被认为包含于由所附权利要求书所确定的本发明的范围之内,除非它脱离本发明的范围。
权利要求
1.一种用于音频编码用于确定量化一个数字音频信号的多个分解样本所用的数位数目的动态位分配装置,该多个样本被归类为多个分别具有至少一个不同的频率间隔或时间间隔的单元,该不同的频率间隔被根据人的声音特性的临界频带来确定,并且该不同时间间隔包括第一时间间隔和比该第一时间间隔长的第二时间间隔,所述装置包括(a)绝对阈值设置装置,用于根据表示人是否能在安静条件下听见声音的安静条件下的特定阈值特性对每个单元设置绝对阈值;(b)绝对阈值调整装置,用于通过由具有相同频率间隔的多个单元中的最小绝对阈值代替具有第一时间间隔的单元的绝对阈值而调整具有第一时间间隔的单元的绝对阈值;(c)峰值能量计算装置,用于根据被归类于多个单元的多个样本计算这些单元的峰值能量;(d)屏蔽效应计算装置,用于在所有单元具有第二时间间隔时,根据一特定的简化同步屏蔽效应模型和屏蔽单元的峰值能量,用该简化同步屏蔽效应模型计算最小可听极限的屏蔽效应,并用所计算的屏蔽效应更新和设置每个单元的绝对阈值;(e)信号屏蔽比(SMR)计算装置,用于根据每个单元的所计算峰值能量以及每个单元的所计算绝对阈值计算该单元的SMR;(f)可用数位数目计算装置,用于根据数字音频信号的帧尺寸计算可用于位分配的数位的数目,假设所有要被量化的频带包括所有单元;(g)SMR正变换装置,用于通过把特定正数加到所有SMR的SMR而把所有单元的SMR正变换,以使该SMR都为正数;(h)SMR偏移量计算装置,用于根据所有单元的正变换后的SMR、根据对每个特定线性量化器的数位改进信噪比确定的SMR减小步长、以及可用数位的数目计算SMR偏移量,该SMR偏移量被定义为用于减小所有单元的正变换SMR的偏移量;(i)带宽计算装置,用于根据所计算SMR的偏移量和这些单元的所计算的SMR更新覆盖需要被分配数位的单元的带宽,以根据所计算带宽更新SMR偏移量;(j)采样数位计算装置,用于通过从每个单元中的所计算SMR减去所计算SMR的偏移量计算所减得的SMR,然后根据每个单元的被减去的SMR和SMR减小步长计算表示要被分配给量化中的每个单元的数位的数目的采样数位数目;以及(k)剩余数位分配装置,用于分配从在对于具有比SMR偏移量更大的SMR的最小单元的可用数目的计算数目中减去要被分配给所有单元的采样数位的数目之和所得的保留数位的数目。
2.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,所述峰值能量计算装置通过执行特定的近似而计算每个单元的峰值能量,其中每个单元中的最大频谱系数的幅值通过利用特定比例因子表由对应于该幅值的比例因子所代替。
3.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,在由所述屏蔽效应计算装置进行的处理中,特定简化的同步屏蔽效应模型包括要被用于屏蔽在频率上高于被屏蔽单元的单元的音频信号的高频带侧屏蔽效应模型,以及被用于屏蔽在频率上低于被屏蔽单元的单元的音频信号的低频带侧屏蔽效应模型,以及其中所述屏蔽效应计算装置为每一被屏蔽单元将一最终确定的绝对阈值设置为由所述绝对阈值设定装置设定的被屏蔽单元的绝对阈值中的最大值,并设置一按同步屏蔽效应模型确定的同步屏蔽效应。
4.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,所述SMR计算装置通过从以分贝(dB)为单位的每个单元峰值能量中减去该设置绝对阈值而计算每个单元的SMR。
5.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,所述SMR偏移量计算装置通过根据所有单元的取整的SMR、SMR减小步长和可用于位分配的数位的数目计算初始SMR偏移量,然后根据所计算的初始SMR偏移量执行特定的迭代处理而计算该SMR偏移量。
6.根据权利要求5所述的用于音频编码的动态位分配装置,其特征在于,所述迭代处理包括从SMR偏移量的计算中除去每个具有小于初始SMR偏移量的SMR的单元,然后,根据剩余单元的取整SMR、SMR减小步长和可用于位分配的可用数位迭代重复计算SMR偏移量,直到涉及SMR偏移量计算的所有单元的SMR变得大于最终确定的SMR偏移量,这样保证在此不会发生分配任何负位数的情况。
7.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,当具有比SMR偏移量更小的SMR的单元连续发出时,所述带宽计算装置通过从特定单元中除去连续的单元而计算该带宽,以及其中所述带宽计算装置把对应于被除去单元的位数的数目加到可用数位的数目中,以便更新可用数位的数目,所述SMR偏移量的更新是根据可用数位的更新数目而进行的。
8.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,在由所述采样位计算装置所执行的处理中,每个单元的采样位的数目是通过从每个单元的SMR中减去SMR偏移量、通过用SMR减小步长除去减法运算的结果、然后把除法运算的结果取整而获得的;以及其中,所述采样位计算装置抑制用于具有比SMR偏移量小的SMR单元的数位分配。
9.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,所述剩余位分配装置执行用于分配剩余位的数目的特定第一和第二传送过程;在第一传送过程中,一个数位被分配给每个这样的单元,该单元具有比SMR偏移量大的SMR,但是在由所述采样位计算装置所执行的过程中作为取整的结果没有数位被分配该单元;以及在第二传送过程中,一个数位被分配给每个这样的单元,被分配该单元的数位数目不是最大的数位数目,但是有多个数位被分配给该单元。
10.根据权利要求1所述的用于音频编码的动态位分配装置,其特征在于,当该单元被从最高频率单元变为最低频率单元,所述剩余位分配装置执行第一和第二传送过程。
11.一种用于音频编码用于确定量化一个数字音频信号的多个分解样本所用的数位数目的动态位分配的方法,该多个样本被归类为多个分别具有至少一个不同的频率间隔或时间间隔的单元,该不同的频率间隔被根据人的声音特性的临界频带来确定,并且该不同时间间隔包括第一时间间隔和比该第一时间间隔长的第二时间间隔,所述方法包括如下步骤(a)绝对阈值设置步骤,用于根据表示人是否能在安静条件下听见声音的安静条件下的特定阈值特性对每个单元设置绝对阈值;(b)绝对阈值调整步骤,用于通过由具有相同频率间隔的多个单元中的最小绝对阈值代替具有第一时间间隔的单元的绝对阈值而调整具有第一时间间隔的单元的绝对阈值;(c)峰值能量计算步骤,用于根据被归类于多个单元的多个样本计算该单元的峰值能量;(d)屏蔽效应计算步骤,用于在所有单元具有第二时间间隔时根据一特定的简化同步屏蔽效应模型和屏蔽单元的峰值能量,用该简化同步屏蔽效应模型计算最小可听极限的屏蔽效应,并用所计算的屏蔽效应更新和设置每个单元的绝对阈值;(e)信号屏蔽比(SMR)计算步骤,用于根据每个单元的所计算峰值能量以及每个单元的所计算绝对阈值计算该单元的SMR;(f)可用数位数目计算步骤,用于根据数字音频信号的帧尺寸计算可用于位分配的数位的数目,假设所有要被量化的频带包括所有单元;(g)SMR正变换步骤,用于通过把特定正数加到所有SMR的SMR把所有单元的SMR正变换,以使该SMR都为正数;(h)SMR偏移量计算步骤,用于根据所有单元的正变换后的SMR、根据对每个特定线性量化器的数位改进信噪比确定的SMR减小步长、以及可用数位的数目计算SMR偏移量,该SMR偏移量被定义为用于减小所有单元的正变换SMR的偏移量;(i)带宽计算步骤,用于根据所计算SMR的偏移量和这些单元的计算的SMR更新覆盖需要被分配数位的单元的带宽,以便根据所计算带宽更新SMR偏移量;(j)采样数位计算步骤,用于通过从每个单元中的所计算SMR减去所计算SMR的偏移量计算所减得的SMR,然后根据每个单元的被减去的SMR和SMR减小步长计算表示要被分配给量化中的每个单元的数位的数目的采样数位数目;以及(k)剩余数位分配步骤,用于分配从在对于具有比SMR偏移量更大的SMR的最小单元的可用数目的计算数目中减去要被分配给所有单元的采样数位的数目之和所得的保留数位的数目。
12.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述峰值电压计算步骤中,每个单元的峰值电压通过执行特定的近似而计算,其中利用特定比例因子表,用对应于该幅值的比例因子代替在每个单元中的最大频谱系数的幅值。
13.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述屏蔽效应计算步骤中,特定简化同步屏蔽效应模型包括一个被用于屏蔽比屏蔽单元频率更高的单元的音频信号的高频带侧屏蔽效应模型,以及频率比所屏蔽单元低的低频带侧屏蔽效应模型,以及其中最终对每个屏蔽单元确定的绝对阈值被设为在屏蔽单元的设置绝对阈值中的最大值,并且该同步屏蔽效应由所述同时屏蔽模型所确定。
14.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述SMR计算步骤中,每个单元的SMR是通过从以分贝(dB)为单位的单元峰值能量中减去该设置绝对阈值而计算。
15.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述SMR偏移量计算步骤中,通过根据所有单元的取整的SMR、SMR减小步长和可用于位分配的数位的数目计算初始SMR偏移量,然后根据所计算的初始SMR偏移量执行特定的迭代处理而计算该SMR偏移量。
16.根据权利要求15所述的用于音频编码的动态位分配方法,其特征在于,所述迭代处理包括如下步骤从SMR偏移量的计算中除去具有比初始SMR偏移量更小的SMR的单元;以及根据剩余单元的取整的SMR、SMR减小步长和可用于位分配的可用数位的数目迭代重新计算SMR偏移量,直到在SMR偏移量计算中所涉及的所有单元的SMR变得大于最终确定的SMR偏移量,从而保证不发生分配任何负数位。
17.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于;在所述带宽计算步骤中,当具有比SMR偏移量更小的SMR的单元连续出现时,通过从特定单元中除去连续的单元而计算该带宽,以及其中对应于被除去单元的数位的数目被加到可用数位的数目中,以更新可用数位的数目,所述SMR偏移量的更新是根据可用数位的更新数目而进行的。
18.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述采样位计算步骤中,每个单元的采样位的数目是通过从每个单元的SMR中减去SMR偏移量、通过用SMR减小步长除去减法运算的结果、然后把除法运算的结果取整而获得的;以及其中,用于具有比SMR偏移量小的SMR单元的数位分配被抑制。
19.根据权利要求11所述的用于音频编码的动态位分配方法,其特征在于,在所述剩余位分配步骤中,执行用于分配剩余位的数目的特定第一和第二传送过程;在第一传送过程中,一个数位被分配给每个这样的单元,该单元具有比SMR偏移量大的SMR,但是作为在所述采样位计算步骤中取整的结果没有数位被分配该单元;以及在第二传送过程中,一个数位被分配给每个这样的单元,被分配该单元的数位数目不是最大的数位数目,但是有多个数位被分配给该单元。
20.根据权利要求19所述的用于音频编码的动态位分配方法,其特征在于,在所述剩余位分配步骤中,当该单元被从最高频率单元变为最低频率单元,第一和第二传送过程被执行。
全文摘要
在此提供一种用于可以广泛应用于几乎所有数字音频系统并以低成本实现的动态位分配装置和方法。该位分配装置和方法在执行位分配处理时非常有效,并利用简化的同步屏蔽模型考虑人的声学特性的心理声学行为。在该过程中,在频分频带中的单元峰值能量被计算,利用简化同步屏蔽效应模型计算最小音频极限的屏蔽效应,并设为每个单元的绝对阈值。然后,计算每个单元的信号-屏蔽比,接着据此执行有效动态位分配。
文档编号G10L21/00GK1239368SQ99109059
公开日1999年12月22日 申请日期1999年6月16日 优先权日1998年6月16日
发明者梁世丰, 申省梅, 陈亚平 申请人:松下电器产业株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1