Transcript
Page 1: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

Материалы Международной научно-технической конференции, 3 – 7 декабря 2012 г.

МОСКВА INTERMATIC – 2 0 1 2, часть 6 МИРЭА

ПРОСТРАНСТВЕННО-ВРЕМЕННОЕ ПРЕДСКАЗАНИЕ В СТАНДАРТЕ ВИДЕОСЖАТИЯ H.264

© 2012 г. А.В. ПОПОВ

Московский технический университет связи и информатики

H.264 — стандарт сжатия видеоданных, разработанный организациями ITU-T

Video Coding Experts Group (VCEG) и ISO / IEC Moving Picture Experts Group (MPEG) в рамках программы Joint Video Team (JVT). Также известен как MPEG-4 part 10 и AVC (Advanced Video Coding). Не смотря на то, что стандарт вышел в свет более 10 лет на-зад, он является самым широко используемым стандартом для сжатия видео благода-ря обеспечению лучшего качества изображения при меньшем объеме передаваемых данных по сравнению с MPEG-2, MPEG-4 и отчасти с VP8.

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

Для достижения эффективного кодирования в стандарте H.264 применяется техника оптимизации отношения сигнал шум. Эта техника реализуется с помощью большого количества доступных режимов работы стандарта для осуществления про-странственного (внутрикадрового) и временного (межкадрового) предсказания. Так, для обработки и сжатия кадров в стандарте H.264 определены 7 типов профайлов: Baseline, Main, Extended, High, High 10, High 4:2:2 и High 4:4:4. В процессе кодирования изображения кадра видеоинформационного потока активный на этот момент профайл определяет доступную комбинацию так называемых слайсов. Всего стандартом пре-дусмотрено 5 типов слайсов: I, P, B, SI и SP и они являются одними из основных эле-ментов кодирования. Слайс представляет собой последовательный набор макробло-ков изображения. В пределах одного изображения возможно использование несколь-ких слайсов и их типов.

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

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

Слайс B типа использует для кодирования предсказание схожее со слайсом ти-па P, но при компенсации движения используются два кадра, на которые ссылается B слайс. В слайсе этого типа достигается максимальная степень сжатия.

Слайс SP типа при кодировании дает возможность переключения между разны-ми предварительно закодированными изображениями.

Слайс SI типа при кодировании делает возможным точное совмещение макро-блоков в SP слайсе для доступа к ним в случайном порядке и для целей устранения ошибок.

При внутрикадровом кодировании все типы слайсов имеют возможность рабо-тать в пяти режимах прогнозирования – Intra_4x4, Intra_8x8, Intra_16x16 и I_PCM.

116

Page 2: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

Режим прогнозирования Intra_4x4 используется для предсказания блоков раз-мером 4х4 пикселей содержащие информацию о яркостной компоненте. Этот режим активируется в случае наличия в изображении преимущественно мелких деталей.

Режим прогнозирования Intra_8х8 используется соответственно для предсказа-ния блоков размером 8х8 пикселей содержащие информацию о яркостной и двух цве-торазностных компонентах.

Режим прогнозирования Intra_16х16 участвует в предсказании блоков размером 16х16 пикселей, содержащие информацию о яркостной компоненте. Этот режим акти-вируется для кодирования однородных областей изображения без мелких включений.

Стандарт кодирования H.264/AVC предусматривает только процесс восстанов-ления блока на приёмном конце. Алгоритмы выбора размера блока и предсказания на передающем конце, не оговариваются. Пример разделения блока 16х16 на меньшие блоки представлен на Рис. 1.

Рис. 1. Разложение блока на более мелкие блоки.

Режим прогнозирования I_PCM является альтернативой предыдущим режимам

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

В стандарте H.264 внутрикадровое предсказание происходит на основе декоди-рованных соседних пикселей – опорных пикселей, расположенных в колонке слева, в строке сверху и сверху справа от кодируемого на данный момент блока.

У каждого режима Intra предусмотрены дополнительные режимы предсказания, которые используют различные направления и способы прогнозирования пикселей. Так у режимов Intra_4x4 и Intra_8x8 поддерживает 9 дополнительных режимов прогно-зирования пикселей:

− 0 – режим вертикального прогнозирования, − 1 – режим горизонтального прогнозирования, − 2 – режим усреднённого (DC) прогнозирования, − 3 – режим диагонального прогнозирования вниз влево, − 4 – режим диагонального прогнозирования вниз вправо, − 5 – режим вертикального прогнозирования вправо, − 6 – режим горизонтального прогнозирования вниз, − 7 – режим вертикального прогнозирования влево, − 8 – режим горизонтального прогнозирования вверх. Дополнительные режимы прогнозирования Intra_4x4 изображены на Рис. 2. Для

режима Intra_8x8 прогнозирование реализуется по схожей схеме.

117

Page 3: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

0 режим верти-

кального прогнози-рования

1 режим горизон-тального прогнози-

рования

2 режим усред-нённого (DC) про-гнозирования

3 режим диагонального прогно-зирования вниз влево

4 режим диаго-нального прогнози-рования вниз впра-

во

5 режим вертикаль-ного прогнозирова-

ния вправо

6 режим горизон-тального прогно-зирования вниз

7 режим вертикального прогно-зирования влево

8 режим горизонтального про-гнозирования вверх

Рис. 2. Режимы внутрикадрового предсказания.

Режим Intra_16x16 поддерживает 4 дополнительных режима предсказания: − 0 – режим – вертикального предсказания, − 1 – режим горизонталного предсказания, − 2 – режим усреднённого (DC) предсказания, − 3 – режим плоскостного предсказания. В случае, если отсчеты E-H, которые используются для режима диагонального

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

Первые три дополнительных режима Intra_16x16 схожи с дополнительными ре-жимами Intra_4x4, за исключением того, что вместо четырех опорных пикселей в стро-ке и в столбце вокруг предсказываемого блока используется по 16 опорных пикселей. Четвертый дополнительный режим в основном используется в макроблоках с плавным переходом яркости.

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

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

118

Page 4: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

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

В отличие от внутрикадрового кодирования, при пространственном кодировании для прогнозирования значений пикселей слайса P типа в текущем кадре, задействуют-ся значения из кадров, которые были закодированы ранее. Для предсказания значений в слайсах B типа помимо предыдущих кадров задействуются еще и кадры, следующие после предсказываемого на текущий момент. Уточним, что из всех 7 профайлов стан-дарта H.264 только Baseline не имеет возможности работать со слайсами B типа.

В процессе межкадрового прогнозировании яркостная компонента каждого мак-роблока с размерностью 16х16 пикселей при необходимости может быть разложена на более мелкие блоки – субмакроблоки. Размерностью этих субмакроблоков составляет 8х16, 16х8, 8х8 пикселей. Варианты разложения приведены на Рис. 3.

Рис. 3. Варианты разложения блока 16х16 на субмакроблоки.

Если в дальнейшем, в процессе межкадрового прогнозирования, появляется

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

Рис. 4. Варианты разложения субмакроблока 8х8 на более мелкие части.

Эти субмакроблоки и части увеличивают число возможных комбинаций разме-

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

119

Page 5: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

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

Цветоразностные компоненты в макроблоках имеют половину размера разре-шения по вертикали и горизонтали от разрешения яркостной компоненты. При прогно-зировании в макроблоках с цветоразностными компонентами действуют те же правила разложения на субмакроблоки и части, что и у макроблоков цветоразностной компо-ненты. Исключение составляет выбор размера у блоков, так при размере субмакроб-лока в 16х8 пикселей у яркостной компоненты, размер субмакроблока цветоразностной компоненты составит 8х4, а при 8х4 составит соответственно 4х2.

В межкадровом прогнозировании каждый субмакроблок текущего изображения предсказываются на основе опорной области того же размера из изображения связан-ного с текущим изображением. Вектор движения, при этом, может описать смещение одной области относительно другой с точностью до одной четвёртой от расстояния между отсчётами яркости. При этом если вектор движения указывает на непосредст-венную позицию блока (целочисленное значение расстояния), то предсказание состоит из соответствующих значений пикселей опорной области, в ином случае, для получе-ния нецелочисленного значения расстояния позиции, соответствующий отсчёт интер-полируется. Значения предсказания на нецелочисленных позициях рассчитываются с применением КИХ фильтра по горизонтали и вертикали. Значения предсказания на позициях «одна четверть» генерируются усреднением отсчётов на целых и «половин-ных» позициях.

Рис. 5 иллюстрирует дробную интерполяцию для отсчётов «a-k» и «n-r». Отсчёты на «половинных» позициях, обозначенных «b» и «h», получены из первых промежуточных значений b1 и h1, соответственно, с применением КИХ фильтра:

b1 = (E – 5F + 20G + 20H – 5I + J). h1 = (A – 5C + 10G + 20M -5R + T).

Рис. 5. Предсказание при нецелочисленных значениях расстояния позиции субмакроблока.

120

Page 6: INTERMATIC – 2 0 1 2, 6 - conf.mirea.ru · PDF fileР.Гонсалес, Р.Вудс. Цифровая обработка ... пространственной структуры изображений

Последние значения предсказания для местоположения b и h получены, как показано, и ограничены в диапазоне 0..255:

b = ( b1 + 16 ) >> 5. h = ( h1 + 16 ) >> 5.

Отсчёты на «половинных» позициях, обозначенные как j, рассчитываются как: j1 = cc – 5 dd + 20 h1 + 20 m1 – 5 ee + ff,

где промежуточные значения, отмеченные как cc, dd, ee, m1 и ff, получены тем же способом что и h1. Последнее значение предсказания j затем вычисляется как j = (j1 + 512) >>10 и ограничивается в диапазоне от 0 до 255. Два альтернативных метода получения значения j показывают, что операция фильтрации действительно разделяема для создания «половинных» позиций.

Заглавные буквы показывают отсчёты на полной отсчётной сетке. Прописные буквы показывают отсчёты в меж-отсчётных положениях.

Отсчёты на позициях «одна четверть», обозначенные как a, c, d, n, f, I, k и q, получены усреднением с округлением в большую сторону двух ближайших отсчётов на целой и «половинной» позициях как, например:

a = ( G + b + 1 ) >> 1. Отсчёты в «четвертичных» позициях, обозначенные как e, g, p и r, получены

усреднением с округлением в большую сторону двух ближайших отсчётов на «половинной» позиции в диагональном направлении, как, например:

e = ( b + h + 1 ) >> 1. Стоит отметить то, что стандарт H.264 обеспечивает расчет векторов движения

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

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

СПИСОК ЛИТЕРАТУРЫ

1. Безруков В.Н., Медведев А.А., Седов М.О. Анализ характеристик спектра структур внутрикадровой дискретизации сигналов телевизионных изображений. // Телеком-муникации и транспорт. -2009. - №5.

2. Р.Гонсалес, Р.Вудс. Цифровая обработка изображений. –М.: Техносфера, 2006. 3. Ян Ричардсон. Видеокодирование. H.264 и MPEG-4 – стандарты нового поколения.

–М.: Техносфера, 2005. 4. Владо Дамьяновски. CCTV. Библия видеонаблюдения. Цифровые и сетевые техно-логии. / Пер. с англ. –М.: ООО «Ай-Эс-Эс Пресс», 2006.

5. Безруков В.Н., Медведев А.А., Седов М.О. Спектры элементарных составляющих пространственной структуры изображений. // Телекоммуникации и транспорт. / Спецвыпуск “Технологии информационного общества”. Часть 1. Июнь, 2009.

121


Recommended