Real、QuickTimeとくると、次はAVIというのが妥当でしょう。AVIはMicrosoftが提供している、マルチメディアデータを格納するフォーマットです。正式名称は「Audio Video Interleaving」で、RIFFと呼ばれるフォーマットをもとにした、画像データと音声データを交互に織り交ぜた構造になっているのが特徴です(Audio Video “Interleaving”という名前もここからきています)。
この機能は1992年4月に登場したWindows 3.1でもカバーされず、同年11月に登場した「Video for Windows(VFW)」という拡張パックでようやく実現されます。このVFWでサポートされたのが、AVIフォーマットです。ただ、この時点でQuickTimeはかなりのシェアを握っており、さらに「QuickTime for Windows」の登場で「WindowsでもQuickTimeで良いじゃないか」という土壌が形成されてしまいました。もちろん、QuickTimeも万能ではなく、例えばビデオキャプチャなどでは当初からVFWサポートの製品が目立ちましたが、それでもVFWが最初の出遅れを巻き返すまでにはだいぶ時間がかかりました。
さて、そのAVIフォーマット。最大の特徴は自身でコーデックを定義していない点でしょう。つまり、“何でもあり”のフォーマットなわけです。図1は、AVI Format 1.0で定義されているAVIの構造をものすごく簡単にまとめたものですが、AVI Formatの中できちんと定義されているのは「RIFF Header/AVI Header(avih)/MOV Header(movh)」の3種類で、Stream HeaderやMOV Chunkは「ここにStreamフォーマットの定義が入る」「ここに実際のデータが入る」ということが示されているだけだったりします。なにせ、1番初期のVFWの場合、音声・映像ともすべて非圧縮になっていました。
その後、Microsoftは次回お話する「Windows Media Video(WMV)」という新しいフォーマットを制定し、(ファイル構造はともかく)拡張子としてのAVIは主流から外れる方向の道筋をつけました。ところが、それにも関わらずAVIフォーマットはいまだに現役であり続けています。その理由の大きな部分は、逆説的ですがコーデックを選ばないことでしょう。例えば、DivX NetworksのDivXを使ってエンコードする場合、フォーマットは(MP4やOGM/MVKなども対応していますが)AVIにするのが一般的でしょう。また、DVフォーマットの場合も、Windows環境ではやはりAVIにするのが一般的です。最近利用が始まったH.264でも、やはりAVIを使うことが多いようです。