УДК 004.62
О.Г. Пономарев, М.П. Шарабайко
Эффективность адаптивной нелинейной постфильтрации в системе кодирования цифровых видеоданных стандарта HEVC
Рассматриваются принципы действия двух методов постфильтрации стандарта видеокодирования H.265/HEVC: DBF и SAO. Получены экспериментальные результаты влияния постфильтрации на характеристики сжатия видеопоследовательностей. Сформулированы рекомендации по использованию DBF и SAO фильтрации.
Ключевые слова: HEVC, видеокодирование, деблокинг, постфильтрация.
Задача исследования. Новый, принятый в 2013 г., стандарт видеокодирования H.265/HEVC [1] разрабатывался с целью двукратного повышения степени компрессии видеоданных по сравнению со стандартом предыдущего поколения H.264/AVC. Такое повышение степени компрессии видеоданных позволит в ближайшее время перейти, при сохранении пропускной способности каналов связи, к цифровому видеовещанию высокого (HD) и ультравысокого разрешения (UHD). Это обусловливает высокий интерес мирового научного сообщества к методам и алгоритмам обработки цифровых видеоданных, лежащих в основе нового стандарта.
Упрощенная схема процедуры кодирования нового стандарта представлена на рис. 1. Алгоритмы HEVC ориентированы на поблочную обработку видеокадров, устраняющую пространственную или временную избыточность видеоинформации. При пространственной обработке используется предсказание значений пикселей изображения в текущем блоке по значениям пикселей соседних блоков, называемое интрапредсказанием (от англ. Intra - внутренний). При устранении временной избыточности для предсказания используются участки изображений с ранее закодированных кадров. Такой тип предсказания называется интер предсказанием (от англ. Inter - между). Остаточный сигнал, формируемый как разность между кодируемым и предсказанным изображениями, подвергается двумерному дискретному преобразованию Фурье (ДПФ). Полученный в результате преобразования двумерный сигнал квантуется по уровню. На заключительном этапе кодирования последовательность значений квантованных спектральных коэффициентов, сопровождаемая информацией о предсказании, спектральном преобразовании и квантовании, подвергается энтропийному кодированию. Пространственное и временное предсказание в кодере производится по декодированным изображениям. Это обеспечивает одинаковые результаты предсказания в кодере и декодере. При декодировании выполняется деквантование спектральных коэффициентов и обратное дискретное преобразование Фурье (ОДПФ). Восстановленный разностный сигнал добавляется к результату предсказания. Стандартом HEVC предусмотрена возможность дополнительной постобработки декодированных изображений. Постобработка может включать в себя деблок-фильтр DBF (от англ. Deblocking Filter) и нелинейное преобразование SAO (сокр. от англ. Sample Adaptive Offset). Параметры этих этапов постобработки подстраиваются под характер изображения в каждом обрабатываемом блоке. Последовательное применение DBF и SAO к блокам декодированных изображений реализует, таким образом, процедуру адаптивной нелинейной постфильтрации.
Постобработка, с одной стороны, обеспечивает повышение качества декодированных изображений, используемых для временного предсказания. Это приводит к улучшению результатов предсказания и, как следствие, к повышению степени компрессии видеоданных. С другой стороны, эта процедура требует большого объема дополнительных вычислений. Эффективность этих вычислительных затрат определяется повышением качества декодированных изображений и степени ком -прессии видеоданных и может сильно меняться при различных настройках кодера. Экспериментальная оценка такой эффективности при различных настройках кодера является задачей настоящего исследования.
Алгоритмы постобработки видеоизображений в HEVC. Первый этап постобработки - деблок-фильтрация - предназначен для снижения краевых эффектов (эффектов блочности). Эти эф-
фекты возникают на границах блоков, т.к. кодирование видеоизображения в HEVC осуществляется поблочно [2]. Каждый видеокадр при кодировании равномерно разбивается на квадратные блоки одинакового размера, называемые LCU (сокр. от англ. Largest Coding Unit). Каждый LCU может быть разбит при кодировании на четыре квадратных блока CU (сокр. от англ. Coding Unit), каждый из которых, в свою очередь, может быть разбит еще на четыре CU. В результате таких разбиений образуется квадродерево CTU (сокр. от англ. Coding Tree Unit). CU нижнего уровня в CTU, в свою очередь, разбиваются при кодировании на блоки предсказания PU (сокр. от англ. Prediction Unit). Возможные варианты PU и их обозначения в стандарте представлены на рис. 2.
Рис. l. Схема кодера стандарта HEVC
Рис. 2. Пример разбиения изображения на CU и возможные варианты PU
Двумерный разностный сигнал, полученный вычитанием результатов предсказания из кодируемого изображения, подвергается при кодировании двумерному спектральному преобразованию (дискретному косинус- или синус-преобразованию Фурье). Размер матрицы спектрального преобразования определяется размером блока преобразования TU (сокр. от англ. Transform Unit). В HEVC возможны преобразования 4 размеров: 4*4, 8^8, 16^16 и 32x32. Квантование спектральных коэффициентов приводит к возникновению эффектов блочности на границах PU и TU.
При деблок-фильтрации изменениям подвергаются значения пикселей, лежащих вблизи вертикальных или горизонтальных линий, образующих на видеокадре эквидистантную сетку с шагом 8 пикселей и являющихся границами TU или PU. Фильтрация производится сначала для вертикальных, а затем для горизонтальных линий. Перед фильтрацией для каждого 4-пиксельного отрезка линии выбирается значение параметра BS (сокр. от англ. Boundary Strength). Это значение определяется режимом предсказания областей изображения по разные стороны отрезка. Если хотя бы одна из этих областей кодировались в режиме интрапредсказания, значение BS выбирается равным 2. Если обе области при интерпредсказании предсказывались из одного непрерывного участка ранее закодированного изображения и все спектральные коэффициенты после квантования равны 0, параметр BS для отрезка устанавливается равным 0. В остальных случаях значение BS равно 1. Затем выбирается тип фильтра, а также ширина и положение фильтруемой области. Этот выбор призван исключить из процесса фильтрации резкие перепады (границы объектов), присутствующие на кодируемом изображении, и обеспечивает, таким образом, адаптивность фильтрации. Рассмотрим процедуру выбора на примере анализа области изображения в окрестности вертикального отрезка, используя традиционные обозначения (рис. 3, а).
W
область 1 1 область Q
/Чо Р2.0 /’1.0 Ро.о </0.0 Ч 1.0 </2.0 Чу о 97 98 98 98*108 108 108 108
/\| Р1Л Р\Л Рол 1 Яо.\ Чи ‘/2.1 </3.1 і
Гу: Р\г Ргл Ро.2 Чо.2 Ч\л </2.2 ЧГ.Ї.2 1
/V. Р2.3 Ри Ли| </о.з <t\3 </2.3 </з.з 97 | 98 98 98.108 108 108 108
W
108 108 108 108*106 105 104 103
94 93 92 92 ■ 91 89 88 87
115 115 98 69 62 56 56 61
I
127 127 127 127 І131 135 138 141
-J „
39 27 35 47 57 58 57 56
I
39 27 35 «| 57 58 57 56
W
55 54 52 51' 49 48 46 45
55 54 52 51, 49 48 46 45
д
Рис. З. Используемые обозначения (а) и пять характерных вариантов распределения интенсивности изображения, к которым применяются: «сильный» фильтр (б), «слабый» двусторонний фильтр (в), «слабый» фильтр слева (г), «слабый» фильтр справа (д), без фильтрации (е)
Выбор производится на основе сравнения размаха флуктуаций в двух строках (нулевой и третьей) со значениями двух пороговых значений: в и Пороговые значения заданы в стандарте в табличном виде для каждого значения параметра квантования QP, определяющего шаг квантования спектральных коэффициентов при кодировании. Пороговое значение в перед использованием умножается на величину параметра BS. Размах флуктуаций вычисляется в б точках: | po o - qo o |,
|p2,o- pi,o+po,o- pi,o|, q2,o- qi,o + qo,o- qi,o| и fpo^ - qo^ |р2,з - рі,з+Po,з- Pi^
|#2,З - ql,3 + qo,3 -qi^|. В зависимости от соотношения этих б величин с пороговыми значениями
фильтрация для областей P и Q может проводиться пятью различными способами, включая случай, когда фильтрация не проводится вовсе. Примеры изменения интенсивности изображения в окрестности границы блоков для каждого случая приведены на рис. З, б-е. Вариант без фильтрации реализуется, если сумма всех б рассчитанных значений больше порога в (рис. З, е). В остальных случаях фильтрации подвергается полоса шириной w, положение которой относительно границы блоков указано на рис. З, б—д. Если размах флуктуаций во всех б точках меньше пороговых значений (см. рис. З, б), то используется т.н. «сильный» фильтр (англ. strong filter). Если размах флуктуаций мал слева от границы, а справа - превышает порог (см. рис. З, г), то используется «слабый» левосторонний фильтр. В обратной ситуации, когда флуктуации слева от границы велики, а справа - малы (см. рис. З, д), используется «слабый» правосторонний фильтр.
Второй этап постобработки декодированных изображений - нелинейное преобразование SAO (сокр. от англ. Sample Adaptive Offset) - предназначен для частичной компенсации потерь, обусловленных квантованием спектральных коэффициентов. Для этого к значениям некоторых пикселей изображения после декодирования добавляются смещения, вычисляемые на этапе кодирования и передаваемые в закодированном потоке в виде таблиц для каждого LCU. Отбор пикселей, подвергаемых изменениям, производится по их интенсивности, что и обусловливает нелинейность преобразования. SAO в HEVC может быть двух типов: BO (сокр. от англ. Band Offset) и EO (сокр. от англ. Edge Offset).
При преобразовании типа BO значения всех пикселей в LCU при кодировании равномерно делятся на З2 диапазона. Для каждого диапазона вычисляется среднее по LCU смещение между пикселями оригинального и декодированного изображений. Видеокодер сохраняет в закодированном видеопотоке значения смещений для четырех последовательных диапазонов и номер диапазона, являющегося первым в четверке. После декодирования изображения на этапе SAO смещения добавляются к тем пикселям, значения которых попадают в выбранные кодером диапазоны.
При нелинейном преобразовании типа EO кодер выбирает один из четырех шаблонов, в соответствии с которым должны классифицироваться значения пикселей декодированного изображения.
б
а
в
е
Возможные варианты шаблонов иллюстрируются на рис. 4. За p обозначено значение классифицируемого пикселя, за По и п - значения двух соседних ему пикселей. Номер выбранного шаблона помещается в закодированный поток для каждого ЬСИ.
1 1 1 1 1 1 1 1 I 1 1 1 «0 і і і і «0 і « I 1 1 "0
>4) р Р і і і і Р 1 1 1 і Р
1 1 1 1 і • і і «I і 1 1 і 1 1 1 1 "і "I 1 і 1 1 1 1 1 ■
Рис. 4. Шаблоны для классификации значений пикселей
Далее по выбранному шаблону производится классификация значений пикселей на четыре категории. К первой категории пиксель p относится, если p<n0 и p < ni . Если p < no и p = ni или p = no и p < щ , то p относится ко второй категории. В третью категорию попадают те пиксели, для которых p > no и p = ni или p = no и p > ni , в четвертую - те пиксели, для которых p > no и p > ni . Для пикселей каждой категории при кодировании вычисляется и помещается в закодированный поток средняя разность (смещение) с оригинальными значениями пикселей. На этапе постобработки при декодировании к значениям пикселей добавляются вычисленные смещения. Значения пикселей, не попавших ни в одну из категорий, не модифицируются.
Результаты экспериментальной оценки эффективности постобработки видеоизображений.
Эксперименты по кодированию проводились на полном наборе тестовых видеопоследовательностей комитета JCT-VC [3]. На рис. 5-8 приведены наиболее характерные результаты, полученные при кодировании трех тестовых видеопоследовательностей: BasketballDrill, Kimono и Traffic, характеристики которых приведены в таблице. По разрешению выбранные последовательности соответствуют трем основным применяемым в телеиндустрии категориям: стандартное, высокое и ультравысо-кое разрешение. Для кодирования используется тестовая модель HEVC кодера HM v.ii.0 [4]. Отличительной чертой этой модели является то, что в ней реализован полный перебор всех вариантов кодирования, возможных при заданном наборе настроек кодера. Это обеспечивает наилучший с точки зрения качества и степени сжатия данных результат кодирования. Используются конфигурации кодирования «Low-delay P - Main» и «Low-delay B -Main» [3], на которых были получены наиболее интересные результаты. Точки на всех графиках соответствуют четырем значениям параметра квантования QP, определяющего шаг квантования спектральных коэффициентов при кодировании. Значения QP для точек слева направо на каждой кривой равны 37, 32, 27, 22 в соответствии с рекомендациями [3]. Контроль параметров закодированных видеопоследовательностей
осуществлялся в программе Elecard HEVC Analyzer v.0.i0i.i30709 [5].
12
10
о
і> .
> Kimono, P Main ■ -0- Traffic, P Main -©-BaskctBallDrill, B Main " ★ Kimono B Main -0- Traffic, B Main # # .. .. р _
//
і * * 0
і * * *
* * • » І *
і *
Ф .* ф ф Ф * ф' .Ф .ф ~
" Тій'
32 34 36 38 РБЫЯ (дБ)
Рис. 5. Зависимость степени компрессии и качества при отключенной постобработке
На рис. 5 представлены зависимости степени компрессии (битрейт, Ь, Мбит/с) и качества (РБКЯ, дБ) декодированных видеоизображений для трех видеопоследовательностей и двух конфигураций кодирования при отключенной постобработке.
Характеристики тестовых видеопоследовательностей
Название Разрешение Частота (кадр/с)
BasketballDrill 832x480 50
Kimono i920xi080 24
Traffic 2560x1600 30
Графики на рис. 6-8 иллюстрируют эффект, вносимый пост-фильтрацией. По оси ординат на них отложено изменение битрейта в процентах относительно значений, полученных при отключенной постобработке. В качестве опорной на каждом графике приведена прямая, соответствующая зависимости на рис. 5.
а б
Рис. б. Эффект постфильтрации для BasketballDrill.
Конфигурации кодирования «Low-delay P - Main» (а) и «Low-delay B - Main» (б)
а б
Рис. 7. Эффект постфильтрации для Kimono.
Конфигурации кодирования «Low-delay P - Main» (а) и «Low-delay B - Main» (б)
а б
Рис. 8. Эффект постфильтрации для Traffic.
Конфигурации кодирования «Low-delay P - Main» (а) и «Low-delay B - Main» (б)
Из графиков видно, что включение деблок-фильтрации снижает битрейт, т.е. повышает степень компрессии видеоданных, но практически не сказывается на значении PSNR. Включение SAO повышает PSNR (точки на кривых смещаются вправо относительно их положения при отключенном SAO), но при этом повышается и битрейт.
Вычислительная емкость алгоритмов постфильтрации оценивалась по времени кодирования. В целом можно говорить о том, что деблок-фильтрация является более сложной в вычислительном плане операцией по сравнению с SAO. Включение DBF увеличивало время кодирования в среднем на 1% для всех видеопоследовательностей, в то время как включение SAO - только на 0,5%.
Заключение. На основании результатов кодирования тестовых видеопоследовательностей можно говорить о том, что эффективность использования деблок-фильтра в системе кодирования HEVC не вызывает сомнений. Особенно эффективным представляется использование этого инструмента при высоких значениях параметра квантования, когда краевые эффекты особенно велики. При уменьшении значений параметра квантования блочность декодированного изображения снижается, что, в свою очередь, приводит к уменьшению эффективности деблок-фильтрации.
По поводу эффективности использования второго этапа постобработки такого однозначного вывода сделать нельзя. Вычислительная сложность SAO меньше, чем сложность DBF. Однако при использовании SAO в закодированный видеопоток кодером помещаются дополнительные данные, характеризующие корректирующие смещения значений пикселей декодированного изображения, что в любом случае приводит к некоторому снижению степени компрессии. С другой стороны, на всех графиках видно, что включение SAO повышает качество изображений. Баланс этих двух эффектов необходимо учитывать при проектировании кодирующей HEVC-системы. Из представленных результатов очевидно, что использование SAO без предварительной деблок-фильтрации в большинстве случаев неоправдано. Улучшение качества в этом случае не компенсирует роста битрейта. Представляется также неоправданным использование SAO при кодировании с конфигурацией «Low-delay B - Main». В этом случае количество данных, представляющих каждое видеоизображение в закодированном потоке, настолько мало, что дополнительная информация, помещаемая кодером в видеопоток при использовании SAO, может существенно повлиять на уровень сжатия.
Результаты исследований получены в Томском государственном университете систем управления и радиоэлектроники в рамках проекта, выполняемого по договору с ЗАО «Элекард наноДевай-сез» № 97/12 от 19 ноября 2012 г.
Комплексный проект «Предоставление услуг мультимедийного вещания в сетях общего пользования Интернет, основанных на технологиях пиринговых сетей и адаптивной передачи потоков данных» выполняется в рамках Постановления Правительства России от 9 апреля 2010 г. №218 при финансовой поддержке Министерства образования и науки Российской Федерации.
Литература
1. High Efficiency Video Coding (HEVC) text specification draft 10 / B. Bross, W.-J. Han, J.-R. Ohm
et al. // Doc. JCTVC-L1003. - Joint Collaborative Team on Video Coding (JCT-VC) of ITU-T SG16 WP3 and ISO/IEC JTC1/SC29/WG11, January 2013 [Электронный реcурс]. - Режим доступа:
http://phenix.int-evry.fr/jct/ свободный (дата обращения: 24.08.2013).
2. Пономарев О. Г. Анализ эффективности методов и алгоритмов видеокомпрессии стандарта H.265/HEVC / О.Г. Пономарев, М.П. Шарабайко, А.А. Поздняков // Электросвязь. - 2013 - № 3. -C.29-33.
3. Bossen F. Common Test Conditions and Software Reference Configurations // Document JCTVC-H1100. - JCT-VC, San Jose, CA, Feb. 2012 [Электронный реcурс]. - Режим доступа: http://phenix.int-evry.fr/jct/ свободный (дата обращения: 24.08.2013).
4. HEVC Test Model HM v. 11.0 [Электронный реcурс]. - Режим доступа:
https://hevc.hhi.fraunhofer.de/svn/svn_HEVCSoftware/tags/HM-1L0/ свободный (дата обращения: 24.08.2013).
5. Elecard HEVC Analyzer [Электронный реcурс]. - Режим доступа: http://www.elecard.com/
en/products/professional/analysis/hevc-analyzer.html свободный (дата обращения: 24.08.2013).
Пономарев Олег Геннадьевич
Ст. науч. сотрудник лаборатории обработки и трансляции
мультимедийных данных Института инноватики (ЛО и ТМД ИИ) ТУСУРа,
доцент каф. радиофизики НИ ТГУ
Тел.: 8-906-947-7608
Эл. почта: [email protected]
Шарабайко Максим Павлович
Мл. научн. сотрудник ЛО и ТМД ИИ ТУСУРа
аспирант каф. вычислительной техники Института кибернетики НИ ТПУ
Тел.: 8-953-918-1127
Эл. почта: [email protected]
Ponomarev O.G., Sharabayko M.P.
The efficiency of nonlinear adaptive in H.265/HEVC video compression standard
An overview of deblock and SAO post-filtering in H.265/HEVC video compression standard is presented. The experimental results show the influence of DBF and SAO on video compression features. The results are followed by DBF and SAO usage recommendations.
Keywords: HEVC, Video Compression, deblock filter, postfiltering.