25 декабря 2011 г. 3:58
ТЕХНОЛОГИИ ИНФОРМАЦИОННОГО ОБЩЕСТВА
Оценка визуального качества в системах видеонаблюдения в условиях рассинхронизации
Предложен и описан способ оценки рассинхронизированных видеопотоков с помощью специально разработанного программного обеспечения. Показаны метода вставки и склейки значений вместо потерянных кадров. Показано различие в методах оценки видеопоследовательностей различных оажетных групп.
Шел ухи н О.И.,
зав. кафедрой ЗИТПС МТУСИ
Иванов Ю.А.,
аспирант ЧГУ
Ригов В.Ю.,
аспирант ЧГУ
Тенякшев А.А.,
аспирант РГУТиС
Постановка задачи. Проблема оценки качества видео чрезвычайно многогранна и изучается в настоящее время как с теоретической, так и с практической точек зрения. Разрабатываются новые объективные метрики оценки качества видеосигналов, представляющие собой математические модели, имитирующие субъективную оценку. Традиционным способом оценки качества цифровой обработки видеосигналов остается вычисление пикового отношения сигнал-шум PSNR (от англ. Peak SgnaHo-Noise Ratio) между исходным и прошедшим через анализируемую систему видеосигналом с помощью компьютерных программ. Существует немалое количество программных решений как учебных, так и профессиональных, которые позволяют оценивать качество потокового видео, как например:
— Elecard Video Quality Estimator [ 12];
— Video Quality Studio 0.32 [ 13];
— MSU Video Quality Measurement Tool [ 14],
— VQM_pc[15];
— PSNR£XE программно-аппаратного комплекса (16].
Однако все приведенные программы предназначены исключительно для оценки искажена видеоинформации, возникающих в процессе кодирования и сжатия видео, и не могут обрабатывать файлы с потерянными в процессе передачи кадрами и с отсутствием синхронизации. Передача видео по беспроводным сетям подразумевает возможное отсутствие синхронизации между оригинальной последовательностью и декодированной на приемной стороне копией, поскольку из-за непредсказуемой среды передачи пакеты данных могут претерпевать серьезные искажения или, более того — потеряться. Поэтому синхронизацию между анализируемыми видеопоследовательностями необходимо осуществлять вручную. Таким образом, особенно интересно программное обеспечение, учитывающее в полной мере эти особенности и способное правильно рассчитать параметры качества в случае пропадания одного или нескольких кадров в видеопоследовательности.
Была разработана специальная программа, решающая эту проблему. Для того, чтобы объяснить принцип ее работы, необходимо описать алгоритм вычисления такого распространенного параметра как PSNR.
Главной особенностью изображения является их модальность. Существует три возможных модальности: RGB (or англ. Red-Green-BJue), полутоновая шкала (формирование изображения с использованием яркостной шкалы) и индексация. При использовании RGB каждый пиксель изображения описывается уровнями красного, зеленого И синего цветов.
Поскольку любой воспринимаемый человеком цвет может был» представлен как комбинация этих цветов, изображения RGB является полноцветным изображением. Каждый цвет описывается 8 битами информации, что позволяет использовать 256 уровней интенсивности цвета и в конечном итоге получить 16,7 миллионов цветов (256*256*256), также известное как True Color.
С другой стороны, в полутоновом изображении каждый пиксель можно описать значением яркости уровнем от 0 (абсолютно черный) до 255, соответствующего максимальной яркости. Фактически, различие между полутоновым и RGB изображениями является число каналов цвета: при полутоновом требуется только один канал, вто время как для передачи RGB сигнала необходимо сразу три канала. RGB изображение может быть представлено как наложение трех полутоновых изображений, каждый из которых соответствует определенному цвету. Как можно заметить, изображение описывается тремя матрицами, каждый из которых соответствует одному из RGB цветов и определяет цвет пикселя. К примеру, для изображения 176x144 пикселей необходимо три матрицы одинаковых размеров и чьи элементы являются значениями интенсивности цвета каждого пикселя.
Измеряемый параметр PSNR является математическим инструментом, позволяющим установить соответствие между оригинальной и искаженной видеопоследовательностью. Чем больше различие между передаваемой и приемной видеопоследовательностью, тем ниже значение PSNR, выражоемое в децибелах, согласно визуальной логарифмической чувствительности глаза человека.
При сравнении двух видеопоследовательностей , состоящей из N кадров с разрешением Dx х Dy (например, для QCIF х ж 144 у ■ 176 и для QF х = 288 ул 352) и координатами пикселей Цп, х, у), (где л = 0,..., N-1, х = Dj у - 1,..., Dy обозначает яркость (компонента У) пикселя с координатами (х, у) в видеокадре п) будет справедлива формула:
PSNR, = 10logw
255__________________________
»-J л-l
<1)
Приложения используемые для передачи в реальном времени обычно кодируют аудио/видео информацию в формат не критичный к патере пакетов, например стандарт кодирования MPEG. Этот стандарт использует intra- и inter-Kcwpoeoe сжатие с различными типами кадров (I, Р и В). Повторяющиеся участки I, Р и В-кадров называют группой кадров GOP (от англ. Group of Pictures). Выбор структуры GoP влияет на свойства MPEG-вкдео, как например размер файла, что в свою очередь влияет на битрейт видеопотока и на ко-
92
T-Comm, #10-2011
Исходные
кадры
Принятые
кадры
Исходные
кадры
1 2 3 4 5 6 7 8 9 10 II 12 13 14 15 16
Разница
1 2 3 4 5 6 7 8 9 10 II 12 13 14
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
11ринятыс кадры
Исходные
кадры
Принятые
кадры
1 2 3 4 5 6 7 8 9 10 II 12 13 14
1 2 3 4 5 6 7 8 9 10 И 12 13 14 15 16
1 2 3 4 5 6 7 8 9 10 II 12 13 14
ftc. 1. Прицеп синхроиизац^ ксадров
нечное визуальное качество. Число и соотношение различных типов кадров в GOP выбирается в зависимости от эффективности кодирования при используемой сюжетной линии видео: статичной, малоподвижной или высокодинамичной.
Длина GOP зависит от используемой структуры и числа типов кцпров. Очень короткий GOP (менее 6 кадров) используется, когда изображение изменяется слишком быстро (поскольку 1-кадры сжимаются независимо (используется алгоритм аналогичный JPEG) и не основываются на временном масштабировании). При этом, если наблюдается быстрое изменение от предыдущего кадра, наличие большого количества Р- и В-кадров могут ухудшить качество. Возможное значение Р-кадров изменяется между 2 и 14. На практике используется малое число Р-кадров (напр. 3 или 4). Если кодирование происходит при высоком битрейте (выше 6000 кб/с), возможно использовать только I и Р-кодры (напр., 1 1-кадр и 14 Р-каоров). В-кадры обеспечивают лучшее сжатие, но, как и с Р-кадрами, ухудшают качество в динамичных сюжетах На практике используется малое число В-кадров (напр. 0 или 3).
Наиболее употребительной структурой GOP является IBBPBBPBBPBB. В зависимости от используемого кодирования определенной сюжетной группы могут быть использованы другие структуры. Максимальная длина GOP согласно спецификации DVD равна 18 для NT5C и 15 для PAL [16]. Максимальная длина GOP согласно спецификации DVD, равна 18 для NTSC и 15 для RM.
Для увеличения эффективности кодирования важно определить размер и распределение кадров GOP Поскольку сюжет любой видеопоследовательности может меняться со временем, при кодировании структура GOP может быть не фиксированной и изменяться со временем Поэтому необходимо динамически определить структуру GOP Возможно определить структуру GOP автоматически в реальном времени используя такую информацию, как SAD (Sum of Absolute Difference) и MAD (Mean of Absolute Difference). Существует немало работ, в которых подробно освещен этот вопрос. В [1] и [2\ был предложен относительно простой метод для определения структуры GOR В [3] была рассмотрена оптимизация структуры
GOP на основе временного отношения последовательных кадров В [4] представлен простой метод позволяющий определить структуру GOP. В (5] представлен алгоритм определения структуры GOR
Стандарт MPEG предполагает, что в большинстве видео, кадры находящиеся поблизости подобны друг другу. Поскольку соседние кадры описываются с учетом того, как они отличаются от "исходного" ксщра, логично предположить, что кадры в пределах GOP могут быть заменены друг другом в случае потери одного из них с минимальным влиянием на качество всей видеопоследовательности. Однако при замене кадров должна быть проведен анализ изображений и вычислена максимальная схожесть кадров.
Для этих целей было решено использовать программное обеспечение Matlab, позволяющим обрабатывать большое количество данных и имеющим свой язык программирования.
Описание разработанного ПО
Основным принципом работы программы является оценка внесенных искажений в вцдеоряд с учетом покадрового сравнения исходной и принятой видеопоследовательности. Для каждого кадра принятой видеопоследовательности (т.е. прошедшей через сети передачи данных) вычисляется отношение PSNR. Входными данными для работы программы являются кадры видеопоследовательностей (исходной и принятой) в формате bmp. Каждый кадр в программе представляется в виде трехмерной матрицы. Каждый элемент матрицы может принимать значение от 0 до 255, которое определяет насыщенность одного из цветов (красного, синего, зеленого) каждого пикселя изображения.
Повторяющиеся идентичные кадры в передаваемой и приемной видеопоследовательностях удаляются. При различии количества кадров в видеопоследовательностях программа будет обрабатывать минимальное значение (как правило, это приемная видеопоследовательность).
Для корректного сравнения видеопоследовательности программа сопоставляет принятые кадры с исходными, т.е. синхронизирует
Т-Comm, # 10-2011
93
Ввод исходных данных
Загрузка июбражсннй и память
' I —
Удаление И1 исходной последовательности л>6лироваииы\ кадров (одинаковых кадры)
Удаление hi принятой последовательности .полированных кадров (одинаковых кадры)
Синхрониипия кадров (сопоставление принятых кадров с исходными)
Вычисление PSNR для сопоставленных друг с другом кадров
Запись рс«> дыатов ■ файл
FVic. г Алгоритм работы грограммы
в
КВТВПОГ С ИСХОД***! I MI*»
Выверите гвтмо I
| Oteop ]
НММ)«М>«1Р
I ИСХОДГМ КвДО
so
Начтмнцр
r^avttTbie квдоы
i
FW. 3. Интерфейс программы
видеоданные. Каждый кадр принятой последовательности сопоставляется с кадрами в исходной последовательности в определенном интервале номеров кадров. Этот интервал задается вручную с учетом используемой сюжетной группы видео и определенной структуры GOP. При несовпадении колкнества принятых и исходных кадров этот интервал расширяется на разницу количества кадров. Принцип синхронизации кадров представлен на рис 1.
Если интервал поиска будет задан 3 кадра, то это значение увеличится до 5-ти кадров, поскольку два кадра добавляется из-за разного количества исходной и принятой видеопоследовательностями (разница два кадра). На рис. 1 показаны три случая поиска кадров, в зависимости от положения потерянного кадра в последовательности. Показан пример, когда принятых кадров меньше, чем исходных.
Величиной идентичности видеокадров является число, вычисляемое путем усреднения всех элементов матрицы, поочередно по каждой размерности. Для вычисления отношения PSNR приютого кадра составляется разностная матрица, которая содержит в себе различия пикселов принятого и исходного кадров Данные разностной матрицы также усредняются последовательно по каждой размерности, и максимальное различие в кещрах будет представляться в виде числа в диапазоне от 0 (кадры идентичны) до 255 (кадры максимально разные, в случае сравнения черного изображения с белым). Результаты вычисления PSNR записываются в файл, который содержит в себе номер исходного кадра, соответствующий номер приня-
того кадра и величину PSNR этих кадров.
На рис. 2 показан алгоритм работы программы. Внешний вид пользовательского интерфейса программы представлен на рис. 3.
Результаты эксперимента
Для проведения эксперимента использовались виде последовательности "Half, "Foreman" и "Football" в формате YUV, доступные в [18] и рекомендованные для проведения тестовых испытаний организацией ITU [19]. Данные видеопоследовательности характеризуются принадлежностью различным сюжетным группам (статическая (ССГ) — holl, малоподвижная (МПСГ) - foreman, высокодинамичная (ВДСГ) — foofcall).
Оценка работы разработанного программного обеспечения состояла из двух экспериментов. В первом эксперименте была проведена имитация передачи видео по беспровод ному каналу AWGN с величиной BER= 10-4 с помощью программы VCDemo (20]. Синхронизация видеопоследовательностей при этом не нарушалась.
Далее была выполнена рассинхронизация видеопоследовательностей путем удаления кадров из принятого видео с помощью программы VmualDub [ 17] (рис. 4). Удаление производилось в трех разных комбинациях: 1 — был удален 50-й кадр, 2 — с 50-го по 55-й кадр и 3 — с 50-го по 60-й кадры, что соответствовало 1, 5, 10 процентам удаленных кадров.
Оценка качества производилась с помощью программы
ж ш
4. Искаж»*«е видеопоследовательности после передачи по беспроводному каналу ДМСтИ на примере 22-го кадра (рис слева) и россинхрониэаиия видео (несоответствие мимики) на гримере 51 -го кадра (рис. справа)
94
Т-Comm, # 10-2011
50 ч 40
0 10 20 30 40 50 60 70 80 90 100
Номер г адра
10 20 30 40 50 60 70 80 90 100
/*« 7 50 % 40 nrvi Л /Ч5* 50 ^ 40 А Н\ л
І30 В» JvЩ / N
1 І // / V%
20 >* 20 ... .
0 10 20 30 40 50 60 70 80 90 100 Houep кадра
0 10 20 X 40 50 60 70 80 90 100 Номер кадра
0 10 20 30 40 50 60 70 80 90 100 Houep кадра
25 30 Э5 PSNR. дБ
і ’5 5 Ю
е
5 5
11 _ 08
І 06
<л
0 4
и.
02
25 30 35 PSNR.дБ
25 30 35 PSNP.дБ
15 20 25 30 35 PSNR. дБ
Р\«с. 6. Змсяения PSNR видЕюпоспедовспепьностей Ной. Рсхетап и РосяЬа!, искаженных при передаче по беспроводному канал/ и вычисленных традиционным ПО. а — син в 4 ООхре»илровсмыб видеопоследовательности; 6 — при гютере карров и нарушенной синхронизаций в — гистограммы распределения синхронизированных видеопоследовательностей; г — гистограммы раслределетя при потере кадров и крушенной о*чхромизсини; д — распределение вероятности эксперимент сльных дойных без и с потеря явными кадрами
тельности, и для них Р$Ык не вычисляется (в данном примере с 50 по 55 кадр). Поэтому при анализе и построении результатов вычислений Р$Ы1? необходимо учитывать пропущенные (т.е. потерянные) ко-дры. Начиная с 50-го принятого кедра идет соответствие с исходными с разницей в шесть кадров (то есть смещение, обусловленное потерей кадров 50-55).
Оценка достоверности и идентичность вычисленных значений РБИ!? разработанным ПО в сравнении с традиционным представлена на рис. 5, а. Небольшое изменение вызвано преобразованиями видеопоследовательности из видеоформата МРВЗ в формат изображений ВМР
На рис 5,6 представлено значения показателя РБШ вычисленные традиционным ПО при наличии и отсутствии синхронизации. Показано, что при измерении Р5Ы1? видеопоследовательности, в которой кадры удалены, традиционное ПО производит расчет некорректно (после 50-го кадра). Разработанное ПО благодаря наличию функции синхронизации кадров производит росчет верно (рис 5в,г]. На рис 5, в наблюдается смещение графика Р$Ы1* на количество потерянных кадров влево. Вместо потерянных кадров возможно вставить "нулевые значение качества", как правило, характеризующие наихудшее качество. Такая коррекция позволяет провести соат-
ветствие значений до и после потери ксщров На рис. 5,г показана вставка значений PSNR ■ 20 дБ, характеризующее очень плохое качество.
Значения величины PSNR нельзя предугадать даже при полностью известных условиях эксперимента, при кагором производятся его измерение. Возможно указать лишь вероятность того, что величина примет то или иное значение или попадет в заданный интервал. Однако, зная распределение вероятностей этой величины, можно сделать вывод о его свойствах и характерных особенностях [22]. На рис. 6 представлены показатели качества видеопоследовательностей, соответствующим различным сюжетным группам (статическая (ССГ) — ball, малоподвижная (МПСГ) — foreman, высокодинамичная (ВДСГ) — foofcall). На рис. 6в, г показано, что при расчете традиционным ПО, значения PSNR некорректны, поскольку часть результатов в область меньше 25 дБ, что соответствует плохому качеству. При потере кадров в видеопоследовательности, гистограмма PSNR не должна изменятся, а должно быть уменьшение числа наблюдений PSNR, то есть график гистограммы должен лишь уменьшиться по оси ординат (количество наблюдений) в тех диапазонах, которьил принадлежали потерянные кадры. Вследствие этого сильно искажаются и эмпирические функции распределения (рис 6,д).
96
Т-Comm, # 10-2011
« 40
от 30 О.
20
I
50 ч 40
30
20.
>»»!
Foreman.
Football J
(О
50 ■§ «) Ї» a 20 50 «д 40 130 a 20 JVWKf
10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 100 10 20 30 40 50 60 70 80 90 10
Номер кадра 50 Номер мдра 50 Номер кадра
10% 5%1% 10% 5%1% 10%5%1%
ЧЧ* «о 40 VV *3 40 Г\ гйгЛ fffT-fo
і 30 ОТ ~v4wh(0 1"
20 20
10 20 30 40 50 60 70 80 90 100 Номер кадра
0 10 20 30 40 50 60 70 80 90 100 Номер кадра
0 10 2030405060708090 100 Номер кадра
•X 25 *
• 20 15 10 5 5 * 0.
I
*
1
08
? 06 от
04
(L
02
10 15 20 25 30 Э5 PSNR, дБ
25 30 Э5 PSNR. дБ
10% 1 1
5% \ J
l%\ •*/
10 15 202530Э5 40 45 50 PSNR.aB
FW. 7. Знамения PSNR видеопоследовательностей Hall, Foreman и Foolbdl, искаженных при передаче по беспроводному каналу и вычисле»*к1х традиционным ПО. а — синхронизированные видеопоследовательности; б — гри потере кодрсв и нарушенной синхро**оации; в — гистограммы распределения синхро^эировсиных видеопоследовательностей; г — гистограммы распределения при потере кадров и нарушенной синхронизации; д — роспределе»**? вероятности экспериментальных доиых без и с потерянными копрами
На рис. 7 отображены результаты расчетов, вычисленные разработанным ПО. На рис 7,6 как было сказано выше, происходит сдвиг графика Р5ЫР влево за счет потерянных кадров. Гистограммы Р5ЫР (рис. 7в,г) показывают, что искажения до и после удаления практически идентичны (совпадает огибающая графиков гистограмм), что говорит о правильном расчете после удаления кадров разработанным ПО. Функции распределения также незначительно изменяются в зависимости от количества потерянных к одров (рис. 7 ^).
На рис. 8 отображены результаты расчетов, вычисленные разработанным ПО и вставке "нулевых" значений. На рис. 8,6 графики РБИІ? идентичны за исключением числа данных, равных количеству потерянных кадров. Гистограммы РБЫИ (рис. 8 в, г) показывают, что искажения до и после удаления при вставке "нулевых" значений отличаются за счет появления дополнительного максимума, равным числу потерянных кадров. Функции распределения также незначительно изменены в зависимости от количества потерянных кадров (рис 8л). Таким образом, при большом количестве потерянных кадров способ вставки "нулевых" значений не соответствует первоначальным данным. Одаим из решений этой проблемы является вставка не "нулевых", а средних значений Р$№ видеопоследовательности.
Таким образом, было проведено 9 экспериментов Для дальнейшего упрощения описания результатов обозначим их под соответствующими номерами: 1 — вычисленное традиционным ПО при 1 % потерянных пакетов; 2 — вычисленное традиционным ПО при 5% потерянных пакетов; 3 — вычисленное традиционным ПО при 10% потерянных пакетов; 4 — вычисленное разработанным ПО при 1 % потерянных пакетов; 5 — вычисленное разработанным ПО при 5% потерянных пакетов 6 — вьмисленное разработанным ПО при 10% потерянных пакетов; 7 — вычисленное разработанным ПО при 1 % потерянных пакетов и "вставке’1 нулевых значений; 8 — вычисленное разработанным ПО при 5% потерянных пакетов и "вставке" нулевых значений; 9 — вычисленное разработанным ПО при 10% потерянных пакетов и "вставке" нулевых значений,
По результатам данных функций распределений были вычислены значения дельты (Д) согласно формуле:
Д = F(PSNR) - f*(P$NR),
(2)
где ^РБ^) — функция распределения Р5№ видеопоследовательности, вычисленное традиционным ПО без потерянных кадров (рис 5,а); Я*(Р$М) — функция распределения Р$ЫИ видеопосле-
T-Comm, # 10-2011
97
для МПСГ иВДСГ уменьшается с 0,22 до 0,21 исО, 14 доО, ^соответственно. Дисперсия при этом изменяется незначительно. Анализ показывает, что в случае малого числа потерянных кадров (1%) математического ожидание погрешности AF(PSNR) при использовании метода вставки "нулевых” значений имеет наименьшие значения (0,09,0,2 и 0,13), а метод "склейки" —наибольшие (0,11,0,22и 14).
5) Таким образом, для оценки качества видеопотоков различных сюжетных групп в условиях рассинхронизации рекомендуется использовать разработанное ПО. При небольшом количестве потерянных кадров (около 1%) рекомендуется использовать метод "вставки” нулевых значений, в остальных случаях — метод "склейки”. Эю позволить достоверно и с наименьшими погрешностям оценить полученное качество видео потока.
Таким образом, показано, что при несоответствии переданных и принятых кадров, вследствие потери некоторых из них, оценка показателей качества существующими программами производится некорректно. Предложен и описан способ оценки рассинхронизированных видеопотоков. Показано, что разработанное программное обеспечение способно провести оценку качества видеопотока, даже если часть кадров потеряна, путем поиска соответствующих кадров. Показана достоверность полученных результатов, при сравнении с существующими программами оценки качества потокового видео. Показано различие в методах оценки видеопоследовательностей различных сюжетных групп.
Литература
1 Yutako Yolcoyama. "Adaptive GOP Structure Selection for RealTime MPEG-2 Video Encoding," Proceeding of IEEE Intemotiond Conference on Image Processing, vol. 2, pp 832-835, Sept. 2000.
2 AiooYooeyama, etaL "One-pass VBR MPEG encoder using scene odaptive dynamic GOP structure", ICCE2001, pp 174-175, June 2001.
3 )0aodong Go, and Hongpan Zhang. "Implementing dynamic GOP in video encoding," Proceedings of IEEE International Conference on Multimedia and Expo, vol. 1, pp.349-352, July 2003.
4 Aldo Yaneyama, etaL "MPEG Encoding Algorithm with Scene Adaptive Dynamic GOP Structure," IEEE 3rd Workshop on Multimedia Signal Processing, pp 297-302, Sept. 1999.
5 Jungwoo Lee, et.d "Rate-Distortion Optimization Frame Type Selection for MPEG Encoding," IEEE Trans, on Grcuits and System for Video Technology, vd. 7, No 3, pp.501 -510, June 1997.
12. Becard Video Quality Estimator http://www.elecad.com/ products/ products-pc/ professional/video-quest.
13. Video Quality Studio 0.32: http://vAw.visunxjlchemia.com/ vqsiudio/ #downlood
14. MSU Video Quality Measurement Tool: http://www.compres-sion.ru/video.
15. VQM_pc: htlp://www.its-bldrdoc gov/n3/video/VQM_soft-ware_description.php.
16 Шелухин OK, Иванов Ю А Оценка качества передачи потокового видео в телекоммуникационных сетях с помощью программно-аппаратных средств // Электротехнические и информационные комплексы и системы, 2009, т5, №4. — С-48-56.
17. www.virtualdub.org.
18. http://troce.eas.asu.edu.
19. fTU-R Recommendation ВТ.802 -1 Test pictures and sequences for subjective assessments of digital codecs converging signal produced according to Recommendation ITU-R ВТ. 601.
20. http://id.ewi.tudelft.nl/vcdemo.
21 .hlp://dvd-hq.info/dvd_compression.php.
100
T-Comm, #10-2011