Одно из основных свойств шума – его случайность. Одно из основных свойств движения – “неслучайность”. Эта предпосылка лежит в основе работы фильтра FluxSmooth. Он анализирует каждый пиксел кадра и сравнивает его с соответствующим пикселом предыдущего и следующего кадров. Сглаживание производится, если значения в предыдущем и следующем кадрах одновременно больше либо одновременно меньше, чем в текущем кадре.
Я называю такую ситуацию “флуктуирующим” пикселом и борюсь с такими пикселами, заменяя их на усреднённые по соседним пикселам значения. В фильтре FluxSmoothST это сглаживание (по умолчанию) делается пространственно-временнЫм образом, то есть для флуктуирующего пиксела в усреднение берутся 8 соседних пикселей в том же кадре и два – в предыдущем и следующем кадрах. Если величина пиксела в пределах порога, он включается в усреднение (прим.перев.: имеется в виду разность между рассматриваемым “флуктуирующим” пикселом и данным соседним; если они тем не менее не сильно отличаются, то этот соседний берётся в расчёт при усреднении). FluxSmoothT выполняет только временнОе усреднение.
Этот фильтр успешно убирает практически весь шум из малошумных источников видео (таких как DVD), и значительную часть шума из сильно зашумлённых (типа ТВ трансляций), при этом сохраняя достаточное количество деталей.
Если процессор поддерживает набор инструкций Integer SSE (Intel Pentium III и старше, AMD Athlon и старше), будет использоваться оптимизированная версия алгоритма.
Для чисто временнОй фильтрации используйте FluxSmoothT вместо FluxSmoothST – это гораздо быстрее (на 50% на моей системе).
FluxSmoothT
(clip, int "temporal_threshold")FluxSmoothST
(clip, int "temporal_threshold", int "spatial_threshold")
Параметр | Описание | Значение по умолчанию |
---|---|---|
temporal_threshold | Порог для временнЫх соседей (пикселы в пределах этого порога включаются в усреднение). | 7 |
spatial_threshold | Порог для пространственных соседей (аналогично предыдущему). Задание -1 отключает пространственное сглаживание. | 7 |
Края изображения не обрабатываются.
Первый и последний кадр видеоклипа не обрабатываются.
Вроде бы вызывает ошибку access violation при многопроходном кодировании в CCE. Мне не удалось воспроизвести ошибку; возможно, она была вызвана утечками памяти в ранних версиях, исправленных fabrice.
Ross Thomas <>
spatial_threshold=-1
в FluxSmoothST, но гораздо быстрее (около 50%). Ликвидирована поддержка версии для Avisynth 2.0x. Кому-нибудь она нужна? Мои благодарности fabrice и sh0dan за версию 1.01, выпущенную во время моего длительного отсутствия:).$English Date: 2004/08/13 21:57:25 $ Русский перевод 21.07.2005 Eugene Vasiliev (eugvas@mccme.ru)