Справочник фильтров VirtualDub

Методика настройки шумопонижающих фильтров


Методика настройки шумопонижающих фильтров
Методика настройки шумопонижающих фильтров
Neiromaster
Предварительная качественная фильтрация шумов источника - один из ключевых факторов достижения высокого качества изображения на низких битрейтах. Каждый пиксель изображения сложным образом зависит от значения соседних пикселей текущего и предыдущего кадров. Современные алгоритмы компрессии пытаются различными способами выявить эти закономерности и использовать их для достижения максимальной степени сжатия.
Шумы источника добавляют к значению каждой точки изображения абсолютно случайную, непредсказуемую величину, что оказывает губительное действие на современные кодеки. Если битрейт сжатого видео достаточно большой, часть шумовой составляющей сигнала может быть передана вместе с полезными данными. При кодировании с очень высокими коэффициентами сжатия для передачи шумов просто нет свободного места. В результате шумы будут в любом случае отфильтровываться кодеком. К сожалению, используемое в стандарте MPEG4 дискретное косинусное преобразование (DCT), при фильтрации шумов дает очень неприятные артефакты в виде квадратов на гладких участках изображения. Для борьбы с этим явлением в DivX5 используется специальный фильтр, замыливающий гладкие участки изображения, что в свою очередь может приводить к появлению неприятных артефактов. Другим подходом к достижению максимального качества является предварительная обработка изображения с помощью шумопонижающих алгоритмов, не дающих сильных видимых артефактов. Встроенные шумовые предфильтры имеются, например, в WMV9 кодеке и в серии VP кодеков от On2, а также в некоторых профессиональных MPEG2 кодеках.
Вот несколько важных правил, которыми нужно руководствоваться при настройке шумопонижающих фильтров.
  • Практически на всех (даже очень качественных) источниках присутствует небольшой шум, связанный с гранулярными шумами кинопленки. Исключение составляют только трехмерные мультфильмы и подобные им источники, записанные на DVD, минуя пленку.
  • Перефильтрация изображения более вредна, чем недофильтрация.
    Мелкие статические детали на изображении (текстура) являются маскирующим фактором для глаза. То есть наличие текстуры уменьшает заметность артефактов сжатия. После определенного оптимального уровня фильтрации субъективное качество изображения уменьшается, т.к. улучшение сжимаемости компенсируется большей заметностью артефактов и общим отрицательным впечатлением от слишком замыленного изображения. Самое интересное, что шумы сами являются маскирующим фактором для искажений сжатия.
  • Наиболее эффективно применение шумопонижающих фильтров до изменения размеров изображения. Если бы resize алгоритм использовал идеальные фильтры, не было бы никакой разницы. Но в реальности при изменении размеров происходит некоторая потеря важных для фильтрации данных. Конкретный выигрыш от предварительной фильтрации изображения зависит от используемого resize алгоритма. Чем проще алгоритм, тем больше выигрыш; например, для билинейной фильтрации он максимален.
  • Амплитуда квадратов, появляющихся на гладких участках изображения при кодировании NanDub-ом 2 со сверхнизким битрейтом, приблизительно равняется амплитуде шумов источника. Поэтому для достижения максимальных результатов необходимо тщательно фильтровать шумы.
  • При настройке шумодавов необходимо попытаться максимально сохранить мелкие детали на изображении. Идеальная фильтрация - это когда сохраняются все детали на изображении, а шумы полностью ликвидированы. К сожалению, она недостижима, как и любой идеал :-).
  • Невозможно получить универсальные установки фильтрации для любого источника. В каждом конкретном случае необходим индивидуальный подбор параметров шумодава. Только так можно получить максимальное качество изображения.
  • Методику настройки шумопонижающего фильтра удобно показать на примере фильтра "Smart Smoother High Quality". Это один из самых лучших пространственных (spatial) фильтров из имеющихся для программы VirtualDub.

    У этого фильтра имеется очень качественно сделанный режим "Visualize Blur", существенно облегчающий настройку параметров фильтрации.



    Запускаем VirtualDub, открываем видеофайл и выбираем "Video-> Filters: ->Add.." в появившемся списке фильтров находим "smart smoother HiQuality" и жмем "OK".

    В окне параметров фильтра устанавливаем следующие настройки:

    Методика настройки шумопонижающих фильтров Для начала необходимо установить минимальный порог фильтрации "Treshold".

    После установки предварительных параметров нажимаем "Show preview" и устанавливаем ползунок предварительного просмотра на типичный кадр фильма.

    Методика настройки шумопонижающих фильтров Выбрав понравившийся кадр, активируем опцию "Visualize Blur"

    Методика настройки шумопонижающих фильтров В этом режиме белым выделяются участки изображения, где, по мнению фильтра, отсутствуют значительные детали. И наоборот, чем темнее конкретный пиксель, тем сильнее меняется изображение на данном участке.

    Начинаем осторожно повышать параметр "Treshold" так, чтобы вся изначальная структура изображения оставалась видимой, но визуально гладкие участки исходной картинки сильно посветлели.

    Методика настройки шумопонижающих фильтров
    Методика настройки шумопонижающих фильтров После этого начинаем повышать значение параметра "Maintain Diffweight", пока темные участки, отображающие шумы изображения, полностью не побелеют. При этом важно не перефильтровать мелкие текстуры на изображении. Чтобы четко отличить шумы от текстур, бывает полезно передвинуть позицию просмотра на пару кадров с помощью курсорных клавиш на клавиатуре. Рисунок, формируемый шумами, будет хаотически меняться от кадра к кадру в отличие от текстур изображения.

    Методика настройки шумопонижающих фильтров
    Методика настройки шумопонижающих фильтров Теперь можно отключить режим "Visualize Blur" и посмотреть на получившийся результат.

    Методика настройки шумопонижающих фильтров Визуальные отличия от исходной картинки практически отсутствуют, но для кодека разница существенная. Обработанный таким образом источник будет существенно лучше сжиматься.

    В завершение настройки шумодава желательно проверить качество работы полученных параметров фильтрации на различных по своей статистике участках исходника. Например, обязательно стоит проверить очень темные и очень светлые участки фильма и по необходимости соответственно подкорректировать установки шумодава.

    Описанная методика хорошо работает при небольшой амплитуде шумов источника. В более сложных случаях лучше не увеличивать параметр "Diameter" отдельного фильтра, а использовать систему из нескольких последовательных фильтров. Лучше всего использовать фильтры, основанные на разных принципах, например, сочетать пространственные (spatial) и временные (temporal) фильтры. Хорошие результаты получаются при сочетании Convolution3D для Avisynth-а и Smart Smoother HiQ. Сейчас существует огромное количество различных шумопонижающих фильтров под Avisynth и VirtualDub, что дает неограниченную свободу для экспериментов. Но в любом случае основной принцип должен быть один: максимум сохраненных деталей и минимум оставшегося на изображении шума.

    Дата обновления: 19.04.2006 12:40
    Источник: http://www.mysif.ru

    Захват, обработка и хранение видео с использованием ПК


    Захват, обработка и хранение видео с использованием ПК
    Захват, обработка и хранение видео с использованием ПК
    Андрей Гуле (krolyk@hotmail.com)
  • Описание задачи
  • Обзор существующих решений
  • История появления видео на ПК
  • Выбор аппаратуры
  • Требования к компьютеру
  • Источник видео сигнала и кабели для подключения
  • Карта оцифровки видео
  • Что необходимо знать о видео сигналах
  • Телевизионные стандарты
  • Разрешение и чёткость изображения
  • Кадры, поля и чересстрочное изображение
  • Цифровое видео
  • Технологический процесс
  • Оцифровка и захват
  • Сжатие
  • Обработка
  • Технология оцифровки видео
  • Использованные термины и сокращения
  • Ссылки
  • (Актуальные исправления выделены жёлтым цветом.)
    Описание задачи Сегодня всем известны преимущества цифровых способов передачи и хранения информации в сравнении с аналоговыми. Это и возможность создать абсолютно точную копию, и возможность достоверно знать о сбоях при передаче информации, и возможность использовать долговечные носители (CD и DVD могут иметь срок архивного хранения в десятки лет).
    В этой работе будет рассмотрена задача преобразования видеозаписи на каком–либо аналоговом носителе (ТВ трансляция, видеокассета VHS, S–VHS и т.п.) или на ненадёжном цифровом (цифровая видеокассета) в набор файлов на жёстком диске компьютера, которые потом можно записать на CD или DVD. При этом во главу угла будет ставиться простота технологии, дешевизна необходимой аппаратуры, а лишь потом качество результата и скорость выполнения процесса. Рассматриваемая методика подготовлена для непрофессионального использования. Такие методы как «обработка видео в реальном времени» не обязательны в рамках поставленной задачи, потому рассматриваться не будут.
    Предполагается что читатель не знаком с технологиями обработки видео. Здесь описан очень широкий круг проблем, которые могут возникнуть при построении домашней студии для обработки видео, предложены варианты решения проблем.
    Обзор существующих решений На сегодняшний день существует множество статей, посвящённых оцифровке видео, его кодированию и обработке, в том числе на русском языке.
    Тем не менее, мне не известно ни одно полное руководство, которое бы охватывало все аспекты рассматриваемой задачи. Ближе всего к идеалу подошёл сайт Обсерватория, однако у меня существует ряд претензий к авторам статей на этом сайте: например, отсутствие здорового консерватизма при выборе кодера видео (за последний год у них сменилось три «любимых» кодера, которые все не совместимы друг с другом). Плюс я хотел бы донести до публики некоторое количество собственных наработок.

    В определённом смысле материал этой статьи повторяет FAQ по оцифровке видео с минимальными затратами, с той поправкой, что описанные здесь методы обеспечивают более высокое качество видео, используют более новые программы и аппаратуру. Также статья охватывает более широкий круг вопросов, которые могут возникнуть у читателей.

    Укажу несколько статей, которые описывают более дорогие варианты оцифровки и захвата видео: Цифровой видеоархив для дома и FAQ по созданию и редактированию цифрового видео. В них описывается технология с использованием карт захвата с аппаратным сжатием видео и хранением оцифрованного видео в формате MPEG–2, DV или MJPEG (это позволяет записывать лишь 15—20 минут видео на один CD, потому предпочтительным вариантом хранения оцифрованного видео в таких случаях являются записываемые DVD). Наиболее полно такая методика описана на сайте М. Афанасенкова. Другая крайность — подготовка записей к сжатию в форматы с относительно низким качеством VCD/SVCD — описана в статье Как и из чего делать VCD/SVCD. Сайт TV & FM тюнеры содержит описания множества моделей карт захвата и различных программ, которые используются для просмотра ТВ программ, прослушивания радио, захвата видео, управления компьютером при помощи пульта дистанционного управления. Автор сайта постоянно отслеживает новости в мире карт приёма ТВ передач и карт оцифровки видео, в том числе появление новых моделей устройств и новых версий программ. Уровень изложения материала по технологии оцифровки оставляет желать лучшего и существенно проигрывает Обсерватории.


    С другой стороны, если эта статья показалась вам слишком сложной — читайте статьи на сайте TV & FM тюнеры: там всё проще и примитивнее.

    История появления видео на ПК В настоящее время вычислительная техника развивается бурными темпами: всем известен закон Мура, согласно которому вычислительная мощность компьютеров удваивается каждые полтора года. Большие вычислительные мощности позволяют обрабатывать всё новые и новые типы данных на самых обычных компьютерах. Десять лет тому назад сложно было представить себе хранение звуковой информации на персональном компьютере — разве что на компакт–дисках. Жёсткие диски того времени не превосходили объёма одного CD, а мощность процессора не позволяла производить достаточно сложных вычислений по распаковке звука в реальном времени. В каком–то виде звук и видео на компьютерах были — в первую очередь в компьютерных играх — однако их качество оставляло желать много лучшего.

    Ситуация кардинально изменилась 6—7 лет назад с повсеместным распространением процессоров поколения Pentium. Такого процессора достаточно для нормального воспроизведения звука, сжатого в формате mp3 (MPEG–1 Layer 3) — этот формат позволяет достигнуть хорошего качества звучания при потоке в 1 Мбайт/мин и практически идеального при вдвое большем потоке (сравните с 10 Мбайт/мин на аудио CD). Жёсткие диски того времени уже измерялись единицами гигабайт. Так началось повсеместное распространение mp3 и его альтернатив, которое продолжается по сей день. Современный компьютер расходует примерно 1—2% своей вычислительной мощности на декодирование mp3: с той поры мощность процессоров выросла на два порядка.

    Примерно в то же время цифровое видео делает первые шаги на персональных компьютерах. В силу упомянутых выше ограничений по объёмам обрабатываемой информации и мощности процессоров, тогдашнее видео выглядело ужасно: «танец квадратиков» привлекал лишь компьютерных энтузиастов. И снова ситуация изменилась кардинальным образом, когда компьютерная техника достигла определённого уровня.


    Лет 5 тому назад, когда винчестеры перешагнули порог в 10 Гбайт, записывающие приводы CD–R начали широко распространяться, а процессоры подобрались к рубежу в 500 МГц и обзавелись мультимедийными инструкциями MMX, 3DNow и SSE, компьютеры «доросли» до стандарта сжатия видео MPEG–4. Предыдущие версии стандарта сжатия видео MPEG обладали существенно меньшим потенциалом для использования на ПК.

    Так, MPEG–1 обеспечивает относительно небольшую степень сжатия видео и звука; его реализация в стандарте Video CD предлагала разрешение картинки до 352 на 288 пикселей (что, безусловно, очень мало для качественного видео) и позволяла записать лишь около часа видео на один CD. Из преимуществ его можно назвать относительную вычислительную простоту декодирования, соответственно невысокие требования к компьютеру (133 МГц). Video CD так и не завоевали популярности у издателей видеопродукции (кинофильмов и проч.). Однако использование дешёвых CD в качестве носителя, и полная поддержка абсолютно всеми аппаратными бытовыми проигрывателями VCD/DVD, сделали этот формат весьма популярным для записи домашнего видео. Правда, качество записи получается очень невысоким.

    Стандарт MPEG–2 предлагает чуть более совершенное сжатие, его наиболее распространённая реализация в стандарте DVD обеспечивает разрешения вплоть до 720 на 576 и позволяет записать до 3—4 часов видео на один диск. Проблема в том, что диск — это не обычный CD, а DVD. Соответственно более ёмкий, но и более дорогой, менее распространённый и требующий дополнительной аппаратуры (DVD–привод). Даже невысокие требования к мощности процессора (266 МГц) не спасали: размер 2–слойного DVD составляет 8,5 Гбайт, что делало невозможным их копирование в эпоху жёстких дисков до 10 Гбайт. Видео DVD стали промышленным стандартом для записи домашнего видео: кинофильмов, концертов и т. п. Распространение DVD в качестве носителя для любительского видео мы видим лишь сегодня, когда объём жёстких дисков перевалил за 100 Гбайт, читающие DVD приводы стали не многим дороже CD, всё большую популярность получают записываемые DVD.


    Этот же формат сжатия видео широко используется в цифровом телевизионном вещании, в том числе спутниковом телевидении.

    Также был разработан промежуточный между VCD и видео DVD формат: Super Video CD, SVCD (использует CD в качестве носителя и MPEG–2 в качестве формата сжатия видео, разрешение — 480x576, позволяет записать около 70 минут на один диск) — его качества сжатия для любительского видео вполне хватает. Основная проблема SVCD — совместимость, не все аппаратные проигрыватели способны воспроизводить диски в таком формате.

    Идеальным компромиссом между степенью сжатия (размером сжатого видео) и вычислительной сложностью декодирования видео (требования к мощности процессора) стал стандарт сжатия видео MPEG–4 (точнее подраздел этого стандарта ‘MPEG–4 video compression, advanced simple profile’). Для воспроизведения видео достаточно процессора в 300—400 МГц (или больше — зависит от разрешения видео), а неплохое качество обеспечивается при сжатии 2—2,5 часов на один CD (или отличное качество при сжатии 1 часа на CD). Первой ласточкой в этой области стали кодеки Microsoft MPEG–4 v.1, v.2 и v.3. На основе последнего из них был создан кодек DivX 3 — именно с его появлением MPEG–4 видео начало своё повсеместное распространение. После этого началась разработка множества различных кодеров для сжатия видео.

    На сегодня стандарт MPEG–4 — самый распространённый способ хранения цифрового видео на компьютерах. MPEG–4 обеспечивает степень сжатия примерно в 2—4 раза больше, чем MPEG–2. MPEG–4 поддерживает ряд т. н. профилей (profile): simple profile (SP, разрешение до 384x288), advanced simple profile (ASP, разрешение до 720x576), advanced video coding (AVC, разрешения вплоть до 1920x1080). Всё большее количество аппаратных проигрывателей получает поддержку декодирования видео в формате MPEG–4 ASP. Появляются первые реализации кодеков стандарта MPEG–4 advanced video coding (MPEG–4 AVC, или H.264), которые обеспечивают ещё большую степень сжатия видео. Правда, для для воспроизведения записей в MPEG–4 AVC требуются процессор с более чем 1,5 ГГц.


    Скорее всего, именно MPEG–4 AVC сменит MPEG–2 в отрасли бытового видео (домашние кинотеатры и цифровое вещание) — он включён в стандарт видео высокой чёткости (HD–видео) как один из базовых форматов сжатия видео (на ряду с MPEG–2 и WMV). Таким образом, можно смело утверждать, что завтрашний день сжатия видео — за MPEG–4.

    Выбор аппаратуры Нужно отметить, что процесс работы с цифровым видеоисточником имеет существенное отличие: вместо этапа оцифровки необходим этап копирования цифровых данных (на сленге это часто называют сливом видео). Для решения этих двух задач используется различная аппаратура.

    Для того чтобы заниматься захватом аналогового видео на компьютере необходимы источник видеосигнала (телевизор, видеомагнитофон, видеокамера), кабель, карта оцифровки и захвата видео или видеокарта с возможностью оцифровки видео, звуковая карта, быстрый и ёмкий жёсткий диск.

    В случае, если у вас есть цифровая видео камера, то вам не нужна карта для оцифровки и захвата видео и звуковая карта, но необходимо наличие IEEE 1394 (FireWire) интерфейса.

    Также, безусловно, требуется соответствие остальных компонентов компьютера некоторому уровню.

    Требования к компьютеру В этом разделе приведены минимальные требования к компьютеру для оцифровки видео.

    Процессор Для захвата видео без сжатия мощный процессор не нужен, с другой стороны объём записываемых данных в таком случае будет огромным. Для сжатия видео «на лету» во время захвата нужен процессор по крайней мере 500 МГц, лучше 900 МГц. Чем более быстрым процессором вы располагаете, тем более сложные виды сжатия видео вы сможете применять «на лету» — непосредственно во время оцифровки.

    Дальнейшая обработка видео будет происходить тем быстрее, чем быстрее работает ваш процессор. Поскольку задача обработки видео чисто вычислительная, именно от скорости процессора зависит скорость её выполнения: объём памяти, скорость её работы, скорость жёсткого диска и прочих компонентов оказывают существенно меньшее влияние. Технологию HyperThreading современные MPEG–4 кодеры не поддерживают (см.


    сравнительное тестирование скорости кодирования видео разными процессорами).

    Оперативная память Захват видео не предъявляет существенных требований к памяти компьютера: вполне достаточно, чтобы ваша операционная система «чувствовала себя комфортно» и хватало памяти для программы захвата видео, кодека для сжатия видео «на лету» — это порядка 40 Мбайт для компактных утилит. Таким образом, условно минимумом можно считать 64 Мбайта оперативной памяти для Windows 98 и ME, 96 для Windows 2000 и 128 для Windows XP. Если вы планируете выполнять ещё какие–то задачи во время оцифровки видео, то вам понадобится больше памяти для запуска ваших программ. Не желательно, чтобы система останавливалась для обращения к файлу подкачки: в таком случае может быть не обеспечена непрерывная запись потока данных с карты захвата, поэтому рекомендуется иметь выделенный винчестер для видео (см. ниже).

    Жёсткий диск При оцифровке и захвате видео с разрешением 768x576 пикселей без сжатия от карты оцифровки видео поступает поток данных примерно в 22 Мбайт/сек (76 Гбайт/час). Очевидно, чтобы записать такой поток данных на жёсткий диск, требуется во–первых уйма свободного места, а во–вторых жёсткий диск с достаточной скоростью записи. Различные методы сжатия видео «на лету» этот поток уменьшают, но дополнительно нагружают процессор и могут снижать качество материала. На практике используется компромиссный вариант с небольшим сжатием: данных приходится записывать всё ж таки меньше, а качество изображения снижается незначительно (иногда разница даже не заметна глазом). Таким образом, для захвата видео понадобится большой жёсткий диск, который в состоянии записывать данные с высокой скоростью.

    Выбор и подключение жёсткого диска Важно, что для захвата должен использоваться отдельный жёсткий диск (IDE или Serial ATA) — операционная система должна находиться на другом винчестере, т.к. ей время от времени нужно считать или записать какие–то данные на «свой» жёсткий диск: если этот диск будет занят записью оцифровываемого видео, он может просто не успеть записать поступающий поток данных.


    Также важно, что системный жёсткий диск и диск для записи видео должны находиться на разных IDE каналах: два IDE устройства на одном канале не могут работать одновременно. Если у вас есть другие жёсткие диски, CD или DVD приводы и вы хотите использовать их во время оцифровки видео, то оптимальным решением проблемы будет купить дополнительный IDE контроллер (около $15) и подключить жёсткий диск для захвата видео к отдельному IDE каналу. Стабильную скорость записи информации в 25 Мбайт/сек по всей своей поверхности диска способны обеспечивать относительно новые жёсткие диски, условно говоря это модели, выпущенные начиная со второй половины 2002 года.

    Объём кэш–памяти жёсткого диска не имеет никакого значения при захвате видео: 2 Мбайта или 8 Мбайт — всё равно за секунду на диск записывается куда как больший объём информации.

    Жёсткий диск для захвата видео должен быть подключён в режиме Ultra DMA.

    Влияние скорости жёсткого диска на скорость обработки видео Скорость жёсткого диска также влияет на скорость обработки видео. Однако при обычном процессе очистки видео от шумов скорость обработки видео очень невысока и составляет всего несколько кадров в секунду: с такой нагрузкой легко справится любой винчестер. Скорость чтения информации с жёсткого диска становится ограничивающим фактором лишь при обработке видео, которое не требует сложных вычислений: например сохранить звуковую дорожку в отдельный файл. Исходный файл после захвата видео может занимать десятки гигабайт, для извлечения звука весь файл должен быть прочитан — оказывается, что в таких задачах именно скорость работы жёсткого диска становится определяющим фактором.

    Файловая система При оцифровке видео приходится иметь дело с файлами размером в десятки гигабайт. Файловая система FAT32 мало пригодна для захвата видео, так имеет ограничение на размер файла: 4 Гбайта. Некоторые программы поддерживают работу с т.н. сегментированным видео — видеозапись разбивается на несколько пронумерованных файлов. Однако процесс закрытия одного файла, создания нового, перевод записи потока данных в новый файл, во время захвата видео создают дополнительную нагрузку: на стыке файлов часто возникают выпавшие кадры, рассинхронизация звука и видео.


    Также Windows не позволяет создавать разделы с файловой системой FAT32 объёмом больше 32 Гбайт (хотя специальными программами можно создать раздел большего размера). Также «в народе» бытует мнение, что файтовая система FAT32 работает быстрее NTFS: это на самом деле так, но выигрыш по скорости невелик и составляет всего–то 1—2%.

    Всех этих проблем можно избежать, используя файловую систему NTFS: её поддерживают версии Windows начиная с 2000. Более того, NTFS имеет ряд дополнительных преимуществ по работе с большим количеством файлов и большими потоками данных. Таким образом, используя файловую систему NTFS, вы получаете возможность удобно работать с файлами большого объёма и спокойно выполнять во время оцифровки видео различные задачи (в том числе и работать с жёстким диском, на который производится запись оцифрованного видео).

    Специальные аппаратные решения Широко распространено заблуждение, что для работы с видео обязательны специальные аппаратные решения: RAID контроллеры, SCSI контроллеры, SCSI жёсткие диски. Безусловно, аппаратный RAID контроллер и пара винчестеров в режиме чередующейся записи будут работать быстрее, чем винчестер в одиночку. Жёсткие диски SCSI обычно быстрее жёстких дисков IDE (плюс намного дороже и требуют специального SCSI контроллера). Однако скорость современного жёсткого диска IDE вполне достаточна для записи потока данных оцифрованного видео.

    Операционная система Платформа Признаюсь, я не интересовался этим вопросом специально, но я слышал только про одну программу под Linux, которая работает с платой захвата видео и ТВ приёмником. Я уже не помню, позволяет она смотреть ТВ передачи, или с её помощью также возможно захватывать видео. В любом случае, одна программа — а пускай их даже существует ещё пара–тройка — не идут ни в какое сравнение с тем обилием программ под платформу Windows.

    Второй аргумент: производители современных карт захвата выпускают полнофункциональные драйверы только под Windows. Единичные исключения (например, ATI) лишь подтверждают общее правило.



    Таким образом, выбор платформы для оцифровки видео более чем очевиден — это самая популярная и распространённая на сегодня мультимедийная операционная система: Windows.

    Какую Windows выбрать? Современное многообразие операционных систем Windows состоит из двух основных групп: Windows 98 (вторая редакция) и Windows МЕ — так называемые Windows 9x; и Windows 2000, Windows XP, Windows 2003. Более ранние версии Windows не удовлетворяют современным требованиям программ захвата видео и драйверов карт захвата видео — их практически невозможно использовать.

    Линейка Windows 9x построена на старом ядре Windows 95, которое достаточно плохо реализует распределение вычислительных ресурсов. Поэтому работа за компьютером во время захвата видео будет чревата сбоями по малейшему поводу: чтение дискеты, ошибка чтения CD, запуск большой программы. На практике во время захвата видео на компьютере под управлением операционной системы семейства Windows 9x не стоит делать абсолютно ничего: сбои захвата чересчур вероятны. Также линейка Windows 9x не поддерживает работу с новой файловой системой NTFS, это порождает целый ряд проблем (см. раздел Файловая система). Единственное преимущество операционных систем семейства Windows 9x: более скромные требования к оперативной памяти компьютера. В случае если вы ограничены объёмом памяти в 64 Мбайта — Windows 9x для вас будет единственным доступным выбором.

    Крайне не рекомендуется использовать операционную систему из семейства Windows 9x для захвата видео. Какую из более новых операционных систем Windows вам выбрать — с точки зрения захвата видео совершенно всё равно. Выбор остаётся за вами, согласно вашим личным предпочтениям.

    Дополнительные компоненты операционной системы Компания Microsoft разработала подсистему Windows для работы с мультимедиа данными, в том числе звуком и видео: она носит название DirectX. Многие программы для захвата видео работают с использованием DirectShow — одна из частей DirectX. Драйверы многих карт захвата видео поддерживают захват только с использованием DirectShow.



    Microsoft постоянно дополняет и совершенствует DirectX: оптимизирует работу существующих подсистем, исправляет ошибки. Последнюю версию DirectX всегда можно скачать с сайта Microsoft. Актуальная версия на момент написания статьи: DirectX 9c (поставка Windows 2000 включает в себя DirectX всего лишь 7–й версии, Windows XP — 8й).

    Драйверы устройств Драйвер — это специальная программа, которая обеспечивает взаимодействие конкретной аппаратуры с операционной системой. В результате программы, использующие эту аппаратуру, могут получить доступ к ней посредством стандартных интерфейсов, не вдаваясь в особенности её аппаратной реализации. Драйвер карты захвата видео работает постоянно во время процесса захвата. От производительности, стабильности и надёжности драйвера в большой степени зависит производительность и надёжность всего процесса захвата видео. Как правило, более именитые производители аппаратуры продают больше своей продукции и могут себе позволить вкладывать больше ресурсов в разработку драйверов. Так, драйверы карт захвата от Aver отличаются очень высокой надёжностью — особенно по сравнению с конкурентами от K–World.

    В силу того, что драйвер постоянно исправляется и совершенствуется производителем аппаратуры, рекомендуется использовать последнюю версию драйверов — их можно скачать с сайта производителя. ATI выпускает обновления драйверов к своим видеокартам едва ли не каждый месяц.

    Случается, что для некоторых распространённых устройств группами программистов–любителей создаются альтернативные драйверы, которые часто имеют лучшую функциональность, производительность и надёжность, чем драйвера от производителя аппаратуры. Например, для семейства звуковых карт Creative Live! и Creative Audigy существуют драйверы kX Project. Для карт захвата видео на базе чипа Conexant bt848/878 (см. Отдельные карты оцифровки видео) также существуют альтернативные драйверы, написанные Иваном Усковым, и вариант драйверов, в которых реализована возможность захвата полного кадра через VfW: от Eduardo Jose Tagle.


    При работе с такими картами захвата видео настоятельно рекомендуется использовать именно эти драйверы.

    Источник видео сигнала и кабели для подключения Источник аналогового видео сигнала Источником аналогового видео сигнала может быть телевизор, видеомагнитофон, видеокамера.

    Кабели Источник сигнала соединяется при помощи кабеля с картой оцифровки. Общая рекомендация при выборе кабеля для аналогового сигнала: использовать качественные коаксиальные кабели. Очень часто бытовая аппаратура и компьютерная периферия комплектуется дешёвыми тонкими кабелями, которые в значительной степени подвержены наводкам. Их использование существенно ухудшает качество передаваемого сигнала. Простой признак более–менее качественного коаксиального кабеля — это его толщина, которая должна быть не меньше 6—7 мм.

    Для передачи аналогового видео сигнала используются композитный (composite) или S–video кабель. В первом случае по одному кабелю передаётся как яркостная, так и цветовая компоненты видео сигнала. В случае S–video, яркостная и цветовые компоненты передаются по двум разным кабелям, что позволяет достигнуть большей чёткости изображения. (Кабель S–Video также иногда называют S–VHS, потому что впервые они появились в видеомагнитофонах стандарта S–VHS.)

    Предпочтение следует отдавать S–video подключению — подключение через композитный выход ухудшит качество обрабатываемого видео. Подавляюще большинство карт захвата видео имеют возможность подключения S–video кабеля. С бытовой аппаратурой дело обстоит не так радужно: лишь более дорогие модели имеют S–video выход.

    Разъёмы Для подключения S–video кабеля в картах захвата используется разъём S–video (он немного похож на PS/2 разъём для клавиатуры или мыши). Для подключения композитного кабеля применяется разъём RCA «тюльпан». В бытовой аппаратуре — особенно телевизорах и дорогих видеомагнитофонах — наряду с такими же разъёмами может также использоваться разъём SCART: широкий пятиугольный разъём со множеством плоских контактов.

    За подробной и точной информацией о видео входах на вашей карте оцифровки видео, а также о видео выходах на вашем источнике видеосигнала, обращайтесь к документации на соответствующие устройства.



    Переходники Мне приходилось встречаться с переходниками с S–video на RCA («тюльпан»), которые преобразуют S–video сигнал в композитный. Причём таких переходников существует два вида — один из них даёт чёрно–белое изображение (только яркостная составляющая), второй — нормальное цветное.

    Коммутация звука Звуковой сигнал при подключении источника аналогового видео передаётся по отдельным кабелям. Карты захвата обычно имеют разъём 1/4 дюйма (mini jack; такой же, как и разъём для наушников в звуковой карте). Оцифровкой звука в процессе захвата почти всегда занимается звуковая карта компьютера.

    Звуковые выходы на источниках видео сигнала выполнены в подавляющем большинстве случаев в виде разъёма RCA «тюльпан»: один для моно звука или 2 для стерео. Соответственно для коммутации звукового сопровождения видео вам будет нужен соответствующий кабель, или же кабель RCA на RCA и переходник с RCA на mini jack.

    Источник цифрового видео сигнала Как источники цифровых видео сигналов будем рассматривать только цифровые видео камеры. Другие источники цифрового видео — диски Video CD и DVD — несложно считать при помощи соответствующих приводов в компьютере (CD или DVD).

    Все цифровые камеры форматов DV/Digital8/MicroMV имеют интерфейс IEEE 1394 (FireWire), при помощи которого они подключаются к компьютеру. Современные материнские платы имеют интегрированный контроллер IEEE 1394, также не сложно купить отдельную интерфейсную карту (сейчас они стоят $15—20). Кабель для подключения камеры вам обойдётся ещё в $2—3 (совершенно не нужно покупать дорогой «фирменный» кабель за $20—30: всё равно информация передаётся в цифровом виде без потерь). Учтите, что существует несколько видов разъёма IEEE 1394, потому будьте внимательны при покупке кабеля.

    Звук в записи цифровой камеры также закодирован в цифровом виде и передаётся вместе с видео: в том же потоке данных по тому же цифровому подключению.

    Конечно, можно подключить цифровую камеру и через аналоговый интерфейс, но двойное преобразование сигнала «цифра–аналог–цифра» не пойдёт на пользу качеству изображения.



    Карта оцифровки видео В настоящее время покупателю доступен широкий ряд устройств, позволяющий оцифровывать аналоговое видео. Среди них можно выделить несколько основных групп. Самые дорогие — карты захвата с аппаратным сжатием видео. Такая карта способна оцифровывать аналоговое видео и «на лету» сжимать его, обычно в формат MPEG–2 или DV. Популярный представитель такого класса карт: Canopus ACEDVio. Существуют и внешние решения такого рода — конвертеры для подключения по USB/FireWire, например, Pinnacle MovieBox USB. Следующий класс устройств — это карты захвата видео без аппаратного сжатия. Очень часто такие карты также комплектуются ТВ приёмником. Подавляющее большинство таких карт раньше собирались на основе чипа оцифровки видео Conexant bt848 и его наследника bt878 (как и мой Aver TV–studio 203). В последнее время получают распространение чипы для оцифровки на базе новых чипов: Conexant cx2388x и Philips SAA713x, которые обеспечивают более высокое качество оцифровки (Philips особенно хорош для записей в стандарте SECAM, который используется на телевидении на территории бывшего СССР). Так, новые карты захвата Aver TV 301/305/307 содержат чип оцифровки видео Philips. Подробнее о разных картах захвата и оцифровки видео (в том числе с ТВ приёмниками) вы можете прочесть в соответствующих разделах сайта iXBT: Цифровое видео и TV–out и TV–тюнеры, а также на сайте TV & FM тюнеры.

    Следующий класс устройств — это видеокарты с возможностью оцифровки видео. Эти устройства собираются на основе тех же чипов оцифровки видео, что и отдельные ТВ–тюнеры. Видеокарты с возможностью оцифровки видео выпускают самые разные производители видеокарт (nVidia, ATI). Среди таких видеокарт существует два больших класса: с ТВ приёмником (напр. линейка ATI All-in-Wonder) и без ТВ приёмника (напр. линейка ATI VIVO — video in, video out). Подробнее о разных видеокартах с функциями захвата и оцифровки видео (в том числе с ТВ приёмниками) вы можете прочесть в соответствующем разделе сайта iXBT.

    Выбор карты оцифровки видео При выборе типа карты для оцифровки видео вам нужно ответить на такие вопросы: есть ли у вас уже видеокарта и собираетесь ли вы её заменить? Собираетесь ли вы менять видеокарту в будущем? Обычно видеокарты часто меняют те, кто играет в компьютерные игры: именно в этой области современные видеокарты эволюционируют очень быстро.



    Если вы выбираете карту с ТВ–приёмником, то вам необходимо учитывать, что выбранная вами карта должна поддерживать стандарт телевизионного вещания вашей страны. Подробнее см. Телевизионные стандарты.

    Если у вас есть видеокарта, и вы не собираетесь её менять; или наоборот — вы собираетесь менять свою видеокарту каждые полгода–год, то вам удобнее будет купить отдельную карту для захвата видео. На сегодня на рынке представлен широкий спектр таких карт по ценам от $30 до $80: разница в цене обусловлена функциональностью (наличие ТВ и радио приёмника, пульта дистанционного управления, поддержка стерео звука), использованным чипом оцифровки видео и именем производителя карты (именитый Aver дороже менее известного K–World). Чип Philips обеспечивает более высокое качество оцифровки видео, чем Conexant bt8x8, особенно для видео в стандарте SECAM. Новый чип Conexant cx2388x очень хорош для PAL и NTSC записей, но уступает чипам Philips на видео в стандарте SECAM. Что до производителя карты оцифровки, то тут многое зависит от личных предпочтений. Карты от Aver выполнены аккуратнее, комплект поставки богаче, в драйверах к ним меньше ошибок, работают они надёжнее и, в силу своей распространённости, они обладают большей совместимостью с различными программами.

    Если вы покупаете новый компьютер или как раз собирались поменять видеокарту, то вам удобнее купить видеокарту с возможностью оцифровки видео. Видеокарты с чипом оцифровки видео стоят на $5—10 дороже, чем их аналоги: цена в большой степени определяется ценой самой видеокарты. Если вам не нужен ТВ приёмник, то это будет оптимальным вариантом. На такие видеокарты как правило устанавливают такие же чипы, как и на отдельные карты оцифровки, оговорка про качество оцифровки чипами Philips и Conexant bt8x8 справедлива и здесь. Кроме того, на свои видеокарты ATI часто устанавливает чип собственной разработки Rage Teathre, который получше Conexant bt8x8, но явно хуже чипов следующего поколения.

    Видеокарты с чипом оцифровки и ТВ приёмником — как правило самая дорогая и функциональная модель в линейке видеокарт, она дополнительно комплектуется набором игр, комплектом программного обеспечения, пультом дистанционного управления и прочими мало полезными вещами.


    Возможно, вам будет дешевле купить обычную видеокарту и отдельную карту захвата видео с ТВ приёмником.

    Оцифровка при помощи цифровой камеры Также нужно упомянуть о возможности оцифровки видео при помощи цифровой видео камеры. Вы подключаете свой аналоговый источник видео к камере и либо включаете оцифровку через меню (у новых моделей), либо записываете видео на кассету, а при воспроизведении получите оцифрованный видео сигнал (см. также Источник цифрового видео сигнала). Не все видео камеры поддерживают такой режим: некоторые видеокамеры требуют доработки, так как такой режим в них умышленно заблокирован производителем. Многие дешёвые камеры последнего поколения вообще лишены возможности оцифровывать аналоговый сигнал. Также помните, что не существует камер, способных работать с видеосигналом в стандарте SECAM (см. Телевизионные стандарты).

    Видеокамеры Sony Digital 8 могут также оцифровывать видеокассеты формата Video 8 и Hi 8: вы вставляете кассету, ставите на воспроизведение, а с цифрового выхода камеры снимаете оцифрованный видео сигнал. Однако в начальных моделях последней линейки Digital 8 такая возможность исчезла.

    Качество оцифровки видео также сильно разнится от камеры к камере. Цифровые видео камеры достаточно дороги (не меньше $500), потому вряд ли кто–то станет покупать цифровую камеру ради оцифровки видео. Но если у вас есть такая камера, то почему бы не воспользоваться такими её возможностями? Ответ на вопрос «Чем лучше оцифровывать видео — цифровой видеокамерой или компьютерной платой оцифровки?» проще получить экспериментально: слишком велико многообразие как видеокамер, так и карт захвата видео.

    Что необходимо знать о видео сигналах Телевизионные стандарты Вам необходимо обеспечить совместимость карты захвата с источником видеосигнала по используемому способу передачи видео.

    В большинстве стран мира принят один из вещательных телевизионных стандартов: NTSC (Америка и Япония), PAL (Европа) или SECAM (Франция и бывший СССР). В каждой стране продаётся видео техника, способная работать с принятым в этой стране телевизионным стандартом.


    Если вы используете приобретённую в другой стране технику, обязательно проверьте в документации к вашему оборудованию, что ваш источник видео сигнала и карта захвата способны работать в едином телевизионном стандарте.

    Существуют также подтипы ТВ стандартов, как то: PAL–B, PAL–D, PAL–G и так далее. Они отличаются не собственно способом кодирования сигнала, а его параметрами (частотами и ширинами поддиапазонов). Карты захвата обычно способны работать с любым подтипом стандарта, нужно только указать его при настройке карты: либо указывается собственно название подтипа стандарта, либо название страны, где такой подтип стандарта принят для телевизионного вещания.

    Ввиду того, что стандарты PAL и SECAM очень похожи: оба передают 25 кадров в секунду и одинаково кодируют яркостную составляющую сигнала (чёрно–белое изображение), подавляющее большинство распространённой у нас видео техники способно работать с обеими стандартами — PAL и SECAM. По этой же причине видеокамеры на нашем рынке работают в стандарте PAL: рынок в бывшем СССР не такой уж большой, чтобы разрабатывать специальную SECAM версию; а раз все наши телевизоры и видеомагнитофоны поддерживают PAL, то это и не нужно.

    NTSC использует другой способ кодирования видеосигнала, в частности передаёт 30 кадров в секунду (точнее, 29,97 — хотя существует аппаратура, работающая с частотой кадров ровно 30,00 к/сек). Большинство используемой у нас видеотехники не способно работать с NTSC. Часто выпускаются две версии карт захвата: для работы с PAL/SECAM и отдельно для NTSC. Обязательно проверьте, что ваша карта захвата способна работать с вашим источником видеосигнала.

    Низкочастотные блоки всех карт захвата универсальны и способны оцифровать поданный на видеовход видеосигнал любого стандарта: вам лишь нужно указать в настройках правильное значение частоты кадров (25 или 30 для NTSC). Высокочастотные блоки — ТВ–приёмники — наоборот, специфичны для каждого ТВ–стандарта. Потому ваша карта захвата сможет записывать видео из ТВ–эфира только в том стандарте (одном или нескольких), на который она рассчитана.


    У нас продают карты с ТВ приёмниками стандарта PAL–D/SECAM–D, который принят в странах бывшего СССР.

    Вам не нужно беспокоиться, если вы используете цифровой источник видео: цифровая камера сделает всё за вас. Единственная разница будет в том, что видео оцифрованное с NTSC сигнала будет содержать 30 кадров в секунду вместо 25.

    Далее по тексту я для простоты буду считать, что в нашем видео сигнале 25 кадров в секунду. В случае, если в вашем видео 30 кадров в секунду, вам лишь необходимо заменить соответствующие цифры «25» на «30», а также «50» на «60» — остальная информация остаётся в силе.

    За более подробной информацией обратитесь к другим статьям, например Телевизионные стандарты: описания, характеристика.

    Разрешение и чёткость изображения Следует различать понятия разрешение — которое является характеристикой хранилища видео сигнала в цифровом виде — и чёткость, которое описывает свойства собственно видео сигнала.

    Рассмотрим такой пример: нарисуем в графическом редакторе картинку, состоящую из чередующихся белых и чёрных строк.

    Захват, обработка и хранение видео с использованием ПК Пусть её размер по вертикали будет 10 строк. Мы можем сохранить это изображение в графический файл, имеющий 10 пикселей по вертикали.
    Захват, обработка и хранение видео с использованием ПК Также мы можем сохранить это изображение в файл с 20 пикселей по вертикали,…
    Захват, обработка и хранение видео с использованием ПК 25 пикселей — и в каждом из них мы сможем увидеть лишь 10 линий: 5 белых и 5 чёрных.
    Захват, обработка и хранение видео с использованием ПК Если мы сохраним наше изображение в файл с 8 пикселей по вертикали, то мы сможем рассмотреть не 10 строк, а только 6: 3 белые и 3 чёрные.
    Захват, обработка и хранение видео с использованием ПК Если использовать 9 пикселей по вертикали, то останется только 8 строк (4 белые и 4 чёрные).
    Таким образом, на рассмотренном выше примере мы видим, что чёткость изображения (измеряется в количестве линий) не зависит от разрешения файла (измеряется в количестве пикселей), в который это изображение записано, если только разрешение не меньше чёткости изображения. Сохранение изображения в файл с разрешением меньшим, чем чёткость изображения, приводит к уменьшению чёткости. Отсюда следуют два простых правила: с одной стороны разрешение оцифрованного видео должно быть не ниже, чем чёткость исходного видео; с другой стороны не имеет смысл хранить видео с очень высоким разрешением: чёткости это не добавит, а занимать дополнительную память будет.



    Чёткость видео в бытовой аппаратуре Максимальную чёткость, которую способна обеспечить видеоаппаратура, можно измерить при помощи специальных источников сигнала: тестовых таблиц. Приблизительные значения чёткости изображения по горизонтали, которые обеспечивает бытовая аппаратура, примерно равны следующим значениям: видеомагнитофоны и камеры формата VHS: 210—220 линий. Новые качественные камеры и магнитофоны формата VHS, в том числе с 4 или более считывающими головками в состоянии обеспечить чёткость изображения до 240—260 линий. Видеокамеры формата Video8 в состоянии обеспечить до 270—280 линий. Аппаратура форматов Hi8 и S–VHS может обеспечить чёткость до 420—440 линий. Видеокамеры формата DV и DVD в состоянии обеспечить до 540 линий. Количество видимых строк в стандартах PAL и NTSC фиксировано и составляет соответственно 576 и 480.

    Пояснение: эти самые линии по горизонтали считаются не на всей длине строки, а на её части, равной высоте экрана, т.е. в квадрате. Таким образом и подсчитан теоретический максимум для DV при нормальном соотношении сторон экрана 4 на 3: 720 пикселей * 3/4 = 540 линий.

    Посмотрите, как падает чёткость изображения DVD качества после записи его на обычный бытовой видеомагнитофон формата VHS и последующем захвате видео:

    Захват, обработка и хранение видео с использованием ПК
    Захват, обработка и хранение видео с использованием ПК Нет необходимости подписывать картинки — настолько разительна разница в чёткости. В этом примере горизонтальная чёткость уменьшилась больше чем вдвое.

    Резкость — чёткость границ Очень часто термин «чёткость» в области обработки изображений (или видео) можно также услышать применительно к операции повышения чёткости границ (sharpen) — резкости изображения. Я призываю вас не путать эти понятия, так как чёткость изображения по вертикали или по горизонтали не имеет ничего общего с резкостью. Операции sharpen и blur увеличивают и уменьшают контрастность изображения вблизи границ объектов, тем самым резкие переходы на изображении подчёркиваются или скрадываются. Это приводит к тому, что объекты на рисунке воспринимаются человеком как более чёткие или более смазанные.


    Эффект проявляется в силу особенностей зрительного восприятия: мозг в первую очередь пытается выделить на изображении отдельные объекты. Резкость не имеет никакой количественной абсолютной характеристики.

    Кадры, поля и чересстрочное изображение Чересстрочное и прогрессивное видео В настоящее время применяется два способа передачи видео: устаревший чересстрочный и более новый прогрессивный. Вещательный телевизионный сигнал по историческим причинам использует чересстрочный способ. Это означает, что кадр (frame) передаётся не целиком, а из двух половинок: сначала передаётся первый полукадр (или поле — field), который отображается в нечётные строки кадра, а потом — второй полукадр, соответственно он отображается в чётные строки.

    Прогрессивный кадр содержит все строки: чётные, и нечётные. Компьютерная техника отображает изображение в прогрессивном формате. Прогрессивный кадр лишь недавно стал применяться в видеотехнике, например новые видео DVD содержат кинофильмы записанные с прогрессивной развёрткой. Телевещание и подавляющее большинство современных видеокамер используют чересстрочную развёртку. Видеокамеры с прогрессивной развёрткой завоёвывают всё большую популярность, однако пока на рынке их достаточно мало.

    Очевидно, вертикальное разрешение каждого полукадра (количество строк) вдвое меньше разрешения полного кадра.

    Особенности чересстрочного видео Следует понимать, что в ТВ сигнале или при съёмке камерой каждый полукадр содержит изображение, отснятое на 1/50 секунды позже: то есть между первым и вторым полукадром проходит 20 мс. За это время объекты, находящиеся в кадре, могут сместиться. С другой стороны поля — элементы полного кадра, то есть 2–я строка (принадлежащая второму полю) расположена ниже 1–й строки (принадлежащей первому полю), 4–я (2–е поле) — ниже 3–й (1–е поле) и так далее. Таким образом, чётные полукадры находятся ниже нечётных. В силу этой особенности полукадры часто называют верхними (top) и нижними (bottom).

    Всё сказанное выше справедливо также и для стандарта NTSC, с той только разницей что количество кадров в секунду составляет 30 (точнее, 29,97), соответственно полей в секунду — 60 (59,94).


    Также различается и порядок следования полей: в PAL верхние поля следуют после (позже) нижних, а в NTSC — наоборот.

    Захват чересстрочного видео При захвате видео компьютеру передаётся набор полных кадров с частотой 25 к/сек, чётные строки кадра содержат одно поле, нечётные — другое. Порядок полей не оговорен стандартами и зависит от аппаратуры: первым может быть как верхнее, так и нижнее поле. Этот метод имеет как свои преимущества, так и ряд недостатков — подробнее про них рассказано в следующем разделе.

    Очень важно, чтобы при захвате чересстрочного видео использовалось полное разрешение по вертикали (576 строк для PAL и SEACM, 480 строк для NTSC). В противном случае из–за уменьшения размера по вертикали часть строк будет потеряна; будет нарушено правило «одно поле в чётных строках, другое — в нечётных». Полученную видеозапись никакой алгоритм deinterlace не сможет исправить. Уменьшение размера по вертикали нужно обязательно делать не при захвате, а при обработке видео: после применения deinterlace или же каким–то другим методом, который не нарушит структуры полей (см. следующий раздел).

    Отображение чересстрочного видео на компьютере Описанная выше структура чересстрочного видео нормально воспринимается при воспроизведении на телевизоре — он имеет невысокое разрешение по вертикали, потому чётные и нечётные строки выводятся практически одна поверх другой. Мы видим все 50 фаз движения в секунду, полукадры всегда отображаются последовательно, один за другим.

    Иначе обстоит дело, когда мы пытаемся воспроизвести чересстрочное видео на прогрессивном устройстве, каким является монитор компьютера. Существует ряд способов, как показать на компьютере чересстрочное видео:

  • показывать только чётные или только нечётные поля, получим 25 кадров в секунду;
  • показывать все поля по очереди, получим 50 кадров в секунду;
  • составить полный кадр из двух полей и показывать 25 кадров в секунду.
  • Оставляем только половину полей Недостатки первого способа очевидны: мы теряем половину информации из исходного видео.


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

    Сохраняем 50 кадров в секунду Из 50 полей в секунду можно получить 50 кадров в секунду двумя способами: оставить разрешение кадра равным разрешению поля, то есть половине разрешения кадра; или увеличить разрешение по вертикали вдвое. Первый вариант не так хорош, как кажется: поскольку одно из полей находится ниже другого, то при выводе полукадров последовательно на экран прогрессивного устройства (монитор компьютера) мы увидим мелкое дрожание изображения вверх–вниз (тремор). Второй вариант позволит сохранить вертикальную чёткость только в том случае, если при увеличении разрешения будет использоваться информация из двух полей (интерполяция), при этом вдвое вырастет время обработки видео и требуемый для хранения объём. Более чем вдвое возрастают требования к мощности компьютера для воспроизведения такого видео.

    Реальная необходимость сохранять 50 фаз движения в секунду имеет смысл для записей ТВ трансляций спортивных передач: часто их просматривают в замедленном виде или же вообще покадрово. Также желательно сохранить 50 кадров в секунду для плохо снятых любительских записей видео камерой, когда камера у «оператора» постоянно дрожит.

    Подробнее о работе с оцифрованным видео с сохранением 50 фаз движения в секунду вы можете прочесть в статье Виктора Томилова 50 кадров в секунду.

    Формируем 25 кадров в секунду — deinterlace Самый распространённый способ представления оцифрованного видео на компьютере — это составление полного кадра из двух полукадров: в нечётные строки записывается содержимое одного поля, в чётные — другого.


    Необходимо учитывать то, что разные полукадры могут относиться к разным моментам времени. За 20 мс, которые разделяют два полукадра, объекты в кадре могут сместиться. При выводе прогрессивного видео с частотой 25 кадров в секунду будут заметны дефекты изображения (артефакты), которые очень часто за характерную форму называют «гребёнкой» или «расчёской». Посмотрите, на этом примере автомобили движутся влево:

    Захват, обработка и хранение видео с использованием ПК
    «Гребёнка» чересстрочного видео. Для сравнения — прогрессивный кадр:
    Захват, обработка и хранение видео с использованием ПК Вы видите, что контуры всех объектов, которые сместились за 20 мс, «двоятся»: в одном полукадре (который расположен в нечётных строках) мы видим одно положение объектов, в другом полукадре (чётные строки) — другое положение. Очевидно, что чем быстрее движется объект в кадре, тем больше несоответствие позиций объектов в полукадрах — и тем заметнее артефакты:

    Захват, обработка и хранение видео с использованием ПК
    Пока правый автомобиль был далеко от камеры, разница его положений составляла всего пару пикселей.
    Захват, обработка и хранение видео с использованием ПК
    Когда автомобиль приблизился к камере, разница его положений стала заметно больше. На необычных видеоэффектах артефакты чересстрочности приобретают ещё более причудливые формы:

    Захват, обработка и хранение видео с использованием ПК
    Надпись увеличивается. Нужно добавить, что «гребёнка» содержит множество мелких деталей, а это чрезмерно усложняет процесс последующего сжатия видео.

    Для устранения эффекта чересстрочности применяются специальные меры, которые называются deinterlace (произносится как «деинтерлейс»). Существует несколько методов deinterlace. Bob deinterlace применяется для вывода 50 фаз движения на прогрессивном устройстве: растягиваем первое поле вдвое по вертикали и при помощи интерполяции смещаем изображение на половину пикселя вниз, растягиваем второе поле вдвое по вертикали и при помощи интерполяции смещаем изображение на половину пикселя вверх. Field deinterlace строит один кадр из двух полукадров, результат обработки имеет 25 кадров в секунду. Способов устранения артефактов чересстрочности несколько: от простого усреднения содержимого двух полей, до сложных алгоритмов детектирования движения в кадре и построения результирующего прогрессивного кадра при помощи интерполяции.


    В результате применения таких методов несколько снижается чёткость изображения: у готового прогрессивного кадра чёткость практически равна чёткости исходного видеосигнала в статичных сценах, в динамичных сценах она несколько меньше.

    Восстановление прогрессивного видео Иногда прогрессивное видео передаётся посредством чересстрочного сигнала — например кинофильм транслируется по ТВ. В таком случае верхний и нижний полукадры могут попадать в поля одного чересстрочного кадра (…[1в 1н] [2в 2н] [3в 3н] [4в 4н]…), но возможен такой вариант: …[1н 2в] [2н 3в] [3н 4в]… — то есть полукадры смещены на один. При просмотре кадра такого видео будет заметна «гребёнка», характерная для чересстрочного видео. В результате применения deinterlace мы получим гало — полупрозрачную дымку — вокруг всех движущихся объектов, будем видеть два полупрозрачных контура движущихся объектов.

    Для того чтобы реконструировать исходное прогрессивное видео нам необходимо сдвинуть поля видеосигнала таким образом, чтобы восстановить их исходный порядок. Необходимыми возможностями обладают наиболее универсальные фильтры для проведения deinterlace.

    Восстановление чересстрочного видео В силу различных причин, описанная выше для прогрессивного видео ситуация может возникнуть и для чересстрочного видео. Алгоритму deinterlace это не помешает, если будет сохранён правильный порядок полей. Но часть аппаратуры по работе с видео (в том числе и некоторые карты захвата видео) грешит тем, что переставляет поля в пределах кадра, реже — ещё как–либо меняет порядок полей или кадров. В случае, если после deinterlace вы получаете гало вокруг движущихся объектов — порядок полей в исходном видео сигнале перепутан.

    Чтобы нормально обработать такую видеозапись вам необходимо переставить поля или кадры так, чтобы восстановить исходный порядок полей. Необходимыми возможностями обладают наиболее универсальные фильтры для проведения deinterlace. Комбинацию настроек, скорее всего, вам придётся подбирать экспериментально. Подробнее об этом написано в 4–м разделе статьи Виктора Томилова Захват и обработка аналогового видео с максимальным качеством для сжатия в MPEG–4.



    К счастью, описанные выше проблемы появляются не часто: в подавляющем большинстве случаев чересстрочное видео имеет правильный порядок полей.

    Сохраняем чересстрочное видео Не смотря на то, что монитор компьютера выводит прогрессивное видео, мы можем сохранить наше чересстрочное видео в исходном виде. Потом нам нужно будет или производить deinterlace во время воспроизведения на компьютере, или выводить изображение на телевизор или видеомагнитофон (где артефакты чересстрочного видео не видны).

    Проблем при этом подходе несколько. Во–первых на 20—30% вырастают требования к размеру сжатого видео. Вторая проблема — как организовать вывод с компьютера на ТВ «честного» чересстрочного видео: с правильным порядком полей, которые бы сменялись 50 раз в секунду. Некоторые видеокарты с ТВ выходом позволяют это делать (например, ATI Radeon или Matrox), другие — нет.

    Описанную выше проблему можно обойти, записав видео в доступном для аппаратных проигрывателей формате. До недавнего времени таким форматом был только MPEG–2 — его сможет воспроизвести любой DVD проигрыватель. Для качественного сжатия видео в формат MPEG–2 необходимы огромные объёмы данных (25—30 минут на CD) — видео в формате MPEG–2 удобно записывать только на DVD. Такой вариант решения на сегодня несколько дороже, хотя он и обладает рядом неоспоримых преимуществ: видео DVD могут быть воспроизведены любым аппаратным DVD–проигрывателем (включая поддержку нескольких звуковых дорожек, субтитров и меню), использование более ёмких дисков позволяет использовать потоки данных большей ширины, чересстрочное видео просто сохраняется в исходном виде (сохраняется исходное разрешение по оси времени). Лично мне не доводилось работать с такой технологией, за подробностями рекомендую обратиться к сайту М. Афанасенкова или к FAQ по созданию и редактированию цифрового видео.

    В последнее время начали появляться DVD проигрыватели с возможностью декодирования видео в формате MPEG–4. Последние версии кодеров DivX и XviD имеют режимы для сохранения чересстрочного видео.


    Но эти режимы пока мало протестированы, даже сами авторы кодеров не рекомендуют их использовать. Сегодняшние версии программных декодеров не позволяют качественно воспроизвести чересстрочное видео на компьютере: DivX производит во время воспроизведения некий вариант field deinterlace, что приводит к «размазыванию» краёв движущихся объектов. Лучше доверить deinterlace более сложному алгоритму на этапе обработки видео, там он не будет стеснён жёсткими временными рамками «40 мс на кадр» и в состоянии обеспечить более высокое качество. Также вы можете использовать аппаратные проигрыватели с возможностью декодирования MPEG–4, например проигрыватель Xoro в состоянии воспроизводить чересстрочное видео, закодированное DivX.

    Также видео можно хранить непосредственно в формате DV. Такой вариант позволяет избежать дополнительных потерь при обработке и сжатии видео, с другой стороны — видео в формате DV занимает много места: 13 Гбайт/час. Вы можете хранить DV–записи на DV–кассетах, однако такой вариант достаточно дорог; кроме того кассеты подвержены механическому износу и не обеспечивают быстрого доступа к любому месту записи (в отличие от дисковых носителей).

    Цифровое видео В этом разделе описаны базовые факты из области цифровой обработки видеоинформации, которые нужны для понимания дальнейшего материала.

    Кодирование цвета Карты захвата видео предоставляют возможность сохранить поток данных в таком же виде, в каком они выходят с чипа оцифровки видео. Эти чипы выдают информацию не в привычном для компьютера формате в виде набора цветовых компонент RGB (red, green, blue), а в виде яркостной и двух цветовых составляющих (YUV). Причём для группы из двух последовательно идущих пикселей сохраняется два значения яркости и по одному значению цветовых компонент, то есть получается 4 байта (32 бита) на 2 пикселя или 16 бит на пиксель. Такой метод называют chroma subsampling, а способ записи называют кодированием цвета YUV2 (или YUYV, или 4:2:2). Из–за особенностей человеческого зрения разницу с обычным RGB представлением увидеть практически невозможно: глаз более чувствителен к яркости, чем к цвету (точнее разрешающая способность глаза по яркости выше, чем по цвету — за счёт разной концентрации колбочек и палочек на сетчатке).


    Очевидно, такой нехитрый метод позволяет существенно снизить объём информации для оцифрованного видео: если сохранять привычные 24 бита на пиксель вместо 16, то потребуется в 1,5 раза больше места. Поскольку информация с карты захвата поступает уже в YUV2, нет абсолютно никакого смысла записывать на диск RGB.

    Также распространён метод кодирования YUV12 (YV12) — в нём общие значения цветовых компонент имеют группы из 4 пикселей (2x2 для PAL или 4x1 для NTSC; метод также называется 4:2:0, либо 4:1:1, соответственно). Для 4 пикселей сохраняется 4 байта яркости, 1 байт цветности U и 1 байт цветности V, в среднем получается 12 бит на пиксель — отсюда название. Подробнее про способы кодирования цвета см. напр. FAQ по оцифровке видео с минимальными затратами. Для нас важно то, что такие способы представления видео информации является традиционным для цифрового видео, они используется практически всеми кодерами видео.

    Поток данных (bitrate) Важно понимать, что означает термин «поток данных» (bitrate, часто используют русскую транскрипцию: битрейт). Поток данных — это количество информации в сжатом виде, приходящееся на единицу времени для какой–либо записи. Существует два способа сжатия информации: с постоянным потоком данных (CBR, constant bitrate) и с переменным потоком данных (VBR, variable bitrate). В первом варианте каждый блок данных сжатого файла (который имеет определённую длительность при воспроизведении) имеет постоянный размер — соответственно поток данных не меняется на протяжении всего файла. В случае переменного потока данных, каждый блок по выбору кодера может иметь больший или меньший размер. Поскольку реальные сигналы имеют постоянно изменяющуюся сложность, метод кодирования с переменным потоком данных оказался существенно эффективнее. Очевидно, чтобы так же качественно закодировать информацию с постоянным потоком данных необходимо всегда использовать максимальный возможный размер блока, что приведёт к перерасходу битов на несложных участках.

    Когда поток данных не постоянен, то говоря о ширине потока данных подразумевают среднюю величину потока данных.


    Усреднение традиционно проводится в течении всей записи.

    С точки зрения изменения сложности для сжатия, видеоинформация существенно сложнее, чем звуковая. Статичные сцены, где из кадра в кадр меняется лишь малая часть изображения, сменяются динамичными, где во время взрывов и погонь сложно найти два одинаковых кадра. Первые реализации MPEG кодеров использовали сжатие видео с постоянным потоком данных (в частности — стандарт Video CD, MPEG–1 сжатие). Однако это даёт настолько неудовлетворительные результаты, что сжатие видео с постоянным потоком данных на сегодня не используется нигде. Есть, правда, два исключения: совместимость со старыми стандартами (например Video CD) и цифровое вещание (network broadcasting). Мы же всегда будем использовать сжатие видео с переменным потоком данных.

    Ширина потока данных измеряется в битах в секунду или байтах в секунду. Потоки данных при работе с видео достаточно велики, потому чаще встречаются килобиты и мегабиты. Напомню, байт содержит 8 битов, килобайт содержит 1 024 байта, мегабайт равен 1 024 килобайтам, то есть 1 048 576 байтам. С битами не всё так просто: DivX Networks внесли изрядную путаницу, используя соотношение 1 кбит = 1 000 бит в своём кодере.

    Устройство алгоритмов сжатия видео Типы кадров Поток данных в формате MPEG (1, 2 и 4) может содержать три типа кадров: ключевые кадры (keyframe, intra–frame, I–frame), промежуточные (predictable, forward predictable, P–frame) и двунаправленные (backward predictable, bi–directional, BiDir, B–frame).

    Ключевой кадр содержит всю информацию об изображении в кадре и никак не зависит от других кадров.

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


    Очевидно, что такой способ хорош при воспроизведении видео (когда все кадры отображаются последовательно: декодеру нужно лишь сохранять в памяти нужные предыдущие кадры). При монтаже такой способ хранения информации куда как менее удобен: во–первых возрастает среднее время декодирования одного кадра (для декодирования промежуточного кадра нужно декодировать не один, а несколько кадров), во–вторых разрезать и склеивать видеоряд возможно только так, чтобы первый кадр в отрезанном куске видеоряда был ключевым.

    Двунаправленный кадр также содержит не всё изображение. Но в отличие от промежуточного кадра, он может ссылаться и на следующий за ним промежутоный кадр: отсюда и происходит его название. Двунаправленные кадры занимают ещё меньше места, чем промежуточные. Способ декодирования двунаправленного кадра ещё сложнее, чем декодирование промежуточного кадра: сначала по описанной выше схеме декодируется следующий за двунаправленным промежуточный кадр; потом, используя информацию о соседних кадрах, декодируется двунаправленный кадр.

    Из сказанного выше следует, что чем чаще в видеозаписи расположены ключевые кадры, тем быстрее осуществляется перемотка и доступ к произвольному кадру. Но, поскольку ключевые кадры занимают наибольший размер, тем хуже будет сжатие видеозаписи.

    Группы кадров Группой кадров (GOP, Group Of Pictures) называют последовательность между двумя ключевыми кадрами. Подгруппой кадров (Sub GOP) называют последовательность между двумя промежуточными кадрами. Традиционно у MPEG–1 и MPEG–2 кодеров задаётся длина групп и подгрупп кадров. Типичные параметры для MPEG–кодеров: 15 и 3, что соответствует последовательности кадров I BB P BB P BB P BB P BB I … Простые MPEG–1/2 кодеры используют эти параметры как руководство к действию, более сложные — как рекомендацию.

    Очевидно, что когда в видеоряде сменилась сцена — новый кадр содержит абсолютно не похожее на предыдущий кадр изображение — имеет смысл начать новую сцену с ключевого кадра. Алгоритм, который вставляет ключевой кадр в начале новой сцены, называется «определением смены сцены» (scene change detection), он реализован во всех современных MPEG–4 кодерах.


    Несложные MPEG–1 и MPEG–2 кодеры, которые содержатся в программах для захвата видео, лишены его.

    Ввиду особенностей развития MPEG–4 кодеров, поддержка двунаправленных кадров была реализована не сразу. DivX и XviD имеют настройки, которые позволяют включать и выключать использование двунаправленных кадров. В DivX можно ограничить последовательность двунаправленных кадров одним (последовательность кадров вида …IBPBPB…) или двумя (последовательность вида …IBBPBBP…), XviD также позволяет указать допустимое количество идущих подряд В–frame (по умолчанию — 2). И DivX, и XviD содержат параметр, который ограничивает максимальную длину группы кадров — максимальное расстояние между ключевыми кадрами. Поскольку все MPEG–4 кодеры содержат алгоритм обнаружения смены сцены, этот параметр традиционно достаточно велик и равен по умолчанию примерно 10 секундам (240—300 кадров). Ключевые кадры добавляются кодером в случае необходимости, а ограничение длины группы кадров больше нужно для оббеспечения быстрой перемотки.

    В случае если вы хотите использовать MPEG сжатие в качестве промежуточного, то вам крайне желательно отключить использование двунаправленных кадров, укоротить длину группы кадров. Это позволит повысить скорость доступа к произвольному кадру вашей видеозаписи, также снизится вычислительная сложность кодирования видео. С другой стороны такой способ сжатия потребует больше места. В идеале нужно заставить кодер сохранять последовательность из одних ключевых кадров, что сделает его подобным методу сжатия MJPEG.

    Развитие MPEG–4 кодеров За последние несколько лет мы наблюдаем бурное развитие кодеров видео. Сегодня различными разработчиками развивается множество программ, которые позволяют сжимать видео — большая часть основана на технологиях MPEG–4. Обратите внимание, что не все рассматриваемые кодеры совместимы со стандартом ISO MPEG–4:

  • DivX 4, DivX 5, XviD, 3ivX, Nero Digital, ffDShow и Mpegable создают видео, полностью соответствующее стандарту MPEG–4 ASP (advanced simple profile);
  • DivX 3, Microsoft MPEG–4, WMV, VP6 и RealVideo не совместимы со стандартом ISO MPEG–4 — декодировать такие записи можно только специальными декодерами.
  • 3ivX разработала набор кодеров: видео, звук (MPEG–4 AAC) и инструменты для поддержки контейнера MP4 (см.


    Формат контейнера видеозаписи). Ahead Software для своего пакета записи и копирования CD и DVD дисков создала MPEG–4 кодер Nero Digital (также в комплекте с кодером AAC и поддержкой контейнера MP4). Microsoft продолжает выпускать новые версии кодеров Windows Media Video (WMV), которые также основаны на MPEG–4. Mpegable выпустила свой MPEG–4 кодер, особенно неплохой при небольших потоках данных (см. статью Хорошие и плохие стороны кодека Mpegable MPEG–4, рекомендации и советы по использованию). On2 выпустила очень необычный и многообещающий кодек VP6 (см. статью On2 VP6 6.2 (VP62) — 10 тысяч метров, полет нормальный). Последние версии формата RealVideo — 9–я и 10–я — также основаны на MPEG–4. DivX Networks продолжает развитие своего кодера DivX — пожалуй самого успешного и популярного. Альтернативная разработка, основанная на исходных кодах старого–доброго OpenDivX — XviD — продолжает развиваться и уже достигла стабильного состояния. XviD на сегодня обеспечивает лучшее качество сжатия видео (см. напр. сравнение кодеров видео на сайте Doom9) и полную совместимость со стандартом MPEG–4. В среде Unix разрабатывается и используется библиотека с открытыми исходными кодами libavcodec — в частности она поддерживает кодирование MPEG–4 видео. Существует реализация этого кодера под Windows: ffDShow. В последнее время на рынке появляется всё больше реализаций кодеров MPEG–4 AVC (H.264) — однако на сегодня они ещё находятся в состоянии бурного развития и пока не рекомендуются к использованию.

    Множество пользователей использует разные MPEG–4 кодеры видео, в интернете можно найти множество информации по этому вопросу (см. напр. Информация о MPEG–4 (включая AVC/H.264)). Проводятся тестирования и сравнения — по качеству изображения, скорости работы и т.п. Самый известный на сегодня любительский сайт в области технологий сжатия видео — это Doom9. На этом сайте также действует форум, очень популярный в кругах энтузиастов от цифрового видео. Хозяин и автор сайта, Doom9, регулярно проводит сравнения разных кодеров видео, последнее из них он закончил к Новому 2004 году.


    Это тестирование выявляет явных аутсайдеров с точки зрения сохранения качества изображения (Windows Media 9, 3ivX, libavcodec, Nero Digital 4.1.4 — последний, правда, исключительно быстрый).

    Выбор MPEG–4 кодера Оставшиеся кодеры — RealVideo 9, VP6.0, DivX и XviD — представляют группу лидеров. RealVideo обеспечивает самую мягкую и смазанную картинку, XviD — самую чёткую, VP6 чуть–чуть хуже XviD. DivX занимает промежуточное место между VP6 и RealVideo 9.

    Необходимо отметить, что RealVideo использует свой формат сжатия звука и свой контейнер (с поддержкой субтитров и закладок; в принципе возможно поместить RealVideo в контейнер Матрёшка, см. подробнее Формат контейнера видеозаписи). Мало какая программа по работе с видео в состоянии работать с RealVideo. Видео, сжатое On2 VP6, хранится в файлах AVI, однако этот формат сжатия не совместим со стандартом MPEG–4. То есть для воспроизведения RealVideo или VP6 вам понадобятся соответствующие декодеры. Декодеры эти есть далеко не у всех: если вы перепишите свои записи знакомым, не забудьте захватить соответствующий декодер. Про воспроизведение на аппаратном MPEG–4 проигрывателе вы можете забыть. Как известно, в Китае сейчас раскручивается стандарт EVD (Enhanced Video Disk) который использует обычный DVD в качестве носителя и VP6 в качестве формата сжатия видео. Соответственно, на рынке появляются аппаратные проигрыватели с поддержкой EVD, а значит и VP6. Однако дальнейшее распространение этого стандарта и его поддержки среди аппаратных проигрывателей вне китайского рынка находится под большим вопросом, тогда как поддержка MPEG–4 уже состоялась «в железе» и будет развиваться дальше.

    И ещё одна существенная проблема есть как у RealVideo 9, так и у VP6: очень неточный механизм контроля за шириной потока данных. При сжатии видео исходя из желаемого размера сжатой видеозаписи задаётся ширина потока данных. DivX и XviD обеспечивают очень высокую точность контроля за шириной потока: разница между желаемым размером и действительным очень мала (не более 1 Мбайта на 1 час видео).


    RealVideo 9 стабильно делает файлы меньшего размера, иногда по 5—6 Мбайт на 1 час видео — правда, с этим ещё можно мириться. VP6 создаёт файлы существенно большего размера, иногда по 15 Мбайт на 1 час видео. Очевидно, что такое поведение кодера неудовлетворительно: если мы заказали размер сжатого видео в 1 CD, а получили результат на 15 Мбайт больше, то записать полученную видеозапись на CD мы не сможем.

    Преимуществом (впрочем, спорным) кодера RealVideo является алгоритм, который эффективно разделяет сцену на объекты переднего плана (которые кодируются достаточно детально) и фон (который достаточно сильно размывается, «замыливается»). Единственный плюс кодера VP6: специфическая форма артефактов сжатия, которые гораздо менее заметны, чем квадраты DivX или XviD. Это позволяет использовать VP6 и RealVideo при очень малых потоках данных (2 часа записи на 1 CD: менее 800 кбит/сек).

    Новые версии упомянутых кодеров — RealVideo 10, VP6.2 — обеспечивают чуть более высокое качество сжатия видео, однако не решают тех существенных проблем этих форматов, которые были описаны выше.

    С точки зрения совместимости с аппаратными проигрывателями наилучшим является кодер DivX: производитель кодера DivX Networks организовала специальную программу сертификации аппаратных MPEG–4 проигрывателей на совместимость с DivX видео. Однако XviD также способен выдавать поток данных в строгом соответствии со стандартом MPEG–4 — аппаратные проигрыватели также в состоянии воспроизводить и его файлы.

    Возможно, кому–то настолько по душе мягкая картинка RealVideo или чёткая картинка VP6, что он согласен мириться с:

  • необходимостью использовать специальные программы видеомонтажа (для RealVideo)
  • необходимостью использовать специальный декодер
  • отсутствием поддержки распространёнными аппаратными проигрывателями
  • использованием закрытых нестандартных форматов (Подумайте, что случится с вашими записями в VP6, после того как некий софтверный гигант купит On2 с потрохами и остановит проект с целью устранения конкурента: вы не сможете найти декодер, совместимый с Windows 2010! Так, сейчас невозможно под Windows 2000/XP воспроизвести файлы в формате VIV, популярном лет 8—10 тому назад)
  • Однако мне кажется совершенно очевидным, что выбирать сегодня MPEG–4 кодер имеет смысл только между DivX и XviD.



    Легенда про DivX 3 DivX 3 — это взломанный вариант экспериментальной версии MPEG–4 кодера от Microsoft. Оригинальные версии кодера (их было 3: Microsoft MPEG 4.1, 4.2 и 4.3) имели существенное ограничение: они поддерживали только контейнер ASF (Advanced Streaming Format, позже этот формат был переименован в Windows Media; кстати, современные варианты кодеров MPEG 4.1, 4.2, 4.3 и их последователя WMV вполне можно использовать для кодирования видео, хранящегося в AVI контейнере). Jerome Rota (известный также под кличкой ‘Gej’) поработал над тем, чтобы новый метод сжатия видео можно было использовать в привычных AVI файлах: тогда MPEG–4 сжатие станет доступно любой программе по работе с видео. То, что получилось в результате, было названо DivX. При помощи DivX можно было сжать целый фильм с видео DVD до размеров CD — в таком виде его можно передать через интернет. С появлением DivX начался бум пиратского копирования видео продукции, в первую очередь кинофильмов и видеоклипов. Это, в свою очередь, повлекло за собой с одной стороны широчайшее распространение DivX кодека, а с другой — бурю протеста, как со стороны Microsoft (по поводу нелегального использования их программы), так и со стороны издателей кинофильмов (особенно усердствует MPAA, Motion Picture Association of America, Американская ассоциация кинопроизводителей). Но самое главное — это было в далёком 1999 году!

    За прошедшие годы многое произошло: Jerome Rota основал компанию DivX Networks, которая занялась разработкой «лицензионно чистого» программного обеспечения для сжатия видео. Получив немалые инвестиции, в 2000—2001 годах компания организовала проект OpenDivX — разработка MPEG–4 кодера видео с открытыми исходными кодами. Позже, когда DivX Networks собрала коллектив разработчиков и доказала, что всё начато «с чистого листа», исходные коды проекта были закрыты: дальше проект развивался силами компании. На основе тех же исходных кодов OpenDivX возник проект с открытыми исходными кодами XviD, он развивался параллельно с DivX 4—5.


    Возникла довольно необычная ситуация: параллельно развивались два проекта, коммерческий и некоммерческий, с закрытыми и открытыми исходными кодами; причём оба являются продолжением OpenDivX. Такая конкуренция способствовала развитию обоих проектов: DivX и XviD сегодня — самые лучшие и распространённые MPEG–4 кодеки видео.

    Microsoft также не сидела сложа руки: она выпустила две версии кодера Windows Media Video. Напомню, что даже последняя версия обеспечивает худшее качество, чем DivX или XviD.

    В последние несколько лет только DivX 3 никак не развивался после окончательного варианта 3.11, который выпустил Gej. Это закономерно: исходных кодов кодера у сторонних разработчиков не было, сделать что–либо существенное можно было только снаружи кодека. Так, в начале 2000 года была выпущена дополненная версия — 3.20. Она содержала реализацию алгоритма определения смены сцены: версия 3.11 вставляла ключевые кадры только через заданные интервалы. Версия 3.20 содержала код по детектированию начала новой сцены и называлась VKI (variable keyframe interval, переменный интервал между ключевыми кадрами). Все версии кодера DivX 3 поддерживали только однопроходное сжатие с заданным средним битрейтом.

    NanDub
    Существенным прогрессом в развитии DivX 3 стало создание варианта программы VirtualDub, которая заставляла работать кодер DivX 3.11 в режиме двухпроходного сжатия: NanDub (по имени автора этого варианта — Nando). В таком виде DivX 3.11 позволял добиваться намного лучших результатов, чем в режиме однопроходного сжатия. Долгое время DivX 3.11 в двухпроходном режиме был эталоном качества для MPEG–4 кодеров видео. Программа NanDub содержит уйму настроек — разобраться в них достаточно сложно, очень немногие смогли освоить эту программу на уровне гуру. Развитие NanDub было прекращено к лету 2001 года. Специалисты по двухпроходному сжатию всё больше обращали свои взоры в сторону DivX и многообещающего и быстро развивающегося XviD: например Koepi , автор руководства по использованию NanDub’а и соавтор некоторых модулей, сейчас принимает активное участие в развитии XviD.



    Развитие всех программ, которые касаются DivX 3 было прекращено в 2001 году. За это время DivX и XviD прошли долгий путь и однозначно превзошли DivX 3 по качеству изображения (см. последнее сравнение видео кодеков Doom9). Тем не менее, до сих пор жива легенда о том, что, дескать, DivX 3 — лучший. Это следствие нескольких факторов: традиция (когда–то DivX 3 был действительно лучшим), лень (тем, кто овладел в какой–то степени NanDub’ом, просто лень переучиваться) и обычная человеческая осторожность ко всему новому.

    Захват, обработка и хранение видео с использованием ПКСегодня я всех призываю: похороните DivX 3! Его время уже прошло. Поскольку многие кодеки способны воспроизводить сжатое DivX 3 видео, удалите из своей системы кодек DivX 3 и NanDub. Меня удивляет количество новых видеозаписей, которые до сих пор сжимают при помощи DivX 3. А ведь DivX 3 содержит ошибку, которая приводит к появлению «выпавших» квадратных блоков при кодировании контрастных краёв (например, титров) — см. картинку. Только DivX 3 содержит ошибку, в результате которой некоторые текстуры ошибочно присваиваются движущемуся объекту: в результате часть изображения вдоль контура подвижного объекта уплывает в сторону — т.н. «плывун». На сегодня не осталось ни единого аргумента «за» DivX 3 — только лень его использующих. И ещё: видеозаписи в формате DivX 3 не вполне совместимы со стандартом MPEG–4 и не всегда корректно воспроизводятся аппаратными проигрывателями.

    DivX 4, DivX 5 Первая публично изданная версия кодера DivX 4 не поддерживала расширения стандарта MPEG–4 advanced simple profile: например, не позволяла создавать двунаправленные кадры. Также DivX 4 не содержал никаких дополнительных инструментов по работе с видеозаписью, только кодек. Ещё во времена DivX 4 компания DivX Networks заложила традиции нумерации версий: версия 4.0 содержала море ошибок. Некоторые из ошибок приводили к созданию некачественного сжатого видео, другие — к зависаниям программ по работе с видео. Ряд последующих версий содержал исправления ошибок и оптимизации, постепенно кодер достиг своего стабильного и работоспособного состояния (последняя версия: 4.12).



    Кодек DivX 5 — это продолжение развития кодека DivX 4. Принципиальное отличие от кодера DivX 4 в том, что новая версия кодера содержит дополнительные возможности, совместимые со стандартом MPEG–4 advanced simple profile: двунаправленные кадры, компенсация движения (GMC, Global Motion Compensation), четвертьпиксельная точность алгоритмов прогнозирования движения блоков в кадре (Quarter pixel motion estimation, Qpel motion); а также содержит дополнительно ряд простейших инструментов по обработке видео: обрезание краёв, изменение разрешения, фильтр шумов и deinterlace. Такие дополнения весьма быстры, но удобнее использовать соответствующие фильтры в программе по обработке видео, так как это позволяет:

  • использовать фильтры в любом порядке, а не непосредственно перед DivX сжатием;
  • использовать более качественные фильтры (например: встроенный фильтр шумоподавления DivX имеет тенденцию к созданию колебаний яркости на тёмных зашумленных сценах и множества других разнообразных артефактов);
  • иметь возможность настраивать каждый из фильтров «по месту» с возможностью предварительного просмотра результата.
  • Дополнительные возможности кодера
    Использование двунаправленных кадров позволяет существенно повысить эффективность сжатия: до 20—30%. Правда, кодер DivX ограничен в своих возможностях: в режиме обеспечения совместимости с профилями DivX Certified Profile он не способен генерировать более одного двунаправленного кадра подряд. Если использовать больше одного двунаправленного кадра поряд (XviD, DivX 5.2), то повысить эффективность сжатия можно ещё больше: до 30—40%. Использование двунаправленных кадров увеличивает потребление вычислительных ресурсов примерно на 25% во время сжатия и на 10% во время воспроизведения видео.

    Глобальная компенсация движения призвана уменьшить поток данных в тех сценах, где большая часть изображения перемещается в сторону: панорама, прокручивающиеся титры и т.п. В поток сжатого видео записывается не само изображение кадра за кадром, а исходное изображение, и направление его перемещения.


    Очевидно, что для реализации этой возможности в декодере, нужен большой объём памяти для сохранения большой части изображения. По этой причине подавляющее большинство современных аппаратных декодеров MPEG–4 видео не поддерживают эту возможность. Также кодер имеет некоторые проблемы с отделением статичных объектов от перемещающихся частей изображения: например если в вашем видео прокручиваются титры, а в углу экрана находится статичный полупрозрачный логотип, то есть шанс, что в закодированном видео логотип будет «прыгать». Использование глобальной компенсации движения увеличивает потребление вычислительных ресурсов примерно на 10% как во время сжатия, так и во время воспроизведения видео.

    Четвертьпиксельная точность при расчёте векторов движения блоков изображения позволяет более точно позиционировать движущиеся объекты в кадре, это в результате выражается в более плавных перемещениях мелких или далёких объектов. Применение этой возможности примерно на 10—15% ухудшает сжимаемость видео. Использование четвертьпиксельной точности увеличивает потребление вычислительных ресурсов примерно на 30—40% как во время сжатия, так и во время воспроизведения видео. По этой причине подавляющее большинство современных аппаратных декодеров MPEG–4 видео не поддерживают эту возможность. Также учтите, что процессора в 500 МГц будет недостаточно для воспроизведения видеозаписей, сжатых с использованием четвертьпиксельной точности — понадобится процессор не менее 800 МГц (и более, зависит от разрешения видео).

    Психовизуальные улучшения
    Также в 5–й версии кодера DivX впервые реализована экспериментальная система, получившая название психовизуальные улучшения. Задача этой системы — обнаруживать те части изображения, в которых дефекты изображения будут наименее заметны человеческим глазом: например, очень тёмные или светлые области. Кодер сжимает соответствующую часть изображения с более низким качеством. Таким образом объём результирующего файла при заданном среднем уровне качества может заметно уменьшиться.


    Кодирование с использованием психовизуальных улучшений замедляет процесс кодирования на 5—25%. Система психовизуальных улучшений — экспериментальная разработка, которая постоянно совершенствуется и изменяется, потому этот режим не рекомендовался к использованию. В версии 5.1 она была полностью обновлена. Её использование сейчас вполне оправданно.

    По традиции версия 5.0 содержала множество ошибок и практически непригодна для использования, ошибки были исправлены в версии 5.0.2.

    DivX 5.0.Х
    Следующим существенным шагом (версия 5.0.3) было внедрение механизма контроля за шириной потока данных (rate control) — это особенно важно для аппаратных проигрывателей, вычислительная мощность которых ограничена. DivX Networks разработала ряд профилей, которые содержат набор требований к производительности декодера и ограничения для потока данных. Если вы планируете воспроизводить ваши видеозаписи только при помощи компьютера — вам имеет смысл отключить использование профилей. Так вы снимете дополнительные ограничения с кодека, что позволит ему шире варьировать свои возможности с целью создания более качественного сжатого видео. Также отказ от использования профилей увеличит скорость кодирования видео примерно на 1%, даст возможность использовать однопроходный режим с постоянным качеством (см. ниже), несколько двунаправленных кадров подряд и MPEG матрицу квантования. Полученное видео как–то будет воспроизводиться на аппаратных проигрывателях, но качественное воспроизведение всей видеозаписи не гарантируется. С другой стороны, использование профиля при кодировании позволит гарантированно воспроизводить видеозапись на определённом классе аппаратных MPEG–4 проигрывателей. Рекомендуемый профиль: Home theatre, он соответствует бытовым проигрывателям видео (максимальное разрешение видеозаписи равно разрешению видео DVD).

    Также DivX обрёл поддержку чересстрочного видео, режим многопроходного сжатия, небольшое повышение производительности и изменение интерфейса настройки кодера. Стабильная версия с исправленными ошибками — 5.0.5.



    Поддержка чересстрочного видео реализована в соответствии со стандартом MPEG–4: решение использовать ли обычное (прогрессивное) кодирование или чересстрочное принимается на уровне блока изображения. Чересстрочное видео требует несколько больше места для хранения, чем прогрессивное. Некоторые подсистемы кодера DivX (например, психовизуальные улучшения) до сих пор не умеют работать с чересстрочным видео. Декодер DivX, который производит deinterlace «на лету» при воспроизведении, делает это далеко не лучшим образом. С другой стороны, аппаратные декодеры MPEG–4 позволяют корректно отображать чересстрочное видео.

    DivX 5.1
    Версия 5.1, кроме традиционных небольших улучшений почти всех подсистем кодера и очередного изменения интерфейса, содержит новый интеллектуальный алгоритм для выбора варианта кодирования изображения (RD или rate/distortion алгоритм, оптимизирует параметр размер/искажения). Предположим для примера, что блок изображения можно закодировать такими способами: А (размер: 10, качество: 10), Б (размер: 5, качество: 8) и В (размер: 4, качество: 5). Обычный алгоритм выберет вариант с максимальным качеством (в нашем случае — А), интеллектуальный алгоритм выберет вариант с лучшим соотношением «качество/размер» (в нашем случае — Б). Такой выбор приведёт к тому, что при сохранении высокого качества будет израсходовано меньше битов, что позволит сжать другие сцены с более высоким качеством: общее качество сжатия видеозаписи окажется выше. Поскольку кодеру необходимо отрабатывать несколько вариантов сжатия изображения, скорость кодирования падает почти в 6 раз. В Официальном руководстве по DivX 5.2 советуют использовать интеллектуальный алгоритм только на последнем проходе, но даже в таком случае 2–проходное сжатие производится более чем втрое дольше, чем при использовании обычного алгоритма. Его использование оправдано при малых потоках данных (менее 700 кбит/сек), иначе его влияние практически незаметно на глаз.

    Кодер DivX 5.1 содержит два варианта реализации интеллектуального алгоритма сжатия: Slow (ориентирован на максимальную скорость) и Slowest (ориентирован на максимальное качество) — однако разница в скорости их работы практически незаметна на фоне шестикратного уменьшения производительности по сравнению с алгоритмом Standard.


    Кодер версии 5. 2 содержит только один вариант интеллектуального алгоритма: Slow.

    По традиции версия 5.1 содержала ряд ошибок, большинство было исправлено в версии 5.1.1 (однако кодер всё ещё изредка производит дефекты изображения, подробнее см. сравнение MPEG–4 кодеров Doom9 — эта проблема была исправлена лишь в версии 5.2).

    DivX 5.2
    Версия 5.2 выпущена в 4 языковых вариантах: английский, немецкий, французский и японский; на эти же языки переведён сайт DivX Networks. Из–за этого размер установки получился огромным: 8 Мбайт. Бесплатный вариант Pro–версии кодека больше не содержит Ad–ware программы и не будет показывать рекламу — теперь у кодера есть пробный период в 180 дней. Появился новый режим: Fast, который работает быстрее Standard, но обеспечивает почти такой же уровень качества сжатия видео — его рекомендуют использовать при сжатии видео «на лету» при захвате видео. Добавлен встроенный в интерфейс кодера bitrate calculator (который, правда, уступает калькулятору XviD’а по функциональности). Код был оптимизирован под Intel SSE3 (Prescott), что обеспечивает 15% прирост производительности.

    Наконец–то стало возможным использовать более чем один двунаправленный кадр подряд и использовать не только H.263 матрицу квантования (что приводит к некоторому замыливанию картинки), но также MPEG–2 матрицу (кодер XviD давно предоставляет такие возможности). Правда, обе возможности становятся доступными лишь после отключения соответствия профилю кодирования DivX Certified Profile.

    Использование более чем одного двунаправленного кадра подряд позволяет повысить эффективность сжатия видео на 10—15% при сохранении субъективно того же уровня качества. Использование разных матриц квантования определяет тенденцию кодера к сохранению чёткости изображения (MPEG–матрица) или же наоборот — размыванию мелких деталей (H.263). Соответственно, MPEG–матрицу нужно использовать только при достаточно больших потоках данных (более 1 Мбит/сек). Для достижения субъективно одинакового уровня качества при использовании разных матриц квантования и прочих равных условиях, MPEG–матрица потребует средний битрейт на 100—200 кбит/сек больше, чем H.263.


    Все эти рассуждения справедливы для любого MPEG–4 кодера (в частности для DivX и XviD).

    Как обычно, версия DivX 5.2 содержала целый ряд ошибок, потому не рекомендуется её использовать. Последняя версия — 5.2.1 — достаточно стабильна и вполне пригодна к использованию.

    DivX Q
    В дальнейших планах DivX Networks — выпуск новой версии DivX Q в середине 2005 года, которая будет включать в себя не только сжатие видео, но и формат для сжатия звука и формат контейнера (подробнее см. интервью).

    Дополнительная информация
    Интересующихся вопросами обратной совместимости линейки кодеров DivX, отсылаю к статье DivX: особенности сжатия видео в домашних условиях.

    На сайте DivX вы можете найти множество документации (на английском языке), особо стоит выделить Официальное руководство по DivX 5.2 — это 120–страничный отлично оформленный документ (в формате Adobe Acrobat, размер: 8 МБ, на английском, немецком, французском и японском языках), который содержит подробнейшее описание настроек кодера и декодера DivX, советы по использованию кодера, множество информации по современным технологиям сжатия видео на базовом уровне — для упрощения понимания механизма работы кодека DivX. Этот документ рекомендуется к прочтению всем, кто интересуется современными технологиями сжатия видео. Также на сайте DivX действует форум, в котором специалисты и энтузиасты делятся опытом.

    XviD Кодек XviD является результатом разработки MPEG–4 кодера с открытыми исходными кодами: сначала в рамках проекта OpenDivX, а после того, как компания DivX Networks начала разработку закрытого кодера DivX, — как самостоятельный проект.

    В период бурного развития новые версии XviD выходили едва ли не каждую неделю — как у подавляющего большинства проектов с открытыми исходными кодами. Часто они содержали существенные ошибки, которые приводят к появлению искажений в сжатом видео, или зависаниям программы для обработки видео. Эти версии тестируются сотнями энтузиастов, ошибки находят и исправляют. Примерно раз в полгода выпускается т.н. стабильная (stable) версия, которая тестируется на протяжении длительного времени и в которой не было обнаружено ошибок.


    Стабильные версии кодера выходят достаточно редко, а различные нововведения присутствуют только в регулярно выходящих альфа– и бета– версиях. Желание применять новейшие технологии подталкивает многих на использование этих тестовых версий для сжатия архивных видеозаписей. Конечно, даже тестовая версия имеет шанс сжать видео верно и без дефектов, но в случае с XviD известны случаи, когда сжатое видео невозможно было корректно воспроизвести никаким декодером, даже более новым декодером XviD. Использовать тестовые альфа– и бета– версии рискованно — из–за этого у кодера XviD закрепилась репутация «глючного», то есть работающего с ошибками и сбоями.

    XviD поддерживает самые современные достижения в области кодирования видео: двунаправленные кадры (B–VOPs), интеллектуальный алгоритм выбора варианта кодирования изображения (тут он называется Trellis quantization), кодирование чересстрочного видео (Interlaced encoding) и психовизуальные улучшения (Adaptive quantization). А вот механизма контроля за шириной потока данных (rate control) кодер XviD пока лишён — не смотря на наличие соответствующих органов управления в окне настройки кодера; эти нововведения ожидаются в версии 1.1 (сейчас находится в стадии активной разработки). XviD позволяет изменять некоторые настройки, которые невозможно поменять в кодере DivX, как то: матрица квантования (Quantization type matrix), структура подгруппы кадров (B–VOPs), точность (и, соответственно, скорость) алгоритма поиска движения в кадре (Motion search precision), задавать допустимый диапазон коэффициентов квантования (Quantizer restrictions) — это позволяет более тонко настроить процесс кодирования видео. Плюс XviD поддерживает некоторые возможности, которые отсутствуют в кодере DivX: соотношение сторон изображения (Aspect ratio, DivX поддерживает только квадратные пиксели), кодирование чёрно–белого изображения (Greyscale encoding), специальный мультипликационный режим (Cartoon Mode). Компенсация движения (GMC, Global Motion Compensation) и четвертьпиксельная точность (Quarter pixel motion, Qpel motion) в исполнении XviD не совместимы с DivX, хотя и соответствуют стандарту MPEG–4 — из–за этого такое видео некорректно воспроизводят старые версии декодера DivX и большинство аппаратных декодеров.


    Применять эти две возможности не рекомендуется.

    XviD 1.0 Release
    Важным этапом для XviD стала полная MPEG–4 совместимость, что позволяет воспроизводить видеозаписи сжатые XviD при помощи декодера DivX или при помощи аппаратных проигрывателей. В мае 2004 года была выпущена стабильная версия XviD 1.0: за полгода тщательного тестирования в ней не было обнаружено ошибок, которые бы влияли на качество сжатого видео.

    Дополнительная информация
    Из подробных документов, которые бы описывали все настройки кодека XviD, можно упомянуть The Unofficial XviD FAQ и руководство XviD Options Explained от Koepi (последнее, правда, несколько устарело). Также на сайте Doom9 постоянно действует форум XviD, в котором участвуют и разработчики кодера, и специалисты, и просто любители. Вы можете найти там ответ на любой свой вопрос, или же спросить прямо у разработчиков кодека.

    Различные методы сжатия видео Современные кодеры имеют несколько режимов сжатия видео, каждый имеет свои преимущества и недостатки, свою область применения. В этом разделе описаны режимы кодирования видео MPEG–4 кодеров.

    Однопроходное сжатие Однопроходное сжатие нужно использовать тогда, когда исходный видеоматериал доступен только однажды (ТВ трансляция) или труднодоступен (видеоряд получается в результате сложных вычислений, например в результате обработки многими фильтрами — вряд ли кому–то захочется повторять громоздкие вычисления дважды, как того требует двухпроходный режим).

    Исторически первым появился режим сжатия с постоянным потоком данных (CBR, Constant bitrate): каждая группа кадров занимает одинаковый размер. Как было сказано в разделе «Поток данных (bitrate)», режим с постоянным потоком данных в силу низкого качества изображения нужно использовать только в тех случаях, где использовать переменный поток данных невозможно: при цифровом вещании (network broadcasting). Для включения этого режима в кодере DivX нужно отключить профили (Select Profile Wizard — Disable profiles), выбрать 1–pass и ввести нужное значение ширины потока данных в поля Encoding bitrate и Max bitrate (в кбит/сек).


    Кодер XviD не поддерживает этот режим.

    Следующий режим — с переменным потоком данных (VBR, Variable bitrate). Во время сжатия кодер будет стараться экономить биты на простых сценах и расходовать «накопленное» на сложных сценах, при этом кодер будет стремиться обеспечить среднюю ширину потока данных на заданном уровне. Однако в силу того, что кодер может принимать решения лишь на основе уже закодированных кадров (прошлого) и не знает, что ждёт его в будущем, стратегия расходования битов не будет оптимальной. Невозможно правильно рассчитать расход битов, не зная, как долго продлится простая или сложная для сжатия сцена. Используйте этот режим, если вам нужно при однопроходном режиме контролировать размер сжатого видео. Для включения этого режима в кодере DivX нужно выбрать 1–pass и ввести нужное значение средней ширины потока данных в поле Encoding bitrate (в кбит/сек). Для включения этого режима в кодере XviD нужно выбрать Encoding type: Single pass, если нужно — нажать кнопку Target quantizer, в графе Target bitrate задать нужное значение средней ширины потока данных (в кбит/сек). Для расчёта средней ширины потока данных вы также можете использовать встроенный калькулятор: кнопка Bitrate Calculator (Calc для XviD).

    Режим с постоянным качеством (QB, Quality based, Constant quantizer). Во время сжатия кодер будет использовать для каждого кадра одинаковый коэффициент квантования (если задано целое число; если в качестве среднего коэффициента задать дробное число, то кодер будет использовать целые коэффициенты квантования (ближайшие к заданному дробному числу) таким образом, чтобы в среднем по всему видеоряду коэффициент квантования был равен заданному числу). Коэффициент квантования определяет величину потерь при сохранении изображения: чем коэффициент больше, тем больше потери; с другой стороны чем больше коэффициент квантования — тем меньше размер сжатого изображения. Диапазон допустимых значений коэффициента квантования — от 1 (максимальное качество, максимальный размер) до 31 (минимальное качество, минимальный размер).


    Характер потерь при больших коэффициентах квантования проще продемонстрировать на примере:

    Захват, обработка и хранение видео с использованием ПК
    Коэффициент квантования: 2
    Захват, обработка и хранение видео с использованием ПК
    Коэффициент квантования: 5
    Захват, обработка и хранение видео с использованием ПК
    Коэффициент квантования: 8 Этот режим имеет существенный недостаток: заранее невозможно предсказать размер файла со сжатым видео. С другой стороны, алгоритм такого сжатия достаточно прост: из всех режимов MPEG–4 кодеров этот — самый быстрый. Такой режим сжатия удобно применять при захвате видео или как промежуточный формат сжатия. Для включения этого режима в кодере DivX нужно отключить профили (Select Profile Wizard — Disable profiles), выбрать 1–pass quality–based и ввести нужное значение среднего коэффициента квантования в поле Quantizer. Для включения этого режима в кодере XviD нужно выбрать Encoding type: Single pass, если нужно — нажать кнопку Target bitrate, в графе Target quantizer задать нужное значение среднего коэффициента квантования.

    В Официальном руководстве по DivX 5.2 описана интересная возможность: можно использовать режим сжатия с постоянным качеством вместо первого прохода двухпроходного сжатия. Для этого в настройках кодера DivX нужно выбрать режим 1–pass quality based и включить запись файла с анализом видеоряда (write log file) — именно он создаётся при первом проходе двухпроходного сжатия. При этом рекомендуется использовать небольшие коэффициенты квантования. Размер полученного файла будет на порядок меньше того же видео, сжатого без потерь. При втором проходе сжатия нужно использовать полученную запись в формате DivX и полученный файл с анализом видеоряда (log file). Кодер XviD также способен на такой фокус: нужно выбрать режим Twopass — 1st pass, в дополнительных настройках (more) включить Full quality first pass и выключить Discard first pass. Вы можете выбрать имя файла, в который будет записана информация об анализе видеоряда при помощи кнопки «…».

    Примечание. Может показаться, что в таком варианте будут допущены потери качества изображения: в качестве промежуточного формата используется сжатие с потерями MPEG–4.


    Однако это не так: при сжатии в DivX с максимальным качеством (минимально возможный коэффициент квантования 1) будут выполнено только лишь квантование изображения (разделение изображения на квадратные блоки). Все остальные блоки кодера DivX, которые уменьшают размер видео и ухудшают качество изображения (применение кривой сжатия и увеличение коэффициента квантования и т.д.) в этом режиме не работают. При выполнении второго прохода сжатия, алгоритм MPEG–4 в первую очередь разбьёт изображение на блоки, выполнит квантование. Но именно в таком виде оно и записано в сжатом файле! (Происходящее несколько упрощено, но в целом воответствует действительности.) Устройство трёх различных способов обработки видео схематически приведено ниже:

    Захват, обработка и хранение видео с использованием ПК Такой метод позволяет существенно уменьшить время обработки видео и снизить требования к необходимому дисковому пространству. Применение такого метода не приводит к потере качества изображения.

    Двухпроходное сжатие Двухпроходный режим, как ясно из названия, состоит из двух проходов. При первом проходе кодер анализирует информацию о сложности сжатия (сжимаемость, compressability) видеоряда и записывает её в специального вида файл (log file). На втором проходе кодер сжимает видеозапись, используя полученную при первом проходе информацию для перераспределения битов между различными сценами и кадрами. После первого прохода создаётся только файл с анализом видеоряда — и никакого видео. Однако, для того чтобы обойти ограничение системы Video for Windows, программа по работе с видео вынуждена создавать видео файл: он остаётся пустым и не содержит какой–либо видеозаписи. Готовая видеозапись получается только после второго прохода.

    Очень важно, чтобы при обоих проходах кодер работал с абсолютно одинаковым видеорядом: двухпроходный алгоритм основан на таком требовании. Таким образом все настройки по обработке видеоряда должны быть абсолютно одинаковыми для первого и второго проходов: точно те же эффекты, фильтры с точно теми же настройками, одинаковые части видео должны быть вырезаны.


    В некоторых случаях получить второй раз точно такой же видеоряд невозможно: например при записи с ТВ приёмника или при захвате аналогового видео (вам не удастся синхронизировать процесс захвата с точностью до кадра) — в таком случае нужно использовать однопроходный режим. В случае, если необходимый видеоряд получить очень сложно (например вы хотите сжать полученную в результате обработки видеозапись, процесс обработки которой занимает несколько суток), вы можете вместо первого прохода использовать однопроходный режим с постоянным качеством и с записью анализа видеоряда (см. предыдущий раздел) — тогда второй проход нужно будет выполнить используя не исходный, а полученный на первом проходе файл.

    Двухпроходный режим — самый эффективный для создания высококачественных архивных видеозаписей. С одной стороны, он позволяет контролировать размер сжатого видео, что удобно при записи на архивные носители (CD или DVD). Для расчёта целевого битрейта, исходя из ёмкости носителя, длины фильма и наличия звуковой дорожки (или нескольких дорожек), удобно использовать утилиты–калькуляторы (bitrate calculators). С другой стороны, этот режим обеспечивает максимально возможное качество изображения для заданной ширины потока данных: благодаря предварительному анализу видеоряда кодер может распределять биты между разными сценами и кадрами эффективнее, чем в случае однопроходного алгоритма. Для включения этого режима в кодере DivX нужно выбрать Multipass, 1st pass для первого прохода или Multipass, nth pass для второго прохода, и ввести необходимое значение средней ширины потока данных в поле Encoding bitrate (в кбит/сек) или рассчитать необходимое значение при помощи калькулятора (кнопка Bitrate Calculator). Вы можете выбрать имя файла для анализа видеоряда, нажав кнопку Select. Для включения первого прохода этого режима в кодере XviD для нужно выбрать режим Twopass — 1st pass, в дополнительных настройках (more) выключить Full quality first pass и включить Discard first pass. Вы можете выбрать имя файла, в который будет записана информация об анализе видеоряда при помощи кнопки «…».


    Для включения второго прохода этого режима в кодере XviD для нужно выбрать режим Twopass — 2nd pass, в поле Target bitrate ввести необходимое значение средней ширины потока данных (в кбит/сек) или рассчитать необходимое значение при помощи калькулятора (кнопка Calc). Вы можете выбрать файл с анализом видеоряда при помощи кнопки «…» в окне дополнительных настроек (кнопка more).

    Многопроходное сжатие DivX начиная с версии 5.03 предоставляет возможность выполнять второй проход несколько раз подряд, это называется N–ным проходом (Nth pass). При выполнении N–ного прохода информация о распределении битов между кадрами модифицируется и записывается в файл с информацией об анализе видеоряда (если в настройках кодера не отключён режим Update log file). Таким образом, каждый следующий N–ный проход сжатия более эффективно распределяет биты между кадрами видеоряда, что ведёт к более высокому качеству сжатого видео при том же размере. В Официальном руководстве по DivX 5.2 достаточно дипломатично сказано «обычно оптимальное качество на 98—99% достигается за 3 прохода или менее». Вряд ли имеет смысл делать больше трёх проходов сжатия, да и третий проход скорее всего существенно поможет лишь при малых потоках данных (скажем, менее 700 кбит/сек) — то есть когда небольшое перераспределение битов между кадрами может существенно повлиять на качество изображения.

    Формат контейнера видеозаписи Видеозапись состоит из видеоряда, звуковой дорожки (или нескольких), субтитров (возможно, нескольких), текстовых комментариев к ней и т. д. Файл, в который сохраняется видеозапись, имеет специальный формат. Помимо собственно видеоряда и звуковой дорожки он должен содержать некоторую служебную информацию: какой формат применён для сжатия видео и звука, так называемый индекс (index, блок данных, который содержит адреса расположения конкретных участков записи — он используется во время перемотки), текстовые описатели (тэги, tags — название записи, автор, информация об авторских правах и прочее). Формат такого файла называют контейнером (container).


    Процесс объединения набора файлов видеозаписи в один называется mux (сокращение от «multiplex», не путайте с mix — микширование), процесс выделения компонентов записи в отдельный файл — demux (demultiplex). Ниже я буду использовать русские термины внедрение (сведение) и извлечение.

    AVI Традиционный контейнер для видеозаписей — это AVI (Audio and Video Interleaved). Любая версия Windows содержит специальный модуль (splitter или demultiplexer), который обеспечивает чтение файлов этого формата. Контейнер AVI имеет целый ряд ограничений: невозможно использовать звуковую дорожку в формате OGG Vorbis, не все программы поддерживают отображение внедрённых в AVI субтитров. Некоторые аппаратные проигрыватели не поддерживает переменный поток данных у звуковых дорожек (VBR, variable bitrate).

    Поскольку контейнер AVI — стандартный контейнер для видеозаписей в системе Windows, его поддерживают все программы, которые работают с видео. Расширенные возможности по работе с AVI, как то внедрение субтитров, множества звуковых дорожек, использование VBR звука, поддерживает VirtualDubMod и AVIMux_GUI (последний даже поддерживает формат сжатия звука AAC). Предпочтительно использовать для видеозаписей именно этот контейнер, в силу его универсальности и совместимости.

    Ogg (OGM) Серьёзный конкурент AVI — Ogg или OGM (Ogg Media Format). В рамках проекта Ogg разработан формат файла–контейнера и ряд форматов сжатия звука: Vorbis, FLAC и другие. Изначально этот контейнер планировалось использовать только для звуковой информации, но оказалось, что в него можно внедрить и видео данные. Для воспроизведения таких видеозаписей Tobias Waldvogel разработал DirectShow splitter для контейнера Ogg — с этого и началось его повсеместное распространение. Чтобы отличать видео файлы от звуковых, видео файлы начали называть OGM (хотя формально они используют тот же контейнер Ogg, что и звуковые файлы). Этот контейнер поддерживает субтитры, VBR звук и, конечно, звуковую дорожку в формате Ogg Vorbis. «Накладные расходы» контейнера OGM (блок index и прочая служебная информация) занимают больше места, чем в AVI.



    Возможность интегрировать субтитры внутрь файла с видеозаписью была впервые реализована именно в программах для работы с контейнером OGM, что послужило причиной широкого распространения этого контейнера для видеозаписей. Сегодня множество записей (иногда даже с mp3 звуковой дорожкой) упаковываются в OGM. Однако, контейнер Ogg разрабатывался как контейнер для потокового вещания через интернет (streaming), потому он не вполне подходит для хранения записей: например, иногда не работает перемотка записи назад.

    Для работы с этим форматом сжатия звука и контейнером необходимы: DirectShow декодер Ogg, OGM splitter, OGM mux утилита (VirtualDubMod также поддерживает этот контейнер). Учтите, что декодер и splitter нужены также и для воспроизведения OGM файлов.

    Матрёшка Ещё одна альтернатива — контейнер Матрёшка (по–английски его называют Matroska). Это проект с открытыми исходными кодами. Он содержит несколько уникальных возможностей, например субтитры в Матрёшке всегда хранятся в универсальной кодировке Юникод, что позволяет избежать проблем с кодировкой текста субтитров. Этот формат разрабатывался специально для хранения аудио и видеозаписей. Он основан на стандарте XML и обеспечивает двустороннюю совместимость: ваша запись может быть воспроизведена любым проигрывателем при помощи любого декодера (splitter’а) этого формата. «Накладные расходы» контейнера Матрёшка (блок index и прочая служебная информация) заметно меньше, чем в AVI. Если вы согласны использовать для своих записей нестандартный контейнер (не AVI), то Матрёшка — однозначно лучше Ogg.

    Для работы с этим форматом также нужен комплект из Matroska splitter и утилиты для Matroska mux — они же нужны и для воспроизведения таких файлов. VirtualDubMod и AVIMux_GUI также поддерживают этот контейнер. За подробностями рекомендую обратиться к русскому переводу Matroska FAQ.

    Windows Media, RealMedia, QuickTime, MP4 и другие Microsoft продвигает контейнер для видеозаписей собственной разработки — Windows Media. В этом контейнере могут использоваться только форматы сжатия Windows Media разных версий: WMA (Audio), WMV и MS MPEG–4 (Video).


    Работать с этим контейнером может Microsoft Windows Movie Maker. Сохранять видео в этот контейнер также может iuVCR. Формат этого контейнера закрытый, потому VirtualDub и многие другие программы не в состоянии его читать. Также пока не существует аппаратных проигрывателей, способных воспроизводить видеозаписи в WMV — на момент написания статьи только появилась информация о планах выпуска таких устройств. По описанным выше причинам формат этот не очень популярен.

    В определённых приложениях распространены контейнеры MPEG для MPEG–1 и –2 потоков (они используются для записи Video CD, SVCD и DVD, последние стали промышленным стандартом для записи домашнего видео). Контейнер RealMedia используется для хранения записей в формате RealVideo и RealAudio, потому он также мало распространён (как и Windows Media — это закрытый формат). Контейнер Apple Quicktime используется в первую очередь на компьютерной платформе Apple. Контейнер не плох и универсален, но поддержка его на платформе Windows очень ограничена, формат — закрытый, потому — не популярный.

    В стандарте MPEG–4 также есть описание контейнера — MP4. Его сейчас редко используют, но судя по всему завтра, с выходом стабильных MPEG–4 AVC (H.264) видео кодеров, именно этот контейнер станет новым стандартом. Уже сегодня некоторые программы — например 3ivX и Nero Digital — обеспечивают поддержку этого контейнера. Основным форматом сжатия звука для этого контейнера является MPEG–4 AAC.

    DivX Networks, разработчик совместимого с MPEG–4 формата сжатия DivX, обещают в середине 2005 года выпустить новую версию: DivX Q, которая будет включать в себя не только сжатие видео, но и формат для сжатия звука и формат контейнера (подробнее см. интервью).

    Совместимость с аппаратными проигрывателями Форматы дисков, совместимые с аппаратными проигрывателями Video CD или DVD — это набор соглашений о размере кадра видео, потоке данных, используемых форматах сжатия для видео и звука, ограничение на размер файла, способ именования файлов и расположения их по каталогам, и так далее.


    На компьютере вполне возможно создать диски, которые удовлетворяют спецификациям Video CD (MPEG–1, 352x288, 1150 Кбит/с CBR), Super Video CD (SVCD, MPEG–2, 480x576, 2500 Кбит/с VBR) или DVD (MPEG–2, 720x576, 6—8 Мбит/с VBR). Процесс подготовки и обработки видеозаписи для совместимости с аппаратными проигрывателями называется authoring (транскрипция: авторинг). Существует целый рад программ для авторинга DVD, которые позволяют подготовить записи, совместимые с аппаратными DVD–проигрывателями. В интернете вы можете найти множество информации по этому вопросу, например на сайте Doom9 (на английском) или на сайте М. Афанасенкова (на русском). Подготовка записей в форматах VCD/SVCD описана в статье Как и из чего делать VCD/SVCD.

    Аппаратные проигрыватели MPEG–4 более демократичны: они будут воспроизводить любой AVI файл, для которого они способны декодировать видео и звук. Набор ограничений у аппаратных MPEG–4 проигрывателей разнится от модели к модели, потому следует обратиться за подробностями к документации, веб сайту производителя проигрывателя и чипа декодера, или же к какому–нибудь тематическому форуму в интернете (например, форуму сайта Doom9).

    Технологический процесс Оцифровка и захват Первое, что нам необходимо сделать — это получить копию видеозаписи в цифровом виде на жёстком диске компьютера. Операция записи видео сигнала в цифровом виде носит название «захват видео» (video capture). Аналоговый видео сигнал предварительно нужно привести к цифровому виду — оцифровать. Процесс захвата и оцифровки видео происходит одновременно, потому часто эти термины используются как синонимы.

    Оцифровка и захват аналогового видео Прежде, чем я продолжу рассказ о программах оцифровки видео, я упомяну о том, как реализуется захват видео в операционной системе Windows. Ещё в начале 1990–х годов операционная система Windows была оснащена подсистемой для работы с видео: Video for Windows (сокращённо VfW или V4W). VfW существует и в самых современных версиях Windows, успешно работает и используется по сей день целым рядом программ.



    В конце 1990– х годов Microsoft разработала новую, более гибкую подсистему работы с видео, которая получила название DirectShow (с 7–й версии она входит в состав DirectX). Подавляющее большинство новых программ использует именно эту подсистему (интерфейс) для работы с видео.

    Для нас важным является то, что в драйверах карты оцифровки видео может быть реализован только захват посредством DirectShow — некоторые современные карты имеют только такие драйверы. Это делает невозможным использование программ оцифровки, которые используют интерфейс VfW для захвата видео: подсистема Windows, отвечающая за использование DirectShow видео через WfV интерфейс (т. н. wrapper), ограничивает размер кадра 384x288 пикселями. Например, популярная серия карт оцифровки на базе чипа Conexant bt878 поддерживает оцифровку только через DirectShow (справедливости ради отмечу, что существует вариант драйверов, в которых реализована возможность захвата полного кадра через VfW: от Eduardo Jose Tagle.)

    Следует понимать, что задача обеих подсистем не ограничивается только захватом видео. Каждая из подсистем создана для поддержки полного спектра задач по работе с видеозаписями: захват, запись, воспроизведение, копирование, редактирование. Используемый интерфейс нас будет интересовать в контексте именно захвата видео — есть ли поддержка со стороны драйвера карты захвата, в состоянии ли использовать этот интерфейс для захвата видео какая–либо программа? В то самое время, эта же программа может использовать другой интерфейс для других задач, например: запись видео в файл.

    Проблемы при захвате видео Поскольку оцифровка и захват видео происходят со скоростью воспроизведения исходной видеозаписи, важно чтобы компьютер успевал вовремя обрабатывать полученные данные и записывать их. Возможные причины, почему компьютер может не успевать: низкая скорость записи на жёсткий диск, невысокая мощность процессора при использовании программной компрессии (выбранный алгоритм сжатия не успевает сжать кадр за 40 мс), ресурсы компьютера «отвлекаются» для выполнения дополнительных задач при захвате (напр.


    переключение файла, в который происходит захват), системных задач (напр. работа с файлом подкачки) или каких– либо программ пользователя. Вам нужно предварительно перед захватом подготовить жёсткий диск к захвату видео (см. Подготовка жёсткого диска — дефрагментация), проверить достаточна ли мощность процессора для сжатия видео в выбранный вами формат при выбранных настройках (проведите тестовый захват фрагмента видеозаписи в несколько минут). Во время захвата видео желательно воздержаться от работы с другими программами, которые активно используют необходимые при захвате ресурсы компьютера (процессор, дисковая подсистема).

    Если компьютер не успевает обрабатывать поступающий поток кадров, то часть кадров пропускается. Оцифровка видео и звука производится разными устройствами, потому пропуск кадров видео вызовет потерю синхронизации со звуковым сопровождением. 25 пропущенных кадров приведут к отставанию видеоряда относительно звукового сопровождения на 1 секунду, потому не рекомендуется сохранять записи с более чем 5—10 пропущенными кадрами: лучше провести захват заново. При помощи правильно настроенной системы можно захватывать многочасовые видеозаписи без единого пропущенного кадра.

    Ещё одна часто встречающаяся проблема, связанная с пропущенными кадрами и синхронизацией видео и звука — выпадение кадров на видеокассете. Со временем плёнка стареет и изнашивается, некоторые синхроимпульсы, которые отмечают начало нового кадра, могут считываться нестабильно или не читаться вовсе. Карта оцифровки в таком месте пропустит кадр, в оцифрованной записи появится небольшая рассинхронизация звука и видео. Если в записи много таких срывов синхронизации, то её оцифровка становится большой проблемой. Ситуация усугубляется тем, что обычно оцифровка звукового сопровождения производится звуковой картой — устройством, работа которого никак не синхронизирована с оцифровкой видео. Чтобы решить проблему синхронизации оцифровки звука, некоторые современные карты захвата видео (например, чип Philips SAA7134) получили функцию оцифровки звукового сопровождение: оцифрованный звук передаётся программе захвата по шине PCI (соответственно, программа захвата также должна поддерживать эту возможность).



    Для компенсации пропуска кадров существует специальный механизм: т. н. пропущенные кадры (dropped frames, D–frames) — если программа захвата по какой–либо причине не может сохранить правильно оцифрованный кадр, она может записать пропущенный кадр; при его воспроизведении будет просто показан предыдущий кадр. В DirectX 9b алгоритм добавления пропущенных кадров был существенно доработан: программы захвата, использующие интерфейс DirectShow, могут пользоваться как системным алгоритмом, так и собственным (напр. iuVCR и Virtual VCR содержат альтернативные алгоритмы). Программы захвата, использующие интерфейс VfW, должны реализовывать собственные алгоритмы обеспечения синхронизации. Однако, наличие механизма обработки пропущенных кадров ещё не означает обеспечение синхронизации: нужна поддержка этого межанизма со стороны всех участников процесса оцифровки: программы захвата (или системы DirectShow), драйвера карты захвата (и звуковой карты — если она участвует в процессе оцифровки), аппаратуры карты захвата и аппаратуры видеомагнитофона (видеокамеры). В случае слабого синхроимпульса карта захвата видео никак не может узнать наверняка: был ли пропущен кадр, если да — то сколько кадров было пропущено. В силу несовершенства механизма определения пропущенных кадров, в оцифрованную запись добавляется слишком много или слишком мало D–кадров. Использование более качественной видео аппатаруры позволяет качественнее воспроизводить ветхие записи — без пропуска кадров. Идеальный вариант — это видеомагнитофон с функцией TBC (time base correction): в этом случае аппаратура магнитофона следит за пропуском кадров и генерирует синхроимпульсы на месте пропущенных, на выходе с такого магнитофона получается видеозапись с постоянной частотой кадров. Более подробно про синхронизацию аудио и видео при оцифровке аналогового видео вы можете прочесть в форуме iXBT в дискуссиях Рассинхронизация звука и видео, теория или практика и Синхронизация Audio & Video. “Жуткий Метод”™, а также в статье Синхронизация звука и видео при захвате с аналогового источника.


    Универсального и простого решения проблемы для формата AVI, к сожалению, не существует.

    Формат контейнера AVI подразумевает постоянную частоту кадров по всей видеозаписи. Небольшое несовпадение реальной частоты кадров со средней частотой на сколько–нибудь больших отрезках времени приведёт к потере синхронизации: несовпадение уже в 200 мс легко заметно на глаз. Иногда возникает необходимость оцифровать запись, в которой частота кадров постоянно меняется, например старая видео кассета. В результате захвата такой записи в AVI–файл вы обязательно получите рассинхронизацию: звуковое сопровождение будет то отставать от видео, то уходить вперёд — это следствие несовпадения среднего значения частоты кадров с действительной частотой кадров на каком–либо участке ленты. Идеальным вариантом для захвата таких записей является использование видеомагнитофона с функцией TBC (time base correction). Другой возможный вариант захвата подобных записей: использовать при захвате формат контейнера MPEG–1/2 или Матрёшка: они допускают непостоянную частоту кадров в видеозаписи (конечно, потом такие записи невозможно будет сохранить в контейнер AVI без появления рассинхронизации).

    Разрешение видео при оцифровке Очень важно при оцифровке чересстрочного видео использовать полное разрешение по вертикали: 576 строк для PAL, 480 строк для NTSC. Для захвата записей невысокого качества также можно использовать половинное разрешение по вертикали: 288 и 240 строк соответственно. Использование любого промежуточного разрешения по вертикали приведёт к нарушению правила «одно поле в чётных строках, другое — в нечётных», полученную запись невозможно будет качественно отобразить или обработать каким–либо алгоритмом deiterlace.

    Аналоговый видеосигнал не содержит дискретных элементов по горизонтали — столбцов, можно лишь оценить максимальное возможное количество элементов в строке (точек, пикселей) исходя из ширины полосы пропускания. Потому разрешение по горизонтали у оцифрованной видеозаписи — это разрешение, «с которым был оцифрована непрерывная аналоговая строка».


    В принципе, это разрешение можно использовать любым. Традиционно используются такие разрешения, при которых пиксель получается квадратным: 768x576 и 640x480; также часто можно встретить разрешение 720x576 (что примерно соответствует теоретически возможной чёткости ТВ передачи). Используя меньшее разрешение по вертикали, можно существенно уменьшить размер захваченного видео (см. также Соотношение сторон видео при оцифровке). С другой стороны, платы захвата видео всегда оцифровывают видео в одном, базовом разрешении, а потом размер оцифрованной записи изменяется «на лету»: качество алгоритма уменьшения размера существенно разнится от чипа к чипу. Так, при использовании чипов Conexant bt8x8 и Rage Theatre настоятельно не рекомендуется использовать горизонтальное разрешениее меньше 480 пикселей; чипы Conexant cx2388x и Philips SAA713x уменьшают размер намного качественнее: можно использовать горизонтальные разрешения вплоть до 384 пикселей. Также многие фильтры по работе с видео рассчитывают на то, что пиксел видео квадратный: обработка других записей связана с некоторыми трудностями.

    В силу описанных причин, рекомендуется использовать максимально допустимое платой захвата разрешение по горизонтали (лучше такое, которое будет использовано в онончательном варианте оцифрованной записи — например 720x576, если вы готовите видео DVD).

    Соотношение сторон видео Когда говорят о соотношении сторон (aspect ratio) применительно к цифровому видео, речь идёт о двух величинах. Первая: соотношение сторон кадра (IAR, image aspect ratio или DAR, display aspect ratio), связывает геометрическую ширину и геометрическую высоту кадра. Подавляющее большинство видео устройств использует стандартное соотношение сторон 3:4, т. н. полноэкранный формат — телевизоры, мониторы компьютеров, видеокамеры и т. п. Некоторые устройства используют другой стандартный формат: широкоэкранный, 16:9.

    Вторая величина: соотношение сторон пикселя (PAR, pixel aspect ratio), определяет геометрическую форму пикселя, наименьшего элемента изображения.


    Компьютерщики привыкли к тому, что пиксель всегда квадратный: при соотношении сторон монитора 3:4, разрешение по горизонтали и вертикали также соотносятся как 3:4 (кроме разрешения 1280x1024, вместо которого иногда используют 1280x960). Однако это не всегда так: например, на видео DVD в стандарте PAL изображение записано с разрешением 704x576, хотя кадр имеет соотношение сторон 3:4 (если бы пиксели на видео DVD были квадратными, то при 576 строках нужно было бы 768 пикселей по горизонтали). Более того, широкоформатное видео записывается на видео DVD в таком же разрешении, однако кадр имеет пропорции 16:9 (при 576 строках и квадратных пикселях получилось бы 1 024 пикселя по горизонтали). Таким образом, чтобы получить нужное соотношение сторон кадра при заданном разрешении, нужно знать соотношение сторон пикселя:

    Захват, обработка и хранение видео с использованием ПК Используя это соотношение несложно получить такую таблицу:

    Фрагменты растров с различными PAR
    (IAR = 1:1 во всех случаях)
    Захват, обработка и хранение видео с использованием ПК PAR = 1,000
    квадратные пиксели
    Захват, обработка и хранение видео с использованием ПК PAR = 1,094
    PAL DVD, полноэкранное видео: 704x576, 3:4
    PAL VCD: 352x288, 3:4
    Захват, обработка и хранение видео с использованием ПК PAR = 1,459
    PAL DVD, широкоэкранное видео: 704x576, 16:9
    Захват, обработка и хранение видео с использованием ПК PAR = 1,641
    PAL SVCD: 480x576, 3:4
    Захват, обработка и хранение видео с использованием ПК PAR = 2,000
    при захвате кадра 384x576, 3:4
    Примечание: описание, приведённое выше, несколько упрощено; в таблице приведены точные значения PAR. Прочесть подробнее о вычислении PAR вы сможете, напр. в Руководстве по захвату аналогового видео на сайте Doom9.

    Обе эти величины удобно использовать при вычислении размера кадра и его разрешения в пикселях: так, при обрезании краёв изображения IAR будет изменён, но PAR сохранится. При пропорциональном изменении разрешения по горизонтали и вертикали сохраняются и IAR, и PAR. Другие преобразования изображения могут быть выполнены при помощи формулы, которая приведена выше (напр. изменение PAR при сохранении IAR).

    Человек «видит глазом» только IAR, увидеть разницу между двумя картинками 4:3 384x576 (PAR = 2,00) и 768x576 (PAR = 1,00) практически невозможно (некоторое уменьшение чёткости может быть незаметно в виду невысокой чёткости исходного видео) — а места на диске первый вариант будет занимать практически вдвое меньше.


    К сожалению, аппаратные проигрыватели поддерживают только небольшой набор PAR, IAR и разрешений (см. табл. выше), потому для достижения необходимого разрешения при заданном PAR часто возникает необходимость в добавлении чёрных полос сверху и снизу изображения. Для видео на компьютерах можно использовать любые значения PAR, IAR и разрешения; однако подавляющее большинство проигрывателей игноритуют информацию о PAR из заголовка файла и воспроизводят видео так, как будто его пиксели — квадратные. По этой причине при подготовке видеозаписей для просмотре на компьютере рекомендуется приводить запись к PAR = 1,00.

    Диапазон яркости оцифрованного видео Стандартами цифрового видео (напр. ITU-R BT 601) обусловлены два диапазона возможных значений яркости пикселей (luminance levels): полный (компьютерный, PC scale) — 0…255; и телевизионный (TV scale) — 16…235. То есть считается, что компьютерная техника способна воспроизводить больший диапазон яркости, чем телевизоры. Проигрыватели видео DVD, цифровые видеокамеры и прочая бытовая аппаратура используют диапазон TV scale — потому при создании видеозаписей, которые будут просматриваться на телевизоре, лучше привести запись к такому же диапазону. Некоторые компьютерные платы захвата также используют TV scale, другие же — полный PC scale. Для преобразования диапазона яркости удобно использовать фильтр Levels. Также помните, что настройки яркости и контрастности при захвате влияют на используемый диапазон яркости оцифрованного видео.

    Для комфортного просмотра на компьютере видеозаписей в TV scale, удобно настроить свойства отображения видео в настройках видеокарты: см. статью Воспроизведение видео на компьютере, раздел Настройка изображения.

    Оцифровка и захват звукового сопровождения При записи несжатого звука формата 48 кГц/16 бит/стерео поток данных составляет всего 187 Кбайт/сек (0,67 Гбайт/час), а для моно звука — вдвое меньше. Такой потом данных несравнимо меньше потока данных видео, потому для записи звука настоятельно рекомендуется использовать формат без сжатия: PCM.


    Использование сжатия звука « на лету» является одной из самых распространённых причин появления рассинхронизации видео и звука в полученной записи.

    Звук в формате PCM также удобно использовать при монтаже видео: во–первых «кадры» звуковой записи имеют длительность намного меньше кадра видео, что позволяет точно разрезать и склеивать звук при разрезании и склеивании видео; во–вторых «кадры» звуковой информации не зависят один от другого — если отрезать начало звука, то его продолжение не изменится. Применяя какое–либо сжатие звука мы лишаемся обоих преимуществ: например, в формате mp3 длина «кадра» равна 26 мс, а звук каждого последующего «кадра» зависит от предыдущего «кадра». (Применительно к формату звука PCM вместо термина «кадр» используется термин «отсчёт» или «сэмпл», для mp3 используют термин «блок»; здесь термин «кадр» использован только ради аналогии с видео.)

    Программы для захвата аналогового видео Каждая карта оцифровки видео комплектуется не только драйверами, но и набором программного обеспечения. Эти программы позволяют использовать различные возможности карты оцифровки — в том числе захват видео. Часто эти программы достаточно убоги как с точки зрения интерфейса или наличия дополнительных возможностей, так и с функциональной точки зрения (например, AverTV, которым комплектуется мой Aver–203, позволяет захватывать видео с максимальным разрешением лишь 720x576 и сжимает видео «на лету» лишь в форматы MPEG–1 или MPEG–2). Конкуренция на рынке карт оцифровки видео в последнее время стала настолько жёсткой, что производители этих устройств взялись в последнее время за голову и снабдили свою аппаратуру программами, которые по функциональности вполне могут конкурировать со специальными программами для захвата видео.

    iuVCR Самая популярная и распространённая программа для захвата видео — это iuVCR. Программа доступна для скачивания как с английским, так и с русским интерфейсом. iuVCR использует DirectShow интерфейс для захвата видео. В этой программе реализовано, пожалуй, наибольшее количество сервисных возможностей, содержит ряд фильтров для обработки видео «на лету» во время захвата, поддерживает захват оцифрованного звука по PCI шине и захват в файлы Матрёшка.


    Программа обеспечивает полный спектр функций по оцифровке и захвату аналогового видео, а также способна захватывать цифровое видео. Автор программы — Иван Усков — написал свой вариант драйверов для карт захвата на чипе Conexant bt848/878, который обеспечивает ещё больше возможностей, чем стандартные драйверы от производителей соответствующего оборудования. Автор iuVCR отлично разбирается в тонкостях оцифровки и захвата видео, его программа содержит ряд уникальных возможностей (например, альтернативный способ подсчёта кадров, который помогает качественно записать видео сигнал со слабыми синхронизирующими импульсами).

    Захват, обработка и хранение видео с использованием ПК Программа распространяется свободно только для тестового использования в течении 30 дней. Об этом вам напоминает окошко, которое появляется при запуске и закрытии программы. Если вы хотите использовать программу в дальнейшем — вам необходимо зарегистрировать свою копию программы, стоимость регистрации: 300 рублей.

    Я предпочитаю использовать именно эту программу для захвата как аналогового, так и цифрового видео. Правда, в некоторых системах она не работает: мне так и не удалось заставить её работать на компьютере с ATI Radeon 8500 VIVO. В таких случаях я использую VirtualDubMod.

    FlyTV Также очень популярно семейство программ FlyTV, написанные Сергеем Андыком. Основная программа — TheFlyDS — предназначена не только для захвата видео, а и для просмотра ТВ передач при помощи ТВ приёмника на карте захвата. Программа содержит массу сервисных возможностей: множество языков интерфейса (в том числе и русский), изменяемый внешний вид программы (skins), воспроизведение радио каналов — при помощи радио приёмника, deinterlace «на лету» во время просмотра или захвата, поддерживает захват оцифрованного звука по PCI шине, телетекст, вещание по локальной сети, скачивание программы ТВ передач через интернет. Стоимость программы FlyDS для граждан exUSSR составляет 250 руб, вы можете бесплатно испробовать программу в течении 30 дней.

    Захват, обработка и хранение видео с использованием ПК В области захвата видео функциональность программы явно уступает iuVCR, потому если вас интересует не столько комфортный просмотр ТВ программ на компьютере, сколько захват, то FlyDS — не ваш выбор.



    Тот же автор создал пару маленьких бесплатных программ, которые созданы специально для захвата видео: FlyCap и FlyDS, которые используют VfW и DirectShow интерфейс для захвата соответственно. Со своей основной задачей они достойно справляются, а вот дополнительные возможности у них очень бедны.

    Virtual VCR Захват, обработка и хранение видео с использованием ПК Virtual VCR использует DirectShow интерфейс для захвата видео, также позволяет использовать установленные в системе DirectShow фильтры для обработки видео «на лету» во время захвата, содержит собственный алгоритм детектирования пропущенных кадров и уникальная возможность: запись расширенной статистики о процессе захвата. Программа распространяется бесптално, последняя версия—2.6.9.

    VirtualDub Самая популярная и распространённая программа для редактирования и несложного монтажа видео — VirtualDub — имеет также возможности по захвату оцифрованного видео. VirtualDub использует для захвата интерфейс VfW. Функциональность VirtualDub в области захвата видео существенно беднее iuVCR и интерфейс намного менее удобен — но в целом обеспечивает достаточно возможностей. В частности, есть поддержка записи сегментированного видео — то есть запись производится не в один большой файл, а набор файлов фиксированного размера (эта функция может использоваться чтобы обойти ограничение на размер файла в файловой системе FAT32).

    Захват, обработка и хранение видео с использованием ПК Подробнее эта программа описана ниже, в разделе «Обработка видео».

    AVI_IO Захват, обработка и хранение видео с использованием ПК Известная в узких кругах программа AVI_IO, работающая через интерфейс VfW, содержит полный комплект сервисных возможностей: захват сегментированного видео, захват по расписанию и т. д. Но главный конёк этой программы — оригинальный и очень эффективный алгоритм детектирования пропущенных кадров. Разрабатывается программа компанией NCT AG, последняя версия — С 03.24, стоимость программы: $25. К сожалению, разработка программы прекращена: если под управлением Windows 9x/NT, для которых она разрабатывалась, программа работает достаточно хорошо; то под управлением современных ОС Windows 2000/XP программа работает крайне не стабильно.



    Захват цифрового видео Как я уже упомянул выше, iuVCR поддерживает захват цифрового видео через интерфейс IEEE 1394 (FireWire). Также захват DV видео поддерживают многие современные видео редакторы: от простенького Windows Movie Maker (который входит в состав Windows XP и может быть бесплатно скачан с сайта Microsoft) до монстров типа Adobe Premiere или Ulead Media Studio. Если вы работаете только с захватом цифрового видео, то вам, возможно, не нужна вся функциональность iuVCR: выберите другую программу по душе, например специализированный ScenalyzerLive (содержит ряд специфических для DV функций: сканирование записи, разрезание записи по сценам во время захвата и т. п.).

    Сжатие Чтобы уменьшить потери качества, при захвате и монтаже записи используют специальные форматы сжатия: они сохраняют высокое качество даже при повторном применении, обеспечивают простой доступ к любому кадру видеозаписи, но используют очень много памяти.

    Для хранения видеозаписей применяют другие способы сжатия видео. Такие форматы сжатия используют специальные способы кодирования информации: вместо сохранения каждого кадра сохраняется только информация об изменившихся частях кадра (см. Типы кадров). Это затрудняет доступ к произвольному кадру в видеозаписи, но позволяет достигнуть существенно большего сжатия информации. Также такие способы сжатия сохраняют меньше информации о деталях видеозаписи — что практически незаметно при однократном применении сжатия, но ведёт к появлению очень заметных артефактов при многократном применении такого способа сжатия.

    Таким образом, при монтаже используются способы сжатия, которые лучше сохраняют качество видеозаписи — но занимают очень большой объём памяти. Для хранения видеозаписей используются другие способы сжатия, которые обеспечивают неплохое качество записи и требуют существенно меньше памяти.

    Сжатие видео Рассмотрим разные кодеки — программы, которые позволяют кодировать и декодировать видео, используя какой–либо формат сжатия. Учтите, что «большие» графические редакторы содержат в своём комплекте ряд встроенных кодеков.


    В этом разделе будут описаны кодеки со стандартными интерфейсами, которые можно использовать в самых разных программах для работы с видео (захват, монтаж, редактирование). При захвате видео потоки данных достаточно велики, потому я буду приводить примерные значения в Мбайтах/сек и дублировать их в Гбайтах/час. Первая величина удобна для сравнения с пропускной способностью жёсткого диска. Вторая удобна для определения необходимого места на диске. Как легко подсчитать, эти величины пропорциональны с коэффициентом 3,5.

    Кратность разрешения кадра В виду того, что в цифвровом видео специальным образом кодируются группы из двух или четырёх пикселей (см. Кодирование цвета), размер кадра видеозаписей должен всегда быть чётным, т. е. делиться на 2 (а в случае кодирования 4:1:1 — горизонтальный размер должен делиться на 4). Некоторые методы сжатия видео — например, HuffYUV — требуют, чтобы размер кадра был кратен четырём: в противном случае запись получится испорченной. Семейство алгоритмов MPEG–1, –2, –4 ASP при сжатии изображения разделяют его на квадратные блоки 8x8 пикселей — при использовании этих алгоритмов крайне желательно, чтобы размер кадра был кратен восьми. Алгоритмы обнаружения движения в кадре, которые используются в MPEG–4 ASP, разбивают кадр на макроблоки размером 16x16 пикселей, потому при сжатии любым кодером на основе алгоритмов MPEG–4 ASP рекомендуется использовать размер кадра, кратный 16.

    Промежуточное сжатие видео Основные требования к промежуточному сжатию видео это: малое влияние на качество изображения даже при многократном повторном применении (в идеале — сжатие без потерь) и обеспечение простого и быстрого доступа к любому кадру (в идеале — каждый кадр сжимается независимо от других). Выполнение этих требований — залог высокого качества изображения и удобной работы при монтаже и редактировании видео.

    Несжатое видео При захвате видео с размером кадра 768 на 576 пикселей с платы оцифровки видео поступает поток данных примерно в 22 Мбайт/сек (76 Гбайт/час) — и, соответственно 21 Мбайт/сек (73 Гбайта/час) при размере кадра 720 на 576.


    При захвате несжатого видео практически нет нагрузки на процессор компьютера, зато велика нагрузка на жёсткий диск. А главное — видео в таком виде занимает неоправданно много места. На практике в любительских условиях никто не работает с несжатым видео. Приведённые выше цифры вы можете использовать как предел сверху — как для необходимой скорости жёсткого диска, так и для необходимого для захвата места. Также, если ваша программа захвата вдруг показывает, что поток данных равен таким большим значениям, это означает наличие какой–то проблемы с видео кодером: реально у вас захватывается несжатое видео. В таком случае остановите захват и повторите настройку сжатия видео (возможно выбранный вами кодер видео не поддерживается программой захвата).

    HuffYUV Этот кодер идеально соответствует требованиям, которые перечислены в разделе «Промежуточное сжатие видео». Он сжимает каждый кадр отдельно при помощи одного из самых эффективных методов сжатия данных без потерь: методом Хаффмана (его также использует архиватор RAR). Хоть это нетипично для сжатия видео, но этот кодер обеспечивает сжатие данных без потерь. Правда, эффективность такого сжатия не очень велика: типичные потоки данных для HuffYUV — 10—13 Мбайт/сек (35—45 Гбайт/час). Учтите, что если часть кадра постоянно занимает однородный фон, то потребуется меньший поток данных: это касается записей широкоэкранных кинофильмов (с чёрными полосами сверху и снизу изображения). Кодек достаточно требователен к ресурсам компьютера: для захвата видео с размером кадра 768x576 нужен процессор не меньше 700 МГц. Автор — Ben Rudiak–Gould, последняя авторская версия — 2.1.1.

    Также в интернете доступна модифицированная версия от Klaus Post — 2.2.0. Мне не удалось заставить её работать: она создаёт файлы неправдоподобно малого размера (почти втрое меньше, чем версия 2.1.1), декодеры HuffYUV версий 2.1.1 и 2.2.0 зависают при попытке воспроизвести такой файл, декодер ffDShow показывает видеозапись, в которой большая часть кадра заполнена цветным мусором. (В конференции RU.MPEG сообщали о том, что эта версия кодера нормально работает при некоторых условиях: вы можете попробовать, будет ли она работать у вас.)



    MJPEG Идея этого метода кодирования достаточно проста: каждый кадр кодируется независимо от остальных, кадры сжимаются алгоритмом с потерями типа JPEG (который так широко используется для сжатия фотографий). Существует несколько реализаций алгоритма, в том числе и аппаратные: так, карта захвата Pinnacle Studio DC10+ выдаёт поток в формате MJPEG. Из программных реализаций наиболее распространены кодеки от Morgan Multimedia и Pegasus Imaging Corp. Кодек от Morgan специалисты не жалуют: и качество изображения у него похуже, и совместимость (не в состоянии декодировать некоторые MJPEG файлы). Кодек от Pegasus (PICVideo MJPEG) наоборот — очень популярен. Практически у него есть одна настройка: уровень качества (от 1 до 20). При захвате видео с целью получения максимального качества как правило используется уровень 19, поток данных при этом получается 5—7 Мбайт/сек (17—25 Гбайт/час). При этом видео с размером кадра 768x576 можно захватывать на процессоре 450 МГц.

    Использовать самый большой уровень качества нет смысла: поток данных получается 12—17 Мбайт/сек (40—60 Гбайт/час) — это больше, чем HuffYUV. При этом MJPEG сжимает с потерями, а HuffYUV — без потерь. Да и требования к процессору в таком режиме получаются побольше, чем у HuffYUV.

    Вы можете использовать и меньшие значения уровня качества — при этом и поток данных, и загрузка процессора будут меньше. Но уже при уровне 18 артефакты сжатия становятся заметны на глаз: случайный шум в ТВ программах иногда вырождается в регулярные узоры (муар). При уровне 17 муар становятся постоянными.

    Уровень качества сжатия,
    кодер PICVideo MJPEG Типичный поток данных,
    Мбайт/сек (Гбайт/час)
    20 12—17 (40—60)
    19 5—7 (17—25)
    18 3—6 (11—16,5)
    17 2,5—4 (9—13)
    16 2—3,5 (8—11)
    15 1,8—2,8 (6,5—10)
    Кстати, VirtualDub содержит встроенный декодер формата MJPEG. Специалисты, правда, настоятельно рекомендуют не использовать его, а установить в систему кодек от Morgan или Pegasus.

    Pegasus недавно выпустили новую версию своего кодека: PICVideo MJPEG 3.


    Среди прочих новшеств этот кодек содержит пост–процессинг при декодировании видео: по аналогии с MPEG–4 декодерами. Это позволит использовать более высокие степени сжатия видео при сохранении приблизительно такого же визуального качества изображения.

    AlparySoft Lossless Video Codec В последнее время приобретает популярность разработка российских программистов из AlparySoft — их Lossless Video Codec позволяет сжимать видеозаписи «на лету» как в режиме «без потерь» (аналог HuffYUV), так и «визуально без потерь» (аналог MJPEG) — в последнем случае сжатие существенно эффективнее. В режиме «без потерь» кодек обеспечивает более эффективное сжатие, чем популярный HuffYUV: см. сравнение степени сжатия различных беспотерьных кодеков — правда, вычислительных ресурсов он требует намного больше.

    Также кодек содержит ряд необычных и удобных функуций, например специальный режим сжатия черессточного видео и преобразование видеозаписи в формат YV12: последнее очень удобно при обработке видеозаписей непосредственно перед финальным сжатием. Дело в том, что подавляющее большинство кодеров поколения MPEG–4 прежде чем закодировать видео, преобразуют его в формат YV12. Сохраняя обработанное видео в формате YV12, мы экономим на размере промежуточной видеозаписи, не добавляя никаких дополнительных потерь качества видео. Учтите, что преобразование в формат YV12 нужно использовать только единожды: непосредственно перед финальным сжатием видео — в противном случае качество вашей записи несколько снизится.

    Программа распространяется бесплатно, хотя и требует выполнения процедуры бесплатной регистрации через интернет (неудобно то, что коды регистрации привязываются к конкретному компьютеру). Последняя версия — 2.0 альфа.

    MPEG–1, MPEG–2 Мне не известны качественные MPEG–1 или MPEG–2 кодеры со стандартным DirectShow или VfW интерфейсом, которые бы можно было установить в систему и использовать из всех программ по работе с видео. Потому ниже пойдёт речь про MPEG кодеры, которые встроены в программное обеспечение карты захвата — как правило они позволяют сохранять видео в формате MPEG–1 и MPEG–2.


    Также более дорогие карты захвата имеют встроенные MPEG–кодеры, они способны проводить сжатие видео «на лету» аппаратно, передавая системе для записи уже готовый MPEG поток.

    MPEG–1 предусматривает потоки данных до 1,5 Мбит/сек для видео (лишь 188 Кбайт/сек) при разрешении до 384x288 — потому его не разумно применять для захвата видео в виду исключительно низкого качества. На практике, правда, многие программы захвата игнорируют эти ограничения и способны создавать MPEG–1 потоки с большими размером кадра и шириной потока данных: AverTV может создать MPEG–1 видео с потоком вплоть до 20 Мбит/сек . Полученный файл, конечно, не соответствует стандартам — однако VirtualDub вполне в состоянии его прочитать.

    Стандарты MPEG–1 и MPEG–2 формально имеет ограничение в 40 Мбит/сек, однако конкретные программные реализации MPEG–1/2 кодеров как правило ограничены ещё меньшими потоками. AverTV из комплекта поставки карты Aver 203 ограничен 20 Мбит/сек (2,5 Мбайт/сек, 9 Гбайт/час), ATI Multimedia Center имеет ограничение в 15 Мбит/сек (2 Мбайта/сек, 7 Гбайт/час). Учтите, что VirtualDub не в состоянии читать файлы MPEG–2. VirtualDubMod имеет дополнительную надстройку, которая позволяет открывать ему файлы с MPEG–2 видео.

    Во время захвата видео кодеры MPEG–1 и MPEG–2 кодируют видео в режиме с постоянным потоком данных (CBR) и с постоянным видом группы кадров (GOP). Как было сказано в разделе «Поток данных (bitrate)» — это не оптимальный режим для метода сжатия с потерями. Группу кадров лучше сделать достаточно короткой (3—5 кадров), двунаправленные кадры не использовать вовсе (см. также Группы кадров). Вы можете даже использовать только ключевые кадры — кодер будет работать в режиме, подобном MJPEG. Однако, специалисты указывают на то, что иногда кодеры даже при больших потоках данных допускают артефакты, особенно это заметно для цветовой составляющей (см. статью Виктора Томилова Видеокарты от ATI с видевходом: Лучшие возможности для оцифровки видеозаписей).

    MPEG–4 Использовать MPEG–4 кодеры при захвате видео практически бессмысленно: DivX 5.1.1 в режиме 1–pass quality based (fastest, quality: 1, max keyframe interval: 1) создаёт поток такой же ширины, как и PICVideo MJPEG с качеством 19, при этом потребляет втрое больше мощности процессора.


    Возможно, в каких–то компромиссных вариантах — с низким качеством, небольшим размером кадра — DivX и можно использовать. Но в любом случае, он потребляет уйму вычислительных ресурсов. Если вы собираетесь сжимать в DivX видео с размером кадра 768x576 «на лету» — запаситесь процессором как минимум в 2 ГГц. Очевидно, что с XviD ситуация аналогичная.

    DV Цифровые камеры используют свой формат сжатия видеозаписей — DV (Digital Video). Технически он схож с MJPEG, но не совместим с ним. Формат DV содержит дополнительные возможности, как то: наложение титров (удобно для видеокамер: подпись к записи записывается отдельно изображения, а не поверх него), специальный способ синхронизации аудио и видео информации. Поток данных DV имеет постоянную ширину: 3,6 Мбайт/сек (12,5 Гбайт/час).

    Существует несколько программных кодеков формата DV, более того: DirectX 6 и новее стандартно содержат DV кодек — правда он поддерживает только DirectShow интерфейс (соответственно VirtualDub не в состоянии его использовать). Тем не менее специалисты рекомендуют использовать кодек от MainConcept: он обеспечивает корректную цветопередачу, более высокое качество изображения, а также менее ресурсоёмок. На сайте доступна демонстрационная версия, полная версия стоит $49. Декодер от Cannopus поддерживает только декодирование. Также в интернете можно найти кодек от Panasonic: судя по всему он какое–то время назад был доступен на японском сайте компании, потом его убрали — но добрые люди успели его скопировать.

    Распространено заблуждение, что высокого качества при захвате видео можно добиться, используя формат DV — ведь цифровые камеры делают именно так, и качество оцифровки и захвата у них очень высокое! Но дело в том, что качество захвата цифровых видеокамер связано с существенно более качественной аппаратной частью, а не с используемым форматом сжатия видео. Формат DV не стоит использовать также и потому, что в этом формате создаётся поток с постоянной шириной (CBR): куда как эффективнее использовать MJPEG с переменной шириной потока (VBR).


    Единственное разумное применение програмного DV кодера — это сжатие видео перед записью его на цифровую DV видеокассету.

    Мне неизвестно, какой из этих кодеков лучше и почему — я совсем мало имею дела с цифровыми камерами и DV. За информацией по работе с DV рекомендую обратиться к сайту М. Афанасенкова или к FAQ по созданию и редактированию цифрового видео.

    Что же выбрать? Если ваша карта захвата способна выдавать оцифрованное видео только в закодированном виде, то вам не нужно его сжимать как–либо ещё: достаточно сохранить уже сжатое чипом карты захвата. Так, если вы используете плату Miro VIDEO DC30, нет никакого смысла сохранять полученное MJPEG видео даже сжатым без потерь (HuffYUV) — нужно сохранить MJPEG, который выдаёт карта захвата. При захвате цифрового видео его нужно сохранять в исходном виде — в формате DV (слить с камеры).

    Если ваша карта захвата выдаёт несжатое видео — лучше всего его сохранять без потерь, применяя сжатие HuffYUV. Поскольку этот метод использует сжатие без потерь, вы можете применять это сжатие при многих последовательных операциях.

    Если у вас не так много места на жёстком диске — используйте Pegasus MJPEG с уровнем качества 19. Качество такого сжатия очень высокое: не смотря на то, что MJPEG сжимает с потерями, на глаз этого абсолютно незаметно.

    Захват, обработка и хранение видео с использованием ПК Оригинальное изображение
    так же будет выглядеть кадр, сжатый без потерь (напр. HuffYUV)
    Захват, обработка и хранение видео с использованием ПК Кадр, сжатый Pegasus MJPEG, качество: 20
    Захват, обработка и хранение видео с использованием ПК Кадр, сжатый Pegasus MJPEG, качество: 19
    Тем не менее, не стоит применять MJPEG сжатие много раз подряд: за счёт накопившихся погрешностей могут возникнуть заметные артефакты. Возьмите за правило: не более 2 пережатий в MJPEG.

    Если у вас мало места на жёстком диске — используйте MJPEG с более низкими уровнями качества. Также вы можете попробовать использовать MPEG, но эти методы достаточно требовательны к процессору (причём MPEG–4 более ресурсоёмок, чем MPEG–2, а MPEG–2 более сложен, чем MPEG–1) и не на много лучше MJPEG по качеству сжатия (если вообще лучше).



    Вам следует помнить, что если при подготовке видеозаписи несколько раз последовательно применялось сжатие с потерями, то достаточно заметно падает качество изображения. Алгоритмы MPEG не рекомендуется использовать в качестве промежуточных для захвата, обработки и редактирования видео.

    Финальное сжатие видео Методы финального сжатия видео должны обеспечивать высокую степень сжатия — возможно, с потерей информации. Современные кодеры используют специальные алгоритмы, которые призваны сделать искажения видео (артефакты) как можно менее заметными при воспроизведении. Также для проигрывания видео достаточно лишь последовательного доступа к кадрам видеоряда: доступ к произвольному кадру, как правило, сопряжён с большими задержками. Ещё одно преимущество таких способов сжатия видео: возможность задать размер видеозаписи в сжатом виде. Для использования этой возможности нужно рассчитать среднюю ширину потока данных (bitrate), до которой вы хотите сжать полученное видео. Рассчитать необходимое значение можно при помощи обычного калькулятора, однако удобнее это делать при помощи специальных программ: bitrate calculator. Кодеки DivX Pro и XviD содержат встроенные bitrate calculator’ы.

    MPEG–2 Мне не известны качественные MPEG–2 кодеры со стандартным DirectShow или VfW интерфейсом, которые бы можно было установить в систему и использовать из любой программы по работе с видео. Потому для финального сжатия видео в формат MPEG–2 нужно использовать специальные программы, например Cannopus Pro Coder или TMPEnc Encoder (многие «большие» редакторы видео, как Adobe Premierre, содержат встроенные MPEG–2 кодеры, однако указанные специализированные программы обеспечивают более высокое качество сжатия видео). Мне не доводилось сжимать видео в MPEG–2, за информацией рекомендую обратиться к сайту М. Афанасенкова или к FAQ по созданию и редактированию цифрового видео.

    DivX 5.2.1 Pro Кодек поддерживает как двухпроходный режим, так и использование однопроходного режима с постоянным качеством вместо первого прохода (см.


    Однопроходное сжатие).

    Перед началом настройки кодера рекомендуется сбросить все установки: Restore Defaults. После этого нужно выбрать режим сжатия: Encoder mode — Multipass, 1st pass или Nth pass. При последнем проходе нужно указать необходимый битрейт, который определит размер сжатой видеозаписи. На первых проходах можно указывать любой другой битрейт, но рекомендуется, чтобы он отличался от конечного значения не более чем вдвое (в любую сторону).

    Следующий важный параметр: Encode Performance. Рекомендуется использовать Standard или Slow.

    При помощи движка Bitrate modulation вы можете дать рекомендацию кодеру, какие сцены сжимать с более высоким качеством: статичные (low–motion) или динамичные (high–motion). Выбор варианта определяется вашими предпочтениями, по умолчанию все сцены сжимаются с одинаковым уровнем качества.

    При помощи кнопки Select… вы можете выбрать имя файла, куда кодером на первом проходе будет записан результат анализа видеоряда (log file).

    На закладке Video вы можете включить использование системы психовизуальных улучшений (Psychovisual Enhancements: Fast или Slow, что соответствует двум разным вариантам алгоритма — ни один из них не даёт явно более качественного сжатия, но первый быстрее). При помощи настроек Crop вы можете обрезать края кадра видеозаписи, при помощи Resize — изменить размер кадра. Source Pre–processing включает дополнительную обработку видео перед сжатием, что удобнее делать средствами редактора видео. При помощи переключателя Interlace вы можете включить режим сохранения чересстрочного видео: Preserve Interlace. Для прогрессивного видео следует указать Progressive source. Scene change threshold позволяет корректировать чувствительность алгоритма детектирования смены сцены: не рекомендуется использовать значения менее 40% или более 60%. Параметр Max Keyframe interval позволяет ограничить сверху максимальное расстояние между двумя ключевыми кадрами: чем меньше это число, тем быстрее будет осуществляться перемотка видеозаписи.


    Однако, использование слишком большого числа ключевых кадров существенно ухудшит качество сжатия: MPEG–4 позволяет сжимать видео так хорошо именно при помощи использования большого числа промежуточных и двунаправленных кадров.

    Разного рода дополнительные возможности становятся доступными лишь после отключения DivX Cerfitied Profile: нажмите Select DivX Cerfitied Profile, отключите DivX Certified, нажмите Next. В следующем окне вы сможете включить использование более чем одного двунаправленного кадра подряд (Bidirectional encoding: Adaptive Multiple Consequtive — рекомендуется), компенсации движения (GMC — рекомендуется не включать) или четверьтпиксельной точности расчёта векторов движения (Quarter Pixel — рекомендуется не включать). Также после отключения DivX Cerfitied Profile становятся доступны 1–проходный режим сжатия с постоянным уровнем качества (Encoder mode: 1–pass quality–based) и MPEG матрица квантования (закладка Video, Quantization Type: MPEG–2 — рекомендуется использовать только при высоких битрейтах).

    При помощи кнопки Settings вы можете сохранять варианты настройки кодера (preset) или же загружать варианты, сохранённые ранее. Здесь же вы можете настроить некоторые параметры кодера: отключить выдачу кодером сообщений об ошибках и предупреждений (Do not prompt with errors and warnings); включить смену рекламных сообщений (Rotate artwork and product information); включить автоматическую проверку наличия новых версий кодека через интернет при каждом запуске (Always check for new version at startup). Тут же можно отключить окно с состоянием процесса кодирования видео (Disable the feedback window) — его удобно использовать для подтверждения того, верные ли настройки кодера вы используете. Также вы можете «на лету» корректировать настройки кодера, хотя обычно это делать не рекомендуется. Учтите, что отображение состояние процесса кодирования на треть снижает скорость сжатия видео — потому чаще его лучше отключать. Версия 5.2 содержит некоторую поддержку многопроцессорности и технологии HT: отображение окна состояния кодера ложится на второй процессор и не замедляет процесс кодирования видео.



    Учтите, версия DivX 5. 2 содержала целый ряд ошибок, используйте последнюю версию — 5.2.1.

    XviD 1.02 Кодек поддерживают как двухпроходный режим, так и использование однопроходного режима с постоянным качеством вместо первого прохода (см. Однопроходное сжатие).

    Перед началом настройки кодера рекомендуется сбросить все установки: Load Defaults. После этого нужно выбрать режим сжатия: Encoder type — Twopass, 1st pass или 2nd pass. При втором проходе нужно указать необходимый битрейт, который определит размер сжатой видеозаписи.

    При помощи верхней кнопки More… вы попадёте к окно настройки расширенных возможностей стандарта MPEG–4. Тут можно выбрать матрицу квантования (Quantization type: для высоких битрейтов рекомендуется MPEG, иначе — H.263), включить использование системы психовизуальных улучшений (Adaptive Quantization), четвертьпиксельной точности (Quarter Pixel), глобальной компенсации движения (Global Motion Compensation), сохранение чересстрочного видео (Interlaced encoding), использование двунаправленных кадров (B–VOPs). Не рекомендуется изменять настройки по умолчанию, кроме типа матрицы квантования и Adaptive Quantization — по крайней мере если вы не знаете точно, что вы делаете.

    На закладке Aspect Ratio вы можете указать соотношение сторон обрабатываемого видеоряда: эта информация будет записана в сжатый видеоряд в соответствии со стандартом MPEG–4. К сожалению, большинство программ–проигрывателей просто игнорируют эту информацию и показывают видео так, как будто пиксели видеоряда квадратные (имеют соотношение сторон 1:1).

    При помощи второй кнопки More… вы попадёте в окно настройки режима сжатия: тут можно выбрать имя файла, куда кодером на первом проходе будет записан результат анализа видеоряда (log file).

    Кнопка Advanced Options… позволяет настроить дополнительные параметры кодера. На закладке Motion собраны параметры алгоритмов выявления движения объектов в кадре: точность алгоритма (Motion search precision) и режим высокого качества (VHQ mode). Рекомендуется использовать варианты алгоритмов с наибольшими номерами: самые медленные, но обеспечивающие максимальное качество.


    Переключатель Use chroma motion управляет режимом поиска движения: использовать цветовые составляющие видеозаписи или только яркостную (рекомендуется включить). Режим Turbo включает использование более быстрых, но менее точных расчётов: решайте сами, что для вас важнее — качество без компромиссов или же скорость кодирования. Maximum I–frame interval позволяет ограничить сверху максимальное расстояние между двумя ключевыми кадрами: чем меньше это число, тем быстрее будет осуществляться перемотка видеозаписи. Однако, использование слишком большого числа ключевых кадров существенно ухудшит качество сжатия: MPEG–4 позволяет сжимать видео так хорошо именно при помощи использования большого числа промежуточных и двунаправленных кадров. Переключатель Cartoon mode включает использование специально оптимизированного для мультфильмов режима.

    Закладка Quantization посвящена параметрам алгоритмов квантования. Рекомендуется не ограничивать диапазон коэффициентов квантования и оставить его 1—31 для всех типов кадров: алгоритм кодера достаточно умён, чтобы выбирать оптимальные коэффициенты квантования самостоятельно. Тут же рекомендуется включить использование интеллектуального алгоритма выбора вариантов кодирования на основании оценки соотношения «качество/размер» (Trellis Quantization).

    На закладке Debug в разделе Performance optimizations вы можете проверить: правильно ли кодер определил набор инструкций, поддерживаемый вашим процессором? В случае ошибок автоматического определения вы можете вручную задать использование нужного набора. Параметр Print debug info on each frame позволяет выводить отладочную информацию по каждому кадру сжимаемого видео: это полезно для разработчиков и тестеров кодера. Параметр Display encoding status позволяет отображать окно с состоянием процесса кодирования видео: его удобно использовать для определения, верные ли настройки кодера вы используете? С другой стороны, отображение состояние процесса кодирования несколько снижает скорость сжатия видео — потому обычно его лучше отключить.


    При помощи параметра FourCC used вы можете указать желаемый декодер для декодирования вашего видео: XviD, DivX 4 (DivX) или DivX 5 (DX50). В определённых режимах кодер XviD способен производить видеоряд, на 100% совместимый с разными версиями декодера DivX, однако рекомендуется использовать «родной» код XviD.

    Кодек XviD содержит уникальную возможность: зональное кодирование. Вы можете указать кодеку несколько зон в сжимаемом видео, к каждой из которых можно применить свой набор параметров. Зоны определяются по номеру кадра, с которого она начинается: заканчивается зона либо с началом следующей зоны, либо с окончанием видеоряда. Для каждой зоны можно указать её относительную важность — «вес» (Weight) — так, зона с весом 0,25 будет закодирована с качеством в 4 раза ниже, чем зона с весом 1,00. В качестве альтернативы вы можете потребовать сжатия зоны в режиме с постоянным качеством: укажите нужный коэффициент квантования (Quantizer). Это очень удобно для сжатия менее важных частей видеоряда, например титры кинофильма. Также вы можете потребовать у кодера начать зону с ключевого кадра (Begin with keyframe — это удобно, если вам может понадобиться быстрая перемотка на начало зоны или же возможность разрезать видеоряд по границе зон), включить режим кодирования чёрно–белого изображения (Greyscale encoding, настоятельно рекомендуется включать этот режим для чёрно–белых записей и даже фрагментов: в противном случае вы рискуете получить тёмно–зелёные пятна в сжатом ч/б видео), использовать специальный фильтр, сглаживающий чёткие границы объектов (Chroma optimizer — уменьшает эффект «лестницы», использовать по вкусу), использовать больше или меньше двунаправленных кадров (BVOP sensitivity, соответственно значения больше или меньше нуля).

    Последняя версия — 1.02 от 29 августа 2004 года.

    Сжатие звука После захвата звукового сопровождения видеозаписи, желательно убрать (уменьшить) шумы, которые присутствуют в звукозаписи. Для этого удобно использовать звуковые редакторы: подавляющее большинство имеют разнообразные инструменты для шумоподавления.


    На практике наиболее эффективным оказывается метод удаления шума «по образцу»: в качестве образца «чистого шума» используется пауза — фрагмент записи, в котором нет никаких звуков, только шум. Далее редактор, согласно выбранному образцу, убирает шум по всей звукозаписи. Как правило, полученный в результате такой обработки звук воспринимается на слух намного комфортнее, чем зашумленный оригинал. Подробно такая технология рассмотрена в разделе Adobe Audition: обработка звука. Также следует помнить, что чем больше шума содержит звукозапись, тем большей ширины потребуется поток данных при сжатии звука — для сохранения приемлимого уровня качества звучания.

    Для сжатия звука к обработанной видеозаписи вы можете воспользоваться различными кодерами.

    MPEG–1 layer 3 (mp3) Для сохранения звука в AVI традиционно используют формат сжатия звука mp3. Лучший на сегодня кодер mp3 — безусловно LAME (актуальная версия — 3.96.1). Про использование этого кодера несколько лет тому назад мною была написана статья, которая актуальна и по сей день: Использование пресетов mp3–кодера LAME.

    Разработчик популярного кодека mp3 — Fraunhofer Institute — сообщает о готовящемся выпуске нового варианта этого формата MP3 Surround с поддержкой многоканального звука. Предыдущая доработка формата mp3 — MP3 Pro — не обеспечивает должного качества звучания и потому не пользуется большой популярностью.

    Сжатие звука при помощи LAME Для сжатия звука рекомендуется использовать режим ‘preset ’, для моно записей средний поток данных имеет смысл задавать около 60 кбит/сек для обычных записей, 70–80 для качественных записей (музыка, концерты) и 45–50, если в записи присутствует только речь (здесь приведены значения ширины потока данных, которые были получены экспериментально; они обеспечивают сохранение качественного звучания очищенных от шума звукозаписей). Стерео записи следует сжимать с потоком от 90 до 170 кбит/сек — тем больше, чем более сложный звук записан. Для того, чтобы LAME не передискретизировал звук при среднем потоке менее 60 кбит/сек, дополнительно указывайте ключ ‘resample 48’ (или другую частоту — должна равняться частоте дискретизации вашего файла).



    Возможно, вы захотите сжать звук с постоянным потоком данных — например для совместимости с аппаратными MPEG–4 проигрывателями. В таком случае используйте режим ‘preset cbr ’, а значение ширины потока данных должно быть выбрано из набора: 32, 40, 48, 56, 64, 80, 96, 112, 128, 160, 192, 224, 256, 320.

    Ogg Vorbis Формат сжатия Ogg Vorbis обеспечивает качество звука лучше, чем mp3 даже при небольших потоках данных, а также сжатие не только моно и стерео фонограмм, но и многоканального звука (как, например, 5.1 на видео DVD). Однако для того, чтобы использовать его в видеозаписи, вам нужно обязательно сохранять видео в контейнер OGM или Матрёшка (см. Формат контейнера видеозаписи).

    MPEG–4 AAC В последнее время приобретает всё большую популярность формат сжатия звука MPEG–4 AAC (advanced audio coding), который примерно вдвое эффективнее mp3 или Ogg Vorbis, поддерживает не только моно и стерео фонограммы, но и многоканальный звук (как, например, 5.1 звуковые дорожки на DVD). Сегодня в интернете несложно найти целый ряд программ–кодеров для формата AAC, сравнения качества этих кодеров и другую информацию.

    Вам нужно учитывать, что не все аппаратные проигрыватели поддерживает звуковые дорожки с переменным потоком данных (VBR), потому возможно ради совместимости с аппаратными проигрывателями вы предпочтёте использовать режим сжатия звука с постоянным потоком данных (CBR) — подробнее см. Формат контейнера видеозаписи.

    Сведение видео и звука (muxing) При использовании контейнера AVI, для того, чтобы свести (mux) результирующую видеозапись вы можете использовать практически любой редактор видео (пожалуй, только Windows Movie Maker не поддерживает AVI: он сохраняет лишь WMV файлы). Если же вы намерены использовать контейнер OGM или Матрёшка то вам понадобится специальная программа (OGM mux утилита или утилиты для Matroska mux). В качестве альтернативы вы можете использовать VirtualDubMod или AVIMux_GUI — универсальную программу для mux/demux видеозаписей. Также эти программы допускают включение нескольких звуковых дорожек и/или нескольких вариантов субтитров в конечный файл с видеозаписью.



    Обработка Полученная в результате оцифровки и захвата видеозапись, как правило, мало пригодна для хранения: разрешение неоправданно завышено (см. Разрешение и чёткость изображения), в изображении присутствуют характерные для аналоговых записей шумы и искажения, размер полученного файла огромен. Поэтому видеозапись требует некоторой обработки: устранение артефактов чересстрочности, уменьшение разрешения, устранение шумов.

    Для простого редактирования и монтажа видео — вырезать несколько фрагментов, склеить несколько записей и т.п. — вам вполне хватит VirtualDub’а. Если же вы хотите чего–то большего — используйте редакторы видео. Самый простой из них — Windows Movie Maker, который входит в состав Windows XP или может быть бесплатно скачан с сайта Microsoft. Среди других можно назвать Pinnacle Studio 9, Ulead Media Studio и Adobe Premiere. Все они отличаются функциональными возможностями, скоростью работы и количеством поставляемых фильтров (ко всем программам существуют дополнительные фильтры, которые можно найти в интернете).

    Сложные видео редакторы в силу черезмерной универсальности выполняют типовые задачи достаточно медленно: типовую обработку видеозаписи с DV камеры VirtualDub выполняет примерно в 8 раз быстрее, чем Adobe Premiere 7. Потому предварительную обработку видео имеет смысл произвести при помощи простой программы (VirtualDub), а в «большом» редакторе — собственно редактировать и монтировать.

    Описывать процесс редактирования видео я не буду по нескольким причинам. Во–первых я никогда этим не занимался — кроме 2—3 попыток простенького оформления (вроде добавления титров). Во–вторых в интернете есть масса материала, описывающего работу с «большими» видео редакторами. В–третьих мне кажется, что сложное редактирование видео имеет куда больше общего с творчеством, чем с технологией.

    VirtualDub, VirtualDubMod Эта программа была создана специально для обработки видео: взять исходный файл, применить к нему несколько преобразований, сохранить в выходной файл.


    Программа долгое время развивается, и на сегодня представляет собой самый мощный и гибкий инструмент в своём классе. VirtualDub также позволяет произвести несложное редактирование видеозаписи — вырезать ненужный фрагменты, склеить несколько файлов и т.п. Автор программы — Avery Lee, последняя версия — 1.5.10, уже разработана и сейчас тестируется версия 1.6.0.

    Некоторое время назад автор программы опубликовал исходные коды своей программы. На основе этого кода возник проект VirtualDubMod, который расширяет функциональность программы VirtualDub: поддержка нескольких звуковых дорожек, поддержка контейнеров OGM и Матрёшка, чтение MPEG–2 видео и так далее. Рекомендуется всегда использовать не VirtualDub, а его расширенный вариант VirtualDubMod — он содержит множество функциональных улучшений, что очень удобно. Последняя версия — 1.5.10.1.

    VirtualDub на русском Поскольку программы VirtualDub и VirtualDubMod пользуется огромной популярностью, актуален вопрос перевода интерфейса этой программы на русский язык. Мне известен перевод Юрия Мильто (последние версии VirtualDub и VirtualDubMod) и перевод некоего Stevens Inc., который во–первых основан на переводе Юрия, а во–вторых не подходит к последним версиям. Оба этих перевода выполнены любительским способом путём подмены сообщений в запускаемом файле программы: этот подход неудобен тем, что после выхода каждой новой версии, нужно ждать, пока переводчик сделает перевод для новой версии.

    Фильтры Собственно обработка видеозаписи производится фильтрами (filter) — небольшими программами, которые при помощи стандартного интерфейса подключаются к редактору видео. Как правило интерфейс подключения фильтра уникален для каждой программы. Все редакторы видео содержат в комплекте некоторый базовый набор фильтров, VirtualDub не исключение. Но часто лучших результатов можно достигнуть используя фильтры, которые создают сторонние разработчики. Потому для процесса обработки видео важна не только программа обработки видео, а ещё и набор используемых фильтров.



    Ниже приводится описание полезных фильтров для VirtualDub, которые могут вам пригодится при обработке видеозаписей. Стандартные фильтры подробно описаны в файле справки VirtualDub (кстати, его нету в поставке VirtualDubMod — ради справки рекомендую скачать VirtualDub). Если вы не дружите с английским — посмотрите описание стандартных фильтров VirtualDub’а на сайте TV&FM тюнеры.

    Замеры скорости работы фильтров достаточно условны, но тем не менее они дают представление о скорости работы. Тестовый файл в формате MPJEG пережимается без применения фильтров в формат MPJEG со скоростью 42 кадра в секунду. Для примера будет указано значение скорости обработки с применением единственного фильтра.

    Этот раздел лишь описывает наиболее популярные фильтры для VirtualDub; в спорах о способах их применения сломано немало копий (см. напр. Чем чистить сильно зашумленное видео? (В VirtualDUB) в форуме iXBT Цифровое видео: захват, монтаж, обработка). Один из вариантов технологии обработки видео подробно рассмотрен в следующей статье цикла: Оцифровываем видео при помощи ТВ–тюнера.

    Обработка чересстрочного видео Очевидно, что обработку чересстрочного видео нужно производить по полям, а не по кадрам: ведь находящиеся в чётных и нечётных строках поля содержат разные изображения, снятые в разные моменты времени. Некоторые фильтры VirtualDub'а имеют поддержку черестрочного видео: например, DeLogo, Deshaker, MSharpen, Smart Smoother. Обработка чересстрочного видео (без разделения на полукадры) фильтрами, не имеющими поддержки чересстрочных записей, чревато сильным размытием изображения, особенно границ движущихся объектов. Если вы хотите получить прогрессивное видео, можно сначала применить фильтр deinterlace, а потом очищать изображение от шумов — однако, deinterlace можно выполнить намного качественнее, если использовать очищенное от шумов видео.

    Вероятно, идеальным способом было бы преобразовать видеоролик с 25 кадрами в секунду в видеоролик с 50 полями в секунду — однако, подсистема Video for Windows не позволяет изменять частоту кадров обрабатываемого видео.


    Потому VirtualDub использует обходной способ: при помощи встроенного фильтра Deinterlace в режиме Unfold кадр «разворачивается»: поля размещаются рядом, слева — верхнее, справа — нижнее. При этом сохраняется исходная частота кадров (25 к/сек), разрешение по вертикали уменьшается вдвое, а разрешение по горизонтали — вдвое увеличивается. Каждое из полей выглядит как обычный прогрессивный кадр: не содержит чересстрочной «гребёнки» — с той только разницей, что изображение сплюснуто по вертикали. В таком виде видео можно обрабатывать теми фильтрами, которые не умеют работать с чересстрочным видео. «Свернуть» кадры видеозаписи в нормальные чересстрочные кадры можно при помощи встроенного фильтра Deinterlace в режиме Fold. (Также можно использовать фильтры View Fields / UnView Fields — в отличие от встроенного фильтра, поля будут располагаться не справа и слева, а сверху и снизу, разрешение кадра будет сохранено.)

    2D Cleaner Фильтр несколько размывает изображение в равномерно окрашенных областях: таким образом границы объектов остаются резкими, а различный шум поверх объектов убирается. Достаточно быстрый (10,5 к/с), но способен убирать лишь лёгкий и нерегулярный шум. Слегка размывает изображение. Фильтр не пригоден для исправления достаточно заметных и регулярных дефектов изображения: если попробовать использовать большие значения параметров, то изображение получится сильно размытым (см. подробнее DivX: особенности сжатия видео в домашних условиях). Актуальная версия — 2D Cleaner optimized (0.9), авторы: Jim Casaburi и Jaan Kalda.

    Chroma Noise Reduction (CNR) Очень полезный фильтр для обработки записей аналоговых видео сигналов. При кодировании аналогового сигнала особое внимание уделяется кодированию яркостной составляющей сигнала, а цветовая составляющая сохраняется с намного меньшим качеством. Этот фильтр устраняет шумы в цветовой составляющей, не меняя яркостной. Эффект более всего заметен на ярких областях изображения: небо, например, приобретает равномерную окраску, без цветных полос.


    Однако необходимо внимательно настраивать этот фильтр, поскольку при неверных настройках он даёт заметные артефакты: множатся контуры движущихся тёмных объектов на ярком фоне. Фильтр заменяет стандартный «TV: chrominance average», и даёт намного лучшие результаты (за счёт использования более разумного метода устранения шумов, чем простое усреднение). Скорость — 18,5 кадров в секунду. Последняя версия — 1.1, автор — Gilles Mouchard.

    DeLogo Фильтр предназначен для удаления из изображения статических объектов, например логотипа телеканала, наложенный поверх видео. Более того, фильтр даже умеет удалять полупрозрачные логотипы, используя информацию об изображении, которая «просматривается» сквозь полупрозрачный логотип. Скорость работы очень сильно зависит от размера логотипа. Последняя версия — 1.3.2, автор — Karel Suhajda.

    DeShaker Этот фильтр обеспечивает пространственную стабилизацию изображения, что особенно полезно для записей, снятых видеокамерой с рук (особенно непрофессионалами). Идея работы фильтра проста: при выполнении первого прохода анализаруются направления перемещения изображения в кадре: вверх, вниз, вправо, влево и повороты по часовой стрелке и против; эта информация записывается в файл анализа видеоряда (log file). Перед выполнением второго прохода фильтр анализирует полученную информацию и строит траекторию движения камеры при съёмке, после чего эта траектория сглаживается. На основании имеющихся кадров видеозаписи фильтр создаёт кадры, которые бы были сняты камерой, двигайся она по сглаженной траектории. Такая обработка позволяет полностью убрать мелкое дрожание камеры, что положительно сказывается как на визуальном восприятии видеозаписи, так и на её сжимаемости (пространственная стабилизация положительно влияет на временную стабильность изображения, см. ниже описание Temporal Cleaner).

    Применение этого фильтра состоит из трёх стадий. Первый проход: анализ видеозаписи и запись файла анализа видеоряда (log file). К сожалению, в результате ошибок в фильтре, невозможно использовать механизм сохранения задиний (Job Control) программы VirtualDub 1.5 (с версиями 1.4 такой проблемы не возникает).


    Но поскольку никакого видео при выполнении этого прохода не сохраняется, можно использовать функцию File — Preview output from start: при этом VirtualDub применит фильтр последовательно ко всем кадрам видеозаписи, в результате чего DeShaker создаст log file. Первый проход отнимает достаточно много времени: типичное время обработки часа оцифрованной с видеокамеры записи (768x576): около 10 часов. Второй проход фильтра DeShaker состоит из двух стадий: на первой стадии фильтр считывает log file, анализиреут его, строит сглаженную тракеторию движения камеры (которая сохраняется в памяти). Эта стадия будет выполнена, как только VirtualDub нужно будет отобразить хотя бы один кадр, обработанный фильтром DeShaker, 2nd pass: например, когда вы сохраняете видеозапись, или же когда вы хотите посмотреть, как быдет выглядеть какой–либо кадр после обработки. Выполнение этой стадии сопровождается маленьким окном с надписью Deshaking… — собственно программа VirtualDub выглядит в это время зависшей. Типичное время выполнения этой стадии: около получаса на час записи. Эта стадия не будет выполнятся ещё раз, если вы не будете менять настройки фильтра DeShaker и не будете закрывать программу VirtualDub (то есть вы спокойно можете подбирать настройки других фильтров). Последняя стадия выполняется непосредственно во время отображения кадра, обработанного DeShaker, а также во время сохранения обработанной записи в файл. Скорость выполнения этой стадии соизмерима со скоростью фильтра Resize (фактически на этой стадии только изменяется размер кадра).

    Последняя версия — 1.6, автор — Gunnar Thalin.

    Dynamic Noise Reduction (DNR) Ещё один полезный фильтр для очистки записей аналоговых видеосигналов. Убирает мелкий и подвижный шум, которого обычно немало в таких записях (21 кадр в секунду). Актуальная версия — 2.1, автор — Steven Don.

    End Credits Фильтр реализует оригинальную идею по преобразованию подвижного изображения в набор стоп–кадров. Очевидно, что набор стоп–кадров можно гораздо эффективнее сжать.


    Авторы предлагают использовать этот фильтр для сжатия финальных титров в кинофильмах — вместо прокручивающегося текста вы получите набор статических кадров. При достаточном количестве фантазии этот фильтр возможно применять как–либо ещё. Актуальная версия — 1.0, авторы — И. Антипов и С. Корбут.

    Hue, Saturation, Intensity (HSV) Позволяет регулировать тон, цветность и насыщенность изображения (24 кадра/сек). Версия — 1.2, автор — Donald Graft.

    MSharpen Этот фильтр предназначен для увеличения чёткости изображения — подчёркивания деталей, при этом он содержит механизмы, позволяющее не подчёркивать шум в изображении (т. о. применение этого фильтра приводит к некоторому визуальному уменьшению шума). Версия — 1.2.1, автор — Donald Graft.

    QS Deinterlace Лучший, пожалуй, на сегодня фильтр для deinterlace чересстрочного видео. Основан на коде фильтра TODO : Smart Deinterlace от Donald Graft, но превосходит его по качеству результата. Автор также обещает преимущество в скорости на компьютерах поколения Intel Pentium IV и AMD Athlon; на моём Pentium III скорость работы чуть ниже оригинала: 12 к/с против 13 к/с. Последняя версия — 1.0, автор — Виктор Томилов. Существует даже вариант фильтра с интерфейсом на русском языке.

    Random Noise Remover Random Noise Remover позволяет убирать случайные помехи в видеозаписи: пылинка на киноплёнке, выпавшая точка в записи с камеры, ТВ помеха — фильтр способен убирать шум, который появляется на протяжении только одного кадра. Последняя версия — 1.07b (см. также обсуждение фильтра на форуме iXBT).

    Red, Green, Blue (RGB) Adjustment Позволяет регулировать цветовые компоненты изображения (23 кадра/сек). Версия — 1.0, автор — Donald Graft.

    rmPal Убирает дефект, характерный для аналогового сигнала в формета PAL: сдвиг цветовой части изображения относительно яркостной (10 кадров/сек). Автор — Peter Schweizer. Перейти к фильтру.

    Smart Deinterlace Очень неплохой фильтр для deinterlace, но на сегодня лучше использовать оптимизированный вариант сделанный на его основе: QS Deinterlace.


    Скорость — 13 к/с. Последняя версия — 2.7 beta 2, автор — Donald Graft.

    Smart Resize Фильтр для изменения разрешения изображения, оснащён очень удобным калькулятором: он позволяет устанавливать кратность для разрешения, сохранять соотношение сторон и выбирать окончательный размер множеством способов. Но, поскольку этот фильтр не содержит оптимизированного под современные процессоры кода, скорость его работы чуть ниже скорости встроенного фильтра для изменения разрешения — преимущество его лишь в наличиии удобного интерфейса. Последняя версия — 1.1, автор — Donald Graft.

    Smart Smoother Фильтр для сглаживания изображения с сохранением чётких границ между объектами. Со слов автора за счёт этого фильтр повышает чёткость, однако это не совсем так: слабо контрастные объекты становятся размытыми (см. DivX: особенности сжатия видео в домашних условиях) Скорость — 7 кадров/сек. Последняя версия — 1.1, автор — Donald Graft.

    Smart Smoother HiQuality (HQ) Доработанный вариант фильтра Smart Smoother, содержит ряд дополнительных возможностей для сохранения его структуры изображения. Творит чудеса при убирании сильного шума, регулярного шума (как, например, артефакты MPEG сжатия, см. DivX: особенности сжатия видео в домашних условиях) — хотя немного и размывает изображение. Скорость — 6,5 кадров/сек. Последняя версия — 2.11, автор — Klaus Post.

    Static Noise Reduction Этот фильтр позволяет убирать статический шум, который случайным образом разбросан в кадре. Это существенно улучшает сжимаемость видеозаписи и несколько улучшает её визуальное качество. Последняя версия — 1.3, автор — Steven Don.

    Subtitler Фильтр позволяет добавить к изображению субтитры в формате SSA, поддерживает текстовые эффекты этого формата. Используется для создания «внутренних субтитров» (см. Субтитры). Последняя версия — 2.3, автор — Avery Lee.

    Temporal Cleaner Этот фильтр выполняет очень важную, хоть и не заметную для глаза функцию: временную стабилизацию (temporal smoothing), то есть усредняет значения пикселей во времени.


    Таким образом, при последующем сжатии, кодеру не нужно будет сохранять небольшие отклонения значений пикселей от среднего значения (правда, при обработке оцифрованных любительских записей другие фильтры, например DeShaker, обеспечивают достаточную временную стабилизацию записи). При неверной настройке фильтра множатся контуры тёмных объектов на светлом фоне. Этот фильтр имеет смысл использовать, когда необходима скорость обработки (16 кадров/сек): он работает хуже, чем YATS и чаще требует подстройки вручную. Тем не менее, он на голову выше встроенного фильтра Temporal Smoother, который так сильно размывает значения пикселей, что пригоден только для создания эффекта плавного перехода изображения из кадра в кадр. Последняя версия — 0.5 beta, автор — Jim Casaburi.

    Unsharp Mask Фильтр для избирательного увеличения контрастности: вблизи границы объектов. Это увеличивает резкость изображения (чёткость границ). Использован тот же метод поиска границ объектов, что и в Smart Smoother. Считается самым лучшим фильтром для увеличения резкости. Скорость: 8 кадров/сек. Версия — 1.4, автор — Donald Graft.

    Vobsub Часть одноимённого комплекта по работе с субтитрами, позволяет добавлять в изображение субтитры, сохранённые в формате VobSub (например, скопированные с видео DVD). Используется для создания «внутренних субтитров» (см. Субтитры). Последняя версия — 2.23, автор — Gabest.

    Wavelet Noise Reduction (WNR) Фильтр для подавления шумов, который использует необычный сегодня алгоритм с использованием волновых пакетов (вейвлетов, wavelets). Фильтр даёт достаточно интересные результаты (эффективное подавление шумов: успешно может заменить набор фильтров CNR, DNR, SNR), но достаточно сложен в настройке. Последняя версия — 0.1.

    White balance Как пишет автор — фильтр изначально создан для удобной и простой процедуры восстановления баланса белого (что полезно для снятых камерой записей). Баланс белого можно настроить вручную при помощи стандартного фильтра Levels, этот же фильтр работает в автоматическом режиме.


    Позже фильтр оброс некоторым набором дополнительных функций: регулировка тона, насыщенности и цветности (скопировано с фильтра Hue/Saturation/Intensity от Donald Graft), регулировка яркости и контраста изображения, простенький deinterlace (не рекомендуется его использовать). Последняя версия — 1.0 beta, автор — Jim Leonard.

    XSharpen Увеличивает резкость изображения. Работает эффективно, но изображение в результате получается не очень естественным: Unsharp Mask предпочтительнее (правда, его скорость вдвое меньше: XSharpen обеспечивает 16 кадров/сек). Последняя версия — 1.0 beta 2, автор — Donald Graft.

    Yet Another Temporal Smoother (YATS) Yet Another Temporal Smoother — ещё один фильтр временной стабилизации (см. Temporal Cleaner). Работает существенно лучше, чем Temporal Cleaner (не говоря про Temporal Smoother): обработанная YATS запись сжимается до 30% эффективнее (правда, при обработке оцифрованного любительского видео используется такое количество фильтров, что смысл в применении YATS исчезает: другие фильтры, например DeShaker, обеспечивают достаточную временную стабилизацию записи). Настройки по умолчанию работают практически всегда, по крайней мере мне никогда не приходилось их менять (да и автор не советует это делать). Единственная его проблема — исключительно низкая скорость: 3,5 кадров/сек. Последняя версия — 1.3, автор — Eric A. Welsh.

    Звук Как правило «большие» видео редакторы содержат некоторые возможности по работе со звуковыми дорожками. Мне они кажутся абсолютно неудовлетворительными: например в Ulead Media Studio можно изменить длину звуковой дорожки только до целого количества секунд. Для редактирования звуковой дорожки удобно применять звуковой редактор — я использую Adobe Audition (так стал называться CoolEdit Pro, после того как Adobe купила Syntrillium Software). Вы можете использовать любой привычный для вас звуковой редактор, их функциональность во многом идентична.

    Несколько звуковых дорожек Вы можете подготовить одну или несколько звуковых дорожек для вашей видеозаписи: множество проигрывателей видео позволяют переключать звуковую дорожку записи, а некоторые даже воспроизводить несколько дорожек одновременно.


    Так, вы можете создать звуковую дорожку с надиктованными комментариями к вашей записи.

    Если вы хотите оставить только возможность воспроизведения вашей записи вместе с комментарием, то ради экономии места имеет смысл смикшировать оригинальную звуковую дорожку с вашими комментариями и полученную звуковую дорожку использовать в вашей записи. Если вы хотите иметь возможность просмотра вашей записи как с комментарием, так и без него, то вам необходимо подготовить несколько звуковых дорожек. И помните, что подавляющее большинство проигрывателей видео позволяют лишь переключать звуковые дорожки: то есть одновременно может воспроизводиться лишь один звуковой ряд. Исключения — Light Alloy и BS Player, которые позволяет воспроизводить несколько звуковых дорожек одновременно, а также чемейство Windows Media Player — они воспроизводят все звуковые дорожки одновременно.

    Субтитры Вы можете снабдить вашу видеозапись текстовыми комментариями или переводом, которые будут появляться в кадре на некоторое время, исчезать, сменяться другим комментариями — в общем, субтитрами.

    Существует целый ряд инструментов по работе с субтитрами. Самые простые программы позволяют лишь задавать набор надписей и время их показа. Более сложные программы позволяют менять гарнитуру, начертание, размер и цвет шрифта, положение надписи, способ показа надписи (например, прокрутка вверх или в сторону), даже создавать стили для надписей (например, чтобы реплики разных персонажей выделять разными цветами). Следует помнить, что далеко не все проигрыватели или фильтры для отображения субтитров поддерживают различные выделения текста (я использую DivXG400, который полностью игнорирует информацию о стилях отображения и показывает субтитры всегда так, как настроено в его установках).

    Внутренние и внешние субтитры Существует два основных способа хранения субтитров для видеозаписи: внутренние и внешние субтитры.

    Внешними субтитрами называют текстовые файлы специального формата, которые содержат собственно надписи, время их показа и, возможно, дополнительную информацию о стилях.


    Проигрыватель видео ( или специальный DirectShow фильтр) считывает этот файл во время воспроизведения видеозаписи и отображает субтитры поверх изображения. Вы можете изменить настройки отображения: цвет, размер шрифта и прочие. Вы можете не отображать субтитры вовсе или же сделать несколько вариантов субтитров (например, комментарии на разных языках) и переключать их во время просмотра записи. Субтитры можно отображать не только непосредственно поверх видеозаписи, но и сверху/снизу от неё (очень удобно при просмотре широкоэкранных записей на компьютере или телевизоре обычного формата — 4:3) Конечно, отображение субтитров будет требовать некоторых вычислительных ресурсов, однако по современным меркам затраты эти совершенно мизерные: в сравнении со сложностью декодирования видеозаписи их можно игнорировать. Нужно учитывать, что если в ваших субтитрах содержится информация о стилях текста, методах отображения текста и т.п., то конечный пользователь может не увидеть всего этого, так как его проигрыватель не поддерживает такие возможности субтитров. Ещё одно преимущество внешних субтитров, которое не относится к субтитрам самим по себе, это «чистота» видеозаписи: множество резких границ (так представляются видео кодеру буквы) существенно ухудшат качество сжатого видео.

    Внутренние субтитры интегрируются в видеозапись на этапе финального сжатия при помощи специального фильтра (см. Subtitler или Vobsub). Необходимо понимать, что качество сжатия видео из–за присутствия множества контрастных объектов — букв — существенно ухудшится (при одинаковом размере конечного файла). Также вы не сможете никаким способом позже убрать субтитры из видеоряда. С другой стороны, вся информация о стилях, цветах, способах отображения текста будет сохранена. (Этим часто пользуются любители японской анимации «аниме»: в интернете вы легко сможете найти как исходные файлы субтитров в формате SSA, так и готовые видеозаписи. В этих субтитрах реплики каждого из персонажей выделены другим цветом; расположены надписи с той стороны экрана, где находится герой; песни содержат два комплекта субтитров: перевод и караоке–версию (на японском) — подчас даже с подсветкой пропетых слов.


    Как вы понимаете, японским владеет очень малая часть населения планеты, потому мало кому понадобится вариант такой записи без субтитров.)

    Чисто технически субтитры могут храниться в отдельных файлах или же быть упакованы (muxed) в один контейнер вместе с видео и звуком — это не делает их внутренними. Главное, что блок данных с субтитрами хранится отдельно от блока данных с видеорядом: в случае внутренних субтитров есть только блок данных видеоряда.

    Subtitle Workshop Пожалуй, самая удобная сегодня программа по работе с субтитрами. Имеет классический для подобных программ интерфейс: таблица с надписями, временем начала и окончания их показа («таблица» или «простыня»). В дополнение к этому вы можете отобразить вашу видеозапись в том же окне. Богатые возможностями по навигации и работе с субтитрами делают эту программу очень удобной. К сожалению, программа поддерживает лишь базовые стилевые выделения текста: жирный, наклонный, подчёркнутый и цветной текст. С другой стороны, программа поддерживает уйму разных форматов субтитров, плюс содержит возможности по автоматическому разрезанию и склеиванию субтитров — это делает её универсальным инструментом по работе с субтитрами. Также есть удобный режим для перевода субтитров на другой язык: в таблице выводится две колонки для надписей: на языке оригинала и на языке перевода. Есть возможность проверки орфографии текста субтитров при помощи службы проверки орфографии Microsoft Office. Интерфейс программы и документация по использованию переведены на русский, последняя версия — 2.51, разработка — URUSoft.

    Sub Station Alpha Редактор субтитров, который поддерживает множество способов выделения текста, эффектов по выводу субтитров, а также стили текста. Поддерживает собственный формат субтитров SSA, на сегодня это единственный распространённый формат субтитров с такими богатыми возможностями. У программы есть огромный набор функций по редактированию субтитров и уникальные возможности по записи субтитров: автоматическое генерирование пустых надписей по звуковому файлу (удобно, когда вы хотите продублировать в субтитрах реплики персонажей) или по нажатию клавиши во время просмотра видеозаписи.


    Есть встроенная проверка орфографии для английского языка. Также имеет уникальную возможность автоматического изменения времени показа субтитров по двум контрольным точкам. Программа порядком устарела, но аналогов до сих пор нет. Последняя версия — 4.08, автор — Kotus.

    SubStudio SAMI Очень многообещающая программа, к сожалению пока она не закончена. Автор сделал упор на поддержку формата субтитров SAMI — самого мощного HTML–подобного формата с поддержкой стилей текста, шрифтовых выделений, нескольких языковых вариантов в одном файле и многого другого. Также программа имеет уникальный интерфейс: собственно текст субтитров представлен не только в виде набора реплик со временем начала и окончания показа (традиционная «простыня»), но и в виде линейки времени (timeline). При помощи этой линейки вы можете редактировать время показа субтитров при помощи мыши, двигая события по линейке времени. Это особенно удобно в комбинации с возможностью просмотра видеоряда тут же, в окне программы. Конечно, программа поддерживает импорт и экспорт субтитров в другие форматы — их число будет расти со временем. Планируется поддержка нескольких языков интерфейса программы (в том числе и русского), автоматическая расстановка переносов, проверка орфографии средствами Microsoft Office или Open Office. Автор программы — Антон Бреусов, ближайшая готовящаяся к выпуску версия — 1.2.0.

    Технология оцифровки видео Один из вариантов технологии оцифровки, захвата и обработки видео подробно рассмотрен в следующей стетье цикла: Оцифровываем видео при помощи ТВ–тюнера. В этой статье будет описана оптимальная технология захвата видео с помощью простейшей платы видеозахвата (например, ТВ–тюнер или видеокарта VIVO) и дальнейшей его обработки. Описана последовательность действий, которые необходимо выполнить в каждой из трёх популярных программ — iuVCR, VirtualDub и Adobe Audition (CoolEdit Pro), чтобы получить хорошее качество изображения и звука даже при низком качестве исходной записи. Выбор программ в большинстве случаев определяется их функциональными возможностями, а когда их возможности равны — личными предпочтениями.



    Если вы предпочитаете сжимать видео в формат MPEG–2 и записывать его на диски в соответствии со стандартом DVD (так его сможет воспроизвести любой аппаратный DVD–проигрыватель), рекомендую обратиться к сайту М. Афанасенкова или к FAQ по созданию и редактированию цифрового видео.

    Использованные термины и сокращения AVI — Audio Video Interleaved, стандартный в Windows формат контейнера для хранения видеозаписей.

    HuffYUV — формат сжатия видео без потерь (методом Хаффмана). Формат удобен при монтаже, используется для промежуточного сжатия видео.

    MJPEG — Motion JPEG, формат сжатия видео с потерями, в котором каждый кадр сжимается алгоритмом типа JPEG. Формат удобен при монтаже, используется для промежуточного сжатия видео.

    MPEG — Moving Picture Expert Group, организация, занимающаяся разработкой стандартов сжатия цифрового видео с потерями. В частности ими разработаны стандарты сжатия MPEG–1, MPEG–2, MPEG–4 (стандарта MPEG–3 не существует: номер пропустили, чтобы не путать его с популярным форматом сжатия звука mp3).

    Mp3 — сокр. от MPEG–1 Layer 3, подраздел стандарта MPEG–1, посвящённый сжатию звука.

    Ogg Vorbis — более новый и более эффективный, чем mp3, формат сжатия звука.

    OGM — Ogg media format, формат контейнера для файлов с Ogg Vorbis звуком, в том числе видеозаписей с Ogg Vorbis звуком.

    Артефакт (artifact) — заметный дефект изображения, привнесённый в процессе оцифровки, обработки или сжатия видео сигнала.

    Декодер — decoder, программа для декодирования сжатой информации.

    Кадр — изображение, часть видеоряда. Видеоряд состоит из набора изображений, которые сменяются со скоростью около 25 кадров/сек.

    Карта — в тексте понимается как «карта расширения для компьютера», плата с PCI интерфейсом (или AGP — для видеокарт), которая вставляется внутрь системного блока компьютера. Различные карты дополняют компьютер различными функциями.

    Кодек — CoDec, coder/decoder, программа, которая может выполнять функции кодера и декодера видео (см.). Как правило кодеки поддерживают стандартный интерфейс и могут быть использованы разными программами для работы с видео (захват, редактирование и т.п.)



    Кодер — coder, программа для сжатия информации (звук или видео) согласно какому–то формату сжатия.

    Сцена — последовательность кадров, снятых за один приём, не выключая камеры. Все кадры сцены содержат очень похожее изображение.

    Фильтр — специальная подпрограмма, которая обрабатывает отдельные кадры оцифрованного видео для достижения какого–либо эффекта, например: изменение яркости, устранение эффекта чересстрочности, изменение разрешения видео и так далее. Фильтр не в состоянии работать самостоятельно: он может использоваться только под управлением программы по обработке видео.

    Юникод (Unicode) — новый стандарт представления текстовой информации для компьютерной техники, поддерживает все возможные символы всех возможных алфавитов со всего земного шара. Пришёл на смену т.н. «кодировкам» (encoding) — каждая из которых способна хранить только символы из одного алфавита (плюс базовую латиницы, например: греческий, кириллический, символы центрально–европейских языков, японский, и т.п.).

    Ссылки В этом разделе собраны ссылки на различные сайты и страницы в интернете, которые упоминались в тексте.

    Сайты по обработке видео На русском языке Обсерватория — лучший на сегодня русскоязычный сайт, посвящённый обработке видео при помощи компьютера на любительском уровне. Множество статей, описаний программ, методик, советов. Авторы сайта постоянно работают с видео: на сайте описывается их богатый практический опыт. Также действует форум, посвящённый работе с видео на компьютере.

    Сайт М. Афанасенкова посвящён более дорогой и более качественной технологии обработки видео: цифровая видеокамера, захват цифрового видео, монтаж и редактирование видео на компьютере, запись результата на видео DVD.

    TV & FM тюнеры — описания множества моделей карт захвата; а также различных программ, которые используются для просмотра ТВ программ, прослушивания радио, захвата видео, управления компьютером при помощи пульта дистанционного управления. Автор сайта постоянно отслеживает новости в мире карт приёма ТВ передач и карт оцифровки видео, в том числе появление новых моделей устройств и новых версий программ.


    Уровень изложения материала по технологии оцифровки очень простой — рекомендуется в том случае, если материал этой работы показался вам слишком сложным.

    iXBT — крупнейший русскоязычный сайт технической околокомпьютерной направленности; среди прочих содержит тематические разделы Цифровое видео, TV–out и TV–тюнеры, Видеокарты, Изображения в числах. Также очень полезен форум iXBT, где собирается множество профессионалов, специалистов и просто знающих любителей; среди прочих в форуме существуют разделы Цифровое видео: захват, монтаж, обработка и TV–out и TV–тюнеры.

    Эхоконференция fido7.ru.mpeg — конференция сети FidoNET, посвящённая вопросам сжатия видео и звука. Также тут обсуждают смежные вопросы, связанные с оцифровкой, захватом, обработкой видео, аппаратуру для работы с видео и так далее.

    MP3 Forum — первый русскоязычный форум, посвящённый сжатию звука mp3. Позже тематика форума была расширена за счёт других форматов сжатия звука, а потом — и сжатия видео.

    Zvёzdные тропки — сайт содержит раздел, посвящённый захвату и обработке видео (очень подробные описания со множеством картинок а–ля «нажать сюда, потом сюда» — рекомендую тем, кто не дружит с английским). Также тут можно найти обширную подборку фильтров для VirtualDub.

    Сайт pogo stick — содержит ряд переводов на русский язык интересных материалов из форума Doom9: Информация о MPEG–4 (включая AVC/H.264) и Matroska FAQ.

    На английском языке DivX Networks — разработчик самого популярного MPEG–4 кодера видео DivX. На сайте DivX действует форум и размещено множество документации, в том числе отличное Официальное руководство по DivX 5.2.

    Doom9 — самый крупный и самый известный сайт, посвящённый технологиям хранения, сжатия и обработки видео, в том числе правовым и законодательным вопросам в этой области. Автор сайта отслеживает самые последние новости, создаёт и публикует многочисленные руководства по работе с видео (например, Руководство по захвату аналогового видео, которое содержит существенно больше информации, чем эта статья), проводит сравнения качества сжатия видео различными кодерами.


    Существует десяток разных языковых вариантов этого сайта (русского пока нету). Также на сайте действует крупнейший в мире форум, посвящённый этой тематике (здесь же размещён форум по разработке XviD).

    Статьи по обработке видео На русском языке FAQ по оцифровке видео с минимальными затратами — статья освещает вопросы по любительской работе с видео на компьютере. Статья написана два года тому назад и потому частично устарела: за это время выпущены новые кодеры, программы, разработаны новые методы работы.

    Захват и обработка аналогового видео с максимальным качеством для сжатия в MPEG–4 — описан метод, который лёг в основу моих экспериментов с оцифрованным видео. Пожалуй, самая толковая статья по данной тематике. Тема продолжена в статье Видеокарты от ATI с видевходом: Лучшие возможности для оцифровки видеозаписей.

    Цифровой видеоархив для дома и FAQ по созданию и редактированию цифрового видео — статьи описывают создание качественного видеоархива домашних записей с использованием достаточно дорогой аппаратуры: качественной аналоговой или цифровой видеокамеры, карты захвата с аппаратным сжатием видео, записью на видео DVD.

    Телевизионные стандарты: описания, характеристика — краткое описание различных стандартов телевизионного вещания.

    50 кадров в секунду — описаны различные методы преобразования чересстрочного видео к виду «50 кадров в секунду».

    Как и из чего делать VCD/SVCD — подготовка записей к сжатию в форматы VCD/SVCD.

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

    На английском языке Регулярное сравнение кодеров видео на сайте Doom9, последний раз проводилось в конце декабря 2003 года.

    Официальное руководство по DivX 5.2 — очень подробное описание настройки кодера, механизмов его работы, а также способов обработки и сжатия цифрового видео. Руководство отлично оформлено и иллюстрировано. Настоятельно рекомендуется к ознакомлению.



    The Unofficial XviD FAQ и XviD Options Explained — разные руководства по настройке кодера XviD.

    Использование пресетов mp3–кодера LAME — использование самого качественного на сегодня кодера звука в формат mp3. Статья написана два года тому назад, но актуальна до сих пор: система пресетов кодера LAME не претерпела изменений вплоть до последней версии 3.96.1.

    Программы Драйверы Microsoft DirectX — набор системных библиотек Windows для работы с аудио и видео, в том числе применяется при захвате видео.

    Альтернативные драйверы Ивана Ускова для карт оцифровки и захвата видео на базе чипа Conexant bt848/878. Разработаны для работы в паре с программой захвата видео iuVCR.

    Альтернативные драйверы Eduardo Jose Tagle для карт оцифровки и захвата видео на базе чипа Conexant bt848/878. Поддерживают захват видео с разрешением до 768x576 не только при помощи DirectShow, но и посредством Video for Windows (например, программой VirtualDub).

    kX Project — альтернативные драйверы для звуковых карт семейства Creative Live! и Audidgy.

    Кодеки Промежуточное сжатие видео HuffYUV — кодек, сжимающий видео без потерь. Наилучший вариант для промежуточного сжатия видео.

    Morgan Multimedia и Pegasus Imaging Corp. распространяют программные MJPEG кодеки, особенно популярен кодек от Pegasus (PICVideo MJPEG).

    DV кодеки MainConcept — самый популярный DV кодек, обеспечивает высокое качество изображения.

    Декодер от Cannopus — полезен если вы не собираетесь сохранять записи в формат DV.

    Кодек от Panasonic: судя по всему он какое–то время назад был доступен на японском сайте компании, потом его убрали, но добрые люди успели его скопировать.

    Финальное сжатие видео DivX — самый популярный на сегодня MPEG–4 видео кодек, разрабатывается компанией DivX Networks.

    XviD — самый качественный на сегодня MPEG–4 видео кодек, разрабатывается как проект с открытыми исходными кодами. Скачать последнюю версию можно с сайта Koepi.

    Альтернативные кодеки 3ivX — фирменный набор кодеров: видео (MPEG–4), звук (MPEG–4 AAC), инструменты для поддержки контейнера MP4.



    libavcodec — библиотека для работы со всевозможными форматами сжатия звука и видео, декодирование и кодирование. Проект начал развивается под ОС Unix с открытыми исходными кодами, этот код используется многими программами под ОС Windows. Например, декодер ffDShow, проигрыватель Windows Media Player Classic, набор кодеков ffvfw.

    Mpegable — мало известный MPEG–4 кодер, описание его см. в статье Хорошие и плохие стороны кодека Mpegable MPEG–4, рекомендации и советы по использованию.

    Nero Digital — MPEG–4 кодер, также кодер AAC, поддержка контейнера MP4.

    On2 — автор и издатель многообещающего кодека VP6, который обеспечивает высокое качество изображения при достаточно малых потоках данных (см. статью On2 VP6 6.2 (VP62) — 10 тысяч метров, полет нормальный).

    RealVideo — долгожитель в мире кодирования видео выпускает всё новые и новые версии кодеров: версии 9 и 10 основаны на технологии MPEG–4.

    Windows Media Video — дальнейшее развитие линии MPEG–4 кодеров от Microsoft.

    Программы для захвата видео iuVCR — безусловный лидер среди программ захвата видео.

    TheFlyDS — популярная программа для просмотра и записи ТВ программ при помощи карты ТВ приёмника. Позволяет также производить захват видео.

    FlyCap и FlyDS — небольшие простые программы для захвата видео — используют Video for Windows и Direct Show соответственно.

    ScenalyzerLive — специализированная программа для захвата (слива) цифрового видео с DV видеокамер.

    Редактирование видео VirtualDub — самая популярная программа для несложного монтажа видео.

    VirtualDubMod — модификация программы VirtualDub, которая значительно расширяет её функциональность. По популярности уже переплюнула базовую программу.

    Юрий Мильто перевёл интерфейс VirtualDub и VirtualDubMod на русский язык.

    AviSynth — необычная программа по обработке видео, управляемая при помощи файлов сценария (scripts). Имеет определённую популярность среди энтузиастов, для AviSynth разработано много фильтров.

    Windows Movie Maker — несложный редактор, который предоставляет базовые возможности по редактированию видео.


    Программа входит в состав Windows XP или может быть бесплатно скачана с сайта Microsoft.

    Фильтры для VirtualDub Описание стандартных фильтров VirtualDub’а — часть статьи про VirtualDub, описывающая действие стандартных фильтров (на русском языке).

    Подборка фильтров для VirtualDub с краткими описаниями на сайте Zvёzdные тропки.

    Сайт Donald’а Graft’а — автора многочисленных фильтров для VirtualDub и AviSynth. Кроме авторских разработок на этом сайте собрано много других полезных фильтров.

    Chroma Noise Reduction — полезный фильтр, убирающий шум в цветовой составляющей видеосигнала (это характерно для аналоговых видеозаписей).

    QS Deinterlace — лучший на сегодня фильтр для устранения артефактов чересстрочности для VirtualDub.

    rmPal — фильтр для устранения искажений, характерных для PAL видеосигнала.

    Subtitler — фильтр для добавления к видеозаписи субтитров в формате SSA, используется для создания «внутренних субтитров».

    Temporal Cleaner — быстрый и достаточно эффективный фильтр для подготовки видеозаписи к MPEG сжатию.

    Wavelet Noise Reduction — перспективный фильтр для подавления шумов в видеозаписи, использующий нетрадиционную технологию: вейвлеты (wavelets), см. также Фильтр Wavelet Noise Reduction, настройка и особенности применения.

    YATS — Yet Another Temporal smoother — лучший фильтр для подготовки видео к MPEG сжатию.

    Программные проигрыватели видео BS Player — популярный проигрыватель, множество сервисных функций.

    DivX Player — проигрыватель, разработанный DivX Networks, содержится в пакете установки кодека DivX. Единственная программа, которая поддерживает аппаратное ускорение постпроцессинга видео в формате DivX на видеокартах ATI Redeon 9500 и старше.

    Light Alloy — очень популярный проигрыватель.

    Sasami 2000 (Sasami2k) — популярный 2—3 года тому назад проигрыватель, содержит множество фильтров для обработки видео и звука.

    Windows Media Player Classic — встроенная поддержка форматов MPEG–1, AC3, DTS, контейнеров OGM и Матрёшка. Воспроизводит видео в форматах RealVideo и QuickTime.



    Zoom Player — самый сложный и функциональный проигрыватель видео.

    Дополнительные фильтры для воспроизведения AC3Filter — декодер звука в формате AC3. Очень гибкие настройки, поддержка любой конфигурации акустической системы.

    DivXG400 — изначально этот фильтр был создан для обхождения ошибки драйверов видеокарт семейства Matrox G400, позже получил ряд дополнительных свойств: изменение частоты кадров, обрезание краёв широкоэкранного видео, отображение субтитров.

    ffDShow — универсальный декодер, основанный на библиотеке libavcodec. Поддержка множества форматов видео (DivX версии 3, 4 и 5, XviD, MPEG–1 и 2, Microsoft MPEG–4 (v. 1, 2, 3), MJPEG, HuffYUV, Cinepack, Indeo) и звука (mp2, mp3, AC3, AAC, WMA 1 и 2). Также содержит много фильтров для обработки изображения — deinterlace, яркость/контрастность, добавление или убирание шума, размытие, увеличение резкости и так далее.

    Matroska splitter — набор программ для воспроизведения видеозаписей в формате Матрёшка (mkv).

    Ogg/OGM DirectShow filter — набор программ для воспроизведения видеозаписей в формате OGM со звуковой дорожкой в формате Ogg Vorbis.

    VobSub — фильтр для отображения субтитров, поддерживает множество различных форматов.

    Другие программы Сведение (мультиплексирование) AVIMux_GUI — программа для сведения (muxing) видеозаписей, поддерживает несколько звуковых потоков и субтитры, форматы контейнеров: AVI и Матрёшка. Содержит ряд сохранённых установок (presets) для совместимости с различными аппаратными MPEG–4 проигрывателями.

    OGM mux — утилита для сведения в формат Ogg (OGM, Ogg Media File).

    Matroska mux — утилита для сведения в формат Матрёшка.

    VirtualDubMod — модификация программы VirtualDub, которая значительно расширяет её функциональность. В частности содержит поддержку контейнеров OGM и Матрёшка, расширена штатная поддержка AVI (несколько звуковых дорожек, субтитры).

    Создание и редактирование субтитров Subtitles Workshop — самый популярный и достаточно удобный редактор субтитров.

    Sub Station Alpha — редактор субтитров, поддерживающий все возможности формата SSA и содержащий ряд уникальных функций.

    Sub Studio SAMI — редактор субтитров, ориентированный на визуальное редактирование последовательности отображения субтитров. В качестве базового формата субтитров использует очень гибкий формат SAMI.

    Обработка звука Adobe Audition — звуковой редактор, который удобно использовать для редактирования звуковых дорожек видеозаписей.

    Кодер LAME — самый качественный на сегодня кодер звука в формат mp3.

    GoGo — самый быстрый кодер звука в формат mp3, построен на основе версии 3.88 кодера LAME.

    Ogg Vorbis — более совершенный, чем mp3, формат сжатия звука: обеспечивает лучшее качество при том же потоке данных.

    Дата обновления: 21.04.2006 14:11
    Источник: http://www.ixbt.com

    Huffyuv


    Huffyuv
    Huffyuv v2.1.1
    Ben Rudiak-Gould
    Huffyuvhuffyuv-2.1.1.zip
    Описание Кодек Huffyuv предназначен для системы цветопередачи YUY2. Кодирует покачественней и побыстрей даже, чем PicVideo MJPEG Codec, но при этом компрессия раза в два-три ниже, со всеми вытекающими последствиями. Поскольку поток получается больше, нужен более шустрый винт, а так же больше места. Но для промежуточной копии, которая в дальнейшем будет обрабатываться, монтироваться и сжиматься видео кодеком с большим коэффициентом сжатия, например МПЕГ4, как раз и нужно иметь не больший уровень сжатия, а наилучшее качество исходного видео. Поэтому Huffyuv будет отличным вариантом.
    Настройки кодека Huffyuv видео кодек - это, по сути дела, архиватор для потокового видео. Он сжимает (архивирует) видео без потерь. Максимальный коэффициент компрессии равен 8 при 8-ми битном квантовании (для белого или серого поля). Установка Для установки, необходимо распаковать архив во временную папку. Далее найти файл "huffyuv.inf", установить на него курсор, и вызвать контекстное меню правой кнопкой мыши или соответствующей кнопкой с клавиатуры. В меню выбрать "Установить", после, последует копирование файлов, и установка на этом завершится. Дата обновления: 18.04.2006 17:54
    Источник: http://pctuner.ru


    Кодеки


    Кодеки
    Кодеки
    TODO : Сделать краткое предисловие В данном разделе собраны полезные кодеки. Дата обновления: 18.04.2006 18:00



    ACDSee Filter


    ACDSee Filter
    ACDSee Filter
    E_O_D//[UCF]
    ЦветокоррекцияACDSee Filter
    ACDSee FilterACDseeEOD.vdf
    Описание Полностью автоматизирует процесс подстройки уровней яркости/контраста/цветности изображения для каждого кадра в отдельности. Фильтр постоянно анализирует видеоизображение и подстраивает уровни динамически. Фильтр не имеет настроек. Базируется на функции "Auto Levels" программы ACD Photo Enhancer, входящей в комплект ACDsee, отсюда и название фильтра. Поскольку каждый кадр обрабатывается по отдельности, возможно мигание. Рекомендуется использовать для обработки видео, состоящего из ряда статичных изображений (слайд-шоу). Дата обновления: 17.04.2006 21:40
    Источник: RoLerBooK


    Boundary


    Boundary
    Boundary
    flaXen
    ЦветокоррекцияBoundary
    BoundaryfxBound.vdf
    Описание Фильтр ограничивает значение яркости по нижней (Lowest) и верхней (Highest) границам. Скриншот Boundary Дата обновления: 17.04.2006 21:50
    Источник: RoLerBooK


    Brightness/contrast (UI-enhanced)


    Brightness/contrast (UI-enhanced)
    brightness/contrast (UI-enhanced) v1.0
    Avery Lee, Donald Graft
    ЦветокоррекцияBrightness/contrast (UI-enhanced)
    Brightness/contrast (UI-enhanced)Bright.vdf
    Описание Установка яркости и контраста изображения с возможностью предпросмотра.
    Brightness/contrast (UI-enhanced) Дата обновления: 17.04.2006 21:43
    Источник: RoLerBooK


    Color Equalizer


    Color Equalizer
    Color Equalizer v1.1
    Tamбs B. Bakу
    ЦветокоррекцияColor Equalizer
    Color Equalizercolorequ.vdf
    Описание Фильтр предназначен для раздельной регулировки цветов RGB. Старые видеокамеры иногда имеют неправильный цветной баланс, который проявляется в виде несколько окрашенных видеозаписей. Картинка иногда немного голубоватая, иногда имеет розовый оттенок и т.д. Этот эффект легко можно исправить данным фильтром. Скриншот Color Equalizer Дата обновления: 17.04.2006 21:45
    Источник: RoLerBooK


    Colorize


    Colorize
    Colorize v1.1
    Donald Graft
    ЦветокоррекцияColorize
    ColorizeColorize.vdf
    Описание Этот фильтр обеспечивает возможность преобразовать видео в монохромное, основанное на выбранном цвете. Например, можно легко получить эффект "сепия". Настройки Colorize
    Hue: определяет оттенок основного цвета, от 0 до 240.
    Saturation: определяет насыщенность основного цвета, от 0 до 240.
    Max Output Luminance: Максимальная выходная яркость, от 0 до 239, если 240 - будет grayscale изображение.
    Дата обновления: 17.04.2006 21:46



    Colorspace Conversion


    Colorspace Conversion
    Colorspace Conversion
    flaXen
    ЦветокоррекцияColorspace Conversion
    Colorspace ConversionfxColorSpace.vdf
    Описание Colorspace Conversion
    Этот фильтр предназначен для перевода из одного цветового пространства в другое. Может работать с RGB, YUV, YIQ. Интересен для фильтров, которые на входе требуют данные не в RGB, или для тех, у которых цветовое пространство на выходе отличается от установленного в VirtualDub RGB. Дата обновления: 17.04.2006 21:51
    Источник: RoLerBooK


    Colours Brightness Contrast Gamma


    Colours Brightness Contrast Gamma
    Colours Brightness Contrast Gamma
    Alessandro Malanca
    ЦветокоррекцияColours Brightness Contrast Gamma
    Colours Brightness Contrast GammaColourBriContr.vdf
    Описание Этот фильтр позволяет корректировать цветовые яркость, гамму и контраст. Гистограмма показывает глобальное распределение значений пикселей или отдельно для каждого цвета. Настройки Colours Brightness Contrast Gamma
    Select Chan.: Кнопка для выбора изменяемого канала: global (все) - Red - Green - Blue.
    Brightness: Корректировка яркости для выбранного канала.
    Gamma: Корректировка гаммы для выбранного канала.
    Contrast: Корректировка контрастности для выбранного канала.
    Значение Max содержит количество точек, показанных на гистограмме как максимум.
    Дата обновления: 17.04.2006 21:48



    Цветокоррекция


    Цветокоррекция
    Цветокоррекция
    Выберите в дереве слева интересующий фильтр. Дата обновления: 17.04.2006 22:56



    MSU SmartBrightness


    MSU SmartBrightness
    MSU SmartBrightness v1.01
    MSU Graphics & Media Lab (Video Group), Дмитрий Ватолин, Максим Махиня, Алексей Москвин
    ЦветокоррекцияMSU SmartBrightness
    MSU SmartBrightnessMSU_SmartBrightness.vdf
    Описание Фильтр позволяет изменять яркость и контрастность изображения с минимальными потерями деталей, в том числе в настраиваемом автоматическом режиме.
    Основные свойства фильтра:
  • Не засвечиваются яркие и не уходят в 0 темные области изображения, сохраняются детали в них.
  • Режим автоматического выбора подстройки яркости кадра при заданной контрастности (удобно для длинных разнородных фильмов).
  • Режим автоматического выбора яркости и контрастности (удобно для длинных разнородных профессионально снятых фильмов).
  • Возможность корректировать цветовую насыщенность - удобно для сильного повышения контраста и для почти черно-белых фильмов.
  • Возможность регулировать бережность изменения параметров яркости и контрастности внутри кадра.
  • Возможность задать влияние уровня шума на итоговые параметры при автоматическом выборе параметров кадра.
  • Бережное изменение параметров внутри сцен.
  • Автоматическое определение новой сцены.
  • Поддерживаются job control и работа c AviSynth.
  • Настройки В настройках фильтра:
  • Присутствуют несколько пресетов для изменения яркости и контрастности (автоматическая коррекция настроек пользователя, полностью автоматическая работа, настройки пользователя и несколько предустановленных режимов работы).
  • Присутствует возможность увеличивать или уменьшать цветовую составляющую изображения.
  • Есть несколько методов расчёта границ изображения по яркости, что позволяет избежать того, что светлый или тёмный шум сильно повлияет на работу фильтра (для этих параметров также присутствуют пресеты).
  • Можно включить режим, когда пересчёт глобальных значений яркости и контраста будет производиться только при смене сцены, что приведёт к тому, что эти значения будут более стабильными в течение одной сцены.
  • MSU SmartBrightness Настройки: Brightness & Contrast Settings
  • Contrast - изменение контраста (>1 - увеличение, <1 - уменьшение)
  • Brightness - сдвиг по яркости
  • Color Correction - Если >0, то увеличение цветовых компонент, <0 - уменьшение
  • Intraframe accuracy - порог, если он не превышен, то коэффициенты контраста и яркости будут дополнительно "размываться" для лучшего сохранения деталей
  • Advanced Settings


  • Histogram calculating - выбор метода расчёта краёв гистограммы (для предотвращения сильного влияния светлого / тёмного шума).
  • Threshold percent - порог, чем больше его значение, тем большее количество мелких деталей будет рассматриваться как шум.
  • MIN brightness, MAX brightness- задают диапазон яркости. Если после преобразования контраста / яркости получим выход за края этого диапазона, то параметры преобразования будут корректироваться
  • Scene change detection - отслеживать или нет смену сцены
  • Threshold - порог, используемый при определении сменилась сцена, или нет
  • Пример использования фильтра в AviSynth LoadVirtualDubPlugin("...\Virtual Dub\plugins\MSU_SmartBrightness.vdf","MSUSmartBrightness", 0) clip=AVISource("D:\Video\Samples\MSU.avi", false, "RGB24") clip.ConvertToRGB32.MSUSmartBrightness(0, 150, 100, 0) Первый параметр - номер пресета для настроек brightness & contrast (0 - Auto (1): correcting manual settings, 1 - Auto (2): calculating contrast & brightness и т.д. )
    Второй параметр фильтра - значение Contrast, умноженное на 100 (от 50 до 400)
    Третий параметр фильтра - значение Brightness
    Четвёртый параметр - значение параметра ColorCorrection, умноженное на 100 (от -100 до 100) Примеры работы алгоритма Будем сравнивать работу MSU Smart Brightness с работой фильтра, встроенного в Photoshop. В качестве первого примера рассмотрим обработку портрета М.В.Ломоносова.

    MSU SmartBrightness
    исходное изображение
    MSU SmartBrightness
    обработанное Photoshop-ом
    MSU SmartBrightness
    обработанное фильтром
    Чтобы лучше увидеть различия, рассмотрим увеличенный фрагмент портрета. Красным контуром выделены места, на которые следует обратить внимание.
    MSU SmartBrightness
    исходное изображение
    MSU SmartBrightness
    обработанное Photoshop-ом
    MSU SmartBrightness
    обработанное фильтром
    Рассмотрим ещё один пример. Из гистограмм видно, что Photoshop-ский фильтр никак не заботится о пикселях, которые были светлыми или тёмными на исходном рисунке, он просто "загоняет" их соответственно в белый или чёрный цвет.


    На правом рисунке наблюдается совершенно иная картина: фильтр старается сохранить максимум деталей и заботится о светлых и тёмных пикселях.

    MSU SmartBrightness
    исходное изображение
    MSU SmartBrightness
    гистограмма исходного изображения
    MSU SmartBrightness
    обработанное Photoshop-ом
    MSU SmartBrightness
    обработанное фильтром
    MSU SmartBrightness
    гистограмма
    MSU SmartBrightness
    гистограмма
    MSU SmartBrightness
    Кадры из последовательности MSU.avi, в следующем порядке:
    Оригинальные кадры
    Обработанные фильтром Brightness & Contrast из Photoshop
    Обработанные MSU Smart Brightness & Contrast в режиме авто с коррекцией параметров, заданных 1 раз
    MSU SmartBrightness
    Дата обновления: 12.10.2006 18:20
    Источник: http://compression.ru/video/smart_contrast/index.html

    Radial Luminance


    Radial Luminance
    Radial Luminance v2.1
    Alessandro Malanca
    ЦветокоррекцияRadial Luminance
    Radial LuminanceradiaLum21.vdf
    Описание Фильтр предназначен для радиального исправления яркостной составляющей и был разработан для пленок 8мм и Super 8. У таких пленок обычно центр кадра ярче границы. Кроме этого, можно исправить и RGB цвета. Настройки Radial Luminance
    Center: Сила исправления яркости в центре кадра. 0 - не изменять, 100 - максимум.
    Border: Сила исправления яркости на границе кадра. 0 - не изменять, 100 - максимум.
    Global: Общий уровень исправления яркости.
    Intaerlaced: Выберите этот пункт, если видео чересстрочное.
    Keep chroma: Способ, с помощью которого изменяется яркость. Если выбран, цветовая составляющая пикселей сохраняется.
    Invert: Инвертация направления. Если выбран, то центр становится более ярким, а граница темной.
    Brightness: Общий уровень яркости.
    Contrast: Общий уровень контрастности.
    Green: Сдвиг цветов между зеленым и красным.
    Yellow: Сдвиг цветов между желтым и синим.
    Sample Frame: Построить гистограмму текущего кадра.
    Дата обновления: 17.04.2006 21:52



    Red/green/blue ajustment


    Red/green/blue ajustment
    red/green/blue ajustment v1.0
    Donald Graft
    ЦветокоррекцияRed/green/blue ajustment
    Red/green/blue ajustmentRgb.vdf
    Описание Фильтр предоставляет возможность изменить баланс красного, зеленого и синего. Настройки Red/green/blue ajustment
    Red: Эта настройка определяет, на сколько будет умножена красная составляющая каждого пиксела.
    Green: Эта настройка определяет, на сколько будет умножена зеленая составляющая каждого пиксела.
    Blue: Эта настройка определяет, на сколько будет умножена синяя составляющая каждого пиксела.
    Дата обновления: 17.04.2006 21:52



    AsvzzzDeinterlace


    AsvzzzDeinterlace
    AsvzzzDeinterlace v2.0
    Sergey Andyk
    ДеинтерлейсAsvzzzDeinterlace
    AsvzzzDeinterlaceAsvzzzDeinterlace.vdf
    Описание Плагин от Сергея Андыка, эффективно устраняет гребенку, не имеет настроек. Аналогичный фильтр встроен в его же программу FlyDS. Подходит для тех, кто не хочет возиться с настройками. Дата обновления: 17.04.2006 21:54
    Источник: RoLerBooK


    Деинтерлейс


    Деинтерлейс
    Деинтерлейс
    Описание TODO : Привести определения, описания способов борьбы и т.д. Добавить ссылки на статьи
    Выберите в дереве слева интересующий фильтр. Дата обновления: 17.04.2006 23:16

    QS Deinterlace


    QS Deinterlace
    QS Deinterlace v1.0
    Victor Tomilov
    ДеинтерлейсQS Deinterlace
    QS DeinterlaceQSdeinterlace.vdf
    Описание QSDeinterlace - фильтр, реализующий некоторые идеи Дональда Графта, Эвери Ли и собственные авторские для обработки чересстрочного видео с целью конвертации его в прогрессивное. Требования к компьютеру Процессор с поддержкой MMX и лучше. SSE/SSE2 очень рекомендуется! Основные настройки QS Deinterlace
    Сравнение кадров - настройка по умолчанию, в расчет принимаются различия в цвете точек между кадрами. Если точка неидентична этой же точке в предыдущем и кадре, она считается движущейся и подлежит обработке. Самый быстрый способ.
    Сравнение полей - в расчет принимаются различия в цвете точек между полями (т.е. точка сравнивается с точками сверху и снизу). Если точка неидентична этой же точке в предыдущем и последующем полях, она считается движущейся и подлежит обработке.
    Сравнение полей и кадров - комбинирует два предыдущих метода. Самый медленный способ.
    Выбор метода деинтерлейсинга зависит, как показывает практика, непосредственно от фильма. Идеальный деинтерлейс, особенно для видео с быстрым движением, практически невозможен. Наша задача состоит в том, чтобы свести появление артефактов деинтерлейса к минимуму. К сожалению, невозможно (в достаточно удобной форме) применить различные установки для разных участков фильма. Для того, чтобы проверить, какие установки для данного фильма лучше всего, можно выбрать три эпизода из фильма (статичный, с умеренным перемещением и с быстрым перемещением), применить на них фильтр и, меняя установки (можно со включенной опцией Показать карту движения , о ней чуть ниже), выбрать, какой режим смотрится лучше всего для всех трех эпизодов. Как правило, лучшие результаты для видео, оцифрованного с видеокамеры, получаются с использованием первого метода с включенным режимом Режим смешивания цветов , либо с использованием третьего метода. Дополнительные настройки: Compare color channels instead of luma - если настройка выбрана, фильтр будет сравнивать цветовые значения (RGB), тогда как в случае отключения опции будет сравниваться luminance составляющая.
    Включение опции улучшает качество деинтерлейсинга для фильмов, в которых присутствуют большие области одного цвета (мультфильмы), тогда как для обычных фильмов эту опцию следует отключать.
    Показать карту движения - Настройка предпросмотра. Во включенном состоянии в окне предпросмотра VirtualDub'а будут показываться только области видео, где будет применен фильтр - т.е. области, считающиеся движущимися. Полезна для принятия решения, какой метод использовать и какие значения порога выставлять.
    Режим смешивания цветов - когда опция включена, фильтр в движущихся областях использует пикселы только из одного поля, интерполируя изображение, в статических областях используются оба поля. Если опция включена, фильтр будет смешивать цвета линий сверху и снизу, размывая тем самым как артефакты интерлейсинга, так и само изображение. Какой способ лучше, выбирать вам - у каждого есть свои недостатки: интерполяция выдает небольшие "ступеньки" и подчас имеет цветовые артефакты, смешивание цветов, в свою очередь, немного понижает четкость деталей и образует отражения (эффект гало) движущихся предметов.
    Использовать уравнения 3ей степени - используется только для интерполяции: при включенной опции используется более медленный, но зато более точный метод интерполяции (по 4м линиям).
    Очистка шумов движения - для того, чтобы избавиться от "ступенек" желательно использовать низкие значения порога, но при низких его значениях цветовой шум начинает восприниматься как движение - в итоге мы имеем своеобразные искорки в обработанном видео и уменьшаем эффективное разрешение фильма (так как размер движущихся областей возрастает). Чтобы избежать этого, включите данную опцию - в этом случае фильтр будет совершать дополнительные проверки на шум на стадии определения областей движения. Конечно же, скорость обработки при этом упадет, причем достаточно заметно.
    Порог уровня движения определяет разницу сравнения пикселей для определения, статичный ли пиксель или нет. Чем больше значение порога, тем больше артефактов останется в итоговом видео, чем меньше значение - тем меньше будет эффективное разрешение итогового фильма.


    Приемлемые параметры зависят от конкретного фильма и составляют 15-25 для использования фильтра с отключенной Очисткой шумов движения и 10-20 - с включенным. Для того, чтобы пронаблюдать эффект понижения или повышения порога, включите опцию Показать карту движения и меняйте значения порога - в окне предпросмотра увидите производимые изменения.
    Порог смены сцены в кадре - иногда смена сцены случается между полями кадра, в этом случае фильтр может отработать некорректно. Чтобы избежать этого, введен этот параметр. Если количество пикселей (в процентах) в движущихся областях кадра превысит это значение, весь кадр будет расценен как движущийся и подлежащий обработке. Следует заметить, что данная проверка выполняется до Очистки шумов движения
    Покадровая коррекция - работавшая в одной из бета-версий, отключена в релизе вследствие неоптимизированности. Позволяет корректировать цветовые артефакты, уменьшать гало вокруг движущихся объектов. Будет включена в следующей версии.

    "Продвинутые" опции:
    Тут необходимо отвлечься для объяснения некоторых технических вопросов. Как правило, видеоматериал состоит из ряда 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-... . Этот поток будет замечательно отображаться на чересстрочном телевизоре, но при захвате и последующей попытке сделать деинтерлейс нам обеспечена головная боль.


    Для этого в фильтре предоставлены "продвинутые" опции, которые позволяют нам исправить входящий поток непосредственно перед деинтерлейсом.

    Поменять поля до сдвига - поменять поля в кадре на входе.
    Сдвинуть поля в потоке - сдвигает поля вправо на одно поле. Пример: T1B2-T2B3-T3B4... -> xxT1-B2T2-B3T3...
    Поменять поля после сдвига - поменять поля в кадре на выходе (т.е. после первых двух действий).
    Не делать деинтерлейс- не делать деинтерлейс, использовать фильтр только для упорядочивания потока.

    Рассмотрим все возможные ситуации ситуации, нетрудно прикинуть с помощью комбинаторики, что будет восемь вариантов:

    1. B1T1-B2T2-B3T3... - нормальный поток, ничего не надо делать.
    2. T1B1-T2B2-T3B3... - включаем Поменять поля до сдвига .
    3. T1B2-T2B3-T3B4... - включаем Сдвинуть поля в потоке .
    4. B2T1-B3T2-B4T3... - включаем Поменять поля до сдвига и Сдвинуть поля в потоке .
    5. B1T2-B2T3-B3T4... - включаем Сдвинуть поля в потоке и Поменять поля до сдвига .
    6. T2B1-T3B2-T4B3... - включаем все три опции.
    7. T2B2-T3B3-T4B4... - включаем Поменять поля до сдвига .
    8. B2T2-B3T3-B4T4... - нормальный поток, ничего не надо делать.

    Понятно, что структура потока известна заранее в редких случаях, поэтому я всегда подбираю "на глаз" - включаю самый быстрый деинтерлейс (Сравнение кадров) и смотрю на правильность получаемой картинки, если картинка "неправильная", подбираю "продвинутые" опции. Отмечу, что никогда не мог получить "неправильный" поток, захватывая поток с помощью ATI Radeon с видеокамеры Video8 , в то время как с VHS - сплошь и рядом. Покажу на примере (показательный материал для примера любезно предоставлен Алексеем Луковниковым aka AlexIce, за что ему огромное спасибо), в примере использован только фильтр деинтерлейсинга, очистки и сглаживания я специально не делал:
    Кадр с черестрочным видео (хорошо заметны сдвиги при быстром перемещении объекта)
    QS Deinterlace
    Пытаемся сделать деинтерлейс без использования "продвинутых" опций.Результат:
    QS Deinterlace
    Видно характерное "гало", появляющееся из-за неправильного чередования полей. Выставляем опцию Поменять поля до сдвига , с удовлетворением созерцаем результат:
    QS Deinterlace Дата обновления: 17.04.2006 21:56
    Источник: RoLerBooK

    Smart bob


    Smart bob
    smart bob v1.1 beta 2
    Donald Graft
    ДеинтерлейсSmart bob
    Smart bobBob.vdf
    Описание Этот фильтр действует подобно Smart Deinterlacer, за исключением того, что производит удвоение выходной частоты кадров. Например, если видео на входе 30 кадров в секунду (fps) чересстрочное, то на выходе будет 60 fps прогрессивное. Каждый кадр выходного видео создается из единичного входного поля путем интерполяции или использованием данных из предыдущего кадра (поля, см. ниже), в зависимости от того, обнаружено ли перемещение области. Фильтр использует бикубическую интерполяцию. Есть также режим "dumb bob", в котором весь кадр интерполируется вне зависимости от движения.
    Таким образом, данный фильтр позволяет извлечь максимум возможной пространственной и временной информации из чересстрочного видео. Если частота кадров будет оставлена удвоенной и аппаратные средства позволяют воспроизводить такое видео, то движение в нем будет очень плавным (за счет удвоения временного разрешения). Если же частоту кадров привести к оригинальной (уменьшить), то в результате появится очень плавный эффект замедленной съемки. Этот режим удобен при анализе, например, записей спортивных состязаний.
    Smart bob работает после разбиения полей на кадры. Есть два способа разбиения:
    1. Если видео закодировано MJPEG с двумя полями, можно включить переключатель "Popup extended open options" в диалоге выбора открываемого файла. Затем, в диалоге расширенных настроек нужно выбрать опцию "Split interlaced frame into two fields".
    2. Если видео сжато не MJPEG, можно воспользоваться утилитой Avisynth, чтобы разбить поля на кадры. Настройки Smart bob
    Show motion areas only: Когда пункт выбран, показываются только двигающиеся области изображения, статичные области залиты черным. Эта настройка может использоваться, чтобы оценить пригодность выбора Threshold. Отметьте, что этот режим создан только для оценки значения Treshold, поэтому он использует удвоение строки и не сдвигает поля на строку, так что будет заметно колебание изображения вверх/вниз. Полностью обработанный вывод использует бикубическую интерполяцию и сдвигает каждый кадр, чтобы выровнять поля.
    Even-numbered frames (0-based) contain top fields: Этот переключатель сообщает фильтру, что четные кадры содержат верхние поля.
    Threshold: Определяет чувствительность процесса обнаружения движения. Значение, которое является слишком низким, приведет к ложным определениям движущихся областей, и, следовательно, подчеркнет шум. Значение в диапазоне 10 - 25 подойдет для большинства записей. Можно пронаблюдать эффект от изменения Threshold, включив режим Show motion areas only - попробуйте найти то значение, при котором будут отображаться только движущиеся области. Дата обновления: 17.04.2006 21:55



    Справочник фильтров VirtualDub

    AsvzzzDeinterlace
    Smart bob
    Деинтерлейс
    QS Deinterlace



    Биржевой анализ - Графический анализ

    Один из способов определения куда и как пойдет цена на валюту– анализ графических моделей, построенных на основании ценовых графиков. В разных вариациях и сочетаниях используются во многих видах анализа. Как вариант, японские свечи –тоже графические модели. От себя хочу сказать только одно, не пытайтесь их использовать на внутри дневных графиках.

    Графический анализ
    Графический анализ - Бары
    Графический анализ - Вершины
    Графический анализ - Графики
    Графический анализ - Гэп

    Графический анализ ДеМарка
    Графический анализ - Дивергенция
    Графический анализ - Линии тренда
    Тактики графического анализа
    Графический анализ - Торговля

    Графический анализ - индикаторы
    История графического анализа
    Графический анализ Ишимоку
    Графический анализ - Каналы
    Графический анализ - Колебания

    Графический анализ - Линии
    Методы графического анализа
    Граф. анализ - Ценовые проекции
    Графический анализ - Тренд
    Графический анализ - Треугольник

    Графический анализ - Уровни
    Модели графического анализа
    Объемы графического анализа
    Основание графического анализа
    Поддержка в граф. анализе

    Графический анализ - Полосы
    Графический анализ - Системы
    Графический анализ - Средние
    Графический анализ Эндрюса
    Графический анализ - Фигуры

    Графический анализ - Цена

        Сайт: Аннимация - Видео - Графика




    Драйверы


    Драйверы
    Драйверы
    TODO : Сделать краткое предисловие В данном разделе собраны нестандартные драйверы. Дата обновления: 18.04.2006 18:01



    WDM Video Capture Driver for Bt848 / Bt849 / Bt878 & Bt879 Chipsets


    WDM Video Capture Driver for Bt848 / Bt849 / Bt878 & Bt879 Chipsets
    WDM Video Capture Driver for Bt848 / Bt849 / Bt878 & Bt879 Chipsets v5.83
    Eduardo Jose Tagle
    WDM Video Capture Driver for Bt848 / Bt849 / Bt878 & Bt879 Chipsetsbtwdmdrvinstaller5.3.8.zip
    Описание WDM драйвер для TV-тюнеров.
    WDM Video Capture Driver for Bt848 / Bt849 / Bt878 & Bt879 Chipsets
    Один из лучших WDM драйверов для карт на чипах BT848/849/878/879 под Windows 98SE/ME/2000/ME.
    Драйвер постоянно развивается и он действительно универсальный, в нем уже сейчас заложена поддержка порядка 100 ТВ карт, список есть на официальном сайте. Кроме того, при инсталляции, есть возможность самостоятельно выбрать компоненты драйвера для отдельно взятой платы.
    Поддерживаются все видео стандарты, есть вариант PAL и SECAM одновременно. Присутствует также поддержка AM/FM Radio mode.
    Драйвер предоставляет такие уникальные возможности, как регулировку резкости, гамы, баланса белого, компенсацию тылового света. Данные функциии используются некоторым софтом, например FlyDS. Даже если эти регулировки не выведены в софт, всегда можно зайти в настройки драйвера и изменить их там. Дата обновления: 18.04.2006 18:02
    Источник: http://pctuner.ru


    Halftone


    Halftone
    halftone
    Tom Ford
    ЭффектыHalftone
    HalftoneHalfTone.vdf
    Описание С помощью этого простого фильтра можно получить интересный эффект аппроксимации изображения двумя цветами, как показано ниже.
    Исходное изображение:
    Halftone Результат с настройками по умолчанию:
    Halftone Дата обновления: 10.10.2006 02:38

    Эффекты


    Эффекты
    Эффекты
    Описание Прямо скажем, небогатый раздел :). В него входят фильтры, с помощью которых можно накладывать на видео различные спецэффекты.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 23.05.2006 12:40



    MSU OldCinema


    MSU OldCinema
    MSU OldCinema v1.7
    MSU Graphics & Media Lab (Video Group), Дмитрий Ватолин, Николай Труничкин
    ЭффектыMSU OldCinema
    MSU OldCinemaMSU_OldCinema.vdf
    Описание Фильтр предназначен для получения эффекта "старого кино". Для этого имеется возможность настройки цветовой гаммы старения пленки, а также набор артефактов для достижения большей реалистичности и придания ему вида кинохроники.
    Настройки Для удобства использования фильтром "Old Cinema" в интерфейс программы были внесены изменения:
    MSU OldCinema В новой версии фильтра были внесены дополнительные возможности обработки фильма.
    MSU OldCinema Появилась возможность накладывать все доступные виды артефактов на цветное изображение. При выборе данного параметра работа будет проводиться с цветным изображением.
    MSU OldCinema Fade control - возможность регулирования проявления эффекта старения пленки. Для того, чтобы эта опция вступила в силу, нужно выбрать соответствующий параметр.
    MSU OldCinema
    MSU OldCinema Fade in и Fade out показывает, что эффект перехода от цветного изображения к черно-белому будет проявляться или исчезать. Также имеется возможность задать, с какого кадра будет происходить переход.
    С версии 1.6 добавлена поддержка Job Control, теперь фильтр можно использовать и в AviSynth. Пример использования:
    LoadVirtualDubPlugin("..\VirtualDub\plugins\MSU Old cinema.vdf","Old_cinema", 0) clip=AVISource("D:\work\video\film.avi", false, "RGB24") return clip.ConvertToRGB32.Old_cinema(247, 223, 181, 0, 1, 10, 10, 0, 15, 70, 3, 20, 5, 50)
    Параметры фильтра
    MSU OldCinema
  • Color correction
  • 1. Корректировка Red параметра
    2. Корректировка Green параметра
    3. Корректировка Blue параметра
  • Fade effect
  • 4. True/False активировать эффект перехода между цветным и чёрно-белым фильмом
    5. Если True - Тогда Переход от цветного к чёрно-белому, если False - наоборот
    6. Номер кадра начиная с которого начнется переход.
    7. Количество кадров за которое произойдет переход.
  • Color cinema
  • 8. True/False Работать с цветным или чёрно-белым фильмом
  • Roller`s track
  • 9. Количество "следов" от валика. (Количество полосок)
    10. Параметр, регулирующий прозрачность всех "полосок"
  • Lines settings
  • 11. Количество царапин/линий
    12. Вероятность появления линии на каждом кадре
    12. Сколько кадров эта линия будет присутствовать
    13. Параметр регулирующий прозрачность царапин/линий
    Дата обновления: 12.05.2006 16:29
    Источник: http://www.compression.ru/video/old_cinema/index.html

    D cleaner optimized (Athlon)


    D cleaner optimized (Athlon)
    2d cleaner optimized (Athlon) v0.9
    Jim Casaburi, Jaan Kalda, Donald Graft
    ШумоподавлениеD cleaner optimized (Athlon)
    D cleaner optimized (Athlon)2dcleanopt_k7.vdf
    Описание Это - оптимизированная под платформу k7 версия фильтра 2d cleaner optimized. Дата обновления: 17.04.2006 21:59

    D cleaner optimized


    D cleaner optimized
    2d cleaner optimized v0.9
    Jim Casaburi, Jaan Kalda, Donald Graft
    ШумоподавлениеD cleaner optimized
    D cleaner optimized2dcleanopt_p3.vdf
    Описание Заменяет каждый пиксель средним значением цвета в указанном диапазоне радиусов эллипса.
    D cleaner optimized
    Настройки Threshold задает разницу между пикселем и окружающими его - они будут залиты одинаковым цветом, чем выше значение, тем больше будут смешиваться цвета.
    Radii - задает радиусы эллипса вокруг пикселя для смешивания, т.е., например, если выбраны 3 и 2, значит будет обработан эллипс с радиусом 3 (3 точки влево и 3 точки вправо) по X и радиусом 2 по Y (2 точки вверх, 2 точки вниз).
    Show sharp edges - позволяет определить, какие пиксели будут затронуты фильтром, а какие - нет. Полезно при подборе параметров.
    Interlaced video - включите, если работаете с чересстрочным видео. Примечания Замечу, что фильтр превосходно очищает мультфильмы с четкими границами и большим количеством равномерно окрашенных областей.
    Для компьютеров на базе k7 (Athlon) следует использовать версию фильтра 2d cleaner optimized (Athlon). Дата обновления: 17.04.2006 22:00

    D comb


    D comb
    2d comb v1.0a
    A.D.
    ШумоподавлениеD comb
    D comb2d_comb.vdf
    Описание Гребенчатый фильтр, усредняющий значения цветности, предназначен для удаления колебаний цветности/яркости между смежными колонками. Фильтр также удаляет цветные артефакты, вызванные обработкой фазы, но с уменьшением вертикального разрешения. Может быть полезным также для удаления колебаний яркости. Настройки D comb
    horizontal averaging позволяет установить, сколько пикселей считаются для измерения компенсации фазы по горизонтали. Он не сглаживает по пикселям, а только определяет компенсацию фазы. Используйте более высокие значения, когда артефакты независят от горизонтального положения, например, есть постоянное колебание яркости. Колебания измеряются между двумя пикселями.
    threshold максимальная компенсация, которая будет скорректирована. Для тяжелых случаев, необходимо увеличивать эту величину для компенсации колебаний. Если вы хотите обработать только цвет, установите Y-threshold в ноль. Вы получите стандартный гребенчатый фильтр цвета (как на вашем ТВ или вашем устройстве захвата) с следующей установкой: обработка YUV-processing вкл., Y/RGB: 1; 0, UV: 1; 512.
    YUV-processing метод, когда источник - сначала преобразуется в цветовое пространство YUV, затем после фильтрации преобразуется обратно в цветовое пространство RGB. Преобразование происходит с высокой точностью (12 битов на каждую компоненту(Y,U,V), без ухудшения.
    testmode В этом режиме можно увидеть изменения, которые вносит фильтр.
    interlaced устанавливается если ваш источник интерлейсный. Тогда он будет работать с полями. Рекомендуется использовать эту опцию также, когда есть прогрессивное захваченное видео, поскольку большинство колебаний являются следствием шума/интерференции в вашей карте захвата и сигнал, который получаете всегда передается в полях. По этой причине (и поскольку нет необходимости в буфере кадра) гребенчатый фильтр цвета в ТВ обрабатывает поля, а не кадры. Но, конечно, необходимо попробовать, какая опция лучше для вашего видео. Дата обновления: 17.04.2006 21:58
    Источник: RoLerBooK

    Cartoon Tool


    Cartoon Tool
    Cartoon Tool v1.0
    flaXen
    ШумоподавлениеCartoon Tool
    Cartoon ToolfxToon.vdf
    Для чего предназначен Данный фильтр был создан для увеличения четкости линий в мультфильмах и содержит оригинальный алгоритм их поиска (не просто темные области или края). Фильтр работает в цветовом пространстве YIQ, при этом используется только компонент Luma (Y) - это увеличивает скорость и работает так же хорошо, как если бы обсчитывался каждый из RGB-компонентов. Плюсы фильтра
  • Краевое затемнение - используя специальный алгоритм поиска линий, их можно затемнить без затемнения всего кадра
  • Скорость - все основные процедуры написаны на ассемблере с использованием таблиц для проведения сложных вычислений
  • Описание параметров фильтра Cartoon Tool
    Scale Base
    fxToon использует нелинейную амплитудную таблицу для выравнивания интенсивности линий. Свойство "Scale Base" позволяет выставить минимальное значение для этой таблицы. Большие значения могут привести к размыванию линий, маленькие - к тому что за линии будут приниматься, например, края.
    Scale Intensity
    Указание величины определения линий перед их выводом на изображение. Чем больше значение - тем темнее линии.
    Pixel Base
    Это пороговое значение определения линий. Если интенсивность линии меньше, она не будет обрабатываться.
    Show Inverse Map
    Этот переключатель позволяет увидеть обнаруженные линии. Можно использовать для настройки.
    Дата обновления: 17.04.2006 22:04



    Chroma noise reduction


    Chroma noise reduction
    Chroma noise reduction v1.1
    Gilles Mouchard
    ШумоподавлениеChroma noise reduction
    Chroma noise reductioncnr.vdf
    Описание Помогает избавиться от шума в UV (CbCr)-составляющей (Chrominance, цветовая компонента) видеосигнала. Как известно, вследствие того, что человеческий глаз более чувствителен к яркости элемента изображения, нежели к оттенку, яркостная составляющая занимает на магнитной ленте большее пространство, чем цветовая. Из-за этого цветовая компонента подвержена шумам в гораздо большей степени. Этот фильтр (CNR) призван уменьшить шум в цветовых компонентах, не трогая яркостную, которая, как правило, имеет лучшее качество, нежели две цветовых.
    Настройки Chroma noise reduction
    Noise reduction - Вы можете изменять форму кривой (широкая или узкая), а также менять ее размеры по горизонтали и вертикали. Каждая кривая задает фильтру, как комбинировать текущий и предыдущий кадр в зависимости от вариаций яркостной и цветовых компонент.
    Luma(Y): Изменение d(Y) = Y(текущий кадр) - Y(предыдущий кадр) яркостной компоненты (Y) отложено на оси X (в %) Коэффициент q(Y) - на оси Y (также в %).
    Chroma1 (U): Изменение d(U) = U(текущий кадр) - U(предыдущий кадр) цветовой компоненты 1 (U) отложено на оси X (в %) Коэффициент q(U) - на оси Y (также в %).
    Chroma2 (V): Изменение d(V) = V(текущий кадр) - V(предыдущий кадр) цветовой компоненты 2 (V) отложено на оси X (в %) Коэффициент q(V) - на оси Y (также в %).
    Фильтр смешивает кадры по следующим формулам:
    U(новый кадр) = q(Y) * q(U) * U(предыдущий кадр) + (1 - q(Y)) * (1 - q(U)) * U(текущий кадр)
    V(новый кадр) = q(Y) * q(V) * V(предыдущий кадр) + (1 - q(Y)) * (1 - q(V)) * V(текущий кадр)
    Яркостная составляющая (Y) не подвергается изменению во время работы фильтра.
    Для того, чтобы фильтр правильно определил измение сцены, коэффициенты q(Y), q(U) и q(V) должны быть малы, в то время как коэффициенты d(Y), d(U), и d(V) - велики. И наоборот, если мы хотим добиться того, чтобы фильтр убрал как можно больше шума, нам следует выставить q(Y), q(U), et q(V) большими, а d(Y), d(U), and d(V) - малыми.
    Произведения q(Y) * q(U) и q(Y) * q(V), на мой взгляд, должны быть равными.
    Грубо говоря, высокие кривые убирают больше шума, узкие кривые лучше определяют изменение сцены.
    Chroma shift correction - иногда существует горизонтальный сдвиг между компонентами яркости и цвета. Храктерный признак - цвета сдвигаются влево и появляется бордовое окаймление справа снизу у кадра. Фильтр позволяет скорректировать этот сдвиг, задав значение обратного сдвига. Значение следует подбирать экспериментально.
    Плюсы и минусы: Плюсы: Хороший, подчас незаменимый фильтр. На несильно зашумленном видео достаточно его и DNR.
    Минусы: Подтормаживает, но не сильно.
    Рекомендации В большинстве случаев подходят настройки по умолчанию, однако иногда приходится уменьшать силу воздействия фильтра: для этого нужно уменьшить ширину всех трёх кривых и степень воздействия на цветовые компоненты до 50-70%. Эффект фильтра более всего заметен на ярких областях изображения: голубое небо приобретает равномерную окраску, без движущихся цветных полос и пятен.
    Обратите внимание, что это усредненные опции, которые подойдут для 90% клипов, но не для всех. К примеру, в некоторых случаях приходится снижать значения всех или одного-двух параметров, чтобы избавиться от появляющегося легкого гало, или наоборот, увеличивать мощность фильтра на особо грязном видео. При возникновении артефактов на границе смены планов, попробуйте убрать везде опцию Wide, но реально необходимость в этом возникает нечасто. Когда Вы немного освоитесь с ним, советую потратить несколько часов на эксперименты с опциями фильтра, чтобы понять принципы его работы и автоматически корректировать значения для достижения наилучшего эффекта, поскольку обьяснить все настройки и варианты их применения в рамках этой статьи просто невозможно, а хелпа к CNR, по-видимому, нет. Вообще, это самый полезный после деинтерлейса фильтр, использовать его надо обязательно.
    Описываемый эффект плохо заметен на статических изображениях, но очень бросается в глаза при воспроизведении видео: шум постоянно движется и потому его легко увидеть.
    При чересчур сильных настройках фильтр создаёт заметные артефакты: множатся контуры движущихся тёмных объектов на ярком фоне, цвет контрастных объектов выходит за пределы контуров объекта. Обязательно проверяйте, нет ли такого эффекта после применения этого фильтра к вашей видеозаписи: найдите участок, где тёмные объекты перемещаются на светлом фоне и просмотрите десяток-другой кадров подряд Дата обновления: 17.04.2006 22:01
    Источник: RoLerBooK

    De-Sharpen


    De-Sharpen
    De-Sharpen
    flaXen
    ШумоподавлениеDe-Sharpen
    De-SharpenfxDesharp.vdf
    Описание Фильтр предназначен для уменьшения или устранения эффекта гало, возникающего при чрезмерном увеличении резкости изображения. Работает в цветовых пространствах YUV или YIQ. Это экспериментальная версия фильтра.
    Скриншот De-Sharpen Дата обновления: 17.04.2006 22:04



    Dynamic noise reduction MMX


    Dynamic noise reduction MMX
    Dynamic noise reduction MMX
    Steven Don
    ШумоподавлениеDynamic noise reduction MMX
    Dynamic noise reduction MMXdnr2.vdf
    Описание Это оптимизированная под MMX версия фильтра Dynamic noise reduction. Дата обновления: 17.04.2006 22:03



    Dynamic noise reduction original


    Dynamic noise reduction original
    Dynamic noise reduction original
    Steven Don
    ШумоподавлениеDynamic noise reduction original
    Dynamic noise reduction originaldnr1.vdf
    Описание Это оригинальная версия фильтра Dynamic noise reduction. Дата обновления: 17.04.2006 22:03



    Dynamic noise reduction


    Dynamic noise reduction
    Dynamic noise reduction
    Steven Don
    ШумоподавлениеDynamic noise reduction
    Dynamic noise reductiondnr.vdf
    Описание Фильтр предназначен для устранения динамического шума.
    Dynamic noise reduction
    На скриншоте указано усредненное значение. С этим фильтром всё далеко не так однозначно, попадаются случаи, когда его применение может принести больше вреда, чем пользы, но на шумном видео без него обойтись довольно сложно. Механизм его работы достаточно прост, он успешно используется в аппаратной обработке уже несколько десятков лет - сравнение пикселей в неподвижных областях изображения в соседних кадрах. Но если при аппаратной обработке, как правило, не возникает сложностей с деинтерлейсом (он или просто не нужен или проводится на качественно ином уровне), то в нашем случае любые огрехи, так или иначе остающиеся после него, приводят, после обработки DNR'ом, к появлению "рваных" краев движущегося изображения, что особенно критично в нашем "клиповом" случае. Эти огрехи, как правило, возникают при использовании не очень точных методов деинтерлейса Frame-only differencing и Field-only differencing. Избавиться от этого можно только постоянно следя за качеством деинтерлейса и, в случае, если артефакт все же проявится, снижая мощность шумоподавления до 5-6. Вторая сложность, подстерегающая нас - DNR не справляется с крупноструктурированным шумом, подчас лишь подчеркивая его. С этим придется пока просто смириться, убрав его на следующей стадии обработки специализированными средствами. В редких случаях, при особой структуре шума, может возникнуть эффект "мокрого стекла" или "пленки" поверх изображения, тогда придется просто отказаться от примения фильтра, заменив его другими средствами. Все же, хочу отметить, что это очень полезный фильтр, и то, что он с усредненными настройками сработает качественно не на 90, а на 70% клипов, совсем не означает, что от его использования надо отказаться. Советую эксперементировать со слайдером в диапазоне от 5 до 15, в более низких значениях просто нет толку, а более высокие почти всегда приведут к появлению видимых артефактов. Дата обновления: 17.04.2006 22:03
    Источник: RoLerBooK


    MSharpen


    MSharpen
    MSharpen v1.2.1
    Donald Graft, Andreas Ludwig
    ШумоподавлениеMSharpen
    MSharpenMSharpen.vdf
    Описание Это фильтр воплощает необычную концепцию пространственного увеличения резкости. Хотя он проектировался для анимэ, но весьма хорошо работает на нормальном видео. Фильтр очень эффективен для увеличения резкости важных краев без усиления шума. Суть работы фильтра очень проста: самая большая проблема в алгоритме unsharp mask - это то, что установка интенсивности, достаточно высокая для увеличения резкости, также усиливает шум и мелкие детали. MSharpen эффективно решает эту проблему, обнаруживая края и применяя затем увеличение резкости только к этим областям. Сначала вы устанавливаете параметр Threshold так, чтобы были отобраны только нужные края, затем вы выставляете силу увеличения резкости.
    Можно установить очень высокую силу без усиления шума или мелких деталей. Есть важное замечание об использовании этого фильтра. Фильтр превосходно работает для кадров из прогрессивного видео, типа пленок и анимэ, но может использоваться и для чересстрочного. Для этого необходимо сначала разделить поля, применить фильтр, и соединить поля. Разделение/соединение (fold/unfold) полей можно получить, применяя встроенный фильтр deinterlace. Хотя фильтр может использоваться после деинтерлейса, он может подчеркнуть "гребенку". Если вы столкнулись с этой проблемой, нужно просто применить MSharpen так, как это описано выше, и лишь затем выполнить денитерлейс.
    Эта версия включает оптимизацию по скорости, выполненную Andreas Ludwig.
    Настройки MSharpen Strength: Сила увеличения резкости. Максимальное значение 255.
    Threshold: Пороговое значение для определения краев.
    Show internal: Выбор приводит к выводу отладочного видео вместо нормально отфильтрованного.
    Sharpen area: Этой функцией надо пользоваться для определения того, какие области изображения разпознаются как края.
    Blur: Алгоритм определения краев использует предварительное размытие. Когда этот пункт выбран, в выходном видео отображается результат операции размытия. Для отладочных целей.
    Blur Method: Этот пункт позволяет выбрать способ размытия. Способ "Cross" неточен, но зато он самый быстрый. "3x3 block" точнее, но и работает медленнее. "Radius 1" выполняет наиболее точное размытие и является самым медленным. На практике используется "Cross", если нужна скорость и "3x3 block", в случае, если скорость не так важна. Пример работы фильтра Исходное видео
    MSharpen

    Результат
    MSharpen Дата обновления: 10.10.2006 02:07

    MSU Deblocking


    MSU Deblocking
    MSU Deblocking v2.2
    MSU Graphics & Media Lab (Video Group), Дмитрий Ватолин, Сергей Гришин
    ШумоподавлениеMSU Deblocking
    MSU DeblockingDeBlock.vdf
    Описание Фильтр предназначен для восстановления качества видео, взятого с DVD (например, когда туда записано 4 часа видео), VideoCD или после видеокодеков H.261, H.263, DivX 3, DivX 4, XviD.
    Фильтр автоматически определяет уровень блочности кадра и конкретной части кадра, сохраняя максимум деталей. Так, в одном и том же фильме на сцене с медленным движением (практически без блочности) фильтр будет действовать минимально, а на сценах с сильным движением - будет работать в полную силу.
    Основным достоинством фильтра является то, что он поднимает интегральное качество в наиболее распространенной PSNR метрике по сравнению с оригинальным фильмом! Т.е. фильм после декомпрессии при сравнении с оригиналом показывает меньшее качество, чем фильм после декомпрессии и деблокинга. (При этом оригинал, естественно, никак не используется, только распакованное видео).
    Настройки Интерфейс позволяет настраивать качество и скорость работы фильтра. В режиме High speed работает ускоренный (MMX) горизонтальный деблокинг, качество которого по сравнению с режимом High quality немного ниже. В режиме High speed фильтр работает в среднем на 25% быстрее. При помощи параметров U-deblock и V-deblock можно включать/отключать обработку цветовых компонент (включение заметно повышает визуальное качество). Используя параметр SSE instructions, возможно вручную отключать использование SSE в случае, если SSE поддерживается.
    Фильтр поддерживает Job Control, что позволяет использовать его в AviSynth.
    Пример использования:
    LoadVirtualDubPlugin("...\VirtualDub\plugins\MSU_DeBlock.vdf","Deblock", 0) clip=AVISource("...\clip_input.avi", false, "RGB24") clip.ConvertToRGB32.Deblock(1, 1, 1, 1) Первый параметр фильтра - деблокинг цветовой компоненты U
    Второй параметр фильтра - деблокинг цветовой компоненты V
    Третий параметр фильтра - режим работы на высоком качестве

    Четвертый параметр фильтра - использование SSE инструкций

    MSU Deblocking Примеры работы фильтра Рассмотрим работу данного фильтра на тестовом ролике "Battle" (фрагмент из фильма Терминатор-2). Случай очень низкого битрейта:

    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки версией 1.2
    MSU Deblocking
    тот же кадр после обработки версией 2.0
    На следующем примере рассмотрен случай обработки последовательности "foreman" (152 кадр, сжат при помощи Xvid с указанием битрейта 50kbs):

    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки версией 1.2
    MSU Deblocking
    тот же кадр после обработки версией 2.0
    Примеры работы фильтра на последовательности "battle" в порядке возрастания битрейта (кадр 65, Xvid с указанием битрейта 100, 300, 500kbs):

    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    Ниже рассмотрены примеры работы на последовательности "foreman" (кадр 155, Xvid 50, 75, 100 kbs):

    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    MSU Deblocking
    кадр до обработки
    MSU Deblocking
    тот же кадр после обработки
    На графике изображены две ветви: первая (Blocked) соответствует фильму после декомпрессии, вторая (MSU Deblocking) - после декомпрессии и деблокинга. По оси ординат отложена формальная метрика качества PSNR фильмов по сравнению с оригинальным - несжатым роликом (чем она выше, тем выше качество), по оси абсцисс - битрейт. Таким образом, легко видеть, что качество фильма после фильтра заметно выше, причем выигрыш тем больше, чем меньше битрейт:

    MSU Deblocking
    MSU Deblocking Смотри также Новый алгоритм деблокинга MSU Smart Deblocking Дата обновления: 12.05.2006 17:08
    Источник: http://www.compression.ru/video/deblocking/index.html

    MSU Smart Deblocking


    MSU Smart Deblocking
    MSU Smart Deblocking v0.5
    MSU Graphics & Media Lab (Video Group), Дмитрий Ватолин, Антон Обухов, Сергей Гришин
    ШумоподавлениеMSU Smart Deblocking
    MSU Smart DeblockingMSU_Smart_Deblocking.vdf
    Описание Фильтр предназначен для восстановления качества видео, взятого с DVD (например, когда туда записано 4 часа видео), VideoCD, снятого на мобильный телефон или после видеокодеков H.261, H.263, DivX 3, DivX 4, XviD.
    Фильтр автоматически определяет уровень блочности кадра и конкретной части кадра, сохраняя максимум деталей. Так, в одном и том же фильме на сцене с медленным движением (практически без блочности) фильтр будет действовать минимально, а на сценах с сильным движением - будет работать в полную силу.
    Основными достоинствами фильтра являются:
  • Улучшенная обработка сверхсильной блочности
  • Возможность подавления смещенной блочности
  • Направленная фильтрация, восстанавливающая границы объектов
  • Настройки MSU Smart Deblocking Интерфейс позволяет задать значения параметров фильтра, а так же визуализировать результат поиска границ. Кнопка Preview позволяет наблюдать результат изменения настроек фильтра не переходя к главному окну VirtualDub. Опция "Show Edges" работает только в режиме Preview. Путем отключения некоторых опций можно добиться ускорения работы фильтра до двух раз.
    Use block preprocessor - По умолчанию включено.
    Позволяет включить или отключить предобработку, отвечающую за удаление сверх-сильной блочности. Приведем пример фильма, обработанного без предобработки и вместе с ней:
    MSU Smart Deblocking MSU Smart Deblocking MSU Smart Deblocking
    Preprocess unaligned - По умолчанию включено.
    В некоторых фильмах встречаются сцены с плавным движением, на которых иногда появляются области с блочностью, не выровненной по сетке 8х8. Такие области представляют проблему для обычных алгоритмов деблокинга. При включенной опции "Preprocess unaligned" фильтр находит такие области и исправляет их. Ниже приведен пример работы данной опции:
    MSU Smart Deblocking MSU Smart Deblocking MSU Smart Deblocking
    Preprocess chroma - По умолчанию включено.
    Включает предобработку цветовых компонент.
    MSU Smart Deblocking MSU Smart Deblocking MSU Smart Deblocking
    Process chroma - По умолчанию включено.


    Включает деблокинг цветовых компонент.

    MSU Smart Deblocking MSU Smart Deblocking MSU Smart Deblocking
    Use directional filtering - По умолчанию отключено.
    Включает направленную фильтрацию.

    MSU Smart Deblocking MSU Smart Deblocking MSU Smart Deblocking
    Следующие элементы управления работают только при включенной направленной фильтрации.

    Show edges - По умолчанию отключено.
    Включает визуализацию найденных границ в режиме предпросмотра в диалоговом окне фильтра (белым цветом на черном фоне).

    Edge Sensivity (0% - 100%) - Значение по умолчанию - 50.
    Ползунок отвечает за чувствительность направленного фильтра к границам.

    Edge Threshold (0% - 100%) - Значение по умолчанию - 50.
    Ползунок отвечает за количество найденных границ.

    Направленная фильтрация работает только в найденных границах.

    Работа с AviSynth Фильтр поддерживает Job Control, что позволяет использовать его в AviSynth. Пример использования:

    LoadVirtualDubPlugin("...\MSU_Smart_Deblocking.vdf","MSU_Smart_Deblocking", 0) clip=AVISource("source.avi", false, "RGB24") clip.ConvertToRGB32.MSU_Smart_Deblocking(1, 1, 1, 1, 1, 50, 50) Параметры, передаваемые в третьей строке:
  • Enable block preprocessor (0,1)
  • Preprocess unaligned (0,1)
  • Preprocess chroma (0,1)
  • Process chroma (0,1)
  • Use directional filtering (0,1)
  • Edge attack (0-100)
  • Edge threshold (0-100)


  • Примеры работы фильтра Рассмотрим работу данного фильтра на тестовом ролике "Battle" (XviD, 1-pass, CBR, 100kbs):

    MSU Smart Deblocking
    MSU Smart Deblocking
    MSU Smart Deblocking На следующем примере рассмотрен случай обработки последовательности "flower" (XviD, 1-pass, CBR, 100kbs):

    MSU Smart Deblocking
    MSU Smart Deblocking
    MSU Smart Deblocking Смотри также MSU Deblocking

    Дата обновления: 12.10.2006 17:09
    Источник: http://www.compression.ru/video/deblocking/smartdeblocking.html

    Picfix


    Picfix
    Picfix v1.04
    Gabest
    ШумоподавлениеPicfix
    Picfixpicfix.vdf
    Описание Осуществляет шумоподавление с учетом временной составляющей. Великолепно подходит для использования в мультфильмах после 2d cleaner optimized. Скриншот Picfix Дата обновления: 12.10.2006 17:17



    Proximity locker


    Proximity locker
    proximity locker v0.3
    Chir
    ШумоподавлениеProximity locker
    Proximity lockerprox_lock.vdf
    Описание Первичная задача этого фильтра состоит в том, чтобы работать дополнением для существующих блокирующих фильтров, таких как VHS или Temporal Cleaner.
    Заблокированный пиксель - это пиксель, который не изменяется от кадра к кадру.
    Принцип этого фильтра очень прост: он обнаруживает меняющиеся пиксели, полностью окруженные заблокированными пикселями и блокирует их также, так как они - вероятно шум.
    Обратите внимание на то что фильтр ничего не сделает, если в изображении не будет заблокированных пикселей. Настройки Proximity locker
    Strength: Вы можете установить агрессивность блокировки. Слишком большие значения могут привести к блокировке настоящего движения. С другой стороны, установка минимума не приведет ни к каким изменениям.
    Show motion area: Вывод карты блокированных пикселей. Вывод должен интерпретироваться следующим образом:
    Синий = пиксели, блокированные предыдущими фильтрами.
    Белый = пиксели, блокированные этим фильтром.
    Другой = не блокированные пиксели.
    Дата обновления: 17.04.2006 22:05



    Random noise remover


    Random noise remover
    Random noise remover v1.07b
    Mikhail Rozov
    ШумоподавлениеRandom noise remover
    Random noise removerrnr.vdf
    Описание Идея написания этого фильтра возникла, когда пришлось оцифровывать фильм с телевизора с большим количеством посторонних помех в исходном телевизионном сигнале. Наверное, каждый представляет себе помехи в виде хаотических цветных точек и полосочек, время от времени появляющихся в кадре. При плохом сигнале такие помехи образуют своеобразный "снег". Так вот с этим безобразием, как оказалось, не справляется в полной мере ни один из имеющихся у меня фильтров для VirtualDub (пробовал Temporal cleaner, DNR, и др.). Удавалось добиться только некоторого размытия помех, но никак не их уничтожения. При детальном изучении такого рода помех удалось установить, что они появляются в каждом конкретном месте только в одном кадре, то есть аналогичные точки предыдущего и последующего кадра по отношению к испорченному помехой, как правило, не испорчены.
    Отсюда и появилась идея восстанавливать запорченные точки по соседним кадрам. Задаем порог (по каждому цвету отдельно). Сравниваем каждую точку предыдущего кадра с аналогичной точкой последующего кадра. Если разница меньше порога, то считаем, что точки похожи. В этом случае сравниваем точку текущего кадра с аналогичной точкой предыдущего кадра, если разница больше порога, то считаем, что в текущем кадре помеха. Остается только заменить точку текущего кадра средним значением, полученным из точек предыдущего и последующего кадра.
    Однако, реализация описанного алгоритма показала, что фильтр принимает за помеху любой мелкий движущийся объект. Попытка избавиться от этого явления заключается в дополнительном анализе предыдущего кадра. Задаем некоторый радиус, и ищем в предыдущем кадре в пределах этого радиуса от текущей точки, которую вышеописанная часть алгоритма в текущем кадре посчитала помехой. Если в предыдущем кадре в данном радиусе находится похожая точка, считаем, что это движение, а не помеха.
    Таким образом получился фильтр "Random noise remover".

    Следует отметить, что чем больше радиус, тем медленнее работает фильтр и меньше убирает помехи; чем меньше радиус, тем больше появляется артефактов от ложных срабатываний фильтра на движущихся объектах. Установка значений порогов по R, G, B понятна по вышеприведенному алгоритму.
    Не рекомендую применять фильтр на сценах с очень быстрым движением или эффектами типа "вспышек" (будет много артефактов). При необходимости такого применения нужно установить "radius" на максимум. Можно применять фильтр совместно с фильтром "conditional" на определенных участках фрагмента (при этом нужно расширить диапазон кадров от начала и конца участка с помехами на 3 кадра).
    При использовании фильтра деинтерлейса, фильтр Random Noise Remover следует использовать после него.
    В режиме 50 fps фильтр RNR дает более хорошие результаты из-за меньшего различия в соседних кадрах на движущихся объектах.
    Фильтр дает задержку на 1 кадр. Настройки Random noise remover
    Scene threshold 1, Scene threshold 2 Сравнивается (по каждому цвету отдельно) каждая точка предыдущего кадра с аналогичной точкой последующего кадра. Если разница меньше Scene threshold 1, то считается, что точки похожи. В этом случае сравнивается точка текущего кадра с аналогичной точкой предыдущего кадра, если разница больше Scene threshold 2, то считается, что в текущем кадре возможная помеха.
    Radius, Scene threshold (Motion analyzing) Radius задает область поиска в пикселях вокруг анализируемой точки в предыдущем и последующем кадрах. Если в данной области обнаруживается точка разница которой с текущей точкой меньше порога Scene threshold, то считается, что текущая точка не помеха.
    DNR mode Встроенный дополнительный отключаемый режим динамического шумопонижения. Алгоритм немного похож на алгоритм фильтра DNR (выравнивает пиксели, если их разница меньше порога), но в отличие от последнего используется информация из трех кадров (в DNR из двух). Порогом DNR служит Scene threshold 2.
    Show replaced pixels (Test mode) Режим для настройки параметров фильтра.


    Наглядно показывает красным цветом заменяемые точки изображения. Зеленым цветом показываются точки изменяемые при включенном режиме DNR.
    Frame range Строка задания диапазона работы фильтра. Диапазон задается интервалами по номерам кадров (кадры нужно при этом просматривать в левом окне программы VirtualDub во избежание возможной путаницы с нумерацией).
    Например: 1-5,66-78,103-103,1233-5790,11600-12230
    Если нужно указать только один кадр, следует задать через тире одинаковое число (например, 103-103). Максимально допустимое количество интервалов - 30. Не допускается использовать в строке символы, кроме цифр 0-9, запятой и тире (знак минус). Если строка не задана, фильтр работает на всем видео файле. Защита от некорректного ввода информации есть, но она для уменьшения громоздкости алгоритма, минимальна. Поэтому, желательно придерживаться вышеуказанных правил и не превышать максимальное число интервалов (30).
    Replace spot perimeter Режим удаления контуров от пятен с размытыми краями. Позволяет обрабатывать пиксели на краях помехи (по периметру) также, как саму помеху. При использовании этого режима следует учитывать, что он усиливает заметность артефактов при ложных срабатываниях фильтра.
    Недостатки Фильтр дает артефакты на сценах с быстрым движением и на эффектах типа "вспышек". Чем меньше значение параметра Radius, тем больше появляется артефактов от ложных срабатываний фильтра. При необходимости применения фильтра на таких сюжетах нужно установить Radius на максимум. В таких случаях можно также воспользоваться возможностью задания диапазона работы фильтра.
    При больших значениях параметра Radius фильтр работает медленно. Дата обновления: 17.04.2006 22:06
    Источник: http://mediatory.ru/article10_article_5_3.phtml

    RmPal


    RmPal
    rmPal
    ttyras
    ШумоподавлениеRmPal
    RmPalrmpal1.vdf
    Описание Устраняет проблему "разбегания" UV-компонентов при оцифровке PAL-видео (фазовый сдвиг применяется в стандарте PAL для устранения цветовых искажений). Фильтр усредняет UV-компоненты соседних по вертикали пикселей, уменьшая "сверхкрасность" и "сверхзеленость" :) пикселей. Вот пример работы фильтра (взят с сайта автора rmPal):
    RmPal
    Левая часть картинки обработана фильтром, правая - до применения фильтра. Дата обновления: 17.04.2006 22:05
    Источник: http://mediatory.ru/article10_article_5_3.phtml


    Шумоподавление


    Шумоподавление
    Шумоподавление
    Описание Фильтры в данном разделе предназначены для сглаживания изображения, устранения артефактов, и т.п.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 17.04.2006 23:09



    Smart Smoother High Quality (K6-III, P3, P4 MMX)


    Smart Smoother High Quality (K6-III, P3, P4 MMX)
    Smart Smoother High Quality (K6-III, P3, P4 MMX) v2.11
    Klaus Post
    ШумоподавлениеSmart Smoother High Quality (K6-III, P3, P4 MMX)
    Smart Smoother High Quality (K6-III, P3, P4 MMX)SmoothHiQ.vdf
    Описание Позволяет "размыть" шумы, сделав изображение чистым, но сохранив при этом достаточное количество деталей. При этом, используя этот фильтр, можно получать при желании различные эффекты вроде изображения на терминале слежения и пр. Фильтр работает с областью ромбической, а не круглой формы, что позволяет избежать размытия границ. Настройки Smart Smoother High Quality (K6-III, P3, P4 MMX)
    Diameter - размер области размытия. Чем больше диаметер, тем больше будут размываться детали. Не рекомедую ставить больше семи, а лучше 3 - 5.
    Threshold - пороговое значение для фильтра, служит для определения какие пиксели смешивать между собой. Чем больше будет значение, тем больше пикселей будут признаны одинаковыми. Ставьте по вкусу :), смотрите Preview, используйте Photoshop для определения разницы между несколькими вариантами. При большом зашумлении (особенно если источник - VHS) используйте режим GrayScale ( выставьте галку на Check Grayscale).
    Average Pixels/Weighed average - первый режим используется для обработки мультфильмов, второй - лучше подходит для более насыщенного по цветам обычного видео. Второй режим соответственно меньше размывает обширные области.
    Weighed with difference - чем ближе будут пиксели друг к другу по значению, тем больше они будут смешиваться между собой. Выставлять или нет эту опцию - решайте для каждого видеопотока, взглянув на Preview.
    Maintain Diffweight - Вы руками выставляете значение для Weighed with difference - т.е. этот режим отключается, когда разница между пикселями ниже значения, выбранного на слайдере.
    Amount - вес пикселов, обработанных фильтром в финальное картинке. Безопасное значение - 128, оно означает что 50% первоначальной картинки сохранится в итоговой. Чем больше значение, тем больший вес приобретают пиксели, обработанные фильтром.
    Плюсы и минусы Плюсы: Хорошо обрабатывает очень шумное видео с большим разрешением (если затем Вы делаете ресайз). Великолепен для обработки мультфильмов. При небольших значениях хорош для любительского видео. С его помощью можно получать разнообразные эффекты.
    Минусы: Версия 1.х отличалась очень плохой оптимизацией по скорости. Версия 2.х более быстрая и все же... Примечание Для компьютеров на базе процессоров AMD К7 и выше, следует использовать оптимизированную под Athlon версию этого фильтра. Дата обновления: 17.04.2006 23:02
    Источник: http://mediatory.ru/article10_article_5_4.phtml


    Smart Smoother High Quality (K7, Athlon MMX)


    Smart Smoother High Quality (K7, Athlon MMX)
    Smart Smoother High Quality (K7, Athlon MMX) v2.11
    Klaus Post
    ШумоподавлениеSmart Smoother High Quality (K7, Athlon MMX)
    Smart Smoother High Quality (K7, Athlon MMX)SmoothHiQ_athlon.vdf
    Описание Это оптимизированная под Athlon версия Smart Smoother High Quality. Дата обновления: 17.04.2006 22:07
    Источник: http://mediatory.ru/article10_article_5_4.phtml


    Smart Smoother IQ


    Smart Smoother IQ
    Smart Smoother IQ v0.6
    Tim Park, Mark DeNies
    ШумоподавлениеSmart Smoother IQ
    Smart Smoother IQSmoothIQ.vdf
    Описание Этот фильтр выполняет неразрушающее структуру изображения сглаживание (размытие), основываясь только на I/Q составляющей (цветность) изображения. Составляющая Y не меняется. Фильтр призван уменьшить кроссцветовые артефакты типа "радуга", появляющиеся в некоторых анимационных фильмах. Фильтр основан на коде оперируещего в цветовом пространстве RGB Smart Smoother. Настройки Smart Smoother IQ
    Diameter: Параметр определяет размер площади размытия. Чем больше значение, тем медленнее работает фильтр.
    Strength: Параметр определяет степень размытия. Используйте самое малое значение, при котором удалаются шум/артефакты.
    Interlaced source video: Выберите, если исходное видео чересстрочное. Дата обновления: 18.04.2006 12:38



    Smart Smoother


    Smart Smoother
    Smart Smoother v1.1
    Donald Graft
    ШумоподавлениеSmart Smoother
    Smart SmootherSmooth.vdf
    Описание Этот фильтр выполняет сглаживание (размытие) с сохранением структуры. Хорошо подходит для удаления таких шумов, как блочные артефакты MPEG/JPEG.
    Smart Smoother Настройки Diameter: Эта настройка определяет размер площади размытия. Чем больше - тем медленнее работает фильтр. Используйте большие значения для удаления блочных артефактов и меньшие для удаления грануляции.
    Strength: Определяет как сильно будет производиться размытие. Используйте наименьшее значение, при котором удаляются шум/артефакты.
    Interlaced source video: Выберите, если видео чересстрочное.
    Этот фильтр требует процессор с MMX. Дата обновления: 17.04.2006 22:06



    Spatial Smoother


    Spatial Smoother
    Spatial Smoother v1.0
    Ioura Batugowski
    ШумоподавлениеSpatial Smoother
    Spatial Smootherssmooth.vdf
    Описание Это размывающий фильтр, который оперирует только теми пикселами, чей цвет достаточно близок друг к другу. Цель заключается в уменьшении шума с сохранением структуры изображения. В этом фильтр похож на Smart Smoother, но работает быстрее с малыми диаметрами и имеет на выходе лучший результат. К тому же, он может работать (правда, медленно) без MMX.
    Spatial Smoother Параметры фильтра Diameter: Обрабатываемый квадрат (Diameter * Diameter) вокруг каждого пиксела. С его увеличением скорость сильно падает. Для диаметра = 3 используется особенно быстрая подпрограмма, если диаметр более 7, лучше использовать Smart Smoother.
    Strength: Количество убираемого шума, при значении 18 - простое размытие. Дата обновления: 17.04.2006 22:08



    Static noise reduction


    Static noise reduction
    static noise reduction v1.3
    Steven Don
    ШумоподавлениеStatic noise reduction
    Static noise reductionSNR.vdf
    Описание Этот фильтр удаляет статический шум.
    Static noise reduction Настройки Noise threshold: Чем больше это значение, тем больше шума удаляется. При слишком больших значениях происходит размытие.
    Video interlaced: Этот пункт нужно выбирать, если видео чересстрочное. Дата обновления: 17.04.2006 22:08



    Temporal Cleaner


    Temporal Cleaner
    Temporal Cleaner v0.5 beta
    Jim Casaburi
    ШумоподавлениеTemporal Cleaner
    Temporal CleanerTCLEAN.vdf
    Описание Очень полезный фильтр. Помогает избавиться от случайного мусора, имеющегося в одном кадре, но отсутствуещего в другом. Также позволяет блокировать (lock) пиксели, которые от кадра к кадру отличаются ненамного, что хорошо оптимизирует поток для последующего сжатия в любой из MPEG'ов. Настройки Temporal Cleaner
    Percent threshold for scene change - пороговое значение для фильтра, служит для определения новой сцены: какое количество пикселей в следующем кадре (в процентах) должно отличаться от предыдущего, для того чтобы фильтр счел, что поменялась сцена. При смене сцены обнуляются блокированные пиксели. В зависимости от видео следует устанавливать от 20 до 32.
    Process in YUV colorspace - более медленный, зато более качественный режим, позволяющий отдельно обрабатывать яркостную и цветовые составляющие. В RGB-режиме обрабатываются только яркостные компоненты R, G и B составляющих. Рекомендую ставить эту галочку.
    Threshold for blending - пороговое значение для фильтра, максимальная разница для пикселей в соседних кадрах, чтобы быть смешанными. Рекомендуемые значения: для Luminance - от 6 до 12, для Chrominance - от 10 до 24. Рекомендую также держать значение для Chrominance примерно в 2 раза большее, чем для Luminance.
    Threshold for pixel lock - пороговое значение для точки, чтобы быть заблокированной, т.е. в последующих кадрах она будет иметь то же значение, как и в текущем. Не слудует устанавливать больше 8 (а лучше 3-6) для Luminance, и больше 16 (5 - 12 оптимум) для Chrominance.
    Show motion area - для тестовых целей, показывает только те точки, которые будут обработаны в данном кадре.
    Enable luminance locking mode - разрешает смешивание для цветовой компоненты, когда яркостная компонента попадает в пороговое значение для блокирования, а цветовая - нет. Использование этой опции зависит от конкретного видеопотока - проверяйте визуально, полезна она или нет для каждого проекта.
    Плюсы и минусы: Плюсы: Хорошо чистит видеопоток без размытия, не позволяя образовываться фантомному мусору. Организация фильтра позволяет многоразовое использование его в одном и том жже проекте, например, до и после ресайза или до и после деинтерлейсинга.
    Минусы: Не оптимизирован по скорости. Дата обновления: 17.04.2006 23:22
    Источник: http://mediatory.ru/article10_article_5_3.phtml


    VHS


    VHS
    VHS v1.0
    flaXen
    ШумоподавлениеVHS
    VHSfxVHS.vdf
    Описание Этот фильтр создан для очистки видео, захваченного с VHS. Он может исправить небольшие отклонения цвета и интенсивности, основываясь на информации, полученной из предыдущих кадров и текущего кадра. Другими словами, fxVHS может уменьшить шум, исправить возникающие резкие цветные полосы (например фиолетовые полосы вместо красных) и исправить цветовой муар, появляющийся на резких краях. Фильтр может быть использован не только для VHS. Иногда, например, старые записи Betamax дают небольшой муар, и фильтр может его устранить.
    fxVHS работает в цветовом пространстве YIQ и использует 12 буферов изображения и 19 поисковых таблиц. В результате он потребляет большой объем памяти, около 3.71mb для 320x240 и примерно 14.77mb для 640x480.
    Присутствуют настройки увеличения резкости. Скриншот VHS Дата обновления: 17.04.2006 22:05



    Wavelet Noise Reduction


    Wavelet Noise Reduction
    Wavelet Noise Reduction v0.1
    thejam79
    ШумоподавлениеWavelet Noise Reduction
    Wavelet Noise Reductionwnr.vdf
    Описание Фильтр Wavelet Noise Reduction (WNR) реализует относительно новый и перспективный метод: представление сигнала как совокупность элементарных волн - вейвлетов. По сравнению с другими распространенными фильтрами шумоподавления, WNR работает не в пространственном, а частотном представлении изображения. Это делает его весьма эффективным для подготовки материала к дальнейшему сжатию, т.к. в алгоритмах MPEG и MJPEG сигнал представлен подобным образом. Не меньшее значение имеет тот факт, что природа очень многих шумов в аналоговой аппаратуре имеет гармонический характер, а это, в свою очередь, существенно облегчает их фильтрацию именно в частотном представлении. Вот что говорят об этом фильтре разработчики:
    WNR может удалять спектральные компоненты шумов в трех различных частотных диапазонах, независимо для осей X,Y и компонент Y, Cr, Cb. Анализируя спектральные составляющие изображения фильтр обрезает их в соответствии с установленными параметрами. В нормальном видеосигнале обычно отсутствуют спектральные компоненты с амплитудой превышающей остальные, это признак шумов, которые WNR способен удалить без добавления заметных артефактов в изображение. В качестве примера предположим, что на изображении есть интерференционная сетка в виде вертикальных полос (такое может быть из-за помех от электросети на телевизионный кабель). В этом случае по горизонтали яркость меняется с определенной частотой, то есть горизонтальное расстояние между двумя полосами всегда одинаково. Все другие изменения яркости вызваны собственно изображением и обычно имеют случайный характер. На общем фоне амплитудно-частотной характеристики будет виден пик, соответствующий помехе от сети, который можно убрать этим фильтром. Другой пример - макроблоки, вызванные некачественным кодированием MPEG. Это квадраты по 4, 8, 16 пикселей, которые также четко представлены своими частотами.
    Дополняют эту картину весьма развитые средства настройки и контроля параметров.
    И несмотря на то, что восемнадцать регулировок чувствительности фильтра немного шокируют, работать с WNR очень легко и удобно.
    Управление и настройка параметров WNR
    Управление фильтром Регулировка чувствительности
    Filter enable включает и отключает фильтр
    Show selected plane выходное изображение формируется только по выбранной цветовой компоненте
    Normal на выход фильтра подается отфильтрованное изображения
    High выходное изображение формируется спектральными компонентами с наибольшей амплитудой, которые соответствуют шумам и границам объектов в кадре.
    Diff на выход фильтра подается разность между изображениями до и после фильтрации (параметр Show selected plane игнорируется)
    Y, Cb, Cr выбор цветовой компоненты для настройки
    X0, Y0
    X1, Y1
    X2, Y2
    Настройка порогов срабатывания фильтра (Threshold)
    Xn,Yn обозначают направление анализа и частотный диапазон регулировки. X,Y - гор. и верт. оси изображения, n обозначает частотный диапазон, где 0 соответствует полосе частот с периодом 8...16 пикселей, 1 - 16...32, 2 - 32...64
    Wavelet Noise Reduction
    Разработчики рекомендуют настраивать WNR следующим образом:
    1. Переключить фильтр в режим High и включить предварительный просмотр Show Preview
    2. Установить все слайдеры для всех компонент в "0", после чего один из слайдеров устанавливаем в "1". На экране предварительного просмотра появятся контуры объектов в кадре и (может быть) видимый шум.
    3. Передвигаем слайдер до тех пор, пока шум не исчезнет, но при этом контуры объектов останутся четкими.
    4. Записываем получившееся значение на бумагу и возвращаем слайдер в положение "0"
    5. Повторяем шаги 2-4 для каждого слайдера каждой цветовой компоненты
    6. Устанавливаем значения всех слайдеров для всех компонент в соответствии с записями и переключаем фильтр в режим Normal. Опция Show selected plane должна быть отключена.
    Примечание: в WNR присутствует досадный баг - значения Threshold невозможно установить прямым вводом числовых значений в соответствующее поле.


    Параметры устанавливаются только перемещением слайдеров с помощью мыши или стрелок на клавиатуре.

    Очень полезной особенностью WNR является возможность непосредственной оценки изменений, внесенных фильтром в исходное изображение (режим Diff). Именно этот режим я рекомендую использовать для настройки фильтра. В отличии от High, который рекомендуют разработчики, режим Diff позволяет гораздо точнее найти грань между исходной картинкой и наложенной на нее в процессе записи-воспроизведения шумами. Предлагаемая мной методика повторяет рекомендованную разработчиками, но с некоторыми изменениями:
    1. Переключить фильтр в режим Diff и включить предварительный просмотр Show Preview
    2. Установить все слайдеры для всех компонент в "0"
    3. Передвигаем выбранный слайдер до появления на экране контуров объектов в кадре. Настраиваем Threshold таким образом, чтобы на фоне шума не было заметно реальных объектов кадра. При этом полезно контролировать выбранные значения в динамике, т.к в движении объекты становятся более заметны.
    4. Записываем получившееся значение на бумагу и возвращаем слайдер в положение "0"
    5. Повторяем шаги 2-4 для каждого слайдера каждой цветовой компоненты
    6. Устанавливаем значения всех слайдеров для всех компонент в соответствии с записями и переключаем фильтр в режим Normal. Опция Show selected plane должна быть отключена.
    После установки значений всех порогов не мешает проверить результат контрольным воспроизведением в режиме Diff и в случае необходимости скорректировать настройки.
    Примеры работы с фильтром Приведенные ниже скриншоты сделаны по итогам реальной работы с материалом, где стояла задача не "улучшить" изображение, а подготовить захваченный с аналогового источника (Video 8) клип к дальнейшей работе, включая сжатие по алгоритмам DV и MPEG2. На мой взгляд, они являются не только иллюстрацией возможностей WNR, но и помогают непосредственно увидеть шумы, вносимые аналоговой аппаратурой записи-воспроизведения.
    Wavelet Noise Reduction Wavelet Noise Reduction
    Кадр на входе WNR Кадр на выходе WNR
    На первый взгляд, эти кадры мало отличаются друг от друга, я считаю это правильным: один из основных принципов применения фильтров - "не навреди".


    Но с точки зрения алгоритмов сжатия эти кадры отличаются кардинально. Вот что мы получили на самом деле:
    Wavelet Noise Reduction Y Cb Cr X0 Y0 X1 Y1 X2 Y2
    10 10 10
    20 15 10
    20 10 5
    20 15 5
    20 10 10
    15 15 20
    Удаленный из кадра шум (режим Diff) Выбранные параметры фильтрации
    Настройки фильтра подбирались в режиме Diff, из соображений минимальной различимости каких-либо реальных объектов в кадре.
    Шумы, которые хорошо видно на последнем кадре, являются довольно трудной задачей практически для всех алгоритмов сжатия. При этом, сам шум часто бывает незаметен на исходном материале и, тем более, на закодированном. Но тем не менее, на него может уходить значительная часть битрейта, что отрицательно сказывается на качестве получаемых результатов.
    Следующие кадры демонстрируют возможности WNR по настройке оптимальных параметров фильтрации. Скриншоты сделаны для компоненты яркости (Y) при разных значениях Threshold: слева направо расположены кадры со значениями "1" для всех (Xn,Yn), затем при оптимальных настройках (см. таблицу выше) и завершают ряды кадры с максимальными (255) значениями.
    Режим High
    В этом режиме довольно сложно найти оптимальные настройки: на экране постоянно присутствуют контуры объектов и на их фоне реальный шум сложно увидеть. Критерием настройки здесь служит четкость границ, в результате изображение после фильтра может оказаться "замыленным" Wavelet Noise Reduction Wavelet Noise Reduction Wavelet Noise Reduction
    Режим Diff
    В этом режиме, по мере увеличения значений Threshold, на экране сначала проявляется шум, затем на фоне шума становятся видны границы объектов. Настройки, при которых удаляется большинство шумов без потерь для полезного изображения выбрать достаточно просто. Wavelet Noise Reduction Wavelet Noise Reduction Wavelet Noise Reduction
    Выбор конкретного режима настройки зависит от желаемого результата. В режиме Diff удобнее добиваться максимального качества при кодировании на высоких битрейтах, режим High может быть более полезен, когда стоит задача снижения битрейта при последующем кодировании. Системные требования
  • Для работы WNR требуется процессор с поддержкой MMX и SSE.
  • Высота и ширина кадра видео должна быть кратной 8.
  • WNR не предназначен для обработки видео с чересстрочной разверткой (interlace), для работы с такими материалами следует разделять поля с помощью дополнительных фильтров.В VirtualDub для этой цели следует применять встроенный фильтр Deinterlace, установив его перед WNR в режиме Unfold fields и после WNR в режиме Fold fields:
  • deinterlace (mode: unfold)
  • wavelet noise reduction
  • deinterlace (mode: fold)
  • Все Thresholds, которые установлены в "0", не используют ресурсы процессора.
  • Дата обновления: 18.04.2006 16:50
    Источник: RoLerBooK

    Alidator


    Alidator
    Alidator
    Krzysztof Wojdon
    ОверлейAlidator
    Alidatoralidator.vdf
    Описание Этот фильтр просто накладывает на кадр текущую дату/время. Настроек не имеет, работает очень быстро. Может быть использован в качестве RGB фильтра во время захвата. Скриншот Alidator Дата обновления: 18.04.2006 11:27
    Источник: RoLerBooK


    DeLogo


    DeLogo
    DeLogo v1.3.2
    kasuha@post.cz
    ОверлейDeLogo
    DeLogodelogo.vdf
    1. What is it for? The DeLogo filter is designed to remove static elements, i.e. logos or watermarks from video source. While there are many ways how to put a logo to a video, DeLogo filter only covers those that are really static, i.e. not moving and not animated. On the other hand, it can successfully remove alpha-blended logos without destroying the picture beneath.
    DeLogo filter features two logo removal techniques. First of them is called DeBlend and it is designed to remove alpha blended logos using given alpha and color mask, which are supposed to be the real alpha and color mask of the logo. While it may be really tricky to create such masks, DeLogo filter features even an analyser which can do all the work for you.
    The second technique - repair - comes where the first fails. Opaque logos can not be deblended because there is no remnant visible through the logo. These pixels must be painted anew depending on color of pixels surrounding the opaque part.
    2. Quick Start The filter configuration dialog looks like this:
    DeLogo
    All the values and settings showed on this picture are the default values.
    In the following sections you will find some tasks - from the most trivial to somewhat complex one - that I actually did using the filter to achieve the result. Remember that not all controls are actually used and explained in this part, for detailed description refer to reference sections.
    2.1 Still Images
    Though VirtualDub is primarily intended to edit video, since version 1.4.8 it is possible to load a series of .bmp images as a video sequence. The sequence may even consist of just one frame which makes it a complicated image processing tool. While for many cases there are much better tools to do the same, the DeLogo filter is actually the only tool I know capable to remove unwanted elements from an image without a lot of editing. Only the repair technique can be used for still images (DeBlend process needs to analyse at least two frames to get some results) so this is actually the most simple task you can use the filter for.

  • Take an image with some unwanted elements, such as a photo with a timestamp:

    DeLogo
  • Convert the image to the .bmp format. There are many ways how to do it, but in case of lack of other suitable tools, it is still possible to press the PrintScreen key and paste the image to the Windows Paint program.
  • Open the image in some image editing tool (such as Windows Paint) and mark all unwanted elements by a fine red (255, 0, 0) color:

    DeLogo

    Don't hesitate to mark some extra pixels around the object, it is always better than to leave some artifacts to extend to the repaired area.
  • Save the image to a numbered file, e.g. "Photo1.bmp", use a 24-bit color format. The number in the name is a tribute to VirtualDub, which expects a number in the filename to load it as a video frame. The 24-bit color format is required by the filter.
  • Start the VirtualDub and open the bitmap as a 1-frame video in it.
  • Open the Filters dialog and add the DeLogo filter to it. The filter configuration box will open.
  • Press the Load... button next to the Repair: text in the Mask properties group and load the image here.
  • Press the Show preview button and look at the result:

    DeLogo
  • For further improvements you may try to play a little with the controls in the Repair parameters group. Don't expect miracles - the marked area is only replaced by a weighted average of surrounding pixels. The weight is specified by the Power value while Depth affects the number of surrounding pixels. If you press the Repair radio button in the Preview group, you can see how many surrounding pixels (yellow) are used as the border:

    DeLogo

    Note also that every continuous repaired area is processed on its own and has its own border. You can notice it when you pull the Power slider to the left end (value 0.0) which means a constant average of the border pixels. Each area will have its own constant color. This feature greatly increases processing speed for such complicated masks consisting of many parts.
  • Press the Close button to close the filter configuration dialog and OK button to close the filters dialog.


    Then save the result using File/Save image sequence... menu choice.
  • 2.2 Opaque Logos in Video
    Opaque logos are for sure the most common case. As you can expect, the DeBlend algorithm can't be applied to opaque logos so the process is actually very similar to the still image provessing.
  • Start the VirtualDub, open the video to be processed in it:

    DeLogo
  • Open the Filters dialog and add the DeLogo filter.
  • Press the Show preview button and seek in the video until you find a frame where the logo is best visible:

    DeLogo
  • Press the Save frame button (next to the Analyse: text in the Mask properties group) and choose a folder and a name for the bitmap image containing your selected frame. Save it by pressing the Save button.
  • Open the image in your preferred image editor (e.g. Windows Paint) and mark the logo by a fine red (255, 0, 0) color:

    DeLogo

    Note that the mask is actually much wider than the logo. The logo in this example is not completely opaque, it contains an alpha-blended "shadow" and some color artifacts which destroy the result if they are not masked too.
  • Press the Load button next to the Repair: text in the Mask properties group and load the mask you just created as a Repair mask.
  • Press the Show preview button and check the result:

    DeLogo
  • You can enhance the result using the controls in the Repair parameters group. If the video is interlaced, check the Interlaced checkbox. Also if the video doesn't have pixel aspect ratio 1:1, you can use the Pixel aspect slider to compensate it. For detailed description, see the Controls reference section.
  • Press the Close button to close the filter configuration dialog and OK button to close the filters dialog. Continue processing the video as usual.
  • 2.3 Alpha-blended Logos
    The alpha-blended logo removal feature is the main strength of the DeLogo filter. It is a simple task to alpha-blend a logo to a video but it turns out to be really tricky to remove it if you don't have the original logo and its alpha mask. Using the DeLogo filter it is necessary to find the original logo and its alpha mask first using the analysis procedure.


  • Start VirtualDub and open the video file with a logo:

    DeLogo

    Let's omit the TV logo in the upper left corner and concentrate just on the huge blue bar at the bottom of the image. Most of it is transparent but there are some opaque parts too.
  • Open the Filters dialog and load the DeLogo filter.
  • Press the Show preview button. In the Preview window and find a frame where the logo is best visible.
  • Press the Save frame button (next to the Analyse: text in the Mask properties group) and choose a folder and a name for the bitmap image containing your selected frame. Save it by pressing the Save button.
  • Open the image in your preferred image editor (e.g. Windows Paint) and mark the logo and some area around it by a fine red (255, 0, 0) color. Leave some area around the logo as is and mark the remaining area by full blue (0, 0, 255) color:

    DeLogo

    The red area is the area where the analyser will look for the logo. The logo itself should be a few pixels smaller than the marked area. The blue area will be omitted by the analyser, i.e. the analysis results from the blue area will not be used in any way. The remaining area (original color) will be used as a reference area - the analysis results for pixels in this area will be compared with the analysis results for pixels in the red area to find the alpha and color values. It is therefore a good idea to leave the reference area near the analysed area but not to make it too big.
  • In the DeLogo configuration dialog, press the Load button next to the Analyse: text in the Mask properties group and load the mask as an analysis mask.
  • Both Analysis and DeBlend masks should be enabled now. The Analysis mask contains your mask with reference area changed to black instead of original picture. The DeBlend mask is very similar but the red area edge is somewhat smeared to the reference area:

    DeLogo

    The smearing width can be adjusted by the DeBlend falloff slider. It causes the DeBlend process to extend a little to the reference area to prevent a visible edge between repaired and non-repaired area.


  • Now it' s time to analyse the video. Open the Preview window if it is not already open and press the Sample video button. In the next dialog, choose a sampling mode - I recommend to sample all frames, but for longer videos it might not be really practical.
    Note that if the logo doesn't appear on the whole video, you must specify frames where the logo should be analysed or you don't get usable results. In such case, see Controls Reference section for further details.
  • When the analysis is done, all masks should be created in the filter dialog. For the DeBlend process, the most important are the Alpha and Color masks:

    DeLogo

    In the color mask, you can see what the filter thinks about the original logo color. At logo area, it should match the logo. In other areas you can expect random colors.

    DeLogo

    The Alpha mask should contain the original logo alpha channel. The darker the color the less transparent the logo is. You can see a problem in my example - the opaque parts of the logo have bright edges. It is caused by the fact that the logo was not really still - it moved slightly to the left and right probably due to instability of my TV capture card. This confused the analysis algorithm and it marked these parts as transparent.
  • If the Color and Alpha masks are OK, it is possible to use the Alpha mask to produce the Repair mask using the Alpha to repair and Repair radius sliders. Due to the problem in the Alpha mask, I decided to make the Repair mask manually from the Alpha mask - I saved the Alpha mask using the appropriate Save button, edited the bitmap in Windows Paint and loaded the repair mask using appropriate Load button. The final repair mask looked like this:

    DeLogo

    Note that this is the Repair mask exported from the filter - I didn't put the yellow border in manually, it is done by the filter after loading the mask.
  • The result of combined Repair and DeBlend processing can be seen in the Preview window:

    DeLogo

    You can find higher level of noise at the deblended area and blurred replacements at the repaired areas but the result is still much better than if there is the logo.
  • 2.4 What Next


    This tutorial only shows a simple case of the filter usage. There are many things unused or not explained. Read thoroughly the Mask reference and Controls reference sections to get full information about the filter.
    I recommend you to concentrate on other mask features, namely a green color usage in Analyse and Repair masks. It is particularly useful for a letterboxed video processing or for still images processing when you don't want certain part to expand to the repaired area.
    The analysis process can be done manually on a selected set of frames too. In some circumstances, its result may be better than a complete video analysis. Particularly if you find one completely white and one completely black frame with the logo, analysing just these two frames might be enough to produce high quality Color and Alpha masks.
    3. Controls Reference
    Group
    Control
    Purpose
    Enabled
    Filter Function
    DeBlend
    Switches DeBlend processing on/off
    When DeBlend, Alpha and Color masks are valid
    Repair
    Switches Repair processing on/off
    When Repair mask is valid
    OnFrames checkbox
    When checked, only the specified frames are processed
    When unchecked or disabled, all frames are processed
    When OnFrames edit box contains valid information.
    OnFrames edit box
    Use to specify which frames contain the logo. All other frames will not be processed by the filter.
    Empty field means all frames will be processed.
    "frame1" means processing frame1 only
    "frame1-frame2" means processing frames from frame1 to frame2 including both ends
    "-frame2" means processing all frames from the beginning to frame2 including frame2.
    "frame1-" means processing all frames from frame1 to the end including frame1
    It is possible to specify multiple frames or regions separated by commas.
    Example: "-100,150-320,330,331,333,400-"
    The frame numbers are the frame numbers in the source video stream and deleting parts of video may lead to confusion here.
    Always
    Preview
    Standard
    Switches standard filter output to be displayed in the Preview window
    Always
    Analyse
    Displays Analyse mask in the Preview window
    When Analyse mask is loaded
    DeBlend
    Displays DeBlend mask in the preview window
    When DeBlend mask is valid
    Alpha
    Displays Alpha mask in the Preview window
    When Alpha mask is valid
    Color
    Displays Color mask in the Preview window
    When Color mask is valid
    Repair
    Displays Repair mask in the Preview window
    When Repair mask is valid
    Mask properties
    (name column) Shows the mask filename. "- none -" text is displayed here if no mask is loaded. "- generated -" means that the mask was created by the filter and was not saved yet.
    (size column) Shows the mask size in pixels (width x height). The mask size must be equal to the video image size in order to filter use the mask.
    Save frame
    Saves source of the current frame displayed in the Preview window. You can use this output to create Analysis mask
    When the Preview window is open
    Save as...
    Saves the corresponding mask
    When the corresponding mask is valid
    Load
    Loads the corresponding mask
    Always
    Repair parameters
    Depth Specifies depth of the border area around pixels to be repaired. The bigger depth the more pixels are used (and the slower the Repair phase is). Yellow pixels represent the border area in the Repair mask. Always
    Power Specifies the power of repairing. Lower values give more blurred results. Always
    Interlaced
    Specifies that even and odd lines of the video image should be processed separately. Improves the result on interlaced video. Always
    Pixel aspect
    Specifies the pixel aspect ratio. When calculating the pixel distances, appropriate axis distance is multiplied by the aspect ratio coefficient. Useful when the pixel aspect ratio is not 1:1, e.g. when capturing in 352x576 format. It also affects the border size and shape. Always
    Manual analyser
    Reset stats
    Clears all the analysis arrays in memory. Start/reset the manual analysis using this button.
    Always
    Sample frame
    Adds the current frame statistics to analysis arrays. After analysing at least two frames you may start experimenting with the results.
    When the Preview window is open
    Subtract frame Subtracts the current frame statistics from analysis arrays. It is possible to 'undo' a manually analysed frame using this key or to create some fancy effects by subtracting frames not yet analysed (not recommended). When the Preview window is open
    Automatic analyser
    Sample frames
    Use to specify the frames which have to be analysed. You can use the same string as in the OnFrames edit box or be more specific (i.e. select less frames). The frame numbers are the frame numbers in the source video stream and deleting parts of video may lead to confusion here.
    Always
    Sample video
    Using the standard VirtualDub's sampling interface runs through the video and puts specified frames statistics to the analysis arrays.
    When the Preview window is open and Sample frames box contains valid information
    Mask construction parameters
    DeBlend shift
    If you think the result is too bright or too dark, you can try to move this slider a little to reduce that. Lower values tend to not fully remove the logo while higher values tend to make the result brighter. I didn't ever get better result using this slider.
    When the Analysis mask is loaded and some analysis has been done.
    DeBlend falloff
    Use to adjust blurring of the repaired area to its surroundings. The blur is supposed to make the artifacts less visible.
    When the Analysis mask is loaded
    Alpha to repair
    Use to specify how much alpha is needed to mark a pixel as non-deblendable and put it to the Repair mask.
    When the Analysis mask is loaded and some analysis has been done.
    Repair radius
    Use to inflate the Repair mask a little to mask some not ideally DeBlended pixels
    When the Analysis mask is loaded and some analysis has been done.



    note: "valid" mask means that it has been loaded or created and has the same dimensions (in pixels) as the processed video.
    4. Mask Reference All masks can be saved and loaded as a 24-bit color standard Windows bitmap (.bmp) images. No other format of the bmp file is supported and an attempt to load it will cause an error.
    4.1 Analysis Mask
    While the statistical analysis runs on every pixel in the whole image area, the Analysis mask tells the analyser how to use the statistical results.
    The only significant colors in this mask are fine red (255,0,0) which marks the "area of interest", fine blue (0,0,255) which marks the "unimportant" area and fine green (0,255,0) which marks the "not an image" area. All other colors are transformed to black upon load and these pixels are used as a "reference area" to compare analysis results against pixels in the "area of interest". This mask is copied to the DeBlend mask before blurring.
    The "area of interest" (red) means the area where the analyser should try to find the logo. This area should be somewhat larger than the logo in order to cover all its parts that might not be clearly visible.
    The "unimportant" (blue) area contains pixels which are statistically analysed and used to create the Alpha and Color masks, but they are not used in calculating the coefficients making the Alpha and Color masks. This area is not marked to be repaired by the automatically created DeBlend mask too.
    The "not an image" (green) area is handled the same way as the "unimportant" (blue) area but its shape is also transferred to the Repair mask preventing the Repair algorithm to use marked pixels as border pixels.
    The difference between the blue and green area is:
  • When creating the DeBlend mask, the blur fades to blue pixels even though the falloff value is bigger. Green pixels don't stop the blur which may result in a visible edge in the result:

    DeLogo
  • Green pixels are copied to the Repair mask where they play their own role.
  • 4.2 DeBlend Mask


    In the DeBlend mask, only the red channel is significant and marks the amount how much the DeBlend process result is blended to the original image. The fine blue and fine green areas are left here for your observation purposes. The Repair mask is subtracted from the DeBlend mask to reduce computing, too; the red color covered by the repair mask is changed to cyan.
    4.3 Alpha Mask
    The Alpha mask contains alpha value for every color channel in every pixel (so the mask doesn't have to be grayscale). Even more, due to the algorithm used, the alpha value may be bigger than one so alpha=1 is converted to a color value of 200.
    It is not a good idea to try to draw the Alpha mask manually. Let the analyser do its work - you can try to use the manual analysis on a selected set of frames to achieve better results.
    4.4 Color Mask
    The same as the Alpha mask: just let the analyser to create the Color mask for you.
    Color mask is supposed to contain the color part of the logo. Expect random colors in areas where the alpha is near 1 (i.e. almost transparent logo).
    4.5 Repair Mask
    The Repair mask contains fine red (255,0,0) pixels to be repaired using their surrounding pixels and fine green (0,255,0) pixels that cannot be used as border pixels. All other colors are turned black upon load. The border pixels are marked yellow for your observation purposes but the border is created automatically using the Repair depth and Pixel aspect parameters:
    DeLogo
    When created automatically, the Repair mask cannot exceed the "area of interest" (red) marked in the Analysis mask even if you raise the Repair radius.
    Every continuous marked area is repaired independently on other areas and it has its own border which may occasionally re-use border pixels of other areas. When the Interlaced option is on, each field is processed independently too and corresponding border pixels are taken from the same field only (thus, a continuous red marked area actually makes two continuous areas in interlaced mode).


    The border area shape is slightly affected by the Interlaced option (may expand around 1 pixel up and down) and heavily affected by the Depth parameter (border width in pixels) and the Pixel aspect parameter (the border takes more pixels on the "thinner" axis).
    If you create a repair mask region which has no border pixels (e.g. red area completely surrounded by green pixels), that area is not repaired.
    5. Error Messages When something is going wrong, the filter can show an error message. While most of them are pretty self-explanatory, some may confuse you so I decided to explain them all.
    When saving a bitmap file:
  • Not enough memory to save bitmap - only a small chunk of memory has to be allocated to save a bitmap file. Stop some application and try again.
  • Can't create file - the folder or disk is locked or the filename is wrong.
  • Error writing bitmap file - probably there is not enough space on your disk or you removed media from drive.
  • When loading a bitmap file:
  • Bitmap file not found - you managed somehow to enter a file name that was not found on your computer.
  • Error reading bitmap file - the bitmap file you selected is locked or open by another program.
  • Selected file is corrupted or it is not a bitmap file - the bitmap file is not readable as bitmap file.
  • Only uncompressed 24-bit RGB buttom-up bitmaps are supported - you managed to save the bitmap file in format that the filter is unable to read. Try to open and re-save it in Windows Paint.
  • Not enough memory to load bitmap file - sad one. Your bitmap is too big or your RAM is too small.
  • Mask dimensions (X x Y) don't correspond to video (X x Y) - the mask must have exactly the same dimensions as the video processed. Likely you cropped or resized the mask after you saved it from the video.
  • Mask must contain at least one repair pixel and at least one reference pixel - before you load the analysis mask, make sure there is a red area (repair pixels) and some non-red/green/blue area (reference pixels).


    Also make sure that the area you marked red is marked by the right shade of red, i.e. fine red (255, 0, 0).
  • When saving a batch:
    All the error messages only mean that not all the masks used are saved and the DeLogo function after loading from the batch will be different from the current function.
  • Masks for the Repair and DeBlend functions are not saved; the DeLogo filter will have no function.
  • The Repair mask is not saved; the DeLogo filter Repair function will be suppressed.
  • The Repair mask is not saved; the DeLogo filter will have no function.
  • The DeBlend function masks are not saved; the DeLogo filter DeBlend function will be suppressed.
  • The DeBlend function masks are not saved; the DeLogo filter will have no function.
  • 6. Version History 1.3.2
  • Fixed a bug in frame range specification parser (introduced in version 1.3.1)
  • 1.3.1
  • Fixed a bug that caused the filter to crash on loading DeBlend mask
  • Fixed a bug that caused the filter to crash on changing Alpha to repair value
  • 1.3
  • Fixed a bug in batch mode causing errors when some masks were not saved
  • Added a warning message to batch save procedure reporting unsaved masks
  • Added possibility to subtract ('undo') a frame during manual analysis
  • Fixed some issues in the manual
  • Added a few Q/As to FAQ
  • Added Jean-Francois Pirus to the Credits section
  • 1.2.1
  • A stupid bug strikes again, this time it prevented the batch-mode function. Thanks come to Jean-Francois Pirus for finding this one. Fixed for good.
  • 1.2
  • Fixed a bug in bitmap saver/loader causing "rainbows" on odd widths.
  • Made slider value fields show real value instead of integer representation
  • Added "interlaced" option to repair parameters
  • Added "pixel aspect" option to repair parameters
  • Changed the method how the Repair mask is subtracted from the DeBlend mask
  • Completely rewrote the repair algorithm, enhanced its speed particularly when multiple independent regions are repaired
  • Rewrote the Quick start section and revised the rest of the manual
  • 1.1


  • Fixed stupid bug causing improper function when cropping was used
  • Enhanced bitmap save/load procedures to be more effective
  • Repaired bugs in the manual
  • Added Error messages and Version history sections to the manual
  • 1.0
  • initial release, thoroughly tested and hoped to be fully functional
  • 7. Author and History My name is Karel Suhajda and currently I am 35 years old. Once upon a time I was looking for some VirtualDub filter to remove a logo from video and I was surprised there is not any. Then, I found the LogoAway filter by Chris Wojdon which sure is good but didn't do exactly what I expected. So I sat at my computer, learned a little C and created this one.
    8. Frequently Asked Questions Q: What VirtualDub version do I need to use this filter?
    A: I always recommend to use the newest version of VirtualDub. The first version that runs the filter with no known problems is 1.4.7.
    Q: I have specified frames to analyse in the Sample frames edit box but the filter still analyses the whole video.
    A: That's okay. The filter has no control over what frames VirtualDub will send it to analyse so the analysis runs through all frames. The filter only analyses the specified ones, however. All the other frames are just skipped.
    Q: What's wrong with deleting frames in the video?
    A: Don't delete frames in the video if you intend to specify the frame numbers for processing or if you want to run an analysis of the video stream. At first, the filter doesn't have access to frame numbers as you see them on the VirtualDub's main vindow and it only refers to the original video frames, i.e. frame numbers in the complete video stream. For instance, if you have deleted frames 1000-1099, the frame 1000 as you see it will be frame number 1100 for the filter. Unfortunately, it's not all. VirtualDub 1.4.10 (and possibly older versions too) contains an error in the sampling routine causing it to apply the frame deletion two times, causing completely different frames to be analysed - sometimes even the deleted frames.


    Therefore, deleted frames in the analysed video may lead to unwanted results even without specifying frame numbers!
    Q: The filter displayed an error message. What does it mean?
    A: See the Error messages section
    Q: The filter closes the Preview window whenever I press any Save or Load button.
    A: This behavior is intentional because the save/load dialog box insisted on opening itself behind all the VirtualDub's windows whenever the Preview window was open.
    Q: Do I need to run the analysis process to remove an opaque logo?
    A: You don't have to run the analysis but you can use it to find the actual logo shape. You can use the Alpha mask instead of a saved frame as a base to draw the Repair mask.
    Q: I have loaded a mask to the filter and the filter still does nothing.
    A: Check if the mask size is the same as the video image size. In case of difference, the filter loads the mask but it doesn't use it.
    Q: The repair process is very slow.
    A: Due to the nature of the repair algorithm, it is the slower the bigger the repaired area is and the more pixels are in the border area. This dependence is not linear but rather quadratical (repaired pixels times border pixels). To speed it up you can try to reduce the border depth, reduce Pixel aspect and check the Interlaced box. You can also try to split the repaired area to more regions when the removed logo is not continuous.
    Q: Does DeLogo support batch processing?
    A: Yes, the batch processing is fully supported. There are some problems however - there is no way to store whole masks to the batch file so all masks must be saved somewhere first in order to be loaded at batch run. Also the filenames and paths should be short enough to fit to the 512 characters long configuration line at once.
    Q: Is the filter optimised for my processor?
    A: There are no MMX, SSE, 3DNow! or other processor specific optimisations in the filter. There is no assembly language in the filter because I don't know it. On the other hand, there are as many precalculations done as possible to speed up the process itself.
    Q: I have some other question.
    A: Mail me to kasuha@post.cz. Дата обновления: 19.04.2006 16:31

    Overlay


    Overlay
    Overlay v1.0
    flaXen
    ОверлейOverlay
    OverlayfxOvl.vdf
    Описание Этот фильтр позволяет наложить картинку в формате TGA поверх видео в любом желаемом месте. Удобно использовать для добавления заголовков, логотипов и т.п. Настройки Overlay
    Source TGA: Фильтр использует формат файлов Targa (TGA). Файл должен быть несжатым и иметь цветовую глубину 24 или 32 бита.
    Method: Этот пункт указывает способ, при помощи которого картинка будет накладываться. Есть 6 вариантов:
  • Copy: Просто копировать картинку поверх кадра.
  • Average: Взять среднее значение цветов картинки и изображения и смешать их 50/50.
  • Additive: Взять сумму цветов картинки и изображения.
  • Subtractive: Взять разность цветов картинки и изображения.
  • Mask AND: Логическое И. Используется для маскирования.
  • Mask OR: Логическое ИЛИ. Используется для наложения поверх замаскированной области.

  • Intensity: Значение меняется от 0 до 200 и означает яркость картинки. Значение 100 равно обычной яркости картинки.
    Show for ... seconds: Время показа в секундах, максимальное значение 32000. Если установлено в 0, картинка будет показываться постоянно. Дата обновления: 18.04.2006 15:30



    Оверлей


    Оверлей
    Оверлей
    Описание Фильтры в данном разделе накладывают или убирают текст, логотипы и т.п.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 17.04.2006 23:08



    Масштабирование, обрезка, и т.д.


    Масштабирование, обрезка, и т.д.
    Масштабирование, обрезка, и т.д.
    Описание Фильтры в данном разделе масштабируют, обрезают, изменяют размер и т.д.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 18.04.2006 15:19



    Zoom


    Zoom
    Zoom
    Donald Graft, Avery Lee
    Масштабирование, обрезка, и т.д.Zoom
    ZoomZoom.vdf
    Описание Этот фильтр производит перспективное изменение масштаба изображения. Поддерживатеся как увеличение, так и уменьшение масштаба. Настраивается размер окна на выходе, точка фокуса, начальный и конечный номера кадров. Если изображение на выходе меньше входного, пустые границы заливаются указанным цветом. Фильтр предоставляет две независимо настраиваемых фазы масштабирования, что позволяет, к примеру, сделать сначала увеличение, а потом уменьшение. Поддерживается черестрочное видео и предпросмотр.
    Настройки Zoom
    Focus X и Focus Y: Эти значения определяют положение точки, которая будет центром кадра на выходе. Это позволяет создать эффект масштабирования, центрированный относительно любой точки исходного кадра.
    Start percent и End percent: Значения, указывающие факторы масштабирования в начале и в конце. Значения Phase 1 являются настройками для первой фазы масштабирования, Phase 2 - для второй. Чтобы отключить вторую фазу, введите 0 в поле Start percent. Если Start percent больше End percent, это означает увеличение, наоборот - уменьшение. Если они равны, то зачем тогда вообще этот фильтр? :)
    Start frame и End frame: Начальный и конечный номера кадров, в течение которых будет производиться масштабирование.
    Fill red, Fill green и Fill blue: значения, указывающие цвет заливки. Interlaced: Выберите, если видео - чересстрочное.
    Режим фильтра: В этом списке можно выбрать алгоритм ресэмплинга. Дата обновления: 18.04.2006 15:18
    Источник: RoLerBooK


    Analog Noise


    Analog Noise
    Analog Noise
    flaXen
    Тестовые фильтрыAnalog Noise
    Analog NoisefxNoise.vdf
    Описание Фильтр добавляет псевдоаналоговый шум в изображение. Очень полезен при тестировании, скажем, шумоподавляющих фильтров. Настройки Analog Noise
    Настройки фильтра состоят из трех основных частей:
    Luma Noise: Настройки шума, добавляющегося в яркостную составляющую сигнала.
    Chroma Noise: Настройки шума, добавляющегося в цветовую составляющую сигнала.
    Настройки этих двух разделов
    H-Blur Level: Горизонтальное размытие шума.
    V-Blur Level: Вертикальное размытие шума.
    Effect Intensity: Интенсивность эффекта.
    H-Jitter: Уровень горизонтального дрожания.
    Раздел Degradation effects
    L-High-freq Loss: Потеря верхних частот в яркостной составляющей.
    C-Color Bands: Эффект цветных полос в цветовой составляющей.
    L-Halo: Эффект гало в яркостной составляющей.
    L-Ghosting: Эффект размножения (эхо) в яркостной составляющей.
    Раздел Colorspace Options
    YCC Input: Входное видео в цветовом пространстве YCC.
    YCC Output: Выходное видео в цветовом пространстве YCC.
    Use YIQ instead of YUV: Использовать цветовое пространство YIQ вместо YUV.
    Дата обновления: 18.04.2006 16:01



    Тестовые фильтры


    Тестовые фильтры
    Тестовые фильтры
    Описание Фильтры в данном разделе предназначены для проверочных целей. Чаще всего (но не только) это генерация шума.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 18.04.2006 15:22



    Дополнительный софт


    Дополнительный софт
    Дополнительный софт
    TODO : Сделать краткое предисловие Дата обновления: 18.04.2006 17:59



    End Credits


    End Credits
    End Credits v1.0
    И. Антипов, С. Корбут
    РазноеEnd Credits
    End Creditsendcredits.vdf
    Предисловие Практически каждый человек, который хотя бы раз конвертировал фильм в формат DivX, сталкивался с проблемой, которая называется "Финальные титры". Дело в том, что ползущие снизу вверх финальные титры очень плохо ужимаются и, если не принять никаких мер, могут "съесть" значительный кусок места на диске. Места, которое лучше было бы использовать для улучшения качества изображения или звука. Места, которого, как известно, всегда не хватает - особенно, если речь идёт о создании однодискового фильма.
    И каждый, наверняка, выработал для себя линию поведения в данном случае: кто-то отрезает титры совсем, кто-то обрабатывает титры отдельным куском, занижая их битрейт, кто-то понижает яркость титров, кто-то пользуется программой NanDub, которая позволяет несколько уменьшить объём титров и т.д.
    Но все эти способы не лишены недостатков. Если отрезать титры, то вместе с ними отрежется и музыка, которая иной раз бывает весьма неплохой. Кроме того при таком способе теряется дальнейшая возможность посмотреть, кто играет ту или иную роль. Так что этот способ простейший - но не очень красивый.
    Если понизить яркость титров, то ухудшается их читабельность. Кроме того, этот способ не очень эффективен - при уменьшении яркости вдвое, место, занимаемое финальными титрами, уменьшается всего на 30-35%.
    Если понизить битрейт титров, то во-первых, это ухудшит их вид, вследствие чего ухудшится читабельность, а во-вторых, что ещё хуже, может начаться выпадение кадров, так как кодек, при невозможности сохранить установленный битрейт, начинает выбрасывать кадры, что приводит к неприятным спотыканиям изображения. Кроме того, этот способ также не обеспечивает сильного уменьшения "массы" титров.
    Программа NanDub также не способна значительно уменьшить место, занимаемое финальными титрами - уменьшение, как правило, составляет менее 40%.
    Проанализировав сложившуюся ситуацию, мы придумали способ, который позволил бы сократить объём титров не на сколько-то процентов, а в разы и даже в десятки раз.
    При этом читабельность титров абсолютно не страдала. Этот способ - остановка титров и вывод их на экран страницами, подобно тому, как это делалось в старых советских фильмах. Чтобы реализовать этот способ на практике, нами был написан фильтр для программы VirtualDub - фильтр End Credits.

    Уменьшение занимаемого на диске места связано в данном случае с тем, что многие кадры становятся абсолютно одинаковыми, что приводит к уменьшению размера дельта-кадров почти до нуля. Поэтому этот фильтр нужно применять только при сжатии фильма кодеком, делающим дельта-кадры. Если кодек сжимает изображение без использования дельта-кадров (как, например, это делает кодек Huffyuv), то применение этого фильтра теряет всякий смысл.

    Этот фильтр был использован при обработке нескольких фильмов - результат всегда был отличным - место, занимаемое финальными титрами, сводилось к минимуму, а читабельность титров даже возрастала, потому что читать неподвижный текст всегда проще, чем едущий по экрану.

    Предупреждение В работе модуля конфигурации фильтра использованы недокументированные возможности программы VirtualDub 1.4d. Это было сделано по той причине, что VirtualDub не позволяет получить из окна препросмотра никакую информацию о текущем номере кадра и пришлось получать эту информацию обходными путями. Поэтому мы не гарантируем нормальную работу фильтра в других версиях VirtualDub'а. Этот фильтр был проверен с VirtualDub-ом версий 1.4d и 1.4.5. А так как NanDub был сделан на основе версии 1.4d, то, скорее всего, этот фильтр будет без проблем работать и в нём.

    Использование фильтра Фильтр включается в цепь обработки изображения абсолютно стандартно - также, как и все остальные фильтры: Video->Filters->Add->End credits. Сразу после нажатия на кнопку "OK" откроется конфигурационное окно фильтра вместе с окном препросмотра. Здесь и далее будут показаны скриншоты с сильно обрезанным со всех сторон кадром в окне препросмотра - для уменьшения габаритов скриншотов.

    End Credits
    В окне конфигурации имеются следующие элементы:



  • Список кадров, на которых изображение будет останавливаться/стартовать.

  • Кнопка "Add Stop Frame", позволяющая добавить в список кадров номер текущего кадра - того, который в данный момент находится в окне препросмотра. При этом сразу после номера кадра в списке будет поставлен восклицательный знак, означающий, что на этом кадре изображение остановится.

  • Кнопка "Add Start Frame", делающая то-же самое, что и кнопка "Add Stop Frame" с той лишь разницей, что в списке сразу после номера кадра будет поставлен знак ">", означающий, что если до этого кадра изображение было остановлено, то начиная с этого кадра продолжится воспроизведение.

  • Кнопка "Remove Frame", позволяющая удалить из списка номер кадра, на котором установлен курсор.

  • Кнопка "Remove All", позволяющая очистить весь список кадров.
    ВНИМАНИЕ! Кнопки удаления работают сразу - без запроса на разрешение удаления.

  • Кнопки "-100", "-10", "+10" и "+100" предназначены для облегчения навигации по фильму в окне препросмотра, так как в нём для навигации можно пользоваться только полосой прокрутки (что слишком грубо) или только пошаговыми клавишами (что слишком медленно).

  • Кнопка "Hide preview/Show preview", предназначенная для того, чтобы можно было, не выходя из конфигурации, открыть окно препросмотра, если Вы случайно его закрыли.

  • Кнопка "Cancel", закрывающая окно конфигурации и отменяющая все только что сделанные конфигурационные изменения.

  • Кнопка "OK", закрывающая окно конфигурации и сохраняющая все изменения в памяти.

  • Почти все действия, которые можно сделать в окне конфигурации, напрямую связаны с окном препросмотра. Поэтому, если окно препросмотра закрыто, то можно только удалять строчки из списка кадров.

    Если в списке кадров выделить какой-нибудь номер кадра, то кадр с этим номером сразу же появится в окне препросмотра. При этом, если есть необходимость сменить флаг старт/стоп у этого кадра, то достаточно нажать на кнопку "Add Start Frame" или "Add Stop Frame" - без предварительного удаления номера кадра из списка.



    В фильтре реализована возможность сохранения списка кадров - весь список сохранится при сохранении рабочих установок (File->Save Processing Settings) в VCF-файле. Соответственно, при выполнении загрузки рабочих установок (File->Load Processing Setting), список кадров будет загружен из VCF-файла.

    Пример использования фильтра В качестве примера приведём небольшое описание обработки финальных титров фильма "The Fifth Element" ("Пятый элемент").

    Сначала делаем всё как всегда - открываем фильм в VirtualDub'е, устанавливаем все параметры обработки в нужные нам значения, включаем фильтр Resize, делаем кроппинг и изменение размера и т.д. Когда всё это сделано добавляем в список фильтров фильтр "End credits".

    Теперь необходимо потратить некоторое время на создание списка стоп/старт кадров. Для начала, пользуясь движком прокрутки найдём начало финальных титров:

    End Credits
    Затем, пользуясь клавишами навигации в окнах конфигурации и препросмотра, подгоняем изображение так, чтобы страница была полностью заполнена текстом и стараемся сделать так, чтобы ни сверху ни снизу не было подрезанных строк. После чего нажимаем на кнопку "Add Stop Frame". При этом номер текущего кадра появляется в списке кадров и рядом с ним появляется знак "!" - это означает, что воспроизведение фильма остановится на этом кадре:

    End Credits
    Далее, пользуясь клавишами навигации, двигаем эту страницу так, чтобы она полностью скрылась сверху, а её место заняла новая. Также стараемся сделать так, чтобы ни сверху ни снизу не было подрезанных строк. Опять нажимаем на кнопку "Add Stop Frame":

    End Credits
    Продолжаем делать так до конца финальных титров.

    Зачастую в самом конце финальных титров появляется логотип кинокомпании, который стоит некоторое время неподвижно, а потом медленно гаснет. Угасание логотипа, в принципе, можно и оставить - нужно найти кадр, где оно начинается и нажать на кнопку "Add Start Frame":

    End Credits
    Затем нажимаем кнопку "OK", закрывая тем самым окно конфигурации, сохраняем все настройки в VCF-файле и стартуем обработку фильма.



    Ниже приведён сильно сокращённый результат работы фильтра - в левом окне показано исходное изображение, в правом - получившееся в результате работы фильтра. Это анимированный GIF-рисунок, поэтому, если в Вашем браузере выключена анимация - включите её. Рисунок имеет размер 89 килобайт, поэтому подождите, пока он загрузится.

    End Credits Заключение В заключение хотелось бы привести несколько цифр. При обработке финальных титров отдельно от остального фильма, без применения фильтра и с ним получились файлы следующих размеров (размер кадра 704x2, ключевой кадр - раз в 3 секунды):

    Без фильтра С фильтром Уменьшение размера
    кодек LM6000 - 110 Mb 4.9 Mb в 22.4 раза
    кодек FM6000 - 50.2 Mb 3.0 Mb в.7 раза
    кодек LM1800 - 44.2 Mb 4.8 Mb в 9.2 раза
    кодек FM1800 - 41.8 Mb 3.0 Mb в 13.9 раза
    Дата обновления: 19.04.2006 16:41

    Разное


    Разное
    Разное
    Описание Сюда попали фильтры, не вошедшие в остальные разделы.
    Выберите в дереве слева интересующий фильтр. Дата обновления: 19.04.2006 16:06



    

        Сайт: Аннимация - Видео - Графика