Фильтры для удаления помех с видеокассет (2004 г.)
Оцифровка видеокассет:
использование фильтров для удаления помех
Эпоха сменилась, и такой носитель видеоинформации, как кассета, стремительно устаревает. В ближайшем будущем видеомагнитофоны просто исчезнут из нашего быта. И если популярные фильмы, записи концертов постоянно выпускаются на новых носителях, то как быть с собственными любимыми съемками первых шагов своих детей, путешествий и спортивных соревнований?
Очевидно, их надо перенести с видеокассет на компьютерный диск, или, говоря техническим языком, оцифровать. И вот тут пользователей техники ожидает «засада».
Дело в том, что на компьютерных и DVD-носителях, которые распространены сегодня, для видео применяется так называемое сжатие с потерями. А именно записывается один из каждых 100 кадров, для остальных же 99 сохраняется только список отличий от первого. Чтобы издать фильм на DVD или VCD, его специально «чистят» в студиях таким образом, чтобы каждые 99 из 100 следующих друг за другом кадров (цифра примерна и ориентировочна) были максимально похожи на первый.
Поясним вышесказанное. Представьте сцену, где два героя сидят и разговаривают. Что меняется? Только маленькая часть кадра, где двигаются лица людей. Обо всей остальной картинке в таком случае записывается только то, что она равна предыдущей.
Даже в сценах погонь и катастроф всегда есть фрагмент 8x8 точек одного кадра (скажем, белое пятно на месте яркой вспышки), который соответствует такому же месту в другом кадре, только выше или ниже, чем в предыдущем.
В любительских же записях присутствуют две вещи, пагубно влияющие на возможность сохранить фильм в цифровом виде. Во-первых, это помехи аналогового носителя, т.е. видеопленки. Они проявляются в виде мелких точек или сеточки (то же самое бывает при записи с телевизионного эфира). Вторая проблема - дрожание рук снимающего. Как бы оператор ни старался, естественных колебаний положения камеры не избежать, что приводит к постоянным сдвигам изображения на одну-две строки влево-вправо и вверх-вниз. Это незаметно при просмотре видеозаписи по телевизору, но серьезно мешает оцифровке со сжатием.
Оба упомянутых фактора увеличивают количество отличий между кадрами, а когда их слишком много, это либо вообще не позволяет воспользоваться списком отличий, либо данный список настолько разбухает, что становится почти равным полной записи всех кадров.
Проиллюстрирую теорию практическим примером. Возьмем ту же сцену с двумя собеседниками. Из-за помех и подвижности камеры при съемке компьютер просто не признает фон за их спиной одинаковым для соседних кадров!
Между тем полная оцифровка, с записью всех кадров целиком, позволяет сохранить на DVD-диске (емкостью чуть более 4 Гбайт) всего лишь 2 мин видео. Поэтому, чтобы разместить на нем 120 мин (в 60 раз больше), нужно записать только каждый сотый кадр. Еще столько же места занимает список отличий от остальных кадров, которые в процессе воспроизведения «восстанавливаются» компьютером или процессором стационарного плеера.
Как же быть тогда с любительскими и эфирными записями?
Специалисты по оцифровке видео уже позаботились об этом за вас и придумали видеофильтры. О том, как применить их, чтобы качество домашних съемок сделать таким же (или почти таким же) хорошим, как у профессиональных DVD-фильмов, и сжать обработанный видеоматериал с помощью специальных алгоритмов для размещения на DVD- или VCD-диске, и пойдет речь в статье.
Мы уже рассказывали о том, как производить запись с ТВ или видеомагнитофона на компьютер (см.«Мир ПК», №12/01, с. 130; №3/04, с. 153). Очевидно, что для применения фильтров сначала надо сохранить видео с максимально возможной скоростью потока (bitrate) - во избежание искажений. Можно, например, использовать кодек huffuy, при этом 1 ч фильма потребует 12 Гбайт. Если такого объема свободного места на жестком диске нет, то следует записывать видео с размерами кадра 384x288 точек кодеком DivX 5-05, задав максимальную скорость потока - 4000 кбит/с (1 ч видео займет порядка 2 Гбайт).
Далее необходимо открыть видеозапись в видеоредакторе Virtual Dub 1.5.1 и применять фильтры.
В приведенных ниже описаниях некоторых фильтров указано «встроенный». Это означает, что вы получаете их сразу, загрузив из Интернета бесплатный видеоредактор Virtual Dub. Остальные разработаны разными людьми - любителями видео, эти фильтры придется искать в Сети отдельно.
Первое знакомство
2:1 Reduction (High Quality) (встроенный). Уменьшает вдвое размер изображения по вертикали и горизонтали. При этом используется матрица 3x3 точки, перекрывающая несколько соседних пикселов. Действует заметно быстрее, чем фильтр Resize. Однако поскольку в 2:1 Reduction (High Quality) применяется разновидность билинейного преобразования, а в фильтре Resize может быть задействовано и бикубическое преобразование, то для сохранения приемлемого качества при изменении размера кадра все же рекомендуется фильтр Resize.
2:1 Reduction (встроенный). Уменьшает вдвое размер кадра по вертикали и горизонтали. При этом используется простая матрица 2x2 точки из пикселов, перекрывающих друг друга. Работает значительно быстрее, чем фильтр Resize. Однако для сохранения приемлемого качества при изменении размера кадра все же рекомендуется фильтр Resize по тем же причинам, что и в предыдущем случае.
2:1 Vertical Reduction.Уменьшает размер каждого кадра вдвое только по вертикали. При этом используется простая матрица 1x2 точки.
2D Cleaner 0.6 beta.Заменяет каждый пиксел точкой со средним значением цвета в заданном радиусе (от 0 до 10 пикселов). Вычисленное значение не может отличаться от исходного более, чем на указанный порог (от 0 до 255). Имеет соответствующие ползунки - регуляторы радиуса и порога.
3x3 Average (встроенный). Заменяет каждый пиксел точкой с усредненным значением цвета соседних пикселов, при этом используется матрица 3x3 точки. Так как значения цвета пикселов различные (центрального - 32/256, каждого из окружающих - 28/256), то это не в точности среднее число. Фильтр неплохо обрабатывает большие изображения (384x288 пикселов или больше), которые зашумлены или имеют другие нежелательные артефакты. Был встроен в ранние версии редактора Virtual Dub.
ACDSee Filter.Автоматически регулирует уровни изображения. Данный фильтр основан на функции AutoLevels («Автоуровни») программы ACDSee. Однако каждый кадр обрабатывается отдельно, и, как результат, в готовом фильме возможно мигание видеоряда.
AddFrameNumber/AddTimestamp 0.4. Вставляет в изображение счетчик кадров и метку времени в нижнюю часть кадра.
Alidator. Вставляет текущие дату и время в левый нижний угол кадра.
AnamorphicResize 0.10. Уменьшает вертикальный размер изображения на 25%, использует такой же принцип, что и DVD-плееры.
Area Smoother 0.1.Заменяет относительно одинаковые участки кадра областями с усредненным значением цвета.
Bit Drop 0.9 beta.Предоставляет возможность побитового управления цветом.
Blur More (встроенный). Применяет гауссово размытие с удвоенным радиусом. Не годится для уменьшения шума, поскольку смазывает изображение слишком сильно.
Blur (встроенный).Тоже использует гауссово размытие кадра. В результате дает лучшее изображение, чем фильтр 3x3 Average.
Border Smear 1.0 beta.Размывает верх и низ изображения. Может оказаться полезным при вводе видео для Video-CD. Если отрезать края кадра, чтобы удалить нечеткие строки, получаемые после оцифровки VHS, то понадобится привести размеры картинки к тем, что пригодны для кодера. Это изменение иногда вызывает проблемы, которые решаются применением данного фильтра.
Box Blur (встроенный). Выполняет довольно быстрое билинейное, трилинейное или кубическое размытие - в зависимости от количества проходов при кодировании видео (одного, двух или трех соответственно). Билинейное размытие работает очень быстро, но качество результата низкое из-за получаемых артефактов (квадратов).
Brightness/Contrast (UI-enhanced) 1.0. Изменяет яркость и контрастность фрагмента, предусмотрена возможность предварительного просмотра.
Brightness/Contrast (встроенный). Регулирует яркость и контрастность всего видеоролика.
Chroma Noise Reduction 1.1.Уменьшает шум в цветопередаче, не изменяя черно-белую составляющую сигнала.
CmYUV DEbug Dev.Преобразует кодировку цвета из стандарта YUV в стандарт RGB.
Colorize 1.1 beta 1.Изменяет текущий цвет видеоролика на указанный монохромный (не полутоновый) цвет.
Conditional 0.3b. В прошлом был популярен. В настоящее время может пригодиться для использования в комплексе с некоторыми другими фильтрами.
Coring 1.0. Изменяет цвет пиксела на черный или зеленый, если его текущее значение ниже указанного уровня.
Decimate 1.1 beta 2.Обычно применяется после фильтра Telecide (или любого другого, продуцирующего поток кадров, состоящих из двух полей) и создает файл с продублированными кадрами. Их следует, как правило, удалять, если только мы не ставим задачу изменения частоты кадров.
Deflicker 1.0. Удаляет временные фрагментарные изменения мерцания. Рекомендуется для видео, переснятого с любительской пленки с частотой не 25 кадр./с, в результате чего некоторые кадры получаются заметно ярче.
Deinterlace - area based 1.2.Удаляет «расческу» - результат примитивного объединения полукадров, передающихся при чересстрочной развертке, - только там, где она заметна. Каждый кадр обрабатывается индивидуально. Когда фильтр обнаруживает «расческу», он удаляет ее, используя или смешивание, или интерполяцию - в зависимости от установок.
Deinterlace - PAL movie 1.1.Исправляет «расческу» в видео, но при этом показывает чередующиеся строки.
Deinterlace - PAL/Interpolate 1.0b1. Исправляет «расческу» в видео. При этом первое поле (полукадр) удваивается, второе - удваивается и сдвигается вниз на строку, третье опять удваивается, четвертое удваивается и сдвигается вниз на строку и т.д.
Deinterlace (встроенный). Неровные вертикальные линии в кадре, полученном при записи движения в видео, состоящем из последовательности полукадров, заменяет ровными.
Deinterlace - Auto PAL movie 2.0b. Корректно переводит видео в стандарт PAL.
DeLogo 1.0. Удаляет полупрозрачные и непрозрачные статические логотипы (надписи).
DiGiStudio Video Stabilizer 1.2C. Цифровой стабилизатор видео. Предназначен для правильного кодирования материала, снятого с помощью ручной камеры.
Dynamic Noise Reduction 2.1.Уменьшает шум в изображении, не используя размытия.
Emboss (встроенный).Осуществляет краевое градиентное преобразование изображения, создающее эффект 3D-гравировки. Операция выполняется над каждым из трех каналов по отдельности, поэтому возможно появление незначительных отличий. Если такой результат для данного видеоролика неприемлем, то сначала следует применить фильтр Greyscale.
Exorcist. Удаляет «призраки» (остаточное изображение из предыдущего кадра, появляющееся за движущимися фрагментами) из сигнала.
ExYUVDv. Изменяет значения параметров цветового кодирования (см. фильтр CmYUV DEbug Dev).
Field Bob (встроенный). Компенсирует вертикальные колебания изображения. Рекомендуется для стабилизации кадров видео, снятого с рук, с заметным дрожанием по вертикали.
Field Shift v1.0.Удваивает высоту кадра и сдвигает каждый второй полукадр вниз на одну строку.
Field Swap (встроенный). Предназначен для замены соседних линий видеоизображения (есть регулятор «добавить/убрать чередование строк»).
Fill (встроенный).Некоторый прямоугольник (его размеры и положение в кадре задает пользователь) на изображении заполняется указанным цветом.
Blender 1.1. Один из вариантов размытия изображения.
Flip Horizontally (встроенный). Переворачивает изображение слева направо.
Flip Vertically (встроенный). Переворачивает изображение сверху вниз.
Frame Tweaker 1.1.Выполняет определенный (написанный пользователем) сценарий (небольшую программу). Допустимые команды: black, copy, paste, shift, fadein|out.
General Convolution 3d 1.1.Применяет так называемые матрицы сверток 5і5 точек к трем последовательным кадрам. Если изображение дрожит, то этот фильтр позволяет стабилизировать картинку.
General Convolution (встроенный). Применяет к пикселу так называемую «матрицу свертки» 3x3 точки, т.е. заменяет каждый пиксел линейной функцией этого пиксела и восьми соседних с ним. Авторы фильтра дают следующее описание. Это разносторонний фильтр, которым можно заменить другие (например, 3x3 Average, Emboss, Sharpen, Brightness/Contrast), однако специфические фильтры значительно лучше оптимизированы для своих задач. Фильтр свертки просто позволяет добавлять к значению центрального пиксела дробные значения восьми окружающих соседей. Основание дроби равно 256.
Приведу примеры. Просто копия: 0,0,0/0,256,0/0,0,0. 3x3 Average: 28,28,28/28,32,28/28,28,28. Sharpen: -16,-16,-16/-16,384,-16/-16,-16,-16. Удвоенная контрастность: 0,0,0/0,512,0/0,0,0. Emboss from top-left, not rounded:-32,0,0/0,0,0/0,0,32.
Grayscale (встроенный). Делает из цветного изображения серое, полутоновое. При этом используется рекомендуемое для современных мониторов уравнение: Y=0,213R+0,715G+0,072B (оно отличается от традиционного уравнения NTSC: Y=0,30R+0,59G+0,11B).
Histogram equalize 1.1.Выполняет глобальное цветное выравнивание гистограммы. Может использоваться для коррекции видео, имеющего сжатый диапазон интенсивности пикселов. Полезен только для коррекции исходного сигнала, введенного с плохим качеством.
Hue/Saturation/Intensity 1.0.Изменяет цвет, насыщенность и интенсивность изображения.
Invert (встроенный).Инвертирует цвета изображения, преобразуя его в «негатив».
Levels (встроенный).Позволяет управлять входным и выходным уровнями яркости изображения. Авторы описывают фильтр так: «Когда изображение слабоконтрастное, перемещайте верхние левый и правый указатели так, чтобы сузить входной диапазон. Все, что останется слева от черной стрелки, станет черным, то, что справа от белой стрелки, - белым. Серая стрелка в середине регулирует гамму, указывая на значение 50% в выходном диапазоне. Для того чтобы использовать этот фильтр, желательно получить гистограмму образца видео. А затем переместить входные границы внутрь так, чтобы темные части изображения стали черными, а яркие - белыми».
Liquid. Применяется для создания эффекта переливающейся жидкости.
Logo 1.3 beta 4.Вставляет в изображение на протяжении всего ролика статичный или анимированный логотип.
logoаway 3.5. Удаляет логотип из изображения на протяжении всего ролика.
Motion blur (встроенный). Смазывает соседние кадры. Если 3x3 Average работает только с одним кадром, то данный фильтр суммирует соседние, что позволяет убрать шум. Однако при этом за движущимися фрагментами появляются «призраки». Кроме того, изображение становится более темным, поэтому рекомендуется после применения Motion blur включать фильтр Level с параметрами [0-1]>1,5>[0-1].
Null Transform (встроенный). Отрезает края кадра со всех четырех сторон.
Pan 1.0 beta 2.Позволяет просматривать часть видеопотока через окно меньшего (указанного) размера. При этом данное окно можно перемещать в пределах исходного кадра. Фильтр рекомендуется скорее для создания спецэффектов при монтаже, чем для какого-либо исправления ошибок записи.
Picfix 1.04.Стабилизирует изображение для лучшего сжатия. Рекомендуется применять для съемок, сделанных с помощью ручной камеры, где имеет место некоторое дрожание по вертикали и горизонтали.
Red/Green/Blue 1.1.Позволяет изменять уровни цветов RGB (каждого по отдельности) в видеопотоке.
Red/Green/Blue Adjustment 1.0.Позволяет изменять уровни цветов RGB в видеопотоке. Отличается от предыдущего фильтра возможностью предварительного просмотра изображения.
Resize (встроенный).Позволяет изменять размер выходного видеопотока. Авторы описывают фильтр так. Есть пять способов изменения размеров изображения, причем каждый последующий сложнее предыдущего. С увеличением времени обработки картинки возрастает качество результата.
Самый быстрый, но наихудший по качеству - Nearest neighbor (ближайший сосед), когда в исходном изображении выбирается ближайший пиксел.
Второй по скорости билинейный (Bilinear) способ, дающий очень хорошие результаты, применяет линейную аппроксимацию в обоих направлениях, используя зерно 2x2 точки. Обеспечивает возможность уменьшения (достигающего 66%) и увеличения (до восьмикратного) видеопотока без видимых дефектов.
Бикубический способ (Bicubic) - наилучший для увеличения изображения. Он значительно медленнее, чем билинейный, но выходное качество картинки при большем увеличении оказывается гораздо выше. Между тем, поскольку бикубическая фильтрация обрабатывает детали тщательнее, чем билинейная, качество сильно зашумленного видео может ухудшиться.
Точный билинейный способ (precise bilinear) использует полную билинейную фильтрацию зерна, а не участка размером 2x2 точки. Этот фильтр более предпочтителен по выходному качеству, чем 2:1 Reduction, но работает медленнее.
Точный бикубический способ (precise bicubic) использует полную бикубическую фильтрацию зерна, а не участка размером 4x4 точки. Он работает подобно предыдущему, но создает более четкое изображение. Этот фильтр самый медленный из всех.
Rotate (встроенный).Поворачивает изображение на 90, 180, или 270о. Этот фильтр предназначен для видео, снятого с камеры, стоящей боком или вверх ногами.
Rotate2 (встроенный).В отличие от предыдущего фильтра, поворачивает изображение на произвольный угол.
Sharpen (встроенный).Увеличивает контрастность между соседними пикселами. Не рекомендуется применять на изображении, имеющем шумы (точки и сетку).
Smart Bob 1.1 beta 2.Действует аналогично фильтру Smart Deinterlacer (см. ниже), за исключением того, что создает выходной файл с удвоенной частотой. Например, если входной сигнал имеет частоту 30 кадр./с с двумя полями в каждом кадре, то на выходе получится 60 полукадров в секунду.
Smart Deinterlacer 2.7.Ликвидирует возникающую при склейке кадров «расческу» только в изменяющихся областях изображения. В статических же участках артефакты чередования не проявляются, так что для отображения используются данные обеих линий.
Smart Resize 1.1.Изменяет размеры изображения. Основан на встроенном фильтре Avery Lee и действует аналогично ему, однако позволяет задавать изменение размеров кадра не только в пикселах, но и в процентах.
Smart Smoother 1.1.Разглаживает/смазывает картинку, сохраняя ее структуру (резкие границы). Пригодится для сглаживания записи, имеющей сильные помехи.
Smoother (встроенный). Удаляет из изображения высокочастотные шумы. Особенно ценен для работы с видео, оцифрованного с VHS-видеокассет, поскольку не влияет на острые края. Отлично подходит для мультипликации, но может уничтожить мелкие детали в кино. Очень эффективен для уменьшения размера конечных файлов.
Spatial Smoother 1.0. Еще один фильтр для ликвидации шума, помех. Действует только на пикселы с приблизительно одинаковым цветом.
Static Noise Reduction 1.2.Убирает точечные помехи, шум в изображении, сохраняя контрастность.
Subtitler 2.2.Позволяет накладывать на изображение субтитры (текстовые вставки).
Telecide 1.2 beta 4.Устраняет некоторые нежелательные последствия действия фильтров, изменяющих частоту кадров.
Temporal Cleaner.Уменьшает шум, не оставляя следов от предыдущего кадра («призраков»).
Temporal Smoother (встроенный). Уменьшает помехи и сетку в изображении.
Threshold (встроенный). Превращает изображение в черно-белое, без полутонов.
TV. Корректирует или маскирует шум в аналоговых видеозаписях, в основном в телесигнале, а также на видеокассетах VHS. Сглаживает цветность изображения, не изменяя яркость.
Unsharp Mask 1.3. Автор описывает фильтр так: «Повышает контрастность, используя неострую маску. Основная идея заключается в том, что смазанная версия изображения вычитается из подлинника. Результирующая картинка будет иметь повышенную контрастность».
VHS. Создан специально для чистки и коррекции записей на видеокассетах VHS.
Video DeNoise 1.2. По словам разработчиков, фильтр предназначен для очистки видео от шума при работе с редактором Virtual Dub. Анализирует каждый кадр независимо от других, благодаря чему не вносит дополнительных искажений по сравнению с динамическими фильтрами (практически не происходит потери четкости по сравнению с операцией blur). А если учесть еще и высокую точность определения шумов, то можно сказать, что данный фильтр - лидер среди себе подобных для Virtual Dub. Особенно удобен при конвертировании видео в формат MPEG-4 или DivX, поскольку даже после удаления незначительного шума размер конечного файла уменьшается. Убирает эффект «лесенки».
Warp Sharp 1.1.Усиливает контрастность краев изображения.
Windowed Histogram Equalize 1.0. Выравнивает гистограмму изображения.
Xsharpen 1.0 beta 2.Увеличивает резкость. Не рекомендуется применять после фильтров, очищающих изображение от помех, ибо повышение резкости их восстановит.
Zoom 1.1.Масштабирует изображение.
Итак, мы познакомились с инструментами, необходимыми для улучшения оцифрованного с кассет видео. Теперь дело за вами. Удачных экспериментов!
Пример 1. Возьмем исходную запись с огромным количеством помех (рис. 1).
Применяем последовательно фильтры TV, CNR, DNR, Smart Smoother, Temporal Smoother и получаем очищенное изображение (рис. 2).
рис. 1 | рис. 2 |
Многие фильтры имеют ползунки для установки разных значений параметров. Но начинающим пользователям желательно оставить все настройки по умолчанию.
Пример 2. Имеем запись, сделанную с малым значением скорости потока, в результате чего все изображение покрыто квадратами (рис. 3).
рис. 3 | рис. 4 |
Применяем фильтры Video DeNoise, Blur, Motion Blur, Smart Smoother, Temporal Smoother, Resize и получаем вполне приемлемую картинку (рис. 4).
Пример 3. Запись сделана видеокамерой, повернутой боком (рис. 5).
рис. 5 | рис. 6 |
Обрабатываем отснятый материал фильтрами Video DeNoise, Rotate и Resize. В последнем применяем заполнение краев черными полями (рис. 6) или отрезаем верх и низ кадра (рис. 7) либо увеличиваем центр (рис. 8).
рис. 7 | рис. 8 |
Пример 4.Исходный видеосигнал с интерлейсом (результатом простого склеивания двух полей одного кадра), что проявляется как гребенка на изображении (рис. 9), и большими размерами кадра, которые должны быть уменьшены с целью экономии дискового пространства.
рис. 9 | рис. 10 |
Применяем фильтр Deinterlace, затем Resize. В последнем выбираем бикубическое преобразование и получаем правильное изображение (рис. 10).
Пример 5. На части изображения имеются посторонние данные (рис. 11).
рис. 11 | рис. 12 |
Применяем фильтр Fill и закрашиваем данные одним цветом (рис. 12).
Пример 6. Сделанная дома запись слишком темная (рис. 13).
рис. 13 | рис. 14 |
Применяем фильтры Brightness/Contrast, VHS, Temporal Smoother (рис. 14).
Автор: Григорий Маркаров
По материалам журнала "Мир ПК", #12, 2004
Издательство "Открытые системы" http://www.osp.ru/