Вторник, 19.03.2024
Справочники по программированию.
Меню сайта
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Рейтинг@Mail.ru

FAQ по оцифровке видео с минимальными затратами

 

 

Предисловие

Общие вопросы:

  1. Зачем нужно видео на компьютере?
  2. На каком принципе основана реализация видео на компьютере?
  3. Как бороться с огромными размерами?
  4. Какие основные виды сжатия существуют?
  5. К каким проблемам приводит сжатие видео?
  6. Как работают и на каких принципах основаны аналоговые видеостандарты?

Вопросы по захвату:

  1. Что такое видеозахват?
  2. Какие минимальные требования к системе для видеозахвата?
  3. В какой формат файла производится видеозахват?
  4. Как бороться с 2 Гбайтным лимитом AVI?
  5. Что такое dropped frames (отброшенные кадры)?
  6. К каким проблемам приводит уменьшение частоты кадров?
  7. Какие виды сжатия, и для каких целей, надо применять при оцифровке?
  8. Что такое color format (метод кодирования цвета), luminance (яркость), chrominance (цветность)?
  9. Какие виды кодирования цвета существуют?
  10. Почему возникает десинхронизация звука и видео?
  11. Какие методы борьбы с десинхронизацией звука существуют?
  12. Что такое interlaced video (чересстрочное видео), field (полукадр), field order (порядок полукадров), scan line effect (эффект «расчески»)?
  13. Какие способы борьбы с эффектом «расчески» существуют?
  14. Как влияет эффект «расчески» на сжатие видео?
  15. В чем различие между захватом телеэфира (антенна), композитного сигнала (VHS) и сигнала S-Video (SVHS, большинство аналоговых и цифровых видеокамер)?
  16. Есть ли «готовые» настройки для оцифровки видео, поступающего с различных источников?
  17. Какой софт лучше всего использовать для оцифровки видео?

Вопросы по обработке захваченного видео:

  1. Какие стадии присутствуют в компьютерной обработке видео?
  2. Что такое нелинейный видеомонтаж?
  3. Что такое «фильтры» видео, и когда нужно их применять?
  4. Чем отличаются форматы MPEG, AVI и ASF?
  5. Когда следует сжимать видео в MPEG?
  6. Когда следует сжимать видео в ASF?
  7. Какие кодеки нельзя использовать в «выходном продукте»?
  8. Какой кодек (или формат файла) на сегодняшний день дает наилучшее качество видео при минимальном потоке?
  9. Каким кодеком следует сжимать звуковую дорожку AVI-файла (проблемы с использованием кодека MP3 и одно из возможных решений)?
  10. Как наиболее дешевым способом вывести обработанное видео обратно на телевизор/видеомагнитофон?
  11. Каким следует делать разрешение выходного видео?
  12. Как следует обрабатывать чересстрочное видео?

Предисловие

Все написанное в этом FAQ нацелено на использование в малобюджетной видеообработке. Многие советы могут быть абсолютно неприменимы для случаев полупрофессиональной и профессиональной видеообработки. Поэтому автор заранее просит не посылать ему обличительные письма о том, что надо давно было купить miroVIDEO DC1000 и не заниматься ерундой. Увы, столь дорогая техника пока недоступна большинству пользователей ПК в России, а использовать современные компьютерные методы для улучшения домашнего видеоархива хочется каждому. Именно для этих целей автор приобрел себе дешевый TV Tuner и остался полностью доволен полученным результатом (в особенности соотношениями цена/качество и цена/возможности). В процессе изучения основ цифрового видео автору пришлось столкнуться с проблемой нехватки документации по вопросу малобюджетной видеообработки, и он решил собрать с трудом добытые из разных источников данные и полученный опыт в один документ. Автор искренне надеется, что этот FAQ окажется полезным для начинающих и спасет их от многих ошибок.

Общие вопросы

Зачем нужно видео на компьютере?

Действительно, а что нам дает хранение видеоинформации на компьютере, а не на обычной видеокассете? В основном, цифровое хранение и обработка видео привлекают по двум причинам: во-первых, цифровое видео не «заезжается» от многократных просмотров; во-вторых, элементарно получить копию видеоматериала, абсолютно идентичную оригиналу. Уже этих двух причин достаточно для того, чтобы сохранять свое домашнее видео в цифровом виде.

На каком принципе основана реализация видео на компьютере?

На том же, что и все остальное видео и кино. Кадры последовательно сменяют друг друга 25 раз в секунду (для Pal/Secam), что наш мозг воспринимает как непрерывное движение. Из такого принципа делаем вывод: длинные видеопоследовательности имеют огромные размеры. Так, пусть мы сохраняем видео с размером кадра 352×288, 24 бит на пиксель. Для сохранения хотя бы минуты видео потребуется примерно 435 Мбайт. В этом и есть основная проблема цифрового видео — неимоверная прожорливость по части размера файла.

Как бороться с огромными размерами?

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

Достаточно часто вводят термин «битрейт». Средний битрейт — это размер видеопоследовательности в битах, отнесенный к его длительности в секундах. Единицей измерения битрейта служит 1 бит/с — 1 бит в секунду (1bps — 1 bit(s)-per-second). Поскольку 1 бит/с — величина очень маленькая в приложении к цифровому видео, также вводятся Килобит/с (Кбит/с) и Мегабит/с (Мбит/с). Для видео из предыдущего вопроса битрейт составляет 58 Мбит/с. Битрейт сжатого видео на VideoCD, имеющего такой же размер кадра и частоту кадров, равен 1,1 Мбит/с.

Какие основные виды сжатия существуют?

Сжатия разделяют на два типа: без потери качества (часто кратко называются «без потерь») и с потерей качества («с потерями»). Разница между этими типами понятна из их названия. Большинство методов сжатия без потери качества не учитывают визуальную похожесть соседних кадров видеопотока. Методы сжатия с потерей качества, наоборот, в большинстве случаев используют эту похожесть. Из-за этого максимальная степень сжатия среднестатистического видеофрагмента, достигаемая алгоритмами без потерь, не превышает 3 к 1, в то время как алгоритмы, работающие с потерей качества, могут сжимать вплоть до 100 к 1.

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

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

При сжатии без потери качества чаще всего используются алгоритмы, аналогичные применяемым в файловых архиваторах (ZIP, RAR, LZH). Наиболее сильно сжимают алгоритмы, использующие дискретное преобразование Фурье с сохранением такого количества коэффициентов, которого достаточно для полного восстановления исходной информации.

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

К каким проблемам приводит сжатие видео?

Оно приводит к т. н. артефактам. Артефакты — это видимые нарушения качества видеопоследовательности, возникающие в процессе сжатия с потерями. Наиболее часто встречающийся артефакт сжатия — разбиение картинки на квадратные блоки. У «рекурсивных» алгоритмов сжатия также часто наблюдаются «мусор» рядом с контрастными границами и движущимися объектами, а также «волнующиеся» и «расплывшиеся» цвета. Количество и интенсивность артефактов зависит от алгоритма сжатия, отношения выходного битрейта к исходному и характера сжимаемого изображения.

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

Как работают и на каких принципах основаны аналоговые видеостандарты?

Этот вопрос требует фундаментальных знаний в области физики и радиотехники, и поэтому полное и развернутое объяснение в рамки этого FAQ не входит. В значительном упрощении схема работы аналогового кодирования видеосигнала такова: сигнал передается в виде синхронизационной и информационной компонент с применением частичного квантования. Сам сигнал является аналоговым, но его разделяют (квантуют) на линии и кадры. В стандарте PAL (и близком к нему SECAM) предполагается наличие 25 кадров в секунду, каждый из которых содержит 576 строк. Стандарт NTSC предполагает наличие 30 кадров в секунду, каждый из которых содержит 480 строк. Информацию о начале/окончании строк и кадров несет в себе компонента синхронизации. Информационная компонента несет яркостную составляющую (Y), использующуюся в черно-белом телевещании, и две цветовых компоненты (U/V). Во всех системах используется амплитудная модуляция яркостных и цветовых компонент, причем у PAL/SECAM частоты несущих цветовых компонент ниже в два раза, чем у яркостной, а у NTSC — в четыре раза.

Вопросы по захвату

Что такое видеозахват?

Видеозахватом называют процесс преобразования аналогового видео в цифровой вид с последующим его сохранением на цифровом носителе информации. Самый типичный пример видеозахвата — оцифровка телеэфира или VHS кассеты на специально оборудованном ПК.

Какие минимальные требования к системе для видеозахвата?

Во-первых, необходимо устройство видеозахвата, способное поставлять с достаточной скоростью кадры видеопоследовательности в одном из стандартных форматах кодировки цветности. Именно таким устройством является TV Tuner или видеокарта, снабженная видеовходом. Также существуют более дорогие и «продвинутые» устройства, способные сразу сжимать захватываемое видео, однако рассмотрение их выходит за рамки этого FAQ.

Во-вторых, потребуется достаточно быстрый жесткий диск большого объема, способный успевать записывать видео с большим битрейтом. Так, для захвата видео, которое впоследствии предполагается записать на VideoCD (352×288 YUV12), жесткий диск должен быть способен записывать 4 Мбайта/с (не Мбита!). А для захвата видео с наилучшим качеством аналогового телевещания (например, с отдельного DVD проигрывателя по интерфейсу S-Video, или просто с телевизионного эфира) потребуется диск, со скоростью записи более 19 Мбайт/сек.

В-третьих, потребуется действительно быстрый ЦПУ. Особенно если для уменьшения битрейта сжатие видео будет производиться непосредственно во время захвата. Минимально необходимым ЦПУ принято считать Pentium-II 300, тем не менее, «комфортной» работы с захваченным видео сложно добиться на любом процессоре с частотой меньше 550 МГц. Если же для сжатия использовать MPEG4 алгоритмы, то наилучшим выбором станет Athlon 800-900 (и выше) или Pentium 4, показывающие прекрасную производительность в задачах такого рода.

В-четвертых, потребуется как минимум 128 Мбайт ОЗУ, иначе любые нестабильности в скорости сжатия будут весьма пагубно влиять на качество захваченного фрагмента.

В какой формат файла производится видеозахват?

Формат файла зависит от используемого софта. На сегодняшний день наиболее распространены три формата: AVI, MPEG и ASF.

Наиболее часто при захвате используется AVI (Audio-Video Interleaved — формат с перемежающимися блоками аудио- и видеоинформации). Он был разработан Microsoft для хранения и воспроизведения видео в рамках API Video for Windows. По своему устройству этот формат относится к «чанковым»: как и в WAV или MIDI, вся информация упаковывается в заголовки, называемые chunks — чанки. Это позволяет записывать в AVI файл как несжатый, так и подвергнутый любому виду сжатия видеопоток. Основными недостатками AVI являются его неприспособленность к стримингу (streaming) — широковещательной передачи видео в сетях — и ограничение в 2 Гбайта на размер файла. И если неприспособленность к стримингу не оказывает заметного влияния на видеозахват, то ограничение размера может стать серьезным препятствием при захвате без сжатия видео «на лету» или при захвате длительных видеофрагментов.

Формат MPEG (название образовано от Motion Picture Experts Group — группы специалистов по сжатию видеопоследовательностей), в отличие от AVI, подразумевает использование одного из двух стандартных алгоритмов сжатия: MPEG1 и MPEG2. MPEG1 используется для сжатия видео с небольшим размером кадра (менее 288 по вертикали) и битрейтом порядка 1-2 Мбит/с, а MPEG2 — для видео с большим размером кадра (более 288 по вертикали) и битрейтом порядка 5-10 Мбит/с. В качестве основного применения MPEG1 можно назвать формат VideoCD. MPEG2 применяется в цифровом телевещании и на DVD. Ввиду огромных требований к ЦПУ при сжатии в MPEG (особенно в MPEG2), видеозахват непосредственно в этот формат практически не производится.

Формат ASF (Advanced Streaming Format — улучшенный формат для стриминга) был разработан Microsoft, как улучшенная версия AVI, предназначенная для стриминга в сетях c малой пропускной способностью (wide-area networks with small bandwidth). Основное применение этого формата (на сегодняшний момент) — интернет-телевидение и телеконференции. Захват видео в этот формат производится утилитой Windows Media Encoder, доступной для скачивания на сайте Microsoft. Эта утилита также позволяет рекомпрессировать AVI в ASF и производить стриминг захватываемого видео в реальном времени.

Как бороться с 2 Гбайтным лимитом AVI?

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

Что такое dropped frames (отброшенные кадры)?

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

Основными причинами возникновения «отброшенных» кадров являются: нехватка производительности ЦПУ для сжатия «на лету», нехватка производительности дисковой подсистемы для записи видео с таким битрейтом и плохое качество аналоговых сигналов источника видео. Определить, какая из перечисленных проблем вызвала возникновение «отброшенных» кадров можно таким образом:

  1. Большинство программ видеозахвата выводят индикатор занятости ЦПУ (если не выводят, то придется запустить системный монитор). Если в процессе захвата ЦПУ постоянно занят на 100%, то переходим ко второму пункту. Иначе заключаем, что «отброшенные» кадры появились из-за плохого качества аналогового сигнала источника видео.
  2. В некоторых программах захвата есть возможность «тестового» захвата — в таком режиме производится обычный захват и сжатие видео «на лету» выбранным кодеком, однако результат не записывается на диск. Если в этом режиме работы ЦПУ постоянно занят на 100%, то «отброшенные» кадры возникают из-за нехватки производительности ЦПУ для сжатия «на лету». В противном случае не хватает скорости дисковой подсистемы. В качестве эмуляции тестового режима можно использовать виртуальный диск в памяти, созданный драйвером RAMDRIVE.SYS. Если возможности использовать RAMDRIVE нет, придется измерить скорость работы жесткого диска (например, с помощью ZiffDavis WinBench 99), и примерно оценить битрейт захватываемого потока с учетом сжатия «на лету». Если скорости диска хватает для поддержания такого битрейта, то виновата нехватка производительности ЦПУ.

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

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

К каким проблемам приводит уменьшение частоты кадров?

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

Во-вторых, может возникнуть эффект «дрожания». Как известно, кадр в буфере оцифровщика всегда обновляется с частотой 25 кадров в секунду (30 для NTSC). Уменьшением частоты кадров захваченного видео занимается драйвер устройства. Принцип его достаточно простой: с идентичной заданной нами частотой, устройство видеозахвата генерирует сигналы (аппаратные прерывания), по которым драйвер копирует кадр из буфера оцифровщика и передает его захватывающему софту. Если мы задали не кратную 25 кадрам в секунду частоту, то неизбежно возникнет аналог стробоскопического эффект в физике по оси времени захваченного видео. Проще говоря, захваченное видео будет выглядеть постоянно немного ускоряющимся и замедляющимся. Наиболее заметен этот эффект будет при оцифровке с частотой кадров около 18. Поэтому уменьшать частоту кадров при видеозахвате рекомендуется только в целое число раз. В пересчете на цифры получим соответственно 12,5 кадров в секунду для уменьшения частоты в два раза, и 8,3 для уменьшения в три раза. Уменьшать частоту в большее число раз не имеет смысла ввиду того, что это уже будет «слайд шоу», а не видео.

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

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

Какие виды сжатия и для каких целей надо применять при оцифровке?

При видеозахвате всегда следует учитывать, будут ли производиться последующая обработка захваченного материала фильтрами и нелинейный видеомонтаж. Если будут, то при захвате рекомендуется либо вообще не использовать сжатие «на лету», либо использовать не очень сильное сжатие, основанное на «раздельном» алгоритме. Наиболее популярным видом такого сжатия является Motion JPEG (MJPEG). При сжатии этим методом каждый кадр компрессируется известным алгоритмом JPEG, позволяющим достигнуть степеней сжатия 7:1 без заметных искажений картинки. Такие рекомендации вызваны тем, что сильное сжатие и «рекурсивные» алгоритмы вносят в видеофрагмент очень большое количество «скрытых» артефактов, которые сразу станут заметными при проведении фильтрации или рекомпрессии, производимой после нелинейного видеомонтажа.

Если захватываемый видеофрагмент не предполагается обрабатывать фильтрами или производить нелинейный видеомонтаж, то допускается сильное сжатие «на лету» «рекурсивными» алгоритмами. Тем не менее, все равно лучше сначала производить захват в MJPEG, поскольку это даст возможность более гибко подобрать параметры финального сжатия и получить более качественный выходной продукт.

Что такое color format (метод кодирования цвета), luminance (яркость), chrominance (цветность)?

Color format (метод кодирования цвета) — это стандарт представления цветовой информации об одном пикселе изображения в цифровом виде. Наиболее известными стандартами являются: палитровый метод (указывается индекс цвета в массиве стандартной палитры), RGB представление (указывается интенсивность аддитивных компонент цвета), CMYK (указывается интенсивность субтрактивных компонент цвета), HUE (указываются более понятные человеку тон, насыщенность и чистота цвета).

Достаточно часто также используют метод, при котором информация о пикселе делится на две чести — яркость (luminance, Y) и цветность (chrominance, U/V). Во-первых, такой метод кодирования цвета позволяет получить черно-белую картинку простым отбрасыванием цветности. Во-вторых, известно, что человеческий глаз воспринимает изменения цвета хуже, чем изменения яркости. Поэтому цветность можно сохранять с худшим разрешением, чем яркость, сохраняя видимое качество картинки неизменным. Такой прием используется в аналоговом телевещании и композитном видеосигнале, а также в большинстве методов сжатия (например, MJPEG, MPEG, Intel Indeo). В зарубежной литературе этот прием получил название Chroma Subsampling.

Следует иметь в виду, что цветность достаточно часто называют цветоразностью. В принципе, это немного неправильно, так как цветоразностями называют компоненты цветности (всего их две - U и V). Такое название они получили из-за того, что если они равны нолю, то пиксель будет бесцветным — серым.

Какие виды кодирования цвета существуют?

Проще всего оформить ответ в виде таблицы:

Название Бит на пиксель Описание
RGB32 32 Для каждого пикселя сохраняются значения красной, зеленой и синей компоненты, а также канал прозрачности. На каждый сохраняемый параметр отводится по одному байту. Ввиду отсутствия в захватываемом аналоговом видеосигнале канала прозрачности использование этого вида кодирования цвета при захвате не имеет смысла. Аналогичное качество даст RGB24.
RGB24 24 Стандартный компьютерный формат TrueColor — для каждого пикселя сохраняются значения всех трех аддитивных компонент цвета. На каждую компоненту отводится по одному байту. Рекомендуется использовать для сохранения отдельных кадров видеопоследовательностей, а также для захвата видео с разрешением по горизонтали менее 512.
RGB16/ RGB15 16/15 Стандартный компьютерный формат HiColor — для каждого пиксела значения всех трех аддитивных компонент цвета. На каждую компоненту отводится по 5 бит (в RGB16 на зеленую компоненту отводится 6 бит).
YUY2
UYVY
YUYV
CYUV
YUV422
16 Первый из форматов, использующий Chroma Subsampling. В нем для каждых двух пикселей по горизонтали сохраняются разные значения яркости (Y) и только одно общее значение компонент цветности (U/V). На все три компоненты отводится по одному байту. Итого, на два соседних пикселя приходится два байта яркости и два байта компонент цветности, что дает 16 бит на один пиксель. Благодаря особенностям человеческого глаза, изображение, закодированное таким способом, практически неотличимо от RGB24. Этот формат рекомендуется применять при оцифровке полноформатного телеэфира стандарта PAL/SECAM (768х576), поскольку в нем частоты несущих цветоразностей в два раза меньше частоты несущей яркости. RGB24 для этого случая будет сохранять «излишнюю» информацию о цвете, зря расходуя битрейт. Также YUY2 является входным форматом для большинства кодеков MJPEG, MPEG2, и устаревшего кодека CinePak.
YUY2 также часто обозначают такой последовательностью цифр: 4:2:2. Это означает, что для каждых четырех подряд идущих пикселей сохраняются четыре значения яркости (Y), и по два значения для каждой компоненты цветности (U/V).
YUV12
I420
IYUV
YUV420
12 В этом формате значения Y сохраняются для всех пикселей, а U/V объединяются у пикселей, образующих квадраты 2х2. Итого, на четыре пикселя сохраняются четыре байта яркости и два байта цветности, что дает 12 бит на пиксель. Этот формат является входным для сжатия MPEG1. Оцифровку в него можно производить с разрешением по вертикали, меньшим 288, так как из-за объединения пикселей из соседних линий чересстрочное видео подвергнется серьезным искажениям.
Цифровое обозначение формата имеет вид 4:2:0. Расшифровки, подобной приведенной для YUY2, у этого обозначения не существует.
BTYUV
Y41P
YUV411
12 Для четырех подряд идущих пикселей по горизонтали сохраняются четыре значения Y и общие значения U/V. Благодаря объединению пикселей только одной строки этот формат можно применять при оцифровке чересстрочного видео. Этот формат рекомендуется применять при оцифровке полноформатного телеэфира стандарта NTSC (640×480), поскольку в нем частоты несущих цветоразностей в четыре раза меньше частоты несущей яркости. Точно также, его имеет смысл применять при оцифровке видео с композитных (VHS видеомагнитофоны, игровые приставки) и S-VIDEO (SVHS камеры, SVHS видеомагнитофоны) источников, так как у них частоты несущих цветоразностей примерно в пять раз меньше частоты несущей яркости.
Цифровое обозначение формата имеет вид 4:1:1.
YUV9
YVU9
9 Это формат является наихудшим с точки зрения качества. В нем значения U/V сохраняются для квадрата пикселей 4×4. Яркость сохраняется для каждого пикселя в квадрате. Оцифровывать в этот формат можно видео с размером кадра по вертикали не более 288 — иначе возникнут сильные искажения чересстрочного видео. В качестве входного этот формат используют кодеки серии Intel Indeo.
Y8
YUV400
Grayscale
B&W
8 Этот формат не является методом кодирования цвета — в нем сохраняется только яркостная информация о пикселе. Имеет смысл использовать при оцифровке черно-белых видеоматериалов, так как U и V не будут содержать шумов, вызывающих «цветной снег» на черно-белом изображении.

Почему возникает десинхронизация звука и видео?

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

Какие методы борьбы с десинхронизацией звука существуют?

Следует разделить эти методы на применяемые во время захвата и после него.

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

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

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

  • Изменить частоту кадров видеопотока так, чтобы его длительность совпала с длительностью аудиопотока. Этот метод прекрасно подходит для случаев, когда оцифрованное видео планируется просматривать только на компьютере. При нем сохраняется плавность движений, и используются все кадры аналогового источника. Но использовать такие файлы для вывода информации на аналоговый видеовыход или для компрессии в стандарты MPEG будет невозможно из-за несоответствия частоты кадров видеопотока стандартным (25 для PAL/SECAM и 30 для NTSC).
  • Изменить в звуковом редакторе длительность аудиопотока так, чтобы она совпала с длительностью видеопотока. Для этого потребуется записать звуковой поток в отдельный файл, в звуковом редакторе растянуть/сжать его до длительности видеопотока, и снова слить потоки в один файл.

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

Что такое interlaced video (чересстрочное видео), field (полукадр), field order (порядок полукадров), scan line effect (эффект «расчески»)?

В аналоговом видео принято разделять полный кадр на два полукадра (fields), равных ему по ширине и вдвое меньших по высоте. В одном полукадре содержатся нечетные линии кадра (Field A, odd field), в другом — нечетные (Field B, even field). Такое разделение очень удобно для отображения видео на электронно-лучевых трубках телевизоров, использующих чересстрочную (interlaced) развертку. При чересстрочной развертке на экране сначала прочерчиваются все четные линии, а затем — все нечетные. Такой метод позволяет добиться отсутствия видимого мерцания картинки, несмотря на сравнительно медленную скорость ее изменения.

Тот факт, что отображение на экране четных и нечетных полукадров разнесено во времени, позволил повысить видимую частоту кадров - при съемке видеокамера производит захват кадров не 25 раз в секунду, а 50. Из каждого захваченного кадра попеременно отбрасываются четные либо нечетные строки, и полученный полукадр модулируется в аналоговый сигнал. Получается, что четные и нечетные полукадры такого сигнала относятся к разным моментам времени, и при выводе на ЭЛТ с чересстрочной разверткой это позволяет достигнуть большей плавности движений.

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

Негативными последствиями чересстрочного видео является проблема его вывода на экран с прогрессивной разверткой, при которой отображается весь кадр целиком. Из двух полукадров приходится предварительно собирать один полный кадр, и лишь после этого производить отображение. Но, так как четные и нечетные полукадры такого кадра относятся к разным моментам времени, на границах движущихся предметов неизбежно возникнут не состыковки четных и нечетных линий, видимые в виде «зазубренностей». Этот эффект получил название эффекта «расчески» (scan line effect), ввиду того, что границы предметов при их движении становятся похожи на расческу.

Следует помнить, что все рассматриваемые в этом FAQ источники видео являются чересстрочными (телеэфир, композитный видеосигнал, S-Video сигнал).

Какие способы борьбы с эффектом «расчески» существуют?

Универсального метода борьбы с этим эффектом не существует. Самым простым способом является захват с разрешением по вертикали не превышающим 288 строк для PAL/SECAM или 240 строк для NTSC. При таком захвате будет использоваться информация только из одного полукадра (четного или нечетного, в зависимости от устройства видеозахвата), что исключит возможность возникновения эффекта расчески. Очевидным недостатком этого метода является потеря половины информации о видеосигнале.

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

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

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

Как влияет эффект «расчески» на сжатие видео?

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

Поиск
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2024
    Бесплатный хостинг uCoz
    Рейтинг@Mail.ru