УДК 681.3.053
П.В. Потапов, А.М. Кориков
Оценочная функция для поиска векторов похожести при сжатии видеоданных
Предложена новая оценочная функция для поиска векторов похожести при сжатии видеоданных. Предложенная оценочная функция позволяет учитывать не только энергию невязки блоков, но и количество бит, требуемое для кодирования вектора похожести.
Ключевые слова: компрессия видеоданных, поиск векторов похожести, оценочная функция.
Пропускная способность компьютерных сетей продолжает расти, высокоскоростное соединение с домашним компьютером стало обычным явлением. Вместительность жёстких дисков, флэш-памяти и оптических устройств хранения данных стала больше, чем когда-либо. Стоимость передачи и хранения информации становится всё меньше и меньше, однако проблема сжатия видеоданных не теряет своей актуальности. Алгоритмы сжатия видеоданных постоянно совершенствуются, создаются новые стандарты видеокомпрессии. Сжатие видеоданных имеет два важных достоинства. Во-первых, сжатие позволяет использовать цифровое видео в таких средах хранения и передачи информации, в которых невозможно использовать видео без компрессии. Во-вторых, сжатие видеоданных позволяет более эффективно использовать ресурсы среды передачи или хранения информации [1].
В настоящее время большое внимание уделяется разработке алгоритмов сжатия видеоданных, использующих компенсацию движения. Так, начиная с 1980 г. организации ITU и MPEG выпускают ряд стандартов сжатия, использующих блочную компенсацию движения: H.261, MPEG-1, MPEG-2/H.262, H.263, MPEG-4, H.264 (MPEG-4 part-10) [2]. Использование алгоритмов компенсации движения при сжатии видеоданных позволяет существенно увеличить степень компрессии при том же соотношении сигнал/шум результирующего видео. Параллельно с разработкой новых стандартов сжатия происходит совершенствование алгоритмов поиска векторов похожести. Алгоритм поиска векторов похожести является важнейшей частью в системе сжатия видео. От выбора алгоритма поиска векторов похожести напрямую зависят степень компрессии и вычислительная сложность алгоритма сжатия. Обычно реализация алгоритма поиска векторов похожести сводится к минимизации оценочной функции. Выбор оценочной функции существенно влияет на вычислительную сложность и результат работы алгоритма поиска векторов похожести.
1. Оценочные функции
Целью алгоритма компенсации движения является минимизация размера блока после сжатия. Размер блока после сжатия зависит от энергии невязки этого блока, таким образом, в качестве оценочной функции часто предлагаются функции, описывающие эту невязку:
N-1N-1 2
SSE(Vx,Vy) = £ £(It (x + m,y + n) - It-i(x + Vx + m,y + Vy + n)) ,
n=0 m=0 N-1 N-1
SAD(Vx,Vy) = £ £ I(x + m,y + n)-It-i(x + Vx + m,y + Vy + n)|,
n=0 m=0
где SSE(Vx ,Vy) и SAD(Vx ,Vy) — значения оценочных функций, рассчитанные для блока
размером N х N с координатами (x,y) из t-го кадра; (Vx ,Vy) — вектор похожести; It —
значения яркости пикселей t-го кадра [3].
Использование оценочных функций SAD и SSD не позволяет учесть количество бит, требуемое для кодирования векторов похожести. При сжатии видеопоследовательностей, плохо подвергающихся компрессии, либо при сжатии с маленьким коэффициентом квантования количество бит, требуемое для кодирования невязки блока, намного больше,
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
чем количество бит, требуемое для кодирования векторов похожести. Поэтому в этом случае при поиске векторов похожести можно не учитывать биты, требуемые для кодирования векторов. Однако в случае больших коэффициентов квантования либо видеопоследовательности, легко подвергающейся компрессии, количество бит, требуемое для кодирования векторов, становится сравнимо с количеством бит, требуемым для кодирования невязки. Для таких случаев очень важно, чтобы оценочная функция позволяла учесть не только энергию невязки между опорным и текущим блоком, но и количество бит, требуемое для кодирования вектора похожести. Использование такой оценочной функции позволит увеличить степень компрессии при сжатии с большим коэффициентом квантования либо при сжатии видеопоследовательностей, содержащих простые сцены.
2. Предлагаемая оценочная функция
В стандарте сжатия MPEG-2 кодированию подвергаются не сами значения векторов похожести, а их невязка с вектором похожести предыдущего блока. Используя в качестве функции оценки энергии невязки блока функцию SAD, запишем новую оценочную функцию в виде
{Vi - Vir1
Cost(vX ) = SADV ) + ktl (
x ' x
-t-1 T A-1
vl - vi-1 vy vy
) -
где (Vx ,Vy) — вектор похожести текущего блока; (Vx ,Vy ) — вектор похожести предыдущего блока; k и l — коэффициенты. Коэффициент k введён для учёта степени компрессии, достигаемой для текущей видеопоследовательности, а l является нормировочным коэффициентом.
Так как разные видеопоследовательности сжимаются с разной степенью компрессии, а также в связи с тем, что при сжатии могут использоваться различные коэффициенты квантования, использовать фиксированный коэффициент k для всех случаев невозможно. Поэтому было принято решение рассчитывать коэффициент k адаптивно.
Обозначим количество бит, требуемое для кодирования блока, сжатого по стандарту MPEG-2, как s. Для того чтобы оценить зависимость количества бит, требуемых для кодирования блоков, от величины оценочной функции, проделан следующий эксперимент: видеопоследовательность сжималась с применением стандарта MPEG-2 с постоянным коэффициентом квантования, значения s для каждого блока, а также мера SAD, рассчитанная для этого блока, записывались в файл. По результатам эксперимента была построен график зависимости s(SAD), представленный на рис. 1. На графике также представлена аппроксимирующая прямая, построенная при помощи метода наименьших квадратов.
12000 10000
8000
н
ю 6000
<п
4000
2000 0
♦ ♦
♦ ♦
♦ ♦ ♦
♦ ♦
«¿ffipS* w
500 1000 1500 2000 2500 3000 (SAD) Рис. 1. График зависимости s(SAD)
0
Анализ расположения точек на графике позволяет сделать вывод, о том, что для расчета коэффициента к, может быть использована линейная аппроксимация зависимости s(SAD). Коэффициент к для t-го кадра вычисляется, используя результаты компрессии предыдущего кадра по формуле
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
M
I4-1
k = M '
I SADt-1
i=1
где M — количество блоков в кадре; slt-i — количество бит, потребовавшееся для кодирования i-го блока в (t -1)-м кадре; SADt-i— значения меры SAD, рассчитанной для i-го блока в (t -1)-м кадре.
Коэффициент l был рассчитан экспериментально. Для этого была проведена серия экспериментов, в ходе которых производилась компрессия тестовой видеопоследовательности с использованием различных значений коэффициента l. Наилучший результат был достигнут при значении l = 0,3.
Для оценки эффективности предложенной оценочной функции произведено сравнение предложенной функции Cost с функцией SAD на пяти тестовых видеопоследовательностях. Сжатие производилось с различными коэффициентами квантования, в качестве алгоритма поиска векторов похожести использовался алгоритм полного перебора, в качестве критерия эффективности оценочной функции использовался размер сжатой тестовой видеопоследовательности. Тестирование проводилось с использованием программной системы MEFramework [4]. Результаты сравнения представлены в таблице, где указан размер сжатых видеопоследовательностей в мегабайтах.
Размер видеопоследовательностей, сжатых с применением сравниваемых оценочных функций, Мбайт
№ Оценочная функция Коэффициент квантования
3 10 20 30
1 Cost 23,379 7,364 3,7 2,698
SAD 23,616 7,671 4,025 3,066
2 Cost 27,204 9,924 4,479 2,798
SAD 27,445 10,338 4,863 3,144
3 Cost 132,24 40,814 16,904 10,942
SAD 132,248 41,974 17,689 11,413
4 Cost 70,01 19,779 8,477 5,958
SAD 70,602 20,708 9,323 6,76
5 Cost 28,079 7,105 3,603 2,839
SAD 28,383 7,612 3,982 3,204
Анализ данных из таблицы позволяет сделать вывод о том, что в сравнении с функцией SAD использование предложенной оценочной функции увеличивает степень компрессии на 3-5% для параметра квантования 10, на 5—9% — для параметра квантования 20 и на 5—12% для параметра квантования 30.
Заключение
Предложена новая оценочная функция для поиска векторов похожести при сжатии видеоданных. В отличие от широко используемых функций SAD и SSD предложенная функция позволяет учитывать не только энергию невязки блоков, но и количество бит, требуемое для кодирования векторов похожести. Использование новой оценочной функции позволяет увеличить степень компрессии при сжатии с применением больших значений коэффициентов квантования, так как в этом режиме количество бит, требуемое для кодирования векторов похожести, сравнимо с количеством бит, требуемым для кодирования невязки блока.
Литература
1. Артюшенко В.М. Цифровое сжатие видеоинформации и звука / В.М. Артюшенко, О.И. Шелухин, М.Ю. Афонин. - М.: Дашков и Ко, 2003. - 426 с.
2. Richardson E.G. H.264 and MPEG-4 Video Compression. - Aberdeen, UK: The Robert Gordon University, 2003. - 306 p.
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008
3. Ghanbari M. Standard Codecs — Image Compression to Advanced Video Coding. — London, UK: The Institution of Electrical Engineers, 2003. - 407 p.
4. Кориков А.М. Программная среда для разработки и исследования алгоритмов оценки движения при сжатии видеоданных / А.М. Кориков, П.В. Потапов // Вычислительные технологии. - 2007. - Т. 12, спец. вып. 1. - С. 42-50.
Потапов Павел Вячеславович
Аспирант кафедры АСУ, ТУСУР
Тел.: (382-2) 55-84-79
Эл. почта: [email protected]
Кориков Анатолий Михайлович
Д-р. техн. наук, проф., зав. кафедры АСУ, ТУСУР
Тел.: (382-2) 41-42-79
Эл. почта: [email protected]
P.V. Potapov, A.M. Korikov
Cost function for motion estimation and video compression
New cost function for motion estimation algorithms proposed. Proposed cost function takes into consideration not only spatial cost but also motion vector coding size. Key words: video compression, search of motion vectors, cost function.
Доклады ТУСУРа, № 2 (18), часть 2, декабрь 2008