Обработка видео: описание дополнительных
фильтров
1. Smart Deinterlacing Filter.
Лучший, на мой взгляд, deinterlace фильтр для VirtualDub'а, хотя
и не идеальный. Обеспечивает несколько частично пересекающихся режимов
де-интерлейсинга. Обрабатываются только нестатичные области фильма.
Здесь рассмотрен фильтр версии 2.7b2. (http://sauron.mordor.net/dgraft/index.html)
Основные опции:
- Frame-only differencing - опция по умолчанию, в расчет принимаются
различия в цвете точек между кадрами. Если точка неидентична
этой же точке в предыдущем и кадре, она считается движущейся
и подлежит обработке. Самый быстрый способ.
- Field-only differencing - в расчет принимаются различия в
цвете точек между полями (т.е. точка сравнивается с точками
сверху и снизу). Если точка неидентична этой же точке в предыдущем
и последующем полях, она считается движущейся и подлежит обработке.
- Frame-and-field differencing - комбинирует два предыдущих
метода. Самый медленный способ.
Выбор метода деинтерлейсинга зависит, как показывает практика,
непосредственно от фильма. Идеальный деинтерлейс, особенно для
видео с быстрым движением, практически невозможен. Наша задача
состоит в том, чтобы свести появление артефактов деинтерлейса
к минимуму. К сожалению, невозможно (в достаточно удобной форме)
применить различные установки для разных участков фильма. Для
того, чтобы проверить, какие установки для данного фильма лучше
всего, можно выбрать три эпизода из фильма (статичный, с умеренным
перемещением и с быстрым перемещением), применить на них фильтр
и, меняя установки (можно со включенной опцией Show motion areas
only, о ней чуть ниже), выбрать, какой режим смотрится лучше
всего для всех трех эпизодов. Как правило, лучшие результаты
для видео, оцифрованного с видеокамеры, получаются с использованием
первого метода с включенным режимом Blend instead of interpolate
in motion areas, либо с использование третьего метода.
Дополнительные опции:
- Compare color channels instead of luma - если опция выбрана,
фильтр будет сравнивать цветовые значения (RGB), тогда как в
случае отключения опции будет сравниваться luminance составляющая.
Включение опции улучшает качество деинтерлейсинга для фильмов,
в которых присутствуют большие области одного цвета (мультфильмы),
тогда как для обычных фильмов эту опцию следует отключать.
- Show motion areas only - Опция предпросмотра. Во включенном
состоянии в окне предпросмотра VirtualDub'а будут показываться
только области видео, где будет применен фильтр - т.е. области,
считающиеся движущимися. Полезна для принятия решения, какой
метод использовать и какие значения порога выставлять.
- Blend instead of interpolate in motion areas - когда опция
включена, фильтр в движущихся областях использует пикселы только
из одного поля, интерполируя изображение, в статических областях
используются оба поля. Если опция включена, фильтр будет смешивать
цвета линий сверху и снизу, размывая тем самым как артефакты
интерлейсинга, так и само изображение. Какой способ лучше, выбирать
вам - у каждого есть свои недостатки: интерполяция выдает небольшие
"ступеньки" и подчас имеет цветовые артефакты, смешивание цветов,
в свою очередь, немного понижает четкость деталей и образует
отражения (эффект гало) движущихся предметов.
- Use cubic for interpolation - используется только для интерполяции:
при включенной опции используется более медленный, но зато более
точный метод интерполяции (по 4м линиям).
- Motion map denoising - для того, чтобы избавиться от "ступенек"
желательно использовать низкие значения порога (threshold),
но при низких его значениях цветовой шум начинает восприниматься
как движение - в итоге мы имеем своеобразные искорки в обработанном
видео и уменьшаем эффективное разрешение фильма (так как размер
движущихся областей возрастает). Чтобы избежать этого, включите
данную опцию - в этом случае фильтр будет совершать дополнительные
проверки на шум на стадии определения областей движения. Конечно
же, скорость обработки при этом упадет, причем достаточно заметно.
- Motion Threshold - порог, пороговое значение, определяет разницу
сравнения пикселей для определения, статичный ли пиксель или
нет. Чем больше значение порога, тем больше артефактов останется
в итоговом видео, чем меньше значение - тем меньше будет эффективное
разрешение итогового фильма. Приемлемые параметры зависят от
конкретного фильма и составляют 15-25 для использования фильтра
с отключенным Motion map denoising и 10-20 - с включенным. Для
того, чтобы пронаблюдать эффект понижения или повышения порога,
включите опцию Show motion areas only и меняйте значения порога
- в окне предпросмотра увидите производимые изменения.
- Scene Change Threshold - иногда смена сцены случается между
полями кадра, в этом случае фильтр может отработать некорректно.
Чтобы избежать этого, введен этот параметр. Если количество
пикселей (в процентах) в движущихся областях кадра превысит
это значение, весь кадр будет расценен как движущийся и подлежащий
обработке. Следует заметить, что данная проверка выполняется
до Motion map denoising
"Продвинутые" опции:
Тут необходимо отвлечься для объяснения некоторых технических
вопросов. Как правило, видеоматериал состоит из ряда B1T1-B2T2-B3T3-...,
где B - Bottom Field (нижнее поле), T - Top Field (верхнее поле),
число - номер оригинального кадра, а тире разделяет кадры. При
захвате этот порядок может поменяться, причем в зависимости
от ситуации и характерных особенностей карты захвата, возможны
четрые варианта (от ситуации: начать захват с верхнего или нижнего
поля; от карты: располагать в памяти вначале нижнее поле, а
потом верхнее или наоборот):
1. B1T1-B2T2-B3T3...
2. T1B1-T2B2-T3B3...
3. T1B2-T2B3-T3B4...
4. B2T1-B3T2-B4T3...
И все было бы здорово, если было бы всегда так - мы бы просто
указали фильтру, в каком порядке нужно расставить (сдвинуть)
поля. Но бывает ситуация, когда мы имеем дело с "неправильным"
потоком, который выглядит как B1T2-B2T3-B3T4-.... Этот поток
будет замечательно отображаться на чересстрочном телевизоре,
но при захвате и последующей попытке сделать деинтерлейс нам
обеспечена головная боль. Для этого в фильтре предоставлены
"продвинутые" опции, которые позволяют нам исправить входящий
поток непосредственно перед деинтерлейсом.
- Swap fields on input - поменять поля в кадре на входе.
- Shift field phase by one - сдвигает поля вправо на одно поле.
Пример: T1B2-T2B3-T3B4... -> xxT1-B2T2-B3T3...
- Swap fields on output - поменять поля в кадре на выходе (т.е.
после первых двух действий).
- Disable Motion Processing - не делать деинтерлейс, использовать
фильтр только для упорядочивания потока.
<<= Назад
/ Оглавление / Вперед
=>>
Источник
|