法律状态公告日
法律状态信息
法律状态
2009-12-16
授权
授权
2007-02-14
实质审查的生效
实质审查的生效
2006-12-27
公开
公开
相关申请的交叉引用
本申请要求2003年9月29日提交的美国临时申请No.60/507,210以及2003年9月29日提交的美国临时申请No.60/507,440的优先权,在此将每个的内容全文引入作为参考,以用于所有目的。
此外,下述共同拥有的申请一起同时提交,在此全文引入:
“Method for Transforming a Digital Signal from the Time Domaininto the Frequency Domain and Vice Versa”,代理案卷号No.P100444,以及
“Process and Device for Determining a Transforming Element for aGiven Transformation Function,Method and Device for Transforming aDigital signal from the Time Domain into the Frequency Domain and viceVersa and Computer Readable Medium”,代理案卷号No.P100452。
背景技术
本发明通常涉及数字信号处理,尤其涉及用于对数字格式的信号执行域变换的方法。
域变换,例如离散余弦变换(DCT),被广泛地应用于当今信号处理工业。近年来,因为其在无损编码应用中的重要角色,称为整数DCT的DCT的变形已经吸引了许多研究兴趣。术语“无损”意味着解码器可以根据已编码的比特流产生源信号的确切复制。
所述DCT是实值块变换。即使所述输入块仅仅包括整数,所述DCT的输出块可以包括非整数分量。为了简便,所述输入块被称为输入矢量,而输出块被称为输出矢量。如果矢量仅仅包括整数分量,则该矢量被称为整数矢量。对照于DCT,所述整数DCT根据整数输入矢量产生整数输出矢量。对于同一整数输入矢量,整数DCT的整数输出矢量非常近似于DCT的实输出矢量。因此,整数DCT在频谱分析时保持所述DCT的所有良好的特性。
所述整数DCT的一个重要特性是可逆性。可逆性意味着存在整数离散余弦反变换(IDCT),使得如果所述整数DCT根据输入矢量x产生输出矢量y,则所述整数IDCT可以根据矢量y恢复出矢量x。有时整数DCT也被称为正向变换,整数IDCT被称为反向变换或反变换。
称为整数改进离散余弦变换(IntMDCT)的变换近年被提出且被用于ISO/IEC MPEG-4音频压缩中。所述IntMDCT源于其原型-改进离散余弦变换(MDCT)。H.S.Malvar在1992年的“Signal Processing With lappedTransforms”Artech House中的公开通过利用DCT-IV块级联Givens旋转来有效地实现MDCT。已经熟知的是,Givens旋转可以被分解为三个提升步骤,用于将整数映射为整数。例如,参见R.Geiger、T.Sporer、J.Koller、K.Brandenburg在2001年9月在美国纽约AES第111次会议上的“AudioCoding based on Integer Transforms”。通过利用三个提升步骤替换每个Givens旋转,可以从整数变换的原型直接转换为整数变换。由于在每个提升步骤中存在一个四舍五入操作,整数变换的总四舍五入次数是原型变换的Givens旋转次数的3倍。对于离散三角变换(例如离散傅立叶变换(DFT)或离散余弦变换(DCT)),所涉及的Givens旋转的次数通常为Nlog2N级,其中N是所述块的大小,即每个块中包括的所述数字信号被划分成的数据符号的量。因此,对于直接转换的整数变换的家族,所述总四舍五入次数也为Nlog2N级。由于所述四舍五入,整数变换仅仅近似其浮点原型。所述近似误差随着四舍五入的次数的增加而增加。
因此,所需要的是一种方法和系统实现,用于使用更少的四舍五入操作来执行域变换,由此导致更准确和更少计算的增强变换。
发明内容
本发明解决下述问题,即提供用于对数字信号执行从时间域到频率域以及从频率域到时间域的域变换的方法,该方法包括显著减少的次数的四舍五入操作。
在本发明的一个实施例中,一种用于对数字信号执行从时间域到频率域以及从频率域到时间域的域变换的方法包括利用包括多个提升级的变换元素来执行变换,其中所述变换对应于变换矩阵。至少一个提升级包括至少一个辅助变换矩阵,该辅助变换矩阵是所述变换矩阵本身或具有较小尺寸的各个变换矩阵。此外,每个提升级包括四舍五入单元。所述方法还包括在利用各个辅助变换矩阵进行的变换之后由各个四舍五入单元来处理所述信号。
附图说明
图1示出了根据本发明的实施例的音频编码器的体系结构;
图2示出了根据本发明的实施例的音频解码器的体系结构,其对应于图1中示出的音频编码器;
图3示出了根据本发明的方法的实施例的流程图;
图4说明了使用DCT-IV作为变换函数的根据本发明的方法的实施例;
图5说明了用于根据图4中例示的本发明的方法的实施例的反变换的算法;
图6示出了根据本发明的方法的实施例的流程图;
图7说明了使用DCT-IV作为变换函数的根据本发明的方法的实施例;
图8示出了用于根据图7中例示的本发明的方法的实施例的反变换的算法;
图9示出了根据本发明的实施例的图像归档系统的结构;
图10例示了使用DWT-IV作为变换函数的根据本发明的方法的实施例;
图11例示了用于根据图10中例示的本发明的方法的实施例的反变换的算法;
图12例示了根据本发明的一个实施例的用于对数字信号执行域变换的方法;
图13示出了用于估计根据本发明的提出的DCT和FFT变换方法的变换精确度的正变换编码器和反变换编码器。
发明详述
图12例示了根据本发明的一个实施例的用于执行数字信号的域变换的方法。首先,在1210,利用包含多个提升级的一个变换元素来执行所述数字信号的变换。所述变换对应于变换矩阵,其中至少一个提升级包括辅助变换矩阵和四舍五入单元,所述辅助矩阵包括变换矩阵本身或具有较低维数的相应变换矩阵。在下面进一步描述处理1210和可以在所述域变换中使用的域变换的例示实施例。
接着,在1220,在利用辅助矩阵进行变换后,由四舍五入单元执行所述信号的四舍五入操作。
根据本发明的方法的优选实施例,所述数字信号的数据符号被提供给所述变换元素作为数据矢量。在每个提升级中,所述数据矢量或所述数据矢量的一部分由域变换器进行变换,并且所述变换得到的结果随后被四舍五入为整数矢量。这与根据现有技术的任何一种方法相反,其中四舍五入处理是在用于所述数字信号的每个块中的单独元素或数据符号的变换处理中执行的。由此,根据本发明的方法中的四舍五入操作的次数被大大减少。由于所述减少次数的四舍五入操作,根据本发明的方法不需要长的计算时间和多的计算资源。此外,整数域变换的近似误差可以被显著减少。
在一个优选实施例中,本发明提供了一种用于实现整数IV型DCT变换的方法。与现有技术的方法相比,根据本发明的方法需要的四舍五入操作的次数显著减少。结果是,所述近似误差被显著减少,在DCT-IV的情况下,在一个实施例中,其从通常的Nlog2N级减少到如1.5N一样低,在另一个实施例中,其减少到如2.5N一样低,其中N表示数字信号的块大小。根据本发明的方法在计算复杂度上低且在结构上是模块化的。
根据本发明的方法和设备可以用于任何类型的数字信号,比如音频、图像或视频信号。作为被数字化的信号的数字信号对应于可物理测量的信号,其可以通过扫描相应模拟信号的至少一个特有特征(例如,视频信号的亮度值和色度值,模拟声音信号的幅度,或来自传感器的模拟感测信号的幅度)而产生。所述数字信号包括多个数据符号。所述数字信号的数据符号被分组为多个块,其中每个块基于所述相应模拟信号的采样速率,具有相同的预定数目的数据符号。
根据本发明的方法可用于将是整数值的输入数字信号变换为也是整数值的输出信号。根据本发明的变换方法是可逆的。可以通过执行根据本发明的变换方法将所述输出信号变换回原始输入信号。根据本发明的方法的变换的此种可逆性可以用于其中输出信号应该与原始输入信号等同的无损编码中。
根据本发明的信号的此种整数变换可以用于许多应用和系统中,比如MPEG音频、图像和视频压缩、JPEG2000或谱分析(用于分析红外、紫外或核磁辐射信号)。它可以在不考虑比如在实值信号变换时的溢出的因素的情况下,以比如固定点数字信号处理器(DSP)的硬件系统来容易地实现。
下面描述的本发明的优选实施例适合于单声道应用和立体声应用两者。在单声道应用中,相继两个采样块被分为一组且被一起处理。与单个块处理相比,这引入了一个块长度的信号延迟。然而,在立体声应用中,如果来自左声道和右声道的同一时刻的采样块被分为一组并一起处理,那么可以防止这种额外块延迟。
根据本发明的方法,利用变换元素将数字信号变换到频率域。
优选地,所述变换元素包括多个提升级。
所述变换元素可以基于提升阶梯的模型来进行说明。所述提升阶梯模型具有两个侧面部件(piece),每个部件用于接收两组数据符号中的一组。在所述两个侧面部件之间设置两个或多个级联提升级。每个提升级在一端(输入端)接收信号,并且经由相加单元在另一端(输出端)输出信号。四舍五入单元被安排在输出端。以交替的方式将所述提升级安排在所述侧面部件之间,使得相邻提升级的输出(或输入)端连接到不同的侧面部件。
应该注意的是,虽然以提升阶梯模型的形式来描述变换元素,但这只是为了例示所述变换元素的变换路径。然而,本发明并不应该限于所述阶梯模型。
离散余弦变换、离散正弦变换、离散傅立叶变换或离散W变换是可利用根据本发明的方法执行的变换的实例。
在本发明的一个方面,每个提升级对应于作为包括四个子矩阵的块三角矩阵的提升矩阵,其中在一个对角中有两个可逆整数矩阵。一个提升矩阵的例子是:
其中CNIV是变换函数矩阵,在这种情况下,DCT-IV变换矩阵、P1N和P2N是置换矩阵。置换矩阵是改变另一矩阵中的元素的位置的矩阵。所述置换矩阵也可以是相同的。所述可逆整数矩阵可以以另外的方式安排在所述提升矩阵中,例如
优选地,所述可逆整数矩阵是仅仅包括为1或-1的元素的对角矩阵。
图1示出了根据本发明的实施例的音频编码器100的结构。所述音频编码器100包括基于改进离散余弦变换(MDCT)的常规感知基本层编码器和基于整数改进离散余弦变换(IntMDCT)的无损增强编码器。
例如,将由麦克风110提供且由模/数转换器111进行数字化的音频信号109提供给音频编码器100。所述音频信号109包括多个数据符号。所述音频信号109被分为多个块,其中每个块包括数字信号的多个数据符号,并且由改进离散余弦变换(MDCT)设备101对每个块进行变换。所述MDCT系数由量化器103借助于感知模型102来进行量化。所述感知模型按照这样一种方式控制所述量化器103,使得由量化误差产生的声音失真很低。随后由比特流编码器104对已量化的MDCT系数进行编码,该比特流编码器104产生有损的感知编码的输出比特流112。
所述比特流编码器104利用诸如Huffman编码或游程(Run-Length)编码的标准方法无损地压缩其输入以产生一输出,该输出的平均比特率要低于的其输入的平均比特率。所述输入音频信号109也被输送到产生IntMDCT系数的IntMDCT设备105中。作为量化器103的输出的已量化MDCT系数被用于预测所述IntMDCT系数。所述已量化MDCT系数被输送到逆-量化器106,并且所述输出(已恢复或非量化的MDCT系数)被输送到四舍五入单元107。
所述四舍五入单元四舍五入到一个整数MDCT系数值,并且由熵编码器108对残余的IntMDCT系数进行熵编码,所述残余的IntMDCT系数是整数值MDCT和IntMDCT系数之差。所述熵编码器(类似于比特流编码器104)无损地减少其输入的平均比特率,并且产生无损增强比特流113。所述无损增强比特流113和感知编码的比特流112一起承载必需的信息,从而以最小误差重构输入音频信号109。
图2示出了包括本发明的实施例的音频解码器200的体系结构,其对应于图1中示出的音频编码器100。所述感知编码的比特流207被提供给比特流解码器201,该比特流解码器201执行图1的比特流编码器104的操作的逆操作,产生已解码的比特流。所述已解码的比特流被提供给逆-量化器202,该逆-量化器202的输出(已恢复的MDCT系数)被提供给反MDCT设备203。因此,获得重构的感知编码的音频信号209。
所述无损增强比特流208被提供给熵解码器204,该熵解码器204执行图1中的熵编码器108的操作的逆操作,产生相应的残余IntMDCT系数。由四舍五入设备205对逆-量化器202的输出进行四舍五入,以产生整数值MDCT系数。所述整数值MDCT系数被加到所述残余IntMDCT系数,由此产生所述IntMDCT系数。最后,由反IntMDCT设备206对所述IntMDCT系数进行所述整数改进离散余弦反变换,以产生所述重构的无损的已编码音频信号210。
图3示出了根据本发明的方法的实施例的流程图300,该实施例使用DCT-IV作为变换以及使用三个提升级,第一提升级301、第二提升级302以及第三提升级303。这个方法优选在图1的IntMDCT设备105和图2的反IntMDCT设备206中使用,以分别完成IntMDCT和反IntMDCT。在图3中,x1和x2分别是数字信号的第一块和第二块。z是中间信号,而y1和y2分别是与数字信号的第一块和第二块对应的输出信号。
如上所述,DCT-IV算法在无损音频编码中扮演重要角色。
所述DCT-IV的变换函数包括变换矩阵根据本发明的这个实施例,所述变换元素对应于包括两个块的块对角矩阵,其中每个块包括变换矩阵
因此,在这个实施例中,与变换元素对应的矩阵是:
在这个实施例的上下文中,自此以后应该被认为是变换矩阵。
在本发明的这个实施例中,提升矩阵的数目,以及变换元素中的提升级的数目为3,其中DCT-IV是变换函数。
N点实输入序列x(n)的DCT-IV被如下定义:
假设是DCT-IV的变换矩阵,即,
对于反DCT-IV矩阵,下述关系成立,
当x=[x(n)]n=0,1,…,N-1,和y=[y(m)]m=0,1,…,N-1时,等式(4)可以表述为
现在,假设x1和x2是两个整数N×1列矢量。所述列矢量x1和x2对应于数字信号的两个块,根据本发明,利用一个变换元素对该两个块进行变换。x1和x2的DCT-IV变换分别为y1和y2。
合并(8)和(9):
上述对角矩阵是所述变换元素对应的块对角矩阵。
如果利用简单的代数修正,例如修改为以下形式,来改变上述等式,则仍在本发明的范围内:
假设T2N是(11)中的反(counter)对角矩阵,则
矩阵T2N可被如下分解
其中IN是N×N的单位矩阵。
使用等式(7)中的DCT-IV的特性可以容易地验证等式(13)。使用等式(13),等式(11)可以被表述为
等式(14)中的三个提升矩阵对应于图3中的三个提升级。等式(14)中的每个提升矩阵包括辅助矩阵这是变换矩阵自身。
根据等式(14),可以得到下述整数DCT-IV算法,该算法使用一个变换元素来计算两个整数DCT-IV。
图4说明了根据本发明的方法的实施例,该实施例使用DCT-IV作为变换函数。这个实施例被用于图1中示出的音频编码器100中,以实现IntMDCT。类似于图3中,x1和x2是输入数字信号的两个块。z是中间信号,y1和y2分别是输出信号的相应块。
图4中说明的三个提升级对应于等式(14)中的三个提升矩阵。
如图4所示,时间域到频率域的整数变换确定如下:
在第一级401中,利用DCT-IV变换来对x2进行变换402,对DCT-IV系数进行四舍五入403。随后将经过四舍五入后的DCT-IV系数加到x1404。由此,产生中间信号z。因此,中间信号z满足等式:
在第二级405中,利用DCT-IV变换来对z进行变换406,对DCT-IV系数进行四舍五入407。随后从经过四舍五入后的DCT-IV系数中减去x2。由此,产生输出信号y1。因此,输出信号y1满足等式:
在第三级409中,利用DCT-IV变换来对y1进行变换410,对DCT-IV系数进行四舍五入411。随后从z中减去经过四舍五入后的DCT-IV系数。由此,产生输出信号y2。因此,输出信号y2满足等式:
其中*表示四舍五入操作。
图5例示了根据本发明的方法的实施例的反变换的算法,该方法使用DCT-IV作为变换函数。这个实施例被用于图2中示出的音频解码器200中,以实现反IntMDCT。图5中例示的算法是图4中例示的算法的逆。不同信号y1,y2,x1,x2以及z的表示被选择为对应于图4中的表示。
如图5所示,利用下述来确定频率域到时间域的整数变换:
在第一级501中,利用DCT-IV变换来对y1进行变换502,对DCT-IV系数进行四舍五入503。随后将经过四舍五入后的DCT-IV系数加到y2504。由此,产生中间信号z。因此,中间信号z满足等式:
在第二级505中,利用DCT-IV变换来对z进行变换506,对DCT-IV系数进行四舍五507。随后从经过四舍五入后的DCT-IV系数中减去y1。由此,产生信号x2。因此,信号x2满足等式:
在第三级509中,利用DCT-IV变换来对x2进行变换510,对DCT-IV系数进行四舍五入511。随后从z中减去经过四舍五入后的DCT-IV系数。由此,产生信号x1。因此,信号x1满足等式:
可以看出,根据等式(16a)到(16c)的算法是根据等式(15a)到(15c)的算法的逆。因此,如果在图1和图2中说明的编码器和解码器中使用,则所述算法提供用于无损音频编码的方法和装置。
等式(15a)到(15c)和(16a)到(16c)进一步示出,为了计算两个N×N的整数DCT-IV,需要三次N×N的DCT-IV、三次N×1的四舍五入以及三次N×1的加法。因此,对于一个N×N的整数DCT-IV,平均数为:
RC(N)=1.5N (17)
其中RC(.)是总的四舍五入次数,而AC(.)是算法操作的总次数。与直接转换的整数DCT-IV算法相比,所述提出的整数DCT-IV算法将RC从Nlog2N数量级减少到N。
如等式(18)所示,所述提出的整数DCT-IV算法的复杂度多于DCT-IV算法的复杂度约50%。然而,如果还考虑RC,则所述提出的算法的组合复杂度(AC+RC)并未大大超过直接转换的整数算法的组合复杂度。所述算法的复杂度的精确分析取决于所使用的DCT-IV算法。
如图4和5中所示,所述提出的整数DCT-IV算法简单且在结构上模块化。在其DCT-IV计算块中,其可以使用任何现有DCT-IV算法。所述提出的算法适合于要求IntMDCT的应用,例如在MPEG-4音频扩展3参考模型0中。
图6示出了根据本发明的方法的实施例的流程图600,其中使用5个提升级,第一提升级601、第二提升级602、第三提升级603、第四提升级604以及第五提升级605。这种方法可用于图1的IntMDCT设备105和图2的反InrMDCT设备206中,以分别实现IntMDCT和反IntMDCT。在图6中,x1和x2分别是数字信号的第一和第二块,z1、z2和z3是中间信号,y1和y2分别是与所述数字信号的第一和第二块对应的输出信号。
图7示出了根据本发明的方法的实施例的流程图,其中所述变换函数是DCT-IV变换函数。
DCT-IV矩阵(参见等式(5))可以被因式分解为
其中Peo是偶奇矩阵,即,置换矩阵,其通过将对应于偶索引的分量与对应于奇索引的分量分开来重新排序所述矢量x的分量,其中
使得
其中另外
其中
和
和
等式(20)可以被进一步写为
其中
在图7中例示的实施例中使用的变换元素对应于等式(29)。等式(29)中的每个提升矩阵S、T2和T3包括辅助矩阵其是变换矩阵本身。
所述变换元素包括五个提升级,该五个提升级对应于等式(29)的五个提升矩阵。
此外,所述变换元素包括与所述置换矩阵Peo对应的数据重组(shuffling)级。
在图7中,第一提升级的输入是数字信号的两个块x1和x2,z1、z2和z3是中间信号,y1和y2分别是与所述数字信号的第一和第二块对应的输出信号。
所述变换元素的输入x和所述变换元素的第一提升级的两个输入块x1和x2满足等式
在下面,解释第一提升级701,其是与提升矩阵T3对应的提升级。
假设是在没有四舍五入到整数值时的第一提升级的暂时的输出矢量,即
使用由等式(22)提供的T3的定义,等式(29)可以被改写为
其中表示维数为N/2的单位矩阵。
由于在这个实施例中提供的用于整数DCT-IV的可逆算法中,包括四舍五入为整数值的操作。因此,根据等式(30),在第一提升级701的第一步706中,x1与K3相乘。在步骤707中,这个乘法的结果被四舍五入为整数值。在步骤708,该经过四舍五入后的值随后被加到x2。因此,中间信号z1满足等式:
z1=K3·x1+x2 (34)
其中,*表示四舍五入操作。
由于图7中例示的变换元素的分别对应于矩阵T2、S、R2和R1的其余四个提升级702、703、704和705具有与第一提升级701相同的结构,所以省略其描述。仅仅应该注意的是,在第二提升级702的相加步骤709中,根据T2的定义,x1与-DN/2相乘。
在下面,参照图8描述反变换的变换元素的提升级。
图8例示了图7中例示的变换的反变换的变换元素的提升级。
在图8中,第一提升级的输入是数字信号的两个块y1和y2,z1、z2和z3是中间信号,x1和x2分别是与所述数字信号的第一和第二块对应的输出信号。
图8中例示的最后提升级805与图7中例示的第一提升级701相逆。因此,在最后提升级805的第一步806中,x1与K3相乘。在步骤807中,这个乘法的结果被四舍五入为整数值。在步骤808,随后从z1中减去所述经过四舍五入后的值。因此,信号x2满足等式:
x2=z1-K3·x1 (35)
其中,*表示四舍五入操作。
由于图8中例示的变换元素的分别是图7中例示的提升级705、704、703和702的逆的其余四个提升级801、802、803和804具有与最后提升级805相同的结构,所以省略其描述。仅仅应该注意的是,在第四提升级804的相加步骤809后,相加步骤809的结果与-DN/2相乘以产生x1。
可以看出,图8中的提升级805、804、803、802和801分别是图7中的提升级701到705的逆。由于与矩阵Peo对应的输入信号的置换也可逆,且所述反变换元素包括相应的数据重组级,所以所提供的方法是可逆的,因此,如果在图1和图2中例示的音频编码器100和音频解码器200中使用,那么就能提供用于无损音频编码的方法和装置。
在本发明的说明书的结尾给出在这个实施例中使用的四舍五入的次数的分析。
图9示出了根据本发明的实施例的图像归档系统的体系结构。
在图9中,图像源901,例如照相机,提供模拟图像信号。由模/数转换器902来对该图像信号进行处理,以提供相应的数字图像信号。由无损图像编码器903对该数字图像信号进行无损编码,其包括从时间域到频率域的变换。在这个实施例中,时间域对应于所述图像的坐标空间。所述无损编码后的图像信号被存储在存储设备904中,例如硬盘或DVD。当需要所述图像时,从所述存储设备904中取出所述无损编码后的图像信号,并且将其提供给无损图像解码器905,该无损图像解码器905对无损编码后的图像信号进行解码,并且重构所述原始图像信号而不会出现数据丢失。
例如,在所述图像是半导体晶片的误差图且必须被存储来以用于以后分析的情况下,图像信号的此种无损归档是重要的。
在下面,对根据本发明的用于将数字信号从时间域变换到频移和从频移变换到时间域的方法的又一实施例进行说明。这个实施例优选在图9中例示的图像归档系统的无损图像编码器903和无损图像解码器905中使用。
图10例示了根据本发明的方法的实施例,其使用DWT-IV作为变换函数。
N点实输入序列x(n)的DWT-IV如下定义:
DWT-IV的变换矩阵如下给出
所述DWT-IV矩阵被因式分解为下述形式:
RN是如下定义的N×N的旋转矩阵:
IN/2是N/2阶的单位矩阵。JN/2是N/2级的反单位矩阵,即
PN是N×N的置换矩阵
T是如下定义的N×N的矩阵:
其中是N/2阶的DCT-IV矩阵,即相应的具有较低大小的变换矩阵。
DN/2是如下给出的N/2阶的对角矩阵
RN和T可以被进一步被因式分解为提升矩阵的积:
其中,
和
其中
和
因此,等式(38)可以被写为如下形式
提升矩阵R3和T1可以被结合为提升矩阵S:
根据等式(49)和(50),可以得到DWT-IV矩阵的下述因式分解公式:
等式(51)表示可以使用包括五个提升级的整数DWT-IV变换的变换元素。等式(51)中的每个提升矩阵S、T2和T3包括辅助矩阵该辅助矩阵是变换矩阵本身。
此外,所述变换元素包括与所述置换矩阵PN对应的数据重组(shuffling)级。所述数据重组级重新安排每个输入数据块中的分量次序。根据PN,按照下述方式来重新安排输入数据矢量:矢量的第一半部分保持不变,而矢量的第二半部分颠倒,即
在图10中,第一提升级的输入是数字信号的两个块x1和x2,z1、z2和z3是中间信号,y1和y2分别是与所述数字信号的第一和第二块对应的输出信号。
所述变换元素的输入x和所述变换元素的第一提升级的两个输入块x1和x2满足等式
在下面,解释第一提升级1001,其是与提升矩阵T3对应的提升级。
假设是在没有四舍五入到整数值时的第一提升级的暂时的输出矢量,即
使用有等式(45)提供的T3的定义,等式(51)可以被改写为
由于在这个实施例中提供了用于整数DCT-IV的可逆算法,包括了四舍五入为整数值的操作。因此,根据等式(55),在第一提升级1001的第一步1006中,x1与K3相乘。在步骤1007中,这个乘法的结果被四舍五入为整数值。在步骤1008,经过四舍五入后的值随后被加到x2。因此,中间信号z1满足等式:
z1=K3·x1+x2 (56)
其中,*表示四舍五入操作。
由于图10中例示的变换元素的分别对应于矩阵T2、S、R2和R1的其余四个提升级1002、1003、1004和1005具有与第一提升级1001相同的结构,所以省略其描述。仅仅应该注意的是,在第二提升级1002的相加步骤1009中,根据T2的定义,x1与DN/2相乘。
在下面,参照图11描述反变换的变换元素的提升级。
图11例示了图10中例示的变换的反变换的变换元素的提升级。
在图11中,第一提升级的输入是数字信号的两个块y1和y2,z1、z2和z3是中间信号,x1和x2分别是与所述数字信号的第一和第二块对应的输出信号。
图11中例示的最后提升级1105与图10中例示的第一提升级1001相逆。因此,在最后提升级1105的第一步1106中,x1与K3相乘。在步骤1107中,这个乘法的结果被四舍五入为整数值。在步骤1108,随后从z1中减去所述经过四舍五入后的值。因此,信号x2满足等式:
x2=z1-K3·x1 (57)
其中,*表示四舍五入操作。
由于图11中例示的变换元素的分别是提升级1005、1004、1003和1002的逆的其余四个提升级1101、1102、1103和1104具有与最后提升级1105相同的结构,所以省略其描述。仅仅应该注意的是,在第四提升级1104的相加步骤1109后,相加步骤1109的结果与DN/2相乘以产生x1。
可以看出,图11中的提升级1105、1104、1103、1102和1101分别是图10中的提升级1001到1005的逆。由于与矩阵PN对应的输入信号的置换也可逆,且所述反变换元素包括相应的数据重组级,所以所提供的整个方法是可逆的。因此,如果在图9中例示的无损图像编码器903和无损图像解码器905中使用,那么提供了用于无损图像编码的方法和装置。
虽然在所述说明的实施例中,根据本发明的DCT-IV的方法的实施例被用于音频编码,而根据本发明的DWT-IV的方法的实施例被用于图像编码,但是根据本发明的DCT-IV的方法的实施例同样可以用于图像编码,而根据本发明的DWT-IV的方法的实施例同样可用于音频编码,并且所有这些方法都可以用于其他数字信号的编码,比如视频信号。
考虑等式(34)和(35),可以看出,在每个提升级中存在N/2次四舍五入。因此,考虑等式(26),可以看出,根据本发明的图7和图8中例示的DCT-IV算法的实施例的变换元素的总四舍五入次数为N/2的五倍,也就是2.5N,其显著低于根据现有技术的Nlog2N。
再次考虑等式(29),可以看出,当N是大值时,例如N=1024,主要的计算量用在对应于与的乘法的四个N/2点DCT-IV子程序上。因为可以使用两个半长度DCT-IV加上前旋转和后旋转来计算浮点DCT-IV,所以所述提出的整数DCT-IV的算法复杂度可以被粗略地估计为浮点DCT-IV的算法复杂度的两倍。
可以为整数DWT-IV变换函数得到类似的结论。
在下面,对根据本发明的用于将数字信号从时间域变换到频移和从频移变换到时间域的方法的又一实施例进行说明。
在本发明的这个实施例中,所述域变换是DCT变换,由此块大小N是某个整数,其中输入矢量包括两个子矢量。
假设CNII是DCT的N×N变换矩阵(也被称为II型DCT):
其中
并且N是变换大小,可以是2的幂,在一个实施例中,N=2i,i是大于0的整数。m和n是矩阵索引(index)。
假设CNIV是IV型DCT的N×N变换矩阵,已经如上定义:
如上,使用多个提升矩阵,在这个实施例中,所述提升矩阵是具有下述形式的2N×2N矩阵:
其中IN是N×N的单位矩阵,ON是N×N的零矩阵,而AN是任意的N×N矩阵。
对于每个提升矩阵L2N,按照与引入的下述参考文献中描述的2×2提升步骤相同的方式来实现可逆的整数到整数映射的提升级,所述参考文献是朗讯科技、贝尔实验室的I.Daubechies和W.Sweldens在1996年的技术报告(Tech.Reprot)“Factoring Wavelet Transforms into Lifting Steps”。仅有的区别在于四舍五入被应用于矢量,而不是应用于单个变量。
在其他实施例的上述描述中,已经详细地描述了如何为一个提升矩阵实现一个提升级,因此,在下面将省略与提升矩阵对应的提升级的说明。
可以看出,L2N的转置L2NT也是提升矩阵。
在这个实施例中,所述变换元素对应于矩阵T2N,该矩阵被按照下述方式定义为2N×2N矩阵:
将矩阵T2N分解为提升矩阵具有下述形式:
T2N=P3·L8·L7·L6·P2·L5·L4·L3·L2·L1·P1 (63)
在下面解释组成上述等式的右手侧的矩阵。
P1是由下述等式给出的第一置换矩阵
其中JN是由下面给出的N×N反单位矩阵(counter index matrix)
而DN是其中对角元素交替为1和-1的N×N的对角矩阵:
P2是第二置换矩阵,其例子由下述MATLAB脚本语言产生:
Pd=eye(2*N);
for i=2:2:N,
Pd(i,i)=0;Pd(N+i,N+i)=0;
Pd(i,N+i)=1;Pd(N+i,i)=1;
end
Peo=zeros(2*N);
for i=1:N,
Peo(i,2*i-1)=1;
Peo(i+N,2*i)=1;
end
P2=(Pd*Peo)′
作为例子,当N为4时,P2是8×8矩阵,如下给出
P3是第三置换矩阵,其例子由下述MATLAB脚本语言产生:
P3=zeros(2*N);
for i=1:N,
P3(i,2*i-1)=1;
P3(N2-i+1,2*i)=1;
end
作为例子,当N为4时,P3是8×8矩阵,如下给出
L1是第一提升矩阵
其中Z1N是如下给出的N×N反对角矩阵:
L2是第二提升矩阵
其中Z2N是如下给出的N×N反对角矩阵:
L3是第三提升矩阵
其中
L4是第四提升矩阵
其中
L5是第五提升矩阵
其中
L6是第六提升矩阵
其中Z6N是如下给出的N×N反对角矩阵:
L7是第七提升矩阵
其中Z7N是如下给出的N×N反对角矩阵:
L8是第八提升矩阵:
L8=L6 (83)
由此,导致以(x)形式所示的因式分解:
T2N=P3·L8·L7·L6·P2·L5·L4·L3·L2·L1·P1 (84)
其中P1、P2和P3是三个置换矩阵,Lj是八个提升矩阵,其中j从1到8。
提升矩阵L3、L4和L5包括辅助变换矩阵,在这种情况下,其为变换矩阵CNIV自身。
根据等式(84),可以为维数为N×1的两个输入信号计算整数DCT。
由于等式(84)提供描述DCT-IV变换域的提升矩阵因式分解,所以其提升矩阵可被按照这里示出的方式用来计算所施加的输入信号的域变换。
可以按照下述方式得到等式(84)。
可以使用下述公开来得到下述分解,该公开是Wang,Zhongde在1985十月的声学、语音和信号处理的IEEE文集(IEEE Transactions onAcoustics,Speech and Signal Processing),Vol.ASSP-33,No.4上发表的“On Computing the Discrete Fourier and Cosine Transforms”。
是已知的,其中SN/2II表示II型离散正弦变换的变换矩阵。
PN是如下给出的N×N置换矩阵
和
等式(85)可以与下述等式合并
其中PEO是偶奇置换矩阵,
RPO等于TN,
在转置等式(87)转换为(88)后:
等式(85)和(88)的组合得到:
其中:
P1=(PDJ)T
P2=(PEO)T·(PD)T=(PD·PEO)T
P3=PN
R1=(RPO)T·TN
R2=BN
根据等式(89),可以容易地得到等式(84)。
在这个实施例中,域变换的计算仅仅需要4N次四舍五入操作,如同现在将要描述。
假设α(*)是实数加法的次数,μ(*)是实数乘法的次数,而γ(*)是实数四舍五入的次数。对于所述提出的IntDCT算法,可以得到:
α(IntDCT)=11N+3α(DCT-TV)
μ(IntDCT)=9N+3μ(DCT-IV)
γ(IntDCT)=8N
上述结果是针对数据采样的两个块的,因为所述提出的IntDCT算法对它们一起进行处理。由此,对于数据采样的一个块,所述计算的次数被减半,其为
α1(IntDCT)=5.5N+1.5α(DCT-IV)
μ1(IntDCT)=4.5N+1.5μ(DCT-IV)
γ1(IntDCT)=4N
其中α1、μ1和γ1分别是针对采样的一个块的实加法的次数、实乘法的次数以及实四舍五入次数。
对于DCT-IV计算,可以使用在并入的H.S.Malvar,1992年由Norwood,MA.Artech House出版的参考文献“Signal Processing Withlapped Transforms”的第199-201页上描述的基于FFT的算法,对于该算法
α(DCT-IV)=1.5Nlog2N
μ(DCT-IV)=0.5Nlog2N+N
从而得到:
α1(IntDCT)=2.25Nlog2N+5.5N
μ1(IntDCT)=0.75Nlog2N+6N
在下面,对根据本发明的用于将数字信号从时间域变换到频移和从频移变换到时间域的方法的又一实施例进行说明。
在这个实施例中,将快速离散傅立叶变换(FFT)用于域变换。
假设F是归一化的FFT的N×N变换矩阵,
其中N是变换大小,其为某一正整数,在一个实施例中,其为2的幂,N=2i,i是大于0的整数。m和n是矩阵索引。
在这个实施例中,维数为N×N的置换矩阵P是包括索引0或1的矩阵。在将其与N×1维矢量(输入信号的矩阵表示)相乘后,所述矢量中的元素的顺序被改变。
在这个实施例中,提升矩阵被定义为具有下述形式的2N×2N矩阵:
其中P1和P2是两个置换矩阵,O是N×N零矩阵,A是任意N×N矩阵。对于提升矩阵L,按照与上述并入的I.Daubechies的参考文献中的2×2提升步骤相同的方式来实现可逆整数到整数映射。然而,如上所述,将四舍五入应用于矢量而不是应用于单个变量。显而易见的是,所述L的转置LT也是提升矩阵。
此外,假设T是2N×2N变换矩阵:
因此,改进的变换矩阵T(并且相应地所述域变换本身)可以被表示为提升矩阵因子分解:
其中I是N×N的单位矩阵,而Q是如下给出的N×N的置换矩阵
并且O1xN-1和ON-1x1分别是具有N-1个零的行矢量和列矢量。
J是如下给出的(N-1)×(N-1)反对角矩阵
在等式(96)中,方括号中的空白处表示所有零矩阵元素。
等式(94)右手侧的提升矩阵包括辅助变换矩阵,在这里,该辅助变换矩阵就是变换矩阵F自身。
从等式(94)中可以看出,使用这里描述的方法,提升矩阵因子可以被用来为两个N×1复矢量计算整数FFT。
在这个实施例中,域变换的计算仅仅需要3N次四舍五入操作,如同现在将要描述。
假设α(*)是实数加法的次数,
μ(*)是实数乘法的次数,以及
γ(*)是实数四舍五入的次数。
对于所述提出的IntFFT算法,可以得到:
α(IntFFT)=6N+3α(FFT)
μ(IntFFT)=3μ(FFT)
γ(IntFFT)=6N
上述结果是针对数据采样的两个块的,因为所述提出的IntFFT算法对它们一起进行处理。由此,对于数据采样的一个块,所述计算的次数被减半,其为
α1(IntFFT)=3N+1.5α(FFT)
μ1(IntFFT)=1.5μ(FFT)
γ1(IntFFT)=3N
其中α1、μ1和γ1分别是针对采样的一个块的实加法的次数、实乘法的次数以及实四舍五入次数。
对于FFT计算,可以使用分裂基FFT(SRFFT)的算法,对于该算法
α(SRFFT)=3Nlog2N-3N+4
μ(SRFFT)=Nlog2N-3N+4
因此,我们得到:
α1(IntFFT)=4.5Nlog2N-1.5N+6
μ1(IntFFT)=1.5Nlog2N-4.5N+6
图13示出了用于评定上述DCT变换技术和上述FFT域变换的变换精确度的正变换编码器和反变换编码器。所述测试涉及根据在这里引入的2003年三月泰国的ISO/IEC JTC 1/SC 29/WG 11 N5778 Pattaya,“Codingof Moving Pictures and Audio:Work plan for Evaluation of Integer MDCTfor FGS to Lossless Experimentation Framework”中描述的由MPEG-4无损音频编码组中提出的评估标准来测量变换的平均方差(MSE)。
具体地,IntDCT和整数反DCT(IntIDCT)的MSE如下给出
其中,对于IntDCT,误差信号e是ef;对于IntIDCT,误差信号e是et,如图1中所示。K是所述评估中使用的采样块的总数。
IntFFT和整数反FFT(IntIFFT)的MSE如下给出
其中,对于IntFFT,误差信号e是ef;对于IntIFFT,误差信号e是et,如图1中所示。‖*‖表示复数值的模。K是所述评估中使用的采样块的总数。
对于两种域变换,在48KHz/16比特测试组中使用具有15个不同类型的音乐文件的总共450秒。表1示出了所述测试结果。
从表1中可以看出,使用本发明的系统和方法产生的MSE非常小,并且不像常规系统,基本上与处理块的大小无关。参照DCT-IV域变换,在将块大小N增大到多达4096个比特时,所述MSE仅仅稍微增加。所述FFT的MSE甚至更好,对于块大小增大到4096个比特,显示出稳定的MSE 0.4。当根据当前的能力和对更长块大小不断增长的需求来考虑本发明的演示性能时,本发明的优势更加明显。
表1
引入文献
在这里通过参考引入下述文献:
H.S.Malver,“Signal Processing With lapped Transforms”ArtechHouse,1992;
R.Geiger,T.Sporer,J.Koller,K.Brandenburg,“Audio Coding basedon Integer Transforms”AES 111th Convention,New York,USA,Sept.2001;
Wang,Zhongde,“On Computing the Discrete Fourier and CosineTransforms”,IEEE Transactions on Acoustics,Speech and SignalProcessing,Vol.ASSP-33,No.4October 1985;
I.Daubechies and W.Sweldens,″Factoring wavelet transforms intolifting steps″,Tech.Report,Bell Laboratories,Lucent Technologies,1996;
S.Oraintara,Y.J.Chen and T.Q.Nguyen,″Integer fast Fouriertransform″,IEEE Trans.Signal Processing,Vol.50,no.3,Mar.2002,pp.607-618;
P.Hao and Q.Shi,″Matrix factorizations for reversible integermapping,″IEEE Trans.Signal Processing,Vol.49,no.10,Oct.2001,pp.2314-2324:
G.Plonka and M.Tasche,″Invertible integer DCT algorithms″,Appl.Comput.Harmon.Anal.15:70-88,2003;
Y.H.Zeng,L.Z.Cheng,G.A.Bi,and Alex C.Kot,″Integer DCTs andfast algorithms″,IEEE Trans.Signal Processing,vol.49,no.11,Nov.2001,pp.2774-2782;
J.Wang,J.Sun and S.Yu,″1-D and 2-D transforms from integers tointegers″,in Proc.Int.Conf.Acoustics,Speech and Signal Processing,Hong Kong,2003,vol.II,pp.549-552;
″Coding of MoVing Pictures and Audio:Work plan for Evaluation ofInteger MDCT for FGS to Lossless Experimentation Framework″,ISO/IEC JTC I/SC 29/WG 11N5578,Pattaya,Thailand,Mar.2003.
机译: 确定给定变换功能的变换元素的过程和装置,将数字信号从时间域变换为频率域,从副域到计算机可读介质的方法和装置
机译: 确定给定变换功能的变换元素的过程和装置,将数字信号从时间域变换为频率域,从副域到计算机可读介质的方法和装置
机译: 确定给定变换功能的变换元素的过程和装置,将数字信号从时间域变换为频率域,从副域到计算机可读介质的方法和装置