山本雅史のソフトウェアコラム
MPEG-4ベースのオープンソースコーデック「OpenDivx」

 ソフトウェアをテーマにした不定期コラムです。今回はムービーコーデックの「OpenDivx」を取り上げます。(編集部)


●MPEG-4ベースのオープンソースコーデック

 OpenDivxは、いま、もっとも話題になっているビデオコーデックだ。

 Project Mayoによる、このフリーなコーデックは、MPEG-4をベースにして開発されている。DVDなどで利用されているMPEG-2コーデックは、ターゲットとしている帯域が、数Mbps~数十Mbpsと広く、画質のクオリティは高いが、ファイルサイズが巨大なものになってしまう。そこで、もう少し狭い64kbps~数Mbpsをターゲットにした規格がMPEG-4だ。

 MPEG-2が広帯域で“すごく良い”品質をめざしているのに対し、MPEG-4はもうすこし狭い帯域で、“良い”から“すごく良い”品質をめざしているといえる。

 MPEG-4規格が正式に制定されたのは'99年だが、すでにWindows Media Player 7には、Microsoftが開発したMPEG-4コーデックが搭載されており、RealVideo8でもMPEG-4が採用されている。

 OpenDivxの前身となったDivxは、Windows Media Player7において、MPEG-4 V3のエンコード/デコードができなかったことが開発の発端だった。このため、MicrosoftのMPEG-4コーデックの一部をハッキングして開発されたという疑惑ももたれていた。オープンソース化は、その疑惑への回答という意味もあるようだ。

 Divxは、高画質な動画を低ビットレートで圧縮できるため、DVDやビデオソフトをDivxで圧縮して、パソコンのHDDやCD-ROMなどにコピーするときに使われている。米国のサイトなどをチェックすると、Divxで圧縮された違法なDVDムービーが多数みつかる。丸ごと1枚のDVDをファイル化すると、さすがに高圧縮なDivxといえども、数百MBになるため、一部をファイル化したものが多い。それでもコピープロテクトの問題を除けば1枚のDVDの内容を1枚のCDに入れることができることがわかる。MP3がCDに及ぼした影響を、DVDに対して及ぼしそうな存在がDivxおよびOpenDivxというわけだ。

 なお、OpenDivxは、Windows以外にMac、Linuxにも移植が行なわれている。

●エンコードは遅いが高い圧縮率

 この原稿を書いている2月下旬の時点で、OpenDivxコーデックはAlpha47版が公開されている。

 映像ソースに関しては、CESで行われたMicrosoftのビルゲイツ氏の基調講演を撮影したDV(デジタルビデオ)を利用した。キャプチャに関しては、カノープスのDVRapterを利用している。キャプチャしたファイルは、DVコーデックのAVI形式のファイル(720×480ピクセル、29.970フレーム/秒)だ。2分ほど(140秒)で、約520MBになった。

 Divxのインストールは、非常に簡単だ。Windows 98/Me/2000の場合、ダウンロードしてきたコーデックを解凍して、infファイルを実行すれば、自動的にインストールされる。ただし、コーデックを利用するためには、別途圧縮ソフトが必要だ。

 エンコードは、まだチューンナップされていないため非常に遅い。筆者の環境では、今回の圧縮に1時間ほどかかってしまう。しかし、圧縮後のファイルサイズは、約12MBと小さい。オリジナルのデータから考えれば、約1/44に圧縮された計算だ。

 OpenDivxでは、音声に関しては独自のコーデックを用意していないため、通常はMP3などを利用する。今回もMP3で56kbpsを設定している。DVデータを圧縮する場合、音声データがMP3化されることによって容量が小さくなりやすいが、それにして高い圧縮率だ。

 実際に圧縮後のファイルとソースファイルを見比べてみても違いは少ない。ここまでくれば、ビデオテープの替わりに、CD-Rを使って、ビデオ保存のメディアとして利用するのも現実的な手段といえる。

 また、元のコンテンツ自体が、動きが少ないものだったことも圧縮率の高さに寄与しているだろう。そういえば、以前のDivxコーデックでは、動きの少ない映像と動きの大きい映像で、コーデックが分かれていた。

 比較のためにMS MPEG-4 V2コーデックで同じソースを圧縮してみた。音声はさきほどと同じ56kbpsのMP3に設定した。圧縮は速くわずか9分で終了するが、圧縮後のファイルは約50MBになった。OpenDivxと比べると4倍ほどの大きさだ。

 OpenDivxは、ストリーミング配信には対応していないが、プロジェクトとしてストリーミング配信への対応も計画されている。

 なお、脱稿後にOpenDivxがAlpha48にバージョンアップされた。コーデックのコア部分としては、バグフィックスやいくつかのモジュールのチューニング、前バージョンで省かれていたYUVのサポートなどが行なわれている。Windows版ではDirectShowとの統合が図られている。このため、Alpha48をWindowsで利用するには、DirectX8aと対応しているビデオドライバが必要になった。また、Intel 810のグラフィックスコアなど一部のビデオチップでのトラブルが報告されている。

●サンプル動画(720×480ピクセル)

OpenDivX
11,717KB
再生にはOpenDivXコーデックのインストールが要です
MS MPEG4V2
49,955KB
MPEG-2ファイル
108,473KB
【編集部注】MPEG-2ファイルは比較用に編集部で作成したものです

【お詫びと訂正】初出時に各データについて誤ったデータレートが記載されておりました。お詫びして削除いたします。

サンプルムービーの再生環境はビデオカードや、ドライバ、OS、再生ソフトによって異なるため、掲載したムービーの再生の保証はいたしかねます。また、筆者および編集部では再生環境についての個別のご質問にはお答えいたしかねますのでご了承下さい。

□Project Mayo
http://www.projectmayo.com/

(2001年3月7日)

[Reported by 山本雅史]


【PC Watchホームページ】


ウォッチ編集部内PC Watch担当 pc-watch-info@impress.co.jp

Copyright (c) 2001 impress corporation All rights reserved.