Методы сжатия цифрового видео

Олег Татарников

Основы цифровых преобразований

Чересстрочность

Квантование

Цифровое сжатие

Измерение движения

Формат MPEG

Профили и уровни MPEG

MPEG-1, MPEG-2 и другие

Цифровое сжатие звука

Сжатие звуковых сигналов по стандартам MPEG

 

Правила сжатия

Панорама кодеков

 

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

В настоящее время пересматриваются сами основы видеопроизводства и доставки изображения зрителю, причем динамика перемен в нынешнюю — цифровую — эпоху значительно выше, чем в аналоговую. Сегодня, к примеру, формат кадра 4:3 постепенно вытесняется форматом 16:9, чересстрочная развертка — прогрессивной (построчной), а изменение стандартов кодирования повышает качество изображения. Экономика диктует и необходимость сжатия видеоинформации. Естественно, любое сжатие ухудшает качество визуализации и применяется не от хорошей жизни, а по необходимости.

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

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

Основы цифровых преобразований

По существу цифровое представление, или оцифровывание, — это разбиение области определения непрерывной функции на некоторые интервалы и представление этой функции в виде набора значений на концах этих интервалов. Так, для цифрового звукового сигнала делят секундный интервал на шкале времени на 32, 44 или 48 промежутков, в каждом таком отсчете измеряют звук и сохраняют его значение с определенной точностью представления — обычно от 14 до 20 разрядов. Такие операции называются процессами дискретизации, то есть представлением какой-либо непрерывной величины (в данном случае — звука) посредством периодических дискретных измерений. После этого говорят, что звук оцифрован с частотой дискретизации соответственно от 32 до 48 кГц и разрядностью от 14 до 20 бит. Следовательно, цифровой поток, который необходимо сначала записать в цифровой форме, а затем воспроизвести, может составить величину от 500 тыс. до 1 млн. бит/с, причем это приводится в расчете на один звуковой канал.

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

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

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

 

 

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

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

Таким образом, если сигнал яркости можно дискретизировать с частотой 13,5 мГц, то цветоразностные — с половинной частотой, то есть 6,75 мГц. Применяют также частоту, которая вчетверо меньше частоты яркостной дискретизации — 3,375 мГц, а поскольку она является самой низкой частотой из применяемых на практике, то в стандартах видео она получила обозначение «1». Соответственно 6,75 мГц обозначается как «2» (удвоенная), а 13,5 мГц как «4» (учетверенная). На этом основании даются и обозначения, применяемые для различных устройств, например студийные цифровые видеокамеры и магнитофоны работают с использованием частот 4:2:2, а в устройствах формата DV применяются схемы 4:1:1 или 4:2:0 (рис. 2). Соответствующая фильтрация (которую можно интерпретировать как аналоговое сжатие) приводит к уменьшению ширины полосы частот входных сигналов, обеспечивая использование увеличенных значений коэффициента сжатия цифрового.

 

Рис. 2. Пояснение алгоритма дискретизации, применяемого в различных форматах: белыми кружками обозначены те элементы изображения, в цветовом представлении которых меняется только яркость, а красными —  которые, кроме яркости, меняют и цвет. В стандарте 4:2:2 цветоразность определяется для каждого второго отсчета, в стандарте 4:1:1 — для каждого четвертого,а в структуре отсчетов 4:2:0 шаг цветоразностных отсчетов по горизонтали равен шагу по вертикали, что дает почти «квадратную» структуру по цвету

Рис. 2. Пояснение алгоритма дискретизации, применяемого в различных форматах: белыми кружками обозначены те элементы изображения, в цветовом представлении которых меняется только яркость, а красными — которые, кроме яркости, меняют и цвет. В стандарте 4:2:2 цветоразность определяется для каждого второго отсчета, в стандарте 4:1:1 — для каждого четвертого,
а в структуре отсчетов 4:2:0 шаг цветоразностных отсчетов по горизонтали равен шагу по вертикали, что дает почти «квадратную» структуру по цвету

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

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

Чересстрочность

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

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

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

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

Из всего этого следует, что если вашей целью является изготовление DVD-видео (MPEG-2), то даже если ваш плеер не поддерживает прогрессивную (построчную) развертку, а на видеокамере такой режим есть, лучше пользоваться именно им.

В начало В начало

Квантование

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

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

Таким образом, 8-битный преобразователь имеет 256 интервалов квантования (обеспечивая соотношение «сигнал/шум» примерно 50 дБ), в 10-битном соответственно 1024 кодовых слова (соотношение «сигнал/шум» на 12 дБ больше) и т.д.

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

В начало В начало

Цифровое сжатие

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

Цифровое сжатие — гибкая технология, поскольку используемые уровни сложности кодирования и степень компрессии могут варьироваться применительно к приложению. Основным принципом цифрового сжатия является использование так называемой избыточности звукового или видеосигнала. Избыточность объясняется тем, что звук и видео содержат области, обладающие сходными характеристиками. Таким образом, весь поток информации можно условно разделить на предсказуемую часть (иначе говоря — избыточность) и новую, непредсказуемую часть (известную в теории информации как энтропия). Сумма этих двух величин и дает нам поток данных, уменьшение которого будет зависеть от того, насколько хорошо мы можем осуществить «предсказание». Теоретически можно полностью устранить избыточность и оставить только энтропию, но для этого понадобился бы идеальный алгоритм сжатия, который был бы чрезвычайно сложным и работал бы неоправданно долго. Если же степень сжатия настолько велика, что результирующая скорость потока данных становится меньше энтропии, то информация теряется.

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

 

     

Правила сжатия

Вам не потребуется знать все сложности процесса сжатия, если придерживаться следующих общих правил:

  1. Если сжатие не является крайне необходимым, то не пользуйтесь им! Пока монтаж и компоновка материала не завершены, лучше работать с исходным источником, чтобы иметь достаточный запас по качеству, а сжатие производить только на последнем этапе, то есть непосредственно перед выводом на носитель.
  2. Если же сжатие неизбежно, то старайтесь применять как можно меньший коэффициент компрессии. Другими словами, всегда используйте максимально возможный цифровой поток.
  3. Не включайте системы сжатия друг за другом и по возможности избегайте повторного сжатия. Это всегда приводит к потере качества, причем чем меньше поток, тем явственнее будет это ухудшение. Качество будет еще хуже, если между применением кодеков вы будете совершать какие-то монтажные действия или применять спецэффекты.
  4. Системы цифрового кодирования всегда вносят временную задержку и затрудняют видеомонтаж, а применение сжатия может привести и к рассинхронизации видео- и аудиопотоков.
  5. Любые системы сжатия лучше всего работают с самым чистым видеоматериалом. Шумы в сигнале, дрожание картинки, зернистость и недостаток освещения при съемке, а также некачественное декодирование исходного видеосигнала затрудняют сжатие и приводят к плохим результатам.
  6. Сжатые данные всегда гораздо больше подвержены воздействию ошибок передачи, чем несжатые.
  7. Не верьте заявлениям производителей, в которых качественные показатели кодеков сравниваются с аналоговым видео («качество по стандарту VHS», «качество, сравнимое с Betacam SP» и т.п.), ибо дефекты сжатого цифрового изображения отличаются от дефектов изображения аналогового, даже если аналоговое видео воспроизводится с бытового видеомагнитофона, известного своими недостатками.
  8. Качество изображения, полученного тем или иным кодеком, напрямую зависит от типа и состояния материала источника. Поэтому подвергайте сомнению даже самые убедительные демонстрации, так как при этом может использоваться специально подобранный материал, гарантирующий превосходную работу того или иного кодека. Всегда пользуйтесь для тестирования своим собственным материалом, подобранным на основе разумного баланса «легких» и «трудных» сюжетов!
  9. Качество сжатия можно оценить только субъективно.
 

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

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

Что касается термина «дискретное косинусоидальное преобразование» (ДКП, DCT), то это — дополнительное упрощение ДПФ, которое осуществляется благодаря использованию только одной — косинусной — составляющей.

В начало В начало

Измерение движения

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

Однако на практике движение ведет к уменьшению степени сходства соседних кадров, а разностный сигнал возрастает. Одним из способов преодоления этого является так называемая компенсация движения: если перемещение объекта известно, то информацию об этом перемещении можно передавать в виде вектора движения, а декодер может использовать этот вектор для сдвига группы элементов изображения, описывающих объект в предыдущем кадре. Кодер с компенсацией движения действует следующим образом: весь видеокадр подвергается внутриполевому кодированию, и не только передается, но и запоминается в кодере, чтобы его можно было сравнить со следующим кадром и вычислить векторы движения различных участков; затем предварительно сохраненный кадр смещается в соответствии с этими векторами, чтобы компенсировать это движение, и сравнивается с текущим кадром для получения разностных данных. Разностные данные со всей очевидностью можно трактовать как изображения, подвергая их сжатию разными методами. Именно на таком алгоритме сжатия основаны все стандарты MPEG.

Итак, измерение движения является очень важной операцией методов межполевого (межкадрового) сжатия видеосигналов в MPEG-формате. Для измерения движения в целях его дальнейшей компенсации при кодировании в MPEG применяются два метода: установление соответствия блоков (Block Matching) и вычисление фазовой корреляции (Phase Correlation).

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

 

     

Панорама кодеков

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

В последнее время наибольшей популярностью пользуются кодеки на основе MPEG: для изготовления DVD-видео применяются кодеки MPEG-2, а для видеозаписи на CD предпочитают DivX. Поэтому более подробно мы представим вам именно эти форматы, хотя и напомним о существовании других кодеков, в том числе о тех, которые входят в стандартную поставку Microsoft Windows (некоторые реализации кодеров/декодеров вы найдете на нашем CD-ROM).

Стандартные кодеки

Cinepak — когда-то это был самый популярный кодек, созданный более 13 лет назад фирмой SuperMac для компьютеров с процессорами Motorola 68030 и Intel 386, оборудованными односкоростными дисководами CD-ROM, а затем усовершенствованный компанией Radius. До сих пор этот кодек сохраняется на Mac и PC (включен в стандартную поставку Windows и Mac OS) и практически не загружает современный процессор. Использует алгоритм векторного квантования (Vector Quantilization, VQ). Всегда сжимает данные как минимум в 10 раз, но плохо подходит для низких скоростей передачи. Компрессия довольно медленная, а декомпрессия — очень быстрая. Подходит для стриминга (потокового видео). Несколько лет назад компанией CTI была выпущена версия Cinepak Pro.

 

Альтернатива MPEG-кодированию от компании Ligos — пакет Indeo XP for Windows, использующий технологии Indeo Video 5, базируется на алгоритмах Wavelet-компрессии

Альтернатива MPEG-кодированию от компании Ligos — пакет Indeo XP
for Windows, использующий технологии Indeo Video 5, базируется на алгоритмах Wavelet-компрессии

Intel Indeo Video — межплатформенный кодек, первоначально разработанный для Windows. Предназначался для сжатия видео в среде Windows и последующего воспроизведения на компьютерах Macintosh (включен в стандартную поставку Windows и Mac OS). Сегодня новые версии кодека Indeo выпускает и поддерживает компания Ligos (http://www.ligos.com), известная ранее своими MPEG-кодеками LSX-MPEG (этот кодек когда-то даже входил в состав таких популярных пакетов для видеомонтажа, как Adobe Premiere и Ulead MediaStudio Pro), но в настоящее время не выдержавшая конкуренции и прекратившая выпуск MPEG-решений, полностью перейдя на другие алгоритмы компрессии. Последний пакет Indeo XP for Windows, использующий технологии Indeo Video 5, основан уже на волновом кодировании (Wavelet) и включает поддержку всех предыдущих кодеков: Indeo Video 3.2, Indeo Video 4.5 и Indeo Audio 2.5.

Microsoft RLE — предназначен для декомпрессии видео, захваченного в среде Windows (включен в стандартную поставку).

Microsoft Video — предназначен для декомпрессии видео и последующего просмотра в среде Windows (включен в стандартную поставку).

Sorenson Video — этот кодек от компании Sorenson Media (http://www.sorenson.com) включен в стандартную поставку QuickTime, начиная с версии 3.0. Может применяться для создания роликов QT VR. Использует усовершенствованные алгоритмы векторного квантования и компенсации движения, а также адаптивное управление потоком. В настоящее время компания Sorenson Media, кроме новой версии кодека Sorenson Video 3 Pro Codec, выпускает и другие продукты: Sorenson Squeeze 3 for Flash MX (для видео в стандарте Macromedia Flash), Includes Sorenson MPEG-4 Pro (для видео в формате MPEG-4), а также Sorenson Squeeze 3 Compression Suite, который объединяет все эти продукты и включает как средства работы с потоковым видео в форматах Windows Media и RealMedia, так и кодеры MPEG-1 и MPEG-2.

Кодеки для видеоконференций

H.261 (известный также как Px64) — симметричный кодек реального времени, разработанный в качестве стандарта для низкопотоковых приложений (видеоконференций). Полоса пропускания обычно кратна 64 Кбит/с. Дает картинку очень невысокого качества. Аналогичен MPEG-1 (ДКП с компенсацией движения), без двунаправленного кодирования. Оптимизирован для статичных сцен и использует сильное межкадровое сжатие (включен в стандартную поставку Windows и Mac OS).

H.263 — следующий после H.261 общепризнанный стандарт для видеоконференций. По сравнению с H.261 качество изображения улучшено, кодек лучше работает с компенсацией движения и обеспечивает более высокую скорость кодирования. Ориентирован на скорость модема 28,8 Кбит/с. Применяются алгоритмы MPEG (включая двунаправленное кодирование). Видеокодек MPEG-4 по сути является модификацией H.263. Этот формат имеет ограничение по разрешению — не более 352Ѕ288. Включен в стандартную поставку Windows и Mac OS (начиная с QuickTime 3.0).

H.323/H.324 — более поздние стандарты для видеоконференций, которые предполагают использование кодеков в виде подключаемых модулей, что позволяет пользователю выбрать все, что имеется в его системе.

MPEG-кодеки

CinemaCraft Encoder — этот кодек разрабатывается и продается компанией Cinema Craft (http://www.cinemacraft.com) в трех версиях: MPEG-2 encoder CCE-Pro (с возможностью кодирования в реальном времени), MPEG-1/2 encoder CCE-SP и MPEG-1/2 encoder CCE-Basic. Текущая версия основного кодера — 2.69.01.10.

TMPGEnc Encoder Plus — разрабатывается и продается компанией Pegasus (http://www.pegasys-inc.com). Кроме решения для MPEG-кодирования, Pegasus выпускает полный пакет средств для подготовки и создания DVD-видео: TMPGEnc 3.0 XPress, TMPGEnc DVD Author 1.6, TMPGEnc DVD Source Creator 2.0 и TMPGEnc Plug-Ins AC-3. Версия кодера TMPGEnc 2.521 бесплатно распространяется по адресу http://www.tmpgenc.net/e_main.html.

MainConcept MPEG Encoder от компании Main Concept Multimedia Technologies (http://www.mainconcept.com) в последнее время становится очень популярным. Кроме решения для MPEG-кодирования, у компании есть много других программ для создания, редактирования и обработки видео: видеоредакторы EVE v2 и MainActor v5, плеер/рекордер MainConcept PVR, программа для компоузинга и спецэффектов MainVision, DVD Video Loops, а также такие кодеры, как Motion JPEG Codec, DV Codec, DVCPro 25/50 Codec, H.264 Encoder и др. У Main Concept есть и решение для ОС Linux — это MainActor v5 Linux Video Editing, который продается всего за 99 долл.

 

MainConcept EVE — программа для оцифровки и компрессии аналогового видеосигнала в форматы MPEG-1

MainConcept EVE — программа для оцифровки и компрессии аналогового видеосигнала в форматы MPEG-1 и MPEG-2

Canopus ProCoder — данный продукт от известной компании Canopus (http://www.canopus.com) по-прежнему остается наилучшим кодером для создания любительских DVD-Video-дисков. Несмотря на успехи конкурентов, другие MPEG-кодеки продолжают заметно уступать ProCoder по качеству кодирования, особенно на невысоких потоках, и, конечно, по качеству изображения. Однако это весьма недешевый продукт (рекомендуемая розничная цена — 599 долл.), снабженный к тому же аппаратным USB-ключом для защиты от копирования. Весной этого года вышла новая версия Canopus ProCoder 2.0. Внешне программа претерпела заметные изменения и теперь оформлена в общем для Canopus стиле. К тому же это одна из немногих программ, производящих корректное преобразование исходного материала из NTSC в формат PAL, причем ProCoder выполняет это в автоматическом режиме и даже преобразует соотношения сторон кадра 16:9 в 4:3 для формата Letterbox. Кроме того, компания Canopus выпускает и другие программные и аппаратные решения для работы с цифровым видео: DVStorm2Pro+, MediaEdge2, EDIUS 2.5 и т.д.

 

Знаменитый Canopus ProCoder по-прежнему остается наилучшим кодером для создания любительских DVD-Video-дисков

Знаменитый Canopus ProCoder по-прежнему остается наилучшим кодером для создания любительских DVD-Video-дисков

Эти MPEG-кодеки в настоящее время считаются наиболее популярными, но помимо вышеописанных существуют и другие реализации кодирования в MPEG-форматы, в том числе бесплатные, причем качество работы кодеков напрямую зависит от типа и состояния исходного видеоматериала. Советуем посмотреть, как тестировал эти MPEG-кодеки Сергей Блохнин на видеоматериале формата DV по адресу http://www.spline.ru/information/reviews/digital-video/tech/MPEG_encoders.

 

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

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

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

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

В начало В начало

Формат MPEG

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

Алгоритмы сжатия, разработанные для передачи неподвижных изображений в других приложениях (таких, например, как цифровая фотография), можно модифицировать для перехода на внутрикадровое сжатие видеоинформации. Например, стандарт JPEG (Joint Photographic Experts Group — Совместная группа экспертов по фотографии) как раз и предоставил в свое время подобные алгоритмы (кстати, JPEG похож на MPEG тем, что тоже допускает использование различных методов кодирования и даже обеспечивает в формате файла хранение самого алгоритма сжатия в описании изображения). Кроме того, до сих пор в профессиональных приложениях используется Motion-JPEG, который не предусматривает межкадрового сжатия, чем упрощает нелинейный монтаж.

Межкадровое сжатие данных обеспечивает увеличение коэффициента компрессии при относительно редких искажениях изображения, что позволяет эффективно доставлять зрителю скомпонованные видеоматериалы. Первоначально столь интенсивное сжатие понадобилось в таких приложениях, как видеотелефоны, видеоигры и т.п., где требовались очень низкие потоки данных, а частые искажения изображения были не слишком принципиальны. Именно на них и были ориентированы стандарты MPEG (Motion Picture Experts Group  — Группа экспертов по движущимся изображениям).

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

Области применения формата MPEG сегодня очень широки — начиная с маленьких видеороликов, размещаемых в Интернете, и заканчивая высококачественными изображениями на громадных экранах телевидения высокой четкости. Требования к качеству изображения могут быть самыми разными — как весьма низкими для охранных и видеотелефонных сетей, так и очень высокими для кинофильмов на DVD-видео. Кроме того, иногда один и тот же передаваемый сигнал требуется декодировать на уровне различных стандартов (например, на маленьком телевизоре совсем необязательно декодировать сигнал телевидения высокой четкости в полном объеме) — MPEG допускает и комбинированные реализации.

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

В начало В начало

Профили и уровни MPEG

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

Профиль предоставляет метод (простой, основной, адаптивный по шуму, адаптивный по разрешению, высокий), а уровень определяет конкретные ограничения этого метода:

• низкий уровень — с разрешением до 352Ѕ288 отсчетов с потоком до 4 Мбит/с;

• основной уровень — с разрешением до 720Ѕ576 отсчетов с потоком до 15 Мбит/с;

• высокий уровень — с разрешением до 720Ѕ576 (до 1440 отсчетов) с потоком до 60 Мбит/с;

• высокий уровень — с разрешением до 1920Ѕ288 отсчетов с потоком до 80 Мбит/с.

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

Основной профиль разработан для значительной части применений, и именно на нем сосредоточено внимание разработчиков оборудования и программ.

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

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

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

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

Но не следует думать, что MPEG-декодер с заданными профилем и уровнем будет декодировать только свой сигнал — в общем случае все MPEG-декодеры позволяют декодировать входные сигналы, соответствующие более низким профилям и уровням. Поэтому стандартный адаптивный декодер будет нормально работать и с основным, и с простым профилем.

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

В начало В начало

MPEG-1, MPEG-2 и другие

Документация MPEG-1 была опубликована первой и описывала стандарты кодирования с серьезными ограничениями на цифровые потоки — до 1,5 Мбит/с. Чересстрочная развертка в MPEG-1 не поддерживалась, а разрешающая способность была ограничена величиной до 352Ѕ288 отсчетов (в видеостандарте PAL). Для кодирования звука допускалось использование сигналов стерео с потоками до 192 Кбит/с. Такая величина потока была выбрана в основном потому, что в аудиовизуальных системах предполагалось использование компакт-дисков (VideoCD). В дальнейшем скорости считывания компакт-дисков несколько возросли, а требования к потокам смягчились, но разрешающая способность не менялась, что связано в первую очередь с тем, что MPEG-1 — простой формат, в котором сложности с чересстрочностью преодолеваются простым отбрасыванием каждого второго поля перед сжатием. Поскольку при этом эквивалентная вертикальная разрешающая способность и качество передачи снижаются вдвое, для однородности горизонтальное разрешение тоже снижено в два раза. Таким образом, кодер начинает с одной четверти исходной полосы частот, и не удивительно, что за счет этого достигается высокий коэффициент сжатия. Для воспроизведения MPEG-1 на компьютерах сначала применялись специальные платы (MPEG-декодеры), а затем с этим начали справляться и программы (начиная с процессоров Pentium не ниже 166 МГц или PowerMac 120, 166 МГц).

Понятно, что применение MPEG-1 в телевизионном вещании и при производстве видеопродукции было крайне ограниченным, так как он не выдерживал конкуренции с аналоговыми форматами. И даже такие нестандартные усовершенствования MPEG-1, как Super VideoCD (с повышением разрешения до 352Ѕ576, использованием чересстрочности, увеличением потока до 5 Мбит/с и возможностью кодирования с переменным потоком данных), широкого применения не нашли. Чтобы решить эту проблему и составить конкуренцию аналоговым форматам, был разработан стандарт MPEG-2, поддерживающий чересстрочную развертку и позволяющий кодировать стандартное видео с потоками от 3 до 15 Мбит/с и даже сигналы телевидения высокой четкости с потоками от 15 до 30 Мбит/с. Значительно расширены в MPEG-2 и возможности по кодированию звуковых сигналов, а также добавлена поддержка многоканальных систем объемного звучания. Но главной отличительной особенностью формата MPEG-2 следует считать возможность передачи данных с переменной скоростью (Variable Bit Rate, VRB), что позволяло значительно улучшить общее качество картинки, поскольку для статической сцены с небольшими изменениями в кадре можно было снижать поток, а на сложных сценах с большим количеством деталей и быстрым движением — увеличивать его так, чтобы общий поток при этом практически не менялся. По причине того, что стандарты MPEG имеют иерархическую структуру, декодер MPEG-2 может декодировать сигналы MPEG-1, но не наоборот.

Следует также сказать и о стандарте MPEG-4, более известном такими своими клонами, как DivX. Поскольку MPEG-1 перестал удовлетворять пользователей, а MPEG-2 предъявлял высокие требования к производительности системы воспроизведения, да и вообще MPEG-кодеки отличались высокой чувствительностью к потерям пакетов при передаче по сетям, ибо имели высокую взаимозависимость кадров (особенно при двунаправленном кодировании), решено было разработать специальный формат для Интернета — MPEG-4. Первоначально предполагалось, что это будет формат, устойчивый к передаче по сетям, имеющий высокие интерактивные возможности и снабженный специальным языком MSDL (MPEG-4 Syntactic Description Language), позволяющим конструировать кодеки из более простых компонентов, которые, в свою очередь, могли бы загружаться из Интернета. В результате удалось разработать весьма мощный и гибкий формат и достигнуть на нем довольно высокого качества визуализации. И хотя сегодняшний DivX не имеет ничего общего ни с тем, что было задумано, ни даже с форматом MPEG-4 (и, по существу, представляет собой лишь простую, но удачную реализацию возможностей MPEG-формата), именно он пользуется большой популярностью при записи видео на обычные компакт-диски.

Что касается передачи видео по сетям, то возможности реализации этого в рамках MPEG-стандарта заложены в так называемом системном уровне. Так, структуры, которые описывались до сих пор, известны как элементарные потоки, поскольку они являются носителями данных только одного видеоканала (такие же элементарные потоки переносят данные звукового сопровождения). Следующий уровень MPEG-кодирования касается мультиплексирования звуковых и видеоданных сразу нескольких программ (как, например, в цифровых системах спутникового телевидения).

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

Транспортный поток является альтернативой программного потока, и здесь используются пакеты постоянной длины с многоуровневой коррекцией ошибок. И хотя стандарты MPEG не требуют этого в явном виде, принято защищать такой пакет от ошибок посредством добавления к единице записи (пакету в 187 байт) 16 избыточных байт, которые служат для проверки. Системный уровень предоставляет также таблицы распределения программ, где перечисляются все передаваемые элементарные потоки и вещательные службы, к которым эти потоки относятся. А поскольку службы могут пользоваться различными источниками тактовых импульсов, то предусматривается их независимое тактирование.

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

В начало В начало

Цифровое сжатие звука

Звуковое сопровождение цифрового сигнала вещательного качества (не подвергнутого сжатию) требует всего лишь около 1% общего цифрового потока. Однако наш слух очень чувствителен к искажениям звука, в том числе и вызванным цифровым сжатием, поэтому там, где в этом нет жизненной необходимости, звук лучше вообще не сжимать. Если же речь идет о 10-кратном и более высоком сжатии видеосигнала, то цифровые потоки сжатого видео и несжатого звука окажутся сравнимыми, поэтому цифровое сжатие звукового сигнала станет целесообразным.

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

Назовем основные методы, применяющиеся при цифровом сжатии звука:

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

• квантование, которое обеспечивает устранение слабых звуков. Это уменьшает длину слова отсчетов, что дает экономию при хранении, но может повысить минимальный уровень шума. Применяя маскировку, можно повысить уровень шума, который, однако, будет оставаться неслышимым;

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

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

• спектральное кодирование, основанное на преобразовании Фурье (ДКП) или на волновом преобразовании (Wavelet Тransform). Поскольку спектр звукового сигнала меняется медленно, то его коэффициенты требуется передавать реже, чем звуковые отсчеты.

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

В начало В начало

Сжатие звуковых сигналов по стандартам MPEG

В стандарте MPEG-1 входные звуковые сигналы дискретизируются с частотой 32; 44,1 или 48 кГц. Определяют также режимы (Layers) и уровни (Levels) кодирования звуковых сигналов. Что касается режимов, то это всем известные моно, когда передается только один канал, стерео — для двух и т.д. Имеется также три алгоритма кодирования разной сложности, известные как уровни 1, 2 и 3 (нумерация здесь идет по возрастанию сложности кодирования, а не по качеству полученного сигнала). Уровень 2 первоначально планировался основным и считался наиболее подходящим для большинства применений. Уровень 1 был рассчитан на упрощенный кодер и потому должен был использоваться только в больших цифровых потоках — в противном случае декодер мог бы не справиться с восстановлением звука и качество воспроизведения понизилось бы. Уровень 3 был самым сложным для кодирования и предназначался для очень малых цифровых потоков, где обеспечивалось наивысшее качество. А поскольку этот уровень хорошо подходил и для воспроизведения и передачи звука в реальном времени (стриминга), например по сети Интернет, то впоследствии, с ростом производительности и сложности кодеков, кодирование музыкальных фрагментов MPEG-1 уровня 3 стало наиболее популярным у пользователей и получило особое название — MP3.

В MP3 была сделана попытка создать очень точную слуховую модель: здесь вычисляется 576-рядное дискретное косинусоидальное преобразование (причем различное число звукорядов объединяется в группы, чтобы смоделировать изменение ширины критических полос слухового механизма человека), а звуковая информация передается в виде коэффициентов преобразования, подвергнутых квантованию в соответствии с моделью маскирования. Чтобы еще больше сократить цифровой поток, применяется код Хаффмана, а в декодере требуется выполнить двойное преобразование.

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

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

КомпьютерПресс 8'2004