ムービー出力について 〜ロスレス圧縮編〜

ファイルサイズの制限

現在主流のWin2k/XPはFAT32でHDDをフォーマットして無い限りこの制限は有りません
NTFSファイルシステムを使えば2TB(テラバイト)までOKです。(32bitOSでの制限)
AVI形式の2GB制限については、殆どのソフトでファイルが2GBを超える場合にはAVI2.0として出力するため、問題は少ないと思われます。

ムービーを出力するとき、どうしても気になるのがHDDの容量とファイルサイズの制限。
AVIは2GBまで、OSとしての1ファイルのサイズの制限は4GBまでですが、動画を扱うと簡単に達してしまいます。

まずAVIの制限である2GBの壁ですが、640x480の動画を例にとると

2G = 2*1024*1024*1024 = 2,147,483,648 Byte

640 * 480 * 3(24Bit Full Color) = 921,600 Byte

2,147,483,648 Byte / 921,600 Byte = 2330.169Frame = 77.67秒

となり、1分17秒程度しか出力できません。
4GBはその2倍ですから2分34秒、4分超の長い動画を無圧縮でそのまま出力はできないということになります。

昔は連番AVIとか参照AVI等、分割して出力するってのが多かったと思います。

じゃあどうするの?

そのままで出力できない以上圧縮します。
圧縮にも2種類あり、普段ファイルを配布するときなどに使うzipやlzh、rar、gcaなどの圧縮方式をロスレス圧縮(可逆圧縮)、
動画圧縮に使われるdivxやmpeg、wmvなどを非可逆圧縮といいます。
詳細は省きますが非可逆圧縮は圧縮されたものが完全に元に戻るわけではないため注意が必要です。
それに対してロスレス圧縮は完全に元に戻る圧縮法です。

ロスレス圧縮は上に挙げたファイルを圧縮する際に使うものの他に、
動画を圧縮するためのものも存在し、それらを一般的に「ロスレス圧縮コーデック」と言います。

ロスレス圧縮の利点

WEB等で配布する動画ファイルを出力する際、現在どのように出力してるでしょうか?
編集ソフトの書き出しオプションでdivxなどのコーデックを直接指定してるでしょうか?
長さ的に無圧縮で大丈夫な方は無圧縮で出力してTMPGEncなどを使用しているかもしれませんね。
そういう方には是非ロスレス圧縮コーデックをおすすめします。

まず無圧縮に対する利点として

  • 無圧縮よりも長い時間を出力できる
  • 出力サイズが小さくなるため、コーデックやPCの構成によっては出力や読み出しが速くなる。

等が挙げられます。
また現在divx等で出力している方も、
画質と容量を考えて2Passエンコードを行いたいとなったときに中間ファイルを出力しなければいけませんから、
そのときには是非ロスレス圧縮コーデックを試してみてください。

少し本題から外れますが2Passエンコードを行う利点として
「画質を保ちつつファイルサイズを削減できる」
ということが挙げられます。

なお非可逆圧縮した動画をさらに非可逆圧縮する行為はあまりしてはいけません。(例 divx→mpeg1等)
二段階に非可逆圧縮を施すことで画像の劣化が激しくなるからです。
配布用にエンコードする際にはエンコードされるファイルは必ず可逆圧縮(か無圧縮)のファイルを用意しましょう。

ロスレス圧縮コーデック

ロスレス圧縮コーデックは以下のようなものがあります。
lossless @ wiki保管庫(Huffyuv改良版とLagarith)
http://www29.atwiki.jp/lossless/pages/11.html
Huffyuv
http://cowscorpion.com/Codec/HuffYUV.html
LCL
http://www.geocities.jp/sandk_project/LRC.htm
Fast Codec
http://cowscorpion.com/Codec/FastCodec.html
Ut Video Codec Suite
http://umezawa.dyndns.info/wordpress/?cat=28
他にも沢山あるのでいろいろ試すと良いでしょう。

関連記事

参考記事


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2019-12-22 (日) 02:13:11