2005年10月07日
ディスクからの再生に適したAVI構造
今日は金曜日で授業が無く、事実上の休みだ。昨日、学校のPCで"VLC media player"を使っての"DivX"動画の再生を実験し、再生できることは確認できたのだが…CD-ROM(CD-RW)からのダイレクト再生には少々難があったので、今日はその問題の改善と最適な映像解像度の研究。まずはCD-ROMからのダイレクト再生時の問題だ。状況としては、ドライブのピックアップユニットが激しく行ったり来たりしているようで、映像と音声を全く別々にエンコードして最後に合体させるという手法に問題がある…つまり、完成したAVIファイルの構造が映像データを"V(n)"、音声データを"A(n)"とした場合に"V1V2V3V4V5A1A2A3A4A5"となってしまっているのが問題なのだ。これを"V1A1V2A2V3A3V4A4V5A5"のような構造に結合させるにはどうすれは良いのだろうか。別に動画を音声をエンコード時に同時出力すれば問題ないのだが…音声(MP3)は"Fraunhofer-IIS"社製の最新エンコードエンジンを用い、ジョイントステレオではなくスレテオ、そして最高品質モードでエンコードするのが長年MP3を愛用してきた拘りなので、いくら最新のFraunhofer-IIS社製エンコードエンジンでも、強制ジョイントステレオで高速変換モードになってしまうWMP10付属のACMコーデックは論外なわけだ(ACMとして利用する場合は、WMP10のセットアッププログラム内から"l3codecp.acm"を手動で引っこ抜いてsystem32フォルダにぶち込む必要がある)。適当に見つけた映像と音声を結合するソフトも片っ端からNG。困った困ったとあの手この手を試していると…映像編集と映像出力に用いている"AviUtl"の"再圧縮無し"オプションを映像と音声の両方に有効にすると、"V1A1V2A2V3A3V4A4V5A5"の構造で出力される事が判明!AviUtlの動画編集以外の意外な使い方を知り、CD-ROMからのダイレクト再生問題は一見落着。喜ぶのは7秒程度にして、次は最適な映像解像度の研究。昔はモニタの解像度はたかがSVGA(800×600px)かXGA(1024×768px)だったので、映像は640×320pxで十分だった。しかし、現在の主流はSXGA(1280×1024px)…SXGA+(1400×1050px)やUXGA(1600×1200px)仕様のモニタも一般的になりつつあり、640×320pxでは小さすぎ、フルスクリーン表示させると拡大されすぎて輪郭部がボヤボヤしてお話にならない。だからと言って映像の解像度を大きくしすぎると…再生時のCPU負担が大きくなったり、ビットレート不足に陥ってブロックノイズが大量発生してしまう。700MBのCD-RWに2時間程度の音声が128kbit/s(これ以下にするとMP3はキツイ)の動画を入れたいわけだから、映像ビットレートは670kbit/s程度しか確保できない。昨日の学校での実験では832×468pxで出力した2時間の動画を使用したが、コントラスト比がいかにも低そうで、フルカラー表示なんてもちろん出来ない学校の液晶モニタではブロックノイズが気になって仕方なかった(黒が真っ黒に表示されないから余計に目立つ)。640×320px以上、832×468px未満で16と9と4の倍数である解像度(何故4の倍数なのかは長くなるので質問禁止)…考えても分からないのでExcelを使って計算してみたら、704×396pxと768×432pxの2つしかないようだ。2パターンしか無いとわかったら、早速適当なサンプルデータを670kbit/sで各解像度でエンコード(もちろん2pss)し、モニタガンマを無意味に明るくして学校の環境を擬似的に再現して再生。768×432pxだと結構ブロックノイズが目立ってしまったので、704×396pxを採用することにした。"DivXR Certified Profile"も"Home Theater"に対応できるので無理に768×432pxを使うよりいいだろう。こうして私の企みは限りなく現実味を帯びたのだった。
投稿者 zeratinman : 2005年10月07日 00:00