Популярное

Мифы о звукоизоляции



Как построить дом из пеноблоков



Как построить лестницы на садовом участке



Подбираем краску для ремонта



Каркасные дома из дерева


Главная » Динамическое построение фонового

ДИНАМИЧЕСКОЕ ПОСТРОЕНИЕ ФОНОВОГО ИЗОБРАЖЕНИЯ ДЛЯ УМЕНЬШЕНИЯ ПОТОКА ДАННЫХ В СИСТЕМАХ КОДИРОВАНИЯ ПОДВИЖНЫХ ИЗОБРАЖЕНИЙ

Загайнов И.Г. (logicview@hotmail.com)

Институт Проблем Передачи Информации Российской Академии Наук

Предисловие

Представленная ниже методика позволяет снизить поток данных, необходимых для передачи изображений в системах видеоконференций, характеризуемых, как правило неподвижным источником (видеокамерой) и подвижным объектом (разговаривающим человеком) на некотором, как правило неподвижном, фоне. При использовании этого подхода удается понизить цифровой объем передаваемых данных на 5-15% по сравнению с обычными методами компенсации движения, используемыми в системах кодирования MPEG. Методика может быть использована как дополнительная обработка входных данных при кодировании информации любым кодеком, использующим блочный метод обработки изображений. Необходимые вычислительные затраты при использовании наряду с компенсацией движения составляют около 1% от их общего числа. При значительном росте производительности существующих микропроцессоров этими затратами можно пренебречь.

Кодирование подвижных изображений при использовании компенсации движения

Приведем краткое описание алгоритма кодирования подвижных изображений с использованием компенсации движения. Метод кодирования состоит в следующем:

исходный кадр f из видеопоследовательности разбивается на квадратные блоки размером 8*8 пикселей (иногда 16*16 пикселей);

далее, для каждого блока (xi,yi) изображения (кодируемого) находится блок (xi-1,yi-1) из предыдущего кадра видеопоследовательности fi-1, наименее отличающийся от него (для этого лучше пользоваться метрикой, которая максимально учитывает свойства зрения, однако на практике, в целях снижения вычислительных затрат, используется метрика L2 или даже L1);

для найденного блока из предыдущего кадра определяется его вектор перемещения M(xi-xi-1, yi-yi-i) (см. также рисунок 1), таким образом для представления кодируемого блока необходимо лишь запомнить координаты вектора; более того вектора могут быть подвергнуты статистическому кодированию;

далеко не все блоки изображения могут быть закодированы с приемлемым качеством (например те, которые содержат принципиально новую информацию, а не подвижные объекты), поэтому если погрешность



кодирования превышает определенную величину (как правило, наперед заданную), то данный блок изображения кодируется с использованием методов сжатия неподвижных изображений, например при помощи алгоритма JPEG [1].

Описанный метод можно развить в многоуровневую схему компенсации движения, если блоки, плохо подходящие для кодирования при помощи компенсации движения разбивать на блоки меньшего размера (скажем, на 4 блока размером 4*4 пикселей) и пытаться закодировать каждый из них с использованием той же методики.

Приведенный алгоритм позволяет существенно снизить объем передаваемой информации (в десятки раз) при кодировании подвижных изображений, так как при этом непосредственно передается лишь небольшая часть исходного кадра.


Рисунок 1. Принцип компенсации движения

Данный алгоритм (с некоторыми модификациями) успешно используется в большинстве систем передачи и хранения цифровых изображений (стандарты MPEG-1, MPEG-2, H.261, H.263) [2], [3], [4]. Однако он не учитывает некоторых особенностей, характерных для видеопоследовательностей, получаемых в системах видеоконференций. Целью данной работы является дальнейшее повышение степени сжатия информации (в таких системах этот фактор является наиболее критичным), при этом алгоритм, реализующий это, легко вписывается в любой из методов блочного кодирования подвижных изображений, т.е. не требуется существенных модификаций исходного алгоритма. Дополнительные вычислительные затраты при этом существенно меньше затрат на вычисление векторов перемещения блоков и составляют около 1%.

Построение кодека, использующего фоновое изображение

Если обратить внимание на типичную видеопоследовательность для системы видеоконференц-связи (см. рисунок 2), то видно, что в изображении можно выделить подвижный объект (как правило, голову и плечи разговаривающего человека) и неподвижный фон или задний план изображения (стены, мебель и т.п.). Несмотря на то, что он обычно является расфокусированным, он может содержать в себе большой объем информации.

С одной стороны, для приведенного метода это не является существенным, ибо эта информация не представляется целиком от кадра к кадру, а кодируется как неподвижная часть изображения (в общем случае, вектор перемещения таких блоков изображения равен {0;0}).





Рисунок 2. Отдельные кадры из типичной видеопоследовательности (Salesman)

Однако, если обратить внимание на блоки выделенные на рисунке 2, то можно видеть, что на первом кадре, соответствующем моменту времени t1, они являются неподвижной частью фона (фонового изображения), на втором кадре, соответствующем моменту времени t2, эти блоки являются частью подвижного (возможно, меняющегося со временем) объекта, на третьем кадре, соответствующем моменту времени t3, данные блоки снова являются частью неподвижного фона. Данная ситуация весьма вероятна, когда подвижный объект перемещается по неподвижному фону (необходимо заметить, что в системах видеоконференций камера как правило неподвижно закреплена). Приведенный выше алгоритм в данной ситуации будет вынужден передать часть фонового изображения, соответствующую выделенном блокам дважды: в начальный момент времени и в момент времени t3. Чтобы избежать этого, предлагается алгоритм для динамического построения фонового изображения (т.е., зависящего от конкретного сюжета) с целью повторного кодирования данных блоков как фоновых , т.е. требующих для этого лишь один-два бита информации (в зависимости от того сколькими типами блоков мы оперируем). Остается заметить, что нет необходимости в непосредственной передаче фонового изображения декодеру, ибо оно может быть также динамически построено на стороне, принимающей данные.

Модифицированный метод кодирования состоит в следующем:

В начальный момент времени заполнить фоновое изображение произвольным образом, например однородным серым фоном, для каждого блока размером 8*8 пикселей (16*16 пикселей) завести два параметра - приоритет блока в фоновом изображении, показывающий, в течении какого времени соответствующий блок на фоновом изображении был неподвижным и текущий приоритет кандидата на фоновый блок, оба параметра в начальный момент времени полагаются равными нулю. Далее, процесс кодирования изображения состоит в следующем:

исходный кадр из видеопоследовательности разбивается на квадратные блоки размером 8*8 пикселей (16*16 пикселей);

для каждого блока кодируемого изображения выполняется следующая процедура:

1. вычисляется его разница от соответствующего блока из фонового изображения, если эта разница меньше некоторой, наперед заданной величины, определяющей погрешность построения фонового изображения, то параметр, определяющий приоритет кандидата на фоновый блок



увеличивается на единицу, в противном случае этому параметру

присваивается нулевое значение; 2. если в некоторый момент времени приоритет кандидата превысил

приоритет блока , блок из текущего кадра копируется в фоновое

изображение, значение его приоритета копируется в приоритет блока в

фоновом изображении. помимо этих действий, теперь каждый блок изображения перед процедурой определения вектора перемещения проверяется на соответствие блоку из фонового изображения, имеющего те же координаты и если его отличие в смысле принятой метрики меньше величины допустимой погрешности, то блок считается фоновым и кодируется лишь посредством одного бита, определяющего его тип.

Дальнейший процесс кодирования блока аналогичен приведенному выше алгоритму. При обработке первого кадра изображения все блоки заносятся в фоновое изображение. Приоритет не меняющихся со временем фоновых блоков постоянно увеличивается, в то время как для подвижных он остается неизменным с момента первого изменения их содержимого. Если в дальнейшем в течение некоторого времени такой блок остается неподвижным, мы полагаем, что он содержит часть фонового изображения и запоминаем его; при этом его приоритет начинает возрастать. Приведенные рассуждения иллюстрирует рисунок 3, на котором виден процесс построения фонового изображения для тестовой видеопоследовательности.

Сравнительный анализ алгоритмов

Для получения количественных оценок работы модифицированного алгоритма по сравнению с первоначальным, взятым за основу, в него были внесены соответствующие изменения. Проводился подсчет блоков, взятых из фонового изображения, оценивалось качество полученного закодированного кадра при помощи отношения пикового сигнала к шуму (peak signal-to-noise ratio, PSNR), сравнивалось количество блоков, которые могут быть закодированы лишь при помощи идентификатора типа блока.

В качестве тестовых изображений использовались получаемые от неподвижного источника (видеокамеры) последовательные кадры размером 160*120 или 176*144 пикселей, являющиеся типичными для систем видеоконференций, с частотой 10 кадров в секунду. Анализировалась компонента яркости Y исходного цветового сигнала (8 бит/элемент). Исходный кадр разбивался на блоки размером 8*8 пикселей, вычислялось отличие от блока с теми же координатами из предыдущего кадра, если оно превышало величину MSE = 150, то проводилось сравнение этого блока с фоновым , если отличие не превышали той же величины, блок кодировался как фоновый . Оставшиеся блоки кодировались либо как подвижные, и запоминался их вектор перемещения, либо как новые , в этом случае информация о них сохранялась так же, как в алгоритмах MPEG, H.26x, с той разницей, что при необходимости блок разбивался на 4 блока размером 4*4 пикселей и процесс кодирования выполнялся в отдельности для каждого из блоков.





Рисунок 3. Процесс построения фонового изображения (n - порядковый номер кадра)


Рисунок 4. 93-й кадр тестовой видеопоследовательности (слева - закодированный кадр, справа -

диаграмма типов блоков)

Видеопоследовательности

salesman

(176*144 пикселей, 10 кадр/с, 180 кадров)

missa

(176*144 пикселей, 10 кадр/с, 60 кадров)

news

(160*120 пикселей, 5 кадр/с, 84 кадра)

Блоки 8*8 пикселей:

V(%)

V(%)

V(%)

неподвижные

62483

96.00%

20.12%

20173

89.22%

26.23%

19343

92.28%

8.46%

фоновые

0.31%

0.06%

0.50%

0.14%

1.52%

0.14%

подвижные

2245

3.45%

3.25%

2005

8.87%

11.73%

1168

5.57%

2.30%

однородные

0.24%

0.22%

1.42%

1.87%

0.63%

0.26%

65084

100%

23.66%

22610

100%

39.98%

20962

100%

11.16%

Блоки 4*4 пикселей:

неподвижные

7497

30.25%

2.41%

1014

22.04%

1.32%

4497

26.53%

1.97%

фоновые

1.78%

0.14%

1.59%

0.09%

1.92%

0.14%

подвижные

6703

27.05%

9.71%

1534

33.35%

8.97%

3031

17.88%

5.97%

однородные

3.43%

1.23%

4.46%

1.20%

2.32%

0.77%

новые

9291

37.49%

62.83%

1774

38.57%

48.44%

8706

51.36%

79.99%

24784

100%

76.33%

4600

100%

60.02%

16952

100%

88.84%

Таблица 1

На рисунке 4 приведен типичный кадр из тестовой видеопоследовательности, закодированный с применением данного алгоритма. На приведенной рядом



диаграмме кадра выделены различные типы блоков, темным выделены неподвижные блоки, серым - подвижные, светло-серым - новые блоки изображения и, наконец, ярко-белым выделены фоновые блоки.

В таблице 1 приведено количество блоков различного типа для нескольких тестовых видеопоследовательностей, их процентное соотношение (%), и доля в объеме цифрового кода V(%). Для того, чтобы оценить насколько эффективным оказывается на практике этот метод необходимо учесть, что на долю неподвижных блоков приходится небольшая часть информации, а на долю подвижных и новых блоков - наибольшая. Как можно видеть из таблицы, фоновые блоки занимают незначительный процент в объеме кода, что означает фактическое уменьшение объема цифрового кода на величину, занимаемую тем же количеством новых блоков. В таблице 2 приведены расчетные данные для оценки эффективности модифицированного метода кодирования.

Видеопоследовательности

salesman

missa

news

Объем цифрового кода для модифицированного

метода, бит

621047

153828

457136

Кол-во фоновых блоков

202 + 442

112 + 73

319+325

Объем кода фоновых блоков, бит

1288

1288

Объем кода

соответствующего кол-ва новых блоков, бит

52500

21882

67242

Объем цифрового кода в случае замены фоновых блоков новыми , бит

673547

175340

523090

Уменьшение цифрового потока данных, %

7.60%

12.48%

12.61%

Таблица 2

На графике, приведенном на рисунке 5 для сравнения показаны величины PSNR для исходного алгоритма и для модифицированного (видеопоследовательность salesman).

Как видно из графика, отличие модифицированного алгоритма от базового в качестве получаемого изображения незначительное.

На основании полученных результатов можно сказать, что описанный в данной статье метод позволяет повысить степень сжатия потока видеоданных в системах кодирования с использованием компенсации движения на 5-15%. Проведенные дополнительные эксперименты показали, что с увеличением длительности кодируемого видеоряда возрастает процент используемых фоновых блоков, и, таким образом, эффективность метода повышается. Все рассуждения справедливы лишь для случая неподвижного источника для получения видеосигнала (неподвижно закрепленной видеокамеры). В противном случае новый метод становится менее эффективным, однако в любом случае его эффективность остается на уровне исходного метода.

Вычислительные затраты нового метода незначительно превосходят (около 1%) затраты базового алгоритма кодирования. Качество получаемого изображения остается на прежнем уровне.



Применение данного метода было бы очень целесообразным в системах видеотелефонии и видеоконференц-связи, использующими в настоящее время стандарты H.261 и H.263.

33 г-

32.5

30.5


30 -I-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-1-,-

0 10 20 30 40 50 60 70 80 90 100 110 120 130 140 150 160 170

порядковый номер кадра -О-обычный метод -Ж- модифицированный метод

Рисунок 5

Литература

1. The JPEG Still Picture Compression Standard, Communications of the ACM, v.34, No.4, Apr. 1991

2. JTS 1/SC 29, Information technology - Coding of moving pictures and associated audio for digital storage media at up to about 1.5 Mbit/s - part 2: Video, ISO/IEC

11172-2, 1993

3. JTS 1/SC 29, Information technology - Generic coding of moving pictures and associated audio information: Video, ISO/IEC 13818-2, 1995

4. ITU-T SG15, Video Coding For Low Bitrate Communication, DRAFT ITU-T Recommendation H.263, May 1996



© 2017 РубинГудс.
Копирование запрещено.