Видеомонтаж|18 Май 2011 6:31

Применение фильтра Resize (на примере VirtualDubMod)

В статье рассматривается PAL SDTV, все размеры кадра соответствуют этому стандарту.

В последнее время всё чаще можно скачать в сети avi-релизы (DivX, Xvid), в которых нарушены пропорции изображения. Особенно часто попадаются релизы SAT-Rip с размером кадра 720×576 (что соответствует максимальному размеру кадра для DVD-Video и DVB). Иногда и DVD-Rip-ы бывают.

Для SDTV принято соотношение сторон кадра 4:3 (1.33:1) c максимальным размером кадра по горизонтали 720 пикселей и максимальным размером по вертикали 576 пикселей. В основном все DVD-Video диски PAL выпускаются с таким размером кадра. Но, если поделить 720 на 576, то получим не 1.33, а 1.25. Кроме того, в этом же разрешении передаются и хранятся на DVD-Video и фильмы 16:9.

Как же тогда на экране телевизора мы видим правильное изображение, круг круглым, а не вытянутым по вертикали или не сплюснутым?
Происходит это потому, что в заголовке mpeg-потока записан так называемый «флаг аспекта» (AR), согласно которому воспроизводящий аппарат (SAT-ресивер, DVD-плеер) выводит изображение правильно, независимо от реального соотношения размеров кадра в передаваемом сигнале.

Многие музыкальные и эротик-каналы передают сигнал не в размере 720×576, а 480×576, 352×576, 352×288 и др… Легко увидеть, что при делении мы получаем разные цифры, но всё равно они выводятся на экран телевизора правильно. Всё это происходит именно потому что воспроизводящая аппаратура воспринимает AR, прописанный в потоке.

Т.е. для mpeg-потока практически все программы кодирования обязательно прописывают AR в файл.

В случае же с avi всё не совсем так. Есть программы, которые принудительно могут прописать AR и в avi файл, но большинство этого не делает, значит надо выводить файл из кодировщика сразу с реальным размером кадра, т.е. с AR 1:1!

Для этого в многих «правильных» программах есть фильтр Resize (изменение размера, «переразмериватель»). Его название может немного отличаться, но его основное назначение везде одинаковое — изменение размеров кадра. Где то это происходит автоматически (Dr.DivX), где то надо настраивать (VirtualDubMod).

Я не буду здесь рассматривать настройку кодирования под определённый кодек. Рассмотрим только работу фильтра Resize, как правильно им пользоваться. Почему только это? Потому что судя по релизам кодировать умеют многие, а вот правильно настроить программу для вывода с правильным кадром, не все.

Самый простой и наглядный пример — имеем mpeg-файл в одном из вышеупомянутых контейнеров, с размером кадра 720×576 и флагом 4:3, изображение на весь экран.

Открываем файл в VirtualDubMod и идём в закладку Video->Filters… Эта закладка активна только в режиме Full procesing mode!

Добавляем фильтр в обработку через Add

Выбираем двойным кликом фильтр resize

Появляется окно настройки фильтра, где мы в данном случае выставляем размер по вертикали 540, оставляя размер по горизонтали максимальным 720. хотя, в зависимости от размера выходного файла/видеобитрейта может быть рекомендован и меньший размер кадра. Тогда мы выбираем оба размера меньше, но кратными 1.33, т.е. 640×480, 480×360, 352×264 и др… Результат мы можем контролировать, нажав на Show preview. Фильтр обработки лучше всего взять Lanczos3, он работает медленнее, но качественнее. Размер кадра может быть любым, но желательно кратным 16, 8 или 4.

Настройка фильтра Resize закончена, если вы видите в окне просмотра правильное, неискажённое изображение. Нажимаем OK и выходим в главное окно VirtualDubmod. Теперь мы видим слева оригинальное изображение, а справа конечное, которое будет после кодирования. Как видим на данном кадре хорошо видно, что круг вокруг собаки на левом кадре искажён, а на правом имеет правильные пропорции!

В случае, если мы имеем дело с DVD-Video первой зоны, т.е. NTSC с размером кадра 720×480, при тех же рассматриваемых условиях (изображение на весь экран, 4:3) то обычно в фильтре Resize меняют 720 на 640 и получают конечный размер 640×480 (или меньше, но кратное 1.33).

В последних версиях оригинального VirtualDub в фильтр resize включён калькулятор, который при выборе AR 4:3 автоматически выставляет размер кадра. В нашем случае 720×576, он автоматом меняет 576 на 540. Если выбрать горизонтальный размер 640, то он автоматом выставит второй размер 480, т.е. не даст ошибиться!

А как быть, если кадр 720×540, но изображение не на весь экран (чёрные полосы сверху и снизу) и вы хотите убрать лишнее! Это правильное решение при рипе в avi, чтобы не тратить драгоценный видеобитрейт на кодирование ненужных полос, их всё равно добавит плеер автоматически, в зависимости от типа телевизора.

Опять же фильтром resize приводим изображение к размеру 720×540. Далее мы выходим из настройки этого фильтра, нажав OK. После этого кнопкой Add… добавляем новый фильтр null transform. Этот фильтр ничего не делает вообще, но позволяет делать подрезание изображения, чтобы убрать лишнее, в данном случае это чёрные полосы вверху и внизу. Когда этот фильтр выбран, нажимаем на кнопку Cropping… и увеличивая число в поле Y1 закрываем полосу сверху, потом аналогично снизу Y2. Следите за тем, чтобы сумма двух чисел Y1 + Y2 была кратна 4, 8 или 16.