УДК 004.62
О.Г. Пономарев, М.П. Шарабайко, Д.Ю. Тё
Критерий для быстрого выбора размера блока пространственного предсказания в системе видеокодирования HEVC
Представлен обзор известных методов выбора размера блока пространственного предсказания в системе кодирования цифровых видеоданных стандарта H.265/HEVC. Анализ результатов использования этих методов позволил выбрать тот из них, который обеспечивает максимальное сокращение вычислительных затрат на кодирование при минимальном снижении степени сжатия видеоданных. Предложена модификация выбранного алгоритма, обеспечивающая дополнительное снижение вычислительной сложности процесса кодирования. Ключевые слова: HEVC, видеокодирование, пространственное предсказание.
Алгоритмы нового принятого в 2013 г. стандарта видеокодирования HEVC ориентированы на поблочную обработку видеокадров, устраняющую пространственную или временную избыточность видеоинформации [1, 2]. При пространственной обработке используется предсказание значений пикселей изображения в текущем блоке по значениям пикселей соседних блоков. При устранении временной избыточности для предсказания используются участки изображений с ранее закодированных кадров. Остаточный сигнал, формируемый как разность между кодируемым и предсказанным изображениями, подвергается двумерному дискретному преобразованию Фурье. Полученные спектральные коэффициенты квантуются по уровню. На заключительном этапе кодирования последовательность значений квантованных спектральных коэффициентов, сопровождаемая информацией о предсказании, спектральном преобразовании и квантовании, подвергается энтропийному кодированию.
Блоки предсказания в HEVC могут иметь различный размер. При пространственном предсказании все блоки являются квадратными, а их размер может варьироваться от 64*64 до 4*4 пикселей. Каждый блок максимального размера при кодировании может быть разбит на 4 подблока вдвое меньшего размера. Каждый из подблоков, в свою очередь, может быть разбит на 4 подблока. Разбиение может продолжаться до тех пор, пока блоки предсказания не достигнут минимально возможного размера. В качестве критерия при принятии решения о разбиении того или иного блока на подблоки традиционно используется метрика, называемая в англоязычной литературе RDC (от англ. Rate-Distortion Cost) [3]. Величина RDC складывается из двух слагаемых:
RDC = D + X-R ,
где D = ^|Ij j -Ij j, i,j = 0,1,...,N ; Ij j - значения отсчетов изображения кодируемого блока; Ij,j -j
значения декодированнных отсчетов; N - размер блока предсказания в пикселях; R - количество бит, представляющих кодируемый блок в битовом потоке на выходе энтропийного кодера; X - множитель Лагранжа. Величина RDC, таким образом, определяется, с одной стороны, величиной искажений D, вносимых в изображение при кодировании на этапе квантования спектральных коэффициентов, с другой стороны, - степенью сжатия кодируемого блока R.
Разбиения блоков предсказания на подблоки при кодировании осуществляется так, чтобы минимизировать величину RDC. Такой подход обеспечивает максимальную степень сжатия видеоизображения в каждом блоке при минимизации искажений, вносимых в изображение при кодировании. С другой стороны, при таком подходе реализуется перебор всех возможных комбинаций разбиений каждого блока, что приводит к крайне высоким вычислительным затратам. Так, например, для каждого блока изображения размером 64*64 пикселя, величина RDC вычисляется 1 раз для всего блока целиком, 4 раза - для четырех подблоков размером 32*32, 16 раз - для подблоков размером 16*16, 64 раза - для подблоков размером 8*8 и 256 раз - для подблоков размером 4*4. Каждое вычисление величины RDC требует выполнения полного цикла кодирования-декодирования блока
соответствующего размера, что и определяет высокую вычислительную сложность процедуры кодирования при таком подходе.
Разработке альтернативного критерия для выбора размера блока пространственного предсказания, позволившего бы существенно снизить вычислительные затраты на кодирование при незначительном увеличении значения RDC, посвящено множество исследований во всем мире. Результаты этих исследований опубликованы в работах [4-9]. В данной работе на основе анализа опубликованных результатов выбран наилучший по соотношению вычислительной сложности и проигрыша по значению RDC критерий. Реализация выбранного критерия и экспериментальная апробация его на реальных видеопоследовательностях позволили предложить модификацию критерия, обеспечивающую дополнительное сокращение вычислительных затрат при кодировании.
Обзор критериев выбора варианта разбиений блоков пространственного предсказания. Результаты исследований, направленных на разработку альтернативного критерия для выбора размера блока пространственного предсказания, опубликованы в работах [4-9]. В [4] авторы предлагают останавливать процесс разбиения блока предсказания на подблоки, если для текущего блока величина RDC не превышает порога T. В статье показано, что степень сжатия видеоданных линейно падает в зависимости от количества блоков, которые должны были быть разбиты, но разбиты не были, при том, что время кодирования сокращается значительно быстрее. Авторами было решено держать показатель ложных прерываний разбиения на уровне 5%, что позволило эмпирически определить зависимость величины порога T от размера блока предсказания N и параметра квантования Qp [1], определяющего шаг квантования спектральных отсчетов остаточного сигнала, в виде
T64 = 962,7 • e°,126Qp, e0,148Qp
T32 = 164,6 • e^
Tie = 19,75-e0'187QP, T8 =1,054-e0,254-QP,
где Te4, T32, Tie, T8 - пороговые значения для блоков c размером N = 64, 32, 16, 8 соответственно.
Аналогичный подход изложен в [5]. Он основывется на упрощенной оценке величины RDC, обозначаемой в статье LRDC (от англ. Low complexity Rate-Distortion Cost), и введении эмпирически подобранных пороговых значений T. Если величина LRDC меньше уровня порога T, то разбиения блока предсказания на подблоки не производится. В противном случае блок разбивается на подблоки. Значение LRDC вычисляется как сумма двух слагаемых:
LRDC = £|4, j + Xm-Bm, i, j = 0,1,..., N -1,
U i
где величины Д-,j представляют результат дискретного двумерного преобразования Адамара остаточного сигнала, полученного в результате вычитания предсказанных значений из отсчетов кодируемого изображения; N - размер блока предсказания в пикселях; Bm - количество бит, требуемых для описания способа пространственного предсказания блока в битовом потоке на выходе энтропийного кодера; Xm - множитель Лагранжа. Пороговые значения T определяются размером блока предсказания N и параметром квантования Qp.
В [6] авторы отмечают высокую пространственную корреляцию глубины разбиения блоков пространственного предсказания. Это позволило им проводить оценку глубины разбиения текущего блока по значению dp-,
равному взвешенной сумме глубин разбиения соседних ранее закодированных блоков:
3
dp = di , i=0
где dp - оценка глубины разбиения текущего блока, di - глубина разбиения четырех соседних с
текущим блоков, аг- - весовые коэффициенты: а0 = 0,3 ; а1 = 0,2 ; а2 = 0,3 ; аз = 0,2. На рис. 1 иллюстрируется положение текущего блока (выделен серым) и нумерация соседних блоков. В зависимости от величины значения dp кодируемый блок относят к одной из четырех групп, для каждой из
1 2 3
•
Рис. 1. Положение и нумерация соседних блоков
которых задан возможный диапазон глубин разбиений. Решение о глубине разбиения блока в рамках каждого диапазона принимается на основании вычисления значения RDC. Диапазоны значений dp
и соответствующие им диапазоны глубин разбиений приведены в табл. 1.
Таблица 1 Диапазоны значений d„ и глубины разбиений
Интервал значений dp Диапазон глубины разбиений
dp < 0,5 0-1
0,5 <dp <1,5 0-2
1,5<dp <2,5 1-3
2,5 < dp 2-3
В работах [7, 8] в качестве критерия при выборе размера блока пространственного предсказания используются различные меры однородности изображения внутри кодируемого блока. В [7] алгоритм строится «снизу вверх», т.е. четыре соседних блока минимального размера N = 4 объединяются в один блок с размером N = 8, если по крайней мере три из объединяемых блоков признаны однородными. По тому же принципу производится объединение блоков большего размера. Для оценки степени однородности используются средние значения модулей производных интенсивности изображения по четырем направлениям, рассчитываемые по следующим формулам:
-1-1 1 1
4 4 11.
§0 = X X X X Y4k+i,4l +2Д - 14k +i+2,4l+2д\ ,
k=0 I=0 i=0Д=0
N-1 N-1 1 1
4 4 11.
§90 = X XXX \I4k+2i,4l+Д - 14k+2i,4l+Д+2| ,
k=0 I=0 i=0 Д=0
-1-1 1 1
4 4 11
§45 = X X XX \r4k +i,4l + Д - 14k +i +2,41+Д+2 ,
k=0 I=0 i=0 Д=0
N-^-11 1
4 4 11
§135 = X X XX \r4k+i+2,4l+Д - 14k +i,4l+Д +2 ,
k=0 I=0 i=0 Д=0
где 1Х у - интенсивность отсчетов изображения кодируемого блока; N - размер блока, для которого производится расчет. За меру однородности блока принимается величина:
С = §ш1п - §ог^
где §шщ = шт{§0,§45,§90,§135}, а §0й - значение производной в ортогональном к направлению §шт направлении. Блок считается однородным, если величина С меньше величины порога Т, определяемой размером блока N и параметром квантования Ор:
Т = Ор • N .
В качестве мер однородности изображения внутри кодируемого блока в [8] предлагается использовать восемь величин, каждая из которых в работе называется глобальной или локальной сложностью изображения. Четыре значения глобальной сложности, каждое для своего направления, рассчитываются по формулам:
N-1
N-12 . . N-1N-1
^ =x X К д - А -X X К Д - А,
i=o Д=0 i=o .=N
2
2 ^ -1 N-1N-1,
^90 =1 I К ; -1\ -I I К ; - Т\,
г=0 у =0 г =N7 =0
' 2
N-1 г N-1N-1
^45 =11 /г,; -7| -I I /г,; -/1 ,
г=0 ; =0 г=0 ; =г
N-1 N-1
^135 =I I /г,; -Ц-I I /г,; -7] ,
г =0 ;=0 г =0 ;=N-г-1
где 1Ху - интенсивность отсчетов изображения кодируемого блока; N - размер блока, для которого
производится расчет; 7 - средняя интенсивность изображения в кодируемом блоке. Значения локальной сложности по каждому направлению по формуле:
N-Ш-1
I ang _ 7ang ■Ч j
Lang "SS i=0 j=0
где ang = 0, 90, 45, 135; - значения производной интенсивности изображения в направлении,
заданном значением ang:
j 0 j т j 90 j j j 45 т т т135 т т .
Ч, j =ji-1, j - ji+1, j , ji, j = ji, j-1 - ji, j+1, ji, j = ji-\, j-1 - ji +1, j+1 , ji, j = ji+1, j-1 - ji-1, j+1 .
I^j - среднее значение производной интенсивности изображения в заданном направлении.
Авторами [8] предусмотрены три возможных варианта действий при принятии решения о разбиении блока:
1) блок не следует разбивать (тогда дальнейший поиск разбиения прекращается);
2) блок следует разбить (тогда для текущей глубины никаких дополнительных вычислений не производится).
3) точно определиться с разбиением невозможно (тогда разбиение производится по величине RDC).
Случай 1 возникает, когда глобальные и локальные сложности границ в каком-либо из четырех направлений меньше заданных пороговых значений для текущего CU и всех его подблоков. Случай 2 возникает, когда значения глобальных и локальных сложностей во всех направлениях превышают заданные пороговые значения. Если ни одно из условий не выполняется, решение о разбиении не может быть принято и возникает случай 3. Эмпирически подобранное пороговое значение для локальной сложности изображения установлено одно для всех направлений и значений параметра квантования:
/ з\d
?îoC = 5120 •[ 4
где d = 0,1,2,3,4 - текущая глубина разбиений, соответствующая размерам кодируемого блока N=64,32,16,8,4 . Пороговое значение для глобальной сложности изображения зависит не только от размера кодируемого блока, но и от параметра квантования Qp:
Tgib = C (Qp) (3)d,
где C (22) = 448, C (27) = 704, C (32) = 832, C (37) = 1216, а при других значениях параметра квантования Qp значения C (Qp) определяются путем интерполяции.
В [9] в качестве меры однородности изображения предлагается использовать энтропию квантованных значений интенсивности изображения в кодируемом блоке. Шаг квантования равен 8, так что квантованные значения лежат в диапазоне от 0 до 31. Энтропия по Шеннону рассчитывается по формуле
31
H = -Zpi 'log2pi , i=0
Щ
где pi =—— - относительная частота значения г среди квантованных значений интенсивности;
N 2
щ - количество квантованных значений равных г, N - размер кодируемого блока.
В работе предлагается три условия для принятия решения о делении кодируемого блока на подблоки:
1) если энтропия квантованных значений интенсивности в блоке Н <1,2, то блок не разбивается;
2) если Н > 3,5 , то кодируемый блок разбивается на подблоки;
3) если На^ - 0,15 <Н <На^ + 0,15 , где На^ - среднее по подблокам всех возможных размеров значение энтропии, то блок не разбивается.
В том случае, когда ни одно из трех условий не выполняется, блок разбивается на подблоки. Результаты, опубликованные в работах [4-9] и характеризующие эффективность использования перечисленных выше критериев выбора размера блока пространственного предсказания, приведены в табл. 2.
Таблица 2
Эффективность использования критериев выбора размера блока пространственного предсказания
Название критерия BD-rate, % AT, %
Kim [4] 0,8 23,8
Cho [5] 2,0 55,8
Shen [6] 1,7 21,1
Yongfei Zhang [7] 4,8 56,7
Min [8] 0,8 52,3
Mengmeng Zhang [9] 3,7 62,0
В ячейках первого столбца табл. 2 приведены условные названия критериев с указанием ссылки на работу, откуда взяты результаты по их использованию (в качестве условного названия критерия использована фамилия первого автора публикации). Во втором столбце - значения метрики BD-Rate [10]. Эта метрика традиционно используется для сравнения качества различных алгоритмов сжатия цифровых видеоданных. Величина BD-rate (от англ. Bjontegaard delta rate) является оценкой средней относительной разницы битовых скоростей (количество бит в секунду), получаемых при кодировании видеоданных с использованием двух сравниваемых алгоритмов. Положительное значение BD-rate означает рост битовой скорости и, как следствие, снижение на ту же величину степени сжатия видеоданных. В качестве базового алгоритма, по отношению к битовой скорости которого вычисляется относительная разница, все авторы взяли алгоритм поиска минимума метрики RDC путем перебора возможных размеров блока предсказания.
Величина AT, значения которой приведены в третьем столбце табл. 2, рассчитывалась по формуле
AT = Torg T .100, T
Torg
где Torg - время, затрачиваемое на кодирование видеопоследовательности при использовании базового критерия, когда размер блока предсказания определяется по минимуму величины RDC; T -время, затрачиваемое на кодирование видеопоследовательности при использовании альтернативного критерия.
Наилучшим из альтернативных критериев можно считать тот, который обеспечивает минимальное значение величины BD-rate при максимальном значении AT. Такой критерий обеспечивает максимальную (среди сравниваемых) степень сжатия при минимальных вычислительных затратах на кодирование. По величине BD-rate наилучшими являются критерии с условными названиями Kim и Min. Первый из них обеспечивает сокращение объема вычислений всего лишь на 23,8%. Использование критерия Min обеспечивает сокращение объема вычислений на 52,3%, что делает его наилучшим среди сравниваемых критериев.
Модификация критерия выбора размера блока пространственного предсказания. Рассмотрим более подробно процедуру выбора размера блока пространственного предсказания, пред-
лагаемую в [8]. После расчета глобальных и локальных сложностей для кодируемого блока решение о разбиении или неразбиении его на подблоки принимается поэтапно. Прежде всего, сложность изображения, рассчитанная для каждого из четырех направлений, сравнивается с пороговым значением. Если в каком-либо из направлений глобальные и локальные сложности всего блока и его подблоков оказываются меньше пороговых значений, то принимается решение о том, что данный блок не требует разбиений. В этом случае размер блока пространственного предсказания оказывается определен уже на первом этапе. На втором этапе минимальные по всем направлениям значения локальных и глобальных сложностей сравниваются с пороговым значением. Если минимальное значение глобальной сложности оказывается больше порога или минимальное значение локальной сложности оказывается больше порога, то принимается решение о том, что блок необходимо разбить на подблоки. На третьем этапе обрабатываются только те блоки, для которых не удалось принять решение на первых двух этапах. Для этих блоков решение о необходимости разбиения принимается на основании перебора всех возможных вариантов разбиения по минимуму величины RDC.
Очевидным вариантом модификации алгоритма Min [8], обеспечивающим дальнейшее сокращение объема вычислений при выборе размера блока предсказания, является использование какого-либо из альтернативных критериев для блоков, дошедших до третьего этапа алгоритма Мина. Такая комбинация позволит сократить объем вычислений, так как позволит избежать расчета значений RDC для всех возможных вариантов разбиений блоков, обрабатываемых на третьем этапе. С другой стороны, замена полного перебора на альтернативный вариант неизбежно приведет к росту BD-rate, т.е. некоторой потере степени сжатия.
В данной работе в качестве такого альтернативного критерия для третьего этапа алгоритма Min был выбран критерий Kim [4], обеспечивающий минимальную потерю по степени сжатия. Результаты использования комбинированного (Min + Kim) критерия приведены в табл. 3. Эксперименты по кодированию проводились на наборе тестовых видеопоследовательностей комитета JCT-VC [11].
Таблица 3
Эффективность использования комбинированного критерия__
Название видеопоследовательности Разрешение, в пикселях BD-rate, % AT, %
Traffic 2560X1600 0,17 6,47
PeopleOnStreet 0,27 6,79
SteamLocomotiveTrain 0,01 2,16
Kimono 1920х10В0 0,46 10,94
ParkScene 0,20 3,24
Cactus 0,34 2,14
BQTerrace -0,02 3,95
BasketballDrive 0,07 7,45
BQMall 832x480 0,02 3,70
Party Scene 0,04 -0,23
BasketballDrill -0,21 1,09
BQSquare 416x240 0,01 -0,92
BlowingBubbles -0,02 -1,56
BasketballPass 0,00 4,22
Vidyol m0x720 1,10 15,29
Vidyo3 1,20 13,9В
Vidyo4 0,В4 17,00
BasketballDrillText 832x480 -0,02 2,В5
ChinaSpeed 1024x76В 0,27 7,19
SlideEditing m0x720 0,46 17,47
SlideShow 0^ 22,14
В среднем 0,29 6,92
В первом столбце таблицы приведены названия тестовых видеопоследовательностей. Во втором столбце указано разрешение видеоизображений. Третий столбец содержит значения величины BD-rate, полученные при сравнении комбинированного алгоритма и оригинального алгоритма Min. Относительное изменение времени кодирования, вызванное использованием комбинированного алгоритма, приведено в четвертом столбце. В среднем введение комбинированного алгоритма сокра-
щает вычислительные затраты (время кодирования) почти на 7%. Потери по степени сжатия видеоданных при этом в среднем составляют 0,3%.
4. Заключение. Возможность выбора размера блока пространственного предсказания, введенная в новый стандарт видеокодирования H.265/HEVC, обеспечивает высокое качество предсказания, что приводит к существенному повышению степени сжатия. С другой стороны, полный перебор всех возможных вариантов разбиений кодируемого блока на блоки предсказания для выбора наилучшего варианта приводит к огромным вычислительным затратам. Проведенный обзор известных критериев выбора размера блока предсказания показал, что наилучшим можно считать критерий Min [8]. Использование этого критерия позволяет более чем в два раза сократить общее время, затрачиваемое вычислительной системой на кодирование видеоданных. Степень сжатия данных снижается при этом менее чем на 1%. Использование комбинированного алгоритма, предлагаемого в данной работе, позволяет дополнительно снизить вычислительные затраты почти на 7% при незначительном (меньше 0,3%) снижении степени сжатия.
Результаты исследований получены в Томском государственном университете систем управления и радиоэлектроники в рамках проекта, выполняемого по договору с ЗАО «Элекард наноДевай-сез» № 97/12 от 19 ноября 2012 г. Комплексный проект «Предоставление услуг мультимедийного вещания в сетях общего пользования Интернет, основанных на технологиях пиринговых сетей и адаптивной передачи потоков данных» выполняется в рамках Постановления Правительства России от 9 апреля 2010 г. №218 при финансовой поддержке Министертва образования и науки Российской Федерации.
Литература
1. Recommendation ITU-T H.265: High Efficiency Video coding, 2013 [Электронный ресурс]. -Режим доступа: https://www.itu.int/rec/T-REC-H.265-201304-S/en свободный (дата обращения: 24.08.2014).
2. Пономарев О.Г. Анализ эффективности методов и алгоритмов видеокомпрессии стандарта H.265/HEVC / О.Г. Пономарев, М.П. Шарабайко, А.А. Поздняков // Электросвязь. - 2013 - № 3. -C. 29-33.
3. Ortega A., Ramchandran K. Rate-Distortion Methods for Image and Video Compression // IEEE Signal Processing Magazine. - November, 1998. - P. 23-50.
4. Kim J., Choe Y., Kim Y. Fast Coding Unit Size Decision Algorithm for Intra Coding in HEVC // IEEE International Conference on Consumer Electronics (ICCE). - January 2013. - P. 637-638.
5. Cho S., Kim M. Fast CU Splitting and Pruning for Suboptimal CU Partitioning in HEVC Intra Coding // IEEE Transactions on Circuits and Systems for Video Technology. - September 2013. - Vol. 23, № 9. - P. 1555-1564.
6. Shen L., Zhang Z., An P. Fast CU Size Decision and Mode Decision Algorithm for HEVC Intra Coding. // IEEE Transaction on Consumer Electronics. - Vol. 59. - № 1. - February 2013. - P. 207-213.
7. Zhang Y., Li Z., Li B. Gradient-based Fast Decision for Intra Prediction in HEVC. // IEEE Visual Communications and Image Processing (VCIP). - November 2012. - P. 1-6.
8. Min B., Cheung R.C.C. A Fast CU Size Decision Algorithm for HEVC Intra Encoder // IEEE Transactions on Circuits and Systems for Video Technology. - May 2015. - Vol. 25, № 5. - P. 892-896.
9. Zhang M., Qu J., Bai H. Entropy-Based Fast Largest Coding Unit Partition Algorithm in High-Efficiency Video Coding // Entropy. - June 2013. - Vol. 15, № 6.- P. 2277-2287.
10. Bj0ntegaard G. Calculation of average PSNR differences between RD-curves, Technical Report VCEG-M33, ITU-T SG16/Q6, Austin, TX, USA, April 2001 [Электронный реcурс]. - Режим доступа: http://wftp3.itu.int/av-arch/video-site/0104_Aus/VCEG-M33.doc/ свободный (дата обращения: 24.08.2014).
11. 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.2014).
Пономарев Олег Геннадьевич
Ст. науч. сотрудник лаборатории обработки и трансляции
мультимедийных данных Института инноватики (ЛО и ТМД ИИ) ТУСУРа.
доцент каф. радиофизики НИ ТГУ
Тел.: 8-906-947-76-08
Эл. почта: [email protected]
Шарабайко Максим Павлович
Мл. науч. сотрудник каф. вычислительной техники Института кибернетики НИ ТПУ
Тел.: 8-953-918-11-27
Эл. почта: [email protected]
Тё Дмитрий Юрьевич
Магистрант каф. прикладной математики Института кибернетики НИ ТПУ
Тел.: 8-913-878-36-99
Эл. почта: [email protected]
Ponomarev O.G., Sharabayko M.P., Tyo D.Y.
Method for fast Intra prediction block size selection for HEVC encoding system
An overview of known methods for Intra prediction unit size selection in H.265/HEVC video compression system is presented. The analysis of considered methods allowed to choose the one that provides the maximum reduction of the encoding computational costs with a minimum decrease in the degree of video data compression. In the article the authors suggest a modification of selected method that provides additional reduction of computational complexity.
Keywords: HEVC, Video Compression, Intra prediction.