Анализ современных стандартов сжатия видеоданных

АНАЛИЗ СОВРЕМЕННЫХ СТАНДАРТОВ СЖАТИЯ

ВИДЕОДАННЫХ И.Н. Курносенков, А.Ю. Тропченко

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

Введение

Распространение технологий цифрового вещания и цифрового видео привело к необходимости разработки эффективных методов сжатия видеопоследовательностей. Сжатие видео основано на двух важных принципах: пространственной избыточности, присущей каждому кадру видеоряда, и временной избыточности, т.е. похожести одного кадра на следующий [1, 2]. Таким образом, типичный метод сжатия заключается в кодировании первого кадра с помощью некоторого алгоритма сжатия изображений и последующем кодировании разности первого кадра и последующих. Если очередной кадр сильно отличается от первого кадра последовательности, то его кодируют полностью, и он становится первым кадром новой последовательности. Для увеличения эффективности устранения временной избыточности используется компенсация движения [2].

Рассмотрим этапы процедуры сжатия данных в общем виде. Любой метод сжатия реализует три основных этапа:

• этап предварительной обработки (фильтрация шумов);

• основное преобразование;

• кодирование и упаковка компонент преобразования [3].

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

• матрице компонент спектра (при спектральном преобразовании);

• набору коэффициентов преобразования (при фрактальном сжатии);

• описанию объектов изображения (при сжатии с распознаванием).

Современные стандарты сжатия видеоданных

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

• для ISDN-видеоконференций разработан стандарт сжатия ITU H.261;

• для видеоконференций в телефонных сетях - стандарт Н.262 и стандарт H.263 для видеоконференций в сетях ATM и по широкополосным каналам;

• необходимость сжатия видеопоследовательностей для хранения на CD-ROM (с условием обеспечения 1.2 Мбит/c для видео-потока и 256 кбит/с для аудио) привела к созданию первоначального стандарта ISO MPEG-1;

• для вещания и хранения на DVD, с битрейтом от 2 до 15 Мбит/с для видео и аудио, был разработан стандарт ISO MPEG-2;

• необходимость кодирования отдельных аудио-визуальных объектов как естественного происхождения, так и синтезированных, привела к созданию ISO MPEG-4 (этот стандарт включает в себя несколько частей, в которых рассматривается, помимо кодирования видео, аудиокодирование, кодирование объектов и т.д., причем к

видео относятся часть 2 -ISO 14496-2 или MPEG-4 Part 2, и часть 10 - ISO 14496-10 или MPEG-4 Part 10);

• необходимость кодирования метаданных, описывающих свойства мультимедийных данных, привела к появлению MPEG-7.

Детальное рассмотрение современных стандартов приводится в работах [4-7]. Остановимся на части 10 стандарта MPEG-4. У нее есть другие названия - H.264 и AVC -Advanced Video Coding. Подробно MPEG-4 Part 10 и H.264 рассматриваются в [4], а сам стандарт изложен в [5] и [7]. Часть 10 стандарта MPEG-4 определяет один из самых современных и технически совершенных методов кодирования видео. Стандарт AVC/H.264 был разработан Joint Video Team (JVT), которая включает экспертов из MPEG и VCEG (Video Coding Experts Group). Под этим названием стандарт широко известен. Официальное наименование нового стандарта, Advanced Video Coding (AVC), было выбрано MPEG как видео-дополнение к аудио формату Advanced Audio Coding (AAC).

В AVC/H.264 определены следующие профили: базовый (baseline), основной (main), расширенный (extended). Позднее расширенный профиль был дополнен профилем для видео высокого разрешения (high profile), профилем high 10, профилем high 4:2:2 и профилем high 4:4:4.

Базовый профиль нацелен на кодирование и декодирование в реальном времени для мобильных устройств. Он поддерживает прогрессивную развертку, использует I- и P-кадры, а также энтропийное кодирование по методу CAVLC.

Основной профиль предназначен в основном для использования в широковещании. Он поддерживает чересстрочную и прогрессивную развертки, использует I-, P-, B-кадры, весовое предсказание (weighted prediction), а также энтропийное кодирование по методам CAVLC и CABAC.

Расширенный профиль предназначен для использования в средствах передачи, подверженных ошибкам - например, в мобильных коммуникациях. Использует I-, P-, B-, SP-, SI-кадры, поддерживает как чересстрочную, так и прогрессивную развертку, позволяет использовать только метод CAVLC для энтропийного кодирования.

Профиль для видео высокого разрешения предназначен для эффективного кодирования HDV (high definition video). Он использует адаптивный размер блока (8x8 или 4x4) и позволяет применять контекстно-зависимые матрицы квантования.

Профиль high 10 является расширением предыдущего профиля для 10 бит на отсчет компоненты изображения. Профиль high 4:2:2 поддерживает формат YUV 4:2:2 и до 10 бит на отсчет для цветоразностных компонент изображения; а профиль high 4:4:4 поддерживает формат YUV 4:4:4 и до 12 бит на отсчет цветоразностных компонент изображения. Помимо этого он позволяет использовать режим кодирования без потерь и прямое кодирование RGB сигнала. Этот профиль предназначен для кодирования видео студийного качества.

Кодирование осуществляется поблочно. При этом сначала производится предсказание отсчетов яркостной компоненты и цветоразностных компонент в пространственной и временной областях. Затем разность между предсказанными значениями и реальными подвергается целочисленному преобразованию и квантуется. После этого результат сжимается энтропийным кодером. Обработка каждого кадра ведется в пространстве YUV по блокам размером 16x16 для яркостной компоненты (luma) и по 8x8 (для YUV 4:2:2) для цветоразностных компонент (chroma).

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

подвергается энтропийному сжатию. Помимо этого преобразования, в стандарте заложена возможность использования wavelet-преобразований.

AVC/H.264 определяет два инструмента для энтропийного кодирования битового потока - контекстное адаптивное кодирование с переменной длиной (Context-Adaptive Variable Length Coding, CAVLC) и контекстное адаптивное бинарное арифметическое кодирование (Context-Adaptive Binary Arithmetic Coding, CABAC) [3]. В CAVLC количество коэффициентов, не равных 0, кодируется отдельно от их значения и положения в векторе. После зигзаг-сканирования коэффициентов преобразования большие значения коэффициентов, соответствующие низкочастотной составляющей, располагаются в начале вектора, а меньшие (соответствующие высокочастотной части) - в конце. В [8] работа метода CAVLC рассмотрена на следующем типичном векторе коэффициентов:

7 6 -2 0 -1 0 0 1 0 0 0 0 0 0 0 0

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

1) Количество ненулевых коэффициентов (N) и количество коэффициентов, равных единице по абсолютной величине, располагающихся после последнего ненулевого элемента (T1). Для данного примера T1 = 2 (коэффициенты -1 и 1), а N = 5 (коэффициенты 7, 6, -2, -1, 1).

2) Закодированные значения коэффициентов. При этом для ненулевых элементов, равных по абсолютной величине единице, необходимо сохранять только их знак. Коэффициенты кодируются в обратном порядке, т.е. первым закодированным коэффициентом в данном случае будет -2. Для кодирования используются 6 таблиц VLC (Variable Length Codes, коды переменной длины) Голомба. Для кодирования первого коэффициента используется стартовая таблица. Контекстная адаптивность алгоритма заключается в возможности сменить таблицу для кодирования каждого следующего коэффициента в зависимости от предыдущих коэффициентов.

3) Информация о знаках. Для кодирования знака используется один бит. Для кодирования единичных коэффициентов кроме этого бита никакой другой информации не требуется, а для других коэффициентов знаковый бит включается в коды Голомба. Местонахождение каждого ненулевого коэффициента кодируется путем указания позиций нулей перед последним ненулевым коэффициентом. Эта информация разбивается на 2 части:

3.1) Общее количество нулей. Это число определяет количество нулей между последним ненулевым коэффициентом вектора и его начальным элементом. Для данного примера это число равно 3. Так как уже известно, что число ненулевых коэффициентов в векторе (N) равно 5, то это число должно быть в пределах [0,11]. Для N в пределах от 1 до 15 доступно 15 таблиц. N, равное 16, означает, что в векторе нет нулевых коэффициентов.

3.2) Расположение нулей в векторе. В данном примере нужно обозначить положение 3 нулей. Сначала кодируется количество нулей перед последним ненулевым коэффициентом (в примере - 2). Это число должно находится в пределах [0,3], поэтому используется соответствующая таблица VLC. Осталось закодировать положение последнего нуля. Количество нулей перед предпоследним ненулевым коэффициентом должно быть в пределах [0,1]. В примере это число равно 1. Больше нулей нет, поэтому кодирование заканчивается.

Эффективность энтропийного кодирования может быть повышена путем использования контекстно-адаптивного двоичного арифметического кодирования (CABAC). Использование арифметического кодирования допускает использование нецелого количества бит на символ алфавита, что особенно хорошо для символов с вероятностью больше 0,5. Важной особенностью CABAC является контекстное моделирование. Статистические данные об уже закодированных символах используются для оценки вероятностей символов. Эти данные используются для переключения между несколькими моделями для оценки вероятности. В H.264/AVC арифметический кодер представляет собой совокупность

процедур низкой сложности, в которых отсутствуют операции умножения. Процедуры включают в себя сдвиги и обращения к таблицам. Использование САВАС позволяет уменьшить в среднем битрейт на 10—15%. Наибольший выигрыш получается обычно при обработке чересстрочных сигналов ТВ. В таблице приводится сравнение упомянутых выше стандартов сжатия и используемых в них алгоритмах сжатия.

Название стандарта Область применения Первичный алгоритм Вторичный алгоритм Разрешения Поток Недостатки и достоинства

H.261 ISDN-видеоконференции, аппаратные кодеки БСТ

H.263 Для видео -конференций в сетях ATM и по широкополосным каналам БСТ (блоки 8х8) и квантование Арифметическое кодирование 8иЪ-рС1Р, ОС^, ОТ, 4СШ, 16С1Б, отдельно настраиваемые разрешения 0,04-2 Мбит/с (рх64 Кбит/с, где р от 1 до 30) Достоинства: улучшен алгоритм компенсации движения по сравнению с Н.261, более эффективный вторичный алгоритм. Недостатки: находится между МРЕв-2 и МРЕв-4 по количеству заложенных идей

ISO MPEG-1 хранение видеопоследователь-ностей на CD-ROM БСТ (блоки 8х8) и квантование Коды пе- ремен-ной длины (Хафф- ман) 352х240х 30 352х288х 25 1,5 Мбит/с Достоинства: прост в апп. реализации. Недостатки: низкая степень сжатия, недостаточная гибкость формата.

ISO MPEG- 2 хранения на DVD Универсальный 3-15 Мбит/с Достоинства: сравнительная простота апп. реализации. Недостатки: недостаточная степень сжатия, малая гибкость.

MPEG-4 Part 10 (AVC, H.264) кодирование отдельных аудиовизуальных объектов, как естественного проис-хож-дения, так и синте-зиро-ванных Целочисленное БСТ (блоки 4х4), либо DWT и квантование меж-кад-ровой разности САУЬС или САВАС Универсальный 0,0048-20 Мбит/с Достоинства: высокая степень универсальности, объектно-ориентированная работа с потоком данных. Недостатки: высокая сложность реализации

Таблица. Сравнительные характеристики основных стандартов сжатия видеоданных

Заключение

МРЕО-4, будучи последним по времени появления стандартом, использует наиболее эффективные алгоритмы сжатия данных, например, алгоритм арифметического кодирования для энтропийного кодирования и вейвлет-преобразования в качестве пер-

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

• использование альтернативных методов сжатия без потерь, таких как различные реализации арифметического кодирования (напр., CABAC), цепные коды и т.п.;

• использование альтернативных преобразований - вейвлет-преобразований (DWT), фрактальных преобразований и выделения объектов с их последующим описанием

[9].

Литература

1. Ватолин Д., Ратушняк А., Смирнов М., Юкин В. Методы сжатия данных. Устройство архиваторов, сжатие изображений и видео. М.: ДИАЛОГ-МИФИ, 2003. 384 с.

2. Сэломон Д. Сжатие данных, изображений и звука. М.: Техносфера, 2004. 368 с.

3. Семенюк В.В. Экономное кодирование дискретной информации. СПб: СПбГИТМО (ТУ), 2001. 115 с.

4. Ричардсон Я. Видеокодирование. Н.264 и MPEG-4 - стандарты нового поколения. М.: Техносфера, 2005. 368 с.

5. Draft ITU-T Recommendation and Final Draft International Standard of Joint Video Specification (ITU-T Rec. H.264 | ISO/IEC 14496-10 AVC), 2003.

6. Image and Video Coding - Emerging Standards and Beyond. // IEEE Transactions on Circuits and Systems for Video Technology. 1997. V. 8. № 7. Р. 814-837.

7. ITU-T Recommendation H.264 (03/2005) / Prepublished version.

8. Thomas Wiegand, Gary J. Sullivan, Gisle Bjontegaard, Ajay Luthra. Overview of the H.264/AVC Video Coding Standard. // IEEE Transactions on Circuits and Systems for Video Technology, July 2003.

9. Ожиганов А.А., Тропченко А.А., Тропченко А.Ю. Модифицированный фрактальный метод сжатия многоуровневых изображений.// Информационные технологии. 2003. № 4.