この日記はGNSで生成しています。 |
_ AviUtlとTMPGEncでのDivX出力したファイルサイズに差が出る。AviUtlの[ファイル]-[環境設定]-[コーデック設定]で、DivXの[YUY2で圧縮する]をON/OFFして比べるとわかる。デフォルトはONのはず。
_ このオプションがONのときは、AviUtlはDivXエンコーダにYUY2(YUV422)形式で映像を送る(OFFのときはRGB24で送る模様)。YUY2(YUV422)は隣り合った2ピクセルを合計32bitで表現する形式であり、RGB24に比べると情報量は2/3になる。この削減された情報の分だけ、DivXエンコード後のサイズが小さくなるというわけ*1。ちなみにTMPGEncはRGB24でしか出力を行わない模様。
*1: もちろん、符号圧縮や動き圧縮の分があるので、DivXエンコード結果そのものが2/3になるわけではない。DivXに入力される映像の情報量が2/3になるということ。
_ 以上をもっとわかりやすく確認する方法として、HuffYUVでエンコードしてみる手がある。AviUtlでHuffYUV出力の際に、上記のコーデック設定をON/OFFしてみることで、劇的にサイズが変化するのがわかるはず。これは、HuffYUVの動作が以下のようになっているから。
[YUY2で圧縮する] = OFF |
|
---|---|
[YUY2で圧縮する] = ON |
|
_ つまり、「[YUY2で圧縮する]をONにする」ということは、「RGB24からYUY2(YUV422)に減色した結果をエンコーダに流す」と考えていい*2。だから、サイズが小さくなるんですな。もちろん、小さくなった分の結果は画質に現れる・・・端的に言うと劣化している・・・実際はそれほど気にならないけど・・・ことはお忘れなきよう。
*2: AviUtlに入力された映像のピクセル形式がYUY2(YUV422)だった場合は、上記のようにはならない。ただし、今回の話においては「TMPGEncの結果をAviUtlに入力する」=「映像のピクセル形式は常にRGB24」である。
メールはこちらへ...[後藤浩昭 / Hiroaki GOTO / GORRY / gorry@hauN.org]