AAC (Advanced Audio Coding)

Related Post

> コーデック (CODEC) > 音声コーデック > AAC (Advanced Audio Coding)

 

AACAdvanced Audio Coding, 先進的音響符号化)とは1997年ISO/IEC JTC 1Moving Picture Experts Group (MPEG) において規格化された音声圧縮方式のことである。

【概要】

MP3等のMPEG-1 Audioや、MPEG-2 Audio BC (Backward Compatible) を超える高音質・高圧縮を目的に標準化された方式である。

MPEG-2 Audio BCとは異なり、符号化アルゴリズムにおいてMPEG-1 Audioとの互換性はない。ファイルに格納した場合の拡張子は、「*.mov,*.mp4,*m2ts,*.m4a,*.m4b,*.m4p,*.3gp,*.3g2」または「*.aac」。なお、放送ではADTS (Audio Data Transport Stream) と呼ばれるヘッダ形式で伝送されることが多い。サンプリング周波数はMP3が最大48kHzまでだったのに対し、AACは最大96kHzまで対応している。

【種類】

MPEG-2 AACMPEG-4 AAC

AACにはMPEG-2 AAC (ISO/IEC 13818-7) とMPEG-4 AAC (ISO/IEC 14496-3, Subpart 4) とが存在する。MPEG-4 AACは、MPEG-2 AACにPNSやLTPといったツールを利用可能としたものであるが、基本的なアルゴリズム自体に違いはなく、追加技術を使用しなければヘッダの一部分が1ビット異なるだけであり、通常の使用では区別する必要はほとんどない。

PNS

PNS (Perceptual Noise Substitution) は、エンコード時に低減されたノイズを復元するツールである。

LTP

LTP (Long Term Prediction) は、低周波領域の波形を復元するツールである。

【AACプロファイルと追加技術】

プロファイル

AACにも拡張機能が使用可能かどうかによって幾つかの種類があるが、一般的に利用されているのはAAC-LC (AAC Low Complexity) と呼ばれる基本機能だけを用いるものである。

  • MPEG-2/4 AAC Main

メインのAACとして開発された。AAC-LCと比べると、圧縮率は高く再生負荷が大きい。

  • MPEG-2/4 AAC-LC (Low Complexity)

AAC Mainから後方予測 (backward prediction) の機能を除いた方式。

  • MPEG-2/4 AAC SSR (Scalable Sample Rate)

周波数によって4つのブロックに分解し、それぞれを符号化する方式。

さらにMPEG-4 AAC-LTP(後述)をプロファイルに数える場合がある。

【追加技術】

MPEG-4 AAC v3においては、SBR (Spectral Band Replication) やパラメトリックステレオ (Parametric Stereo) 技術によって64 kbpsを下回るような超低ビットレートにおける品質を改善するHE-AAC (High-Efficiency AAC) が追加承認されている (AAC-LC, HE-AAC (aacPlus, AAC+SBR), HE-AAC Version 2 (aacPlus Version 2, Enhanced aacPlus, AAC+SBR+PS))。

  • MPEG-2/4 HE-AAC (High-Efficiency AAC)

AAC-LC + SBR。SBRは高周波域の波形を補完するツールである。SBRを利用することで低ビットレートでも中~高音質の再生を可能としている。

  • MPEG-2/4 HE-AAC v2

AAC-LC + SBR + PS。PS (Parametric Stereo) はモノラルの音声を擬似的にステレオに復元するツールである。HE-AACよりもさらに低ビットレートで中~高音質の再生を行えるようにする。

  • MPEG-4 AAC-LTP

AAC Main + LTP。LTP自体はすべてのMPEG-4 AACに付加することが可能。

  • MPEG-4 AAC-LD (Low Delay)

エンコードなどによる延滞時間を減少させたAAC。テレビ電話などで使用することを目的としている。

  • MPEG-4 AAC-ELD (Enhanced Low Delay) / AAC-ELD v2

AAC-LDを改良した方式。

【利用状況】

MPEG-2 AACは主に日本のBSデジタル放送地上デジタル波放送ISDB規格やSD-AudioのAACフォーマット、ヨーロッパ圏のDVDなどで利用できる。北米や日本のDVDでは、AACではなくAC-3DTSが採用されている。

MPEG-4 AACはウォークマンなどのデジタルオーディオプレーヤーPlayStation PortableDSiなどのゲーム機、携帯電話等、多くの機器やソフトウェアがサポートしている。また、第三世代携帯電話用の動画フォーマットである3GPP3GPP2音声圧縮方式としても採用されている。

音楽配信サービスでは、パソコン、iPod向けのiTunes Storeや携帯電話向けの着うたでAACが採用されている。ただし、これらのファイルの一部にはDRMが導入され、同じAACであるが互換性がないものがある[1]。AACはiPodおよびiTunes(標準でAACを使用する)の普及とともに次第にシェアを拡大している[独自研究?]。そのため以前はAACに対応していなかったソニーやパナソニックケンウッド(現・JVCケンウッド)などのデジタルオーディオプレーヤーも現在ではAACに対応している。

【符号化アルゴリズム】

AAC (AAC-LC) の符号化処理は以下の流れで行われる。

  1. MDCTによる直交変換

入力は窓長 2048 もしくは 256 のMDCTを用いてそれぞれ 1024 点 (long block)、128 点 (short block) の周波数領域のデータに変換される。MP3が一旦時間領域のフィルタで 32 サブバンドに分割した後にMDCTを行っていたのに対し、AACでは入力サンプルに対してそのままMDCTが行われる。

変換長は、入力信号の性質によって切り替えられる(アタック音など時間領域で急峻な変化を見せる信号にはshort blockが使われる)。long blockが576点相当(32 サブバンド × 18 点)、short blockが 192 点相当(32 サブバンド × 6 点)であったMP3と比較してlong blockをより長くすることで周波数解像度の向上による符号化効率の改善がshort blockをより短くする事で時間解像度の向上によるプリエコー抑制力の改善がなされている。

  1. TNS

周波数領域の信号を、時間軸のものと見なした線形予測を行う。

周波数領域でのARモデル化は時間領域でのノイズ特性を持ち、人間の聴覚の持つ継時マスキング特性を再現するのに都合が良い。

この処理は省く事ができる。

  1. ステレオ・コーディング

入力信号がステレオの場合は、ステレオ特有の性質を利用した符号化が行われる。

なおステレオ・コーディングはサブバンド毎に利用しなかったり、どちらか片方だけを利用したりすることができる。両方同時に使用することはできない。

    1. インテンシティ・ステレオ

左右の信号を、単一の信号と定位情報のみに削減して符号化する。

    1. MSステレオ

左右の信号を和/差信号とする。

  1. 量子化

聴覚心理モデルで決定した許容量子化雑音エネルギーと量子化雑音エネルギーが比例するようにスケールファクタ・バンド(近い周波数のMDCT係数をまとめたグループ)毎に量子化を行う。long blockのスケールファクタ・バンドの数は49 (44.1kHz) であり、21 であったMP3と比較して細かい制御が可能になっている。

  1. ハフマン符号

量子化された値を固定ハフマン符号化する。符号帳は 11 種類の中からサブバンド毎に選択される。

【コンテナ対応】

【備考】

AACはドルビーラボラトリーズも共同開発の一員で、AACロゴはドルビーラボラトリーズの登録商標である(日本国特許庁商標登録番号:第4693750号)。AACにはドルビーのほかAT&TFraunhofer IISソニーノキアの特許技術が使用されている[1]ためソフトウェアメーカーなどから納付されたライセンス料はこれらの企業に分配されている。また、ライセンス管理はドルビーの子会社Via Licensingが行っている。

なおMPEG-4 AACが含まれるMPEG-4 AudioのカテゴリにはNTTサイバースペース研究所が開発したTwinVQが存在するが、これはAACとは別物である。

【利用例】

AACやHE-AACは下記に採用されており、実際に利用されている。