一种处理具有离散值序列的信号的设备和方法转让专利

申请号 : CN200480028608.X

文献号 : CN1860527B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 拉夫·盖格杰拉尔德·舒勒托马斯·斯波尔

申请人 : 弗兰霍菲尔运输应用研究公司

摘要 :

当处理具有离散值序列的信号时,其中具有第一频率范围和第二频率范围,在第一频率范围内信号具有高能量,在第二频率范围内信号具有低能量,该离散值序列首先被操作(202)以便获得操作后的值的序列,使得至少一个操作后的值是非整数。然后操作后的值的序列被取整(204)以便获得取整后的操作后的值的序列。该取整用来实现被产生的取整误差的频谱整形,这样该被频谱整形的取整误差在第一频率范围具有比第二频率范围内更高的能量。通过对取整误差进行频谱整形,该取整误差在存储区域中没有任何能量,这样尤其与无损编码的语境有关的获得特别有效的编码。

权利要求 :

1.一种用于处理具有离散值序列的信号的设备,其中存在第一频率范围和第二频率范围,在所述第一频率范围内所述信号具有高能量,在所述第二频率范围内所述信号具有低能量,所述设备包括:操作装置(202),用于操作所述离散值序列以获得操作后的值的序列,使得至少一个所述操作后的值是非整数的;和取整装置(204),用于对所述操作后的值的序列进行取整以便获得取整后的操作后的值的序列,其中所述取整装置(204)被构造以便这样对所产生的取整误差进行频谱整形,即使得频谱整形后的取整误差在所述第一频率范围中比在所述第二频率范围内具有更高的能量。

2.如权利要求1的设备,其中所述信号是时间信号,其中所述离散值是时间离散值,并且所述设备还包括:转换装置(208),用于至少将所述取整后的操作后的值的序列或者由所述取整后的操作后的值的序列所导出的序列转换成具有频谱系数的谱表示,所述频谱系数在所述第一频率范围内比在所述第二频率范围内更强地包括取整误差;和编码装置(208),用于对所述谱表示进行编码。

3.如权利要求1或2所述的设备,其中所述第一频率范围是低频率范围,所述第二频率范围是高频率范围,并且所述取整装置(204)被构造以便通过使用用于滤波反馈误差e(n)的低通特征来实现频谱整形。

4.如权利要求1所述的设备,

其中所述取整装置(204)被构造,以便对第一离散值进行取整(218)、确定(214)在取整所述离散值时所产生的取整误差、评估(220)所述取整误差、并且将评估后的取整误差与所述序列中与所述第一离散值相邻的第二离散值相组合(210)以获得组合后的值,并且对所述组合后的值进行取整(218)以便获得所述第二离散值的取整版本。

5.如权利要求1所述的设备,

其中所述取整装置(204)被构造,以便以传输函数等于“-1”的取整函数来评估所述取整误差。

6.如权利要求1所述的设备,

其中所述离散值是整数值。

7.如权利要求1所述的设备,

其中所述取整装置(204)被构造,以便产生精度比操作后的值更低的取整后的值。

8.如权利要求1所述的设备,所述设备被构造,以便执行整数加窗或者整数反向加窗作为处理,其中所述信号包括来自2N个离散值的决的N/2个离散值,其中所述操作装置(202a)被构造,以便以由第一提升步骤所确定的值对所述N/2个离散值的每一个进行加权,其中所述设备还包括第一加法器(205a),用于将取整后的操作后的值的序列与具有所述2N个离散值的块中另外N/2个离散值的序列进行值方式的相加,以便获得第一相加值序列,其中所述设备还包括另一操作装置(202b),用于以由第二提升步骤所确定的值对所述第一相加值序列的每一值进行加权,以便获得另一操作后的值的序列,其中所述设备还包括另一取整装置(204b),以便获得另一取整后的操作后的值的序列,其中所述设备还包括用于以值方式相加的第二加法器(205b),以便获得第二相加值序列,其中所述设备还包括再一操作装置(202c),用于以由第三提升步骤所确定的值对所述第二相加值序列的每个值进行加权,以便获得再一操作后的值的序列,其中所述设备还包括再一取整装置(204c),以便获得再一取整后的操作后的值的序列,其中所述设备还包括第三加法器(205c),以便获得第三相加值序列,其中所述再一操作后的值的序列是N/2个被加窗的或者被反向加窗的值,并且其中所述第三相加值序列是另外N/2个被加窗或者被反向加窗的值。

9.如权利要求8所述的设备,

其中所述操作装置被构造,以便使用以下因子GFk作为N/2个值的加权因子:GFk=(cosα-1)/sinα,

其中GFk是用于下标为k的值的加权因子,并且α表示这样一个角度,即对该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)]其中k从0变化到N/2-1,w表示窗函数。

10.如权利要求8所述的设备

其中所述操作装置被构造,以便使用以下因子作为N/2个值的加权因子:GFk=sinα

其中GFk是下标为k的值的加权因子,并且α表示这样一个角度,即对该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)]其中k从0变化到N/2-1,w表示窗函数。

11.如权利要求8所述的设备,其中所述再一操作装置被构造,以便使用以下因子作为N/2个值的加权因子:GFk=(cosα-1)/sinα,

其中GFk是下标为k的值的加权因子,并且α表示这样一个角度,即对于该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)]其中k从0变化到N/2-1,其中w表示窗函数。

12.如权利要求8所述的设备,所述设备被构造用于加窗并且在所述设备后面还连接转换装置(206),或者所述设备被构造用于反加窗并且在所述设备前面连接有用于从频域到时域反向转换的装置。

13.如权利要求12所述的设备,其中所述用于从频域到时域反向转换的装置或所述转换装置包括DCT-IV装置。

14.如权利要求1所述的设备,

其中,所述操作装置(202)是使用一种变换规则进行处理的装置(102,108,130,150),以便获得一块变换后的值,所述一块变换后的值对应于所述非整数离散值序列。

15.如权利要求14所述的设备,其中所述操作装置(202)是用于执行DCT-IV算法的装置。

16.如权利要求1所述的设备,所述设备是编码器的一部分,用于由原始信号产生编码后的表示,或者是解码器的一部分,用于由编码后的信号产生解码后的表示。

17.如权利要求16所述的设备,其中所述编码器和所述解码器一起构成无损编码方案。

18.一种用于处理具有离散值序列的信号的方法,其中存在第一频率范围和第二频率范围,在所述第一频率范围内所述信号具有高能量,在所述第二频率范围内所述信号具有低能量,所述方法包括:操作(202)所述离散值序列,以便获得操作后的值的序列,使得至少一个所述操作后的值是非整数的;和取整(204)所述操作后的值的序列,以便获得取整后的操作后的值的序列,其中所述取整(204)被构造,以便对所产生的取整误差进行频谱整形,使得频谱整形后的取整误差在所述第一频率范围内比在所述第二频率范围内具有更高的能量。

说明书 :

技术领域

本发明涉及信号处理,尤其涉及诸如音频采样值或视频采样值之类的连续值的信号处理,其尤其适用于无损编码应用。

本发明还适用于对包括音频和/或图像信息的离散值的压缩算法,尤其适用于这种编码算法,该算法包括频域或时域或位置域内的变换,随后是编码,诸如霍夫曼(Huffman)或算术编码形式的熵编码。

背景技术

现代音频编码方法-诸如MPEG Layer3(MP3)或者MPEGAAC-使用变换-诸如所谓的修改的离散余弦变换(MDCT)-以便获得音频信号的块方式的频率表示。这样的音频编码器通常获得时间离散音频采样值流。该音频采样值流被加窗,以便获得一个例如是1024或2048个加窗音频采样值的加窗块。为了加窗,使用各种窗函数,诸如正弦窗等等。
然后,加窗的时间离散音频采样值通过滤波器组被转换成谱表示。原理上,为此可以使用傅立叶变换,或由于特定原因,可以使用傅立叶变换的变种-诸如FFT或者之前所述的MDCT。然后,在滤波器组输出端上的音频谱值块可以根据需要被进一步处理。在上述音频编码器中,接着就是音频谱值的量化,其中量化级通常被选择以便使量化所引入的量化噪声低于心理声学屏蔽阈值,即被“屏蔽掉”。量化是有损编码。为了获得进一步的数据量缩减,量化后的谱值然后例如通过霍夫曼编码被熵编码。通过添加边信息-诸如比例因子等等,借助于比特流复用器,由熵编码后的量化后的谱值形成可以被存储或发送的比特流。
在音频编码器中,比特流通过比特流解复用器被分割成编码后的量化后的谱值和边信息。熵编码后的量化后的谱值首先被熵解码,以便获得量化后的谱值。然后,量化后的谱值被反量化,以便获得包含量化噪声的解码后的谱值,但是该量化噪声低于心理声学频蔽阈值,所以听不到。这些谱值然后通过合成滤波器组被转换成时间表示,以便获得时间离散的解码后的音频采样值。在合成滤波器组中,必须使用与变换算法相反的变换算法。此外,在频时后向变换之后必须反向加窗。
为了获得好的频率选择性,现代音频编码器通常使用块重叠。这种情况在图6a中示出。首先,获得例如2048个时间离散音频采样值,并被装置402加窗。装置402所实现的窗具有2N个采样值的窗长度,并在输出侧提供一块2N个加窗采样值。为了获得窗重叠,借助于在图6a中为了清楚的目的而与装置402分开表示的装置404,形成第二块2N个加窗采样值。然而,馈送到装置404的2048个采样值并不是紧接着第一窗之后的时间离散音频采样值,而是包含被装置402加窗的采样值的后一半,并且此外还仅仅包含1024个“新”采样值。在图6a中由装置406符号地表示重叠,其实现50%的重叠度。然后,装置402所输出的2N个加窗采样值和装置404所输出的2N个加窗采样值被装置408或410进行MDCT运算。装置408根据已知MDCT运算为第一窗口提供N个谱值,而装置410为第二窗口提供N个谱值,其中第一窗口和第二窗口具有50%的重叠。
在解码器中,如图6b所示,第一窗口的N个谱值被馈送到执行反向的修改的离散余弦变换的装置412。这同样应用于第二窗口的N个谱值。它们被馈送到也执行反向的修改离散余弦变换的装置414。装置412和装置414分别为第一窗口提供2N个采样值或为第二窗口提供2N个采样值。
在图6b中被标为TDAC(时域混叠消除)的装置416中,考虑这样的事实,即这两个窗口是重叠的。特别地,第一窗口的后半个部分的采样值y1-即具有索引N+k-与来自第二窗口的前半部分的采样值y2-即具有索引k-相加,使得在输出侧-即在解码器中-产生N个解码后的时间采样值。
应当注意,通过装置416的函数-也被称为加法函数,在图6a示意性地示出的编码器中所执行的加窗被某种程度地自动考虑,使得在6b中示出的解码器中不进行明确的“反向加窗”。
如果装置402或404执行的窗函数被标为w(k),其中索引k表示时间索引,则必须满足这样的条件,即窗权值w(N+k)的平方加上窗权值w(k)的平方等于1,其中k为从0到N-1。如果使用其窗权值遵循正弦函数的前半个波的正弦窗,则该条件总是满足,因为每个角的正弦平方加上余弦平方为1。
在图6a中所描述的具有随后的MDCT函数的窗方法中,缺点,如果考虑正弦窗,则通过与时间离散采样值相乘进行的加窗是使用浮点数获得的,因为除了90度的角之外,0到180度之间的角的正弦不产生整数。即使整数时间离散采样值被加窗,加窗后也产生浮点数。
因此,即使不使用心理声学编码器,即如果要获得无损编码,在装置408或410的输出端也需要量化,以便能够执行合理地可管理的熵编码。
一般地,目前已知的用于无损音频和/或视频编码的整数变换是通过将所使用的变换分解为Givens旋转并且通过将提升方案应用到每个Givens旋转而获得的。因此,在每一个步骤中引入取整误差。对于后级Givens旋转,取整误差继续累积。所得到的近似误差尤其对于无损音频编码方法是有问题的,尤其是如果使用提供例如1024个谱值的长变换,例如在已知的具有重叠和加法的MDCT的情况下(MDCT=修改的离散余弦变换)是这样的。尤其在其中音频信号通常本来具有非常小的能量的较高频率范围内,近似误差可能迅速地变得比实际信号大,使得该方法在无损编码、尤其在其中可获得的编码效率方面存在问题。
关于音频编码,整数变换-即产生整数输出值的变换算法-尤其基于已知的不考虑直流分量的DCT-IV,而用于图像应用的整数变换则基于DCT-II,其特别包含对于直流分量的规定。这种整数变换例如在下面文献中获得:Y.Zeng,G.Bi和Z.Lin,“Integer sinusoidaltransforms based on lifting factorization”,in Proc.ICASSP’01,May2001,pp1181-1184,K.Komatsu和K.Sezaki,“Reversible DiscreteCosine Transform”,in Proc.ICASSP,1998,vol.3,pp 1769-1772,P.Hao和Q.Shi,“Matrix factorization for reversible integer mapping”,IEEE Trans.Signal Processing,Signal Processing,vol.49,pp.2314-2324,以及J.Wang,J Sun和S.Yu,“1-d and 2-d transformsfrom integers to integers”,in proc.ICASSP’03,Hongkong,April2003.
如上所述,所描述的整数变换是基于将变换分解为Givens旋转以及基于将已知提升方案应用到Givens旋转,这产生了累积取整误差的问题。这尤其在于以下情况,即在一次变换中必须多次-即每次提升步骤之后-取整,使得尤其在相应地导致多个提升步骤的长变换中,必须尤其频繁地取整。如上所述,这产生了累积的误差,尤其也导致相对复杂的处理过程,因为在每次提升步骤之后总是被取整,以便执行下一提升步骤。
接下来,再一次参考图9到11来解释MDCT加窗的分解,正如在DE 10129240A1中所描述的那样,其中将这种将MDCT加窗分解为具有提升矩阵和相应取整的Givens旋转有利地与图1中为转换和图2中为反向变换所讨论的设计相结合,以便获得完全整数MDCT近似,即根据本发明的整数MDCT(IntMDCT),其中前向和后向变换设计给出了MDCT的例子。
图3显示了根据本发明的优选设备的总框图,该设备用于处理表示音频信号的时间离散采样值,以便获得整数值,基于该整数值实施Int-MDCT整数变换算法。时间离散采样值被图3所示的设备加窗,并且可选地被转换成谱表示。在输入端10提供给设备的时间离散采样值被具有对应于2N个时间离散采样值的长度的窗w加窗,以便在输出端12获得整数加窗的采样值,该整数加窗的采样值适于通过变换尤其是通过用于执行整数DCT的装置14被转换成谱表示。整数DCT被构造,以便由N个输入值产生N个输出值,这与图6a的MDCT函数408相反,图6a的MDCT函数408由于MDCT等式从2N个加窗采样值仅仅产生N个谱值。
为了对时间离散采样值加窗,首先在装置16中选择两个时间离散采样值,其一起表示时间离散采样值矢量。装置16所选择的一个离散采样值位于窗的第一个四分之一中。另一时间离散采样值位于窗的第二个四分之一中,如将参考图5更详细的描述的那样。装置16所产生的矢量现在被提供以2×2维旋转矩阵,其中不是直接执行该操作,而是通过多个所谓的提升矩阵来执行该操作。
提升矩阵具有这样的特性,即其只具有一个元素,该元素取决于窗w并且不等于“1”或“0”。
提升步骤中子波变换的因子分解在以下专业出版物中有所讨论:”Factoring Wavelet Transforms Into Lifting Steps”,IngridDaubchies和Wim Sweldens,Preprint,Bell Laboratories,LucentTechnologies,1996。一般地,提升方案是具有相同低通或高通滤波器的良好重构的滤波器对之间的简单关系。每对互补滤波器可以被因子分解为提升步骤。这尤其应用于Givens旋转。考虑多相矩阵是Givens旋转的情况。则成立下式:
cos α - sin α sin α cos α = 1 cos α - 1 sin α 0 1 1 0 sin α 1 1 cos α - 1 sin α 0 1 - - - ( 1 )
等号右侧的三个提升矩阵的每一个都以1为主对角元素。此外,在每个提升矩阵中,一个副对角元素等于0,并且一个副对角元素取决于旋转角度α。
现在矢量与第三个提升矩阵-即上式最右边的提升矩阵-相乘,以便获得第一结果矢量。这在图3中由装置18表示。现在第一个结果矢量被将实数集映射到整数集的任何取整函数取整,如图3的装置20所示。在装置20的输出端,获得取整后的第一结果矢量。取整后的第一结果矢量现在提供到装置22,装置22用于将其与中央-即第二-提升矩阵操相乘,以便获得第二结果矢量,该第二结果矢量又在装置24中被取整,以便获得取整后的第二结果矢量。该取整后的第二结果矢量现在被提供给装置26,即将其与上式中左边的提升矩阵-即第一提升矩阵-相乘,以便获得第三结果矢量,该第三结果矢量最后由装置28取整,以便最后在输出端12获得整数的加窗采样值,如果希望得到其谱表示,那么该整数加窗采样值必须被装置14处理,以便在谱输出端30获得整数谱值。
优选地,装置14被实施为整数DCT。
根据类型4(DCT-IV)具有长度N的离散余弦变换由下式给出:
X t ( m ) = 2 N Σ k = 0 N - 1 x ( k ) cos ( π 4 N ( 2 k + 1 ) ( 2 m + 1 ) ) - - - ( 2 )
DCT-IV的系数形成正交N×N矩阵。每个正交N×N矩阵可以被分解为N(N-1)/2个Givens旋转,这在以下专业出版物中有所描述:P.P.Vaidyanathan,“Multirate Systems And Filter Banks”,PrenticeHall,Englewood Cliffs,1993。应当注意还存在其他分解。
关于各种DCT算法的分类,参见:H.S.Malvar,“SignalProcessing with Lapped Transforms”,Artech House,1992。一般地,DCT算法通过它们的基函数来区分。虽然这里优选的DCT-IV包括非对称基函数,即余弦四分之一波、余弦3/4波、余弦5/4波,余弦7/4波等等,但是例如类型II(DCT-II)的离散余弦变换具有轴对称和点对称的基函数。第0基函数具有直流分量,第1基函数是半个余弦波,第2基函数是整个余弦波,等等。由于DCT-II特别考虑直流分量,因此其用于视频编码,而不是音频编码,因为与视频编码相比,直流分量在音频编码中并不相关。
以下,将讨论Givens旋转的旋转角度α如何依赖于窗函数。
具有窗长度为2N的MDCT可以被减缩为具有长度N的类型IV的离散余弦变换中。这通过在时间域明确地执行TDAC操作然后采用DCT-IV而实现。在50%的重叠情况中,块t的左半边窗与前一块-即块t-1-的右半边窗重叠。两个连续块t-1和t的重叠部分在时域中-即在转换之前-被预处理,如下,即在图3的输入端10和输出端12之间处理。
x ~ t ( k ) x ~ t - 1 ( N - 1 - k ) = w ( N 2 + k ) - w ( N 2 - 1 - k ) w ( N 2 - 1 - k ) w ( N 2 + k ) x t ( N 2 + k ) x t ( N 2 - 1 - k ) - - - ( 3 )
标有“~”的值是在图3的输出端12处的值,而上式中没标有“~”的x值是在输入端10处的值或在选择装置16后面的值。变量k为0到N/2-1,而w表示窗函数。
由用于窗函数w的TDAC条件,成立以下等式:
w ( N 2 + k ) 2 + w ( N 2 - 1 - k ) 2 = 1 - - - ( 4 )
对于某一角度αk,k=0,...,N/2-1,该预处理在时域上可以被写成Givens旋转,如下所述。
Givens旋转的角度α如下地依赖于窗函数w:
α=arctan[w(N/2-1-k)/w(N/2+k)](5)
应当注意的是,可是使用任何窗函数w,只要它们满足该TDAC条件。
以下,参考图4描述级联的编码器和解码器。被一个窗口一起“加窗”的时间离散采样值x(0)到x(2N-1)首先被图3的装置16这样选择,使得采样值x(0)和采样值x(N-1)-即来自窗的第一个四分之一的采样值和来自窗的第二个四分之一的采样值-被选择,以便在装置16的输出端形成矢量。交叉箭头示意性地表示了装置18、20或22,24或26,28的提升乘法和随后的取整,以便在DCT-IV块的输入端获得整数加窗的采样值。
如果第一矢量已经如上所述被处理,则包括采样值x(N/2-1)和x(N/2)-又一来自窗的第一个四分之一的采样值和来自窗的第二个四分之一的采样值-的第二矢量被选择,并又被图3所描述的算法处理。类似地,来自窗的第一个和第二个四分之一的所有其他采样值对被处理。对于窗的第三和第四个四分之一也做同样的处理。现在,在输出端12有2N个加窗整数采样值,其现在被提供到DCT-IV变换,如图4所示。特别地,第二和第三个四分之一的整数加窗采样值被提供到DCT。窗的第一个四分之一的加窗整数采样值在前一DCT-IV中与前一窗的第四个四分之一的加窗整数采样值一起被处理。类似的,在图4中第四个四分之一的加窗整数采样值和下一窗的第一个四分之一一起被提供到DCT-IV变换。图4中央所示的整数DCT-IV变换32现在提供N个整数谱值y(0)到y(N-1)。这些整数谱值现在例如可以被简单地熵编码,而不需要中间的量化,因为加窗和变换提供了整数输出值。
在图4的右半边,显示了解码器。解码器包括与编码器相反操作的后向变换和“反向加窗”操作。已知,为了后向变换,可以使用反向DCT-IV,如图4所示。如图4所示,现在以之前变换或之后变换的相应值相反地处理解码器DCT-IV 34的输出值,以便由装置34的输出端的整数加窗采样值或之前和之后变换又产生时间离散音频采样值x(0)到x(2-N1)。
输出端的操作由反向Givens旋转实现,即块26,28或22,24或18,20以反方向执行。这将参考等式1的第二提升矩阵而更详细的描述。如果(在编码器中)通过将取整后的第一结果矢量乘以第二提升矩阵(装置22)而形成第二结果矢量,则成立以下表达式:

等式6右边的值x,y是整数。然而,这并不适用于值xsinα。这里,必须引入取整函数r,如下式所示:

该操作由装置24执行。
反向映射(在解码器中)被定义如下:

由于取整运算前的负号,很明显提升步骤的整数近似可以被反向,而不引入误差。对三个提升步骤的每一个应用该近似就产生Givens旋转的整数近似。(在编码器中的)取整后的旋转可以(在解码器中)被反向,而不引入误差,即通过将反向的取整后的提升步骤以反向的顺序执行,即如果在解码中图3的算法从下到上执行。
如果取整函数r是点对称的,那么反向的取整后的旋转等于具有角度-α的取整旋转,如下式:
cos α sin α - sin α cos α - - - ( 9 )
在该情况中,仅仅通过将表达式“sinα”替换成表达式“-sinα”而直接从等式1得到用于解码器-即用于反向Givens旋转-的提升矩阵。
以下,具有重叠窗口40到46的普通MDCT的分解将再一次参考图5示出。窗口40到46分别具有50%的重叠。每个窗口地,首先在窗的第一个和第二个四分之一中或在窗的第三和第四个四分之一中执行Givens旋转,如箭头48示意性所示。然后,旋转后的值-即加窗后的整数采样值-被提供到N-到-N DCT,使得借助于DCT-IV算法,窗的第二和第三个四分之一或第四个和后一窗的第一个四分之一总是一起被转换成谱表示。
因此,普通的Givens旋转被分解为顺序执行的提升矩阵,其中,在每个提升矩阵乘法之后,插入取整步骤,使得浮点数在其产生之后立即被取整,从而在每次结果矢量与提升矩阵相乘之前,结果矢量只有整数。
因此,输出值总是整数,其中优选的也使用整数输入值。这并不表示限制,因为任何示例性PCM采样值-如其存储在CD上的那样-是整数数字值,其值范围根据比特宽度的不同而不同,即根据时间离散数字输入值是16比特值还是24比特值。然而,如上所述,整个过程是可逆的,这是通过以反序执行反向旋转。因此存在具有完美重构的MDCT的整数近似,即无损变换。
示出的变换提供了整数输出值而不是浮点值。其提供了完美的重构,使得当执行前向然后执行后向变换时不引入误差。根据本发明的一个优选实施例,该变换是使用修改的离散余弦变换。然而,也可以整数地执行其他变换方法,只要分解为旋转以及将旋转分解为提升是可能的。
整数MDCT具有MDCT的大多数优点。其具有重叠结构,由此能比非重叠块变换获得更好的频率选择性。由于在变换之前的加窗中已经考虑的TDAC函数,因此保持临界采样,使得表示音频信号的谱值的总数等于输入采样值的总数。
与提供浮点采样值的普通MDCT相比,在所描述的优选整数变换中显示了:与普通MDCT相比,噪声只有在具有很小信号电平的频谱范围内上升,而该噪声在相当大的信号电平处不会变得显著。为此,提供了有效硬件实现的整数处理,因为仅仅使用了乘法步骤,而乘法步骤可以容易地被分解为移动-相加步骤,移动-相加步骤可以被简单迅速地用硬件实现。当然,也可以用软件实现。
整数变换提供了音频信号好的谱表示,并且还保持在整数范围中。如果其被应用到音频信号的音调部分,那么就产生好的能量集中。这样,通过简单地将图3所示的加窗/变换与熵编码器级联,构建有效的无损编码方案。特别地,使用逸出值的堆叠编码-如在MPEG AAC中使用的那样-是有利的。优选的,将所有值按比例缩小2的某次幂,直到它们适合期望的码表,然后再附加地对被省略的最低有效位编码。与使用较大码表的方案相比,所描述的方案在用于存储码表的存储消耗方面更有利。通过简单地省略某些最低有效位也可以获得几乎无损的编码器。
尤其对于音调信号,整数谱值的熵编码使得能够得到高的编码增益。对于信号的瞬变部分,编码增益是低的,即由于瞬变信号的平坦的谱(flat spectrum),即由于少量等于0或近似等于0的谱值。如在J.Herre,J.D.Johnston:“Enhancing the performance 0fPerceptual Audio Coders by Using Temporal Noise Shaping(TNS)”101st AES Convention,Los Angeles,1996,preprint 4384中所描述的,然而可以通过在频域中使用线性预测来使用该平坦性。一个可选方案是具有开环的预测。另一可选方案是具有闭环的预测。第一方案-即具有开环的预测-被称为TNS。预测之后的量化导致所得到的量化噪声适应于音频信号的时间结构,并由此避免了在心理声学音频编码器中的超前回声。对于无损音频编码,第二方案-即具有闭环的预测-更适合,因为具有闭环的预测允许输入信号的更精确的重构。如果将该技术应用到所产生的频谱,则必须在预测滤波器的每个步骤之后执行取整步骤,以便保留在整数区域中。通过使用反向滤波器和相同的取整函数,原始频谱可以被精确地再现。
为了利用两个信道之间的冗余来减少数据,如果使用具有π/4角度的取整后的旋转,则也可以以无损方式使用中央侧边编码(Mitte-Seite-Codierung)。与计算立体声信号左右信道的和与差的方案相比,取整后的旋转的优点在于能量守恒。可以为每个频带使用或不使用所谓的联合立体声编码技术,如其也在标准MPEG AAC中执行的那样。也可以考虑其他的旋转角度,以便可以灵活地减小两个信道之间的冗余。
特别地,参考图3示出的转换设计提供了MDCT的整数实现-即IntMDCT,其对于前向变换和随后的后向变换来说无损地工作。此外,通过取整步骤20,24,28和整数DCT中的相应取整步骤(图3的块14),总可以进行整数处理,即具有比例如通过具有提升矩阵的浮点乘法所产生的量化值(图3的块18,22,26)更加粗略的量化值的处理。
这导致,也可以计算有效地执行整个IntMDCT。
该IntMDCT的无损性或者,一般而言,被称为无损的所有编码算法的无损性是指:信号-如果其被编码以便获得编码后的信号并且之后其又被解码以便获得编码后的/解码后的信号-“看起来”很像原始信号。换句话说,原始信号等于编码后的/解码后的信号。这与所谓的有损编码有明显的区别,在有损编码中,如在基于心理声学的音频编码器的情况中,通过编码过程、尤其是通过由心理声学模型所控制的量化过程,数据被不可恢复地丢失。
当然,仍然引入了取整误差。因此,如参考图3在块20,24,28中所示的那样,执行取整步骤,其当然引入取整误差,该取整误差仅仅当在解码器中执行反向操作时被“消除”。因此,无损编码/解码设计与有损编码/解码设计的关键区别在于:在无损编码/解码设计中,这样引入取整误差,使得其可以又被消除,而在有损编码/解码设计中是不一样的。
然而,如果考虑编码后的信号-即在转换编码器的例子中是时间采样值块的频谱,则前向变换中的取整或者一般地这种信号的量化就导致向信号引入误差。因此,取整误差叠加在信号的理想无误差的频谱上,取整误差典型地例如在图3的情况中是均匀地包括所考虑的频谱范围中所有频谱分量的白噪声。因此,叠加在理想频谱上的白噪声表示取整误差,该取整误差例如是由加窗-即块14中实际DCT之前的信号预处理-过程中在块20,24,28中取整所产生的。尤其应当注意的是,对于无损性要求,整个取整误差必须不可避免地被编码-即必须被传送到解码器,因为解码器需要在编码器中所引入的整个取整误差,以便重新实现正确的无损重构。
如果没有对谱表示做任何操作-即如果谱表示仅仅被存储地传送并且通过正确匹配的反向解码器再一次被解码,则取整误差就没有问题。于是,不管有多少取整误差已经被引入到频谱中,总是满足无损性标准。然而,如果已经对谱表示-即对包含取整误差的原始信号的理想谱表示-做了些处理,例如产生可伸缩性层等等,则取整误差越小,所有这些就越好的工作。
因此,无损编码/解码中还要求信号一方面应该由特定解码器无损地可重构,然而信号在其谱表示中也应该具有尽可能小的取整误差以便保持灵活性,即非理想无损解码器也可以被馈送以谱表示或者可以产生定标层等等。
如上所述,取整误差被表示为在所考虑的整个频谱上的白噪声。另一方面,尤其在高质量应用中,诸如尤其关心无损的情况-即在具有非常高采样频率的音频应用,诸如96kHz-中,音频信号仅仅在某一频率范围内具有合理信号内容,该频率范围通常最多达20kHz。通常,音频信号的大多数信号能量所集中的范围是0到10kHz,而信号能量在超过10kHz的范围中已经显著下降。然而,这对于因为取整而引入的白噪声来说是无所谓的。白噪声叠加在信号能量的整个考虑频谱范围内。这导致,在没有或只有很小的音频信号能量的频谱范围内,即通常在高频率范围内,只有取整误差。同时,尤其因为其非确定性的特性,取整误差也难以编码,即其只可以以相对大的比特消耗来编码。比特消耗尤其在一些无损应用中并不是决定性的环节。但是,因为无损编码应用越来越广泛,所以在这里非常比特有效地工作是非常重要的,以便将无损应用中固有的无质量减小的优点和相应的比特效率相组合,如在有损编码设计中已知的那样。

发明内容

本发明的目的是提供用于处理信号的有效设计。
该目的是由根据本发明的处理具有离散值序列的信号的设备、根据本发明的处理具有离散值序列的信号的方法、或者根据本发明的计算机程序来实现的。
本发明基于这样的认识,即尤其在无损编码/解码环境中,取整误差被这样频谱整形,使得其“被安排”在要被编码的信号的频率范围中,其中在该频率范围内信号本来具有高的信号能量,并且由此在信号本来没有能量的频率范围内不存在取整误差。虽然在现有技术中,在无损编码、尤其在基于整数算法的无损编码中,取整误差白色地分布在信号的整个频谱中,但是根据本发明,取整误差以粉红噪声的形式叠加在理想频谱上,即由于取整而产生的噪声能量存在于信号本来具有最高信号能量的地方,并因此由于取整误差而产生噪声在要编码的信号本身没有能量的地方同样具有很少甚至几乎没有能量。从而避免了最坏的情况,即作为随机信号并因此而很难被编码的取整误差在一个频率范围内是唯一要编码的信号,因此不必增加比特率。
如果观察能量在低频率范围内的音频信号,则根据本发明的取整设备被构造,以便实现对所产生的取整误差进行频谱低通整形,即在编码后的信号的高频率处,既没有信号能量也没有噪声能量,而取整误差被映射到信号本来具有大能量的范围上。
尤其对于无损编码应用,这与现有技术不同,在现有技术中,取整误差被频谱高通滤波,以便使取整误差位于在听得见的范围之外。这也对应于这样的情况:取整误差所位于的频谱范围被电子地或者被耳朵自己滤除,以便消除取整误差。然而,对于无损编码/解码,在解码器中绝对需要取整误差,因为否则在解码器中所使用的与无损编码算法相反的算法就产生失真。
根据本发明的对取整误差进行频谱整形的设计优选地用于具有高采样率的无损应用中,因为尤其在频谱在理论上延伸到大于40kHz(由于过采样)的情况下,在其中本来不存在信号能量-即其中可以非常有效地编码-的高频率范围内也获得相同的情形,如在非整数编码的情况中那样,在非整数编码的情况中,信号能量在高频率范围上也等于0。
通过大量的0被非常有效地编码,并且通过对编码来说是有问题的取整误差被移到了通常本来很好被编码的范围内,因此与取整误差作为白噪声分布在整个频率范围上的情况相比,信号的总数据率被减小。此外,编码性能被提高,并且因此解码性能也被提高,因为对于高频率范围的编码和解码,不必须花费计算时间。根据本发明的设计因此还导致:在编码器侧或在解码器侧可以获得更快的信号处理。
在本发明的一个优选实施例中,根据本发明的整形/减小近似误差的设计被用于可逆的整数变换,尤其用于IntMDCT。存在两个应用领域,一方面是多维提升,通过该多维提升,可以在所需取整步骤方面大大简化MDCT;另一方面是整数加窗所需的取整操作,如它们在实际DCT之前的预处理中所出现的那样。
根据本发明,误差反馈设计被用于取整误差的频谱整形,其中根据本发明,取整误差被移到刚处理的信号具有最高信号能量的频率范围中。对于音频信号,尤其对于视频信号,这是低频率范围,使得误差反馈系统具有低通特性。由此,在其中通常存在很少信号成分的上频率范围内得到很少的取整误差。在现有技术中,取整误差在上范围中占大多数,其必须被编码,从而增加了编码所需的比特数量。根据本发明,在更高频率中减小该取整误差,这直接地减小了编码所需的比特数量。
根据本发明的一个方面,提供了一种用于处理具有离散值序列的信号的设备,其中存在第一频率范围和第二频率范围,在所述第一频率范围内所述信号具有高能量,在所述第二频率范围内所述信号具有低能量,所述设备包括:操作装置,用于操作所述离散值序列以获得操作后的值的序列,使得至少一个所述操作后的值是非整数的;和取整装置,用于对所述操作后的值的序列进行取整以便获得取整后的操作后的值的序列,其中所述取整装置被构造以便这样对所产生的取整误差进行频谱整形,即使得频谱整形后的取整误差在所述第一频率范围中比在所述第二频率范围内具有更高的能量。
优选地,所述设备被构造以便执行整数加窗或者整数反向加窗作为处理,其中所述信号包括来自2N个离散值的块的N/2个离散值,其中所述操作装置被构造,以便以由第一提升步骤所确定的值对所述N/2个离散值的每一个进行加权,其中所述设备还包括第一加法器,用于将取整后的操作后的值的序列与具有所述2N个离散值的块中另外N/2个离散值的序列进行值方式的相加,以便获得第一相加值序列,其中所述设备还包括另一操作装置,用于以由第二提升步骤所确定的值对所述第一相加值序列的每一值进行加权,以便获得另一操作后的值的序列,其中所述设备还包括另一取整装置,以便获得另一取整后的操作后的值的序列,其中所述设备还包括用于以值方式相加的第二加法器,以便获得第二相加值序列,其中所述设备还包括再一操作装置,用于以由第三提升步骤所确定的值对所述第二相加值序列的每个值进行加权,以便获得再一操作后的值的序列,其中所述设备还包括再一取整装置,以便获得再一取整后的操作后的值的序列,其中所述设备还包括第三加法器,以便获得第三相加值序列,其中所述再一操作后的值的序列是N/2个被加窗的或者被反向加窗的值,并且其中所述第三相加值序列是另外N/2个被加窗或者被反向加窗的值。
其中,所述操作装置可以被构造,以便使用以下因子GFk作为N/2个值的加权因子:GFk=(cosα-1)/sinα,其中GFk是用于下标为k的值的加权因子,并且α表示这样一个角度,即对该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)],其中k从0变化到N/2-1,w表示窗函数。
所述操作装置也可以被构造,以便使用以下因子作为N/2个值的加权因子:GFk=sinα,其中GFk是下标为k的值的加权因子,并且α表示这样一个角度,即对该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)],其中k从0变化到N/2-1,w表示窗函数。
其中所述再一操作装置可以被构造,以便使用以下因子作为N/2个值的加权因子:GFk=(cos α-1)/sin α,其中GFk是下标为k的值的加权因子,并且α表示这样一个角度,即对于该角度,下式成立:α=arctan[w(N/2-1-k)/w(N/2+k)],其中k从0变化到N/2-1,其中w表示窗函数。
根据本发明的另一方面,提供了一种用于处理具有离散值序列的信号的方法,其中存在第一频率范围和第二频率范围,在所述第一频率范围内所述信号具有高能量,在所述第二频率范围内所述信号具有低能量,所述方法包括:操作所述离散值序列,以便获得操作后的值的序列,使得至少一个所述操作后的值是非整数的;和取整所述操作后的值的序列,以便获得取整后的操作后的值的序列,其中所述取整装置被构造,以便对所产生的取整误差进行频谱整形,使得频谱整形后的取整误差在所述第一频率范围内比在所述第二频率范围内具有更高的能量。

附图说明

以下将参考附图更详细的解释本发明的优选实施例,其中:
图1显示了根据本发明的一种处理具有离散值序列的信号的设计的方框图;
图2a显示了用于对量化误差进行高通频谱整形的已知设计;
图2b显示了根据本发明的对取整误差进行低通整形的设计;
图2c显示了根据本发明一个优选实施例的用于频谱整形/取整块的方框图;
图3显示了处理时间离散音频采样值以便获得整数值的一种优选设备的方框图,从该整数值中可以确定整数谱值;
图4是将MDCT和反向MDCT分解为Givens旋转和两个DCT-IV运算的示意图;
图5显示了将具有50%重叠的MDCT分解为旋转和DCT-IV运算的示意图;
图6a显示了具有MDCT和50%重叠的已知编码器的示意方框图;
图6b显示了对图10a所产生的值进行解码的已知解码器的方框图;
图7显示了根据图3的加窗过程中的提升;
图8是用于在实际变换之前加窗的图7的提升的“重新排列”图示;
图9显示了本发明对于根据图3,7和8的加窗的应用;
图10A-10C显示了根据本发明一个优选实施例的转换装置的方框图;
图11显示了根据本发明一个优选实施例的用于反向转换的装置;
图12显示了可用于本发明的两个连续数值块的变换;
图13是具有前向变换矩阵的多维提升步骤的详细图示;
图14显示了具有后向变换矩阵的多维反向提升步骤的图示;
图15显示了本发明用于将长度为N的DCT-IV分解为长度为N/2的两个DCT-IV;
图16显示了根据本发明的设计在具有图10的多维提升的变换中的应用;
图17是两个连续提升步骤的图示;
图18是图17的两个连续提升步骤中减小取整误差的设计的图示;
图19显示了将图18的设计与图16的设计相结合。

具体实施方式

图1显示了一种处理具有离散值序列的信号的设备,该信号通过信号输入端200被输入到操作装置202。信号典型地被构造,以便具有第一频率范围和第二频率范围,在第一频率范围内信号具有高能量,在第二频率范围内信号具有相对低的能量。如果第一信号是音频信号,则它在第一频率范围-即在低频率范围内-具有高能量,在高频率范围内具有低能量。但是,如果信号是视频信号,则其同样在低频率范围也具有高能量,在高频率范围具有低能量。与音频信号相反,视频信号的频率范围是空间频率范围,除非考虑的是连续视频帧,在连续视频帧中也存在涉及例如连续帧中所选图像区域的时间频率。
操作装置202通常被构造以便操作离散值序列,以获得操作后的值序列,其中至少一个操作后的值不是整数。该非整数离散值序列被馈送到用于对操作后的值序列进行取整的装置204,以便获得取整后的操作后的值序列。根据本发明,取整装置204被构造以便对取整所产生的取整误差进行频谱整形,使得在第一频率范围-即在原始信号具有高能量的频率范围-中,频谱整形后的取整误差也具有高能量,并且在第二频率范围-即在原始信号具有低能量的频率范围-中,频谱整形后的取整误差也具有低能量或者没有能量。因此,一般地,第一频率范围内的频谱整形后的取整误差的能量大于第二频率范围内的频谱整形后的取整误差的能量。然而,频谱整形优选地不改变取整误差的总能量。
优选地,根据本发明用于产生包含误差的取整后的操作后的值序列的设备直接地或者经由另一操作/取整组合与用于转换为谱表示的装置206耦合。因此,包含误差的取整后的操作后的值的序列可以直接地馈送到用于转换为谱表示的装置206,以便获得包含误差的取整后的操作后的值序列的直接频谱。然而,在本发明一个优选实施例中,操作装置是提升步骤或提升矩阵,而取整装置被构造以便取整提升步骤的非整数结果。在这种情况下,装置204的后面跟的是执行第二提升步骤的另一操作装置,其后面又跟着取整装置,该取整装置后又跟着第三操作装置,用于执行第三提升步骤,其中然后又进行操作,使得完成所有的三个提升步骤。因此,产生由装置204的输出端上的原始包含误差的取整后的操作后的值序列所导出的包含误差的取整后的操作后的值序列,然后其最后优选地同样通过整数变换、尤其优选地通过同样配备有根据发明性的设计的整数变换被变换为谱表示,如块206所示。块206的输出端上的谱表示的输出信号现在具有的频谱与现有技术相比不再具有白分布的取整误差,而具有被频谱整形的取整误差,即在实际“有用频谱”具有高信号能量的地方也有高取整误差能量,而甚至在最好的情况中,没有信号能量的频谱范围内没有取整误差能量。
根据本发明所产生的频谱然后被输入到用于对谱表示进行熵编码的装置208。用于熵编码的装置可以包括任何编码方法,诸如霍夫曼编码、算术编码等等。尤其为了对大量等于0并且互相毗邻的谱线进行编码,行程长度编码也是合适的,当然该方法不能应用在现有技术中,因为这里在这样的频率范围中,实际确定的信号-但是其具有白频谱并且因此对于任何类型编码工具尤其不利-必须被编码,这是因为各个频谱值互相完全不相关。
接下来,参考图2a,2b和2c讨论具有频谱整形的取整装置204的优选实施例。
图2a显示了已知的用于对量化误差进行频谱整形的误差反馈系统,这在以下专业书中有描述:“Digital Audiosignalverarbeitung”,U.Zoelzer,Teubner-Verlag,Stuttgart,1997。输入值x(i)被提供到输入加法器210。加法器210的输出信号被提供到量化器212,该量化器212在频谱整形设备的输出端提供量化后的输出值y(i)。在第二加法器214,量化器212之后的值与量化器212之前的值之间的差值被确定,即取整误差e(i)。第二加法器214的输出信号被馈送到延迟装置216。被延迟一个时间单位的误差e(i)然后由加法器装置210从输入值中减去。因此,得到原始误差信号e(n)的高通估值。
如果使用z-1(-2+z-1)而不是图2a中标为216的延迟装置z-1,那么得到二阶高通估值。在某些应用实例中,量化误差的这些频谱整形被用来将量化误差从可感觉范围内“屏蔽出去”,即例如从信号x(n)的低通范围内“屏蔽出去”,因此感觉不到量化误差。
根据本发明,如图2b所示,与此相反,执行低通评估,以便不是实现感觉范围之外的误差的频谱整形,而是实现恰恰感觉范围内的误差的频谱整形。为此,加法器210的输出信号,如图2b所示,被馈送到取整块218,该取整块218执行任何取整函数,取整函数例如可以是向上取整、向下取整、截断、向上取整/向下取整到下一整数或者到隔一个、隔两个...的整数。在误差反馈路径上-即在加法器214和加法器210之间,除了延迟元件216之外,还有具有脉冲响应h(n)或传输函数H(z)的反馈块220。输出序列的z变换-即Y(z)-通过图2b所示等式与输入序列X(z)相关。
e(n)=y(n)-x′(n)
在上式中,x′(n)是加法器210的输出信号,y(n)是取整块218的输出信号。
此外,成立下式:
y(n)=round(x′(n))
在上式中,“round”表示块218执行的取整函数。此外,成立下式,其中“*”表示卷积运算:
x′(n)=x(n)-h(n)*e(n-1)
在z域,有以下结果:
Y(z)=X′(z)+E(z)
X′(z)=X(z)-E(z)z-1H(z)
Y(z)=X(z)+(1-z-1H(z))E(z)
因为E(z)是取整误差,所以其由滤波器(1-z-1H(z))频谱整形。根据本发明,现在使用类似低通的传输函数。如果设置例如H(z)=-1,则可以获得最简单的类似低通的传输函数。因此,在这个简单例子中,在应用下一取整运算之前,前一取整运算的取整误差被简单地加到要被取整的值。因此,实现了取整误差的简单的、对于本发明非常有效、并因此优选的低通滤波。
图2c显示了一种实现。特别地,显示了操作整数离散值原始序列的装置202,其在输出侧提供非整数离散值序列y0,y1,y2,...yi。现在,与现有技术相比,每个值不再被取整,如其例如借助于图3的块20,24,28或者参考图10c的块104,110,142或者参考图11的块126,132,150所示。相反,非整数离散值序列y0,y1,y2,y3,...通过图2所示的“网络”相互相关地以低通特征在反馈分支上被滤波,使得得到根据本发明的频谱整形。图2c和图2b中相同的元件使用相同的参考数字。
此外,图2c显示了并行实现,即这样的实现,其中要被取整的值被并行地提供。当然,该图示仅仅是示意性的。值y0,y1,y2,...可以顺序地被提供,以便然后获得顺序输出值,其中在该情况中,包括元件210,214,216,218,220的结构的单个实现就足够了。元件214,218,210,220的重复结构仅仅为了清楚的目的而被显示。
图2c中示出的取整装置204因此用于首先计算取整后的值[y0]。然后,计算取整误差i0。然后,取整误差i0被具有传输函数H(z)的块220加权(滤波)并且被馈送到加法器210,其中该传输函数优选地是-1。该滤波后的取整误差被加到序列yi的下个值,而加法器210的结果在块218中被取整,以便获得取整后的下一值[y1]。随后,又由加法器214确定取整误差,即利用取整后的值[y1]和原始值y1,其中所获得的取整误差i1在块220中又被滤波,以便为序列的下一个值y2执行相同的过程。
此时,应当注意,方向是不重要的。这表示,可以从具有较大下标的yi到具有较小下标的yi,即与参考图2c中从块220到加法器210延伸的箭头所特别表示的方向相反。顺序-即该过程是从低到高序列下标还是从高到低序列下标处理-并不重要。
尤其在整数MDCT(IntMDCT)的应用情况中,取整误差的频谱整形优选地在满足以下条件时非常有效地被使用:
-取整误差被互相独立地加到多个相邻值。
-相邻值(广义上讲)是时间信号,其随后被变换转换成谱表示,即转换到频域。
以下,将详细的解释取整误差的频谱整形优选地被用于整数MDCT的哪些部分。
第一优选应用情况在于实际变换之前的加窗,即对于图3中块20,24,28所指定的取整。提升运算-如每个单独原始采样值x1,...,xN所受到的那样并且如基于图3所略述的那样-还可以由图7的图示来表示。这里,3个提升矩阵的应用-即分别与采样值的因子相乘-被以采样值的方式示出,使得得到“从上到下”、“从下到上”、“从上到下”的序列。
关于图7中的注释,应当注意的是,当箭头到达水平线时,则就在那执行加法。该加法例如在图7中由27示出。如果将图4和图7相比,唯一的不同就在于,图4中的x(0)对应于图7中的x1。在这点上,图7的xN对应于图4的x(N-1)。然而,图4的x(N/2-1)对应于图7的xN/2。此外,图4的x(N/2)对应于图7的xN/2+1,使得得到图4所示的蝶形,通过其,根据提升步骤,来自窗的第一个四分之一的值使用来自窗的第二个四分之一的值加权,而类似的,窗的第三个四分之一的值与窗的第四个四分之一的值由“下-上-下系统”处理,如图7所示。
对于这对值xN/2和xN/2+1有相应的程序。这里又有下-上-下序列,其中下步骤29a后面是上步骤29b,之后跟着是下步骤29c。
因此,图7显示了由提升进行的整数加窗。该计算还可以容易的被重新排列,而不改变结果,如图8所示。因此,当然可以首先执行所有向下步骤(所有步骤29a)。然后可以执行所有向上步骤(29b)以便最后执行所有向下步骤29c,使得得到向下块31a、向上块31b和向下块31c。应当注意,图8对应于图7,但是以适于理解本发明的另一图示。
图9显示了根据本发明的设计,其中执行根据本发明的具有频谱整形的取整的取整。图9所示的提升计算设计对应于图1,其中输入值x1,xN/2表示在输入端200处的整数离散值原始序列。在向下块31a中的评估块cs1,cs2,...csk一起形成操作装置202。标有[.]/噪声整形的块表示图1的取整装置204。现在在该块204的输出端得到取整后的操作后的值含有误差的序列。
在图9所示的实施例中,含有误差的取整后的操作后的值的序列被加到另一序列xN/2+1到xN,以便获得新的整数离散值序列,该新的整数离散值序列又被(向上块31b中的块s1,sk)操作,以便然后又通过元件204b实现向上块31b中的根据本发明的取整。然后,又设置值方式的加法器205b,如在向下块31a中那样-即如在加法器205a的情况中那样-以便获得新的序列,该新的序列叉被馈送到操作器202c,其中操作器202c的输出信号是非整数的,并且在另一取整器204c中被取整,以便又由另一加法器205c相加,即加到被馈送到操作器202b的序列。
在图9所示的实施例中,在输出侧得到加窗后的采样值块,其根据系统方案-如图4所示-被馈送到相应移动的DCT-IV块。这些移动的DCT块提供变换,以便将取整后的操作后的值的含有误差的序列转换成谱表示。因此,图4的DCT-IV块表示图1的装置206的实现。类似地,执行反向整数DCT-IV的块代表用来转换为时间表示的模拟装置。
随后,参考图10到15讨论多维提升的应用,以便呈现用于转换为图10a的谱表示206的装置的整数实现或反向转换的模拟整数实现(用于解码器)。多维提升的设计在申请号为10331803.8的德国专利申请中有所描述。
图10a显示了将离散值转换成具有整数值的变换后的表示的设备。离散值经由第一输入端100a和第二输入端100b被馈送到设备。第一块离散值经由输入端100a被输入,而第二块离散值经由输入端100b输入。离散值表示音频数据或图像数据或者视频数据。如下所述,第一块离散值和第二块离散值实际可以包括2个时间连续的音频采样值块。第一和第二块离散值也可以包括2个由离散值表示的图像或预测后的残余值或差分编码中的差值。然而,可选地,该两个离散值块可以进行预处理,诸如MDCT的整数实现,其中由Givens旋转从实际加窗的采样值产生第一和第二块离散值。因此可以通过原始音频数据或图像数据的任何预处理-例如旋转,置换,正/负蝶形,定标等等-而得到第一和第二块离散值。但是,第一和第二块离散值包含音频信息或图像信息,虽然它们并不直接是音频采样值或离散化的图像值。
第一块离散值经由输入端100a被馈送到装置102,装置102用于使用第一变换规则处理第一块离散值,以便在装置102的输出端获得第一块变换后的值,如图10a所示。该第一块变换后的值通常不是整数的,而将包括浮点值,如其通常通过任何变换规则-诸如傅立叶变换、拉普拉斯变换、FFT、DCT、DST、MDCT、MDST或任何其他变换,诸如具有任何基函数的子波变换-所得到的那样。第一块变换后的值被馈送到装置104,装置104用于对第一块变换后的值进行取整,以便在输出端获得第一块取整后的变换后的值。取整装置104被构造,以便执行任何取整功能,诸如截断取整或根据浮点值执行的向上取整或向下取整,等等。
装置104所实现的取整规则因此负责第一块取整后的变换后的值又仅仅包括整数值,其精确性由装置104所使用的取整规则确定。第一块取整后的变换后的值,正如位于第二输入端100b的第二块离散值,被提供到用于加法的装置106,以便获得第二块被相加的值。如果考虑音频信号例子,则可以看到,通过装置106,来自第一块取整后的变换后的值的谱值被加到来自第二块离散值的时间值。如果第二块离散值例如是电压值,则建议第一块取整后的变换后的值也作为电压幅值存在,即单位为V的值。在这种情况下,在总和中不会有单元问题。然而,对本领域普通技术人员来说显而易见的是,可以以第一块取整后的变换后的值或第二块离散值执行任何单位归一化,即第一块取整后的变换后的值和第二块离散值例如是无单位的。
第二块相加的值被提供到装置108,装置108用于使用第二变换规则处理第二块相加的值,以便获得第二块变换后的值。如果在装置102中所使用的变换规则例如是时间频率变换规则,那么块108中使用的第二变换规则例如是频率时间变换规则。然而,这些关系也可以是相反的,使得第一和第二块离散值例如是谱值,这样通过利用变换规则处理的装置102获得时间值,而通过借助于反向变换规则的处理装置-即装置108-又获得谱值。第一和第二变换规则因此可以是前向或后向变换规则,其中反向变换规则是后向变换规则或前向变换规则。
第二块变换后的值被馈送到取整装置110,如图10a所示,以便获得第二块取整后的变换后的值,该值最后被馈送到减法装置112以便从经由第一输入端108a提供的第一块离散值中减去第二块取整后的变换后的值,以便获得变换后的表示的整数输出值块,其可在输出端114处输出。通过利用已经在装置102中使用的或者与其不同的任何第三变换规则处理该变换后的表示的整数输出值块,并且通过随后取整该变换后的输出值块以便获得取整后的变换后的输出值块,并且通过随后将取整后的变换后的输出值块和第二块相加的值相加,可以获得另一块变换后的表示的整数输出值,这另一块变换后的表示的整数输出值与位于输出端114的整数输出值块一起提供第一和第二块离散值的完整的变换后的表示。
然而,即使没有最后三个步骤:处理、取整和相加,其中使用在输出端114的变换后的表示的整数输出值块,已经可以获得整个变换后的表示的一部分-即例如前半部分,如果对其进行反向处理,则其使得能够反向计算第一和第二块离散值。
应当注意,根据变换规则,第一、第二和第三(若有的话)变换规则可以是相同的。例如,DCT-IV的情况就是这样。如果将FFT用作为第一变换规则,则与FFT不同的IFFT可以用作为第二(反向)变换规则。
由于计算的原因,优选地,提供矩阵形式的变换,如果第一块离散值的数量等于第二块离散值的数量,那么该矩阵是N×N方阵,其中第一块离散值的数量和第二块离散值的数量分别是N。
在一个实施例中,取整装置104和110被构造,以便根据取整函数进行取整,取整函数提供取整后的结果,其精确性小于执行图10a所示的功能性的计算机所固有的机器精度。关于取整函数,应当注意的是,在一个优选实施例中,其仅仅将非整数映射到下一个更大或更小的整数。取整函数也可以映射到其他整数,例如数字17.7映射到数字10或数字20,只要取整函数减小要被取整数字的精度。在以上例子中,未取整的数字在小数点后面有一个数字,而取整后的数字其小数点后不再具有数字。
虽然在图10a中,使用第一变换规则的处理装置102和使用第二变换规则的处理装置108被显示为独立的装置,但是应当注意,在具体实现中,可以仅仅存在一个变换函数单元,其在特定时序的控制下首先变换第一块离散值,然后在算法的相应时间点反向变换第二块相加值。于是,第一和第二变换规则可以是相同的。这同样适用于两个取整装置104,110。它们也不必作为单独的装置提供,而是可以用一个取整函数单元实现,其又在时序控制下根据算法的要求首先取整第一块变换后的值然后取整第二块变换后的值。
在一个实施例中,第一块离散值和第二块离散值是整数的加窗后的采样值,如它们在图3的块28的输出端所获得的那样。图3的块14中的整数DCT然后由图1所示的整数算法这样实现,使得对于图3所涉及的音频信号实例,变换后的表示表现了图3所示的设备的输出端30处的整数谱值。
以下将参考图10b表示对应于图10a的反向变换装置,其中除了在图10a的块112的输出端处的整数输出值块之外,还使用图10a的装置106的输出端处的第二块相加值。参考以下详细介绍的图11,其对应于这样的情况:只存在块150和130,而没有变换块124。
图10b显示了用于对变换后的表示的整数输出值块-如它们在图10a的输出114处获得的-以及第二块相加值进行反向变换的设备。第二块相加值被馈送到图10b所示用于反向变换的设备的输入端120。变换后的表示的输出值块被馈送到反向变换设备的另一输入端122。
如果在编码中最后使用的变换规则是第二变换规则,那么第二块相加值被馈送到使用第二变换规则处理该块的装置130。装置130在输出侧提供第一块变换后的值,其被提供到用于取整的装置132,用于取整的装置132又在输出侧产生第一块取整后的变换后的值。第一块取整后的变换后的值然后由装置134从变换后的表示的输出值块中减去,以便在图10b中设备的第一输出端149处获得第一块离散值。
该第一块离散值被提供到使用第一变换规则处理该块的装置150,以便在装置150的输出端获得第二块变换后的值。该第二块变换后的减去后的值又在装置152中被取整,以便获得第二块取整后的变换后的值。该第二块取整后的变换后的值被从在输入侧提供的、经由输入端120输入的第二块相加值中减去,以便在输出侧在输出端136获得第二块离散值。
有关第一、第二和第三变换规则的关系,以及有关通过一般功能单元以及相应的时序控制/中间存储来具体实现图10b中的各个功能块,参见有关图10a的描述。
接下来,将参考图10c描述在图10a中一般表示的用于转换为变换后的表示的设备的一个优选实施例。与图10a相比,图10a的实施例包括另一变换/取整,以便从第二块相加值中产生另一块整数输出值。
第一输入端100a包括N条输入线x0,...,xN-1用于输入第一块离散值的N个值。第二输入端100b也包括N条线用于输入第二块离散值的N个值xN,...,x2N-1。图10a的装置102在图10c中被表示为DCT-IV变换器。DCT变换器102被构造,以便由N个输入值产生N个输出值,然后这N个输出值的每一个通过标为“[.]”的取整规则取整,如图10c中通过装置104所示。求和装置106被示出,使得进行值方式的求和。这表示,装置102的下标为0的输出值与第二块离散值中下标为N的第一值相加。因此,一般地,取整装置104的输出端处的第一块取整后的变换后的值的序数为i的值单独地与第二块输出值中序数为N+i的离散值相加,其中i是从0到N-1的变量。
使用第二变换规则进行处理的装置108也被表示为DCT-IV变换器。在图10c所示的优选实施例中,减法装置112也被构造,以便执行值方式的减法,即,取整器110的输出值-即第二块取整后的变换后的值中的值-被单独地从第一块离散值中减去。在图10c所示的实施例中,优选地执行相应的减法,即第二块中序号为N+i的值被从第一块中序号为i的值中减去,其中i也是从0到N-1变化。然而,可选地,也可以执行其他加法/减法,例如,块中序号为N-1的值被从另一块中序号为N的值中减去,只要在反向变换中相应地考虑这一点。
减法装置112已经在输出侧提供变换后的表示的整数输出值块,即变换后的表示的整数输出值y0到yN-1。为了-如果可选的希望-也获得变换后的表示的剩余整数输出值,即另一块yN到y2N-1,则位于输出端114的变换后的表示整数输出值块被前向变换器140进行利用第三变换规则的变换,其中其输出值又被取整,如其通过取整装置142所示,以便现在将这些值与加法器106的输出端的第二块相加值相加,如图10c的参考标记144所示。于是,加法器144的输出值表示被标为yN到y2N-1的另一块变换后的表示的整数输出值146。
接下来,参考图11描述根据一个实施例的用于反向转换变换后的表示的设备。应当注意,图10c所示的设备所执行的操作被图11所示的设备无损地反向。图11对应于图10b,不同之处在于附加的变换/取整级,以便由另一块变换后的输出值产生第二块相加值,该第二块相加值在图10b所示的实施例被馈送到输入端120。应当注意,加法函数被减法函数反向。还应当注意,加法器/减法器对(图10c的144和图11的128)也可以被提供符号反向的输入量,使得如果一组输入量与所示情况相比带负号的话,那么加法器144实际执行减法运算,只要这在实际执行加法运算的对应部分被考虑到(图11的128)。
图11所示的减法器128,加法器134和另一减法器154又被构造,以便执行单值方式的加法/减法,其中又使用参考图10c所描述的相同的序号处理。如果在图10c中使用与所示不同的序号应用,那么在图11中其被相应地考虑。
减法器134的输出端上已经有标为x0到xN-1的第一块离散值136。为了也获得其余的反向变换后的表示,第一块离散值被提供给以第一变换规则工作的变换器150,其输出侧的值被取整器152取整并被从减法器128的输出端处的第二块减去后的值中减去,以便最后也获得第二块离散值156,标为xN到x2N-1。
接下来,参考图12到15描述设备-如其参考图10a,10b,10c和11所述的那样-的数学背景。通过所示的用于转换或用于反向转换的设备,提供了用于无损音频编码的整数变换方法,其中减小了近似误差。此外,也考虑了计算消耗,即不再基于已知的对每个Givens旋转采用提升方案的方法,其中总是发生无意义的和差蝶形。相比要复制的变换的原始非整数版本,它们显著提高了计算消耗。
通常,使用提升方案,以获得Givens旋转的可逆整数近似。
cos α - sin α sin α cos α 1 cos α - 1 sin α 0 1 1 0 sin α 1 1 cos α - 1 sin α 0 1
该整数近似通过在每个加法之后-即每个提升步骤之后-使用取整函数来获得。
提升方案也可以被用于某些定标运算的可逆整数近似中。在专业出版物R.Geiger和G.Schuller,“Integer low delay and MDCT filterbanks”Proc.of the Asilomar Conf.on Signals,Systems andComputers,2002中讨论和描述了以下行列式为1的2×2定标矩阵的提升分解:
d 0 0 d - 1 = - 1 0 d - 1 1 1 - d 0 1 0 1 1 d - 1
该1维-即说仅仅涉及2×2定标矩阵-的提升分解被扩展到多维的情况。具体地,所有来自上式的值被n×n矩阵代替,其中n-即块的离散值数量-大于等于2。因此,对于优选地应当是可逆的每个任意n×n矩阵T,以下分解为2n×2n分块矩阵是可能的,其中En表示n×n单位矩阵:
T 0 0 T - 1 = - E n 0 T - 1 E n E n - T 0 E n 0 E n E n T - 1
除了简单的运算-诸如置换或乘以-1-之外,该分解的所有3个块具有以下通用的结构:
E n 0 A E n
对于该2n×2n分块矩阵,可以使用在后面也称之为多维提升的广义提升方案。
对于值的矢量x=(x0,...,x2n-1),该分块矩阵的应用提供了以下等式:
E n 0 A E n ( x 0 , . . . , x 2 n - 1 ) , = ( ( x 0 , . . . , x n - 1 ) , ( x n , . . . , x 2 n - 1 ) + A · ( x 0 , . . . , x n - 1 ) , )
应当注意,在上式右侧是矢量,其维数-即其行数-等于2n。前n个分量-即从0到n-1的分量-对应于x0到xn-1。第二n个分量-即上式右边产生的矢量的第二半-等于第二块离散值的总和,即xn到x2n-1,但是现在与对应于图10a,10b,10c和11的变换矩阵的矩阵A和第一块离散值x0,...,xn-1的乘积相加。变换矩阵表示第一、第二或第三个变换规则。
与通常具有以下形式的2×2矩阵的普通提升方案相似:
1 a 0 1
这些2n×2n矩阵可以如下地用于变换T的可逆整数近似。对于整数输入值(x0,...,x2n-1),浮点输出值(y0,...,yn-1)=A·(x0,...,xn-1)在它们被加到整数值(xn,...,x2n-1)之前被取整,即取整成整数值。分块矩阵的逆如下:
E n 0 A E n - 1 = E n 0 - A E n
因此,该过程可以通过简单地使用相同矩阵A和相同取整函数、并且通过现在减去所得到的值,而不是前向过程中的加法,而无误差地被反向。前向过程如图13所示,而后向过程如图14所示。应当注意,图13中的变换矩阵等于图14的变换矩阵,这处于实现简单的原因而是优选的。
因为图13所示的前向步骤中值(x0,...,xn-1)不被修改,所以它们对于反向步骤-即对于图14中的后向步骤-仍然存在。应当注意的是,对矩阵A没有特定的限制。因此,其不必是可逆的。
为了获得已知MDCT的可逆整数近似,MDCT在第一级被分解为Givens旋转,其中该级是加窗级,并且在随后的DCT-IV级也被分解。该分解在以下将解释的图3中讨论,并在DE10129240A1中详细描述。
与现有技术-其中DCT-IV被分解为多级Givens旋转-相比,变换本身没有改变并且随后被取整。
已知地,因此,由多级基于提升的Givens旋转执行DCT-IV的整数近似。Givens旋转的数量由所使用的快速算法确定。因此,对于长度为N的变换,Givens旋转的数量被赋予O(N log N)。每个MDCT分解的加窗级仅仅包括N/2个Givens旋转或3N/2个取整步骤。因此,尤其对于高的变换长度,如在音频编码应用中所使用的(例如1024),DCT-IV的整数近似为近似误差作出了主要贡献。
该方法使用所描述的多维提升方案。因此,在DCTIV中的取整步骤的数量被减小到3N/2,即等于加窗级中取整步骤的数量,即与传统基于提升的方法中大约2N log2N的取整步骤相比。
DCT-IV被同时用于两个信号块。一个可能性显示在图12中,其中例如两个时间连续的采样值块被简单的进行DCT-IV处理。然而,进行这两个变换的两个块也可以是多信道信号的两个信道的采样值。
来自上述多维提升等式的分解被应用到变换规则,其也可被考虑为N×N矩阵。因为逆尤其在DCT-IV中又是DCT-IV,所以对于图12所示的设计成立以下分解:
DCT IV 0 0 DCT IV = - E N 0 DCT IV E N E N - DCT IV 0 E N 0 E N E N DCT IV
与-1的乘法的置换可以被提取成一些分块矩阵,使得得到如下关系:
DCT IV 0 0 DCT IV = - E N 0 0 E N E N 0 DCT IV E N E N - DCT IV 0 E N E N 0 DCT IV E N 0 E N E N 0
因此,将变换应用到两块信号-即应用到两块离散值-可以通过优选3个多维提升步骤获得:
E N 0 DCT IV E N E N - DCT IV 0 E N E N 0 DCT IV E N
在图10c中借助于一个实施例表示上式。反向变换相应地显示在图11中,如上所述。
使用该方法,两个长度为N的DCT-IV变换可以以可逆的方式被实现,其中只需要3N个取整步骤,即每个变换3N/2个取整步骤。
3个多维提升步骤中的DCT-IV可以具有任意实现,即例如基于浮点或基于定点的实现。其不必是可逆的。其仅仅必须在前向和后向过程中完全以一样的方式执行。结果,该设计适合于高变换长度,诸如1024,正如其用于目前的音频编码应用中的那样。
整个计算复杂性是两个DCT-IV变换的非整数实现的计算复杂性的1.5倍。该计算复杂性仍然显著地低于传统的基于提升的整数实现,其复杂性大约是传统DCT-IV的两倍,因为这些实现必须使用基于所使用的提升方案的无意义的正/负蝶形以便获得能量守恒,正如在R.Geiger,T.Sporer,J.Koller和K.Brandenburg,“Audio Codingbased on Integer Transforms”in 111th AES Convention,New York,2001中所描述的那样。
所示的方法将同时-即在一个转换中-计算至少两个DCT-IV变换。这可以例如通过为两个连续音频数据块或图像信号的两个连续图像计算DCT-IV变换来获得。在两信道立体声信号的情况中,这也可以通过在转换动作或反向转换动作中计算左右信道的DCT-IV来获得。第一版本向系统中引入了一个块的附加延迟。第二版本对于立体声或一般而言的多信道信号是可能的。
可选地,如果两个选项都不是希望的,但是如果要保持N个值的普通块处理长度,那么长度为N的DCT-IV也可以被分解为两个长度为N/2的DCT-IV变换。在该情况下,参见Y.Zeng,G.Bi和Z.Lin,“Integer sinusoidal transforms based on lifting factorization”,in Proc.ICASSP’01,May 2001,pp.1181-1184,在该文献中讨论了这种分解。除了两个长度为N/2的DCT变换,还需要几个附加级的Givens旋转。在该算法中,还采用了以下分块矩阵:
E N / 2 - E N / 2 E N / 2 E N / 2 ,
即N/2个正/负蝶形、具有N/2个Givens旋转的分块对角矩阵以及另一些置换矩阵。通过使用这附加级的N/2个Givens旋转,多维提升方法也可以用于计算仅仅一个长度为N的DCT-IV。该算法的基本结构显示在图15中,其中除了实际转换级-其中使用长度为N/2的两个DCT-IV变换-之外,首先有蝶形级,用于计算第一和第二块离散值,然而现在第一和第二块离散值仅仅具有长度N/2。在输出侧,还设置旋转级,以便由变换后的表示的输出值块和另一块变换后的表示的输出值获得输出值y0,...,yN-1,其中该变换后的表示的输出值块和另一块变换后的表示的输出值然而现在分别仅仅具有N/2个值,输出值y0,...,yN-1等于图12的DCT-IV运算的输出值,如在比较图15和图12的输入侧和输出侧的下标时那样。
到目前位置,仅仅讨论了将多维提升应用到以下形式的分块矩阵:
T  0
0  T-1
然而,也可以将其他分块矩阵分解为多维提升步骤。例如,可以使用以下分解,以便通过3个多维提升步骤实现具有归一化正/负蝶形的级与两块DCT-IV变换的组合:
1 2 E N E N - E N E N DCT IV 0 0 DCT IV = 1 2 DCT IV 1 2 DCT IV - 1 2 DCT IV 1 2 DCT IV =
E N 0 E N - 2 DCT IV E N E N 1 2 DCT IV 0 E N E N 0 E N - 2 DCT IV E N
从上式可见:上式左边括号中所使用的第一变换规则、上式中间括号中所使用的第二变换规则,以及上式右边括号中所使用的第三变换规则不必是相等的。此外,从上式可见:不仅仅只有主对角元素被占据的分块矩阵可以被分解,而且完全被占满的矩阵也可以被处理。此外,应当注意,并不限制在转换成变换后的表示中所使用的变换规则必须相等,或者相互必须具有某种相关,使得例如第二变换规则是第一变换规则的后向变换。基本上,也可以使用3个不同的变换规则,只要在反向表示中考虑了这一点。
在该情况中,又参考图10c和11。在离散值被转换成变换后的表示时,装置102可以被构造,以便实现任何变换规则1。此外,装置108同样被构造,以便使用被称为变换规则2的任何其他或相同的变换规则。装置140也被构造,以便一般地使用任何变换规则3,该规则3不必与第一或第二变换规则相同。
然而,在变换后的表示的反向转换中,必须与图10c中讨论的变换规则1到3匹配,即用于转换的第一装置124不执行任何变换规则,而是执行图10c的块140中所执行的变换规则3。相应地,图11中的装置130必须执行已经由图10c中的块108执行的变换规则2。最后,图11的装置150必须执行已经由图10c的装置102执行的变换规则1,从而获得无损反向转换。
图16显示了对图10c中描述的设计的修改。特别地,用于前向变换的元件104,110,142或者用于后向变换的元件126,132,152中的取整不再被采样方式地执行,而是这样执行,使得进行取整误差的频谱整形。
在将图10c与图16相比时可以看到,优选地仅仅用块204a代替块104,并且使用块204b而不是取整块110。这是因为在其中如果没有执行频谱整形则取整误差的白噪声成问题的频率范围中进行随后的变换时,该设计尤其有利。因为在取整142之后不再进行频率变换,因此块142中的频谱整形将不再具有优点。然而,对于块204a是这种情况,因为通过块108中的变换又进行频率转换。块204b中的根据本发明的频谱整形因此同样是有利的,因为通过最后块140又进行变换。然而,如从图16可以看到的那样,噪声整形后的取整误差已经进入输出块114,因此在块204b中也已经可以执行普通的取整-如图10c中块110所示-而不是取整误差的频谱整形。
在第二变换-即变换108-的结束点进行频谱整形地取整还是普通取整-即带有具有白频谱分布的取整误差-取决于具体应用情况。
因此,根据本发明,一定数量,例如k个值的独立取整被具有频谱整形的取整-其也可以称为“相关取整”-替换。
从上面参考图16的描述可以看出,取整误差的频谱整形同样也可以用于IntMDCT所要求的整数DCT。然而,这里,如上所述,还应当考虑,由误差反馈进行的频谱整形仅仅在要被取整的值是通过另一变换步骤转换到频域中的时间信号时才特别有利。因此,如参考图16的多维提升所述,频谱整形在前两个步骤中是有利的,但是在第三步骤中不再一定有利。
应当注意,图16显示了编码器中根据本发明对应于图10c的情况。解码器中对应于图16的情况直接地从图16和图11的比较中产生。直接对应于图16的解码器从图11中产生,即所有块相同地工作,除了两个取整块132,152。在图11中,这两个取整块作为独立取整块工作,并且在根据本发明的解码器中被相关取整块204a,204b所替代,相关取整块204a,204b都例如具有图2c所示的结构。特别地,应该注意,在解码器中,使用与编码器中完全相同的频谱整形取整算法。
图2b和2c中所示的设计,尤其对于H(z)=”-1”,还特别适合于使用取整误差的减小,并且特别是在整数变换中取整误差的减小。如果两个浮点值被取整并被加到同一值而不是不同值,则取整误差的这种减小总是可能的。这种示例性情况被显示在图17中。这里,首先存在提升参与者x1和x3之间具有包括下上下的序列的第一提升步骤。还有具有包括下上下的已知序列的第二提升序列,但是现在具有提升参与者x2和x3。特别的,在第一提升运算中所获得的值x3被用于作为第二提升步骤中的加法对象,如从图17中可以看到的那样。还应当注意的是,当箭头到达水平线时,这就表示加法。换句话说,因此刚刚被取整的值被加到对应于水平线的值上。
具体地,在图17所示的实例中,值x1首先被加权(块250),然后被单独地取整(块252)。块252的输出信号被加到x3(块254)。然后,加法254的结果又被加权(块256),并且又被取整(块258)。该取整258的结果现在被加到x1(260)。加法260的结果又被加权(块262)并被取整(块264),以便被加到当前值x3(到块266)。相应地,值x2被块270加权并且然后被块272取整。块272的结果被加(274)到当前值x3。然后又被加权(276)和取整(278),以便将块278的结果又加(280)到当前值x2。该加法280的结果又被加权(块282),并且加权后的结果被取整(块284),以便然后将取整块284的结果又加到当前值x3(块286),以得到x3的结果值。从图17中可以看到,首先第一值-即块262的结果-被取整,然后被加到x3。此外,第二值-即块270的结果-也被取整(块272)并且然后被加到值x3(加法器274)。因此有这样的情况:两个浮点值先后被取整,并且被加到同一值而不是不同值。在图17所示的例子中,第三和第四提升步骤的结果被加到同一值,即x3,与取整函数[.]相加:
[x1·cs1]+[x2·cs2]
如果第三提升步骤在取整中的误差被馈送到第四提升步骤,那么在该情况下可以使用第三步骤的误差,并且仅仅产生一个取整误差,而不是两个取整误差。计算地,这从以下关系中得出:
[x1·cs1]+[x2·cs2+(x1·cs1-[x1·cs1])]=
[x1·cs1]+[x2·cs2+x1·cs1]-[x1·cs1]=
          [x2·cs2+[x1·cs1]
计算地,将取整误差馈送到下一取整步骤在这种情况下与值相加以及随后的取整相等。该情况显示在图18中,其中图18对应于图17,然而两个分开的取整块264,272以及两个分开的加法器266,274被块268替代,块268被构造以便执行上式。因此,这两个块262和270的结果首先以非取整的形式相加然后被取整。因此,在有利的情况下,取整误差被减直到一半。在块268的输出端,仅仅产生一个信号值,该信号值被加法器269加到x3。
如图19所示,例如当一组Givens旋转和多维提升步骤互相跟随时,可以同样实现取整误差的减小和整形的组合。这里,仅仅示例地由值x1到x4执行对于多个值的下上下序列的最后一个步骤,即例如图9的下步骤31c。这些值现在被加到相应值,图16中取整后的值-即块204a的输出端上的值-也被加到该相应值。在该情况下,优选地首先通过图19所示的加法器203将未取整的值相加,以便然后在图19的块204中取整相加值,同时进行噪声整形,使得仅仅获得简单的取整误差,并且加法器106的加法之后的输出值包括较少的误差。因此,当图9放到图16左边时,就得到图19的情况,尤其当使用N/2个值的DCT-IV而不是N个值的DCT-IV时。
根据本发明,因此优选地将取整误差的减少和取整误差的整形相组合。在取整误差的减少的情况下,多个输入值因此被处理,并且一起被取整,其中取整后的值被加到一个值,而在取整误差的频谱整形的情况下,取整后的值互相独立地被取整,并被加到多个分别不同的其他值上。
此外,应当注意,当如图15所示,使用N/2个DCT时,也可以发生图19的情况。这里,在转换级之前-即在两个DCT块之前-存在图15中被称为蝶形级的级,其中输入值x0到xN/2-1被相应地加权并被取整,以便随后被加到相同的值,而DCT-IV级的值也被加到该相同的值。还应当注意,图15中的转换级仅仅是示意性地示出。如果在图16中写的是xN/2-1而不是xN-1,并且如果不是写xN/2,并且如果写的是xN-1而不是xN/2-1,则图15示意性示出的两个DCT-IV块在实际实现时将被图16所示的组件代替。
因此,图19显示了特别用于单应用的优选实现,即对于这样的情况,其中要使用N/2DCT-IV。
根据环境,根据本发明的用于处理具有离散值序列的方法可以以硬件和软件的方式实现。该实现可以在数字存储介质上实现,尤其在具有可电子读出的控制信号的软盘或CD上,其因此可以与可编程计算机系统协同工作以便执行本方法。一般地,本发明因此还包括一种具有存储在机器可读载体上的程序代码的计算机程序产品,程序代码当该计算机程序产品在计算机上运行时用于执行根据本发明的方法。换句话说,本发明还在于一种具有程序代码的计算机程序,其中程序代码当该计算机程序在计算机上运行时用于执行本方法。