HorizontalReduceBy2 (clip)
VerticalReduceBy2 (clip)
ReduceBy2 (clip)
HorizontalReduceBy2
уменьшает горизонтальный размер изображения вдвое,
а VerticalReduceBy2
уменьшает вертикальный размер изображения вдвое. Если их
связать в цепочку, то изображение будет уменьшено вдвое по каждой оси,
для чего можно использовать просто ReduceBy2,
что то же самое, что уменьшить сначала по горизонтали, потом по вертикали
или наоборот.
Фильтр использует матрицу с весами (1/4,1/2,1/4), такую же как и фильтр "2:1 reduction (high quality)" в VirtualDub. Это предотвращает алиазинг (ступенчасточть), возникающий в случае матрицы (1/2,1/2). Фильтр "resize" VirtualDub'a использует третью, еще более навороченную матрицу для уменьшения 2:1, но я экспериментировал с ней и заметил, что на самом деле она дает чуть худший результат на MPEG файлах -- возможно потому, что перешарпливает картинку (излишняя резкость), а этого кодеки не любят.
Если исходное видео - чересстрочное (interlaced), то
VerticalReduceBy2 еще и преобразует его в прогрессивное
в качестве побочного эффекта. Если планируется вывод видео размером,
например, 320x240, то я советую делать захват с полным вертикальным
разрешением в чересстрочном режиме и использовать VerticalReduceBy2.
Результат будет выглядеть намного лучше.
Программа Huffyuv сжимает захваченный поток примерно 2:1, без потерь качества,
так что можно записать 320x480 примерно на то же дисковое пространство,
что и 320x240. (Если хватит места, можно даже ставить разрешение 640x480
и использовать как HorizontalReduceBy2, так и VerticalReduceBy2.
Однако это не сильно улучшит качество.
$English Date: 2004/03/09 21:28:07 $
Русский перевод 25.05.2005 Alexander Nickolsky (anickol@yahoo.com)