Цифровой нелинейный монтаж на РС в домашнем и корпоративном видео
Содержание материала
Следующий основной фактор, это практическое воплощение разработок в области сжатия изображения вообще и движущегося в частности. Массовый выпуск сравнительно дешевых чипов для аппаратной реализации компрессии/декомпрессии и появление дешевых ЦАП и АЦП, по-зволил создавать сравнительно доступные (правда к сожалению не по нашим меркам :-( ) платы позволяющие создавать на базе обычного РС достаточно мощную видео-монтажную станцию, по своим возможностям не уступающую небольшой классической ТВ студии. Не смотря на множество реализаций аппаратных кодеков для видео, в основном используется два вида очень схожих между собой метода компрессии. Это метод M-JPEC, основанный на графическом формате JPEG, и MPEG (в разных вариациях). Оба метода основаны на дискретно-косинусном преобразовании (DCT) изображения разбитого на блоки. Не вдаваясь в подробности можно отметить, что разница этих методов заключается в исключении избыточной информации из исходного видеоизображения. Если M-JPEG использует только внутрикадровую избыточность (так называемую пространственную), то формат MPEG дополнительно использует и межкадровую избыточность (временную).
Очень коротко это можно описать так. Видеосигнал оцифровывается аналого-цифровым преобразователем и помещается в кадровый буфер. Оцифрованный кадр разбивается на небольшие блоки (обычно 8Х8 пиксель). После этого производится обработка полученных блоков по алгоритму дискретно-косинусного преобразования (DCT). В результате этой обработки происходит усреднение одинако-вых участков изображения, и как следствие этого размер кадра уменьшается (исходный размер одного кадра для ТВ сигнала системы PAL составляет чуть более 1Мб в формате TGA). Однако за счет разбиения на блоки, исходное изображение теряет четкость.
На практике стараются поддерживать определенное качественное соотношение между исходным и полученным кадром исходя из необходимости сохранения качества исходного изображения и ограничения цифрового потока видеоданных. Это соотношение носит название коэффициента компрессии. На практике применяются коэффициенты от 1:1 (без сжатия) до 20:1 (сжатие исходного кадра в 20 раз). Это соответствует каче-ству ТВ сигнала от эталона (1:1) до бытового VHS (20:1). В формате MPEG к внутри-кадровому сжатию прибавляется межкадровое. Анализируются предыдущий и последующий кадры. Результатом этого анализа является вычисление разности между предыдущим и последующим кадром и формировании разностного кадра. Алгоритм MPEG значительно сложнее, поскольку здесь приходится анализировать не один кадр а сразу большую последовательность кадров. Если для видеосигнала уже записанного на диск, проблемы не существует (компьютер может обрабатывать видеоданные записанные в файл постепенно), то при записи в "живую" необходимо использовать алгоритмы предсказания следующей последовательности кадров, для более оптимального сжатия.
M-JPEG есть видео разновидность JPEG, но работающая с чересстрочной разверткой. При полноразмерных кадрах движения всегда получаются плавные и контуры движущихся предметов не имеют зазубрин. MPEG1 не умеет делать чересстрочную развертку и выдает одно поле на кадр. Именно поэтому использовать его при размерах кадра по вертикали более числа строк в поле видеосигнала нельзя. Если два поля объединяются в одно, то получаются зазубрины на вертикальных границах контуров быстро перемещающихся объектов сцены. Если этого не делать, то нет смысла увеличивать размер кадра при оцифровке и хранении видео. Да и при прямом сравнении MJPEG и MPEG1 видео на экране телевизора разница в 50 и 25 полей в секунду весьма заметна.
Механизм детектирования движения при кодировании MPEG иногда дает неприятные рывки картинки на сценах типа съемки камерой с поворотом вокруг вертикали (панорама площади в городе). Для их устранения приходится сокращать интервал между ключевыми кадрами MPEG.
Профессиональные кодеры часто вообще используют Editable MPEG, в котором все кадры ключевые. При этом разница между MPEG и MJPEG есть только в деталях реализации алгоритма DCT.
При одинаковых скоростях потока данных и размерах кадра MJPEG и Editable MPEG1 (только Intraframe компрессия) качество у MJPEG визуально лучше. Я сравнивал разные программные MPEG1 недорогие кодеры с аппаратным Mjpeg от Matrox (на деле Zoran chip) или программным от Morgan Multimedia. Качество у MJPEG выше.
MJPEG применяется во всех профессиональных и бытовых цифровых камкордерах. Отличие профессиональной техники от бытовой не в кодеке (алгоритме сжатия), а в качестве линз, CCD приемников и прочих чисто железных деталях.
Кодек MPEG2 от Sony ничего сложного на деле не представляет - используется фиксированный тип последовательности кадров типа ключевой плюс один с двунаправленным предсказанием IBIBIBI..., а не какой-нибудь действительно интеллектуальный алгоритм кодирования типа переменного интервала между ключевыми кадрами, автоматического детектирования сцен с быстрыи изменениями и настройки алгоритма компрессии на именно такую скорость смены содержания кадров. Такие тоже есть, но ориентированы на кодирование MPEG1 для CD, когда экономия на каждом байте в секунду за счет умного кодера действительно нужна для улучшения и так неважного качества. (см. подробнее здесь) MPEG2, конечно, допускает большие размеры кадров и чередование полей. Но это точно не для CD video.
Следует заметить что декодирование данных сжатых по обеим форматам не представляет особой сложности. Ограничение использования формата MPEG в кодеках Hi-END уровня объясняется тем, что при сжатии часть кадров меняется настолько, что невозможно восстановить все кадры в полном объеме. Понятно что возможности монтажа в формате MPEG очень ограничены. Преимущества формата MPEG проявляется при сжатии готового видеофрагмента (без необходимости монтажа). Устраняя временную избыточность MPEG позволяет получить отличное качество изображения при коэффициенте компрессии существенно более высоком чем при использование формата M-JPEG. Этим объясняется использование данного алгоритма при записи видео на CD, DVD и передачи цифрового видео по каналам связи. (Для сравнения ширина канала для передачи через спутниковый трансподер составляет 27 МГц для ЧМ модуляции аналогового ТВ сигнала и около 8 МГц для цифрового ТВ сигнала по сжатого по формату MPEG-2, при более высоком качестве).
Ширину полосы частот спутникового канала передачи аналогового видео определяет требование обеспечить хорошее соотношение сигнал/шум. Поэтому и модуляция частотная используется. Если бы была амплитудная модуляция, то полоса была бы для профессиональных студий не более 6.5 + 2*1.5 = 9.5 MHz. Это сумма ширин спектров сигналов яркости и двух цветоразностных компонент, передаваемых отдельно.
Другой расчет-упражнение. Ширина полосы частот телефонного канала - 4000 Гц. Передать можно 56 кбит в секунду (модем). Если способ кодирования данных типа используемого в модемах переложить на ширину спектра 8 МГц, получим 56*2000=112 мегабит в секунду. А это 14 Мб/сек - полноэкранное видео PAL в формате 4:1:1. Без компрессии. Если эту цифру даже на три поделить (модем 14400), то качество MJPEG будет отличным.
В цифровых камерах используется коэффициент сжатия MJPEG = 5 при входном формате 4:1:1 или 4:2:2. А качество выходит очень хорошее. В указанной выше статье предполагается, что в любом MPEG2 кодере коэффициент DCT компресии на ключевых кадрах примерно такой же. А промежуточные кадры уж точно не должны выглядеть лучше ключевых. В самом лучшем случае можно уменьшить скорость потока данных вдвое при частичной потере редактируемости. Для DVD это безусловно хорошо. Для нелинейного монтажа - не очень.
Существует версия MPEG-2 разработанная фирмой Sony для своего цифрового формата BetacamSX. Однако данная версия использует только часть возможностей формата MPEG-2 (так называемый Studio Profile), но позволяет записывать видео вещательного качества с компрессией 10:1 (для формата M-JPEG от 5:1 до 3,3:1) и производить покадровый монтаж. Оборудование для данного формата достаточно дорогое из-за очень сложного алгоритма обработки и представляет интерес для крупных телекомпаний.
Основным методом сжатия используемым, как в недорогих (например Marvel G200 Matrox), так и в профессиональных (DigiShuiteLE Matrox) является M-JPEG.
Существенным отличием профессиональной аппаратуры является возможность работы с тайм-кодом, внешней синхронизацией, ввод/вывод ТВ сигнала в компонентном и цифровом форматах. Кроме этого профессиональные кодеки позволяют дистанционно управлять ими по стандартному в ТВ интерфейсу RS-422, превращаясь в цифровые дисковые рекордеры (DDR аналог видеомагнитофона с записью видео на диск и моментальным доступом к любому кадру изображения).
Если вникать в то, чем же отличается профессиональная видеотехника от бытовой, то оказывается, что часто аппаратные средства обработки собственно сигнала у них одни и те же. Для простых потребителей урезается набор функций и иногда искусственно вводят ограничения на качество картинки.
Например, в Matrox Rainbow runner (или Marvel), Miro DC10 , 20, 30, используется один и тот же Zoran чип, но пропорционально цене увеличиваются предельные минимальные коэффициенты компрессии и (или) размеры кадра. У Матрокса размер большой (704х576), но наилучший коэффициент сжатия только 6.1 (3.1 МБ/сек), у DC10 уменьшен размер (352х576), но получше максимальный допустимый поток данных, а у DC20 - DC30 размер кадра увеличивают, поток делают еще побольше, добавляют некоторые удобства и поднимают цену в конце концов вшестеро против Rainbow Runner G от Матрокса.
Запреты на лучшее качество зашивают в драйверы и просят денег за более дорогие модели как за принципиально лучшие. Тот же Rainbow Runner может выдавать по шине PCI до 27 Mб/сек, как уже сообщали в конференции ее пользователей. Но MJPEG компрессор запрограммирован на коэффициент сжатия (порчи картинки) не менее 6.1. Производительчипа пишет, что он "provides up to 11MB/s bandwidth". Разрешили только 3.1 MB/sec. Впрочем, можно и этот запрет преодолеть.
Качество сборки, помехозащищенность, индивидуальная настройка профессиональных плат - за это деньги и берут. Основа часто оказывается общей.
Справедливости ради следует заметить, что многие кодеки уровня бытового и полупрофессионального применения, тоже позволяют использовать специальный пульт управления (так называемый Jog/Shuttle) для поиска видеофрагментов записанных на диск РС или обычный ВМ.
Для более полного понимания дальнейшего изложения в данной статье, приведу небольшие арифметические данные. Как известно изображение в аналоговом видео состоит из 625 для PAL/SECAM (525 для NTSC) строк и состоит из 2 полей по 312,5 (262,5). За 1 секунду передаются 25 (30) кадров или 50 (60) полей. Полоса, занимаемая видеосигналом достигает 6 МГц. Для передачи цвета используется принцип сложения основных цветов: красного(R), синего(B) и зеленого(G) цветов. Аналогичный способ применяется в мониторах и видеокартах. Однако использование 3-х компонентной составляющей для передачи цветного ТВ сигнала представляет существенные ограничения. Основные из них это широкая полоса, занимаемая таким видеосигналом и несовместимость в обычным ЧБ телевидением. Для сужения занимаемой полосы частот и достижения совместимости с ЧБ ТВ сигналом, используются некоторые особенности восприятия изображения человеческим глазом. Было установлено, что человеческий глаз чувствительнее к яркостной составляющей изображения, чем к его цветности. (Это неудивительно, кто знаком с анатомией человеческого глаза знает, что количество колбочек чувствительных к яркости значительно больше количества палочек чувствительных к цветовой составляющей изображения).
Используя эту особенность человеческого зрения, была разработана система цветоразностной передачи цветного изображения. Цветной ТВ сигнал состоит из яркостной (Y) и двух цветоразностных (R-Y и B-Y) составляющих. Обычный ЧБ ТВ приемник воспринимает только Y составляющую и передает изображение в монохромном виде. В цветном ТВ приемнике используя специальные схемы суммирования из трех составляющих (Y, R-Y и B-Y) восстанавливают исходные составляющие цвета красный (R), синий (B) и зеленый (G) цвета, которые подаются на соответствующие электронные пушки кинескопа.
Для сужения полосы частот занимаемой цветным ТВ сигналом, сигналы R-Y и B-Y передают, с использованием полосы частот в 2 раза уже. Полосы частот цветоразностных сигналов сужают с помощью фильтров, и применяют схемы модуляции, позволяющие передавать два цветоразностных сигнала в одном общем участке спектра.
Цветоразностные составляющие передаются так, что их спектр располагается в высокочастотной части спектра сигнала яркости.
За счет дополнительных ухищрений с выбором частот поднесущей, модулированной цветоразностными сигналами (PAL или NTSC только), удается даже добиться того, что информация о яркости передается в одних множественных узких участках спектра, а о цвете - в других. В конце концов получается, что ширина спектра цветного видеосигнала при вещании не шире, чем у черно-белого.
Сужение полосы частот снижает разрешающую способность по цвету в 2 раза, но учитывая особенности глаза практически незаметно. В цифровом ТВ принято разбиение одного ТВ кадра на пиксели, что наиболее удобно для дальнейшей цифровой обработки. Каждый ТВ кадр разбивается на 768 точек по горизонтали и 576 точек по вертикали для сигналов PAL/SECAM (640 на 480 для NTSC) при стандартном для ТВ соотношении ширины к высоте изображения равным 4:3. Следует заметить, что в телевидении высокой четкости (ТВЧ или HDTV) принято соотношение 16:9 более близкое к размеру киноэкрана. Таким образом, получается два полукадра (поля) с разрешением 384Х288 (320Х240 для NTSC) при частоте 50(60) полей или 25(30) кадров в секунду.
Считается, что для полного восприятия информации о яркости и цвете необходимо каждую точку изображения передавать как минимум 256 уровнями или 8 битным кодированием. Каждая точка цветного видеоизображения должна кодироваться 24 разрядным словом (8 бит Х 3 составляющие) или по компьютерной терминологии 24 бит/пиксель (24bpp). Для кинематографа используется разрядность 64 бит/пиксель.
Таким образом, перемножив 24х768х576х25 получаем цифровой поток в 265420800 бит/сек или около 265 Мбит/сек для сигналов PAL/SECAM (221 Мбит/сек NTSC). Практически кодирование ТВ сигнала происходит несколько иначе. Учитывая, что для передачи ТВ изображения используется формат Y, R-Y, B-Y, то по сигналу Y производится полное кодирование (8 бит по 768х576 пикс), а по сигналам R-Y и B-Y кодируется либо половина (8 бит по 384х288 пикс), либо четверть (8 бит по 192х144 пикс) для каждого из сигналов R-Y и B-Y. Для простоты используется запись в виде дроби 4:2:2 (иногда 8:4:4) или 4:1:1 (8:2:2).
Следует иметь в виду, что данная дробная запись говорит о количественном соотношении кодируемых точек. Разрядность кодирования каждой точки всегда равна 8, иногда и больше. Данный формат кодирования хорошо совместим с существующими аналоговыми форматами цветного ТВ, где цветоразностные сигналы передаются в полосе частот в 2 раза уже, чем занимают (см выше).
Перемножив полученные данные, получаем цифровой поток около 177 Мбит/сек для разрешения 4:2:2 и около 111 Мбит/сек для 4:1:1 (Все данные приведены для разрешения 768х576 т. е систем PAL/SECAM). Таким образом, для записи полноэкранного видео (PAL/SECAM 768х576х25 кадр/сек) необходимо обеспечить скорость порядка 22 Мбайт/сек для формата 4:2:2 и 14 Мбайт/сек для 4:1:1.
Теоретически такой поток могут обеспечить интерфейсы ATA-33 и UW SCSI (33 и 40 или 80 Мбайт/сек соответственно). Однако, учитывая особенности HDD реально возможно обеспечить скорость порядка 13 Мбайт/сек для HDD UW SCSI 10000 rpm.
Для преодоления этого ограничения используются RAID массивы дисков, способные обеспечить скорость до 40 и более Мбайт/сек с возможностью "горячей" замены без потери данных.
Некоторые кодеки используют встроенные SCSI контроллеры. Так кодек канадской фирмы DPS под названием Hollywood для записи полного видео без компрессии использует минимум 2 пары Wide SCSI HDD подключаемых к встроенному контроллеру. Кроме обеспечения заданной скорости, очень важным условием является обеспечение непрерывности потока данных. Обычные HDD данный режим обеспечить не могут, поскольку через определенное время производят термокалибровку головок, прерывая поток данных.
Для записи видео выпускаются специальные диски (так называемые AV диски) в которых эта проблема устранена. Учитывая эти особенности, можно сделать вывод о достаточно высокой стоимости подобного комплекса. Действительно стоимость комплекта вышеописанного кодека фирмы DPS составляет более $6000 без учета стоимости HDD и дополнительной платы для наложения графики по альфа-каналу. Учитывая что на 1Гб пространства HDD можно записать около минуты видео в формате 4:2:2, можно представить необходимые объемы дискового пространства для организации 24 часового вещания с видеосервера. Стоимость хранения одной минуты получается существенно дороже чем при использовании традиционной магнитной ленты. Однако высокая оперативность прямого доступа с точность до кадра, определяет основные области использования таких комплексов в новостийных программах и прямых трансляций.