コンテンツにスキップ

Audio Video Interleave

出典: フリー百科事典『ウィキペディア(Wikipedia)』

これはこのページの過去の版です。95.172.32.62 (会話) による 2010年3月13日 (土) 10:54個人設定で未設定ならUTC)時点の版 (→‎外部リンク)であり、現在の版とは大きく異なる場合があります。

Audio Video Interleave
拡張子.avi
MIMEタイプvideo/avi
video/msvideo
video/x-msvideo
タイプコード'Vfw '
UTIpublic.avi
マジック
ナンバー
AVI 0x20 (8バイト目から)
開発者マイクロソフト
種別コンテナフォーマット
包含物音声動画
派生元RIFF
拡張DivX Media Format

Audio Video Interleave(オーディオ ビデオ インターリーブ)は動画ファイルフォーマットである。

概要

Windows標準の動画ファイルフォーマットコンテナ形式)で、AVIファイル、AVIコンテナなどと呼ばれている。拡張子は「.avi」である。だいたいはWindows Media Playerで再生可能である。

マイクロソフトアップルコンピュータQuickTimeに対抗するために開発したAPIVideo for Windowsで対応している。

RIFFというフォーマットを利用し画像音声を交互に織り交ぜながら格納する。

インデックスが最後にあるため、AVIファイルの内容が不完全な状態では再生が出来ず、修復を行わなければならない。

今となってはAVI自体は入れ物(コンテナ)となってしまった。現在ではいくつかの種類のコーデックでエンコードされた動画音声のデータを格納できる。そのため再生には適切なコーデックを用意する必要があるが、ファイルの拡張子を見ただけではコーデックが何であるか判断できない。しかしコーデックのダウンロード機能も進歩しaviに格納できるコーデックはフルセットをワンクリックでダウンロードできるようになった。

主な特徴

AVIを含むRIFFファイルは、バイナリのままでも可読性が高く構造を理解しやすい。また、AVIを扱うAPI(Video for Windows)をWindowsが提供しているため、対応ソフトウェアを開発しやすく、実際に多数のソフトウェアが公開されている。

欠点

AVIは1992年以前に策定された比較的古い形式であり、策定当初は問題とはならなかった次のような点が現在では欠点となってしまっている。

  • ストリーミング配信用途には不向き。
  • AVI1.0では2GBを超えるファイルを作成できない。(AVI2.0(OpenDML)で解決済み。)
  • データが個別のタイムスタンプを保持できない。
    • 映像の可変フレームレート(VFR)に対応していない。(擬似的な方法での実現例はある。)
    • Bフレーム(前方参照フレーム)の表示に不都合が生じる。

Bフレームの表示不都合

AVIコンテナに格納されたストリームデータは、再生時に一定間隔で先頭から順に取り出される。Bフレームがフレーム間予測において前方フレームを参照して符号化されていた場合、参照するPフレームが処理されて初めて復号可能となる。このため、BフレームをAVIコンテナに格納する際に、このフレーム間の参照関係を考慮しPフレームと順序を入れ替えて格納することになる。こうして格納されたデータは、データを復号し、復号された画像を表示するという作業を特定のタイミングで繰り返すことで動画として再生される事になるが、データの復号と表示の間隔はフレームレートから計算するため同一のタイミングとなる。その結果、復号した画像がそのままの順序で表示される事になり、部分的に逆再生を行っているかのような動画となってしまう。(たとえば、MP4コンテナではデータ復号・復号画像の合成・表示のタイミングを個別に指定できるためこの問題は発生しない。)

しかし、近年のデコーダは入力されたデータに対し本来の表示順序通りにフレームを出力するよう改良されているため、利用上の問題はなくなっている。ただし、この方法を用いたデコーダでは最初のIフレームが他のフレームの2倍の表示時間となり、最終フレームは表示されないという副作用が発生する。この副作用についても、Packed-bitstreamと呼ばれる特殊なストリームフォーマットを用いることで解消した例がある。(XvidDivXがサポートしている。)以上の様に、コーデック側の工夫によってBフレームは問題なく利用可能となっているが、AVIコンテナ自体にBフレームを正確に扱う為の情報が不足しているため、今後も新しい映像圧縮技術をAVIで扱えるかどうかはコーデック側に委ねられたことになる。

利用例

AVIファイルで使われるコーデック

現在エンコーダーが公開されていない形式を含む

コーデックの組み合わせは以下の例のように自由に選択できる。

  • DivX+MP3
  • H.264+MP3
  • WMV9+MP3

関連項目

コンテナ形式

ソフトウェア

その他

外部リンク

ソフトウェア

解説サイト