Библиотека по безопасности

15-я международная выставка «Охрана, безопасность и противопожарная защита» MIPS 2009 состоится 13 — 16 апреля в Экспоцентре на Красной Пресне

Библиотека / Статьи / охранное телевидение /

MPEG-4 vs H.264


Вадим Грибунин, кандидат технических наук
[31/10/2008]



Версия для печати
Версия
для печати

Опубликовано в журнале "Технологии Защиты" №4, 2008

Рис.1Конечно же, противопоставлять MPEG-4 и H.264 некорректно, так как Н.264 и MPEG-4 (часть 10) – это одно и то же. Однако так оказалось удобнее написать основную часть материала статьи, понимая под MPEG-4 только MPEG-4 (часть 2).

Структура MPEG-4 и немного истории

Алгоритмы кодирования видео играют важную роль в современном мире. Они применяются для цифрового представления, сжатия, хранения, передачи и обработки видео-информации в самых различных системах. Большинство из этих алгоритмов последнего времени связано с деятельностью двух организаций: MPEG (Motion Picture Experts Group), работающей под эгидой Международной организации по стандартизации (ИСО), и VCEG (Video Coding Ex-perts Group), работающей в составе Международного союза по электросвязи (МСЭ). Первая группа выпускает стандарты MPEGxx (-1, -2, -4, -7, -21), вторая – создает рекомендации МСЭ Нхх (.261, .263, .263+, .263++, .264). В настоящей статье речь пойдет о последних разработках этих групп в области кодирования видео – стандарте MPEG-4 (часть 2) и рекомендации Н.264. Последняя рекомендация одновременно является стандартом MPEG-4 (часть 10), а также ISO/IEC 14496-10. Такое объединение двух стандартов ста-ло возможным в результате совместной работы групп MPEG и VCEG в рамках проекта Joint Video Team.

В таблице 1 показана предыстория создания этих стандартов.

Таблица 1 – Рекомендации МСЭ и стандарты MPEG

Рис.2

Надо отметить, что ядро стандарта MPEG-4 (ч. 2) было основано на рекомендации H.263.

Итак, самый последний стандарт в области кодирования видео можно называть MPEG-4 (часть 10), либо ISO/IEC 14496-10, либо Н.264/AVC. Аббревиатура AVC здесь означает Advanced Video Coding.

Приведем содержание остальных частей стандарта MPEG-4:

  • Ч. 1 – Описание системы: сцены, объединения аудио, видео и служебной информации, синхронизации, управления буфером, управления правами на интеллектуальную собственность.
  • Ч. 3 – Кодирование аудио.
  • Ч. 4 – Конформное тестирование: условия, процедуры, битовые потоки.
  • Ч. 5 – Общедоступное программное обеспечение, эталонно реализующее требования стандарта.
  • Ч. 6 – Протоколы распространения мультимедиа информации.
  • Ч. 7 – оптимизированное программное обеспечение кодирования видео (технический отчет, а не стандарт).
  • Ч. 8 – Специфицирует механизмы передачи потока MPEG-4 через IP-сети.
  • Ч. 9 – Описание реализации MPEG-4 на языке VHDL (технический отчет, а не стандарт).
  • Ч. 11 – Механизм описания сцены.
  • Ч. 12 – Формат мультимедийного файла ИСО.
  • Ч. 13 – Дополнения в отношении управлениями правами на интеллектуальную собственность.
  • Ч. 14 – Формат файла MPEG-4 (ч. 2).
  • Ч. 15 – Формат файла MPEG-4 (ч. 10).
  • Ч. 16 – Дополнения по кодированию анимации.
  • При дальнейшем изложении с целью уменьшения путаницы мы будем называть стандарт MPEG-4 (ч. 2) стандартом MPEG-4, а стандарт MPEG-4 (ч.10) – стандартом Н.264.

Как прагматизм победил романтизм

Посмотрев таблицу 1, мы увидим, что популярный и сегодня стандарт кодирования видео MPEG-2 (например, он применяется в DVD) был разработан еще в 1996 г. Зачем же было разрабатывать стандарт MPEG-4? О, для этого были великие причины…

Во-первых, зачем ограничивать себя кодированием каких-то там прямоугольных изображений? Даешь изображение произвольной формы! А вдруг нам понадобится кодировать не только естественные, но и синтетические изображения, а также гибриды первых и вторых? Ведь виртуальная реальность уже не за горами! А как нам не позаботиться об астрономах и других потребителях, коим 8 бит на компоненту цвета ничто? Да и вообще, что это за отсталая идея – относиться к видео как к последовательности прямо-угольных статических изображений? Даешь объектный подход! Будем кодировать взаимодействующие объекты, трехмерные поверхности. Суперпупер аппарат (вейвлеты) не подходит для кодирования видео? Что ж, применим их для кодирования неподвижных изображений. Ну и пусть, что MPEG-4 для видео: вейвлеты ведь.

Наверное, так примерно рассуждали энтузиасты – создатели MPEG-4 и разработали действительно революционный стандарт. Правда, вот технические подробности декодирования увеличились с 17 страниц у Н.261 до 539 страниц у MPEG-4, притом что изложение здесь далеко не столь подробное. А ведь принципы кодирования видео не меняются на протяжении многих лет, только лишь уточняются и уточняются. Правда, профилей разработчика оказалось аж 19 (по сути, надо разрабатывать 19 алгоритмов декодирования).

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

В общем, через два года после принятия MPEG-4 мпеговцы объединились с VCEG и создали новый стандарт – Н.264. Во главу угла данного стандарта поставлена лицензионная чистота решений и максимальная эффективность за счет отказа от всякой вышеупомянутой экзотики.

Основные характеристики Н.264

Предполагаемые области применения стандарта Н.264 следующие:

  • вещание (кабель, кабельный модем, спутник, DSL, TB);
  • хранение на различных носителях (DVD, магнитные диски);
  • видеоконференцсвязь (ISDN, Ethernet, LAN, DSL, ра-диосети, мобильные сети, модемы);
  • сервисы типа видео по запросу;
  • сервисы MMS (DSL, ISDN).

Под эффективностью алгоритма в стандарте Н.264 понимается высокая степень сжатия видео при допустимом качестве и робастность битового потока к ошибкам/потерям передачи. Аскетизм Н.264 в отличие MPEG-4 проявляется в том, что здесь предусмотрено всего три профиля:

  • Baseline – для видеоконференцсвязи;
  • Extended – для потоковой передачи видео по сети;
  • Main – для хранения и вещания видео.

Надо отметить, что профиль Extended полностью покрывает профиль Baseline, тогда как профиль Main находится несколько в стороне.

В стандарте Н.264 реализованы такие основные новые технические решения, как:

1. Для улучшения предсказания:

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

2. Другие решения, повышающие эффективность кодирования:

  • преобразование блоков малых размеров (4 х 4);
  • иерархическое блочное преобразование;
  • целочисленные быстрые алгоритмы преобразования; – арифметическое кодирование;
  • контекстно-адаптивное энтропийное кодирование.

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

  • новая структура множества параметров;
  • синтаксическая структура NAL, позволяющая абстрагировать сетевые служебные данные от служебных данных кодирования;
  • гибко настраиваемый размер слайса;
  • произвольный порядок следования слайсов;
  • введение в поток повторяющихся слайсов;
  • упорядочение данных;
  • переключение потоков на основе использования SI/SP синхронизации.

Как и в предшествующих стандартах кодирования видео, в Н.264 определены три вещи:

  1. синтаксис битового потока представления видео;
  2. семантика этого потока;
  3. метод декодирования для реконструкции видео.

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

Схема кодирования видео в соответствии со стандартом Н.264, в общем, повторяет схемы кодирования предшествующих стандартов. Разницей является разве что наличие на последнем этапе обработки с целью удаления блочности. Алгоритм кодирования (он явно не описан в стандарте) состоит из четырех основных компонентов:

  • компенсация движения и вычитания текущего кадра из опорного;
  • дискретное косинусное преобразование (ДКП) разностного кадра;
  • квантование коэффициентов преобразования;
  • энтропийное кодирование квантованных коэффициентов.

Рассмотрим эти компоненты подробнее.

Компенсация движения

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

С увеличением размера блока увеличивается вычислительная эффективность и уменьшается объем бит, отводимый на кодирование векторов движения. Однако одновременно ухудшается точность компенсации, а, следовательно, и увеличивается энергия разностного изображения. Таким образом, налицо необходимость оптимизации, и в Н.264 реализован адаптивный выбор размера блока от 4 х 4 до 16 х 16 пиксела, а точность указания вектора доведена до ¼ пиксела (за счет предварительной интерполяции). Если уж кадры совсем не похожи друг на друга, то компенсация движения не используется, а применяется внутрикадровое кодирование.

Преобразование разностного кадра и квантование

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

В MPEG-4 так же, как и в MPEG-2 (а также и в JPEG), применяется ДКП с основным размером блока 8 х 8. В Н.264 используется целочисленное ортогональное преобразование над блоками размером 4 х 4, которое аппроксимирует ДКП. В результате ядро преобразования использует только сложение, вычитание и сдвиги. При последующем масштабировании необходимо для каждого пиксела одно умножение на коэффициент, но эта операция может быть отнесена к дальнейшему квантованию. Вся арифметика вычислений 16-разрядная, т. е. может быть выполнена на дешевом микроконтроллере.

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

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

Энтропийное кодирование и формирование потока бит

Цель энтропийного кодирования заключается в обозначении более коротким кодом более часто встречающуюся последовательность символов (бит). В MPEG-4 для этого выполняется вначале кодирование длин серий (RLE), а затем применяется кодирование с переменной скоростью по заранее вычисленным таблицам Хаффмана. Надо отметить, что кодер Хаффмана чувствителен к ошибкам в канале передачи. Кроме того, необходимо, чтобы кодер/декодер располагали одинаковыми таблицами.

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

В качестве транспорта может быть использован MPEG-2, часть 1 которого определяет порядок объединения видео, звука и служебных данных в единый поток. Другим решением является использование протокола реального времени (RTP). NAL-структура потока H.264 как нельзя лучше подходит для пакетной передачи в соответствии с этим протоколом. Еще один вариант – использовать стандарт MPEG-4 часть 6.

Что же лучше?

Рис.3С момента появления Н.264 проводились многочисленные сравнения этого стандарта и MPEG-4. Результаты, как правило, показывали выигрыш в 1–3 дБ стандарта Н.264 в широком диапазоне скоростей кодирования. Визуально видео в стандарте Н.264 также выглядит лучше (во многом благодаря использованию деблочного фильтра). Вот типичный результат:

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

Так что, будь то MPEG-4 или Н.264 – основная эффективность кодеков основана на нюансах реализации. А этих тонкостей столько, что вы не почерпнете их даже из 700-страничной книги [2], с которой я все равно рекомендую вам ознакомиться.

Литература

  1. http://compression.ru/video/codec_comparison/
  2. L.Hanzo, P.Cherriman, J.Streit. Video compression and communications. Second Edition. Wiley, 2007. 704 p.

Посмотреть обсуждение этой статьи в Форуме

Другие статьи в этом же разделе

Владимир ЛЕЩЕВ, начальник отдела сервиса и монтажа департамента систем безопасности компании "СМ ТРЭЙД" [22/12/2008]
Увидел - значит победил! Об использовании систем видеонаблюдения в розничной торговле
Статья опубликована в журнале "Технологии защиты" #5 2008 Современные технологии видеонаблюдения являются обязательным элементом комплексной системы безопасности торгового предприятия, реальным инструментом в предотвращении противоправных действий и доказательстве фактов нанесения ущерба. Видеонаблюдение обеспечивает непрерывный контроль охраняемой территории в любое время суток, оперативное наблюдение за ситуацией в зале в рабочее время, позволяет "вести" подозрительного посетителя, да...
Майк Теннент, компания "Tavcom Training" [19/12/2008]
Борьба со светом (технические советы от Tavcom)
Перевод Ю.М. Гедзберга, компания "Мост Безопасности" Нравится нам это или нет, но в нашем современном обществе каждый раз, когда мы куда-нибудь идем по своим делам, нам все труднее становится ускользнуть от недремлющего ока видеокамер охранного телевидения. К примеру, Великобритания инвестировала в эти электронные системы безопасности и свою беззаветную веру, и впечатляющие капиталовложения, а результирующая статистика и моральная сторона дела продолжают подпитывать горячие обсуждения этого ...
Оксана Вовк, кандидат технических наук, компания "Линдекс Информ" [11/11/2008]
Передача видеосигнала по волоконно-оптической сети: очень важные нюансы
Статья опубликована в журнале "Технологии Защиты" № 4, 2008 Преимущества применения волоконно-оптических линий связи (ВОЛС) очевидны. Разумеется, сигнал с камер видеонаблюдения, особенно мегапиксельных с IP-выходом в рамках комплексных охранных систем как наиболее объемный, целесообразно передавать по ВОЛС. Однако при реальном проектировании и построении ВОЛС существует немало тонкостей. Проектировщикам систем видеонаблюдения известно, что в связи с потерями во время прохождения сигнала по се...
Вячеслав ДРУК, руководитель направления CCTV IP компании Bosch Системы Безопасности [06/11/2008]
Системы архивирования видеоинформации: отличительные решения и тенденции
Статья опубликована в журнале "Технологии Защиты" № 4, 2008 Несмотря на все более широкое внедрение цифровых технологий, для заказчика вопрос о выборе аналоговой, гибридной или полностью IP-системы все еще открыт. Сейчас тип системы определяется выбранными камерами. Но какую бы систему пользователь ни выбрал, хранение видеоинформации будет осуществляться в цифровом виде и на жестких дисках (HDD). Поэтому вопрос о тенденциях в области хранения видеоинформации будет сводиться к одному: как осущ...

Счетчики

  • Кнопка сайта "Единый прайс-лист"
  • Rambler's Top100
  • Рейтинг@Mail.ru