AVI, OggFile, OGM, MCF, MKV, RMVB, MP4 の7種類のマルチメディア形式についての、ごく簡単なメモ。 2004年3月2日現在。
「Ogg, OGM, MCF, Matroska」(2003年2月20日)からまる一年たった。 各形式の現状には、いろいろな問題があるが、ここではあえてあまり踏み込まずに、短くまとめてみた。 まとめ的なメモなので、具体的な細部については既にある程度知っているものとする。 (具体的なことについては「AVI・OGM・MKV入門」などを参照)
2004年3月2日現在の内容であり、 各形式ともソフトウェアのバージョンアップなどで状況が大きく変わる可能性がある。
念のため、「コーデック」と「コンテナ」の意味だけは確認しておこう。
640×480ピクセルの画像を.bmpファイルとして保存してみよう。約900KBになるはずだ。
2004年現在、標準的な.bmpファイルは、1ピクセルが24ビット(3バイト)だから
640×480×3 = 921600 [Bytes] = 900 [KBytes]
実際にはファイルのヘッダのぶん、計算よりほんの少し大きくなる。
24ビットというのは、赤・緑・青の各成分が8ビットの階調で、二進数で
0000 0000 ~ 1111 1111
までの256通りがある。
ピンと来ないかたは、Windowsアクセサリのペイントで、色→色の編集→色の作成のコモンダイアログをいじってみよう。
640×480の絵を1ピクセルずつ単純に保存すると約900KBになる。 同様に、720×480ならば約1MBになる。 現在、大半の動画は1秒に24~30コマある。1枚の絵が約1メガとすると、 1秒あたり約30MB、1分で3600MBになる。 こんな大量のデータをそのまま格納するのは現在のメディア(CDやHDなど)では非現実だ。 ネット経由で転送するにしても、1分あたり3GBもあってはたまらない。
映像・音声などのメディアをデジタルデータ化すると、そのままでは処理に困るほど巨大になってしまうことが多い。
そういうわけだから、ファイルやストリーミングでは、映像は圧縮されている。 同様に、音声も圧縮されている。 字幕も、画像の字幕であれば、通常は圧縮されている。
圧縮を行ったり、圧縮されているものを展開(解凍)するプログラムを、 コーデック Codec という。テキストファイルなどのファイル一般でいう「アーカイバ」(WinRARなどのツール)と働きは似ている。 圧縮アルゴリズムは Compressor 圧縮解除アルゴリズムは Decompressor だが、 いちいち「コンプレッサー&デコンプレッサー」と言うのは面倒ということでコーデックという短縮語が生まれたのだろう。
圧縮には、
可逆は文字のとおり、エンコードしたものをデコードすると、最初と1ビットも違わない完全に同じものに戻る場合だ。 不可逆は、そうならずに多少の劣化があるものだ。よくプログラムをZIPやRARで圧縮して配布しているが、 これは当然「可逆」。プログラムは1ビット違うだけで動作が変わってしまう可能性があり、 解凍したら完全に元どおりになってくれないと困ることは説明するまでもないだろう。 これに対して、画像は、ちょっとくらい劣化してもまあ目立たなければ実用になる。 当然、劣化を許したほうが(情報量の一部を捨てることになるから)圧縮率は上がる。 マルチメディアは伸張した形でのサイズが巨大なので、通常は不可逆圧縮で保存する。 JPEGとかMPEGがその例だ。 MPEG-4系の DivX や XviD も不可逆だし、RV9/10 や VP6 や WMV のような他の多くのコーデックも不可逆だ。
特に必要な場合には可逆で圧縮することもある。静止画のPNG、動画のHuffyuv、音声のFLACなどは、可逆だ。 可逆圧縮では劣化がないが、その代わりあまり縮んでくれない。可逆圧縮は完全に元どおりになるので「品質の比較」は無意味だ。
不可逆圧縮では設定次第でサイズが非常に小さくなるが、その代わり劣化がある。 したがって、どのコーデックが劣化が少なくコンパクトになるか、という「品質の比較」の議論がある。 例えば、DivX と XviD はどちらが優れているか、といった話だ。
しかし、以下のメモはそのような「コーデックの比較」ではなく、「コンテナの比較」だ。
例えば映像を DivX 、音声を MPEG-4 AAC というふうに、 何らかのコーデックの組み合わせで圧縮したとする。 マルチメディアとしては、これら(映像トラックと音声トラック)をきちんと同期するように合体させて1つのファイルを完成させる必要がある。 単純に考えると、 映像は映像、音声は音声でそれぞれ単体の別ファイルにしておいて同時に再生スタートさせればいいような気がする。 しかし実際にはそう簡単ではない。 シークバーを動かして早送りしたり、シーンを繰り返して見たり、一時停止したり、チャプターで飛んだり、といったことができないと不便だからだ。 つまり、単にデータがコーデックで圧縮・伸張されるというだけでなく、 圧縮された状態のデータ(一般に複数)を統合して一括管理する何らかのしくみが必要だ。
ファイル単位でそれを行うのが「コンテナ」で、早い話が、.aviファイルのような「入れ物」のことだ。 同じ拡張子.aviのファイルでも、中身の映像は DivX で圧縮されていることもあれば、XviD で圧縮されていることもあれば、 WMV で圧縮されていることもあって、それぞれ対応するコーデックがないと再生できない……ということは、 たいていのユーザは経験済みと思う。同様に、同じAVIファイルでも、音声部分はMP3のこともあればAC3のこともあればDTSのこともある。 また、2つ以上の音声トラック(映画のオリジナルと吹き替えなど)が入っていて音声を切り替えられるものもある。
コーデックもいろいろあるが、コンテナ形式もAVIだけでなく、VOB、OGM、MKV、MP4、RMVBなど、たくさんある。 もちろん、どんなコーデックで圧縮したものでもどのコンテナにも入れられる、というわけではなく、 組み合わせには制限がある。 例えば、人気の Ogg Vorbis は、普通は AVI 形式の音声成分としては使えない。
長所は普及度が一番高いこと。 入れられるものに制限があり、 シークが重めだが、DivXとMP3のような普通の組み合わせだけなら、AVIで十分だ。
Ogg動画はまだ開発途上なので以下の説明は「完成予想図」だが、 長所は、あらゆる面において「フリー」である、ということだ。 単にコンテナとしてフリーウェアであるだけでなく、なかみの Ogg Vorbis (音声コーデック)と Ogg Theora (映像コーデック)も、 オープンソースのフリーウェアだ。Ogg Vorbis は素晴らしいコーデックで、MP3より小さいサイズで同等の音質が実現できる。 Ogg Theora のほうの仕上がりは未知数だが、元になっているVP3というコーデックはそれなりのものなので、 まったく使い物にならないほどひどい、ということはあり得ない。
Ogg動画には、現在ふたつの問題点がある。ひとつは字幕をうまく結合できないことだが、 これは何らかの方法(仕様の変更など)で最終的には解決されるはずだ。 もうひとつの問題は既に使われているOGM動画との互換性。 互換性があったほうが良いのだが、どうなるか分からない。 でも、互換性がとれないとしても、OggとOGMという別形式と割り切ればいいだけの話だ。
OGMは普及度が比較的高く、 コンパクトで高音質の Ogg Vorbis を音声成分として使えることと、 AVI では正式サポートされていない VBR の MP3 を使えること、 シークが軽いことなどが特徴。 しかも現在では、ほぼオープンソースだ。 AVI動画に飽き足らないかたは、音声が Ogg Vorbis のOGM動画にチャレンジしてみよう。
OGMは、上記のOggとの関連がややこしいが、さしあたっては、OGMはOGMと割り切るのが現実的だ。 そのOGMでも0.9.9.4、0.9.9.5、0.9.9.6とあって、 バージョンごとにチャプターや字幕などの「文字」の仕様に揺れがある(現在最も普及しているのは0.9.9.5)。 最終的にはUTF-8に統一されるはずだが、OGMが使うSRT字幕は日本語だとUTF-8では文字化けする(0.9.9.6なら大丈夫)。 さりとて、Shift_JISでも文字化けすることが多い。 字幕やチャプターで日本語を使いたい場合には、OGMは避けたほうが無難だ。
一方、映像と音声だけなら、何も問題ないはずで、 音声としてはAC3も安定して使えるし、正式サポートと言えるかどうか微妙だが、AACも使える。
MCF は不活発で、 残念ながらあまり期待できるとは言えないが、開発中止になったわけではない。 その現実的な設計思想には共感できる部分も多い。
MKVの特徴は、ほとんど何でも入れられることだ。 DivX, XviD, MP2, MP3 (CBR/VBR), Vorbis などはもとより、 AACはHE-AACも含めて正式にサポート、 FLACやRV9/10なども使える。コンテナとしてサイズがコンパクトなことも特徴。 さらに、オンオフ・切り替えが可能ないわゆる「ソフトサブ」の字幕を使える。 ファンサブのSSAや、DVDから抜き出したIDX+SUBをそのまま合体させられる。 テキストベースも Unicode なので、文字化けの可能性が小さい。シークも、チャプターのジャンプも速い。
チャプターや字幕で日本語を使いたい場合、 RV9/10、HE-AAC、FLACのような「新しい」コーデックを組み合わせたい場合、 DVDのIDX+SUBをそのまま使いたい場合などに試すと良いだろう。 柔軟で魅力的な形式ではあるが、 普通に DivX と MP3 を合体させたいくらいの用途なら、 MKVにするメリットはあまりない。AVIやOGMより多少サイズが小さくなるくらいだ。
RMVB は RealVideo 9/10 (以下RVと略)用のコンテナだ。 さらに、RMVBにAAC/HE-AACやVorbisを入れることも可能で(一部未サポートもある)、 正式サポートではないもののSSA字幕も使えるなど、 Real専用ではない多少一般的なコンテナとなった。
Realに対する一般的な嫌悪感はさておき、 純粋に技術的にみて、RVが優れていること、しかも急速に進歩していることは確かだ。 特に低レート(高圧縮)でそこそこの画質を出したいなら、RVはかなり強力だ。 その場合、RVはMKVに入れることもできるが、音声と同時に圧縮してRMVBで書き出すほうが手っ取り早い。 注意点は、音声も同時にエンコードすると48000のものも44100にダウンサンプリングされてしまう場合が多いこと、 HE-AACのサポートにはいろいろと不具合や制限があることなど。 これらはやがて解決されると思われる(どうしても気になるなら音声は別に処理してMKVで合流させる手もある)。
コンテナというよりコーデックの話だが、 低レートで(コンパクトなファイルサイズで)保存したい場合、一度RVを試してみよう。 高レートでもRVは優れているが、再生環境が限られてしまうというデメリットとのかねあいがある。
MP4コンテナは何と言っても事実上の世界標準であり、 この形式でしかるべく格納しておけば、DirectShowプレーヤーでも、QuickTime でも、 ハードウェアMP4プレーヤーでも、再生できる……ことになっている。 現時点では、なかなかこの理想どおりにならない部分もあるが、いずれはそうなるはずだ。
MP4コンテナは仕様上、DVDのような「メニュー」や切り替え可能の字幕を格納することもできる。 ポテンシャルは大きい。 「MP4コンテナ」まわりにはパテントがあって(標準的なMP4ファイルを作るのに必要な圧縮アルゴリズムには、 複数の特許技術が含まれる)、Ogg/OGM/MKVのようなオープンソースで自由に開発できるものではないため、 ツール類があまりないのが現状だが、 仕様上は(必要なソフトウェアなどができれば)SSA相当の字幕を格納することも可能のはずだ。 ただ、動画作成・編集などの作業に必要なソフト類が無料で使える保証はない。 むしろ基本的には有償になりそうで、だからこそフリーの OggFile などへの期待も大きい。
DivX や XviD で圧縮したものを、MP4形式に格納することは既にフリーでできる。 現状、少なくともPC用としては、あえてこの形式に格納するメリットは少ないが、MP4は、PC用動画という枠組みを超えて(フリーウェアという範囲も超えて)今後、普及していくだろう。
以下はあくまで一例であり、これ以外のやり方がないわけではない。 2004年3月2日現在のメモであり、各ソフトのバージョンアップなどで状況は変化する。
2004年1~2月の OggFile 関連の速報メモを再収録したものです。 オープンソース、パテントフリーのマルチメディア形式開発の最前線からの話題をお伝えします。 2004年3月の Theora Alpha3 のニュースも追加しました。 2004年4月の「Windows/Mac で Ogg Theora の作成・再生」もごらんください。
次世代DVDやMP4などをめぐって各企業が激しく争っているのと同様、 オープンソースの世界でも「標準」の地位をめぐっては、小競り合いがあります。Ogg vs. OGM vs. MKV の三つどもえ。 競争が改良を促す、という面もあるので、ある程度は仕方ないことですが、 メーリングリストやIRCなどでは、かなり感情的な暴言も飛び出したりします。 各陣営とも、大半の開発者は穏健ですが、 なかにはいろいろな思惑のある発言も多いので、 コンテナについての議論は、発言者の立場や文脈にも注意して、 距離を置いて眺めるのが良いでしょう。
基本的な予備知識については、OggFile, OGM, MKV... 2004年3月2日もごらんください。
これらのメモは vorbis.com や theora.org での xiph の発表を基本的にそのままフォローしているだけで、 「どうすべきか」といった判断を行うものではありませんが、 現在の OggFile(Ogg動画)には、時系列が柔軟でない(字幕トラックが困難)という問題と、 OGMとの互換性問題という2つの課題がある、ということは指摘できます。 前者の理由から、OggFile は今のところコンテナとしてはあまり柔軟とは言えませんが、 Ogg Vorbis というコーデックが画期的なものであったことには変わりありません。
現地時間2003年8月2日の xiph のオンライン会議のログを見れば、開発者たち自身、 コンテナとしての OggFile を軽視していることが明らかです。
20:18 < jack> why the hell are they doing OGM + AAC?
何だってOGMにAACなんか入れようっていうの?
20:18 < jack> wtf is left of our stuff at that point?
じゃあもう、こっち(xiph)のものは何も残らないじゃん?
20:18 < monty> Ogg.
Ogg形式は残るさ。
20:18 < jack> sigh.
*タメイキ*
20:19 < mau> just the container
コンテナだけかよ。
かれら自身、Oggというコンテナ形式そのものについては、 「タメイキ」だったり「コンテナだけかよ(=肝心のVorbisを使ってくれなければうれしくない)」という見方をしていました。 この時点での OggFile の仕様は、 開発者が「このコンテナ形式を使ってもらえたらうれしい」と思い入れを持つようなものではなかった。 逆に「Ogg形式という入れ物だけ使ってもらってもつまらない」と開発者自身が感じる程度の代物だった。 時系列の扱いが柔軟でないのも、「まず Vorbis があって、それを入れる入れ物を作った」からで、 「工夫を凝らした柔軟なコンテナ形式をまず開発して、そこに Vorbis を入れる」という逆の順序ではなかった。 xiph はコーデック屋であって、コンテナ屋ではなかった。 Vorbis あっての Ogg で、その逆ではなかった。 かれら自身、Vorbis のエンコーダーを oggenc と名付けているほどです。
現在の Ogg は潜在的にストリーミングに強い半面、オーバーヘッドの無駄が多く、空間効率が悪いです。 現在、Oggコンテナをストリーミングに使う例はあまりないでしょうから、 コンテナとしては「効率が悪い」という事実だけが目立ちますが、 コーデックとしては、MP3 に比べて、ずっと効率が高いので、結局 Ogg Vobis は全体としては優秀な音声圧縮形式です。 MPEG-4 AAC の普及で Ogg Vorbis の人気にかげりも出てきているものの、 MP3 に比べて優れている面が多いことには変わりありません。なんといってもパテントフリーというのは素晴らしい。
「Ogg Vorbis を Vorbis in MKA にすればサイズが縮む(しかもチャプターが打てる)」という事実は、
「コンテナはコンテナ屋」ということを端的に表しています。
なんだかんだいっても、Matroska は「新しい柔軟で優秀なコンテナを作ろう」ということに集中しているので、
コーデックに集中した xiph のものより、コンテナとしてはずっと練り込まれています。逆に、
Matroska は「コンテナ屋」にすぎず、コーデックはまったく作ってない。
Xiph のなかにはコーデックを重視するあまり、Matroska は何も作っていないと極論する者もあります
(You have, basically, nothing but hype.)。
そのように言うこと自体、いかにコンテナ形式の仕様が軽視されていたかを示しています。
実質的なソフトがどれほど作られたかという以前に、
そもそも明確で優秀な仕様を確定するというのは困難で価値の高い仕事。
Ogg と OGM の混乱は、Ogg 側がそれを怠った結果である、
という事実は、どうしても否定できません。
Ogg はサポートツールが既に多いかもしれませんが、そうなった後で仕様を根本的に変えるのは好ましいこととは言えず、
仕様があいまいなままツールばかり乱立してしまった Ogg/OGM という現状を見れば、
上記のような批判は的はずれ。
しかも、そのように極論する者でさえ、MKVの字幕サポートの強力さは認めざるを得ず、
こう書いています。
From what I've seen, the only advantage that Matroska has is a powerful
subtitling format. But guess what? http://wiki.xiph.org/OggWrit
これは「MKVの影響で OggWrit ひいては OggFile が軌道修正された」というこれまでの推測とも符合し、 暴言を吐いているようでも、結局は、いいとこどりをして、競合形式を他山の石としていることが分かります。 この「コンテナ戦争」は、究極的にはプラス面も大きいのです。 Xiph は、 MKVの柔軟さに近づくために Oggコンテナの仕様を作り直さなければならなくなったのだから、Matroska を批判できる立場ではなかった。 逆に、コンテナ専門のMKV側も、コーデック屋が作ったコンテナに欠点が多いといって、笑う資格はなかったはずです。
Xiph と Matroska はコーデック屋とコンテナ屋であって、本来、直接つぶし合う関係ではなかった。 Xiph は Oggコンテナには思い入れがなく「コンテナだけか」と自ら軽んじるくらいだから、 コンテナ専門店の MKV と争う理由などない。 料理屋が食器屋と争う理由がないのと同じこと。 料理がなければ食器は無意味だが、食器がなければ料理を出せないのだから、むしろ助け合う関係でしょう。 料理も食器もそれぞれ芸術であるが、ライバル関係ではない。 そこにまた OGM という「第三の形式」が入ってきて、話がややこしくなるのですが、 現時点で xiph に最も期待すべきことは、やはりパテントフリーの映像コーデック Ogg Theora であって、 OggFile という「形式」それ自体は、それこそ形式的なことにすぎないと思います。
問題があるのはあくまで「現在の」Oggの話で、問題があるからこそ、 それをこれから変更・修正・改良しようという建設的な方向に話が進んでいるわけです。 今の Ogg があまり良くないということは、今後の Ogg も悪いということではありません。 ただ、修正すれば互換性がとれなくなるという面もあって、そこが難しい問題だと思います。
RV10も出て最近活気のあるRealだが、今回 Linux系のHelix Playerが Ogg Theora をネイティブサポートした。 久しぶりの Theora 関連ニュースだ。
Ogg Theora はフリーのビデオコーデックで、 オーディオコーデックの Ogg Vorbis とセットでパテントフリーのAVフォーマット Oggfile が作れるという計画。 ここでパテントフリーというのは、コンテナはもちろん、なかみのコーデックもフリー。 XviD や CoreAAC の制約を思えば、 フリーというのは精神衛生にいい。 夢かもしれないが、Vorbis が AAC の好敵手であるのと同じように、Theora が DivX5 や XviD と互角に戦えるものになったら、 どんなにすてきだろう。
その期待のセオラだが、2003年6月に Alpha 2 が出たきり、 あまりニュースがなかった。 本当なら去年のなかばにはリリースされていたはずなのだが、予定より遅くなっている。 xiph が Theora のことを忘れたわけではないことが分かっただけでも、とりあえず良いニュースといえる。 まあ、そんなことが良いニュース扱いされること自体、逆にいえば、あまり良い状況ではない。 セオラのMLはもうまる2か月も1通もメールが流れないような状態で、ひいき目で見たいのはやまやまだが、 はっきりいえば寂れている。 今回サポートされたのも Alpha 版で、実用というよりは、象徴的な意味というべきかもしれない。
Oggfile は、2003年1月に、Koepi が「これからはOGMはOggだ!」とうれしそうに叫んだころが、 今思えば絶頂だった。そのあとは、あまりラッキーとは言えないことも多かった。 xiph 自身、看板商品である Ogg Vorbis さえ DirectShowフィルターのひとつもリリースしていない状態で、 Vorbis だけでも大変そうだから、現実には道は長そうだ。 それでも、OGMが先端だったころのワクワクした気持ちを今でもよく覚えているだけに、 簡単には「もうOgg動画はだめかも」とあきらめきれない。
Ogg Theora Alpha 3 で方向修正へ 「既存形式」とのかねあいか
2004年1月26日付けで、公式サイトが約半年ぶりに更新されていた。 「ここのところあまり進展はありません。 Derf は新しいエンコーダを作っていますが、 将来のことも考えて少しビットストリームを変えたほうがいいのではという話が出ました。 Alpha 3 リリースでは、 こうした変更を加えた試験的なリファレンスコードを予定しています。 ベータ段階に進めない最大の理由は、いまだに仕様が固まっていないことです。 誰もが仕様の凍結を願っています。 仕様が決まれば、作った動画が将来再生できなくなったりする心配もなくなります。 ですので、よろしければコーディングやドキュメントの整備を手伝ってください。」
……というようなことが書いてある。これだけだとやや漠然としているが、 「ビットストリームを変えたほうがいい」というのは、おそらく2003年8月以降の OggWrit 問題だ。 Oggfile は従来、タイムスタンプが単調増加するしかなかったらしい。 確かに音楽や映像ならタイムスタンプが逆戻りするわけないので、それで問題ないのだが、 字幕の場合、Aの字幕が消えないうちに画面上部にBが出て……といったように、もう少し複雑な時間構造がある。 OggDS 0.9.9.6 (Xiphとしては非公式のプロジェクトだが)はSSAをサポート、それをテストしたユーザが気付いたことには、 従来の OGM の実装に基づくと、オーバーラップができないようなのだ。 次の行が出ると、前の行が強制的に消されてしまう。
それと同じ時期、xiph のほうでは Monty と Derf が頭をひねって字幕の実装 OggWrit の改善のため、 コンテナとしての Oggfile 全体の構造を見直している。OGM などの他コンテナの経験からのフィードバックだろう。 早い話「MKVはSSAをサポートした。OGMも負けないぞ」とSSAをMUXしてみたら「今のOggでは無理?」とかえって逆に壁にぶつかった感じ。 「仕様が凍結できないので次に進めない」というのも、文字どおりの意味のほかに、OGMとのすりあわせで苦慮しているのだろう。 やや乱暴かもしれないが端的に言うと、上の引用文の「ビットストリームを変える」は「MKVに対抗して同等の柔軟性を目指す」ということ、 「仕様が凍結できない」は「OGMとの統合問題で困っている」ということではないか。
Oggfile が「MKVとの関連」「OGMとの関連」の2重の意味で微妙な立場に置かれていることがうかがえる。 建前上は Ogg のほうが本家なのに、分家 OGM の顔色をうかがわないとならないのは、何とも皮肉な話で、 気の毒な立場だが、しかし OGM がこれだけ普及してしまっている現実は無視できず、 OGM との後方互換を切ったら一般ユーザの支持を得られなくなる。難しい問題だ。
どちらの要素もコンテナの話で、上のニュースを額面どおりに見る限りでは Theora のコーデック自体が行き詰まっているわけではないようだ。 その点だけは少し安心していいのだろうか……。
最近、いろいろな AAC の実装が出て、もてはやされるなかで、Ogg Vorbis の地位にも相対的に陰りも出ており、 xiph 自体、前ほど活気がない気がする。確かにAACやMPEG-4 Videoのほうが良いのだろうが、 同じくらいの品質ならやっぱりパテントフリーのほうが気持ちがいいから、 頑張ってほしい。「どうせ先は長くない」と陰口を言う人もいるが、秒進分歩のこの世界、5年も使えれば十二分で、 「30年後に使えるか分からないからOggは使わない」などというのは眠たい意見だと思う。確かに30年後には新たにOggfileを作ることはなくなるかもしれないが、 再生できなくなるということは考えられない。 例えば.asfだって昔は鳴り物入りだった。今時asfでエンコする人はいないだろうが、 asfは今でもちゃんと再生できる。長期的に使えるか分からないから使えないなどと言っていたら、 Windows OS など誰も使えなくなってしまうではないか。
ついにOgg動画? 「Monty has started work on OggFile」
Theora のページが少し前に更新され、Ogg Theora Alpha 3 では、Oggfileのある種の修正が予定されていることが明らかになった。 明言はされていないが、Ogg Theora と OggWrit がうまく合体できるようにするための、コンテナ形式の整備と見られる。 そこに2月9日付けの新しい Ogg Traffic が出て「Monty は OggFile の仕事を開始した」。 いよいよ「Ogg動画」というわけだ。
既に何度か触れたが OggWrit は、従来の Ogg コンテナのアーキテクチャと異なり「オーバーラップ」が可能。 これができない限り、例えばSSAソフトサブはできない。 また OggWrit はXML的な、拡張可能なヘッダフィールドという考え方に立っており、 将来のバージョンアップで新しいフィールドを追加しても、古いデコーダでも(新しい部分は単に無視することで)再生が可能。 拡張可能性と後方互換性を両立させている。Matroska の EBML システムと同じ発想だ。 開発者間の感情問題はともあれ、結果として、いいとこどりをしあって、互いに進歩洗練の道を進んでいる。
OggWrit の仕様は完全には固まっていないが、Monty はこれを含めて OggFile の仕様確定に向けて具体的な作業を始めたものと見られる。 そういえば、ffdshow には既に Theora のオプションがあったようだ。 案外近いうちに動画の世界がまたいっそう豊かに広がるのかもしれない。
気になる Ogg と OGM の統合問題だが、Monty は以前メールのなかで後方互換性を切ることはしないと述べているとのことで、 現実的な選択が取られるのでないか。 唯一心配なのは開発者間の感情問題。 Ogg と MKV の関係はどうやら落ち着いたようだが、Ogg と OGM の関係が微妙。 Ogg Vorbis のライバルにあたる AAC を OGM がサポートしたことについて、xiph はハッピーでない。 Oggmux の作者 Koepi と Xiph の関係もかんばしくないようだ。 さらに、OGM関連の重要ツールVDMの作者が、MKVの開発とかぶっていることも問題をややこしくしている (Koepi氏はMKVに対して険悪な気持ちを持っているため)。 でも、Nic 氏もいることだし、最終的には何とかなるだろう。ユーザが各開発者に対する敬意・フィードバックを忘れなければ、 開発者同士のいがみ合いよりユーザが大切、みたいにまるく収まると思う。 IRCでの Koepi 氏のトラブルのときも、Koepi氏は「開発者間のことにユーザを巻き込むわけにはいかない」とすぐに考え直してくれている。
だからこそ、どのフォーマット/コーデックが良くてあとは駄目、みたいな幼稚な発想はやめて、 等しく感謝する気持ちを大切にしたい。フリーで良いものを、と努力していることではどの開発者も同じなのだから……。 例えば Vorbis。IIS がパテントを言い張ったMP3より高性能のものを有志で作ってフリー公開した。 パテントにしがみつく企業をしりめに、こっちはフリーで機能も上。痛快ではないか!
Oggファンにとっては、動きの少ない期間が続いてきたが、この先、もしかして、 ちょっと何か良い進展がありそうな気配、ですね♪
Ogg動画: 煮詰まってきたが仕様未確定: 「OGM互換断念」か
拡張すると Ogg Vorbis の後方互換性も破れてしまうジレンマ
Ogg動画(OggFile)というのは、分かりやすく言えば(ちょっと違うけど)人気のOGM動画の仕様をきちんと決めよう、というものだった。
ところが、いろいろあって、思ったより難航している。Ogg Theora の開発の遅れ、 OGMの開発者と xiph の開発者の間の感情的なトラブルもさることながら、 もっと純粋技術的に、OGMの根幹(したがって現在のOggの根幹=基本的には両者は同じシステム)に、 問題が見つかったからだ。「今の方法ではタイムスタンプが不連続になれないし、オーバーラップできない」という問題だ。 音楽や映像の場合は流れが止まったり重なったりすることはまずないので問題ないのだが、 ついたり消えたり重なって出たりすることのある「字幕」では少々都合が悪い。 「いっそのことOgg動画では字幕は簡易サポートにとどめて現在のシステムを維持するか」または「現在のシステム自体を変更するか」といった選択になってくる。逆に、この難問さえ何とかできれば、Ogg動画の規格がとうとう完成ということだ。
以上のいきさつは、この速報欄では既に何度かお伝えしてきたが、今回のOgg Traffic for Wednesday, February 25, 2004で公式にも明らかになった。 To extend or not to extend, and how, was the question raised over discontinuous bitstreams in Ogg.「拡張すべきかしないべきか、 するとしたらどうやって? これがOggにおける不連続なビットストリームをめぐって出てきた問題だ。」 Subtitle formats, for example, may have a long period of time between text phrases and the text phrases may overlap in duration. 「例えば字幕フォーマットは表示と表示の間に長いポーズがあるかもしれず、表示が時間的にオーバーラップすることもある。」
ご自分に決定権があるとしたら、あなたならどうしますか? 字幕があまり重要でないユーザなら、 今のOGMのようにタイムスタンプが単調増加する簡易字幕で満足できるはずだ。「実用的」には結構それで間に合う。 実際、OGMはそうだ。日本語が文字化けしないようにユニコードベースに統一さえしてくれたら、あのSRT方式でもいいのではないか。 現実的な考えだ。他方、MKVでは簡単にでき、 AVIやRMVBでさえハックで可能なことなのだから、OGMでもできるようにしたい・してほしい、というのも、素朴で理解できる要求だ。 いま制限を作ってしまうと、将来例えばDVDのような「メニュー」のサポートでまた困ったりする。 MKVはひとまずおくとしても、MP4でできることがOggではできない、というのは、気分が良くない。 MP3を超え、MPEG-4 AACをライバルとして育ってきた Ogg Vorbis だ。 純粋に技術的な性能部分で MPEG-4コンテナにゆずるのは、おもしろくない。
xiph の開発者たちの間でも意見が一致していないようだが、やはり上位互換という形で拡張するだろう。 その方法も2通り提案されている。ひとつは、 2004年2月13日付の Page Multiplexing and Ordering in a Physical Ogg Stream で提案されているもの。「新 OggWrit 方式」だ。 どちらかといえば「小手先のハック」と言うべきだろう。 もうひとつは根本的なOggシステムの修正であり、 あらゆるOggシリーズで「フレーム」にあたる granulepos にスタートタイムを付ける、というもの(現システムでは直前の granulepos のエンドタイムが自動的に次の granulepos のスタートタイムになるので、いちいちスタートタイム情報を持つ必要がない)。後方互換を破る大改訂だが、 この第二案のほうが第一案より有力だという。その場合、 現在の Ogg Vorbis はあまりに広まっているので「Ogg Vorbis I」と呼んで特に互換性を保証する。 明記されていないが、I があるからには II があるはずで、これからの Ogg Vorbis は異なるアーキテクチャの「Ogg Vorbis II」が推奨、 I は後方互換のためのみ、という流れが予想される。 当然、現OGMとの互換性は失われるだろう。 上位互換が保証されているのは(今のところ)Vorbis I に対してのみだからだ。 さらに現在のVorbis対応プレーヤーで Vorbis II は再生できないという事態も起きるかもしれない。 ユーザサイドから見れば、やや過激なソリューションだ。
xiph の CEO だった Emmett は、OGMとの互換性について、2003年1月ごろには、 There are no immediate or even long-term plans to screw with what currently works. 「現在再生できているものを再生できなくするような予定は、 長期的にもまったくない」と明言したのだ。 Emmett はまた、Monty がメールでこう書いていることも明かした: These files [OGM] will probably end up working just fine in OggFile, once that's up. 「OGMも恐らく最終的にはOggFileの一種として完全に再生できるようになるだろう」。 統合されるはずだった Ogg と OGM が離れてしまったことはユーザサイドからみると、良いニュースとは思えない。 けれど、統合が予定された2003年1月から現在までの1年余りで、いろいろなことが大きく変わってしまった。
どのようになるのが理想なのかは開発者も迷っているくらいで、とても判断がつかないが、 できれば、これ以上の余計な問題を避けるためにも、OGM も Vorbis I 同様の「特例」扱いで後方互換を保証してほしい。 さもないと、オープンソースなので「Ogg II と OGM をひとつのフィルターで再生できるOMG形式! オーマイゴッド」などというのを作る人が出たりして、 さらにごちゃごちゃしてしまうと思われる。
ここでは、とりあえずそういうニュースが出ているということを、お伝えしておきます。 要するにまだどうなるか確定してないけど、Oggも動いているよーということですね。 Ogg Theora を Mac と Windows に移植してくれる助けも募集しているので、 セオラも少しずつだけれど着実に正式公開が近づいてきた感じです。
2004年3月21日
theora.org Alpha 3リリース: Ogg動画実現へ大きく前進
発表の大意「うれしい知らせです。Theora alpha 3 をいよいよリリースできることになりました。 ビットストリームの変更が行われ、 将来を見据えた拡張と同時に、 過去のVP3のデータをロスレスでTheora化できるようにしています。 安定版リリースへ向けての、重要なマイルストーンです。 アルファリリースですので、今回もソースのみの提供となります。 ダウンロードページを見てください。 libogg 1.1 以上と libvorbis 1.0.1 以上が必要です。 今回の新しいものとして、 win32ディレクトリにテスト目的のツールが入っています。 これは Mauricio Piacentini によるもので、 AVI形式のVP3ビデオを Ogg にトランスコードするものです。 Linux 上でも動作します。 できれば、これ以上、後方互換を犠牲にするビットストリームの変更は行いたくないと思っていますが、 そうは言ってもこれはアルファ版です(のでまだ変更があるかもしれません)。 後で再エンコードするのが嫌なら、テスト以外の用途には使わないでくださいね。 Contributor のみなさんに感謝!」
掲示板での情報#1394より!
この発表の、ポイントですが、既に分かり切ったことも含めて一応まとめると、
ということで、さらに要約すれば「Ogg動画の実現は意外に早そうだ」「OGMとの互換性は分からないが最悪でも無劣化変換ツールはできるだろうし(希望的観測)、 その場合、したくなければ変換しなくてもいい、とも言える」そして「要するに後は画質がどうかだけだ」……くらいでしょうか?
最近の Theora ねたより: 「1000Kbps 704x304 CBR で画質は悪くない。エンコ速度も速い。P4 1.8 で 17fps」 xiphでは「.ogmという拡張子は非推奨」 「Theoraはコーデックでもコンテナでもない。本来は『Oggコンテナに入れたXiph版VP3』というプロジェクトというほどの意味だった」
Ogg動画(Theora+Vorbis)の作成法、再生法、品質についてのコメント。サンプルファイル
動画形式OGMとその周辺について、 特に2002年の出来事についてのメモ。
Ogg Vorbis がいつごろ一般化し始めたのかは解釈の問題だが、 Winamp がデフォルトで対応した「2002年4月ごろ」という時期がひとつの目安になる。 それとほぼ同時期の2002年2月、ひとりの天才がこの Ogg Vorbis を動画の音声成分として使えるようにするハック「OGM」を行い、 バイナリを公開した。スペイン在住(国籍はドイツらしい)の Tobias Waldvogel だ。
当時のスレを検索すると ChristianHJW がゲストの立場で、 この OGM を熱烈に支持している。 ChristianHJW とはその一年後には Matroska (MKV) プロジェクトのボス的存在になる人物だが、 もともと OGM にけんかを売っていたわけではなく、 新しいメディアフォーマットに純粋に興味があったのだろう。
New version of Tobias Waldvogels Ogg DSF with subtitles.. というスレを立てて「最新版のOggDSでは字幕がサポートされた!」と喜々としているし「MP3は使う気がうせた。時代は Vorbis だぜ」みたいな、 Xiph の開発者が聞いたら喜びそうなことも書いている。 同じスレで Koepi も喜しそうだ。 誰がのちのちこの OGM と Vorbis (Xiph)がややこしい関係になると予想しただろう。 I was testing philippas direct transmuxing method ...やPlayback problem with version 0.9.8.4も参照。
しかし同時期、Tronic は別の新しいメディアフォーマット TMF(後のMCF/MKV)をひそかに計画していた。 ChristianHJW はこのTMF計画でも主要な役割を果たしており、 OGM を宣伝していたのと同じ 2002年2月、 同じ ChristianHJW が MCFプロジェクトを SorceForge に登録している。
もともと欧米語圏では少しでも高圧縮なDVDバックアップのために、WMAを音声に使うハックまでやっているので、 Vorbis を使いたいという話が出ても不思議はない。 ただAVIの枠組みを超えて、ソフト字幕までサポートしたのは、当時としては非常に画期的だったろう。 OGMは徐々に安定し、有名になり、Tobias は秋ごろにはUnicode対応まで始めた。
このOGMのマルチサブをファンサブの世界で最初に大々的にやったのは、 2002年10月ごろだった。 大規模なマルチサブさえ出るくらいなので、2字幕のOGMはこの時期には比較的広まっていた。 特にフィンランドやカナダのように、もともと国語が複数ある地域ではそうだったと思う。 それでも、当時は OGM は「新奇な」形式と見られていて「なぜこんな変な形式を使うのか」ということを納得してもらうのが、 チームの中でさえけっこう大変だった。いくつかのグループが OGM の可能性に魅せられていたが、 ヘビーユーザであるだけに、かえってその限界も感じていた。ロケールによる文字化け、 Tobias の仕様書にあるHTMLタグのすべてが十分にサポートされていない問題。 西欧語・中欧語・東欧語・日本語とまたがってSRTを作れば、文字コード問題は頭痛の種だった。 メニューには「英語、ロシア語…」と出るのだが、切り替えるたびにフォント設定も手動で切り替えないといけない。 OGMの熱狂的なヘビーユーザであったということと、 OGMの限界を痛感したということは、同じコインの裏表だった。OGMが嫌いだからMCFに期待したわけではなく、 OGMをとことん使い込んだ末に、壁につきあたった。不運なことに、それと同時期 Tobias は開発を停止、 ソースもクローズドだったため、動きがとれなくなってしまった。
それと前後して、2002年10月、最初のMCFファイルがテスト成功というニュースがあった。 OGMがユニコード対応という大きな壁の手前で立ち止まってしまったのと同時期だったこともあってか、 「これからはMCFかな」という雰囲気も出始めた。 今見ても懐かしいAVI, Ogg and MCF: A Comparison of different Multimedia Container Formats は腹立ち半分のような走り書きのメモだが、 内容は根拠のある批判で説得力があった。もっとも「OGMはもうだめだ。2003年はMCFだ」などと先走ったことを言うユーザがいたのと同時に、 「OGM? 何それ? 新しすぎて分からない」というのも一般的な見方だったと思う。 さらに「MCFっていっても何もリリースもしていない机上の空論ではないか」というのも、まったくもっとも意見であった。 ファンサブの視点ばかりで語ると偏った見方になるかもしれないが、 とりあえず、ファンサブの世界としてはOGMでSSAが使えないことには話にならない、というのがあった。 そして、これは OGM を作った Tobias の問題ではなく、 その元になっている Ogg 自身の仕様の限界だった。もちろん、一般のアニメファンとしても、24/30fps混合をそのまま扱えるvfrだとか、 一般のオーディオマニアとしては音声にmpcとかflacを使いたいとか、柔軟なコンテナへの要望はあれこれあって、 別にファンサブだけの話ではなかったが……。
ところが、「OGMの次」として期待の星だったMCFがその年の末、 2002年12月ごろには分裂してしまうのである(現在のMCFとMKV)。 と同時に、2003年1月には OGM を作った Tobias が Ogg の本家本元 xiph に加わる。 まったく先が読めない展開となった。もしこの時点で Tobias が個人的に自由時間がたくさんあって OggDS のメジャーバージョンアップをして xiph からリリースしたとしたら、きっと、その後のフリーの動画の世界は激変していたと思う。 サバーは要するにソフトSSAをやりたいというのが目的で、 フォーマットは手段にすぎない。OggだろうがMCFだろうがMKVだろうが目的が達成できれば何でもやる。 ただ、OggFile をめぐる最近の仕様変更の動き(慎重と言えば慎重だが、遅々として二転三転)を見ていると、 Tobias一人の力ではどのみちOgg全体を変えられなかっただろうという気もする。 また xiph は現在のOGMのようなものを望んでいたわけでなく、自分たちのコーデック Ogg Theora とセットにしたがっているというのも明らかだ。
OGM そして OggFile にとって不運だったのは、 Tobias がたまたま実生活で忙しくて開発を続けられなかったということだ。 しかし、もし Tobias が積極的に動いていたとして、monty などと意見の調整はどうなったのだろうか、 と考えると、かえって結果的にはこれで良かったのかもしれない。
こうしたすべての事の起こりは、たまたま2002年に Tobias が OggDS を作る時間と意欲があった、ということなので、 ある意味、すべては Tobias に始まった、とも言える。 Tobias の存在は唯一でないとしても、本当に大きい。
彗星のごとく現れ、そして去っていた天才 Tobias であった。
さらにもとをただせば xiph が Vorbis というコーデックを作ったときにたまたま何気なく決めたファイルフォーマットが出発点だ。
Ogg が生まれたのは「Vorbis が重すぎる」とか「MP3が重すぎる」などと言っていた太古の話だから 「クロック・ギガのCPUで、高画質の動画を全画面で再生し、さらにその上に別のレンダラーから自由なタイミングで字幕をスーパーインポーズする」 などということまで考えてフォーマットを決めたわけでなかったとしても、あまり責められない。 Ogg という言葉自体、当時のスラングで「無茶なことをあえてする」というほどの意味だが、 その当時としては Ogg でも十分に前衛的・先端的な形式だった。 CPU能力の飛躍的向上は当時の「無茶」を「ラクな仕事」にしてしまい、 「無茶と思ったことより、もっとずっと先にあること」がユーザの要求になった。 OggFile も2004年に入って、より高い柔軟性のための仕様変更が予定されるなど、 曲がり角に来ている。 逆に、恐らく5年くらい後には MKV がひどく幼稚で原始的な形式に見えるのだろう。
ChristianHJW は最初 OGM を強く支持し、後から MCF を立ち上げ、さらにそこで起きた分裂の「革命側」を支持して、 結局 MKV のチーフのような存在になった。ZX も最初 OGM を支持し、 先進的なウェブガイドを作ったりして普及に努めたが、今では MKV に乗り換えている。 LD も、このサイト(妖精現実)も、大筋は似たり寄ったりだ。 変な言い方かもしれないが、OGM のヘビーユーザーであればあるほど、 かえってその限界も感じたと思う。 OGM に悪意があって「OGMの字幕は駄目だ」と言っているのではなく、 OGM で何とか字幕の不具合を回避するために Perl スクリプトを作って全行に半角スペースを大量に入れるといった、 かなりハック的なことをしてまで OGM とつきあってきた。 努力を尽くせば SRT なら OGM でも何とかなることは誰より分かっているし、 今後 OggFile が SSA をサポートしたら、またどうなるか分からないという気持ちもある。
OGM なり MKV なりを目的としてはおらず、 いろいろやりたいことがあって、それを試しているのにすぎない。 2005年にはどんな展開になるやら、誰にも予想がつかない。