人们都期望高质量的录音和放音音响效果。然而,他们又不太愿意为庞大的硬盘驱动器或T1线或长时间等待文档传送而多花成本。如何解决这些矛盾呢?按照数字信号处理器参考手册上的介绍采用数字信号处理技术和芯片,也许会带来额外的惊喜。
在44.1kHz上供采样的双声道16位数字音频剪辑电路上就能产生一个略大于1.4Mbps的数据位流。但这种以文档方式传送需要近11M字节/分的存储容量。无损耗或熵压缩技术可以将数据压缩三分之一或者一半,但是这种信息量超过了一般ADSL(不对称数字用户线),或电缆调制解调器连接所能够可靠地传送或快速下载的容量。而且,它会迅速地填满基于磁、光和半导体的存储介质。此外,许多无损耗压缩技术也不适于数据流动传送。
许多资料表明,人们对损耗、判别、压缩的兴趣日益浓厚并作了很多努力。而损耗、判别、压缩可以把文件压缩到其原大小的1/12甚至1/24,而且压缩后,与原声没有可听到的原质的差别。如果音频源可以容许限制保真度和频率,例如一种目标指向次低音喇叭的深低音频道或一种单音的言词技巧,那么这种减小作用可能更为显著。
通用基础
许多有损耗的压缩方案都采用一组类似的高级功能模块,或它们的子集。编码器把输入的无压缩的位流分为多种采样重叠窗口,而每一组平行路由到一个滤波器程序库和一个感知处理器。滤波器程序库在每个窗口上实行时间/频率的变换,类似于在JPEG和MPEG图像压缩核心的位置到频率的像素矩阵DCT(离散余弦变换)。时间/频率的变换消除了从采样到采样的频率冗余,将其分解成普通系数。如果变换设计得好,而且像滤波那样当数据处于频率域时,不发生更改,那么,随后的频率/时间的再变换就会准确地再现原来的信号。这种"输入等于输出"的目标称为识别系统。
判别处理器确定了构想中采样的频率掩蔽和时间掩蔽特性。在频率掩蔽中,大一点的音会掩没住附近频率的很小的静音,而在时间掩蔽中,大的音会掩蔽了在其前后发生的很小的静音。判别处理器首先要识别出强度最高的音频采样并变换频带,然后计算出其掩蔽曲线。这种曲线把人们的听觉系统的灵敏度曲线与频率的函数关系组合在一起。
运用滤波器库和判别模式的输出,量化器根据其频率和计算出的掩蔽曲线测定出可明显衰减的音调数据。它完全有可能丢弃某些音调数据。由于人的耳朵固有特性和对附近的较大声音(在时间和频率内)的掩蔽,即使在最后的压缩数据位流中信息可能会存在,但这种信息也可能会听不到。同样,这种功能模块确定每个低于由量化产生而又察觉不出的噪声频率的掩蔽水平。它把每个系数量化到增加的噪声将低于恰好是可听见阈值的点上。某些编译码器,在假定低强度声音比高强度声音更通用而且元件的高分辨率在无噪声通过(此时满足要求的SNR大多难于获得)过程更重要的条件下,选择一种非线性量化法。
该过程的下一步包括用赫夫曼编码、算术编码或类似的方式选择无损耗的压缩量化系数。因为量化一般会产生长序列的重复零,所以无损耗编码可以有效地减小数据位流量。最后,编码器把这些系数紧缩进通用尺寸的数据"程序块",有时候还加上同步、错误隐蔽、缓冲区管理、信息标题以及其他的附加位等。
相应的译码器通常比较简单,它应适应一种一对多个多媒体分配方案。它首先打开压缩的音频位流,重新产生频率系数,然后执行频率与时间的再变换,往往带有低通滤波功能消除假频。它也必须能对付缓冲区管理,特别是用可变位率压缩和误差管理来对付缓冲区管理,在误差管理中,是针对序列之外到达的输入信息包及其他根本不能到达的信息包。
说起来很容易,要不然为什麽会有这麽多编译码器特许上市或免交专利使用费呢?在它们中间最有效的微量器是体现在处理实力、存储容量以及在既定的时间内对规定位流量编码所需要的相应功上,同样体现在它们对形成的压缩文件进行解码所需要的时间、处理能力、存储量及功率上。一个编译码器可能需要一个微处理器或运行速度要比一个简单的替代电路快一倍的专用逻辑电路,即对于可比压缩和解压缩速度来说,可能会占用更多的程序或数据存储器。在交换中,更复杂的算法能以相同的位速比其相对简单的算法传送声音质量肯定会高。
有些编译码器针对充满误差的广播环境作了修改,而其他的则假定是一种更友好的传输模式,在这种模式中压缩文件进入近地和远地的储存。例如,实时音频信号(Real Audio)在多个网络包上分配连续的窗口采样系数,同编码器和译码器的缓冲一道把遗漏的包产生的时间间隔误差减至最小。一种数据流译码器在错误的时间桢形成过程中可以抑制噪声量,重新输出最终的无误差采样,或者在有效采样中间插入以构成人工取代充满误差的数据,而代替输出通常人们不愿听到的误差数据。
变换的折中考虑
编译码器折中考虑设计列表,通常是以时间对频率交换技术为起点的,而且往往在这方面考虑多一些。你可以用肉眼快速地从水平方向和垂直方向扫视整个数字图像,而后随着较大的细目图像的出现,可以再扫视像素。另一方面,听声音过程基本上是一种一次逐个采样的顺序过程。数据流传送从第一次输入数据在声频接收器上出现时直到音乐开始播放为止需要一个很短的等待时间延迟。此外,放音设备通常有容量不足的暂时存储器,以便存储整个未经压缩的音频文档。这些因素提出了一种从时间到频率域同时变换所有额定的音频文档的数据采样算法(类似于在JPEG2000的整个核心图像的定位到频率小波变换),不过从技术的可行性来看,对大多数音频应用场合而言是不现实的。
其他的变量也作为因素计入你对变换方法的选择及构成每个系数组的变换的采样(窗口大小)数中。另外,因时间与频率成反比关系,因此,固定了一个就限制了另一个。就变换滤波器库来说,时间与频率的折中意味着它们所含的频率越高,它们的时间分辨率也就越小。你一次变换的采样越多,频率细节就变得越精确,你压缩既定持续期的音频剪辑所需的整个处理能力也就越小,而且编码器产生的系数串也就越小。反之,采样窗口越长,译码期间那些频率重新定位到时间域的精度就越低。大多数音乐转变是渐进的,而且在许多情况下,高百分比的整个音频能量集中在较低的频带中。然而,当这些假设证明是不切实际的时候,算法之间的差别会最明显地显示出来。
这种时间与频率的折中本身出现在前回声中。突然产生的音频转变,例如,钹的撞击或打破的玻璃碎片,都会在窗口中产生传遍所有采样的量化噪声。如果窗口足够小,瞬时时间掩蔽可能会遮蔽转变前后所增加的噪声。这一掩蔽在转变前是很关键的,因为时间掩蔽的影响在这之前超过声音时会更进一步扩展。然而选择太大的窗口,音乐转变就会混乱而且产生失真。在另一方面,整个音乐显示可能会比小窗口的显得"更亮一些"。前回声表现为先前发生的一种有色噪声的爆发,跟着便是转变的开始。
如何对付前回声?一种通用方法是把输入的采样变换成频率数据的多个副频带(相对于一个大系数组)。这一技术把量化噪声限制到一个狭窄的频率范围内(相对于将量化噪声干扰整个频谱)。比较简单的编译码器把输入资料的总的频率范围细分成若干个大小相同的副频带。更复杂的方法采用酷似人耳朵的临界频带的不同大小的子集,并定在4kHz这个人的耳朵对声音最敏感的频率范围。
你也可以把支持纳入选择多个窗口大小的算法。压缩器在对更适中的转移检测了瞬态和较大的窗口后选择了一个小的采样窗口。但是,要牢记,算法越灵活,必须置入压缩的位流指导译码器的相应控制(也叫边信息或辅助信息)信息也就越多。这些控制位代替音频采样数据,降低了位流的效率。所以,只有在既定位速率下增加平均产生的品质因素与采用更多的位流存储实际的声频数据这种灵活性差一些的算法比较后,你才会利用这种灵活性。
另一种降低前回声和其他噪声可听度以及失真影响的技术包括每个窗口总的数据位重新定位,以促进更重要频率信息的较少量化,继而实现对高频数据的先进的压缩。这样一种方法,频率噪声成形,使量化噪声远离人耳所能听到的"悦耳点"(Sweet Spot),即1~4kHz。瞬时噪声成形也是可能的,其中当探测到转变可降低前回声影响时,数据位就会从一个窗口到另一个窗口(通过不断地变化窗口大小)得到重新定位。高频数据(按采样计算的最随机的高频数据和对人的听觉系统很少有规则的高频数据)往往是任意音频压缩方案的焦点,而且不同的算法包含了各式各样的抑制的技术。一个强劲而有效的方法是插入一个能消除高于一定频率,例如16kHz的所有音频信息的"砖墙"低通滤波器。另外一种技术,组合或加强立体声,实现高于一定频率的左右声道的声音之和,并在两个声道之间并行存储差异(左减右)。在译码过程中,采用和、差信息重建近似原始的左右声道高频数据。灵活的算法能够根据最小数据组中替换结果在一般的左、右声道之间选择,或在逐组基础上采样的和、差压缩之间选择。
组合立体声编码的外推法利用了在高频率下人的听觉系统主要是根据到达耳的信号包络针对信号本身进行声源定位这一事实。随着频率升高超过悦耳点时,耳朵越来越多地不能准确地跟上内耳相位差,而是依靠强度分析去测定声源位置。所以,你可以有选择地采用大于载波信息的精度给每个声道的包络信息编码,而且,如有,你可以有选择地整合或耦合多个声道的载波分量,使之成为一个整体。译码器再把普通载波同多个声道的包络数据组合起来构成一个近似的颗粒高频频谱分量。
丰富的理论
或许今天许多编译码器最受低估的力量在于,虽然他们规定了编码的位流格式和译码器的功能,但是他们给编码器开发者关于他们采用的技术和作出折中的回旋余地又极大。为避免译码设备变成障碍,编制压缩文件格式是非常必要的。如果消费者的音频设备在编译码器升级后就不能工作,他们将会是不满意的。然而,标准化的文件格式要有充分的灵活性,能够考虑到硬件平台和数字音频应用两方面编码器的各种优化。而且,对反映日益增多的学习者和听众反馈意见的编码器进行改进也是可取的。
MPEG-1音频标准是一个研究这一灵活性的好例子。规范分成三个层次(MPEG-1 第3层带有MP3),(即MPEG-2的第3层),其规定条件是用于较高层次的译码器也必须支持较低层次位流的译码。所有3个层次的MPEG-1编码器,将数据作为变换过程和支持32~44.1以及48kHz采样的组成部分而细分为32个频率子库。算法将其传统追朔到Musicam编译码器,而MPEG-1第一层次则是与PASC Musicam派生物、Philips的未成功的DCC系统相兼容的位流。MPEG-1编码器在多个音频频道中分配位以便在既定的位速下最大限度地提高声音质量,与有些老的算法不同,一次给一个频道编码,而且不能够利用频道间的冗余度或者按采样逐组基础上的频道之间的变换位。
MPEG-1的1层次采用一种固定长度384个采样变换窗口,并且采用由一个512点FFT多相滤波器产生的大小相同的副频带。算法利用了频率掩蔽的优势,产生32~448kbps位流,具有与在位流大小方面以及比256kbps更快的音频CD源方面的品质,难以区分的声音质量。MPEG-1层次2,用于数字音频广播和CD互动,包含一个具有1192个采样的窗口,比层次1长3倍,其包括384个以前的采样,384个现行的采样和384个未来的采样数据。这种采样组合有助于MPEG-1的层次2充分利用时间冗余。FFT目前是一个1024点多相滤波器。位流范围从32~384kbps,速率为192kbps,达到了近乎CD品质水平。
MPEG-1的层次3保留层次2的1152采样窗口及反向兼容的FFT多相滤波器,此外,增加了一个改进的DCT滤波器。DCT优于DFT(离散傅利叶变换)之处包括多个乘-累积运算的一半和生成系数的一半,因为计算的正弦部分缺省,而DCT一般包括比较简单的数学。普通DCT的带通脉冲响应的有限长度可能会导致块边界效应。MDCT覆盖了分析块,低通译码音频滤去了假频,从而消除了这些效应。MDCT还有一个比标准DCT高一些的变换编码增益,而且它们的基本功能适应于更好的带通响应。
MPEG-1层次3的DCT副频带大小不等,适应于人的听觉系统的临界频带。在第3层次中,译码器必须支持恒定位速和可变位速的位流。(然而,许多层次的1和12译码器还要处理可变的位速)。最后,第3层次编码器在归档或发送增加的无损耗压缩前要对量化系数进行赫夫曼(Huff man)编码,位流范围为32~320kbps,而128kbps速率就能获得近CD音质效果,是一种能使双频道ISDN(综合服务数字网)成为未来家庭的宽带传送管道的重要技术规格。
在三个层次中也可适用的MPEG-2 BC音频以进化的方式影响着MPEG-1的成果。它为较低的单声和立体声的16kHz、22.05kHz和24kHz采样率及低至8kbps的相应位速增加了支持。MPEG2还再次以反向兼容的方式支持两个以上频道的音频传送。这第一个双频道在基本位流范围内,含有左右音频信息,以及矩阵编码的左环绕声、右环绕声和中央频道数据。MPEG-1译码器向下混频,并输出普通的双频道音频。MPEG-2译码器利用最基本位流,并在附加位流中加入一些冗余环绕声和中央频道数据,就可对全部五个频道的混频进行译码。MPEG-2 BC也支持多语言音频,这在欧洲特别重要。在欧洲MPEG标准化成果是很重要的。
MPEG-2规范也包括AAC NBC算法。AAC算法支持多达48个截然不同的音频频道和8~96kHz采样频率。AAC保留有MP3的MDCP变换,与一个新的多相正交滤波器一起使用,但是放弃了反向兼容的FFT。与MPEG-1的3个层次相似,AAC规范包括分布曲线、LC和SSR分布曲线。LC和SSR利用有限的处理能力得以实现。根据所用的分布曲线就能存取许多编码的增强功能。
像MP3一样,AAC用赫夫曼(Huff man)编码、量化和换算,以及组合与强化的立体声技术,所有这些在实现MP3中都得到改进。AAC也使用了正向与反向自适应预测,能存储实际采样和从算法上计算采样估计之间仅有的剩余差别。AAC支持2048与256个采样的长块。并且采用瞬时噪声整形,以便以低位率减小前回声和其他量化噪声的影响。AAC规范主张以96kbps速率产生近似于CD的音质。
所知甚少,就得多听
AAC构成了MPEG-4规范的高位速、高保真度音频基础和对MPEG-2原有功能的进一步增强。MPEG-4 AAC改进了预测算法,并且包含判别噪声的置换。针对多处理编码器,MPEG-4 AAC使用了BSAC编码要点以适用可变化的系统。就较低的位速和高保真度的音频来说,MPEG-4转向TWin VQ算法并支持其他的编译码器,以实现降低保真度的传送,例如语音传送。Twin VQ和少数几个其他的编译码器,其中包括根据传闻,一种已开发的Voxware方法,这种方法是微软公司在其严密保护的WMA中用的,采用向量量化法。在MPEG中像DCT这种技术也在设法与静止的视频图像压缩技术结合在一起。
在向量量化中,编码器和译码器都有相同的"代码本",内含有系数向量集。在根据一窗口采样系列计算出系数集之后,编码器在代码本寻找出与之最适应的发送更小的代码本索引来代替发送实际的系数。译码器用这索引在代码本中寻找相同的向量,然后再重新变换频率/时间系数。用向量量化法获得结果的质量很大程度上取决于代码本的健全性,而且还取决于编码器如何完好地确定代码本的最佳匹配。尽管其他所有因素都相等,而且编码器要求的提高性能通常并不重要,但向量量化编码比判别编码花费的时间要长得多。
其他判别编码器,其中包括ATELP、Qdesign和Real Audio,在概念上采用了类似于MPEG-1和AAC用的技术,独特的方法只有少数几个。Fraunhofer已经开发出MPEG-2.5,这是一种MPEG-2的特有变体,其作用能进一步把允许的采样率降低到8、11.05和12kHz。Fraunhofer也开发出了LD-AAC,一种专用AAC编码器和一个当只有位流标准化时你才能达到的编码器灵活性的实例。LD-AAC不需要以给定位速为具有全部特性的AAC提供相同的质量,但是要用20ms最大的编码时延来弥补。这样一种特点将会在例如双向交谈通信中非常有用。
Dolby实验室、Fraunhofer、朗讯科技和索尼公司共同拥有以AAC为基础的基本专利。不要惊奇,在创立AAC中,每家公司都从开发自己编译码器的经历中取得经验,而且每家公司都进一步开发出自己专有替代产品。Dolby实验室的AC-3(Dolby Digital内部的判别编译码器)和AC-2以其多频道方案而出名。Fraunhofer作了许多研究与开发工作,结果开发出了MPEG-1,以及后来的MPEG-2。索尼公司的ATRAC(自适应变换音频编码)编译码器,用在Mini Disc录音机和唱机中,以双频道292kbsp的位速运行而且自1992年推出以来经历过许多次位流兼容的改进。索尼公司的Music Clip实现的ATRAC方案采用了128kbps的位流。朗讯科技公司的PAC编译码器技术也挤进了AAC,而且朗讯公司已经做了进一步的改进,推出了ePAC(增强型PAC),Lucent Digital Radio子公司给ePAC增加了一段令人关注的时间使编译码器成为IBOC数字无线电广播两个参加决赛者中的一个;另一个是由美国Digital Radio公司倡导的AAC。Lucent Digital Radio发送4个同步的32kbps位流。当这四个位流到达终点的时候,其中任何一个位流都会产生一个听得见而又可以理解的图像。收到的多个位流改善了质量,而且据该公司称,如果你能调谐在所有四个位流上,就能获得CD透明的双频道接收。Lucent Digital Radio的ePAC在概念上实现了酷似传统的模拟无线电的性能而不像比如说数字蜂窝电话。利用ePAC用户就能进行二进制的"正常"或"无声"接收,否则,模拟蜂窝电话的信号就会发生恶化。
多频道产生令人吃惊的音乐
音频扩展超过普通的双声道立体声,同时,利用大小合理的位流实现高质量的音频传送的困难在增大。多频道MPEG-2发现主要用于欧洲DVD视频标准的优先采用的音频编译码器。全世界观看率很高的电影起源于美国。因为Dolby Digital在美国是最通用的多频道音频编译码器,而且这种编译码器用作美国数字电视标准,Dolby Digital已变成全世界多频道编译码器的事实标准。Dolby Digital的早先技术,Dolby立体声(stero)是在正常的前左和前右立体声信号范围内对附加的音频频道进行矩阵编码。Dolby环绕声(Surround)在1978年星球大战(Star Wars)中获得其首次全面的成功。可是,到20世纪80年代末期,这一技术开始衰老,Dolby环绕声也不适合环绕立体声高保真度音乐的再生。近环绕是单音的,即它不提供分立的左、右两个声道,而且频率受到限制。矩阵编码提供的精确空间效应要比真正特殊的附加频道所容许的少得多。同时次低频喇叭是其他频道组合成的一个低通滤波方案,也不是属于它自己的一个特殊频道。
Dolby Digital首次出现在剧院是在1992年的Batmam Returns之后,对许多缺陷作了修改。利用判别编码技术,Dolby实验室能够把五个截然不同的全程频道即前左与前右、中心、后左与后右加一个专用低频作用频道(因而是公用"5.1"监控频道)挤进一个平均为384kbps的位流,Dolby Digital编码器使带有"砖墙"低通滤器的次低音喇叭声道在频率大于120Hz时发生衰减,一项灵活的分配技术根据需要通过共用位库将位分配给交叉频率和交叉频道,并且描述频道内与频道间的频率和时间掩蔽效应。这一方法通过采用组合与增强立体声技术分割并单独对高频载波和包络信息进行编码,就能实现进一步的编码增益。
Dolby Digital的文件编制含有令人感兴趣的经验法则:使用判别压缩多频道平均位的要求是大致上正比于频道数的平方根。AC-3,作为比MPEG-1或后来的产品要"老"一些的编译码器,在Dolby的评估中,作为高质量的单频道再现,需要128k位;128×√5.1 =289kbps,在384kbps位流范围内,相当不错。其中不仅包括采样系数而且也包括对话和其他电平规范化的信号,以及提出用于有限的动态范围收听环境的音量压缩控制数据。你需要Dolby Digital译码器不仅是为了对整个5.1频道输出译码,而且也是为了向下混频适应其他接收器和喇叭配置,其中包括普通双声道立体声和Dolby环绕声。
Dolby Digital的主要的多频道环绕声音响的竞争产品-DTS在1993年的Jurassic Park大规模地进入了公众意识。DTS,当其首次出现在剧院时,采用了apt-x100编译码器,其增量(Δ)编码器把输入信号划分为4个子频带,并采用4:1的压缩比。音频CD、激光盘及DVD视频盘上的DTS,采用了Coherent Acoustics编译码器,其编码器使用32副频带频率变换。虽然频率屏蔽与时间屏蔽的数据简化技术是Coherent Acoustics的选项,但算法在CD、激光盘和DVD位速上没有采用它们。而DTS在1.509Mbps时代替编译码器,产生一种比较高的保真度音频形式。Coherent Acoustics的压缩仍然能使一个满刻度保真度、6个频道、20位音频流能装入一个与双频道、16位PCM音频替换要求相同的CD空间。
『本文转载自网络,版权归原作者所有,如有侵权请联系删除』