|
|
27 июня 2011
Оглавление: 1. H.264 2. Профили 3. Уровни 4. Патенты 5. Недостатки
H.264, MPEG-4 Part 10 или AVC лицензируемый стандарт сжатия видео, предназначенный для достижения высокой степени сжатия видеопотока при сохранении высокого качества.
О стандарте
Он был создан ITU-T Video Coding Experts Group совместно с ISO / IEC Moving Picture Experts Group в рамках совместной программы Joint Video Team.
Стандарты ITU-T H.264 и ISO/IEC MPEG-4 Part 10 технически полностью идентичны. Финальный черновой вариант первой версии стандарта был закончен в мае 2003 года.
Используется в цифровом телевидении высокого разрешения и во многих других областях цифрового видео.
Возможности
Стандарт H.264 / AVC / MPEG-4 Part 10 содержит ряд новых возможностей, позволяющих значительно повысить эффективность сжатия видео по сравнению с предыдущими стандартами, обеспечивая также большую гибкость применения в разнообразных сетевых средах. Основные из них:
- Многокадровое предсказание:
- Использование сжатых ранее кадров в качестве опорных куда более гибко, чем в предыдущих стандартах. Позволяется использование до 32 ссылок на другие кадры, тогда как в ASP и более ранних число ссылок ограничено одним или, в случае B-кадров, двумя кадрами. Это поднимает эффективность кодирования, так как позволяет кодеру выбирать для компенсации движения между большим количеством изображений. В большинстве сцен данная функция обеспечивает не очень большое улучшение в качестве и не даёт заметного понижения битрейта. Однако, для некоторых сцен, например, с частыми повторяющимися участками, возвратно-поступательным движением и т. п. данный подход при сохранении качества позволяет очень сильно снизить затраты битрейта.
- Независимость порядка воспроизведения изображений и порядка опорных изображений. В предшествующих стандартах устанавливалась жёсткая зависимость между порядком следования изображений для использования при компенсации движения и порядком следования изображений при воспроизведении. В новом стандарте эти ограничения в значительной мере устранены, что позволяет кодеру выбирать порядок изображений для компенсации движения и для воспроизведения с высокой степенью гибкости, которая ограничена только объёмом памяти, который гарантирует возможность декодирования. Устранение ограничения также позволяет в ряде случаев устранить дополнительную задержку, ранее связанную с двунаправленным предсказанием.
- Независимость методов обработки изображений и возможности их использования для предсказания движения. В предшествующих стандартах изображения, закодированные с использованием некоторых методов, не могли использоваться в качестве опорных для предсказания движения других изображений видеопоследовательности. Устраняя это ограничение, новый стандарт обеспечивает кодеру большую гибкость и, во многих случаях, возможность использовать для предсказания движения изображение, более близкое по содержанию к кодируемому.
- Компенсация движения с переменным размером блока позволяет крайне точно выделять области движения.
- Векторы движения, выводящие за границы изображения. В MPEG-2 и предшествовавших ему стандартах векторы движения могли указывать только на пикселы, находящиеся в границах декодированного опорного изображения. Методика экстраполяции за границы изображения, появившаяся как опция в H.263, включена в новый стандарт.
- Шеститочечная фильтрация компонента яркости для полупиксельного предсказания с целью уменьшения зубчатости краев и, в конечном счёте, обеспечения большей чёткости изображения.
- Точность до четверти пиксела при компенсации движения обеспечивает очень высокую точность описания движущихся областей. Цветность, как правило, хранится с разрешением, уменьшенным вдвое по вертикали и горизонтали, поэтому компенсация движения для компонента цветности использует точность в одну восьмую пиксела цветности.
- Взвешенное предсказание, позволяющее использовать масштабирование и сдвиг после компенсации движения на величины, указанные кодером. Такая методика может чрезвычайно сильно поднять эффективность кодирования для сцен с изменением освещённости, например при эффектах затемнения, постепенного появления изображения.
- Пространственное предсказание от краёв соседних блоков для I-кадров. Новая методика экстраполяции краёв ранее декодированных частей текущего изображения повышает качество сигнала, используемого для предсказания.
- Сжатие макроблоков без потерь:
- Метод представления макроблоков без потерь в PCM, при котором видеоданные представлены непосредственно, позволяющий точно описывать определённые области и допускающий строгое ограничение на количество закодированных данных для каждого макроблока.
- Улучшенный метод беспотерьного представления макроблоков, позволяющий точно описывать определённые области, при этом обычно затрачивая существенно меньше битов, чем PCM.
- Гибкие функции чересстрочного сжатия:
- Адаптивное к изображению кодирование полей, позволяющее кодировать каждый кадр как кадр или как пару полей в зависимости от отсутствия\наличия движения.
- Адаптивное к макроблокам кодирование полей, позволяющее независимо кодировать каждую вертикальную пару макроблоков как прогрессивные или чересстрочные. Позволяет использовать макроблоки 16×16 в режиме разбиения на поля. Почти всегда эффективнее PAFF.
- Новые функции преобразования:
- Точное целочисленное преобразование пространственных блоков 4×4, позволяющее точное размещение разностных сигналов с минимумом шума, часто возникающего в предыдущих кодеках.
- Точное целочисленное преобразование пространственных блоков 8x8, обеспечивающее большую эффективность сжатия схожих областей, чем 4×4.
- Адаптивный выбор кодеком между размерами блока 4×4 и 8×8.
- Дополнительное преобразование Адамара, применяемое к дискретно-косинусным коэффициентам основного пространственного преобразования для достижения большей степени сжатия в однородных областях.
- Квантование:
- Логарифмическое управление длиной шага для упрощения распределения битрейта кодером и упрощенного вычисления обратной длины квантования.
- Частотно-оптимизированные матрицы масштабирования квантования, выбираемые кодером для оптимизации квантования на основе человеческих особенностей восприятия.
- Внутренний фильтр деблокинга в цикле кодирования, устраняющий артефакты блочности, часто возникающие при использовании основанных на DCT техниках сжатия изображений.
- Энтропийное кодирование квантованных коэффициентов трансформации:
- Context-adaptive binary arithmetic coding алгоритм сжатия без потерь для синтаксических элементов видеопотока на основе вероятности их появления. Поддерживается только в Main Profile и выше. Обеспечивает более эффективное сжатие, чем CAVLC, но требует значительно больше времени на расшифровку.
- Context-adaptive variable-length coding альтернатива CABAC меньшей сложности. Тем не менее, оно сложнее и эффективнее, чем алгоритмы, применяемые для тех же целей в более ранних технологиях сжатия видео.
- Часто используемое, простое и высоко структурированное кодирование словами переменной длины многих элементов синтаксиса, не закодированных CABAC или CAVLC, известное как коды Голомба.
- Функции устойчивости к ошибкам:
- Определение уровня сетевой абстракции, позволяющее использовать один и тот же синтаксис видео в различных сетевых окружениях, включая наборы параметров последовательности и наборы параметров изображения, которые обеспечивают большую надёжность и гибкость, чем предыдущие технологии.
- Гибкое упорядочивание макроблоков, также известное как группы частей и произвольное упорядочивание частей методы реструктурирования порядка представления фундаментальных областей в изображениях. При эффективном использовании гибкое упорядочивание макроблоков может существенно повысить устойчивость к потере данных.
Благодаря ASO, так как каждая часть изображения может быть декодирована независимо от других, новый стандарт позволяет посылать и получать их в произвольном порядке друг относительно друга. Это может снизить задержку в приложениях реального времени, особенно при использовании на сетях, имеющих режим работы доставка вне очереди. Эти функции могут также использоваться для множества других целей помимо восстановления ошибок.
-
- Разбиение данных функция, обеспечивающая разделение данных разной важности по разным пакетам данных с разными уровнями защиты от ошибок.
- Избыточные части. Возможность посылки кодером избыточного представления областей изображений, позволяя воспроизвести области изображений, данные о которых были потеряны в процессе передачи.
- Нумерация кадров, позволяющая создание «подпоследовательностей» а также обнаружение потерь целых кадров при сбоях канала или пропаже пакетов.
Просмотров: 6637
|