Finn
Gold Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Фильтры для де-интерлейса 1. Smart Deinterlacing Filter. Лучший, на мой взгляд, deinterlace фильтр для VirtualDub'а, хотя и не идеальный. Обеспечивает несколько частично пересекающихся режимов де-интерлейсинга. Обрабатываются только нестатичные области фильма. Здесь рассмотрен фильтр версии 2.7b2. Основные опции: 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 - не делать деинтерлейс, использовать фильтр только для упорядочивания потока. Рассмотрим все возможные ситуации ситуации, нетрудно прикинуть с помощью комбинаторики, что будет восемь вариантов: 1. B1T1-B2T2-B3T3... - нормальный поток, ничего не надо делать. 2. T1B1-T2B2-T3B3... - включаем Swap fields on input. 3. T1B2-T2B3-T3B4... - включаем Shift field phase by one. 4. B2T1-B3T2-B4T3... - включаем Swap fields on input и Shift field phase by one. 5. B1T2-B2T3-B3T4... - включаем Shift field phase by one и Swap fields on input. 6. T2B1-T3B2-T4B3... - включаем все три опции. 7. T2B2-T3B3-T4B4... - включаем Swap fields on input. 8. B2T2-B3T3-B4T4... - нормальный поток, ничего не надо делать. Понятно, что структура потока известна заранее в редких случаях, поэтому я всегда подбираю "на глаз" - включаю самый быстрый деинтерлейс (Frame-only differencing) и смотрю на правильность получаемой картинки, если картинка "неправильная", подбираю "продвинутые" опции. Отмечу, что никогда не мог получить "неправильный" поток, захватывая поток с помощью ATI Radeon с видеокамеры Video8 , в то время как с VHS - сплошь и рядом. Плюсы и минусы: Плюсы: Лучший фильтр деинтерлейсинга для VirtualDub'а! Наличие большого количества опций позволяют подобрать оптимальный режим обработки для конкретного фильма. используются неплохие алгоритмы нахождения шума, сравнивается до 4 полей входного видео, имеется возможность нормализовать поток. Минусы: К сожалению, качество деинтерлейсинга уступает профессиональным и даже обычным (но платным или поставляемым вместе с оборудованием или программным обеспечением для видеомонтажа) фильтрам. Не поддерживается режим деинтерлейсинга с одновременным понижением разрешения по вертикали (реализуемый, к примеру, Ligos Gomotion, который используется при захвате на видеокартах ATI и в некоторых программах захвата, например, PowerVCR - уже на стадии захвата: судя по всему, используется информация из 6 (!) полей, разрешение по вертикали уменьшается до 432, что вполне приемлемо для VHS и Video8, при этом практически полностью убираются шумы и артефакты чересстрочной развертки - и это в реальном времени!). Плюс к этому фильтр весьма медленный (особенно с включенными опциями шумоподавления и кубической интерполяции), неоптимизированный - проигрывает в этом плане встроенному в VirtualDub фильтру. Слегка сложен для новичков. 1a. QS Deinterlace Filter. - фильтр, основанный на идее Дональда Графта, автора Smart Deinterlace. Сохраняя качественные свойства предка, новый фильтр реализует более оптимизированный алгоритм, значительно превосходя Smart Deinterlace по скорости на процессорах Intel с поддержкой SSE и SSE2 (PIII, Coppermine Celeron'ы, PIV). В настоящее время доступна бета-версия фильтра. Как один из авторов фильтра, подтверждаю, что мы не собираемся останавливаться только на оптимизации фильтра по скорости - предложены формулы для улучшения качества картинки. Так как в целом опции нового фильтра и его пока предка равнозначны, мы не останавливаемся на них, а предлагаем его скачать на этой странице. 2. Deinterlace - area based. Фильтр имеет сходство с предыдущим в том, что обрабатывает только лишь те области, которые в этом нуждаются, причем только в тех кадрах, которые бы имели без деинтерлейса артефакты. Однако на некоторых фильмах (с очень медленным движением либо с субтитрами, которые отличаются в различных полях) он может давать лучший результат, чем Smart Deinterlace. Здесь рассмотрен фильтр версии 1.2. (Ссылка на сайт фильтра) Опции: Show deinterlaced areas onlyShow deinterlaced areas only - будет показывать в preview окне VirtualDub'а только области, где будут производиться изменения - т.е. области, которые фильтр считает нестатическими. Blend instead interpolate - смешивает цвета из разных полей вместо того, чтобы отбросить информацию одного, чтобы полностью интерполировать линии на основе другого поля. Threshold - контроль за уровнем деинтерлейсинга - чем меньше число, тем большая площадь подвергнется обработке. Edge detect - границы некоторых реальных объектов фильтр легко может принять за артефакты интерлейсинга. Данное число позволяет контролировать это процесс: более высокое значение оставит большее количество границ нетронутыми. Плюсы и минусы: Плюсы: Хорош для фильмов с очень маленьким движением. Позволяет быстро прикинуть (с включенной опцией Show deinterlaced areas only) как лучше провести деинтерлейс. Минусы: Слабоватый фильтр для любительского видео или фильмов. Уступает по качеству Smart Deinterlace и QS Deinterlace. 3. Deinterlace MAP (Motion And Pixel Based). - потенциально фильтр, подающий большие надежды, как сочетающий в себе одновременно идеи Smart Deinterlace и Deinterlace - area based фильтров, применяя их вместе в определенных пропорциях. Теоретически способен дать хороший результат. Сайт фильтра. Опции (Deinterlace Settings): Threshold - то же самое, что и раньше: уровень обнаружения артефактов чересстрочности: чем меньше значение, тем больше точек подвергнется обработке. Edge Detect - данное число позволяет контролировать сравнение артефактов и реальных границ объектов: чем больше число, тем большее количество границ останутся нетронутыми. Опции (Motion Detection): Enable - разрешает или запрещает карту движения объектов (или пикселей) Smooth Map - использование спец. методик размытия картинки, если выделено Threshold - разница между пикселями в ращных кадрах, чтобы посчитать пиксель движущимся. Плюсы и минусы: Плюсы: Высокий потенциал. Минусы: Сложно подобрать опции для конкретного фильма. Медленный. 4. Deinterlace - PAL movie. - фильтр для "ненастоящей" чересстрочности. Иногда бывает при захвате в 25 кадров в секунду (не 50 полей в секунду), что карта неверно распознает поля, принадлежащие к разным кадрам и смешивает их в один. Вот для этого случая и применяется этот фильтр. Он вставляет одно поле между такими неразделенными полями. При этом этот фильтр должен применяться первым. |