VagueDenoiser

Использующий вейвлеты шумоподавитель - плагин для AviSynth 2.5x

Этот фильтр разработан для AviSynth 2.5 и выше. Он способен фильтровать в цветовых форматах YUY2, YV12 и RGB.

Что он делает:

Это основанный на вейвлетах (коротких волнах) шумоподавитель.
По существу, он преобразует каждый кадр входного видео в пространство вейвлетов, используя различные вейвлет-фильтры. Затем он применяет некоторую фильтрацию к полученным коэффициентам. Потом он делает обратное вейвлет-преобразование. Благодаря свойствам вейвлетов, это дает хороший сглаженный результат и снижение шума, без размазывания деталей изображения. Данное вейвлет-преобразование может быть сделано для каждой плоскости цветового пространства. Данный фильтр использует вейвлеты из руководства Брислауна (Brislawn).

Синтаксис фильтра VagueDenoiser:

VagueDenoiser(int "threshold", int "method", int "nsteps", float "chromaT", bool "debug", bool "interlaced", int "wavelet", bool "Wiener", float "wratio", integer "percent", clip "auxclip")

Параметры:

threshold: число с плавающей точкой (по умолчанию=0)
     Сила фильтрации. Чем выше, тем более фильтрованным будет клип. При жестком установлении порогов можно использовать более высокий порог чем при мягком, до того как клип выглядит чрезмерно фильтрованным.
    Если установлен <0, то шумопонижение канала яркости будет отменено
    Если установлено =0, то порог оценивается автоматически (адаптивно)

method: от -1 до 3 (по умолчанию=3)
    Метод фильтрации, который будет использоваться.
    -1: Нет установления порогов (для целей отладки)
    0: Жесткое установление порогов. Все величины коэффициентов ниже порога будут занулены.
    1: Мягкое установление порогов (сокращение). Все величины ниже порога будут занулены. Все величины выше порога будут снижены на значение порога.
    2: адаптивное установление порогов (метод NormalShrink). Масштабирует входной порог в зависимости от локальных вейвлет данных (локальных - на уровне подзоны вейвлет декомпозиции-разложения).
    3: Промежуточное установление порогов (по Qian). Масштабирует или зануляет коэффициенты - промежуточный между (сильнее) мягким и (слабее) жестким методами установления уровней порогов.
    4: Всюду гладкая функция сокращения.

nsteps: целое (по умолчанию=4)
     Число шагов вейвлет разложения изображения. Более высокие величины могут работать медленнее, но результаты будут лучше.
    Предлагаемые величины 3-6.
    Изображение не может быть разложено выше определенного предела (типично 8 для кадрa 640x480 - так как 2^9 = 512 > 480)
    Максимальная величина зависит от цветовой плоскости и флага чересстрочности.
    Если введен 0 или слишком большая величина, то nsteps будет автоматически ограничен максимально допустимой величиной

chromaT: число с плавающей точкой (по умолчанию=-1)
     Устанавливает величину порога для фильтрации цвета (цветоразностных каналов).    
     Это замедляет, но дает лучшие результаты
    Если установлено <0, то шумопонижение цвета отменено (по умолчанию)
    Если установлено =0, то порог оценивается автоматически (адаптивно)

debug: true (истина) или false (ложь)
    Деактивирует обратное преобразование для отображения прямого (но не нормализованные коэффициенты теперь).
    Также разрешает вывод для утилиты Debugview

interlaced: true или false (по умолчанию=false)
    Пытается обрабатывать поля клипа отдельно.

wavelet: 1 или 2 или 3 (по умолчанию=1)
    Выбирает тип вейвлета:
    1 - Cohen-Daubechies-Feauveau 9/7 - популярный, вероятно наилучший
    2 - Brislawn 10/10 (резкий, использовался как единственный во всех предыдущих версиях от 0.23 до 0.29)
    3 - Villasenor-Belzer-Liao 6/10

Wiener: true или false (по умолчанию=false)
    Активирует двух этапный режим WienerChop шумоподавления для сильного шумоподавления с высокими порогами (медленный).
    Первый этап - оценка шума путем преобразования с первым вейвлетом (отличным от выбранного вейвлета с указанными настройками.
    Второй этап - оптимальная фильтрация по Винеру (Wiener) со вторым (выбранным) вейвлетом.
    Второй вейвлет 1 используется с первым (оценочным) вейвлетом 3.
    Второй вейвлет 2 используется с первым (оценочным) вейвлетом 1.
    Второй вейвлет 3 используется с первым (оценочным) вейвлетом 1.

wratio: число с плавающей точкой (по умолчанию=0.5)
    Величина стандартного отклонения шума для шумопонижения по Винеру как относительное значение к величине порога.

percent: целое от 0 до 100 (по умолчанию=85)
    Частичное или полное шумоподавление (ограниченное сокращение коэффициентов).

auxClip: дополнительный клип для первого прохода в режиме Винера (по умолчанию=нет, клип-источник)
    Предварительно фильтрованный клип источник, предпочтительно с временным или пространственоо-временным фильтром (таким как DeGrainMedian) для наилучшего шумопонижения и подавления артефактов.

Примеры использования фильтра VagueDenoiser

Все строки Avisynth скриптов здесь только примеры.

Некоторые настройки (когда-то) нравящиеся Lefungus:

Для легкой фильтрации кино (средняя -> threshold=1-1.5; сильная -> threshold=2-3)

VagueDenoiser(threshold=0.8, method=1, nsteps=6, chromaT=0.8)

Для легкой фильтрации мультфильмов аниме (средняя -> threshold=2;  сильная -> threshold=4)

VagueDenoiser(threshold=1.5, method=1, nsteps=6, chromaT=2.0)

Использование установления порогов Qian предпочтительно как более подобного оптимальному (байесовому).

Некоторые мощные (но медленные) настройки от Fizick

Для сильной фильтрации (с высоким порогом) шумного чересстрочного аналогового видео. При этом характерно появление артефактов типа "капель", особенно при жестком установлении порога (оптимально использования режима Qian). Это следствие использования метода быстрого прореженного вейвлет преобразования, а также импульсов от "горячих" пикселов. Используем оптимальную фильтрацию по Винеру. То есть сначала делаем оценку мощности сигнала и шума в одном вейвлет базисе. Затем и использум другой вейвлет базис (почти некоррелированный) для собственно фильтрации, то есть уменьшения амплитуд слабых составляющих (с использованием ранее сделанной оценки мощности). Дополнительно уменьшаем влияние "горячих" пикселов, предварительно устраняя их медианным временным фильтром (undot, degrainmedian), и используя результат как дополнительный клип для оценки шума. Данный дополнительный клип может быть весьма агрессивно отфильтрован, так как мы не используем его как входной для VagueDenoiser. (Кстати получили не строго пространственное сглаживание.) Смотри пример (но работает медленно):

LoadPlugin("vaguedenoiser.dll")
LoadPlugin("degrainmedian.dll")
avisource("input.avi")
aux=DeGrainMedian(mode=0, limity=7, interlaced=true)
VagueDenoiser(threshold=7, auxclip=aux, interlaced=true, wiener=true)

История версий и загрузка:

v0.12 - July 4, 2003 Первый релиз (Lefungus)v 0.13v 0.2v 0.22v 0.23V0.24V0.241V0.242V0.243V0.25V0.26 (Kurosu)V0.26.1 (Kurosu)V0.27.0 (Kurosu)V0.27.1 (Kurosu)V0.28.0 (Kurosu)V0.28.1 (Kurosu)V0.28.2 (Kurosu)V0.29 - December 10, 2003 (Kurosu)V0.30 - 2 Июля 2004 (Fizick)V0.31 (Fizick)V.0.32 - 9 июля 2004 (Выпущена Fizick, но часть работы была сделана Kurosu)V.0.32.1 - 10 июля 2004 (Fizick)V.0.33 - 11 июля, 2004 (Fizick)V.0.33.1 - 13 июля 2004 (Fizick)V.0.33.2 - 17 июля 2004 (Fizick)V.0.33.3 - 21 июля 2004 (Fizick)V.0.33.4 - 23 августа 2004 (Fizick)V.0.33.5 - 28 сентября 2004 (Fizick)V.0.33.6 - 13 октября 2004 (Fizick)V.0.33.7 -17 октября 2004 (Fizick)V.0.34 - 24 ноября 2004 (Fizick)V.0.34.1 - 19 декабря 2004 (Fizick)V.0.34.2 - 11 марта 2005 (Fizick)V.0.34.2.0 - 13 июня 2005 (Fizick)V.0.34.3 - 11 Сентября 2005 (Fizick)V.0.35 - 17 Сентября 2005 (Fizick)V.0.35.1 - 26 Сентября 2005 (Fizick)

Благодарности :

Лицензия распространения кода:

Это свободная программа распространяется с соответствии с условиями лицензии GNU-GPL версии 2

Прошу рассмотреть возможность финансовой поддержки, чтобы быть зарегистрированным пользователем.

Контакты:

Вы можете направить e-mail Lefungus по: lefungus (at) altern (dot) org для большинства предложений, сообщений об ошибках, запросу особенностей, и прочее.
Web страница Lefungus: http://perso.wanadoo.fr/reservoir/avisynth.html
Вопросы оптимизации есть вопросы Kurosu.
Еще должно быть очевидным, что Вы можете достичь Kurosu здесь: kurosu (at) inforezo (dot) org
Fizick не ответственен ни за что, но обычно стремится к совершенству :-)
Fizick доступен по: bag (at) hotmail (dot) ru,
и его web страница с последними версиями должна быть на: http://bag.hotmail.ru или ее зеркале

Идите на форум http://forum.doom9.org/showthread.php?s=&threadid=56871 за поддержкой.


Download

DOWNLOAD VagueDenoiser v.0.35.1