CN1862969B - 自适应块长、常数变换音频解码方法 - Google Patents

自适应块长、常数变换音频解码方法 Download PDF

Info

Publication number
CN1862969B
CN1862969B CN2005100688084A CN200510068808A CN1862969B CN 1862969 B CN1862969 B CN 1862969B CN 2005100688084 A CN2005100688084 A CN 2005100688084A CN 200510068808 A CN200510068808 A CN 200510068808A CN 1862969 B CN1862969 B CN 1862969B
Authority
CN
China
Prior art keywords
length
sampling
block
window
piece
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
CN2005100688084A
Other languages
English (en)
Other versions
CN1862969A (zh
Inventor
亚当·伦德奎斯特
斯蒂安·阿格达尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nero AG
Original Assignee
Nero AG
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nero AG filed Critical Nero AG
Priority to CN2005100688084A priority Critical patent/CN1862969B/zh
Publication of CN1862969A publication Critical patent/CN1862969A/zh
Application granted granted Critical
Publication of CN1862969B publication Critical patent/CN1862969B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Abstract

本发明公开一种用于从压缩音频码流中提供音频信号的方法,包括如下步骤:对码流进行解格式化,以提取变换系数和每块的变换系数的数目;将获得的变换系数分块成具有这样的块长的块:该块长等于2的幂,并且比解格式化的每块的变换系数的数目的两倍还长;使用常数长度的反离散变换来对分块后的变换系数进行反变换,用于获得反变换后的采样的缓冲;从获得的反变换后的采样的缓冲中提取时域采样;通过合成窗对提取的时域采样的块进行窗变换,随后交叠窗变换后的块,并将交叠结果相加。其中,接收的变换系数的数目可以各块互不相同。

Description

自适应块长、常数变换音频解码方法
技术领域
本发明涉及压缩音频信号的解码,其中压缩方案采用基于改进离散余弦变换(MDCT)的方法,也称为时域混叠(aliasing)消除。更具体地说,本发明涉及通过改变块长对压缩音频流进行解码,其中给出块长作为压缩音频流中的辅助信息。本发明提供了一种用于使用自适应改变块长的音频块的常数长度反变换的方法。这样的方法有时在专用集成电路(ASIC)、现场可编程门阵列(FPGA)或可编程逻辑器件(PLD)的使用中是必需的。
背景技术
在音频编码中,压缩用于存储音频数据的空间是一个焦点。目前用于高质量音频的最新方法采用感觉编码来进行压缩。通常,这是通过将信号划分成频率带并且根据频带之间的掩蔽(masking)进行量化而完成的。音频信号划分成频率带可以通过不同的方法来完成,由此当前的技术通常采用变换编码。变换编码是一种采用离散变换来将音频信号转化成频域表示的方法。通常通过下面的步骤来描述感觉编码器:
-信号窗变换
-将窗变换后的块变换成频谱表示
-对时域和频域掩蔽模型参数的估计。这确定了不使感觉音频质量下降而可引入的最大编码误差。
-基于掩蔽模型参数对频谱表示的量化。这样用信号来掩蔽量化噪声。
-量化频谱参数和其他辅助信息的格式化。
解码器反转这个处理流程,以重构尽可能接近原始信号的信号。
到频谱表示的变换可以是任意已知的离散变换,诸如离散傅立叶变换(DFT)、离散余弦变换(DCT)或者改进离散余弦变换(MDCT)。这些变换在能量压缩、混叠特性和计算量要求等方面具有不同的特性。离散变换通常假设块长是无限的并且由于这在实际中是不可能的,在切断的块长中会引入误差。这个误差被称作频谱泄露,可以通过在对块变换前应用分析窗、在反变换后应用合成窗来降低误差。如果窗选择得合适,可以在滤波器的常数过渡频带陡度获得增加的阻带衰减。分析-合成窗必须具有这样的特性:当在定义的交叠长度上交叠时,分析和合成窗的结果必须对每个采样为常数。如果这个标准不满足,就将引入失真。窗变换过程在音频编码中具有另一、甚至更重要的正面效果。如果没有使用任何窗、或者使用了矩形窗,就会由于量化而引入窗之间边界上脉冲幅度的改变。通过在边界上采用取值接近0的平滑窗,将会避免这样的突然幅度变化。关于窗的讨论和对其特性的描述可参见Harris,“On the use of windows for harmonic analysiswith the discrete Fourier transform”,IEEE Proc.,Vol.66,No 1,Jan.1978。
当通过交叠窗而使用DFT时,信号将会过采样,比信号的时域表示需要更多的比特。Princen(Princen,Bradly,“Analysis/Synthesis FilterBank Design Based on Time Domain Aliasing Cancellation”,IEEE,volASSP-34,Oct 1986,pp.1153-1161)描述了一种余弦调制滤波器组,其在频域欠采样。这个欠采样不可避免地导致了混叠,但是这个特定的滤波器组可以通过合适的交叠相加(overlap-add)消除混叠信号。通过欠采样而获得临界采样的滤波器组。这意味着,当使用50%交叠的块时,频率系数的数目等于时域采样的数目。在对频谱系数块进行反变换之后,在时域信号中有混叠。通过合适选择时域相位参数,并且通过使用交叠相加方法,可以完全地消除混叠。这个原理称为时域混叠消除(TDAC)或者重叠变换(Lapped Transform,LT),所使用的离散变换通常称为改进离散余弦变换(MDCT)。Princen没有教导在保持混叠消除的变换特性的同时怎样选取块长、窗长或者变换长度。
长的块长为伪稳态音频信号增加了编码增益和频率解析度。另一方面,长的变换长度导致较少的时域解析度、更长的等待时间和可能引入的所谓的预瞬时噪声。针对该双边问题,提出了若干的解决方案。在较早的编解码器中,在设计期间定义了一个固定块长。这可导致预瞬时噪声。在采样块开始包含低能量、在信号的稍后部分有瞬时冲击的情况下会出现预瞬时噪声。当使用上述变换之一将信号变换到频域并进行量化后,将删除某些信息。根据感觉理论,这些丢失的信息理想地应该是听不见的,但是当块包含瞬时声音时,量化噪声会在时域上在整个块中扩散。较早前包含具有低幅度信号的部分在反量化和反变换之后将也会包含量化噪声,某些环境中,在这个部分高噪声的能量可能比信号自身的能量还高。对于通常具有陡峭瞬变的声音来说,例如钟声,预瞬时噪声通常可以听成是幅度的缓慢增加。有证据表明,块长越短,具有诸如预瞬时噪声的边效应的危险就越低。在图1、2和3中可以看到,块长对预瞬时噪声具有很重要的影响,足够短的块长可以支持量化噪声的掩蔽。图1说明了这样的信号,最初具有低能量,而后是一个瞬变。X轴表示采样号,从0开始,Y轴表示幅度,归一化为-1到+1之间的值。图2说明了量化MDCT系数后重构所引入的预瞬时噪声。可以看出,这里引入的预瞬时噪声延伸了超过350个采样的长度,其在44,100采样每秒的采样率下对应于几乎8ms的长度。在这个特定的例子中,预瞬时噪声没有被人类听觉系统所掩蔽。本例中所采用的块长是512个采样,采样率为44,100采样每秒。图3说明了在使用256个采样的块长时引入的量化噪声。预瞬时噪声现在减小到小于采用512个采样的块长时所引入噪声的三分之一。在所示的瞬变中,刚好约2ms的预瞬时长度通常是听不到的。
为了避免预瞬时噪声,Elder(Elder,“Coding of Audio Signal withOverlapping Block Transform and Adaptive Window Function”,Frequenz,vol.43,No.9,1989,pp.252-256)描述了一种随着输入信号特性的改变而自适应改变TDAC块长和变换长度的方法。他通过以特殊方式设计窗而显示出,窗长可以自适应改变而不会引入混叠。Elder还描述了一种用于分析信号以检测瞬变以及一旦检测到瞬变该怎样改变块长的方法。但是,Elder的方法没有告诉我们在自适应改变块长的同时怎样使用常数变换长度。
Sugiyama(Sugiyama,Hazu,Iwadare,Nishitani,“Adaptive TransformCoding with an Adaptive Block Size(ATC-ABS)”,ICASSP,Apr.1990,pp.1093-1096)描述了怎样自适应改变块长。在使用离散余弦变换(DCT)作为变换方法的编解码器中显示该方法。Sugiyama等描述了用于该自适应块长变化的前馈和反馈系统,但是在自适应块长的同时都没有采用常数长度的变换。Sugiyama等提出,TDAC的相似方法具有增强其所述算法的优越性的可能性,但是没有提出任何进一步的详细说明。
Davidson(中国专利申请No.91102167)采纳了在MDCT块长之间变化时的变换。Davidson描述了一种用于选取块长以及可怎样修改相位项来确保不同长度块间的混叠消除的方法。Davidson的方法使用不同长度块之间的频谱过渡窗或者使用短块之间的零交叠长度。他还讨论了诸如DFT和MDCT的变换之间的自适应改变。Davidson仅仅讨论了变换长度等于块长的变换编码器,也就是自适应改变变换长度。在Davidson描述的一种模式中,也就是AC-3编解码器中使用的方法(“ATSC Standard:Digital Audio Compression Standard(AC-3),Reision A”,Doc A/52,20th Aug.2001),编码器使用了两种块长。当编码器从长块切换为短块时,变换长度也与块长一样进行了改变,同时改变了MDCT的相位项。在短块之间没有交叠而是通过使用不同的相位项,保持了相邻块间的正交性。
窗长和变换长度同时改变的类似方法还在MPEG-2非后向兼容编解码器(也称为MPEG-2 AAC(MPEG-2 AAC标准ISO-11172-7))中使用。该方法的问题在于,变换长度将随着块长的改变而改变。其缺点在于,不能使用针对一个具体变换长度定制的硬件(在ASIC或FPGA的例子中很常见)或者必须为该变换使用至少两个硬件设备。
还有一些针对如何降低预瞬时噪声的其他提议,例如Herre所提出的瞬态噪声整形(TNS)(Herre,“Temporal Noise Shaping,Quantization and Coding Methods in Perceptual Audio Coding:A tutorialIntroduction”,AES 17th Int.Conf on High Quality Audio Coding,Paper17-031,Sept.1999)。这样的方法可以使用本发明在编解码器中得以结合而不会背离本发明的意图。但是,这里对此将不作过多讨论。
MDCT可以在数学上用DFT的方程来表示,这个方程可以展现MDCT的有效实现的想法。这样的方程是本领域公知的,其中,可参见Crochiere,Rabiner,“Multirate Digital Signal Processing”,Prentice Hall,1983。他们将方法描述为广义DFT、奇DFT和奇平方DFT,这都是DFT的扩展,用来包括时间和/或频率偏移。但是,他们都没有描述对不同块大小使用单独的一个变换长度。
Davidson提出了一种用于基于对复指数的前、后乘法来使用DFT进行MDCT的方法。但是,该方法没有考虑改变变换长度,而是在不同长度块的切换时使用了不同的变换长度。
Wang,Yaroslavsky和Vilermo的近来的研究(Wang,Yaroslavsky,Vilermo,“On the Relationship between MDCT,SDFT and DFT”,16th IFIPWorld Computer Congress(WCC2000)/5th International Conference onSignal Processing(ICSP2000),August 21-25,2000,Beijing,China)已经显示了MDCT和DFT之间在偏移DFT(SDFT)上的关系,其中SDFT是允许任意时间和频率偏移的广义DFT。在SDFT上的方法允许MDCT的快速实现。所述方法可以实现为使用DFT的,或者可以通过使用DFT来描述。没有已知的专用硬件或软件用来计算SDFT,因此通过现成硬件的帮助来实现是不现实的。SDFT可以用与复指数的前乘或后乘的DFT来描述,这可允许使用专用硬件。但是,作者并没有提出任何使用上述方法对于变化块长用于实现常数变换长度的方法。
发明内容
本发明是一种用于从压缩音频的码流中提供音频信号的方法,其中压缩音频的码流包括来自长度可能变化的时域块的谱系数。
对码流进行解格式化,将接收的谱系数组合到长度是大于接收的谱参数数目的常数长度的块中。对获得的谱参数块进行常数长度的反离散变换,以得到反变换后的信号采样。通过对来自不连续位置的采样进行提取和归一化,从这些反变换后的信号采样中获得混叠后的音频采样。混叠后的音频信号被传送到窗变换单元,在这里施加合成窗。最后,通过合成加窗信号的交叠块的相加,获得减少混叠的音频信号。
通过所提出的方法,有可能使用常数变换长度来用于自适应改变块长。通过本发明,有可能使用有效的ASIC、FPGA或PLD来用于反变换,而反变换通常在音频解码器的总复杂度中占有很大部分。
这里的方法是在对AC-3音频流解码的环境中进行描述的,但是本发明不限于对这样压缩的音频流进行解码。本发明显然对于任何使用MDCT编码码流的压缩音频流都有用。
附图说明
图1是无声信号后跟着一个瞬变。
图2说明在使用512个采样的块长时由量化引入的预瞬时噪声。
图3说明在使用256个采样的块长时由量化引入的预瞬时噪声。
图4显示了根据本发明的解码器的结构。
图5说明MDCT系数的分块。
图6说明在本发明优选实现中的解格式化和分块。
图7显示了48个采样长度的假设信号。
图8显示了使用32个采样的块长对图7中信号进行正向和反MDCT的结果。
图9显示了使用32个采样的块长对图7中信号进行正向和反MDCT的结果,其中向右滑动了16个采样的块。
图10说明通过交叠相加过程进行混叠消除。
具体实施方式
现有技术音频变换解码器使用自适应变化块长的问题在于它们不适合固定变换长度处理。本发明通过重构解码器以支持固定长度反变换的使用而解决了这个问题。
本发明限于变换长度为2的幂,实际上是没有限制,因为这就描述了在所有公知音频编解码器中使用的长度。在整个说明书中,我们将使用N来描述MDCT系数的数量,这是从编码块的长度2N个采样得出的。长度M描述谱系数数目中固定长度反变换的长度。长度N可以在接收的MDCT系数块之间变化,但变换长度M将保持不变。我将在本发明的一个优选实施例中假定只有两种不同的块长,并且短块是成对出现的。为了简化讨论,只讨论单声道的情况。对于多声道音频流的沿用是十分明显的。
本发明基于IDFT和IMDCT的特性。谱参数可以通过缓冲器中合适的定位(positioning)来由常数长度的IDFT、替换自适应变长的IMDCT来反变换。可以看到,通过对系数的合适定位以及对至少为8N的M的选取,IDFT及其后面的提取和归一化可以用作IMDCT。这样,我们将IMDCT描述为IDFT并且使用现成的硬件来对MDCT系数进行反变换。
MDCT定义为:
C ( k ) = 2 N Σ n = 0 2 N - 1 wa [ n ] x [ n ] cos ( ( 2 n + N + 1 ) ( 2 k + 1 ) π 4 N )
= 2 N Σ n = 0 2 N - 1 wa [ n ] x [ n ] cos ( π ( 2 k + 1 ) n + φ 2 N ) - - - ( 1 )
0≤k≤N-1
其中x[n]是信号采样,wa[n]是分析窗。反MDCT(IMDCT)定义为谱系数乘以相同基函数的和:
s ( n ) = 2 N Σ k = 0 N - 1 ws [ n ] C [ k ] cos ( ( 2 n + N + 1 ) ( 2 k + 1 ) π 4 N )
= 2 N Σ k = 0 N - 1 ws [ n ] C [ k ] cos ( π ( 2 k + 1 ) n + φ 2 N ) - - - ( 2 )
0≤n≤2N-1
其中ws[n]是合成窗。在讨论中,除了提取-归一化之外,常数归一化因子在求和前忽略。由于频域中的欠采样,显然反变换的采样s[n]不同于原始采样x[n]。幸运的是,如果正确选取了相位项,通过交叠相加两个相邻重构块可以重新创建采样。重构的时域信号包含真实信号和混叠分量,如下所示:
s [ n ] = x [ n ] - x [ N - 1 - n ] , 0 ≤ n ≤ N - 1 x [ n ] + x [ 3 N - 1 - n ] , N ≤ n ≤ 2 N - 1 - - - ( 3 )
可以看出,如果块是常数长度的话,将相位项φ选取为:
φ = N + 1 2 - - - ( 4 )
可以完美地进行重构。在此情况下,通过两个连续块的交叠相加给出重构的音频信号:
xr[n]≈sr[n]+sr-1[N+n],0≤n≤N-1
其中r是块号,sr[n]是反变换后的块r中的采样n。“≈”用于表示该等式只在分析和合成窗满足特定标准并且在谱参数上没有进行量化时才为真。
通过使用例子可以更清楚地解释混叠和交叠相加。在图7中,显示了具有48个采样的长度的信号。图8显示了第一块的前向和后面的反MDCT(2N=32)后得到的信号。可以看出,后半部分信号包含混叠。还注意到,前半部分信号包含混叠项,但是由于原始信号在该区域等于0,所以混叠也是0。X轴显示采样号,Y轴显示归一化为-1到+1之间的值的幅度。为简化起见,在本例中使用常数单位幅度的相同矩形分析和合成窗。
在图9中,可以看到相同信号偏移16个采样之后施加相同的前向和反变换的情况。但是,在这张图中,第一幅度升起的混叠现在反相了,正如根据公式(3)所预计的。可以看出,前半部分块的混叠等于围绕块长四分之一时域反转的负的原始信号。相应地,后半部分块中的混叠是原始后半部分信号围绕块长四分之三时域反转。打点的部分不是变换信号的部分,而仅仅是为了对准图,以更好地说明混叠消除。在图10中,可以看到交叠相加步骤的输出。重构的信号在此情况下是图8和9中信号的和。为了更好地说明混叠消除,我们在这里使用了单位幅度的矩形窗,这是输出幅度是输入幅度高度的两倍的原因。交叠相加过程产生了等于半个块长的多个输出采样,在本例中就是16个输出采样。应该注意,如果我们改变相位因子φ,将同时移动混叠的对准,对φ的错误选取不会带来在交叠相加步骤中的混叠消除。
当改变块长时,如果相位项也改变,甚至对于不交叠的块,也有可能保持完美重构。可以看出,相位项(公式4)在块中位于混叠的中心。这也可以从图9中得到证明。前半部分块中的混叠根据公式3是负的半块反转,而后半部分块中的混叠是正的后半块的反转。可以看出,通过改变相位项,可以移动该混叠反转位置。如果m是采样中从块尾测量的混叠的边界,完美重构的相位等于:
φ = m + 1 2 - - - ( 5 )
如果我们把MDCT系数在缓冲器中合适地定位,将能够在该缓冲器上进行反DFT变换,而不是进行IMDCT,也就是说,我们可以将IMDCT描述为IDFT。IDFT定义为:
IDFT { D } = 1 M Σ k = 0 M - 1 D ( k ) · e j 2 πkn / M , 0≤n≤M-1    (6)
在求和之前的归一化因子的进一步的讨论将被忽略,有关提取-归一化的描述例外。通过改进IDFT方程,很清楚怎样来通过常数长度IDFT反变换自适应变化长度块。通过把IDFT分为偶数和奇数频率来描述IDFT:
r [ p ] = IDFT { D } = Σ k = 0 M - 1 D ( k ) · e j 2 πkp / M
= Σ k = 1 , k : odd M - 1 D ( k ) · e j 2 π M kp + Σ k = 0 , k : even M - 2 D ( k ) · e j 2 π M kp - - - ( 7 )
= Σ k = 0 M 2 - 1 D ( 2 k + 1 ) · e j 2 π M ( 2 k + 1 ) p + Σ k = 0 M 2 - 1 D ( 2 k ) · e j 2 π M ( 2 k ) p
0≤p≤M-1
可以看出,不考虑相位项φ,我们将能够使用IDFT代替IMDCT,只要我们选取M=4N,并且设
D ( k ) = C ( k - 1 2 ) , k : odd 0 ≤ k ≤ 2 N - 1 0 , k : even 0 ≤ k ≤ M - 1 0 , N ≤ k ≤ M - 1 - - - ( 8 )
注意到相位项,我们必须使相位项为整数,这可以通过增加IDFT长度到相位项的比率来完成。通常情况下,我们随后将必须将长度加倍,因为相位项包含半采样时间偏移。因此,IDFT长度是8N。当块长改变为正常块长的一半时,我们将保持相同的IDFT长度。
我们将MDCT系数C(k)定位在常数长度缓冲中的奇数位置上,用0填充在任何空位置上,在缓冲的结束处达到长度M。缓冲中的偶数位置上随后将包含0值复数。由于MDCT系数是实数值,我们必须将D(k)的虚部分量设为0。在创建的缓冲的反DFT之后,可以从生成的时域缓冲中提取正确的采样。由于在频域中的偏移和补零,从反变换的缓冲中的第0个元素定位想要的采样,但是它们的位置必须通过频谱方法来计算,这一点将在关于提取-归一化的内容中进一步描述。
如图4所示,解码器包括下面的模块:
-解格式化器
-分块
-反变换
-提取-归一化
-后分块
-窗变换
-交叠相加
其中,图4中的码流是压缩音频流。解格式化器100提取和重构本发明所必需的信息。通常,码流包含量化MDCT系数、比特分配信息、空间信息和若干其他参数。我们在这里假设对所有重要参数的提取、比特分配计算程序和对于任何量化参数的解量化都集成在这一个模块中。它可能提供任意数量的参数和信息,但是对于本发明,我们只对其中的两种感兴趣。MDCT系数的数量N和形式上为MDCT系数C(k)的空间信息就是对于本发明重要的参数。该信息将被传送到分块单元,参数数目(N)将被传送到提取-归一化单元。解格式化器对于本发明并不是至关重要的,实际上可以获取包含MDCT频率参数信息的任何类型的音频流。解格式化器的内部工作对于本发明并不是至关重要的,因此不作进一步的讨论。
分块101对适于常数长度反变换的缓冲器中的MDCT系数进行分组和定位。反变换102是常数长度变换,通常由FFT来实现。提取-归一化103获取在编码器中使用的块长并计算反变换的缓冲中的位置,在该位置上定位插入的时域采样s[n]。后分块104将时域采样s[n]分块成常数长度的块。在一个优选实施例中,使用的合成窗105是常数长度的,并且只使用了一个窗。交叠相加106模块执行在时域上对两个交叠相邻块的相加。该模块输出的就是重构的音频信号。
后分块用作提取-归一化的输出的一个缓冲。它对采样进行缓冲,直到达到预定数量的采样。一旦填满了一个缓冲,就用固定长度的合成窗对分块进行窗变换。加窗后的缓冲被传送到交叠相加单元,在这里将具有50%交叠的两个连续块相加。该单元的输出就是可以保存用于进一步处理或发送到回放设备的音频信号采样。
在下面的部分中将详细描述这些单元中的每个单元。
分块
分块的目的是生成适合于常数反变换的缓冲。为了获得这个缓冲,探究了离散傅立叶变换的特性。通过在MDCT系数之间合适的补零,我们可以获得适合于常数长度反变换的系数块。只要还有系数,MDCT系数就定位于常数长度块的奇数位置上。用于分块的MDCT系数的数目不是问题,只要接收机缓冲的块长大于MDCT系数的数目的两倍。
实数值的MDCT系数C(k)被分块成常数长度M的复数块D(k),其中M大于N,分块方法如下:
初始化:D(k)={0,0}    0≤k≤M-1
分块:  D(2·k+1)=C(k) 0≤k≤N-1
复数缓冲的长度M因此选择得大于MDCT系数使用的最高号的两倍。
接收的MDCT系数可能在音频流中以任何次序定位。事实上,在编码过程中,通常最好是将MDCT参数隔开定位,从而降低不可修补的传输突发误差的影响。分块单元将接收的谱分量分组成长度大于谱系数数目的块。通常的分块过程在图5中示出。通过解格式化器从码流中提取变换系数200,并将其复制成块201。这个谱参数块随后被传送到反变换单元用于生成时域信号采样。
在AC-3码流的情况中,谱系数并不原样传输,而是仅传输量化格式的系数,其中每个谱系数被划分成浮点格式的尾数Mk和指数Ek。这在编码器中执行为:
C ( k ) = M k · 2 - E k - - - ( 9 )
在AC-3编解码器中,N的值长块为256,短块为128。在此情况下,我们选择M为2048,用于任何块长。图6可发现用于AC-3的分块的草图,根据公式9描述了指数300和尾数301。图中说明了指数和尾数的分块以及它们在常数长度块302中的位置。从尾数和指数到这个块的线条说明了它们用于分块这一事实。分块单元在此情况下也可以集成其他的处理,例如尾数与2的指数次幂的乘法或者对指数的修正以反应出增益修正。
反变换
通过施加反离散变换,从常数长度块D(k)产生时域采样块。优选变换是反离散傅立叶变换(IDFT),因为它在快速ASIC中可以公共获得,但是如所示,也可以使用离散余弦变换。使用的常数长度反变换为:
d[p]=Real[IDFT{D}]  0≤p≤M-1,
其中Real[·]表示·的实部,IDFT是如公式6所定义的反离散傅立叶变换。
从IDFT的定义中可以看出,d(p)可以用类型I的反离散余弦变换(IDCT)直接计算出来,如下定义:
d [ p ] = Real [ IDFT { D } ]
= Real [ Σ k = 0 M - 1 D ( k ) · e j 2 πkp / M ] - - - ( 10 )
= Σ k = 0 M - 1 D ( k ) · cos ( 2 πkp / M )
= IDCT { D }
这是因为,D(k)的虚部定义为0。
IDFT实际上是通过快速傅立叶变换(FFT)来实现的。通常的对FFT的快速实现的介绍可以在Duhamel,Vetterli对于该主题的教导(Duhamel,Vetterli,“Fast Fourier Transform:A Tutorial Review and AState of the Art”,in“The Digital Signal Processing Handbook”,Madisetti,Williams(Editors)Chapter 7,CRC Press LLC 1998)中找到。
反变换的长度一直是M,独立于编码器中所使用的块长(但有上述的限制)。该解决方案的优点是有可能使用针对一个具体变换长度的反离散傅立叶变换定制的硬件或软件。
提取-归一化
从时域采样块中,我们现在可以通过下面的提取和归一化来选取插入的采样:
s[n]=f(N,M)·d[p],0≤n≤2·N-1,
其中
p = [ M 4 · N · ( n + φ - 1 ) ] % M
这里%是模运算符。由于模运算符,上述括号内对p的表示必须被估算为整数表示。这给出了M的最小值为定义的编解码器中出现的最大的N的至少四倍,有可能更高,这取决于φ的值。时间偏移φ选取得使得在不同块长之间的过渡中消除混叠信号采样,这意味着常数块长情况中的φ将选取为
长块: φ = N + 1 2
这个时间偏移必须引入以确保解码过程与编码器中引入的相位偏移相一致。可以看出,该相位因子对应于编码器中引入的相位偏移。对于短块不交叠以及只有两种块长(如AC-3)的优选实施例,相位项将额外是(对于短块):
第一短块: φ = 1 2
第二短块: φ = 2 · N + 1 2
归一化因子f(·)用于保证单位最大增益,并计算为DFT和MDCT的归一化因子的比率:
f ( N , M ) = 2 N 2 M - - - ( 11 )
这些归一化因子对于不同的实现不同,取决于在各自变换中所使用的因子。
后分块
在本发明的一个优选实施例中,有两种不同的块长,短块总是成对的出现,如AC-3。短块相互不交叠,因此允许相对于现有技术的另一改进。后分块只在这种特定情况下有用,在所有其他情况下,将不使用后分块或者其无足轻重。后分块的优点在于,可以使用单独的一个窗,可以比在将处理分为两部分(每次应用不同的窗)时更有效地完成一个窗的应用。是否使用后分块是在设计时决定的,此后不能改变。
采样s[n]缓冲到预定长度P的块中。这些块的长度是常数,选择为与最大块长2N相一致,即P=max[2·N]。
如果接收长块,将填充整个缓冲,该缓冲将传送到窗变换单元。如果接收较小的块,采样就被复制到缓冲中,而不是将缓冲送到窗变换单元。当接收到下一块,这一块将会是短块(因为我们在介绍中已经说明了:短块总是成对的出现)。这个短块将被复制到相同的缓冲中作为最后一块,如果该块中的采样总数等于P,就将这个块传送到窗变换单元。通过使用这样的分块,窗变换单元在每个块中将总是得到相同数量的采样,就有可能不再需要多于一个的窗函数。
如果短块交叠的话,后分块必须修改。在此情况下,将不会使用后分块,而是在接收采样块后将其直接传送。此时,窗变换将必须进行略微的修改,以支持多于一个的合成窗类型。如果想支持两种以上的块长,就必须作类似的修改。
窗变换
在本发明的优选实施例中,不交叠的短块成对出现,因此可以改进窗变换。通过在此情况下使用后分块,有可能使用单独的一个窗,这将改善算法的复杂度。合成窗必须满足Princen所述的标准,以允许完美重构。如果短块是交叠的或者存在两种以上的块长,就需要不同的窗,在此情况下将不使用后分块。窗变换将保持类似,但是至少根据块长,将有一个以上的窗用来选取。
合成窗必须与编码器中前向变换中使用的分析窗相一致,以确保不会引入幅度调制效应。这意味着,合成窗限于这样的形状:分析和合成窗的结果的和等于相邻交叠窗的和。窗长等于P,即时域采样的缓冲长度。
交叠相加
合成窗变换后的块必须一个采样接着一个采样地交叠和相加,以消除混叠信号分量。在不交叠的短块窗的情况下(如AC-3),通过块间的相位项变换来照顾到混叠消除。然而,在其他情况中需要交叠相加,这可以结合在本发明中。在具有不交叠短块的优选实施例中,交叠相加以独立于编码器中进行的块长变化的相同方式而完成。

Claims (10)

1.一种用于从压缩音频码流中提供音频信号的方法,所述方法包括如下步骤:
对所述码流进行解格式化,以提取变换系数和每块的变换系数的数目;
将所述获得的变换系数分块成具有这样的块长的块:该块长等于2的幂,并且比所述解格式化的每块的变换系数的数目的两倍还长;
使用常数长度的反离散变换来对所述分块后的变换系数进行反变换,用于获得反变换后的采样的缓冲;
从所述获得的反变换后的采样的缓冲中提取时域采样;
通过合成窗对所述提取的时域采样的块进行窗变换,随后交叠所述窗变换后的块,并将交叠结果相加,
其中,所述接收的变换系数的数目可以各块互不相同。
2.根据权利要求1所述的方法,其中,所述分块步骤将从所述解格式化步骤中获得的变换系数复制到块中的奇数位置,并且其中,将在偶数位置的系数都设为0。
3.根据权利要求2所述的方法,其中,在所述复制的变换系数后,对所述块补以零值系数。
4.根据权利要求1所述的方法,其中,所述变换系数源自改进离散余弦变换MDCT。
5.根据权利要求4所述的方法,其中,所述反变换是由反离散傅立叶变换DFT或反离散余弦变换DCT实现的。
6.根据权利要求1所述的方法,其中,所述反变换步骤是这样的离散反变换,其操作在长度等于变换系数数目四倍的倍数的变换系数块上。
7.根据权利要求1所述的方法,其中,所述提取时域采样步骤从所述反变换后的采样的缓冲中的非相邻位置中提取采样的。
8.根据权利要求1所述的方法,其中,所述提取时域采样步骤根据MDCT中的相位项和在解码器中使用的块长来决定从哪个位置提取采样。
9.根据权利要求1所述的方法,其中,所述提取时域采样步骤提取采样的数目等于块中接收的变换系数的数目的两倍。
10.根据权利要求1所述的方法,其中,缓冲所述提取的采样,直到达到预定长度,并且,独立于所述提取的采样的数目,对所述缓冲应用单独的一个合成窗。
CN2005100688084A 2005-05-11 2005-05-11 自适应块长、常数变换音频解码方法 Expired - Fee Related CN1862969B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2005100688084A CN1862969B (zh) 2005-05-11 2005-05-11 自适应块长、常数变换音频解码方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2005100688084A CN1862969B (zh) 2005-05-11 2005-05-11 自适应块长、常数变换音频解码方法

Publications (2)

Publication Number Publication Date
CN1862969A CN1862969A (zh) 2006-11-15
CN1862969B true CN1862969B (zh) 2010-06-09

Family

ID=37390312

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2005100688084A Expired - Fee Related CN1862969B (zh) 2005-05-11 2005-05-11 自适应块长、常数变换音频解码方法

Country Status (1)

Country Link
CN (1) CN1862969B (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
PL2301020T3 (pl) * 2008-07-11 2013-06-28 Fraunhofer Ges Forschung Urządzenie i sposób do kodowania/dekodowania sygnału audio z użyciem algorytmu przełączania aliasingu
CA2836871C (en) * 2008-07-11 2017-07-18 Stefan Bayer Time warp activation signal provider, audio signal encoder, method for providing a time warp activation signal, method for encoding an audio signal and computer programs
FR2977969A1 (fr) * 2011-07-12 2013-01-18 France Telecom Adaptation de fenetres de ponderation d'analyse ou de synthese pour un codage ou decodage par transformee
CN104347082B (zh) * 2013-07-24 2017-10-24 富士通株式会社 弦波帧检测方法和设备以及音频编码方法和设备
PT3028275T (pt) * 2013-08-23 2017-11-21 Fraunhofer Ges Forschung Aparelho e método para processamento de um sinal de áudio utilizando uma combinação numa faixa de sobreposição

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287798A (ja) * 2001-03-23 2002-10-04 Seiko Epson Corp オーディオ復号装置、及びオーディオ復号方法
CN1485849A (zh) * 2002-09-23 2004-03-31 上海乐金广电电子有限公司 数字音频编码器及解码方法
JP2004302493A (ja) * 2004-07-16 2004-10-28 United Module Corp オーディオ復号装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2002287798A (ja) * 2001-03-23 2002-10-04 Seiko Epson Corp オーディオ復号装置、及びオーディオ復号方法
CN1485849A (zh) * 2002-09-23 2004-03-31 上海乐金广电电子有限公司 数字音频编码器及解码方法
JP2004302493A (ja) * 2004-07-16 2004-10-28 United Module Corp オーディオ復号装置

Also Published As

Publication number Publication date
CN1862969A (zh) 2006-11-15

Similar Documents

Publication Publication Date Title
KR100193353B1 (ko) 적응블록길이, 적응변환, 적응윈도우 변환코더, 디코더 및 고품질 오디오용 인코더/디코더
KR100892152B1 (ko) 시간-이산 오디오 신호를 부호화하기 위한 장치 및 방법그리고 부호화 오디오 데이터를 복호화하기 위한 장치 및방법
JP5140730B2 (ja) 切り換え可能な時間分解能を用いた低演算量のスペクトル分析/合成
JP2024147632A (ja) パラメトリック・マルチチャネル・エンコードのための方法
EP2270777B1 (en) Mixed lossy and lossless audio compression
CA2880055C (en) Adaptive hybrid transform for signal analysis and synthesis
ES2375192T3 (es) Codificación por transformación mejorada de habla y señales de audio.
KR100957711B1 (ko) 오디오 서브밴드 값을 생성하는 장치 및 방법과 시간 영역 오디오 샘플을 생성하는 장치 및 방법
CN102243873B (zh) 分解滤波器组、合成滤波器组、编码器、解码器、混合器及会议系统
JP4439522B2 (ja) 離散値のシーケンスを有する信号を処理するための装置および方法
AU2162792A (en) Low computational-complexity digital filter bank
US20040220805A1 (en) Method and device for processing time-discrete audio sampled values
CN1862969B (zh) 自适应块长、常数变换音频解码方法
CN104981981A (zh) 数字音频信号中的前回声的有效衰减
WO2004079923A2 (en) Method and apparatus for audio compression
Britanak et al. Cosine-/Sine-Modulated Filter Banks
CN102160114B (zh) 用于对数字音频信号中的前回声进行衰减的方法和装置
KR100686174B1 (ko) 오디오 에러 은닉 방법
CN1318904A (zh) 一种实用的基于小波变换的声音编解码器
Xiong et al. A nonuniform modulated complex lapped transform
KR20060131767A (ko) 오디오 신호 코딩
AU712719B2 (en) Analysis/synthesis filtering system with efficient oddly-stacked single-sideband filter bank using time-domain aliasing cancellation
Ashida et al. Audio signal compression via sampled-data control theory
AU2012247062B2 (en) Adaptive Hybrid Transform for Signal Analysis and Synthesis
Herre Audio Coding Based on Integer Transforms

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20100609

Termination date: 20210511

CF01 Termination of patent right due to non-payment of annual fee