Стандарт видеокодирования AVC.ppt
- Количество слайдов: 68
Стандарт видеокодирования H. 264/AVC ITU-T Rec. H. 264 – ISO/IEC 14496 -10 (MPEG-4 Part 10 AVC)
Области действия стандарта В H. 264/AVC стандартизуется только декодер путем накладывания ограничений на битовый поток и синтаксис и определения процесса декодирования синтаксических элементов таким образом, чтобы любой декодер, отвечающий стандарту, создавал одинаковый выходной поток, если ему на вход подавать кодированный поток, отвечающий ограничениям стандарта. Это позволяет давать максимальную свободу для оптимизации конкретных реализаций для конкретных приложений (соблюдая баланс между качеством компрессии, стоимостью, временем разработки и т. д. ). Однако этот подход не дает никаких гарантий качества кодированиядекодирования, так как позволяет применять даже грубую методику кодирования, если только она соответствует ограничениям стандарта.
Области применения Н. 264/AVC • кабельное, спутниковое, наземное телевизионное вещание; • хранение на оптических и магнитных носителях, DVD и т. д. ; • интерактивные службы, работающие с видеоинформацией в сетях ISDN, Ethernet, DSL, беспроводных и мобильных сетях и т. д. , а также при любых сочетаниях этих сетей; • видео по запросу и службы потокового мультимедиа в различных сетях; • службы мультимедийных сообщений в различных сетях.
Структура видеокодирования H. 264/AVC Стандарт включает два уровня: - Уровень видеокодирования (Video Coding Layer, VCL) для эффективного представления видеоконтента. -Уровень сетевой абстракции (Network Abstraction Layer, NAL) форматирует представление видео VCL и обеспечивает заголовочную информацию для передачи на различных транспортных уровнях или средствах хранения. Уровень сетевой абстракции (NAL) облегчает возможность переносить данные видеокодирования на транспортном уровне: - RTP/IP для любых типов проводных и беспроводных Интернет-сервисов реального времени (диалоговых или потоковых); - Файловые форматы, например, ISO MP 4 для хранения и MMS; - H. 32 X для проводных и беспроводных диалоговых сервисов; - Систем MPEG-2 для вещательных услуг и т. д.
Улучшения возможностей предсказания • Компенсация движения с переменным размером блока, включая малые размеры блока (4 х4); • Компенсация движения с точностью до четверти пиксела; • Вектора движения, выводящие блоки за границы изображения; • Компенсация движения с несколькими опорными изображениями; • Независимость порядка воспроизведения изображений и порядка опорных изображений; • Независимость методов обработки изображений и возможности использования их для предсказания движения; • Взвешенное предсказание; • Улучшенная обработка «пропущенных» (skipped) блоков и «прямого» (direct) предсказания движения; • Направленное пространственное предсказание при внутрикадровом кодировании; • Деблокинговая фильтрация в цикле кодирования.
Другие методы повышения эффективности кодирования • • • Преобразование блоков небольшого размера; Иерархическое преобразование блоков; Преобразование с использованием 16 -битной арифметики; Точное обратное преобразование; Арифметическое энтропийное кодирование; Контекстно-адаптивное энтропийное кодирование (CAVLC и CABAC).
Повышение устойчивости к ошибкам и потерям данных, гибкость работы • Структура набора параметров; • Синтаксическая структура блока Уровня сетевой абстракции (NAL unit); • Гибкий размер слайса; • Гибкое упорядочивание макроблоков; • Произвольное упорядочивание слайсов; • Избыточные изображения; • Разбиение данных; • SP/SI синхронизация/переключение изображений.
1. Функциональные возможности стандарта H. 264/AVC Новые возможности предсказания кодируемого изображения: - Компенсация движения с использованием переменных размеров блока, включая малые размеры блока - до 4 х4 пиксела. - Компенсация движения с точностью до четверти пиксела как и в расширенном профиле MPEG-4, но в стандарте уменьшена сложность интерполяции. - Вектора движения, выводящие за границы изображения - метод экстраполяции за границы изображения как опция в H. 263, включен в стандарт. - Компенсация движения с несколькими опорными изображениями - расширяется методика выбора опорного изображения (приложение к стандарту H. 263); это позволяет кодеру выбирать для компенсации большое количество изображений, декодированных и сохраненных на декодере. Такое же расширение возможностей выбора опорного изображения применяется и для двунаправленного предсказания. - Независимость порядка воспроизведения изображений и порядка опорных изображений, что позволяет кодеру выбирать порядок изображений для компенсации движения и для воспроизведения с высокой степенью гибкости, которая ограничена только используемым объемом памяти при декодировании. - Независимость методов обработки изображений и возможности их использования для предсказания движения - обеспечивается большая гибкость и возможность использовать для предсказания движения изображение, более близкое по содержанию к кодируемому.
2. Функциональные возможности стандарта H. 264/AVC - Взвешенное предсказание - позволяет взвешивать и сдвигать сигнал после компенсации движения на величины, указанные кодером (поднимает эффективность кодирования сцен с изменением освещенности и др. ). - Улучшенная обработка «пропущенных» (skipped) блоков и блоков с «прямым» (direct) предсказанием движения. Стандарт предполагает возможное наличие движения в «пропущенных» областях. Для областей с двунаправленным предсказанием стандарт предусматривает расширенный метод компенсации движения (так называемая «прямая» компенсация движения), позволяющий улучшить «прямое» предсказание, введенное в приложении к H. 263 и MPEG-4. - Направленное пространственное предсказание для внутрикадрового кодирования - методика экстраполяции краев ранее декодированных частей текущего изображения применяется в областях изображений, кодируемых с помощью внутрикадровой методики - повышается качество сигнала, применяемого для предсказания, а также позволяет использовать для предсказания соседние области, которые были закодированы не с помощью внутрикадровой методики. - Деблокинговая фильтрация в цикле кодирования - устраняет «блокинг-эффект» ; деблокинговый фильтр внесен в петлю обратной связи предсказания и компенсации движения. - Преобразование блоков небольшого размера уменьшает искажения типа «окантовки» (ringing) и обеспечивает области преобразования с границами, соответствующими малым областям предсказания. - Иерархическое преобразование блоков. От 16 х16, затем 16 х8 и 8 х16, затем 8 х8, Затем 8 х4 и 4 х8 и до 4 х4.
3. Функциональные возможности стандарта H. 264/AVC - Преобразование с использованием 16 -битной арифметики – упрощенный вариант вычислений. - Точное обратное преобразование - достигается точное совпадение декодированного видео на всех декодерах. - Арифметическое энтропийное кодирование - используется более эффективная методики контекстно-адаптивного двоичного арифметического кодирования: - CAVLC (контекстно-адаптивное кодирование кодами переменной длины) и - CABAC (контекстно-адаптивное двоичное арифметическое кодирование). Устойчивость к ошибкам и потерям данных и гибкость работы на множестве сетевых структур определяется целым рядом новых методик, в том числе: - Структура набора параметров обеспечивает устойчивую и эффективную передачу заголовочной информации. - Синтаксическая структура блока Уровня сетевой абстракции (NAL unit) помещается в логический пакет данных, наиболее подходящий для каждого специфического вида сетей. - Гибкий размер слайса и гибкое упорядочивание макроблоков - новая возможность деления изображения на группы слайсов; каждый слайс становится независимо декодируемым подмножеством группы слайсов. - Произвольное упорядочивание слайсов снижает задержку в приложениях реального времени, особенно в сетях, имеющих режим работы «доставка вне очереди» (например, в IP-сетях).
3. Функциональные возможности стандарта H. 264/AVC - Избыточные изображения - для увеличения устойчивости к потере данных имеется возможность посылки избыточного представления областей изображений с некоторой потерей качества. - Разбиение данных – для передачи наиболее значимой информации (например, вектора движения и другая информация предсказания) стандарт позволяет разделить синтаксис каждого слайса на части (до трех частей). - SP/SI синхронизация/переключение изображений - стандарт вводит новые типы изображений, которые делают возможной точную синхронизацию процесса декодирования с непрерывным видеопотоком, производимым другими параллельно работающими декодерами; это свойство позволяет переключать декодер на декодирование видеоконтента с разными скоростями потока, восстановливать после потерь или ошибок данных, а также использовать ряд режимов, таких как быстрая перемотка вперед или назад и др. Уровень сетевой абстракции (NAL). Кодированные видеоданные организованы в элементы NAL, каждый из которых представляет собой пакет c целым количеством байт. Некоторые системы (например, Н. 320 и MPEG-2|H. 222. 0) требуют доставки всего или части потока элементов NAL как упорядоченного потока байт или бит и положение границ элементов NAL следует идентифицировать среди самих кодированных данных. Для использования в таких системах стандарт определяет формат байтового потока. В других системах (например, IP/RTP) кодированные данные переносятся пакетами, которые собираются системным транспортным протоколом.
Профили стандарта Н. 264 № Видео профили 1 Ограниченный базовый профиль Базовый профиль Специфические особенности Широко используется в первую очередь для недорогих приложений: в видеоконференциях и системах мобильного приема. 3 Главный профиль 4 Расширенный профиль 5 Высокий профиль 6 Высокий профиль 10 Применяется для дешевых приложений при дополнитель-ной защитеот ошибок. Этот профиль редко используется в видеоконференцсвязи и мобильных приложениях. Исходно рассматривался как основной профиль для передачи и хранения данных, использование было практически сведено к нулю после разработки High-профилей для тех же применений. Для организации потокового видео, использует относи-тельно большие возможности сжатия и дополнительные приемы для обеспечения устойчивости к потере данных и коммутации потоков сервера. Организация потокового видео, использует относительно большие возможности сжатия и дополнительные приемы для обеспечения устойчивости к потере данных и коммутации потоков сервера. Основной профиль для передачи и хранения приложений на дисках, особенно для приложений высокой четкости. 7 Высокий профиль 4: 2: 2 Ориентирован на профессиональные приложения. Этот профиль основыван на применении Hi. P, добавляя поддержку режимс 4: 2: 2. 8 Высокий интеллектуальный профиль 4: 4: 4 Высокий стерео профиль Основывается на профиле 4: 2: 2 с поддержкой 4: 4: 4 и до 14 бит на пиксел при реализации эффективного кодирования без потерь и кодирования фотографии в виде трех цветов. 2 9 Предназначен для стереоскопического трехмерного видео и комбинирует инструменты High- профилей со способностями предсказания при кодировании компонент видеоинформации.
Уровень сетевой абстракции (NAL) • • • Элементы NAL Байтовый и пакетный форматы потока VLC и не-VLC элементы NAL Наборы параметров Единицы доступа Кодированная видеопоследовательность
Структура единицы доступа начало разделитель единиц доступа дополнительная расширенная информация первичное кодированное изображение избыточное кодированное изображение конец последовательности конец потока конец
Уровень видеокодирования (VLC) • • • Изображения, кадры и поля Цветовое пространство YCb. Cr и дискретизация 4: 2: 0 Разбиение изображения на макроблоки Слайсы и группы слайсов Кодирование и декодирование макроблоков Адаптивное кодирование кадров/полей Внутрикадровое предсказание Межкадровое предсказание Преобразование, масштабирование, квантование Энтропийное кодирование Деблокинговый фильтр в цикле кодирования
1. Уровень видеокодирования в стандарте H. 264/AVC Базовый алгоритм кодирования источника является гибридным, включая межкадровое предсказание, использующее временную статистическую зависимость, и кодирование с преобразованием остатков предсказания, использующее пространственные статистические связи. Стандартом введено множество небольших улучшений, которые вместе приводят к существенному росту эффективности кодирования. Кодированное изображение может представлять или целый кадр, или поле. Стандартом используется цветовое пространство YCb. Cr и уменьшение пространственного разрешения цветовой информации Cb и Cr в два раза по вертикали и по горизонтали (модель цветности 4: 2: 0), точность представления отсчетов яркости и цветности – 8 бит. Изображение делится на макроблоки фиксированного размера, охватывающие прямоугольные области изображения 16 х16 отсчетов яркостной компоненты и 8 х8 отсчетов каждой из двух цветностных компонент. Слайсы представляют собой последовательности макроблоков, которые обрабатываются в порядке сканирования растра, если не используется гибкое упорядочивание макроблоков (flexible macroblock ordering, FMO). FMO изменяет способ деления изображения на слайсы и макроблоки с использованием концепции слайсовых групп, каждая из них – это множество макроблоков, определенное с помощью таблицы распределения макроблоков по слайсовым группам.
2. Уровень видеокодирования в стандарте H. 264/AVC Независимо от использования гибкого упорядочивания макроблоков FMO, каждый слайс может кодироваться с использованием следующих типов: - I-слайс – все макроблоки закодированы с использованием внутреннего (intra) предсказания; - P-слайс – помимо типов кодирования I-слайса, некоторые макроблоки могут быть закодированы с использованием однонапрвленного предсказания; - B-слайс – помимо типов кодирования P-слайса, некоторые макроблоки могут быть закодированы с использованием двунаправленного предсказания. - SP-слайс – так называемый переключаемый P-слайс, который кодируется таким образом, что становится возможным эффективное переключение между различными заранее кодированными изображениями; - SI-слайс – так называемый переключаемый I-слайс, который делает возможным точное совпадение макроблоков в SP-слайсе для произвольного доступа и восстановления ошибок. Все отсчеты яркости и цветности макроблока предсказываются или в пространстве, или во времени, результирующий остаток предсказания кодируется с использованием преобразования. Для кодирования с преобразованием каждая цветовая компонента сигнала остатка предсказания делится на меньшие блоки 4 х4. Каждый блок подвергается целочисленному преобразованию, коэффициенты преобразования квантуются и кодируются с помощью энтропийного кодирования. Каждый макроблок может передаваться в одном из нескольких режимов кодирования в зависимости от типа кодирования слайса. Во всех типах кодирования слайса поддерживаются различные варианты внутрикадрового кодирования.
Базовая схема кодирования макроблока Управление кодером Входной видеосигнал; делится на макроблоки 16 х16 пикселов Данные управления + Преобразование/ масштабирование/ квантование Декодер Квантованные коэффициенты преобразования Масштабирование и обратное преобразование Энтропийное кодирование + Внутрикадровое предсказание Компенсация движения Деблокинговый фильтр Восстановленное изображение Выходной видеосигнал Данные о движении Поиск движения
1. Внутрикадровое предсказание в стандарте H. 264/AVC Типы внутрикадрового кодирования: • Режим Intra_4 x 4 основан на предсказании каждого блока яркости 4 х4; подходит для кодирования частей изображения с существенными деталями. • Режим Intra_16 x 16 осуществляет предсказание блока яркости 16 х16 целиком; подходит для очень гладких областей изображения. В дополнение к этим двум типам предсказания яркости вводится отдельный режим предсказания цветности. • Режим I-PCM позволяет кодеру прямо посылать значения кодируемых отсчетов. При режиме Intra_4 x 4 каждый блок 4 х4 предсказывается по соседним отсчетам, как показано на рисунке слева. 16 отсчетов блока 4 х4, помеченные буквами a – p, предсказываются с использованием ранее декодированных отсчетов соседних блоков, отмеченных буквами A – Q. Для каждого блока 4 х4 используется один из 9 режимов предсказания. В дополнение к «DC» -предсказанию (одно значение используется для предсказания всего блока 4 х4), имеются 8 режимов «направленного» предсказания, как показано на рисунке справа. Эти режимы полезны для предсказания структур в изображении, таких как границы, расположенные под различными углами. Q A B C D E F G H I a b c d J e f g h K i j k l L m n o p 8 1 6 4 3 7 0 5
Предсказание Intra_4 x 4 Q A B C D I a b c d J e f g E F G H h 8 1 K i j k l 6 L m n o p 4 3 7 0 5
2. Внутрикадровое предсказание в стандарте H. 264/AVC Режимы предсказания Intra_4 x 4: • режим 0 (вертикальное предсказание) - копируются отсчеты сверху от блока; • режим 1 (горизонтальное предсказание) - копируются отсчеты слева от блока; • режим 2 (DC-предсказание) прилегающие отсчеты усредняются; • режимы 3 – 8 диагонального предсказания текстур - диагонально-внизвлево (3) , диагонально-вниз-вправо (4), вертикально-вправо (5), горизонтально-вниз (6), вертикально-влево (7) и горизонтально-вверх (8). Режим 0 - Вертикальный Режим 1 - Горизонтальный Режим 2 - DC Пять из девяти режимов предсказания: Режимы предсказания Intra_16 x 16 и блоков Цветности включают 0, 1, 2 –режимы, а также предсказание по плоскости (plane). + + + Режим 3 - Диагонально-вниз-влево Режим 4 - Диагонально-вниз-вправо +
Пять из девяти режимов предсказания Intra_4 x 4 Режим 0 - Вертикальный Режим 1 - Горизонтальный Режим 2 - DC + + + Режим 3 - Диагонально-вниз-влево Режим 4 - Диагонально-вниз-вправо +
1. Межкадровое предсказание в стандарте H. 264/AVC Межкадровое предсказание в P-слайсах. Синтаксис поддерживает деление на блоки яркости размером 16 х16, 16 х8, 8 х16 и 8 х8 отсчетов, а также дальнейшее деление блока 8 х8 на блоки 8 х4, 4 х8 или 4 х4 отсчета яркости и соответствующие отсчеты цветности. Следовательно для Pмакроблока могут передаваться до 16 векторов движения. Точность компенсации движения – до четверти расстояния между отсчетами яркости. Величины предсказания в полупиксельных позициях рассчитываются с помощью применения одномерного 6 -точечного КИХ-фильтра по горизонтали и по вертикали. Величины предсказания в четвертьпиксельных позициях получаются с помощью усреднения значений в целочисленных и полупиксельных позициях. Значения для предсказания компонент цветности всегда формируются путем билинейной интерполяции. Так как сетка дискретизации цветности имеет меньшее разрешение по сравнению с решеткой дискретизации яркости, смещение цветности имеет точность восьмой части отсчета. Синтаксис допускает использование векторов движения за границами изображения, , которые указывают за границы изображения - опорное изображение экстраполируется за границы путем повторения граничных отсчетов до интерполяции. Векторы кодируются дифференциально с помощью медианного или направленного (directional) предсказания относительно соседних блоков. Предсказание векторов не осуществляется за границы слайсов. P-макроблок может быть закодирован в так называемом режиме P_Skip (пропущенный).
2. Межкадровое предсказание в стандарте H. 264/AVC Межкадровое предсказание в B-слайсах. Существенная разница между B- и P-слайсами состоит в том, что B-слайсы кодируются так, что некоторые макроблоки или блоки могут использовать взвешенное среднее двух различных значений предсказания с компенсацией движения для построения сигнала предсказания. Поддерживается четыре типа межкадрового предсказания: список 0, список 1, двунаправленное предсказание и прямое предсказание. В режиме двунаправленного предсказания сигнал предсказания формируется взвешенным усреднением сигналов предсказания с компенсацией движения из списка 0 и списка 1. Наряду с режимами 16 x 16, 16 x 8, 8 x 16, 8 x 8 типами внутрикадрового кодирования имеются двунаправленное предсказание и так называемое прямое предсказание. Для каждого блока 16 х16, 16 х8, 8 х16 и 8 х8 метод предсказания (список 0, список 1, двунаправленное) может быть выбран независимо. Блок 8 х8 B-макроблока также может быть закодирован в прямом (direct) режиме. Если сигнал ошибки предсказания не передается в режиме прямого (direct) кодирования макроблока, то этот режим также является B_Skip (пропущенный B), и макроблок может быть закодирован очень эффективно аналогично режиму P_Skip в P-слайсах. Кодирование векторов движения в B-слайсах похоже на кодирование векторов движения в P-слайсах с соответствующими изменениями, так как соседние блоки могут быть закодированы с использованием различных режимов предсказания.
Преобразование в стандарте H. 264/AVC Преобразование применяется к блокам 4 х4, и вместо ДКП используется сепарабельное целочисленное преобразование, близкое по свойствам к ДКП. Матрица этого преобразования – Поскольку обратное преобразование определяется точными целочисленными операциями, неточность обратного преобразования отсутствует. Процесс кодированиясвключает прямое преобразование, z-упорядочивание, масштабирование и округление (процесс квантования), за которыми следует энтропийное кодирование. DC коэффициенты всего макроблока подвергаются второму преобразованию. Дополнительное преобразование 2 х2 также применяется к DC коэффициентам четырех блоков 4 х4 каждой компоненты цветности. Несколько причин использования меньшего размера преобразования Н: - улучшенный процесс внутрикадрового и межкадрового предсказания обеспечивает меньшую пространственную корреляцию остаточного сигнала; - преобразование 4 х4 реализует меньшие визуальные искажения возле границ, известные как «эффект комаров» (mosquito noise) или «окантовки» (ringing). - меньшее преобразование обладает меньшей вычислительной сложностью.
Матрица преобразования
Квантование в стандарте H. 264/AVC, преимущества стандарта Параметр квантования может принимать 52 значения. Эти значения расположены таким образом, что увеличение на 1 параметра квантования означает увеличение шага квантования примерно на 12% (увеличение на 6 соответствует увеличению шага квантования в 2 раза). Изменение шага квантования приблизительно на 12% также в первом приближении означает уменьшение битовой скорости примерно на 12%. Квантованные коэффициенты преобразования блока обычно переупорядочиваются зигзагообразным сканированием и передаются с помощью методов энтро- пийного кодирования. 2 х2 DC коэффициенты цветностных компонент упорядочиваются в порядке сканирования растра. Все операции обратных преобразований выполняются с помощью только сложений и сдвигов 16 -битных целых величин. Аналогично, только 16 -битный доступ к памяти требуется для хорошей реализации процессов прямого преобразования и квантования в кодере. Таким образом, новый стандарт имеет множество улучшений стандартной методики видеокодирования и реализует эффективное использование во множестве типов сетей и областей приложений. Некоторые важные отличия: - расширенные возможности предсказания движения; - использование точного преобразования блоков малого размера; - адаптивный деблокинговый фильтр в цепи кодирования; - улучшенные методы энтропийного кодирования. При совместном использовании эти свойства обеспечивают уменьшение битового потока примерно на 50% при сохранении качества воспроизведения по сравнению с предшествующими стандартами.
Энтропийное кодирование в стандарте H. 264/AVC Поддерживаются два метода энтропийного кодирования. Более простой метод использует одну таблицу кодовых слов для всех синтаксических элементов, за исключением квантованных коэффициентов преобразования. Для каждого синтаксического элемента, в соответствии со статистикой данных строится одна таблица кодовых слов переменной длины. Для передачи квантованных коэффициентов преобразования применяется контестно-адаптирующееся кодированием кодами переменной длины (contextadaptive variable length coding, CAVLC). В этой схеме таблицы кодов переменной длины (VLC) для различных синтаксических элементов переключаются в зависимости от уже переданных синтаксических элементов. Эффективность энтропийного кодирования дополнительно улучшается при использовании контекстно-адаптирующегося двоичного арифметического кодирования (context-adaptive binary arithmetic coding, CABAC). Статистика уже закодированных синтаксических элементов используется для оценки условных вероятностей. Эти условные вероятности используются для переключения нескольких моделей оценки вероятности. В Н. 264/AVC ядро арифметического кодирования и связанные с ним оценки вероятностей определены как методы низкой сложности без умножений, которые используют только сдвиги и поиск по таблицам. По сравнению с CAVLC, CABAC обычно обеспечивает снижение битового потока на 5 – 15%.
Контестно-адаптирующееся кодирование кодами переменной длины (CAVLC ) • Количество ненулевых коэффициентов (N) и «завершающих единиц» (1 s) • Кодирование величин коэффициентов • Информация о знаке • Количество нулей (Total. Zeroes) • «Количество перед» (Run. Before) 7 6 -2 0 -1 0 0 0 0 0
Эффективность сжатия динамических изображений в стандарте H. 264/AVC Усовершенствования и новые возможности предсказания содержания кодируемого изображения: • • • • Компенсация движения с использованием переменных, включая малые размеры блоков; Компенсация движения с точностью до четверти пиксела; Использование векторов движения, выводящих за границы изображения; Компенсация движения с несколькими опорными изображениями; Независимость порядка воспроизведения изображений и порядка опорных изображений, что позволяет в ряде случаев исключить дополнительную задержку, ранее связанную с двунаправленным предсказанием; Независимость методов обработки изображений и возможности использования для предсказания движения изображений, более близких по содержанию к кодируемому; Взвешенное предсказание - возможность взвешивать и сдвигать сигнал после компенсации движения на величины, указанные кодером; Улучшенная обработка «пропущенных» блоков и блоков с «прямым» предсказанием движения, предполагает возможное наличие движения в «пропущенных» областях; Направленное пространственное предсказание для внутрикадрового кодирования; Деблокинговая фильтрация в цикле кодирования; Преобразование блоков небольшого размера, Иерархическое преобразование блоков; Преобразование с использованием 16 -битной арифметики; Точное обратное преобразование; Арифметическое энтропийное кодирование.
Функциональная схема кодера H. 264/AVC Кодер включает две ветви обработки видеопотока: • канал прямого кодирования (элементы обозначены сереневым цветом); • канал реконструкции видеоизображения (элементы обозначены бордовым цветом).
Функциональная схема декодера H. 264/AVC Декодер осуществляет обратные процедуры по отношению к кодеру. Стоит отметить, что в блоках формирования INTRA- и INTER-прогнозов нет элементов, отвечающих за анализ кадра. Информация о конкретном режиме и способе его реализации извлекается из цифрового потока.
Режимы внутрикадрового предсказания блоков 4 х4 0. Верхние отсчеты A, B, C, D экстраполируются вертикально; 1. Левые отсчеты I, J, K, L экстраполируются горизонтально; 2. Все отсчеты в прогнозе P являются средним из выборок A. . . D и I. . . L (DC-предсказания); 3. Отсчеты интерполируются под углом в 45° в направлении между нижним левым и верхним правым отсчетами; 4. Отсчеты интерполируются под углом 45° вниз и направо; 5. Интерполяция отсчетов производится под углом приблизительно 26, 6° влево к вертикальному направлению; 6. Интерполяция отсчетов производится под углом приблизительно 26, 6° вниз по отношению к горизонтальному направлению; 7. Интерполяция отсчетов производится под углом приблизительно 26, 6°вправо от вертикального направления; 8. Интерполяция отсчетов производится под углом приблизительно 26, 6° выше горизонтального направления.
Режимы внутрикадрового предсказания блоков 16 х16 0. Экстраполяция верхних выборок H. 1. Экстраполяция левых выборок V. 2. Среднее между верхними H и левыми выборками V. 3. Линейное сглаживание между верхними H и левыми выборками V.
Визуализация внутрикадрового предсказания изображения «Барбара»
Визуализация внутрикадрового предсказания изображения «Город»
Визуализация внутрикадрового предсказания изображения «Залив»
Межкадровое предсказание Разбиение макроблоков и блоков:
Кадр изображения и его разбиение на блоки различных размеров
Пример обработки Р-кадра
Предсказания векторов движения Вектор-прогноз определяется нижеследующим образом. • Для блоков всех размеров, исключая размеры 16● 8 и 8● 16, вектор MVp устанавливается равным медиане векторов движения A, B и С. Этот алгоритм используется также для пропущенных макроблоков размером 16● 16. • Для блоков размером 16● 8 вектор MVp для верхнего блока размером 16● 8 прогнозируется по вектору блока B, а для нижнего блока размером 16● 8 - по вектору блока A. • Для блоков размером 8● 16 вектор MVp для левого блока размером 8● 16 прогнозируется по вектору блока A, а для правого блока размером 8● 16 - по вектору блока С. Текущий и соседние блоки одинакового размера – а) и разного размера – б)
Введение в блок яркости полупиксельных выборок
Введение в блок яркости четвертьпиксельных выборок
Динамика векторов движения в блоках различного размера
Вектора горизонтального движения объектов
Вектора вертикального движения объекта
Динамика движения деталей изображения
Динамика движения деталей изображения
Формирование разностного сигнала в P-кадрах
Формирование разностного сигнала при прямом и двунаправленном предсказаниях
Преобразование результатов обработки Стандарт определяет три вида преобразования в зависимости от типа обрабатываемых блоков: • преобразование блока размером 4● 4 нулевых (DC) яркостных коэффициентов, полученных из яркостных макроблоков размером 16● 16, сформированных в режиме Intra; • преобразование блока размером 2● 2 нулевых (DC) цветоразностных коэффициентов, полученных из цветоразностных блоков любого типа; • преобразование для всех остальных разностных блоков размером 4× 4. Данные в пределах макроблока передаются в определенном порядке:
Алгоритм преобразования блоков 4 х4 Задаваемое стандартом преобразование входного массива размером 4● 4 имеет следующий вид: Это преобразование обеспечивает почти такую же степень сжатия, что и ДКТ, но обладает целым рядом преимуществ: может быть выполнено в целочисленной «ядро» преобразования арифметике при помощи только операций суммирования, вычитания и сдвига (умножение на 2); динамический диапазон результата действий данного преобразования такой, что везде может быть использована 16 -разрядная арифметика без риска выхода за пределы диапазона ± 255; масштабирование при помощи матрицы E требует только одного умножения для каждого коэффициента, которое может быть «включено» в процесс квантования.
Обратное преобразование Определяется следующим соотношением: Здесь матрица вначале масштабируется матрицей путем поэлементного умножения. Операции с матрицами и могут быть выполнены без потери точности, потому что коэффициенты матрицы вначале подвергаются масштабированию. Основной процесс кодирования с преобразованием очень похож на процесс в предшествующих стандартах. На стороне кодера процесс включает прямое преобразование, z-упорядочивание, масштабирование и округление (процесс квантования), за которыми следует энтропийное кодирование. На стороне декодера осуществляются обратные операции за исключением округления.
Квантование Стандарт H. 264/AVC предполагает использование скалярного квантования, реализующего требования: • исключить деление и арифметику с плавающей точкой; • включить в процесс квантования масштабирование при помощи матриц. Входной блок сначала преобразуется с использованием соотношения Wij и блок сформированных коэффициентов масштабируется при помощи одной операции: квантуется и где обозначенные PF коэффициенты масштабирования включены в прямое квантование.
Деблокирующая фильтрация Деблокирующий фильтр применяется после обратного преобразования в кодере (при восстановлении и сохранении макроблока для формирования прогноза следующего кадра) и в декодере (при восстановлении и отображении макроблока). Фильтр используется для сглаживания блочных артефактов. При этом: – границы блока сглаживаются, улучшая зрительное восприятие декодированных изображений (особенно при больших коэффициентах сжатия); – отфильтрованный макроблок используется в режиме компенсации движения деталей изображения в кодере, что значительно уменьшает величину остаточных коэффициентов. – Необходимо отметить, что в режиме Intra макроблоки фильтруются, но для формирования прогноза не используются, кроме этого границы кадра не фильтруются в любом режиме.
Деблокирующая фильтрация Фильтрация применяется к вертикальным или горизонтальным границам блоков размером 4● 4 в следующем порядке: - фильтрация четырех вертикальных границ яркостного компонента (в порядке a, b, c, d); - фильтрация четырех горизонтальных границ яркостного компонента (в порядке e, f, g, h ); - фильтрация двух вертикальных границ каждого цветоразностного компонента (i, j); - фильтрация двух горизонтальных границ каждого цветоразностного компонента (k, l).
Деблокирующая фильтрация В зависимости от величины текущего шага квантования, режима кодирования соседних блоков и градиента выборок изображения поперек границы используются четыре варианта фильтрации. Параметры деблокирующего фильтра зависят от типа границ между блоками: • при кодировании блоков P и/или Q границей является граница между блоками яркости 16 х16 или блоками цветности 8 х8; • при кодировании блоков P и/или Q границей не является граница между блоками яркости 16 х16 или блоками цветности 8 х8; • ни блок P, ни блок Q не кодируются непосредственно, но используются кодированные коэффициенты; • ни блок P, ни блок Q не кодируются, но имеют различные ссылки; • во всех прочих случаях деблокинговая фильтрация не используется.
Деблокирующая фильтрация
Деблокирующая фильтрация
Деблокирующая фильтрация
Деблокирующая фильтрация Деблокирующий фильтр увеличивает эффективность сжатия незначительно: скорость выходного битового потока уменьшается не более, чем на 1 -3%, а PSNR увеличивается примерно на 1 д. Б. Однако субъективное качество восстановленной видеопоследовательности с деблокирующей фильтрацией значительно выше. Увеличение эффективности кодирования, обеспечиваемое деблокирующим фильтром, зависит от содержания последовательности и требуемой выходной скорости закодированного потока. Пример применения деблокирующего фильтра:
Пример применения деблокинговой фильтрации
Стандарт видеокодирования Н. 264/AVC Таким образом, стандарт видеокодирования Н. 264/AVC представляет множество улучшений стандартной методики кодирования, как в плане улучшения эффективности кодирования, так и в плане гибкости для эффективного использования в широком множестве типов сетей и областей приложений. Его методики уровня кодирования видео основаны на концепциях условного блочного гибридного кодирования с компенсацией движения, но включают некоторые существенные различия по сравнению с предшествующими стандартами. Некоторые важные отличия: • расширенные возможности предсказания движения; • использование точного преобразования блоков малого размера; • адаптивный деблокинговый фильтр в цепи кодирования; • улучшенные методы энтропийного кодирования. При совместном использовании эти свойства новой методики кодирования обеспечивают уменьшение битового потока примерно на 50% при сохранении качества воспроизведения по сравнению с предшествующими стандартами (особенно для приложений со сравнительно большими задержками, которые позволяют использовать обратное временное предсказание).
История процесса стандартизации H. 264/AVC 1 TML-1 Август 1999 Берлин, Германия 2 TML-2* Октябрь 1999 Ред Бенк, США 3 TML-3 Февраль 2000 Женева, Швейцария 4 TML-4 Май 2000 Осака, Япония 5 TML-5 Август 2000 Портланд, США 6 TML-6 Январь 2001 Эйбзее, Германия 7 TML-7* Апрель 2001 Остин, США 8 TML-8 Май 2001 Порто Сегуро, Бразилия 9 TML-9 Сентябрь 2001 Санта Барбара, США 10 JM-1 Декабрь 2001 Патайя, Тайланд 11 JM-2 Февраль 2002 Женева, Швейцария 12 JM-3 Май 2002 Фэйрфакс, США 13 JM-4 Июль 2002 Клагенфюрт, Австрия 14 JM-5 Октябрь 2002 Женева, Швейцария 15 JM-6 Декабрь 2002 Авайи, Япония 16 Final Март 2003 Патайя, Тайланд
Развитие H. 264/AVC: 08. 99 – 03. 03 Foreman, QCIF, 10 кадров/сек
Пример кодирования
Пример кодирования


