AAC
AAC(Advanced Audio Coding)は、MPEGで標準化された非可逆音声符号化方式である。音楽配信、動画、放送、モバイル機器、streamingなどで広く用いられる。
AACはcodecであり、AACという名称だけではファイルcontainerや拡張子は一意に決まらない。AAC bitstreamは.aacとして保存される場合も、MP4/M4A等のcontainerへ格納される場合もある。
標準化
AACはMPEG-2 Part 7として標準化され、その後MPEG-4 Audioへ拡張された。
MPEGの技術解説はAACをmono、stereo、multichannel music等のstorage/transmission向けwideband perceptual audio coding algorithmとして説明している。[1]
Library of CongressはMPEG-4 AACをISO/IEC 14496-3に属するaudio encodingとして整理している。[2]
非可逆圧縮
AACは非可逆圧縮codecである。
人間の聴覚モデルを利用し、量子化ノイズが知覚されにくいようbit allocationを行う。
MPEGはAACのcoding gainを、
- high-resolution transform
- auditory modelによるirrelevancy reduction
- entropy coding
などによって得ると説明している。[3]
MPEG-2 AAC と MPEG-4 AAC
AACにはMPEG-2 AACとMPEG-4 AACの系統がある。
MPEG-4 AACはMPEG-2 AACを基礎に追加toolを含む。
そのため「AAC」は一つの固定bitstreamだけを意味せず、profile/object typeによって機能が異なる。
AAC-LC
AAC-LC(Low Complexity)は一般的な音楽配信やファイル保存で広く使われるAAC profile/object typeの一つである。
高品質音楽用途で基本となるAAC実装として扱われることが多い。
HE-AAC
HE-AACは低bitrateでの効率を高めるため、AAC-LCを基礎にSBR等を組み合わせる。
さらにHE-AAC v2ではParametric Stereoが利用される構成がある。
低bitrate streamingやbroadcast等で使われる。
ADTS
AAC bitstreamはADTS(Audio Data Transport Stream)として保存・伝送される場合がある。
AppleのAudio ToolboxにもAAC ADTS file typeが独立して定義されている。[4]
ADIF
MPEG-2 AACではADIF(Audio Data Interchange Format)も定義された。
Library of CongressはADIFを短いheaderに続いてAAC data blockを格納する構造として説明している。[5]
M4Aとの関係
M4AはAACそのものの別名ではない。
AppleのLogic ProではM4A fileのencodingとしてAACとApple Lossless(ALAC)の両方を選択できる。[6]
したがって、
- AAC = audio codec
- M4A = audio file type / extension
と分けて理解する。
MP3との関係
MP3も非可逆知覚符号化codecである。
AACはMP3より後に設計され、より柔軟なtoolやmultichannel supportを含む。
ただし実際の音質比較はbitrate、encoder、profile、contentに依存する。
ビットレート
AACではCBRやVBRが利用される。
Apple Logic ProではAAC M4A exportでbitrateやVBRを選択できる。[7]
metadata
AAC bitstreamそのものとmetadata/containerは分けて考える必要がある。
M4A/MP4に格納されたAACでは、container側のmetadata機能を利用できる。
raw ADTS/ADIFとの扱いは異なる。
DAWでの利用
AACは、
- compressed mix export
- video audio
- streaming delivery
- mobile distribution
- reference copy
などに使われる。
編集途中のmasterとしてはWAV/AIFF/FLAC等を保持し、AACはdelivery段階で作ることが多い。