HorizontalReduceBy2 / VerticalReduceBy2 / ReduceBy2

HorizontalReduceBy2 (clip)
VerticalReduceBy2 (clip)
ReduceBy2 (clip)

HorizontalReduceBy2 は各フレームの水平方向の大きさを半分に縮小し、VerticalReduceBy2 は垂直方向の大きさを半分に縮小します。画像全体を半分に縮小するには、これらのフィルタを(順番に関係なく)連鎖させてください。省略形の ReduceBy2 を使うこともできます。これは、HorizontalReduceBy2().VerticalReduceBy2() と同じです。

使用されているフィルタカーネル*1は (1/4,1/2,1/4) で、VirtualDub の「2:1 reduction (high quality)」(2:1 縮小(高品質))と同じです。これは、(1/2,1/2) カーネルによって生じるエイリアシング*2の問題を回避します。VirtualDub の「resize」(リサイズ)フィルタは、2:1 縮小のために第 3 のもっと凝ったカーネルを使用します。しかし実験したところ、実際には少し見た目の悪い MPEG ファイルができることがわかりました--おそらく、そのフィルタがエッジを若干シャープにするのに対し、ほとんどのコーデックはシャープなエッジを好まないからでしょう。

ソースビデオがインターレースなら、VerticalReduceBy2 フィルタは副作用としてインターレース解除を行います。もし 320x240 のような大きさで出力ビデオを作成するつもりなら、インターレースのフル垂直解像度(320x480)でキャプチャして、VerticalReduceBy2 を使用することをおすすめします。もっといい出力が得られるでしょう。私の Huffyuv ユーティリティ*3は、キャプチャされた映像をおよそ 2:1 の割合でロスレス圧縮します。このため、320x240 をキャプチャするのに要したのとほぼ同じスペースで 320x480 をキャプチャすることができます(もしハードディスクが対応する容量とスループットを持っているのなら、640x480 でキャプチャして、HorizontalReduceBy2VerticalReduceBy2 の両方を使用することも可能です。しかし、これはそれほど品質を向上させません。もし 640x480 を実現するために MotionJPEG に手を出さなければならないなら、おそらく Huffyuv を使って 320x480 でキャプチャしたほうがいいでしょう)。

原文 Date: 2004/03/09 21:28:07
日本語訳 $Date: 2008/06/22 07:41:18 $