MPEG-4 ALS
Audio Lossless Coding
MPEG-4 ALS (MPEG-4 Audio Lossless Coding) はMPEG-4オーディオ (MPEG-4 Part 3) の一部として規格化されたロスレス圧縮方式で、スタジオ編集などでも使える高音質のマルチチャネルオーディオ信号を扱うことができる。
MPEG-4 ALSは、インターネットでの音楽配信、携帯ミュージックプレーヤ、音楽アーカイブシステムやスタジオ編集などさまざまな用途への応用が考えられており、FFmpegなどさまざまなソフトウェアでサポートされている。
MPEG-4 ALSはMPEG-4オーディオで定義されたロスレスオーディオ符号化ツール (lossless audio coding tools) の1つで、MP3やAAC、Vorbisなどの非可逆圧縮方式と異なり、オリジナルのオーディオ信号をそのまま復元することができる。MPEG-4 ALSの規格はMPEG-4オーディオ (MPEG-4 Part 3) の一部としてISO/IEC 14496-3 Subpart 11で定義されている。
MPEG-4 ALSは、スタジオ編集にも使用できる量子化ビット数32ビット長のPCM信号を扱うことができ、CDより高いサンプリング周波数にも対応できる。また、5.1チャネル・7.2チャネル・22.2チャネルサラウンドを含むマルチチャネルのオーディオ入力を扱うことができる。
圧縮率は同じロスレス圧縮を行うFLACより優れており、またMonkey's AudioやOptimFROGと比べると同じ圧縮率での処理時間が短い。
MPEG-4 ALSのアルゴリズムはFLACやDirect Stream Transferなど他のロスレス圧縮と同様、線形予測とエントロピー符号化を組み合わせたものである。
MPEG-4 ALSの特徴は以下の通りで、柔軟性が高い。
量子化ビット数32ビットまでのPCMに対応、IEEE 754 32ビット浮動小数点形式も使用可
任意のサンプリング周波数(192 kHzで試験済、384 kHz以上の高サンプリング周波数にも対応可能)
マルチチャネル/マルチトラック対応、扱えるチャネル数は最大65536チャネル
対応可能な入力フォーマットはRaw、WAV、AIFF、BWF、Sony Wave64、BWF with RF64など
MPEG-4オーディオは多くのツールの組み合わせからなり、MPEG-4 ALSはオーディオ符号化ツール (audio coding tools) の1つであるロスレスオーディオ符号化ツール (lossless audio coding tools) に分類される。
同じカテゴリのツールとして、スーパーオーディオCDでのロスレス圧縮方式として使われているMPEG-4 DST (direct stream transfer) や、MPEG-4 AACなどの汎用オーディオ符号化ツール (general audio coding tools) と組み合わせて使うMPEG-4 SLS (scalable lossless coding) がある。それぞれは符号化方式が異なる。
MPEG-4 ALSの符号化処理は、フレーム/ブロック分割、短期予測(線形予測)、長期予測、マルチチャネル符号化、エントロピー符号化の5つの処理からなる。
線形予測や長期予測により情報の圧縮を行う考え方は、CELPなど音声符号化での基本的な考え方と変わらない。多くのロスレス圧縮では、何らかの形で予測可能な成分は少数の予測係数として表現し、予測できなかった残差部分をエントロピー符号化を使って効率よく符号化することで、元の信号が持つ情報を維持しながらデータの圧縮を行う。MPEG-4 ALSも同様の考え方にもとづく。
フレーム分割では入力信号を基本的な処理単位であるフレームに分割する。1フレームのサンプル数はサンプリング周波数により異なり、48 kHzでは2048サンプル、96 kHzでは4096サンプルで、おおよそ43 msの長さになる。オプションとして、変化の激しい信号を効率よく符号化するため、入力信号の内容に応じて1フレームを複数のブロックに分けることもできる。
続く短期予測では線形予測フィルターを用い、線形予測の残差信号を求める。フレーム内の各サンプル間には相関があるため過去のサンプル値からある程度予測ができる。線形予測はそのような信号を効率的に表現するための手法で、予測可能な成分を少数の線形予測係数で表現する。予測しきれなかった残差成分のみを別に符号化することで、情報の圧縮を行う。
線形予測係数はより量子化特性にすぐれたPARCOR係数(偏自己相関係数)に変換された後に量子化と符号化が行われる。
MPEG-4 ALSでの線形予測の次数は0(予測しない)から1023までで、入力信号の性質に応じて適応的に変化する。
多くの音楽には、楽器などの基本周波数(ピッチ周波数)によって決まる繰り返し成分やハーモニック成分が含まれている。長期予測 (Long-Term Prediction) を追加し、短期予測の残差成分に残るこのような繰り返し成分を係数化することで残差成分の振幅を減少させ、情報の圧縮を行うことができる。
長期予測の係数としては元の信号に対する複数の遅延時間と重み係数の組み合わせが使われる。残差について、過去のサンプル値から現在のサンプル値を最もよく近似できる遅延時間と重み係数の組み合わせが計算され、係数をゴロム・ライス符号で符号化する。
MPEG-4 ALSはマルチチャネルの信号を扱うことができ、チャネル間の相関を利用してさらに圧縮率の向上を行うことができる。
まず最初にチャネル間で最も相関の高い組合せ(親子関係)を探索する。続いて親チャネルの残差信号に対して、長期予測と同様の方法で複数の遅延時間と重み係数の組み合わせによる予測係数を求め、ゴロム・ライス符号で符号化する。
入力信号からさまざまな予測成分を取り除いた残差成分に対しエントロピー符号化を行う。
符号化方式として、比較的演算量が少ないライス符号と、より複雑だが圧縮効率が高いBGMC(Block Gilbert-Moore Code、ブロック ギルバート・ムーア符号)と呼ばれる方法のいずれかを選ぶことができる。
これらの符号は小さい振幅値に短いコードを割り当てるため、それまでのさまざまな予測により振幅が小さくなった残差信号を効率的に圧縮できる。
復号はこれらの処理を逆に行う。エントロピー符号化結果から残差信号を復元し、マルチチャネル符号化の各係数、長期予測の係数、線形予測係数により計算した予測成分を使って新しい残差成分を順次計算していくことで、1フレーム分の最終的なサンプル値を計算する。
符号化時の予測計算の方法と復号時の予測計算方法が同じであれば、符号化時の入力信号とまったく同じ信号を復号することができる。
MPEG-4 ALSはプロのミキシングなどに用いられるIEEE 754 32ビット浮動小数点形式の入力信号が扱える。浮動小数点形式で表現された信号は見た目のサンプル値が無相関になり圧縮がうまく行えず、また丸め誤差の扱いの違いにより入力信号と同じ信号を復号できない可能性があり、整数入力の場合と異なる手法が用いられる。
入力信号を整数部分と余りの誤差部分に分割し、整数部分については従来と同じ方法で符号化を行い、余りの部分は辞書式圧縮の一種のLempel-Ziv法を修正したマスクLempel-Ziv符号化と呼ばれる方法で圧縮する。
MPEG-4 ALSのリファレンス実装はベルリン工科大学のMPEG-4 ALSのウェブページで入手できる。また、ISO/IEC 14496-5:2001/Amd.10:2007でも定義されている。
MPEG-4 ALSをサポートしている代表的ソフトウェアとして、以下のものがある。
XMedia Recode
Winamp (Plugin)
2002年6月から始まったMoving Picture Experts Groupによるロスレスオーディオ符号化方式の提案要求に対し、2002年12月にベルリン工科大学(ドイツ)、NTT(日本)、リアルネットワークス社(アメリカ)、インフォコム研究所(シンガポール)、フラウンホーファーIIS(ドイツ)、マイクロソフト(アメリカ)、サムスン電子(韓国)の7社から基本要求を満たすコーデックの提案があり、圧縮効率、必要な演算量、柔軟性についての評価が行われた。提案には可逆圧縮のみを行う方式(その後のMPEG-4 ALS)と、非可逆/可逆圧縮のハイブリッド方式(その後のMPEG-4 SLS)とが含まれていた。
Moving Picture Experts Groupは両方の方式をサポートすることを決定し、2003年6月に可逆圧縮のみを行う方式として圧縮効率が優れていたベルリン工科大学の提案をリファレンスモデルとして採用した。これをベースとし、ベルリン工科大学、NTT、リアルネットワークス社、インフォコム研究所が協力して圧縮性能や柔軟性の向上と演算量の低減を行い、現在のMPEG-4 ALSの最終案を2005年12月にまとめ、最初の規格ISO/IEC 14496-3:2005/Amd 2:2006が2006年3月に出版された。