High-Efficiency_Advanced_Audio_Coding

**進階音訊編碼**（英語：**A**dvanced **A**udio **C**oding，AAC）是有損音訊壓縮的專利數位音訊編碼標準，由 Fraunhofer IIS、杜比實驗室、貝爾實驗室、Sony、Nokia 等公司共同開發。出現於 1997 年，為一種基於 MPEG-2 的標準，2000 年，MPEG-4 標準在原本的基礎上加上了 PNS（Perceptual Noise Substitution）等技術，並提供了多種擴展工具。為了區別於傳統的 MPEG-2 AAC 又稱為 MPEG-4 AAC。其作為 MP3 的後繼者而被設計出來，在相同的位元速率之下，AAC 相較於 MP3 通常可以達到更好的聲音品質。

AAC 由國際標準化組織及國際電工委員會標準化為 MPEG-2 及 MPEG-4 規格的一部分。部分的 AAC、HE-AAC (AAC+) 為 MPEG-4 音訊的一部分，並且被採用在數位聲音廣播、世界數位廣播兩個數位廣播標準中以及 DVB-H、ATSC-M/H 兩個移動電視標準中。

AAC 支援包含一個串流中 48 個最高至 96 kHz 的全頻寬聲道，加上 16 個 120 Hz 的低頻聲道 (LFE)、不多於 16 個耦合聲道及資料串流。在 joint stereo 模式下，要使立體聲的品質達到可接受的程度僅需 96 kbps 的位元速率，若要達到 Hi-fi 則最少需要在可變位元速率下 128 kbps。

AAC 被 YouTube、iPhone、iPod、 iPad、 任天堂 DSi、任天堂 3DS、iTunes、DivX、PlayStation 3 和多款 Nokia 40 系列、Sony Ericsson 手機採用為預設的音訊編碼格式，並且被 PlayStation Vita、Wii、Sony Walkman MP3 系列及隨後的 Android、BlackBerry 等行動作業系統支援。

## 副檔名

**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。Sony Ericsson 於 2006 年後發表的手機原廠鈴聲幾乎都慢慢改為 M4A 檔案。

## 技術概覽

AAC 作為一種高壓縮比的音訊壓縮演算法，壓縮比通常為 18：1，也有資料說為 20：1；在音質方面，由於採用多聲道，和使用低複雜性的描述方式，使其比幾乎所有的傳統編碼方式在同規格的情況下更勝一籌。

AAC 是一種寬頻音訊編碼演算法，主要利用以下兩種編碼策略來大幅減少儲存高品質數位音訊所需要的資料量：

* 捨去與感知上無關的訊號成分
* 去除編碼後訊號的冗餘部分

實際的編碼流程包含以下步驟：

* 利用改進的離散餘弦變換 (MDCT) 將訊號由時域轉換至頻域：選取適當的時域取樣點數由濾波器組將其轉換至頻域
* 基於心理聲學將頻域訊號量化及編碼
* 加入內部的錯誤更正碼
* 儲存或傳輸訊號
* 為避免損壞的取樣點，對每影格使用模 N 的 Luhn 演算法作為校驗

在 MPEG-4 中並沒有定義一個單一的高效率壓縮流程，而是一組複雜的工具來達成從低編碼速率的語音編碼到高品質音訊壓縮、音樂合成等廣泛的操作。

* MPEG-4 音訊編碼演算法家族橫跨了從低位元速率的語音編碼 (最低至 2 kbps) 到高品質音訊編碼 (每聲道 64 kbps 或更高)
* AAC 提供了低至 8 kHz 高至 96 kHz 的多種取樣頻率、更高的位元深度 (8, 16, 24, 32 bit)，並且支援 1 到 48 之間的任何聲道數
* 相較於 MP3 使用的混和濾波器組，AAC 使用 MDCT 搭配增加至 1024 或 960 點的窗長度

AAC 編碼器可以動態的在單一的 1024 點 MDCT 區塊或 8 個 128 點區塊之間切換 (或 960 及 120 點)

* 在有暫態的訊號變化時，選擇使用 8 個較短的 128/120 點區塊以達到更好的時域解析度
* 在預設的情況下則使用較長的 1024/960 點區塊以增加頻域的解析度，因為如此可以運用更複雜的心理聲學模型來達成更好的編碼效率

## 相較於 MP3 的改進

AAC 是作為 MP3 的後繼者被設計出來，在 1990 年代後期的雙盲試驗中顯示在相同的位元速率下，AAC 比 MP3 表現出更好的聲音品質。

AAC 相較於 MP3 的改進包含：

* 更多的取樣頻率選擇 (8 kHz 至 96 kHz，MP3 為 16 kHz 至 48 kHz)
* 更高的聲道數上限 (48 個，MP3 在 MPEG-1 模式下為最多雙聲道，MPEG-2 模式下 5.1 聲道)
* 任意的位元速率和可變的影格長度
* 更高效率及更單純的濾波器組 (AAC 使用純粹的 MDCT，MP3 則使用較複雜的混和濾波器組)
* 對平穩的訊號有更高的編碼效率 (AAC 使用較長的 1024/960 點區塊長度，MP3 則為 576 點)
* 對暫態變化的訊號有更高的編碼準確度 (AAC 使用較短的 128/120 點區塊長度，MP3 則為 192 點)
* 可選擇使用凱澤窗函式，以較大的主瓣 (main lobe) 為代價，消除頻譜洩漏效應 (spectral leakage)
* 對於頻率在 16 kHz 的聲音訊號成分有更好的處理
* 有額外的模組如雜訊移頻 (noise shaping)、反向預測 (backward prediction)、感知上的雜訊替代 (perceptual noise substitution) 等，可結合這些模組建構出各種不同的編碼規格

整體而言，AAC 格式相較於 MP3 給予開發者在設計編碼上更大的彈性，並且修正許多在 MPEG-1 音訊規格上的設計選擇，這些增加的彈性使得更多的編碼策略可以同時存在，進而達成更高的壓縮效率。儘管如此，若要論及 AAC 是否比 MP3 好，AAC 並沒有完全的決定性的優勢，MP3 雖然較為古老且有相當的瑕疵，卻也被證實是意外的堅固耐用。在低位元速率的情況下 (通常低於 128 kbps)，AAC 及 HE-AAC 則因為更好的立體聲編碼、純粹的 MDCT 及更好的窗函式長度，優於 MP3，尤其在極低位元速率的情況下優勢更為顯著。

MP3 作為最早數年音樂開始在網路上傳播、分享所被使用的格式，擁有最為普遍的軟體及硬體支援，AAC 則由於一些產業界持續堅定的支援，成為 MP3 一個有力的競爭對手，另一個競爭對手是開源產業界支援的 IETF 標準開放格式 Opus (音訊格式)。

## 低位元速率規格

**高效 AAC**（**HE-AAC**，英語：**H**igh-**E**fficiency **AAC**）為有損數據壓縮技術，是對**進階音訊編碼**（AAC）的擴充。HE-AAC v1 使用頻段複製（SBR，英語：Spectral Band Replication）提高頻域的壓縮效率，適用於低位元速率（64kbps 以下）。HE-AAC v2 結合使用 SBR 和參數立體聲（PS，英語：Parametric Stereo）提高立體聲訊號的壓縮效率。HE-AAC v2 進一步降低了對位元速率的需求（接近於 50%），被應用於類似於 DAB 等位元速率資源很有限的領域。

HE-AAC 之另一常見名稱 **aacPlus**（aac+），為開發 SBR 之公司 Coding Technologies 的註冊商標。MPEG 組織於 2003 年五月將 aac + 納入 ISO／IEC 14496-3（MPEG-4 Part 3）。HE-AAC 適合於在低位元率（low bitrates）的應用，如：網路電台、數位電視等，其宣稱在 48kbps 的音質可以比 128kbps 的 MP3 還好，主要的競爭物件是無專利的 IETF 標準開放格式 Opus。

### 版本

HE-AAC 之不同版本：

## 規格一覽

因為 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 AAC 編碼器支援，是近來常用的一種編碼器，不過通常來說，Main 規格和 LC 規格的音質相差不大，因此目前使用最多的 AAC 規格多數是「LC」規格，因為要考慮手機目前的記憶體能力未達合理水準。

MPEG-4 AAC LC（Low Complexity）是最常用的規格，我們叫「低複雜度規格」，我們簡稱「LC-AAC」，這種規格在中等位元速率的編碼效率以及音質方面，都能找到平衡點。所謂中等位元速率，就是指：96kbps-192kbps 之間的位元速率。因此，如果要使用 LC-AAC 規格，請儘可能把位元速率控制在之前說的那個區間內。

## 編碼器一覽

由於 AAC 格式家族比較龐大，要瞭解他，首先要清楚其各有不同的編碼器，目前包括了商業的、免費的 AAC 格式音訊編碼器，其中幾個主要的編碼器如下：

* FhG：Fraunhofer IIS 研發的權威編碼器。
* Nero AAC：同時支援 LC-AAC / HE-AAC 規格，由 Nero 公司免費發佈的 Nero AAC 編碼器。
* QuickTime /iTunes：Apple 公司的兩款軟體都提供了 AAC 編碼功能，其編碼技術來自 "Dolby Laboratories"（簡寫為 Dolby Labs，杜比實驗室）。
* FAAC（Freeware Advanced Audio Coder）：也是一種很好的命令列編碼器，支援 LC/Main/LTP 規格，而這個軟體是免費的。FAAC 是自由軟體。
* DivX AAC：2009 年 DivX 開發出來的新 AAC 編碼器，支援 LC/HE/HEv2 規格。目前正在測試中。

另外還有 Psytel（已停止開發），Coding Technologies（已被杜比實驗室收購），HHI/z Plane（Compaact），Dolby AAC 等 AAC 編碼器，而其他如 Panasonic、Nokia、AT&T、NEC 等公司也都有獨家開發的編碼器，在大家弄清楚這些 AAC 格式音訊規格和編碼器之後，我們就不難知道為甚麼同一款手機會支援看起來都是 AAC 格式音訊的諸多檔案格式了，比如 Nokia 6230i 就是既支援 AAC 格式也支援 M4A 格式和 MP4 格式的機型，而這些音訊檔案格式其實都是屬於 AAC 家族成員。

目前聽到用的比較多的應該是 LC 和 HE（適合低位元速率）。

HE：「high efficiency」（高效性）。HE-AAC v1（又稱 AACPlusV1，SBR) 用容器的方法加了原 AAC（LC）+SBR 技術。SBR 其實代表的是 Spectral Band Replication（頻段複製）。簡單概括一下，音樂的主要頻譜集中在低頻段，高頻段幅度很小，如果對整個頻段編碼，要麼為了保護高頻造成低頻段編碼過細以致檔案巨大，要麼為了儲存了低頻的主要成分而失去高頻成分以致喪失音質。SBR 把頻譜切割開來，低頻單獨編碼儲存主要成分，高頻單獨放大編碼儲存音質，在相同音質下降低了檔案大小。

HEv2 (又稱為 HEPS) 它用容器的方法包含了 HE-AAC v1 和 PS 技術。PS 指「Parametric Stereo」（參數立體聲）。這個其實好理解，原來的立體聲檔案，檔案大小是一個聲道的兩倍。但是兩個聲道的聲音存在某種相似性，根據香農資訊熵編碼定理，相關性應該被去掉才能減小檔案大小。所以 PS 技術儲存了一個聲道的全部資訊，然後，花很少的位元組用參數描述另一個聲道和它不同的地方。

## 許可和專利

使用者不需要許可或付款來串流傳輸或分發 AAC 格式的內容。這個原因可以使 AAC 比照其前身的 MP3 一樣，特別是根據適用於流媒體（如網際網路廣播）分發內容成為更有吸引力的格式。

然而，AAC 編解碼器的所有製造商或開發商都需要專利許可。 因此，FFmpeg 和 FAAC 等自由開放原始碼軟體的實現可能僅以原始碼形式分發，以避免專利侵權。

## 參考文獻

## 外部連結

* 蘋果電腦 MPEG-4 AAC
* AAC EE Times 文章
* Fraunhofer MPEG-2 AAC 資訊
* AAC Licensing
* Open Source AAC codec （頁面存檔備份，存於網際網路檔案館） FAAC（編碼器）與 FAAD2（解碼器）
* Roberto's public listening tests - blind, controlled listening tests of lossy compression formats including AAC
* MPEG-4 HE-AAC v2—audio coding for today's digital media world，article in the EBU technical review（01/2006）giving explanations on HE-AAC.
* Coding Technologies 的 aacPlus 介紹