PCをCore i7機に買い換えた事で、動画エンコード速度は劇的にアップしました。
しかし今まで(シングルまたはデュアルコア時代)と同じ手順の動画変換では、Core i7の性能を最大限引き出せていない事に気が付きました。
現在、リサイズフィルタと逆テレシネフィルタを最適化する為に色々検討中です。
地デジの「映画素材(24FPSをテレシネ処理で30i化したもの)」をエンコする際は
・Mencoderで「-ofps 24000/1001 -vf pullup」としたり
・AviSynthのプラグインで「IT(fps = 24, ref = "TOP", blend = false)」
・その後、BicubicResize、LanczosResizeなどで好みの大きさにリサイズ
などとするワケですが、
これがどれも遅い。
いや、「遅い」というよりも、以下2点
- Xvid、x264、DivXなどのエンコーダーは4コア8スレッドを十分活かして高速作動するようになった
- 3DノイズリダクションフィルタはGPUプラグインで十分高速になった
これらのお陰で、今まで気にならなかった古くから愛用していたフィルタ群の速度が気になりだした今日この頃。
とりあえずリサイズは
960X720以上ならBicubicResizeで十分キレイ
720X540以下にするならLanczosResizeで少しでもクッキリシャッキリ
とする事であんまり深く検討する事はヤメ。
他に良さそうなの見つからないし、MTプラグインでなんとか高速作動してくれるし。
逆テレシネ
現行マシンで地デジ素材を「フィルター無し」でエンコするとXvidやx264で最大80~90FPSの速度が出せるのですが
- IT・・・・・40~50FPS。解除残しは多分なし。
- AUTO24FPS・・・50~60FPS。解除残しやや発生
- .a60224・・・・・Fastモードにすると55~70FPS。やや解除残し発生。詳細モードにすると40~50FPS。多分解除残しは発生していない
現状、逆テレシネに正確さを求めると想像以上に律速になってしまいます。
解除残しは主にロングショットで発生。カメラ固定で遠影を写し、小さく映る車、鳥、人が小さく動いているようなシーンで多発。アルゴリズム上高速なフィルタほど解除残しが発生するのは仕方が無いのかな(´Д`;)
逆テレシネにMT使用
少しでも高速化する為に、AviSynthのマルチスレッドプラグインMTと逆テレシネフィルタを併用してみると。。。
- IT・・・・無事作動。70~80FPS。今の所落ちていない。
- AUTO24FPS・・・mt、SetMTModeとも時々落ちる。90FPS
- .a60224・・・・・・・Fastモード:mt、SetMTModeとも時々落ちる。90FPS
詳細モード:多分落ちない、70~80FPS
落ちるフィルタはmt、SetMTModeどちらでも落ちるが、SetMTModeの方が落ち易い。
どうも落ちるタイミングを見ていると、解除残しが発生するタイミング、又は4/5フレームに間引く際にフレーム数の整合性が取れなくなった所で落ちるっぽい。
逆テレシネかましただけで1~2割速度が落ちるのはチト癪ですが、、、
やっぱりITを使うのが一番無難かも
まとめと云うか、感想と云うか
現在も開発が続いているエンコーダーは、続々と登場する「新しい規格のCPUや拡張命令セット」に対応してくれていますが、古いツールを使い続けているとやっぱりCore i7の性能を満足に生かしてくれません。
特にAviSynthの古~いフィルタ群を使っていると、個々のフィルタが「シングルスレッド時代、しかもSD画質の動画をエンコードするのに最適化」されているっぽくて、最新の環境では足かせになってしまってるようです。
ここ数年は「新しいAviSynthプラグイン探し」なんて年に1~2度しかやらなかったのですが、再び「暇を見つけてはマルチスレッド対応フィルタ探し」をやった方が幸せになれそうな気がしてきました。