前回はMPEG-4がいわば“カフェテリアのトレイ”となっている構造について簡単ながら説明した。今回は動画や音声などを実際に再生するために必要な概念である「トレイ」について解説する。
MPEG-4を語るときに欠かせない概念が「コンテナ」(MP4コンテナ、以下「MP4」と省略)だ。この概念はAVIやQuickTimeなど、他のマルチメディア系ファイルフォーマットにも利用されているが、MPEG-4の場合はコーデックの選択肢が多いだけでなく、DVDサブピクチャなどの動画/音声以外のデータもこのコンテナに格納できる。ISO 14496-14として標準化された国際規格であり、通常はMPEG-4準拠のソフトウェアで"生成"される。
MP4コンテナに格納できるデータ | |
---|---|
ビデオ | MPEG-1、MPEG-2、MPEG-4 ASP、MPEG-4 AVC(H.264) |
オーディオ | MPEG-1 Layer I/II/III、MPEG-2、AAC、ALAC、AMR、CELP&TwinVQ、ALS |
ソフトサブ | JPEG、PNG、3GPテキスト |
その他 | udta atom(アルバムアートなど各種のメタ情報) |
作成や変換という言葉を使わなかったのは、前回説明したように、MP4は単独のファイルフォーマットと言うより"トレイ"に近いためだ。そこに載るコンテンツは別途用意することが前提で、動画や音声などのデータストリームは、それぞれ専門のソフトウェア(エンコーダ)で作成しなければならない。そのデータストリームという主菜や副菜をトレイに載せ、食べられるよう段取りを整える作業が、いわゆる「Multiplexing(MUX)」だ。
つまり、MP4ファイルの互換性は、コンテナとしての整合性と、格納するデータストリームの符号化方式(コーデック)に依存する。コンテナとしての要件を満たすMP4ファイルでも、プレイヤー側に対応するコーデックがなければ再生できない、ということになる。
現在、MP4と名乗る動画ファイルには、映像/音声ともにISO規格に準拠したファイル(ISO MPEG-4)と、映像のみ準拠したファイルの2種類がある。前者は映像コーデックがASP(Advanced Simple Profile)に、音声コーデックがAAC(Advanced Audio Coding)に準拠していることが条件。後者はASP映像にMP3などAAC以外の音声コーデックを組み合わせたものだ。
ISO MPEG-4では映像コーデックにAVC(Advanced Video Coding)/H.264の利用も認められているため、ISO-MPEG4準拠の動画ファイルは「ASP映像+AAC」と「AVC映像+AAC」の2種類に大別できる。しかし、エンコード時の諸条件を定めた「プロファイル」の違いもあり、一口にISO-MPEG4といっても仕様は1つではない、というややこしい事態になる。次回は、このプロファイルの違いを中心に、MP4ファイルの仕様を説明してみよう。
執筆者プロフィール:海上 忍(うなかみ しのぶ)
ITコラムニスト。現役のNEXTSTEP 3.3Jユーザにして大のデジタルガジェット好き。近著には「デジタル家電のしくみとポイント 2」、「改訂版 Mac OS X ターミナルコマンド ポケットリファレンス」(いずれも技術評論社刊)など。
Copyright © ITmedia, Inc. All Rights Reserved.
Special
PR