在音频编码中应用增益自适应量化和变长码 【技术领域】
本发明总体涉及信号的编码和解码。本发明在优选情况下用于分割频带编码和解码系统,在这个系统中分别编码频率子带信号。本发明在主观感觉音频编码系统中特别有用。技术背景
长久以来,人们一直在研究这样一种编码数字音频信号的形式,这种形式对传送信道的信息容量要求低,但储存介质仍能够以一种高水平的主观品质传送编码音频信号。主观感觉音频编码系统通过使用音频信号中多数频谱分量掩盖不可听合成量化噪声的方法编码和量化音频信号,试图来达到这些相互矛盾的目标。总的来说,主观感觉音频编码系统对处于编码信号心理声学掩盖阈值之下地量化噪声频谱的形状和幅值控制具有优势。
一种主观感觉编码方法可以通过一种所谓的分割频带编码器执行,这种编码器对音频信号应用一排分析滤波器来获得与人类听觉系统临界频带宽度相对应的子带信号,通过对子带信号应用一种主观感觉模式或者其它一些音频信号频谱范围度量来估计音频信号掩盖阈值,并建立量阶宽度量化子带信号,其子带信号足够小以致合成量化噪声处于估计音频信号掩盖阈值之下,根据所建立的量阶宽度量化子带信号,并合成为表示量化子带信号的一种多元码编码信号。一种辅助性主观感觉解码过程可以通过一种所谓的分割频带解码器来执行,解码器从编码信号中提取码元,并还原量化子带信号,获得量化子带信号的逆向量化表示和对逆向量化表示应用一排合成滤波器生成一种音频信号,理想情况下,这种音频信号与原始的音频信号在主观感觉上没有区别。
在这些编码系统中的编码处理经常应用定长码表示在每个子带信号中的量化信号元素或者分量。然而,定长码的应用要求超过必需的高信息容量。通过应用表示在每个子带信号中量化分量的变长码能够减少需求的信息容量。
一种提供变长码的技术是量化子带信号分量的霍夫曼编码。一般而言霍夫曼编码表在实际应用中已经被选择用来表示编码信号的“训练信号”。如果训练信号的平均概率密度函数(PDF)相当接近要编码的实际信号的平均概率密度函数(PDF),并且这个PDF不是均匀的,霍夫曼编码能够提供非常好的编码增益。
如果被编码的实际信号PDF不是接近训练信号的平均PDF,霍夫曼编码将不能实现编码增益,而是会引起编码损失,增加了对编码信号信息容量的需求。通过使用对应于不同信号PDF的多个电码本,上文的问题可以避免到最低程度;但是,需要附加的存储空间来存储电码本,并根据每个电码本进行附加的编码信号处理,然后从中选择能提供最好结果的一个。
存在这样一种编码技术,能应用每个子带中的变长码表示量化子带信号分量的子带信号块,它不依靠分量值的任何具体的PDF,并能够以最小的计算机和存储器资源高效的执行。发明内容
本发明的目的是为应用变长码表示比如在一个分割频带编码系统中各个频率子带信号分量的量化信号分量提供方便。
本发明使用这样一项技术达到了这个目标,该技术不依靠分量值的任何具体的PDF来获得良好的编码增益并能够以最小的计算机和存储器资源高效执行。在一些应用中,编码系统可以在优选情况下联合其它的技术比如霍夫曼编码使用本发明的功能。
根据本发明一部分的讲解,一种编码输入信号的方法包括:接收输入信号和生成表示输入信号频率子带的子带信号分量的子带信号块;与一个阈值比较子带信号块中分量的幅值,根据分量的幅值放置每个分量到两级或多级中的一级,并获得一个增益因子;对放置在其中一级中的分量应用增益因子修正子带信号块中一些分量的幅值;量化子带信号块中分量;合成一种用于传送分量分类的编码信号控制信息和表示量化子带信号分量的变长码。
根据本发明另一部分的讲解,一种解码编码信号的方法包括:接收编码信号和从那里获得控制信息和变长码,并从变长码中获得表示输入信号频率子带的子带信号分量;逆向量化子带信号分量来获得子带信号逆向量化分量;根据控制信息应用一个增益因子来修正逆向量化分量的幅值;响应子带信号逆向量化分量,生成一个输出信号。
这些方法可以在介质中以程序指令的形式实现,通过由一个设备执行程序指令完成本发明。
根据本发明另一部分的讲解,一种用于输入信号编码的设备包括:一个分析滤波器,具有接收输入信号的输入端和一个输出端,通过输出端提供一个表示输入信号频率子带的子带信号分量的子带信号块;一个级联在分析滤波器后的子带信号块分析器,与一个阈值比较子带信号块中分量的幅值,根据分量的幅值放置每个分量到两级或多级分类中的一级,并获得一个增益因子;一个级联在子带信号块分析器后的子带信号分量处理器,对放置在其中一级中的分量应用增益因子修正子带信号块中一些分量的幅值;一个级联在子带信号分量处理器后的第一量化器,量化根据增益因子修正幅值的子带信号块中的分量;一个级联在第一量化器后的格式器,合成表示量化子带信号分量的变长码和用于传送分量分类的控制信息为一个编码信号。
根据本发明另一部分关于一种解码编码信号设备的讲解,这个设备包括:一个逆向格式器,接收编码信号和从那里获得控制信息与变长码,并从变长码中获得量化子带信号分量;级联在逆向格式器后的第一逆向量化器,根据控制信息逆向量化块中一些子带信号分量获得第一逆向量化分量;级联在第一逆向量化器后的子带信号块处理器,根据控制信息应用一个增益因子修正子带信号块中的一些第一逆向量化分量的幅值;一个合成滤波器,具有一个级联在子带信号块处理器后的输入端和一个提供输出信号的输出端。
根据本发明另一部分的讲解,一种介质,传送(1)表示量化子带信号分量的变长码,其特征在于量化的子带信号分量与表示一种音频信号频率子带的子带信号块元素相对应;(2)根据对应的子带信号块元素显示量化子带信号分量分类的控制信息;以及(3)根据控制信息显示一个适合量化子带信号分量的增益因子。
结合下文的讨论和附图,可以更好地理解本发明的各种特点和优选实施例,几幅附图中相同的元素用同一个引用编号表示。下文的讨论和图解内容仅作为例子,它们不应该理解为本发明使用范围的限制。简要附图说明
图1所示为一个具有增益自适应量化功能的分割频带编码器的框图。
图2所示为一个具有增益自适应量化的分割频带解码器的框图。
图3所示为一个阐述反复的位分配处理步骤的流程图。
图4和图5分别为假想的子带信号分量的子带信号块和对分量应用增益的效果的图解阐述。
图6所示为一个增益自适应量化的多级增益阶段的框图。
图7和图8为量化函数的图解阐述。
从图9A到图9C阐述如何使用一种映射转换实现一个分割间隔量化函数。
从图10到图12为量化函数的图解阐述。
图13所示为一个可以用来执行本发明各种部分的设备的框图。发明实施模式
A.编码系统
本发明的目的是提高表示诸如音频信息的量化信息的效率和在应用分割频带编码器和解码器的编码系统中找出优选的应用。一个分割频带编码器和解码器的实施例综合了本发明在图1和图2中阐述的各个部分。
1.编码器
a)分析滤波器
在图1中分析滤波器排12从路径11接收一个输入信号,将这个输入信号分割为表示输入信号频带子带的子带信号,沿路径13和23传送子带信号。为了清晰的阐述,显示在图1和图2中的实施例仅阐述两个子带的分量;然而,对于在一个主观感觉编码系统中的分割频带编码器和解码器,通常处理与人类听觉系统临界频带宽度对应的多个子带信号。
分析滤波器排12通过各种方法完成滤波,方法包括多相滤波器,晶格滤波器,积分反射滤波器(QMF),各种时域到频域块转换包括:傅立叶类型、余弦调制滤波排、小波转换。在优选实施例中,通过应用一个分解窗口函数加权或调制数字音频抽样的叠加块,并在加权窗口块中应用一个具体的修正离散余弦转换(MDCT)来实现滤波排。引用的MDTC是在声学、语音、信号处理国际会议论文集中Princen,Johnson,Bradley“基于时域混淆抵消应用滤波排设计的子带/编码转换”,1987年5月,第2161页至2164页公开的内容,在这里作为时域混淆抵消(TDAC)转换。虽然实施方法的选择对一个编码系统的性能有及其重要的影响,但从概念上讲,分析滤波器排这种具体的实施方法对本发明至关重要。
沿路径13和23传送的每个子带信号包括在块中排列的子带信号分量。在优选实施例中,每个子带信息块都用比例块的形式表示,其中分量用比例因子按比例缩放。例如,使用一个浮点块(BFP)形式。
例如,如果分析滤波器排12通过一个块转换器完成,子带信号通过一个转换系数块来生成,这个转换系数块通过对输入信号采样应用转换器生成,接着分类一个或多个接近的转换系数形成子带信号块。例如,如果分析滤波器排12通过另一种类型的数字滤波器比如QMF来实现,子带信号通过对一系列输入信号采样应用滤波器生成对每个频率子带的一系列子带信号采样,接着分类子带信号采样到块中。这两个例子中的子带信号分量分别是转换系数和子带信号采样。
b)主观感觉模式
在主观感觉编码系统的一个优选实施例中,编码器使用一个主观感觉模式为量化每个子带信号建立各自的量阶宽度。图3阐述一种应用主观感觉模式自适应分配位的方法。根据这种方法,51步对表示输入信号特征的信息应用主观感觉模式,建立一个想要得到的量化噪声频谱。在许多实施例中,在量化噪声频谱中的噪声水平与输入信号估计的心理声学的掩盖阈值对应。52步对量化子带信号块中的分量建立初始的拟定量阶宽度。53步确定对所有子带分量要求获得拟定量阶宽度的位分配。优选情况下,由于解码编码信号所使用的分割频带解码器中的合成过滤器排具有噪声传播效果,因而留出了余量。美国专利5,623,577和发明人Ubale等于1999年4月12日提出申请的名为“具有合成滤波器噪声补偿功能的主观感觉音频编码器中的量化”的美国专利申请系列号No.09/289,865中公开了留出这种余量的方法,在本文中引做参考。
54步决定总的分配需求与总的可用量化位是否有很大出入。如果总的分配太高,55步增加拟定的量阶宽度。如果总的分配太低,55步减小拟定的量阶宽度。处理回到53步,直到54步确定用于获得拟定的量阶宽度的总的分配需求足够接近总的可用位数,循环处理才停止。接下来,56步根据建立的量阶宽度量化子带信号分量。
c)增益自适应量化
例如,通过在53步包括本发明各个部分,可以将增益自适应量化合成到上文描述的方法中。虽然上文描述的方法是许多主观感觉编码系统中的典型方法,但它只是能够合成本发明编码处理的一个例子。本发明可以用于使用任何基本主观或客观标准建立量化信号分量的量阶宽度的编码系统。为便于讨论,在此使用简化的实施例来解释本发明的各个部分。
频率子带的子带信号块沿路径13传送到子带信号分析器14,该子带信号分析器将每个块中的子带信号分量的幅值与一个阈值进行比较,根据分量的幅值放置每个分量到两级中的一级。用于传送分量分类的控制信息传送到格式器19。在一个优选实施例中,其幅值小于或等于阈值的分量被放置在第一级。子带信号分析器14还获得一个下一级频带使用的增益因子。正如下面所解释的,优选情况下,增益因子值与阈值大小相关。例如,阈值可以表达为只是增益因子的函数。阈值还可以表达为增益因子和其它因素的函数。
放置在第一级的子带信号分量传送到增益单元15,增益单元对第一级中的每一个分量应用通过子带信号分析器14获得的增益因子,接着经增益修正的分量传送到量化器17。量化器17根据第一量阶宽度量化经增益修正分量,并将最终的量化分量传送到格式器19。在一个优选实施例中,根据一个主观感觉模式和子带信号分析器14所使用的阈值来设置第一量阶宽度。
没有放置在第一级的子带信号分量沿路径16传送到量化器18,量化器18根据第二量阶宽度量化这些分量。第二量阶宽度可以与第一量阶宽度相等;然而在一个优选实施例中,第二量阶宽度小于第一量阶宽度。
第二频率子带的子带信号块沿路径23传送,并用与上文描述的有关第一频率子带的同样方式由子带信号分析器24、增益单元25、量化器27和28进行处理。在一个优选实施例中,每个频子带的阈值是自适应的,并且与其他频率子带的阈值无关。
d)编码信号格式化
格式器19将用于传送分量分类的控制信息和表示量化子带信号分量的变长码合成为编码信号,并将编码信号沿路径20通过传输介质(包括在超声波到紫外线频率范围内的频谱上的基带或调制通信路径)或者存储介质(包括使用磁或光学记录技术传送信息的磁带、磁盘和光盘)传送。
表示量化分量的码元可以与量化值相同,也可以是从量化值衍生的一种代码类型。例如,码元可以直接从量化器中获得,也可以通过某种比如霍夫曼编码量化值处理来获得。这些量化值本身可以方便地作为变长码使用,因为可以将可变位数分配给子带中的量化子带信号分量。
2.解码器
a)编码信号逆向格式化
在图2中,逆向格式器32从路径31接收一个编码信号,并从那里获得表示量化子带信号分量的码元和用于传送分量分类的控制信息。必要时可以应用解码处理从码元中导出量化分量。在一个优选实施例中,经增益修正的分量放置在第一级。逆向格式器32还获得任何主观感觉模式和位分配处理所必需的信息。
b)增益自适应逆向量化
逆向量化器33接收放置在第一级中的子带信号块的分量,根据第一量阶宽度将其逆向量化,并将结果传送到增益单元35。在一个优选实施例中,根据一种主观感觉模式和用于分类子带信号分量的阈值来设置第一量阶宽度。
增益单元35应用一个增益因子逆向量化来自逆向量化器33的分量,并将经增益修正的分量传送到合成器37。增益单元35逆向执行由一起的编码器增益单元15提供的增益修正。正如上文解释的,优选情况下,这个增益因子与用于分类子带信号分量的阈值相关。
那些没有放置在第一级的子带信号分量传送到逆向量化器34,逆向量化器34根据第二量阶宽度逆向量化这些分量,并传送结果到合成器37。第二量阶宽度可以与第一量阶宽度相等;然而在一个优选实施例中,第二量阶宽度小于第一量阶宽度。
合成器37通过将从增益单元35接收的经增益修正逆向量化分量与从逆向量化器36接收的逆向量化分量合成,形成一个子带信号块,并沿路径38将最终的子带信号块传送到合成滤波器排39。
第二频率子带的子带信号块中的量化分量,以上文描述的关于第一频率子带的同样方式,由逆向量化器43和44,增益单元45和合并器47处理,并沿路径48将最终的子带信号块传送到合成滤波器排39。
c)合成滤波器
合成滤波器排39可以通过各种方法实现,作为上文讨论的实现分析滤波器排12的补充。沿路径40生成一个与从路径38和48接收的子带信号分量的子带信号块对应的输出信号。
B.功能
1.子带信号分量分类
a)简化阈值函数
增益自适应量化的效果可以参考图4理解,图4阐述了子带信号分量的假想块111,112和113。在示例中,每个子带信号块包括从1到8编号的八个分量。每个分量通过一条垂直线表示,其幅值通过垂直线的高度表示。例如,在111块中的分量1具有比图中纵坐标0.25数值稍微大的幅值。
102线表示0.50水平的阈值。通过与阈值比较111块中的每个分量的幅值将111块中的每个分量放置到两级中的一级。幅值小于或等于阈值的分量被放置在第一级。其余的分量被放置在第二级。如果将那些幅值精确地小于阈值的分量放置在第一级,获得的结果略有不同。为了便于讨论,此处假设根据第一个例子进行阈值比较,并具体讲述。
对放置在第一级的111块中的分量应用两个增益因子中的一个来获得112块中的分量。例如,112块中的分量1的幅值略大于0.500,其幅值通过111块中的分量1与两个增益因子中的一个相乘来获得。相反,由于放置在第二级中的分量没有增益因子修正,112块中的分量2的幅值与111块中的分量2的幅值相等。
104线表示0.25水平的阈值。通过与阈值分别比较分量幅值并放置幅值小于或等于阈值的分量到第一级将111块中的每个分量放置到两级中的一级。其余的分量放置在第二级。
通过对放置在第一级中的每个111块分量应用四个增益因子中的一个,来获得113块中的分量。例如,113块中的分量3的幅值是大约0.44,其幅值通过将111块中的分量3的幅值(大约是0.11)与等于4的增益因子相乘来获得。相反的,由于放置在第二级中的分量未经增益因子修正,113块中的分量1的幅值与111块中的分量1的幅值相等。
阈值可以是仅用增益因子表达的一个函数。如这两个例子所示,阈值可以表达如下:Th=1G-------(1)]]>式中Th表示阈值;
G表示增益因子。
b)备用阈值函数
然后由于子带信号分量有一个比阈值Th略小的幅值,通过增益因子G修正从表达式(1)中获得的阈值时,该阈值可能超过量化器负载。
如果一个值的量化误差超过量阶宽度一半,则认为该值超过量化器负载。对于等量阶宽度的对称量化器,量化值的范围从-1到+1,超过量化器负载的正值范围可以表达为:
QOL>QMAX+ΔQ/2 (2a)超过量化器负载的负值范围可以表达为:
QOL<-QMAX-ΔQ/2 (2b)这里QOL表示过载量化器的值;
QMAX表示最大量化正值;
ΔQ表示量阶宽度。
对于一个具有等量阶宽度的b位带对称中线符号的量化器,量化值的范围大约从-1到+1,最大量化正值QMAX等于1-21-b,量阶宽度ΔQ等于21-b,量阶宽度一半等于2-b,超过量化器负载的正值的表达式2a可以重新表达为:
QOL>1-21-b+2-b=1-2-b (3a)超过量化器负载的负值的表达式2b可以重新表达为:
QOL>-(1-21-b)-2-b=-1+2-b (3b)
图4中的100线表示一个3位带对称中线符号量化器的超过量化器负载的正值边界。量化器的负值范围在图中未示出。量化器的最大量化正值是0.75=(1-21-3),量阶宽度一半是0.125=2-3;因此量化器超过量化器负载的正值的边界是0.875=(1-21-3)。量化器的负值的边界是-0.875。
在111块中的分量5的幅值比0.500略小。当对此量化器分量应用等于2的增益因子时,结果幅值超过量化器负载边界。当阈值0.250使用等于4的增益因子时,分量6存在类似的问题。
对于避免超出量化正阈值并将第一级中分量正值域优化映射到量化器正值范围的一个阈值,其表达式为:Th=QOLG(4a)]]>量化负阈值可以表达为:Th=-QOLG(4b)]]>
在余下的讨论中,仅讨论正阈值。由于那些与正阈值比较分量幅值的操作与其它与正阈值和负阈值比较分量幅值的操作等同,这种简化并不丧失一般性。
对于上文描述的b位带对称中线符号的量化器,阈值函数的表达式4a可以重新表示为:Th=1-21-bG----(5)]]>
图5阐述使用该备用阈值进行增益自适应量化的效果,其中说明了子带信号分量的假想块121,122,123和124。在例子的阐述中,每个子带信号块包括从1到8编号的八个分量,其幅值通过垂直线的高度表示。102和104线分别表示增益因子等于2和4的3位带对称中线符号量化器的阈值。100线表示超过该量化器负载值的正边界。
通过与阈值102比较121块中分量的幅值并对幅值小于或等于阈值的分量应用一个增益G=2可以获得子带信号122块中的分量。与此相似,通过与阈值104比较121块中分量的幅值和对幅值小于或等于阈值的分量应用一个增益G=4可获得子带信号123块中的分量。通过下文讲述的多级技术可获得子带信号124块中的分量。不同于上文讨论的有关第一阈值的图4中的例子,在图5中没有一个经增益修正的分量超过量化器量程边界。
一方面,需要根据表达式5的备用阈值,因为它避免量化器因第一级中的小幅值分量过载并优化加载量化器。另一方面,在某些设法达到最佳量阶宽度的实施例中可能不需要此阈值,因为直到建立了量阶宽度,才能确定阈值。在通过分配位改变量阶宽度的实施例中,直到各个子带信号块位分配b已知时,才能建立量阶宽度。下面将详细解释这些缺点。
2.量化
优选情况下,响应子带信号块的增益因子,改变用于量化该子带信号块的量化器量阶宽度。应用与上文和图3中所示过程相似的一个实施例,将位数b分配到子带信号块中的每个分量,接着根据为该块选择的增益因子改变每个分量的量阶宽度,以及位分配(可能时)。对于这个实施例,增益因子从表示增益1,2,4和8的四个可能值中选择。用一个带对称中线符号的量化器来量化块中的分量。
没有放置在第一级且未经增益修正的大幅值分量被分配与没有本发明时分配的同样的位数b。在使用下面将讨论的一个分割间隔量化函数的实施例中,对这些大幅值分量的位分配对一些增益因子能够减小。
放置在第一级并经增益修正的小幅值分量根据表I分配位数。 增益 分配 1 b 2 b-1 4 b-2 8 b-3表I
一个具体子带信号块的增益因子等于1表示本发明的增益修正功能没有应用到那个块中,因此对每个分量分配的位数与没有本发明时的位数b相同。对一个特定的子带信号块使用增益因子G=2,4和8,对该子带块来说可以分别提供减少的分配1,2,3位的优点。
表I显示的分配受到每个分量位数不能小于1的限制。例如,对于一个具体的子带信号块,位分配处理分配b=3位,同时为该块选择增益因子G=8,对于小幅值分量位分配不象表I所示减小到零,而是减少到1。对增益修正和位分配调整的预期结果是使用更少的位数保存同样的信号量化噪声比,如果需要,一个实施例可以避免选择任何不减小分配位数的增益因子。
3.控制信息
正如上文解释的,子带信号分析器14提供给格式器19控制信息为了合成编码信号。控制信息用于传送子带信号块中的每个分量的分类。这种控制信息可以通过各种方法包含在编码信号中。
包含控制信息的一种方法是在编码信号中放入每个子带信号块位串,块中的每个分量与一位对应。一位设定一值,例如值1显示对应的分量不是经增益修正分量,一位设定为另一值,这个例子中值0显示对应的分量是一个经增益修正分量。另一种方法是控制信息在编码分量中紧邻每个经增益修正或未经增量修正的分量在其前面嵌入一个特殊的“转义码”。
在上文讨论的优选实施例中使用一个带对称中线符号的量化器,每个没有增益修正的大幅值分量前面都有一个转义码,等于一个未使用的量化值。例如,对于3位带两级互补分量符号的量化器,量化值范围是用3位二进制串b’101表示的一个最小值-0.750到用3位二进制串b’011表示的一个最大值+0.750。对应为-0.1000的二进制串b’100没有用于量化,但可用做控制信息。与此类似,4位带两级分量符号量化器的未使用的二进制串是b’1000。
参考图5子带信号121块,分量4和5是超过阈值102的大幅值分量。如果此阈值与一个增益因子G=2共同使用,对于放置在第一级的小幅值分量,位分配是如表I所示的b-1。例如,如果对121块中的每个分量位分配过程分配位b=4,每个子带信号分量的分配将减小到3=(b-1)位,并将用一个3位量化器量化小幅值分量。在这个例子中大幅值分量是分量4和5,将用4位量化器量化并通过与3位量化器的未使用的二进制字符b’100相等的控制信息识别。每个大幅值分量的控制信息能够紧邻大幅值分量在其前方方便的合成为编码信号。
建议性的指出在上一段所讨论的例子中本发明没有提供任何优点。在这个例子中传送控制信息所需的成本和开销(6位)等于通过对小幅值分量减小位分配所节省的位数。参考上文的例子,如果在121块中仅有一个大幅值分量,本发明将传送该块所需的位数为4。通过减少的对7个小幅值分量的位分配,将节省7位,传送大幅值分量控制信息仅需3位。
上文的例子忽略一个附加的部分。在这个示例实施例中对每个子带信号块需要2位传送使用了4个增益因子的该块,正如上文提及的,增益因子等于1表示本发明的功能没有用于一个特定的子带信号块。
本发明通常对具有四个或更少分量的子带信号块的量化没有帮助。在主观感觉编码系统生成与人类听觉系统临界频率子带宽度相对应的子带频带信号,低频子带子带信号块中的分量数量是少的,也许每个块仅一个分量,但是每个子带信号块分量数量随子带频率的增长而增加。结果,在优选的实施例中,实现本发明功能所需的处理过程可以限制为较宽的子带。一个附加的控制信息可以嵌入编码信号来显示使用增益自适应量化的最低频率子带。编码器根据输入信号特点自适应的选择子带频带。这个技术避免对没有使用增益自适应量化的子带提供控制信息。
4.解码器功能
具有本发明功能的一个解码器可以用任何方式自适应的改变它的逆向量化器量阶宽度。例如,一个用于对上文讨论的编码器实施例生成的编码信号解码的解码器可以通过自适应位分配来设置量阶宽度。这个解码器在一个所谓的向前自适应系统中执行,其中为分配可以直接从编码信号获得,它可以在一个所谓的向后自适应系统中执行,其中位分配可以通过重复用于编码器的同样过程获得,或者它可以在两个系统的混合体中执行。以这种方法获得分配值称做“常规”位分配。
解码器从编码信号中获得控制信息来标识增益因子以及每个子带信号块中分量的分类。继续上文讨论的例子,传送一个增益因子G=1的控制信息显示增益自适应功能没有使用,块的常规位分配b将用于具体子带信号块分量的逆向量化。对其它的增益因子值,常规位分配b用于确定“转义码”值或者标识大幅值信号的控制信息。在上文的例子中,一个具有增益G=2的分配位b=4表明控制信息是二进制字符b’100,其长度等于3=(b-1)位。在编码信号中出现的这种控制信息表明后面紧跟的是大幅值分量。
对每个经增益修正分量的位分配根据表I和上文讨论进行调整。逆向量化使用合适的量阶宽度完成,增益修正分量受一个增益因子限制,这个增益因子与在编码器中完成增益修正的增益因子成倒数。例如,如果小幅值分量在编码器中与增益因子G=2相乘,解码器应用倒数增益G=0.5到对应的逆向量化分量。
c.附加功能
除了上文各种讨论以外,下面讨论几种其他情况。
1.附加分类
根据一种情况,子带信号块中的分量幅值与两个或多个阈值比较,并放置在超过两级的一级。参考图5,例如,在121块中的每个分量幅值与阈值102和104比较,放置到三级中的一级。对多级获得两个增益因子和应用它们到适合的分量。例如,增益因子G=4应用在幅值小于或等于阈值104的分量,增益因子G=2应用在幅值小于或等于阈值102但大于阈值104的分量。增益因子G=2应用在所有幅值小于或等于阈值102的分量和增益因子G=2又应用在所有幅值小于或等于阈值104的分量。
2.多级运算
上文描述的增益修正处理可以先于量化多路定时执行。图6是一个阐述级联的两个增益阶段实施例的框图。在这个实施例中,子带信号分析器61将子带信号块中的分量幅值与第一阈值比较,放置分量到两级中的一级。增益单元62对放置在第一级的分量应用第一增益因子。第一增益因子的值与第一阈值相关。
子带信号分析器64将块中剩下增益修正分量幅值与第二阈值比较,放置分量到两级中的另一级。增益单元65对放置在第二级的分量应用第二增益因子。第二增益因子的值与第二阈值相关。如果第二阈值小于或等于第一阈值,子带信号分析器64不必分解那些分析器61放置的幅值大于第一阈值的分量。
与上文讨论的相似子带信号块分量通过量化器67和68量化。
参考图5,子带信号124块中的分量通过应用连续增益阶段获得,其中子带分析器61和增益单元62对幅值小于或等于阈值102的分量应用增益因子G=2,子带分析器64和增益单元65对幅值小于或等于阈值102的增益修正分量应用增益因子G=2。例如,121块中分量1到3和6到8在第一阶段以增益因子G=2修正,处理的一个中间结果在122块中显示。分量1,3,7和8在第二阶段以增益因子G=2修正,获得的结果在124块中显示。
在使用多级增益阶段的实施例中,合适的控制信息应该在编码分量中提供解码器能够执行一套互补的多级增益阶段。
3.优化位分配
存在几种可能的方法应用增益自适应量化。一个简单的方法通过启动第一阈值和相关的第一增益因子G=2分解在各自子带信号块中的分量,并确定是否根据第一阈值和第一增益因子增益自适应量化在位分配中产生减小位需求。如果没有减小,分析器停止,增益因子量化不能执行。如果产生减少,继续应用第二阈值和第二增益因子G=4分解。如果应用第二阈值和第二增益因子没有产生位分配的减少,增益自适应量化应用第一阈值和第一增益因子执行。如果应用第二阈值和第二增益因子产生位分配的减少,继续应用第三阈值和第三增益因子G=8分解。直到没有一个阈值和相关增益因子产生位分配减少,或者所有的阈值组合和考虑相关增益因子处理才结束。
另一种搜寻优化增益因子的选择方法通过计算每个可能阈值和相关增益因子提供的花费和收益和使用阈值和增益因子产生最大纯收益。对于上文讨论的例子,一个具体阈值和相关增益因子的纯收益是总的减少花费。总的收益是通过对增益修正的小幅值分量减少位分配保存的位数。花费是要求传送对没有增益修正的大幅值分量的控制信息的位数。
一种可能完成优化的方法显示在跟随的程序片段。这个程序片段以伪编码语法表示,语法包括C,FORTRAN和BASIC语言的一些特点。在这里显示的程序片段和其它程序并不意味适合编译的源代码片段但其提供传送的可能执行的一部分。
-->} n24=n2+n4; ∥上述Th4没有大幅值分量 n248=n24+n8;∥上述Th8没有大幅值分量 benefit2=Min(b-1,1);∥使用G=2时节省的每个小分量位数 benefit4=Min(b-1,2);∥使用G=4时节省的每个小分量位数 benefit8=Min(b-1,3);∥使用G=8时节省的每个小分量位数 net[0]=0;∥对没有增益修正纯收益 net[1]=(N-n2)*benefit2-n2*(b-benefit2);∥使用G=2纯收益 net[2]=(N-n24)*benefit4-n24*(b-benefit4);∥使用G=4纯收益 net[3]=(N-n248)*benefit8-n248*(b-benefit8);∥使用G=8纯收益 j=IndexMax(net[j],j=0 to 3);∥获得最大收益索引 Gain=gf[j];∥获得增益因子 }]]>
函数Gain提供子带信号块分量X阵列,块中N个分量和常规位分配b。函数第一条语句根据上文显示的表达式5计算初始化与增益因子G=2相关从阵列gf.获得的不同的阈值Th2。在这个例子中,增益因子gf[1],gf[2]和gf[3]分别等同于G=2,4和8。接着的语句初始化与增益因子G=4和8相关的阈值。再接着,计数器初始化为零用于确定在不同级中的大幅值分量数量。
在for循环语句中提及的函数Abs获得在X阵列子带信号块中每个分量的幅值,接着与阈值比较幅值,并启动最高阈值。例如,如果幅值比阈值Th2大,变量n2增加1。当for循环完成,变量n2保持幅值比阈值Th2大的分量的数量,变量n4保持幅值比阈值Th4大但小于或等于阈值Th2的分量的数量,变量n8保持幅值比阈值Th8大但小于或等于阈值Th4的分量的数量。
紧跟在for循环后的语句计算在各个阈值之上总的分量数量。变量n24的数量表示幅值比阈值Th4大的分量的数量,变量n248的数量表示幅值比阈值Th8大的分量的数量。
接着的三条语句描述对使用增益因子的每个小分量的收益。收益可能是如上述表I显示的每个分量1,2和3位,但是每个分量收益不能超过b-1位由于位分配被限制在最小一位。例如,变量benefiet2表示每个应用增益因子G=2小幅值分量的位数。如表I显示的,收益可能是一位;然而收益也被限制不比常规位分配b-1大。收益计算通过函数Min提供,返回b-1和1中的最小值。
纯收益接着计算和分配单元网络阵列。单元net[0]表示值为0的没有使用增益自适应量化的纯收益。对使用增益因子G=2的纯收益通过每个小幅值分量benefit2合适的收益乘以小幅值分量合适数量(N-n2)并接着减去花费分配到net[1]中,大幅值分量n2的数量乘用于控制信息的新量化器长度。小幅值分量的位数可以通过每个小幅值分量保存的减小的常规位分配b获得。例如,增益因子G=2的小幅值分量位数是(b-benefit2)。相似的计算执行分配应用G=4和8的纯收益分别到变量net[2]和net[3]中。
调用函数IndexMax获得在网络阵列中对最大纯收益的阵列索引j。这个索引通常从函数Gain返回的gf阵列获得合适的增益因子。
4.使用简化阈值函数提高效率
上文提及的本发明的各种特点可以合成为一个主观感觉如图3阐述的位分配处理。具体的,这些特点可以在53步执行。53步执行在一个反复循环确定对在每个编码的子带信号块中量化分量合适的位分配。由于这样,在53步的执行效率是非常重要的。
上述讨论对确定每个块的优化增益因子函数Gain的处理相对来说不是高效的,由于必须计数放置在不同级的子带信号块分量的数量。由于直到知道每次合适的位分配b根据表达式5获得的阈值才能被计算,因此每次必须重复计算分量数。
对比于根据表达式5获得的阈值,根据表达式1获得的阈值是不太精确的但是可在知道合适位分配前用于计算。这些提供的阈值和分量计数在循环外计算。参考图3显示的方法,例如,阈值Th1,Th2和Th3,分量计数n2,n24和n248能够在52步计算。
可选择的上文讨论的Gain函数版本可以在这个实施例中使用,跟随的程序片段如下:
函数Gain2的描述等同对应于上文讨论的函数Gain的描述,对每个增益因子的纯收益的计算和选择优化的增益因子。
5.量化函数
a)分割间隔函数
通过应用一个在非邻近间隔量化输入值的分割间隔量化函数改进大幅值分量的量化精度。
在图7中的105线是图解的阐述一个表示3位对称中线信号量化器和互补的逆向量化器首尾相连的效果函数。沿x轴的值表示输入到量化器的值,沿q(x)轴的值表示对应的从逆向量化器中获得的值。100和109线分别表示这个量化器正、负值界限。102和108线分别表示根据表达式1增益因子G=2的正、负阈值和图4中104和107线分别表示对增益因子G=4的正、负阈值。
参照图1,如果子带信号分析器14根据阈值102分类子带信号块分量,接着给量化器18提供所有幅值大于阈值102的分量。换一句话,量化器18不能用于量化处于阈值108和102之间的分量。空白表示在量化器使用量程之外。
通过一个执行分割间隔量化函数的量化器来克服过载的使用。各种分割函数都是可能的。图8是图解的阐述一个表示分割间隔3位对称中线信号量化器和互补的逆向量化器的首尾相连的效果函数。101线表示对正量化器的函数,106线表示对负量化器的函数。
在图8中显示的函数有八个量化级,相对的图7中显示的函数有七个量化级。对于一个中线量化函数通过使用在上文讨论方法的获得附加的对应于-1的量化等级。
b)限载量化器
量化器不能超出图8阐述的一个适用于分割值在-1.0到-0.5和+0.5到+1.0范围的3位量化器和互补逆向量化器执行函数。正如上文解释的,如果存在幅值超过量化器步长的一半错误一个值超过量化器负载。图8中的例子,逆向量化器输出值分别等于-0.9375,-0.8125,-0.6875,-0.5625,+0.5625,+0.6875,+0.8125,+0.9375和量阶宽度值等于0.125。对所有在上文提及的分割间隔的量化器错误值不大于等于量化器步长一半0.0625。在这里由于量化器不能超出其负载,因此引用作为“限载量化器”。
限载的单一和分割间隔量化器对实现任何量阶宽度是必要的,它可以通过一个使用量化器合适间隔量化值的“判决点”界限量化器输出的量化函数来实现。总的来讲,判决点通过某一距离d相互分割,判决点分别靠近一个输出值间隔末端。当使用一个互补逆向量化器时,间隔提供给量化器,通过具体的量阶宽度和一个等于这个具体量阶宽度一半的最大的量化错误提供等的间隔量化输出值分割。
c)映射函数
一个分割间隔量化器可以通过各种方法执行。没有一个具体的执行是决定性的。在图9A中显示的一个执行包括级联在量化器74后的映射转换器72。映射转换器72从路径71接收输入值,映射输入值为合适的间隔,沿路径73传送映射值到量化器74。
如果量化器74是一个非对称中线信号量化器,接着在图9B中阐述的线80和81表示的映射函数将适合映射函数72。根据这个映射函数,在-1.0到-0.5间隔映射到一个-1.0-1/2ΔQ到-0.5-1/2ΔQ的间隔,这里ΔQ是量化器74的量阶宽度,同时+1.0到+0.5间隔映射到一个从-1/2ΔQ到+1.0-1/2ΔQ的值。在这个例子中,分类在小幅值分量的非大幅值分量有等于-0.5或+0.5的幅值。由于这,映射转换器72不能映射任何等于-1/2ΔQ的输入值;然而它可以任意映射接近-1/2ΔQ的输入值。
一个互补分割间隔逆向量化器可以通过一个与量化器74互补的非对称中线信号逆向量化器实现,同时一个与映射转换器72反相的映射转换器跟随在其后。
d)合成函数
在上文讨论的一个例子中,具有增益因子G=2的增益自适应量化通常用于量化常规位b等于3位的子带分量。联系表I正如上文讨论的,3位通常用于量化大幅值分量和2=(b-1)位通常量化增益修正的小幅值分量。优选情况下,图8中执行量化函数的量化器通常量化大幅值分量。
在图10中显示的一个2位对称中线信号量化器和互补逆向量化器执行函数111可以用于小幅值增益修正分量。函数111阐述了考虑增益因子G=2的量化器和逆向量化器比例和反比例效果。对逆向量化器输出值是-0.3333...,0.0和+0.3333,量化判决点是在-0.1666和+0.1666....。
在图11阐述了大、小幅值分量的一个合成函数。
e)用分割间隔函数
一个具有增益因子G=2和阈值大约0.500的分割间隔量化器提供一位量化结果的改进。改进的结果可以用于保存当对这些分量位分配减一时的大幅值分量的量化结果。在上文讨论的例子中,2位量化器可以用于量化大、小幅值分量。图12中显示的两个量化器执行合成量化函数。执行量化函数112和113的量化器用于量化具有正、负放大的大幅值分量,执行量化函数111的量化器用于量化小幅值分量。
使用具有大增益因子和小阈值的分割间隔量化函数不能提供完整的改进量化结果;因此,不牺牲量化结果,位数不能减少。在优选实施例中,使用增益因子G=2增益量化自适应量化的大幅值尾数位分配b减一位。
提供逆向量化函数的解码器是与使用量化函数的编码器互补。
6.帧内编码
术语“编码信号块”在这里引用作为表示所有频率带覆盖输入信号的使用带宽的子带信号块编码信息。一些编码系统合成多编码信号块为大单元块,这里引用作为编码信号帧。一帧结构在许多分享覆盖编码信号块的信息,减少信息开销,或者在方便地合成比如音频和视频信号的应用中有用。在1998年10月17日申请的美国专利申请序列号PCT/US98/20751中公开了涉及将音频信息编码为音频/视频应用帧的各种主题,本文在此引做参考。
上文讨论的增益自适应量化特点可以用于在不同编码信号块的子带信号块组。这部分可以优先情况下应用编码信号块到帧结构中。这种技术分组在一帧的多子带信号块分量,接着分类这些分量和应用增益因子到上文描述的分量组。所谓的帧内编码技术可以分享在一帧中分量的控制信息,对这个实际技术没有具体的编码信号块组是重要的。
D.执行
本发明可以通过各种方法执行,包括在一个通用计算机系统中的软件或其它设备包括更多的专业元件比如与通用计算机系统元件相似的数字信号处理(DSP)电路。图13中设备90的框图可以执行本发明的各种部分。DSP92提供计算机结果。RAM93是系统随机存储器(RAM)。ROM94表示一种存储形式比如只读存储器(ROM)存储设备90执行必要的程序和执行本发明的各个部分。I/O控制95表示通过通讯信道96接收和传送音频信号的接口电路。模/数转换器和数/模转换器可以包括在I/O控制95中作为接收和传送模拟音频信号。在实施例中显示,级联到总线91的主系统元件可以表示不止一条物理线;然而,没有要求总线结构执行本发明。
以一个通用计算机系统执行的实施例中,附加元件可以包括接口设备比如一个键盘或鼠标和一个显示器,控制比如磁带或磁盘、光盘一种存储设备的存储介质。存储介质可以用来记录操作、使用和应用系统的程序指令,并可以包括完成本发明个部分的程序实施例。
要求实现本发明的函数可能被通过各种方法执行包括具体的逻辑元件执行,一个或多个ASIC和程序控制处理。这些元件执行的方法对本发明不是重要的。
执行本发明的软件可以通过各种机器可读介质传送,通过基带传送,或遍布从超声波到紫外线频率频谱的调制通讯路径传送,或者使用磁或光学记录技术信息的包括磁带,磁盘和光盘的存储介质传送。在计算机系统90中的不同部分不同元件执行通过处理电路比如ASIC,通用合成电路,程序控制微处理器在各种形式只读存储器(ROM)或RAM,和其它技术。