Сравнение алгоритмов деблокинга в стандартах видеокомпрессии Н2 63, Mpeg-4 ASP, Mpeg-4 AVC, VC-1
Автор: Поляков Д.Б.
Журнал: Инфокоммуникационные технологии @ikt-psuti
Рубрика: Технологии телекоммуникаций
Статья в выпуске: 3 т.6, 2008 года.
Бесплатный доступ
Произведена оценка эффективности работы алгоритмов деблокинга в стандартах видеокомпрессии Н.263, MPEG-4 ASP, MPEG-4 AVC и VC-1 no критерию пикового отношения сигнал-шум и метрике структурного подобия (SSIM). Также оценена вычислительная сложность алгоритмов.
Короткий адрес: https://sciup.org/140191249
IDR: 140191249
Текст обзорной статьи Сравнение алгоритмов деблокинга в стандартах видеокомпрессии Н2 63, Mpeg-4 ASP, Mpeg-4 AVC, VC-1
Эволюция стандартов видеокомпрессии ведет к усовершенствованию старых и появлению новых инструментов работы с видео. Увеличение эффективности сжатия и повышение качества конечного изображения вместе со снижением вычислительной сложности являются приоритетными направлениями новых разработок. Со времен MPEG-2 были разработаны несколько алгоритмов компенсации известного недостатка, присущего гибридным кодекам на основе блочного дискретного косинусного преобразования и блочной компенсации движения, а именно блочных артефактов. Среди таких инструментов, например, компенсация движения с перекрытием,дебло-кинг-фильтры и т.д.
Рис. 1. Упрощенная схема гибридного кодера с фильтром блочных искажений в петле обратной связи
Деблокингфильтрация используется в стандартизованных кодеках H.263 [1], MPEG-4 aSP [2], MPEG-4 aVc (H.264) [3] и Vc-1 [4]. В настоящей статье приводится сравнение эффективности работы каждого из алго- ритмов фильтрации в вышеперечисленных стандартах, основываясь на количественных оценках критерия пикового отношения сигнал-шум (ПОСШ), метрики структурного подобия (SSIM) [5], а также вычислительной сложности.
Во второй части статьи рассматриваются особенности каждого из алгоритмов,в третьей части приводится описание использованных кодеков и тестовых видеопоследовательностей, в четвертой – результаты измерений и выводы.
Особенности алгоритмов
В таких кодеках как H.263, MPEG-4 aVc и Vc-1 предусмотрена деблокинг-фильтрация в петле кодирования (рис. 1) совместно с постобработкой в декодере. В стандарте MPEG-4 aSP деблокинг производится только как постобработка в декодере.
Наличие фильтра деблокинга в петле кодирования позволяет иметь на входе блока оценки движения кадры, содержащие меньшее количество блочных артефактов. Таким образом, улучшение качества межкадрового предсказания может сделать определение векторов движения более точным.
Детальные описания алгоритмов фильтрации могут быть найдены в соответствующих стандартах, здесь для краткости приведем лишь отличительные особенности каждого.
Начиная со второй редакции в стандарте H.263 предусматривается опциональное использование фильтра деблокинга в котором производится обработка двух пикселей по обе стороны от границы блоков 8 на 8.Сила фильтрации зависит от параметра квантования.
Так же как и в H.263, деблокинг в MPEG-4 aSP осуществляется раздельно, сначала гори-зонтально,затем вертикально поперек границ блоков 8 на 8 пикселей. Задействуется либо режим с наличием постоянного уровня (DC offset), либо режим по умолчанию. Выбор режима основывается на вычисленном значении критерия гладкости eq _ cnt , учитывающем интенсивность перепадов яркости соседних пикселей,смежных с границами блоков.
Таблица 1.
Последователь-ность |
Разрешение |
Частота кадров |
Число кадров |
YCbCr формат |
news |
176×144 |
30 |
300 |
4:2:0 |
waterfall |
352×288 |
30 |
260 |
4:2:0 |
foreman |
352×288 |
30 |
300 |
4:2:0 |
football |
352×288 |
30 |
260 |
4:2:0 |
city |
704×576 |
30 |
300 |
4:2:0 |
soccer |
704×576 |
30 |
300 |
4:2:0 |
ducks |
1920×1080 |
50 |
174 |
4:2:0 |
crowdrun |
1920×1080 |
50 |
174 |
4:2:0 |
В режиме по умолчанию модифицируется по одному пикселю с каждой стороны блочной границы с помощью простой низкочастотной фильтрации. В режиме с наличием постоянного уровня изменение двух граничных пикселей считается недостаточным для устранения блочности, и фильтруются восемь пикселей, по четыре с каждой стороны блочной границы. Для этого используется низкочастотная фильтрация с окном { 1,1,2,2,4,2,2,1,1 } . Если разница между максимальным и минимальным значениями пикселей-кандидатов на фильтрацию превышает значение удвоенного параметра квантования, то фильтрация в этом режиме не производится.
В MPEG-4 aVc фильтрация выполняется поперек границ блоков 4×4. На уровне границ блоков каждой границе между соседними блоками 4×4 присваивается параметр «блочной силы» (Bs) в виде целого числа в диапазоне 0...4 включительно. В случае b s = 0 фильтрация не применяется, при Bs = 4 сила фильтрации максимальна.
Далее для каждой совокупности граничных пикселей, расположенных по нормали к границе, определяется, является ли неоднородность блочным артефактом или это элемент исходного изображения. Решение о принадлежности границы к артефактам сжатия или реальному изображению выносится на основе сравнивания абсолютных разностей между несколькими парами отсчетов поперек границы блока. Сама фильтрация осуществляется фильтром нижних частот с различными импульсными характеристиками.
Фильтр в MPEG-4 aVc является алгоритмически наиболее гибким из всех представленных в сравнении.
Фильтр деблокинга в Vc-1 может изменять лишь по одному пикселю с каждой стороны границы блока, в отличие от H.264, который изменяет до трех пикселей с каждой стороны границы блока. Принимая во внимание, что в H.264 единицей обработки является блок 4×4, то при длине фильтра до трех пикселей возможна фильтрация одного и того же пикселя дважды. Такое невозможно в Vc-1, поскольку центральные пиксели блока не затрагиваются фильтрацией. Ограничение фильтрации в один пиксель позволяет избежать негативного влияния фильтра на «зерно» кинопленки, особенно на видео высокого разрешения. Это актуально, поскольку Vc-1, так же как и MPEG-4 aVc, и MPEG-2, являются кодеками, предназначенными для кодирования видео для носителя Blu-Ray.
Условия эксперимента
Для сравнения использовался H.263 кодек TMN 3.0 (модификация кодека версии 2.0 компании Telenor r&D). Помимо параметров, определенных по умолчанию, были постоянно включены следующие опции: режим улучшенного предсказания, режим с улучшенными Pb- кадрами, режим улучшенного внутриблоково-го кодирования.
В качестве кодека MPEG-4 aSP был выбран кодек открытого проекта XViD версии 1.1.3. Последовательности кодировались в два прохода. Фильтр устранения последствий эффекта Гиббса не включался. Тип квантования для всех последовательностей, кроме 1920×1080×50 – h263, для последовательностей crowdrun и ducks использовалось mpeg квантование. Кодирование и декодирование производились из-под VirtualDub версии 1.7.6.
В качестве кодера MPEG-4 aVc взят кодер открытого проекта ×264 версии 808. Помимо параметров, определенных по умолчанию, были включены следующие опции: возможность использовать до пяти опорных кадров при оценке движения и возможность преобразования 8×8. Декодирование производилось декодером JM 13.2 [6].
В качестве кодера Vc-1 использовался поставляемый вместе с Microsoft VC-1 Pro Encoder SDK пример кодера элементарных потоков raW2ES. Декодирование производилось декодером 6-й версии arM Ltd, разработанным по заказу Microsoft для общества инженеров кино и телевидения (SMPTE).
Таблица 2.
H.263
do ti |
16 |
25 |
47 |
76 |
116 |
|||||
04 in 04 О 1 |
со о о о 1 |
00 00 40 04 о 1 |
о о о о |
40 in 04 04 о 1 |
04 о о о о 1 |
04 04 04 о 1 |
in о о о о |
со о 1 |
о о о о |
|
'ey |
46 |
69 |
135 |
380 |
625 |
|||||
■П 9 о 1 |
00 о о 1 |
со я о 1 |
04 о о 1 |
40 04 со о 1 |
о о 1 |
40 04 о 1 |
о о 1 |
in о 1 |
40 О О О 1 |
|
сУ p |
152 |
171 |
215 |
380 |
598 |
|||||
04 40 00 о о 1 |
40 О О о |
40 in о о 1 |
04 о о о |
40 00 о о 1 |
со о о о |
со 00 о о 1 |
in о о о о |
00 о о 1 |
40 О О О О |
|
о |
395 |
521 |
804 |
1220 |
||||||
in 40 40 04 О |
00 о о о |
2 04 о |
04 04 о о о |
о 40 со 04 о |
о о о |
40 in о 04 о |
00 in о о о |
1 |
1 |
|
"u |
716 |
935 |
1274 |
2092 |
||||||
04 00 о о 1 |
о 04 о о о 1 |
о о 1 |
04 о о о 1 |
о 04 о о 1 |
со in о о о 1 |
о 04 о о 1 |
04 со о о о 1 |
1 |
1 |
|
U U О |
1033 |
1290 |
1648 |
2546 |
||||||
со 04 О |
о 04 о о о |
со со 04 о |
о о о |
04 о |
о о о |
о in о 04 о |
in о о о |
1 |
1 |
Анализ результатов и выводы
В таблицах 2,3,4,5 (H.263,MPEG-4ASP,MPEG-4 aVc,VC-1 соответсвенно)напротив каждой из последовательностей в верхней строке (горизонтально) указана скорость битового потока на выходе кодера в кбит/с.Под этим числом в двух столбцах указываются разности измеренных показателей декодированных последовательностей сфильтроми без:в первом столбце – ПОСШ в дБ,во втором столбце – SSIM.Поло-жительная величина означает прирост показателя при использовании фильтра,отрицательная – ухудшение.
MPEG-4 ASP
Замеры осуществлялись при помощи MSU Video Quality Measurement Tool версии 1 .52. Использовались метрика пикового отношения сигнал-шум (ПОСШ), взятая из-за широкой распространенности,и метрика структурного подобия (SSIM), которая совмещает в себе оценки яркости,контрас-та и структуры изображений [5] и является обобщением универсального показателя качества [7].
В сравнении участвовали 8 видеопоследовательностей (см. таблицу 1) с прогрессивной разверткой, широко распространенных для целей тестирования. Ролики высокого разрешения ducks и crowdrun были получены конвертацией 1 74-х изображений из формата SGI (1 6 бит на каждую из r Gb компонент) в формат 4:2:0.
Таблица 3.
о й |
22 |
36 |
48 |
72 |
104 |
|||||
40 00 о о |
о о о |
04 04 04 о о |
о о о |
о 04 о о |
00 о о о |
о 00 о о |
04 о о о |
in 04 о о |
о о о |
|
о сУ S |
67 |
96 |
359 |
520 |
932 |
|||||
04 1П о о |
о о о 1 |
04 о о 1 |
04 о о о о 1 |
о 04 о о 1 |
in о о о о 1 |
00 00 о о 1 |
о о о о 1 |
04 о о о 1 |
о о о о 1 |
|
Й сУ 8 о S |
130 |
188 |
255 |
411 |
980 |
|||||
о о |
40 in о о о |
in 40 о о |
04 о о о |
о о 40 о о |
04 о о о |
о о |
04 о о о |
о о |
о о о о |
|
о S |
287 |
486 |
771 |
1068 |
– |
|||||
9 о |
40 00 о о о |
о 04 о |
in о о о |
04 о о |
in о о о |
о о |
04 04 о о о |
|||
£ о |
378 |
502 |
924 |
1230 |
– |
|||||
40 о о о |
о о о |
о о о |
04 о о о о |
оо о о |
00 о о о о |
in 04 о о |
00 о о о о |
|||
о о о |
582 |
743 |
989 |
1604 |
– |
|||||
in in о |
40 00 о о о |
in о |
in о о о |
о 40 о |
in о о о |
о 04 о о |
04 04 о о о |
|||
о ’О |
8068 |
14265 |
22636 |
– |
– |
|||||
о |
о о о |
о 04 о |
40 04 о о о |
о 04 о о 1 |
04 о о о |
|||||
й 2 оО £ О о |
6133 |
12264 |
19219 |
- |
- |
|||||
04 о о |
о о о |
00 00 40 о о |
40 04 о о о |
40 in о о |
о 04 о о о |
Таблица 4.
MPEG-4 AVC
& о d |
9 |
17 |
34 |
66 |
124 |
|||||
00 04 со. о |
04 СО о о о |
со со со о |
о о |
04 МО 04. о |
04 о о. о |
МО со 04. о |
04 о о. о |
04 40 О о |
со о о о. о |
|
3 55 я £ |
33 |
123 |
326 |
528 |
725 |
|||||
04. О |
о о о |
о МО 04 о о 1 |
о о о |
о о 1 |
со о о. о 1 |
о О'. О', о. о 1 |
со о о о. о 1 |
00 40 О О 1 |
О', о о о. о 1 |
|
d я |
122 |
322 |
524 |
828 |
1135 |
|||||
04 со. о |
00 о о о |
о 00 40 04 о |
04 о о о |
о 04. о |
со о о о |
СО о 04 о |
о о о о |
04 О О', о о |
о о о о |
|
3 о |
322 |
521 |
729 |
933 |
1341 |
|||||
О'. 40 о о |
00 о о о |
00 40 со о |
со о о. о |
о 40 04. о |
со о о о. о |
о со 04. о |
40 о о о. о |
МО со О'. о |
О', о о о. о |
|
'55 |
300 |
501 |
757 |
1110 |
2014 |
|||||
04 00 О'. о |
о о о о 1 |
40 04 О 04. о |
со о о о. о |
со О'. о |
00 о о о. о |
со 00 о |
о о. о |
со 00 о |
о о. о |
|
55 и о |
301 |
504 |
760 |
1112 |
2025 |
|||||
40 04 40 О |
04 00 о о |
00 МО 00 04. о |
МО о о. о |
О'. СО 04. о |
04 04 о о. о |
00 со 04. о |
МО о о о. о |
МО 04 о 04. о |
о о о. о |
|
о d |
7600 |
9686 |
12361 |
15574 |
20746 |
|||||
40 40 МО СО о |
00 O^ о о о |
МО о со со. о |
04 о о о |
00 04 о |
40 О', о о о |
00 04 со. о |
о 40 о о о |
о МО 04. о |
00 со о о о |
|
О 55 |
7585 |
9593 |
12518 |
15857 |
20172 |
|||||
со 04 СО о |
со о о о |
00 СО со. о |
00 МО о о о |
04 о со. о |
МО со о о о |
МО 00 04. о |
04 04 о о о |
СО 00 04. о |
О'. о о о |
Графики зависимостей ПОСШ и SSIM от битовой скорости на выходе кодера и декодированные кадры видеопоследовательностей, могут быть найдены на 1/
Как и ожидалось, все алгоритмы хорошо отработали на последовательностях с быстрым движением – soccer и football, что объясняется наличием значительных блочных искажений на кадрах с высокой степенью движения. На последовательности waterfall кодеки продемонстрировали ухудшение оценок, что связано со сложностью кодируемой последовательности (отъезд камеры от водопада на фоне лесного массива).
Таблица 5.
VC-1 |
||||||||||
& о d |
16 |
34 |
67 |
96 |
127 |
|||||
МО 00 МО о. о |
о МО о о. о |
04 о |
со о о о |
00 со о о |
о о о |
00 04 о о |
40 О О О О |
со о о |
40 О О О О |
|
55 я £ |
49 |
100 |
307 |
505 |
711 |
|||||
04 00 МО о |
о о о |
04 СО о о |
со о о о |
04 о о |
со о о о о |
00 МО 40 о о |
СО О О О о |
о о |
00 О О О о |
|
d р |
129 |
170 |
306 |
508 |
906 |
|||||
МО со 40 О |
со о о о |
со 40 40 О |
о о о |
МО 40 00 о о |
со о о о |
со 40 о о |
04 О о о |
о МО о о |
40 О О О о |
|
о |
210 |
386 |
541 |
764 |
1066 |
|||||
МО 00 04. о |
со о о. о |
О СО О СО. О |
МО о о о |
04 04. о |
МО 00 о о о |
со о 04. о |
со МО о о о |
о 00 04 о |
40 04 О о о |
|
*55 |
408 |
708 |
1008 |
1207 |
1521 |
|||||
00 МО о о |
04 о о. о |
04 40 МО о о |
о о о о |
о о о |
МО о о о о |
04 МО о о |
40 О О О О |
со 40 О О |
40 О О О О |
|
55 Q о о |
383 |
436 |
723 |
1022 |
1428 |
|||||
40 СО 40 О |
МО о о. о |
00 о |
40 МО о о о |
со 04 04. о |
00 40 о о о |
со о |
04 МО о о о |
00 О |
О о о |
|
Q d "О |
7047 |
9578 |
12068 |
15137 |
20152 |
|||||
00 40 00 04. О |
40 о о о |
04 О 04 О |
о со о о о |
40 МО 04. о |
о о о |
3 04 о |
40 О О О |
о 00 о |
МО о о о |
|
а "О р 55 |
6715 |
10313 |
15371 |
– |
– |
|||||
МО МО 04 О |
00 о о о |
МО 40 04 04. О |
МО о о о |
04 МО со о |
МО со о о о |
1 |
1 |
1 |
1 |
Следуетотметить,чтонаименееплохиерезуль-таты на этой последовательности показали Vc-1 и Xvid, что в первом случае связано с ограничением фильтрации в один пиксель, а во втором
– с возможностью отключения фильтрации при соблюдении определенного условия (см. выше). В отличие от остальных, алгоритм деблокинга в H.263, согласно оценкам, неудовлетворительно отработал на последовательности city, которая насыщена высокими пространственными частотами, что демонстрирует слабую адаптивность фильтра. В целом, алгоритм деблокинга стандарта H.263 дал наименьший прирост показателей.
Оценка визуального качества декодированных последовательностей показала,что фильтрдебло-кинга в MPEG-4 aSP склонен классифицировать некоторые из блочных артефактов как элемент изображения.
Наибольший прирост ПОСШ для всех видеопоследовательностей получен при использовании фильтра MPEG-4 aVc, это лучший по качеству фильтр из представленных в сравнении. Фильтр деблокинга в Vc-1 показал себя скорее как инструмент очень тонкой коррекции, который вносит минимальные изменения в изображение. Об этом говорит наибольший прирост метрики SSIM на последовательностях ducks и crowdrun при использовании данного фильтра.
Стоит отметить, что деблокинг в незначительной степени (порядка нескольких процентов) позволяет экономить битовую скорость на выходе кодера (в случае фильтрации в петле кодирования) при одном и том же качестве. Этот эффект сильно зависит от характера изображения, но все же отсутствие фильтрации в петле кодирования следует признать недостатком деблокинга в MPEG-4 aSP.
Таблица 6.
Кодек |
Среднее количество инструкций на кадр |
TMN 3.0 |
2332396 |
Xvid |
3077594 |
JM 13.2 |
2573624 |
VC-1 |
1583847 |
В таблице 6 указаны значения количества инструкций, затраченных на деблокинг одного кадра cIf последовательности foreman, усредненные по всей последовательности для всех кодеков. Измерения производились на компьютере с процессором Intel core2Duo E6300. Наименее затратный по объему вычислений – алгоритм деблокинга в стандарте Vc-1, что опять же объясняется модификаций только одного пикселя с каждой стороны блочной границы. Отмечено, что значительная частьвычисленийприфильтрации вMPEG-4AVC затрачивается на определение силы блочности границ, что является своеобразной платой за высокую степень адаптивности алгоритма. Причем в кодеке JM версии 13.2, которым производилось декодирование, присутствует оптимизированный вариант фильтра деблокинга. Анализ исходного кода показал, что возросшая скорость обработки достигнута за счет прореживания вычислений силы блочности в 4 раза. Оригинальный вариант фильтра, который присутствует в кодеке до версии 12.1 включительно, затрачивает на обработку той же cIf последовательности foreman около 9,5 миллиона инструкций на кадр.
Необходимо сказать, что при тестировании чувствовалось, что акценты при разработке алгоритмов деблокинга в разных стандартах расставлялись по-разному. Беря во внимание два наиболее перспективных кодека, Vc-1 и MPEG-4 aVc, можно отметить, что если в MPEG-4 aVc снижение вычислительной сложности не являлось приоритетом, то в Vc-1, наоборот, этот фактор стоял на одном из первых мест.
Для стандартизованных алгоритмов, реализация которых обеспечивается рассмотренными в настоящей статье фильтрами, перспективой развития является алгоритмическая оптимизация с целью снижения вычислительной сложности.
Список литературы Сравнение алгоритмов деблокинга в стандартах видеокомпрессии Н2 63, Mpeg-4 ASP, Mpeg-4 AVC, VC-1
- ITU-T Recommendation Н.263: 1998. Videocoding for low bit rate communication.
- ISO/IЕС 14496-2: 2001. Information technology -Generic coding of audio-visual objects. Part 2: Visual.
- ISO/IEC 14496-10: 2003. Information technology -Coding of audio-visual objects. Part 10: Advanced Video Coding.
- SMPTE 421M-2006. Standard for Television: VC-1 Compressed Video Bitstream Format and Decoding Process.
- Wang Z., Bovik A., Sheikh H., Simoncelli E. Image Quality Assessment: From Error Visibility to Structural Similarity//IEEE Transactions on Image Processing. Vol. 13, No. 4, 2004. -P. 600-612.
- Joint Video Team Reference Software, Version 13.2 (JM 13.2), http://iphome.hhi.de/suehring/tail/download/
- Wang Z., Bovik A. A universal image quality index//IEEE Signal Processing Letters. Vol. 9, 2002.-P. 81-84.