一、概述及分类
AAC“Advanced Audio Coding”的缩写,中文称为“高级音频编码”,被手机界称为“21世纪数据压缩方式”,AAC所采用的运算方式是与MP3的运算有所不同,AAC同时可以支持多达48个音轨,15个低频音轨,更多种取样率和比特率与及有多种言语的兼容能力,更高的译码效率,总括来说,AAC可以在对比MP3文件缩小30%的前题下提供更好的音质。
AAC帧与帧之间编码完全独立,所以其广泛运用于流媒体。
AAC音频编码技术早在1997年就制定成型,当时在MPEG-2中作为了MPEG2-AAC音频编码规格之一,后来,在2000年被用在MPEG-4中 (ISO 14496-3 Audio),所以现在变更为MPEG-4 AAC标准,也就是说,AAC已经成为MPEG4家族的主要成员之一,它是MPEG4第三部分中的音频编码系统。
由于对AAC有重要贡献的公司比较多,如Fraunhofer,Dolby, Sony和AT&T,导致AAC子格式多,很容易搞混。他们是共分为9种规格,以适应不同场合的需要:
a) MPEG-2 AAC LC 低复杂度规格 (Low Complexity)
b) MPEG-2 AAC Main 主规格
c) MPEG-2 AAC SSR 可变取样率规格 (Scaleable Sample Rate)
d) MPEG-4 AAC LC 低复杂度规格(Low Complexity),现在的手机比较常见的MP4文件中的音频部份就包括了该规格音频文件
e) MPEG-4 AAC Main 主规格
f) MPEG-4 AAC SSR 可变取样率规格 (Scaleable Sample Rate)
g) MPEG-4 AAC LTP 长时期预测规格(Long Term Predicition)
h) MPEG-4 AAC LD 低延迟规格(Low Delay)
i) MPEG-4 AAC HE 高效率规格(High Efficiency)(即AAC+,含SBR)
上述的规格中,主规格“Main”包含了除增益控制之外的全部功能,其音质是最好,而低复杂度规格则是比较简单,没有了增益控制,但提高了编码效率,至“SSR”对“LC”规格大体是相同,但是多了增益的控制功能,另外,MPEG- 4/AAC/LTP/LD/HE,都是用在低码率下编码,特别是“HE”是有Nero ACC编码器支持,是近来多用的一种编码率种,不过通常来说,Main规格和LC规格的音质相差是不大。
MPEG-4 AAC LC (Low Complexity) 是最常用的规格,我们叫“低复杂度规格”,我们简称“LC-AAC”,这种规格在中等码率的编码效率以及音质方面,都能找到平衡点。所谓中等码率,就是 指:96kbps-192kbps之间的码率。因此,如果要使用LC-AAC规格,请尽可能把码率控制在之前说的那个区间内。在这个区间内,LC-AAC 可以完全打败同码率的用LAME最高质量慢速编码模式的MP3。我认为,不论是随身听,还是互联网音乐传播,都建议采用128kbps-192kbps规 格的LC-AAC编码规格。
MPEG-4 AAC HE (High Efficiency) AACPlusV1/V2(3GPP),我们叫“高效性规格”,我们简称为“HE-AAC”或者“AACPlus”,这种规格适合用于低码率编码,因为这 种规格也融入了Mp3Pro中的那种SBR技术。当您需要编码32kbps-96kbps之间的音频文件时,建议首选“HE-AAC”编码规格。使用这种 规格,在相同码率下,在这个区间内,您可以轻易把WMA9以及WMAPro等微软的格式给干掉。如果您是有声小说爱好者,或者广播剧爱好者,不妨考虑 He-AAC规格,即使很低的码率,也能提供非常清晰的人声对白效果。
以上规格的划分是比较官方的分发,wiki上也是如此划分。事实上MPEG-4与MPEG-2 AAC流除了在文件头(header)上并没有什么区别。只是一些应用软件象QuickTime并不承认MPEG-2 AAC。Real的解码程序中,并未对这2种进行区分。所以从编解码来看,按如下划分更清晰
a)LC profile:最简单的profile,苹果iTune使用这种格式(iTune也使用Apple LosslessAAC ,不过似乎没有划分到AAC家族中,一个文件通常上20M)。
b) MAIN profile: LC profile + 后向预测(backwards prediction)
c) SRS: sample-rate scalability,submitted by Sony and reportedly
d) LTP:long term prediction, main profile + forward prediction
e)HE-AAC: high efficiency AAC,又叫aacPlus,使用SBR,可能使用PS.AAC + SBR(Spectral Band Replication)aacPlusv1, AAC + SBR + PS(Parametric Stereo)aacPlus v2. 如图所示:
其中,aacPlus v1已被运动图像专家组MPEG指定为其标准MPEG-4 HE AAC.
二、AAC的编码器
a) FhG Fraunhofer IIS研发的权威编码器,拥有很好的音质,不对外开放
b) Nero AAC可能是目前最完美的AAC编码器了,同时支持"LC AAC/HE AAC"规格,Nero AAC编码器提供了品质最好的"VBR LC AAC"格式,同时亦对面"HE AAC"规格保证了在低码率下也有良好的表现,千千静听 + Nero插件,就可以编码AAC文件了,我当初就这么做测试向量的,哈哈。
c) QuickTime/iTune Apple公司的两款Media软件都提供了AAC编码功能,其编码技术来自“DolbyLaboratories”,是目前音质最好的中码编率编码器,它编码的48kbps立体声音质比其它AAC编码器好20 - 25%,甚至64 kbps的Dolby AAC音效可媲美128 kbps的MP3。
d) FAAC:免费,开源,郑重推荐。
三、文件后缀名
用aac编码的文件可能使用这三种后缀名:aac、m4a、mp4.
AAC:以aac为后缀的文件无文件头,由一些列的帧组成文件,帧头分ADIF和ADTS两种。
M4A:用MP4作为container,这种MP4文件里面只有音频帧,无视频帧。由MP4文件头+一系列的帧组成,帧头比AAC为后缀的文件要短。所以在保持压缩数据不变的情况下,将AAC转为M4A,文件会小一些,因为每帧省几个字节,合起来省下的字节数通常比MP4文件头还大。
MP4:可以同时有视频帧和音频帧,也可以只有音频或视频帧。
aac扩展名不属于MPEG4-AAC规格,而是MPEG2-AAC,现在应该很少用了。官方定义的扩展名为 .mp4,mp4容器可以装载形如H.264视频以及AAC音频,也可只装载没有声音的视频(单独H.264等),或者装载没有图像的音频(单独AAC)。不过, 苹果把只包含音频的AAC扩展名定义为*.m4a,当然,用*.mp4作为AAC扩展名也是可以的,说明是没有视频部分的MP4音频文件。如果只有音频部分,那么mp4和m4a二者可以互相安全改名。
四、AAC格式应用
那么,如果您需要编码相对较高码率的AAC(192kbps-384kbps,或更高),应该如何选择?如果您的码率不超过256kbps(如: 192kbps-256kbps),“LC-AAC”同样可以适用。如果实在需要更高的码率,请选择Main(主规格)编码。在高码率下,AAC同样可以 轻易战胜那个炒得很火热的Lame MP3,即使320kbps CBR的MP3,也根本不是Mian-AAC的对手。甚至不少人认为,中码率的LC-AAC,192kbps CBR已经达到了320 CBR Lame MP3的音质。当然,能和高码率AAC抗衡的,也只有MPC格式,不过MPC格式通用性太差了。话说回来,其实没必要用高码率的AAC,而且Main- AAC在某些通用的播放器或解码器会存在问题,因为之前说的LC-AAC音质已经足够好了,并且通用性好,如果您是发烧友,干脆直接用无损,比如FLAC 等。
MPEG4-AAC音频编码家族如此优秀,因此比较有前景,而且很多“大腕”商家都极力支持。
比如如今比较火热的H.264(包含X.264)视频编码的最佳搭档就是MPEG4-AAC音频编码。同时,高端的主流移动音乐平台,比如:苹果的 iPod、iPhone;索尼的PSP游戏机;以及诺基亚、索爱等等多媒体手机;大部分山寨多媒体手机也开始支持了;甚至不少高端的MP4视频播放器都提供AAC音频格式支持。
还有,高清视频(720P/1080P等)播放器以及蓝光设备,同样会大量使用AAC音频编码去配合H.264的高清视频编码方案。一些高清视频播放机器和游戏机(PS3等),也提供支持。您在互联网下载的一些高清电影(X.264),有相当多的使用AAC音频编码的。即 X.264+AAC 封装于MKV容器或者MP4容器之中。
当然,我们在这里,主要是谈在家用PC中去欣赏AAC音频格式的音乐,以及使用了AAC音轨的电影,于是,只要考虑如何在电脑去播放和编码就行了。
很幸运的是,目前非常主流的音频播放软件都非常轻易的支持AAC音频文件的解码,比如:国产的“千千静听”和国外的“Foobar2000”。
我估计您的机器一定有它们的存在吧?因此,播放AAC音频绝对不是问题。
如果您需观看H.264+AAC的电影,也不必担心,目前的“完美解码”和“终极解码”两种主流的高清视频解码包都提供完美的支持。因此,只要下载这两种 工具的其中之一,就行了。据说“暴风影音”也是可以支持的。
说完了如何放AAC,就简单说说AAC编码器。
因为AAC的优秀,因此关于AAC的编码器也是相当多(Fraunhofer IIS FHG AAC、NERO AAC、QuickTime/iTune AAC、Psytel、Coding Technologies、Dolby AAC、FAAC等等..),其中有商业性质的编码器,也有公用性质的,同时还有开源免费的。