MPEG-4 Part 3

MPEG-4 Part 3（エムペグフォー パート 3）は Moving Picture Experts Group（MPEG）が規格化した国際標準である MPEG-4 の第3部で、オーディオ符号化方式が定義されている。一般的にはMPEG-4オーディオ（MPEG-4 Audio）の名称で呼ばれ、JISではMPEG-4音響の訳語が使われる 。 MPEG-4オーディオの規格は ISO/IEC 14496-3 で定義され 、 最初の規格は1999年に発行された 。 ISO/IEC 14496-3 の翻訳として JIS X 4332-3（"音響映像オブジェクトの符号化—第3部：音響"）がある。 MPEG-4オーディオは多くのオーディオ符号化方式を集めたもので、音声や音楽、自然な音や合成した音など様々な信号を扱うことができ、非常に低いビットレートから全く劣化の無い高ビットレートまで広い範囲のビットレートと音質での符号化方式をサポートしている。広く知られている MPEG-4 AAC の他に、ロスレス圧縮を行う MPEG-4 ALS や MPEG-4 SLS、MPEG-4 CELP、TwinVQ、HVXC（Harmonic Vector eXcitation Coding）、HILN（Harmonic and Individual Lines plus Noise）、TTSI（Text To Speech Interface）など様々な符号化技術が規格化されている。 MPEG-4 は、それ以前の様々な規格と異なり特定のアプリケーションをターゲットとしたものではなく、蓄積、インターネット通信、携帯電話、テレビ電話、デジタル放送など全てのアプリケーションで使えることを目的としている。MPEG-4オーディオは性質の異なるツールの組み合わせからなり、アプリケーションの内容に応じて組み合わせて使えるようになっている。 ISO/IEC の Moving Picture Experts Group によるオーディオ符号化標準の制定作業は1988年から始まり 、 ビデオCDなどの蓄積系メディアを対象とした MPEG-1 、放送・通信・映画などでの高音質オーディオを対象とした MPEG-2オーディオなどが規格化された。 MPEG-4 は元々モバイル機器向けの超低ビットレートの符号化規格として1993年夏に制定作業が始まった 。 その後対象とする範囲が拡大され、将来の様々なアプリケーションに対応可能な一般的な符号化標準になった。 以前の規格である MPEG-1 や MPEG-2オーディオとの考え方の違いは以下の通りである。 保存、転送、多重化の形式の定義 低ビットレート符号化のサポート 複数のツールの組み合わせによるオブジェクトベースの符号化 合成音（音声/音楽）のサポート 誤り耐性の機能 スケーラビリティの機能 以前の規格は符号化方式のみを定義していたが、MPEG-4 ではファイル形式や複数のデータの多重化形式を定義している。 また、モバイル機器などのため、超低ビットレートの符号化（2 kbps～ の音声符号化、4 kbps～ の音楽符号化）や誤り耐性の機能がサポートされている。テキストベースの情報から音声や音楽を合成する合成音の機能を用いればさらに低いビットレートを実現できる。 さらに、要求される QoS に応じ複数のビットレートでデータを取り出せるスケーラビリティ機能がある。 異なった要素技術はオーディオオブジェクトとして組み合わせて使うことができ、様々なアプリケーションの要求に応じられる柔軟性を持つ。 MPEG-4オーディオは、様々なアプリケーションに対応するため、異なった多くの要素技術（ツール）から構成されている。 ツールは大きく分けて、人間の音声のみを扱う音声符号化ツールと、音楽など一般的なオーディオ信号の非可逆圧縮を行うオーディオ符号化ツール、ロスレス圧縮を行うロスレスオーディオ符号化ツール、再生側で音楽合成を行うの合成ツール、及びそれ以外の各種ツールに分類できる。 音声符号化ツール（Speech coding tools） 自然音声符号化ツール（Natural speech coding）- 人間の音声を扱うツール MPEG-4 HVXC（Harmonic Vector eXcitation Coding） MPEG-4 CELP（Code Excited Linear Prediction） 音声合成インタフェース（Text-to-speech interface、TTSI） MPEG-4 Hybrid/Multi-Level Scalable TTS Interface オーディオ符号化ツール（Audio coding tools）- オーディオ信号の非可逆圧縮ツール 汎用オーディオ符号化ツール（General Audio coding tools）- MPEG-4 AAC など MPEG-4 AAC（Advanced Audio Coding） TwinVQ MPEG-4 low delay MPEG-4 BSAC（Bit Sliced Arithmetic Coding） MPEG-4 SBR（Spectral Band Replication、スペクトル帯域複製） パラメトリックオーディオ符号化ツール（Parametric audio coding tools）- 音楽などをパラメータ化して表現 MPEG-4 HILN（Harmonic and Individual Lines plus Noise） MPEG-4 SSC（SinuSoidal Coding） ロスレスオーディオ符号化ツール（Lossless audio coding tools）- オーディオ信号のロスレス圧縮ツール MPEG-4 DST（Direct Stream Transfer） MPEG-4 ALS（Audio Lossless Coding） MPEG-4 SLS（Scalable Lossless Coding） 合成ツール（Synthesis tools）- 再生側で音楽を合成するツール MPEG-4 Structured Audio（SA） コンポジションツール（Composition tools）- 各種オーディオオブジェクトを組み合わせるツール スケーラビリティツール（Scalability tools）- ビットレート拡張性のためのツール アップストリーム（Upstream）- ストリーミングでのビットレートと音質の制御ツール 誤り耐性機能（Error robustness facilities）- 誤り耐性を持たせるための各種ツール MPEG-4オーディオは対象とする範囲が広く使用できるツールも多い。また符号化の際に選択できるパラメータの範囲も広い。特定のシステムのために全ての機能を含めるのはコストなどを考えると現実的ではないため、MPEG-4オーディオでは標準的な組み合わせがオーディオプロファイルとしてあらかじめ用意されている。 ツールの仕様はMPEG-4オーディオの各サブパート（Subpart）で定義されている。 MPEG-4オーディオの規格は以下のサブパートからなる。 Subpart 1 : メイン Subpart 2 : 音声符号化（Speech coding）- HVXC Subpart 3 : 音声符号化（Speech coding）- CELP Subpart 4 : 汎用オーディオ符号化（General Audio coding）- AAC, TwinVQ, BSAC Subpart 5 : Structured Audio（SA） Subpart 6 : 音声合成インタフェース（Text-to-speech interface、TTSI） Subpart 7 : パラメトリックオーディオ符号化（Parametric Audio Coding）- HILN Subpart 8 : 高音質オーディオ用パラメトリック符号化の技術的な説明 Subpart 9 : MPEG-4 での MPEG-1/MPEG-2 オーディオ Subpart 10: オーバーサンプルされたオーディオでのロスレス符号化の技術的な説明（MPEG-4 DST） Subpart 11: Audio Lossless Coding Subpart 12: Scalable Lossless Coding MPEG-4オーディオ標準のエディションは以下の通り。MPEG-4オーディオの仕様は固定したものではなく市場のニーズなどに応じて拡張されている。追加仕様は各エディションに対する追補（Amendment）として発行され、多くは次のエディションで本来の仕様と統合される。 第1版は仕様の確定が目標とする期日に間に合わなかったためバージョン 1/2 の2回に分けて発行され、翌年に第2版として統合された 。 音楽などの一般的なオーディオ信号と比べると人間の音声は声帯や声道の特性によって決まる固有の波形を持つため、音声固有の符号化方式を用いることで音楽より高い圧縮率での符号化ができる。 MPEG-4 での音声符号化ツールとして、人間の自然な音声の圧縮と復号を行う自然音声符号化ツールと、さらに低ビットレートで音声を表現可能な音声合成インタフェースが用意されている。 MPEG-4 の自然音声符号化ツールはデジタル放送、携帯電話、インターネット電話、音声データベースなどの用途に使用できる。 電話品質の音声を 音声を 2 ～ 24 kbps のビットレートで符号化でき、可変ビットレートの場合は 2 kbps 以下、例えば 1.2 kbps 程度の平均ビットレートでの符号化も可能である。 MPEG-4 HVXC は 2 ～ 4 kbps の超低ビットレートをカバーし、復号時に音声の速度とピッチ（音声の基本周波数）とを独立して変更することができる。 MPEG-4 CELP は2種類のサンプリング周波数（8 kHz, 16 kHz）と 4 ～ 24 kbps のビットレートをカバーする。ビットレート拡張性があり、同じ符号化結果から音質と帯域幅が異なる様々なビットレートの情報を取り出すことができる 。 MPEG-4 では音声合成の共通インタフェースが定義されている。音声合成の具体的なアルゴリズムは定義しない。 基本となるインタフェース標準では、国際音声記号（International Phonetic Alphabet、IPA）の形式や、任意の言語でのテキスト形式で音声の情報を指定する。 MPEG-4 Hybrid/Multi-Level Scalable TTS Interface は基本インタフェースを拡張したもので、抑揚などの韻律情報も指定でき、より自然な音声が合成できる。ビットストリームは階層構造になっており、階層が増えるに従って韻律情報も増える。 汎用オーディオ符号化で使われる MPEG-4 AAC は MPEG-2 AAC（ISO/IEC 13818-7）をベースに拡張を行ったもので、音楽などのオーディオ信号を効率よく符号化でき、モノラル、ステレオ、マルチチャネルの信号を扱うことができる。6 kbps 以上のビットレートでの符号化を行い、1チャネルあたり 64 kbps 以上では、欧州放送連合（EBU）が定義する厳しい条件下の試験で「（原音と）区別できない音質」の基準を満たしている。 MPEG-2 AAC で標準化された AAC Main、AAC LC、AAC SSR の各方式に加え、MPEG-4 AAC では低ビットレート符号化のための TwinVQ、リアルタイム通信などの用途向けに符号化遅延を小さくした AAC LD（Low Delay）、ビットストリームを階層化してビットレート拡張性を持たせる BSAC、高域成分をパラメータ化して情報圧縮を行う SBR（Spectral Band Replication）ツールなど多くの機能拡張が行われた。 AAC（Advanced Audio Coding）の基本となる方式として以下のものがある。これらは MPEG-2 の AAC プロファイルをベースとしている。 AAC Main 高音質の AAC 方式。AAC LC の機能を含み、AAC LC より演算量が多い。 AAC LC（Low Complexity） AAC Main から後方予測（backward prediction）の機能を除いた方式。同じビットレートでの音質は AAC Main より劣るが演算量が少なく伝送誤りに強い。 AAC SSR（Scalable Sample Rate） 周波数帯域の拡張性を持たせるため、4 帯域の帯域分割フィルターを使い帯域ごとに符号化を行う方式。同じビットストリームから帯域の異なる復号結果を得ることができ、用途に応じて演算量の調節ができる。 大まかには、AAC は音楽などの入力信号を MDCT を用いて周波数領域の係数に変換して長期予測などの処理を行い、聴覚心理学上の特性を考慮しながら帯域ごとに正規化と量子化を行った後にハフマン符号で符号化する。復号はこの逆の操作を行う。 MPEG-4オーディオでは、量子化と符号化の方式として TwinVQ や BSAC（Bit-Sliced Arithmetic Coding）を使う方式も選択できる。また高域成分やステレオ信号を少数のパラメータで符号化し大幅な情報の圧縮を行う HE-AAC プロファイルもある。 TwinVQ（Transform-domain Weighted Interleave Vector Quantization、変換領域重み付けインターリーブベクトル量子化）はベクトル量子化の一種で、MPEG-4 では汎用オーディオ符号化での量子化と符号化の方式として用いられる。 符号長が固定なため通信エラーに比較的強く、圧縮率を状況に応じて変えることができ 、AAC が不得意な低いビットレート（6 kbps ～）での音質が比較的優れている。 BSAC（Bit-Sliced Arithmetic Coding）は、ビットストリームを階層化しビットレート拡張性を持たせるための技術で、AAC のハフマン符号の代わりに用いられる。チャネル当たり 1 kbps の細かいステップのビットレート拡張性が得られる。 BSAC では、AACと同様の方法で求めた量子化後の周波数領域の係数のまとまりを、上位ビットから順に階層的にまとめ各階層のビットプレーンごとにエントロピー符号化を行う。エントロピー符号化の方式には算術符号（Arithmetic Code）を用いる。 階層が増えるに従って下位のビット情報が追加されてデータの欠落が少なくなり、より高品質の復号結果を得ることができる。 ビットレートを、ネットワーク状況などの環境に応じて細かい単位でダイナミックに変えることができるため、リアルタイムでの QoS 制御などを実現できる。 BSAC は DMB（Digital Multimedia Broadcasting）で使用されている。 AAC LD（Low Delay）は符号化遅延を抑えた方式で、通信などリアルタイムで符号化と復号が必要な用途に用いられる。アルゴリズムから決まる符号化遅延はサンプリング周波数 48 KHz の場合で 20ms 以下である。 AAC での符号化の単位であるフレーム長を短くするなどの変更を加え、圧縮率の低下と引き換えに符号化遅延を小さくする。 AAC LC をコアに SBR（Spectral Band Replication、スペクトル帯域複製）ツールを組み合わせて圧縮効率を向上させたプロファイルを HE-AAC（High-Efficiency Advanced Audio Coding）、さらに PS（Parametric Stereo）ツールも組み合わせたものを HE-AAC v2 と呼ぶ 。 HE-AAC は aacPlus や AAC+、HE-AAC v2 は aacPlus v2 や eAAC+ の商標名で呼ばれることもある。 SBR は、入力信号の低域成分と高域成分の相関を利用し、高域成分をスペクトル情報など情報を復元するためのわずかな制御情報のみでパラメータ化し、復号時に低域成分の情報から予測復元することで情報の圧縮を行う。 PS は、ステレオ信号について同様の考え方を用いるものである。ステレオ信号の左右チャネルの相関を利用し、左右の両チャネルを足し合わせたモノラル信号とステレオの空間情報をパラメータ化したサイド情報に分けて符号化を行い、復号時はモノラル信号とサイド情報とから両チャネルの信号を復元する。サイド情報は高音質の場合でも 9 kbps 程度で、左右チャネルをそのまま符号化するのに比べ圧縮効率が高くなる。 両方式とも元の信号と物理的に同じものを復元するのではないが、音響心理学的に自然な復元を行うことができ、大幅な情報の圧縮ができる。 また、HE-AAC をサポートしていないコーデックでも、AAC LC で符号化されたコア部分のみはデコード可能である。 欧州放送連合が実施した MUSHRA 法による試験では、HE-AAC で符号化された 48 kbps ステレオ信号の評価は 80点 で、 同じビットレートの AAC や mp3PRO より音質が高かった。 また、Moving Picture Experts Group による HE-AAC と HE-AAC v2 の MUSHRA 法による比較試験では、24 kbps の HE-AAC v2 は同じビットレートの HE-AAC よりはるかに優れており、32 kbps の HE-AAC と同等か優れた評価だった。 パラメトリックオーディオ符号化ツールは、音楽などをパラメータ化し低ビットレートで符号化する方式で、4 kbps～程度の低いビットレートを受け持つ MPEG-4 HILN（Harmonic and Individual Lines plus Noise） や、高音質の音楽を対象とする MPEG-4 SSC（SinuSoidal Coding） が含まれる。 HE-AAC v2 で使われる PS（Parametric Stereo、パラメトリックステレオ）も MPEG-4 SSC を構成するツールの1つである 。 MPEG-4 HILN は、音楽を複数の正弦波とノイズの組み合わせでパラメータ化する方式で、AAC よりさらに低いビットレートで音楽の符号化を行う。周波数や振幅のパラメータを変換・補間することで、復号時に音楽の速度とピッチとを独立して変更できる特徴がある。 MPEG-4 SSC（SinuSoidal Coding）は MPEG-4 HILN と比べると広帯域で高音質のオーディオ向けの符号化方式で、トランジェントツール（Transient tool）、正弦波ツール（Sinusoidal tool）、ノイズツール（Noise tool）、パラメトリックステレオ符号化ツール（Parametric Stereo coding tool）の 4 つのツールから構成される。トランジェントツールは音が大きく変わる部分をパラメータ化する。正弦波ツールは比較的定常的な部分を周波数、位相、振幅がゆっくりと変化する正弦波の組み合わせでパラメータ化する。ノイズツールは正弦波ツールで表現しきれない成分を特定の時間的エンベロープとスペクトルエンベロープを持つノイズとして表現する。パラメトリックステレオ符号化ツールはステレオ信号用で、ステレオ信号をモノラル成分と左右チャネルの違いを表す少数のパラメータで表現する。左右チャネルの違いを表すパラメータとして、フィルターで分割した各周波数領域でのチャネル間の強度差、位相差、相互相関を用いる 。 Structured Audio（構造化オーディオ）はデコーダー側で音楽やサウンドエフェクトを合成するツールで、非常に表現力の高い音楽を 2～3 kbps 以下のビットレートで符号化することができる。 Structured Audio は特定の合成方法を定義するのではなく、合成方法を記述するための言語を定義する。 Structured Audio は以下の要素を含む 。 SAOL（Structured Audio Orchestra Language） 合成と制御のアルゴリズムを記述するためのデジタル信号処理言語。シンタックスはC言語に近い。楽器やオーディオエフェクトを定義しそれらの関係を記述。 SASL（Structured Audio Score Language） 単純な楽譜と制御のための言語。実際に音を生成するために SAOLで定義されたアルゴリズムの使い方を記述する。楽譜に相当する。 SASBF（Structured Audio Sample Bank Format） ウェーブテーブル合成で使用する波形テーブルの集まりを記述するフォーマット。 MIDI SASL の代わり、あるいは SASL と組み合わせてGeneral MIDIを使用できる。 実際の音の生成方法として、以下の方法が指定できる。 General MIDI - MPEG-4 のビットストリームやファイル内で General MIDI を使用 ウェーブテーブル合成 - SASBF で記述された波形テーブルにより任意の音を生成 アルゴリズム合成（Algorithmic Synthesis）- SAOL でアルゴリズムを記述することでユーザ定義の合成と制御が可能 オーディオエフェクト - SAOL でアルゴリズムを記述することで合成音/自然音に対するオーディオエフェクトを実現 汎用構造化オーディオ（Generalized Structured Audio）- SAOL によるアルゴリズム記述により様々なデコーダーのエミュレーションが可能 汎用オーディオ符号化やパラメトリックオーディオ符号化はオーディオ信号の非可逆圧縮を行うため、圧縮率は高いが元の信号と全く同じ信号を復元することはできない。マスタリング等、完全性が要求される用途のために、ロスレス圧縮の仕様として以下がある。 MPEG-4 DST（Direct Stream Transfer） スーパーオーディオCDで使われるロスレス圧縮方式。オーバーサンプリングされた1ビットオーディオ信号を対象とする。 MPEG-4 ALS（Audio Lossless Coding） スタジオ編集などでも使える高音質のマルチチャネルオーディオ信号を扱うことができるロスレス圧縮方式。量子化ビット数32ビットまでの PCM に対応し、任意のサンプリング周波数や最大 65536 チャネルまでのマルチチャネル/マルチトラックが扱えるなど、柔軟性が高い。 MPEG-4 SLS（Scalable Lossless Coding） スケーラブルなロスレス圧縮方式。既存の非可逆圧縮方式である AAC をコアとして用い、既存の方式で符号化できなかった誤差信号を段階的に符号化することで、データの欠落が少なく音質の高いニアロスレス信号から、オリジナルのオーディオ信号とまったく同じロスレス信号まで、様々な音質の信号を同じ符号化結果から取り出すことができる。 MPEG-4オーディオでは複数の異なるツールを用いた符号化データを「オーディオオブジェクト」として組み合わせることができる 。最終的なサウンドトラックはそれらをミキシングして1つにまとめられる。オーディオオブジェクトを組み合わせるためのフレームワークとして、MPEG-4 BIFS（Binary Format for Scenes）のサブセットである AudioBIFS を用いる。 コンポジションツールを使うことにより、ミキシングの制御や異なるサンプリング周波数の調整を行うことができ、また信号処理ルーチンのダウンロードにより独自のデジタルフィルターによる処理や各種エフェクト（残響効果など）を加えることが可能である。 例えば、高音質の背景音楽とナレーションの組み合わせの場合、MPEG-2 以前の方式では音楽と音声とを合わせた1つのオーディオ信号を AAC などを使い高ビットレート（32 kbps/channel 以上）で符号化するしかないが、MPEG-4 ではオーディオ合成ツールである Structured Audio と音声符号化ツールの MPEG-4 CELP を用い、背景音楽を 2 kbps 程度、ナレーションを 16 kbps 程度に符号化しコンポジションツールで組み合わせることができる。 さらに音声のみに残響効果を加えたり、ユーザ操作によりバックグラウンドミュージックのみを消したりするなど、1つのトラックにまとめられている場合は難しい操作を容易に実現できる。 MPEG-4 は元々モバイル機器などデータ転送中に誤りが起こりやすい環境での利用を想定していたこともあり、誤り保護（Error Protection）のためのツールなどが用意されている。 誤りに対する影響の受けやすさは符号化ビットストリーム内で一様ではなく、どの部分にどの程度の保護を行うかは影響の受けやすさに依存する。誤り保護ツールでは UEP（Unequal Error Protection、不均一誤り保護）と呼ばれる以下のような方法で誤り保護を行う 。 符号化結果フレームを複数のサブフレームに分割 サブフレームを誤りに対する影響の受けやすさに応じてクラス分け クラスに応じた適切な誤り訂正符号（FEC）や CRC をサブフレームごとに付加 オーバヘッドを減らすため、複数のフレームの同じクラスは1つにまとめられる。 また最終的なフレームはバーストエラーによる影響を減らすためビットの並べ替え（インターリーブ）が行われた後に転送される。 また、これ以外に符号化方式ごとの誤り耐性ツールなども存在する。例えば、AAC 用として以下のツールが定義されている 。 Virtual CodeBooks tool（VCB11）- コードブックにより MDCT 係数の誤りを検出。 Reversible Variable Length Coding tool（RVLC、リバーシブル可変長符号）- 逆方向にも復号が可能な可変長符号。ハフマン符号の代わりに使用。 Huffman codeword reordering（HCR）- ハフマン符号化結果の並べ替えにより優先度の高い係数を固定位置に配置。 AAC で MDCT 係数の符号化に用いられるハフマン符号は出現確率の大きい値に短い符号を割り当てる。このため効率的な情報圧縮を行うことができるが、符号長が一定でないためどこかで誤りが発生するとそれ以降の全ての符号が正しく復号できない問題がある。 リバーシブル可変長符号は前後どちらの方向からでも復号できるため、フレームの先頭からだけでなく最後からも復号を行うことができ、誤りの影響範囲を減らすことができる。ハフマン符号化結果の並べ替え（HCR）も、固定位置に配置された優先度の高い係数は正しく復号でき、それ以外の係数も特定のアルゴリズムにより誤りの伝播の影響が少なくなるよう配置されるため、可変長符号による誤り伝播の影響を低減できる。 MPEG-4オーディオでのサウンドトラックは、様々なツールで作成されたオーディオオブジェクトの組み合わせとして表現でき、様々なアプリケーションに柔軟に対応できる。 オーディオオブジェクトには、それぞれタイプを表す ID が与えられる。 オーディオオブジェクトタイプ ID の一覧を以下に示す。 MPEG-4オーディオでは、様々なアプリケーションに対応できるよう、オーディオオブジェクトタイプの標準的な組み合わせがオーディオプロファイルとして定義されている。オーディオプロファイルには、必要とされる演算量に応じて最大サンプリング周波数などのパラメータが異なる複数のレベルが定義されているものもある。 MPEG-4 では、符号化と復号の方法だけではなく、符号化された複数のデータストリームから最終的な1つの基本ストリームにまとめる方法や保存を行う形式の仕様が定義されている。 MPEG-4 が対象とするアプリケーションの範囲は広く要求も様々なであるため、基本ストリームを転送する方法は定義せず、トランスポート層とのインタフェースが DMIF（Delivery Multimedia Interface Format）として ISO/IEC 14496-6 で標準化されている。 オブジェクトベースの符号化の必要が無いMPEG-4オーディオアプリケーション向けには、オーバヘッドの少ない LATM とそれを転送に用いる LOAS が定義されている。 トランスポート層の仕様の例としては、IETF が定義した RFC 3016（RTP Payload Format for MPEG-4 Audio/Visual Streams）、RFC 3640（RTP Payload Format for Transport of MPEG-4 Elementary Streams）、RFC 4281（The Codecs Parameter for "Bucket" Media Types）、RFC 4337（MIME Type Registration for MPEG-4）などがある。