1. 程式人生 > >各種音視訊編解碼學習詳解之 編解碼學習筆記(五):Mpeg系列——AAC音訊

各種音視訊編解碼學習詳解之 編解碼學習筆記(五):Mpeg系列——AAC音訊

     最近在研究音視訊編解碼這一塊兒,看到@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,非常感謝,佩服的五體投地。奈何大神這邊文章太長,在這裡我把它分解成很多小的篇幅,方便閱讀。大神部落格傳送門:https://www.cnblogs.com/skyofbitbit/p/3651270.html。若讀過@bitbit大神寫的【各種音視訊編解碼學習詳解】這篇文章,就不用向後看啦

下面資料來自wiki。AAC在MPEG2和MPEG4中定義。

副檔名:.m4a, .m4b, .m4p, .m4v, .m4r, .3gp, .mp4, .aac 
網際網路媒體型別:audio/aac, audio/aacp, audio/3gpp, audio/3gpp2,audio/mp4, audio/MP4A-LATM, audio/mpeg4-generic
格式:有損資料壓縮 
延伸自:MPEG-2 音訊 
標準:ISO/IEC 13818-7(MPEG-2第7部), ISO/IEC 14496-3(MPEG-4第3部)

  AAC(Advanced Audio Coding),中文稱為“高階音訊編碼”,出現於1997年,基於 MPEG-2的音訊編碼技術。由Fraunhofer IIS、杜比實驗室、AT&T、Sony(索尼)等公司共同開發,目的是取代MP3格式。2000年,MPEG-4標準出現後,AAC 重新集成了其特性,加入了SBR技術和PS技術,為了區別於傳統的 MPEG-2 AAC 又稱為 MPEG-4 AAC。

AAC格式的主要副檔名有三種:

  • AAC - 使用MPEG-2 Audio Transport Stream( ADTS,參見MPEG-2 )容器,區別於使用MPEG-4容器的MP4/M4A格式,屬於傳統的AAC編碼(FAAC預設的封裝,但FAAC亦可輸出 MPEG-4 封裝的AAC)
  • MP4 - 使用了MPEG-4 Part 14(第14部分)的簡化版即3GPP Media Release 6 Basic (3gp6,參見3GP ) 進行封裝的AAC編碼(Nero AAC 編碼器僅能輸出MPEG-4封裝的AAC);
  • M4A - 為了區別純音訊MP4檔案和包含視訊的MP4檔案而由蘋果(Apple)公司使用的副檔名,Apple iTunes 對純音訊MP4檔案採用了".M4A"命名。M4A的本質和音訊MP4相同,故音訊MP4檔案亦可直接更改副檔名為M4A。

  作為一種高壓縮比的音訊壓縮演算法,AAC壓縮比通常為18:1,也有資料說為20:1,遠勝mp3; 在音質方面,由於採用多聲道,和使用低複雜性的描述方式,使其比幾乎所有的傳統編碼方式在同規格的情況下更勝一籌。不過直到2006年, 使用這一格式儲存音樂的並不多,可以播放該格式的mp3播放器更是少之又少,目前所知僅有蘋果iPod、Sony Walkman(NWZ-A、NWZ-S、NWZ-E、NWZ-X系列)、任天堂NDSi。魅 族M8,此外計算機上很多音樂播放軟體都支援AAC(前提是安裝過AAC解碼器),如蘋果iTunes。但在行動電話領域,AAC的支援度已很普 遍,Nokia、Sony Ericsson、Motorola等品牌均在其中高階產品中支援 AAC(一開始主要是LC-AAC,隨著行動電話效能的發展,HE-AAC的支援也已廣泛)。

  AAC可以支援多達48個音軌,15個低頻(LFE)音軌,5.1多聲道支援,更高的取樣率(最高可達 96kHz,音訊CD為44.1kHz)和更高的取樣精度(支援8bit、16bit、24bit、32bit,音訊CD為 16bit)以及有多種語言的相容能力,更高的解碼效率,一般來說,AAC可以在對比MP3檔案縮小30%的前題下提供更好的音質。

  • 相對於傳統的LC-AAC,High Efficiency AAC(HE-AAC或寫為 AAC-HE)又稱為 "aacPlus v1" 或 "AAC+" - 結合了 SBR (Spectral Band Replication) and AAC技術;適用於低位元率(64kbps以下);
  • HE-AAC v2,又稱為 "aacPlus v2" - 結合了 Parametric Stereo(引數化立體 聲,PS)和 HE-AAC 中的SBR技術。

  因為"AAC"是一個大家族,他們共分為 9 種規格,以適應不同場合的需要,也正是由於 AAC 的規格(Profile)繁多,導致普通電腦使用者感覺十分困擾:

  1. MPEG-2 AAC LC 低複雜度規格(Low Complexity)
  2. MPEG-2 AAC Main 主規格
  3. MPEG-2 AAC SSR 可變取樣率規格(Scaleable Sample Rate)
  4. MPEG-4 AAC LC 低複雜度規格(Low Complexity),現在的手機比較常見的 MP4 檔案中的音訊部份就包括了該規格音訊檔案
  5. MPEG-4 AAC Main 主規格
  6. MPEG-4 AAC SSR 可變取樣率規格(Scaleable Sample Rate)
  7. MPEG-4 AAC LTP 長時期預測規格(Long Term Predicition)
  8. MPEG-4 AAC LD 低延遲規格(Low Delay)
  9. MPEG-4 AAC HE 高效率規格(High Efficiency)

  上述的規格中,主規格(Main)包含了除增益控制之外的全部功能,其音質最好,而低複雜度規格(LC)則是比較簡單,沒有了增益控制,但提高了 編碼效率,至‘SSR’對‘LC’規格大體是相同,但是多了增益的控制功能,另外,MPEG-4 AAC/LTP/LD/HE,都是用在低位元率下編碼,特別是‘HE’是有 Nero ACC 編碼器支援,是近來常用的一種編碼器,不過通常來說,Main 規格和 LC 規格的音質相差不大,因此目前使用最多的 AAC 規格多數是‘LC’規格,因為要考慮手機目前的儲存器能力未達合理水準。