- разработанный метод настройки мультиагентной системы реализует автоматическое обучение, если встречается незнакомая ситуация в рабочем цикле;
- показана принципиальная возможность введения в самонастраивающуюся систему априорной информации о динамическом объекте, что значительно повышает качество моделирования объекта и работу методов оптимизации управляющих алгоритмов, основанных на мультиагентных системах.
Список литературы: 1. Васильев С. Н., Жерлов А. К., Федосов Е. А., Федунов Б. Е. Интеллектуальное управление динамическими системами. М.: Физико-математическая литература, 2000. 352 с. 2. Швецов А. Н. Агентно-ориентированные системы: от формальных моделей к промышленным приложениям // Всероссийский конкурсный отбор обзорно-аналитических статей по приоритетному направлению "Информационно-телекоммуникационные системы”, 2008. 101 с. [http://www.ict.edu.ru/lib/ index.php?id_res=5656]. 3. Горбань А. Н. Обобщенная аппроксимационная теорема и вычислительные возможности нейронных сетей // Сибирский журнал вычислительной математики. 1998. Т. 1, № 1. С. 1224. 4. Дьяконов В., Круглов В. Математические пакеты расширения MATLAB. Специальный справочник. СПб.: Питер, 2001. 480 с. 5. Леоненков А. В. Нечеткое моделирование в среде MATLAB и fuzzyTECH. Спб.: Бхв-Петербург, 2003. 736 с.
Поступила в редколлегию 11.05.2014 Конох Игорь Сергеевич, канд.техн.наук, доцент кафедры информационно-управляющих систем КрНУ им. М. Остроградского. Научные интересы: автоматизация, интеллектуальные системы управления. Адрес: Украина, 39600, Кременчуг, ул. Первомайская, 20, тел.: (05366) 30157. E-mail: [email protected].
УДК 629.391
В.В. БАРАННИК, Д.Э.ДВУХГЛАВОВ, В.В. ТВЕРДОХЛЕБ
МЕТОД ДИНАМИЧЕСКОГО УПРАВЛЕНИЯ БИТОВОЙ СКОРОСТЬЮ ВИДЕОПОТОКА С ИСПОЛЬЗОВАНИЕМ ТРЕХМЕРНОГО ПРЕДСТАВЛЕНИЯ ТРАНСФОРМАНТ
Рассматривается актуальность исследований, направленных на уменьшение битовой скорости обработки кадров видеопотока для повышения качества представления услуг видеосервиса для энергоэффективных инфокоммуникационных систем. Предлагается представление блоков видеокадра в виде битового куба и принципы организации управления передачей кадра для такого представления, которые изложены в виде готовых для реализации алгоритмов обработки кадра на передающей и принимающей стороне. Также рассматривается подход для выбора оптимальных параметров передачи блоков на основе принципов динамического программирования.
Введение
В современных условиях развития общества широкий сегмент потребителей услуг видеосервиса составляют пользователи мобильных устройств. Основной задачей при предоставлении услуг данной категории пользователей является управление интенсивностью видеотрафика в телекоммуникационных системах для повышения качества таких услуг. При этом необходимо учитывать затраты на обработку видеопотока, особенно для мобильных беспроводных телекоммуникационных систем.
Для решения указанной задачи необходимо снижение времени передачи данных путем использования методов разгрузки сетевого траффика на уровне конечных узлов и узлов сети, к которым относят маршрутизацию данных и использование резервных каналов. Однако в ряде работ показано, что более актуальным является управление при контроле уровня кодирования источника. На сегодняшний день предложены некоторые подходы к управлению параметрами обработки для различных вариантов представления кадров видеопотока [1-3]. При этом задача управления предполагает выбор параметров компрессии, обеспечивающих требуемое соотношение двух характеристик видеопотока: битовую скорость и качество визуального восприятия. Битовая скорость r характеризует интенсивность видеопотока сжатых кадров I сж и представляет собой объем сжатых видеоданных,
37
которые требуется передать в единицу времени. Качество визуального восприятия данных видеокадра (блока), относительно исходного, выражается среднеквадратическим отклонением (СКО), которое обозначают d.
Рассмотрим суть данных величин для кадра видеопотока. При обработке изображений кадр является совокупностью из Kw блоков по ширине и Кн блоков по высоте. Общее число блоков обозначим К. Очевидно, что К = Kw • Кн. При этом для кадра, состоящего
из блоков с битовыми скоростями Г!,Г2,...,Гк, справедливо Вклад, вносимый сжатым кадром в общую интенсивность видеопотока, равен:
к
1сж _ 2 Гі . (1)
і=1
Для вычисления СКО используется следующее выражение:
1 H W * 2
d = HW x?1 y?1(S(x,y)_S (x,y)) , (2)
где H и W - высота и ширина в пикселях одного кадра соответственно; S(x,y) и S* (x,y) -
значения яркости исходного и восстановленного пикселей.
При управлении компрессией следует учитывать, что битовая скорость ограничена
пропускной способностью канала телекоммуникационной сети Bw :
Г1,Г2,...,Гк ^ Bw. (3)
Кроме того, управление битовой скоростью предполагает, что блоки, образующие кадр, кодируются с переменной битовой скоростью [2]:
г Ф r2 Ф .... Ф rK. (4)
Также уровень СКО передаваемого потока является величиной, обратно пропорциональной интенсивности потока сжатых видеокадров, т.е: d ~ 1/г .
Данные принципы лежат в основе способов обработки видеопотоков, позволяющих осуществлять управление параметрами обработки видеокадров. Однако существующие алгоритмы управления не обеспечивают необходимую эффективность управления, в частности, не учитывают затраты на обработку, не всегда адекватно оценивается зависимость между битовой скоростью и СКО, а также используются ограниченные механизмы и технологии компрессии для управления битовой скоростью
Целю исследования является разработка метода динамического управления битовой скоростью видеокадров, позволяющего учитывать ограниченность ресурса на обработку видеопотока.
Основная часть
Важным моментом при разработке метода управления является представление видеокадров и анализ особенностей обработки изображения. При этом предлагается использовать представление блоков видеокадра в трехмерном пространстве.
Получение такого представления начинается с преобразования блоков видеокадра из модели RGB в модель YCbCr, после чего к ним применяется DC-преобразование. В результате для отдельного блока будет получена матрица размером 8х8, которую будем
обозначать Y, Y =|| Yj ||, где Yj - значение элемента (i, j) трансформанты, полученной
после DC-преобразования. Значение каждого элемента лежит в диапазоне [0;255].
Затем каждый элемент трансформанты представляется в виде столбца битов, отвечающих представлению соответствующего элемента в двоичном виде (рис.1). Фактически выполняется следующее преобразование:
|| Yij МК Уч7,УЧ6,УЧ5,УЧ4,УЧ3,УЧ2,УЧ1,УЧ0 >T|L (5)
yijm є {0,1Ь i = 0,7; j = 0,7 ; m = 7,0 ,
38
где УуШ - m - й бит двоичного разложения элемента (i,j) или элемент (i,j) m - го слоя битового куба.
Y00 Y0j . У07
Yi0 УЧ Yi7
yij7
У70 Y7j У77 Уг,6
Уі]0
Рис. 1. Преобразование элементов матрицы, полученной после DC-преобразования,
к двоичному виду
Совокупность двоичных представлений всех элементов матрицы у составит битовый куб, пример которого представлен на рис.2. При этом верхний слой данного куба образуют старшие биты двоичного представления. Принятое расположение слоев битового куба предложено с учетом способа организации передачи блоков видеокадра, рассматриваемого ниже.
7
0
0
7
7
Рис. 2. Битовый куб
Представление трансформанты в трехмерном пространстве позволяет организовать послойную передачу данных. Чтобы определить слои, которые необходимо передать,
предлагается задать для каждой k- й трансформанты вектор передачи Vk, который
соответствует двоичному представлению чисел от 0 до р— 1 :
Vk =( vk7,vk6,vk5,vk4,vk3,vk2,vk1,vko). (6)
Например, если для передачи k -й трансформанты используется вариант передачи 237,
то вектор передачи будет следующим: Vk = (1,1,1,0,14,0,0) .
Количество возможных вариантов передачи слоев битового куба P трансформанты будет равно 256 (2 в степени 8). Каждому варианту передаваемых слоев будет соответствовать изображение, отвечающее исходному, но различающееся степенью искажения относительно исходного изображения.
Таким образом, после того, как вектор передачи задан, можно сразу из k-й трансформанты формировать передаваемую последовательность Skp при заданном векторе передачи р :
39
Skp = vk7&--&vkm&...&vk0&(yijmvkm = 1). (7)
Каждый элемент представленной последовательности занимает 1 бит. В начало после-
довательности размещаются биты вектора передачи Vk , совокупность которых определяет номера передаваемых слоев битового куба. Если m-й бит вектора передачи равен 1
(элемент vkm), то все 64 элемента yjjm слоя m. Если соответствующий бит вектора
передачи равен 0, то значения бит данного слоя битового куба не передаются. Алгоритм формирования последовательности для передачи k - й трансформанты при заданном векторе передачи p представлен ниже.
Алгоритм формирования сообщения из элементов битового куба
Исходные данные: битовый куб Y, вектор передачи Vk .
Цель: сформировать последовательность для передачи трансформанты Skp .
Шаги:
1. Обнулить строку Skp
2. Добавить байт передачи: for (int m=7;m<0;m—)
Skp _ Skp & vkm
3. Добавить слои битового куба в соответствии с байтом передачи Vk : for (int i=0;i<8;i++)
for (int j=0;j<8;j++) for (int m=7;m<0;m—)
if (v
km
1)
Skp Skp&yijm
Определим величину K 1(Vk ), которая будет показывать количество единиц в векторе передачи. Она позволяет установить размер передаваемой последовательности и соответственно битовую скорость сжатия k - й трансформанты:
rk(Vk ) = 8 + 64 • K 1(Vk ) [бит] или rk (Vk ) = 1 + 8 • K 1(Vk ) [байт].
Таким образом, длина кодовой комбинации будет составлять от 72 до 520 бит (от 9 до 65 байт).
На приемной стороне выполняется операция сборки битового куба из последовательно-
сти Skp . Суть данной операции заключается в том, что вначале извлекается вектор передачи (его образуют первые 8 бит принятой последовательности), который затем анализируется следующим образом: если бит вектора передачи равен 1, то значениями следующих 64 бит заполняются ячейки соответствующего слоя битового куба; если элемент равен 0, то в куб добавляется слой из 0 элементов.
Алгоритм сборки битового куба на приемной стороне из полученной последовательности
Исходные данные: Skp.
Цель: восстановить битовый куб Y*-"^ трансформанты из принятой последовательности.
Шаги:
1. Обнулить битовый куб:
for (int i=0;i<8;i++)
for (int j=0;j<8;j++)
for (int m=7;m<0;m—)
yjm)
* ijm
= 0
40
2. Выделить из Skp вектор передачи Vk = (vkm),m = 7,0 : for (int p=0;p<8;p++)
{ m = 7 - p
vkm = Sk Ы kp
}
3. Заполнить элементы битового куба для слоев, которые соответствуют ненулевым битам в векторе передачи Vk :
for (int m=0;m<8;m++)
{
if vkm
= 1
{
for (int i=0;i<8;i++) for (int j=0;j<8;j++) {
yg? = Sk^p]
p=p+1
}
}
else
for (int i=0;i<8;i++) for (int j=0;j<8;j++)
У
(пр)
ijm
= 0
}
Данный подход к передаче трансформанты кадра изображения позволяет реализовать поиск оптимальной стратегии управления для кадра в целом. В качестве основы такого алгоритма предлагается использовать динамическое программирование основу которого составляют уравнения Беллмана.
Для применения принципа Беллмана необходимо соблюдение двух условий [4]:
1. “Отсутствие последействия», которое определяет, что состояние системы не зависит от принятых решений на предыдущих шагах.
2. Целевая функция должна быть аддитивной.
В рассматриваемом случае есть K точек принятия решения по количеству трансфор-
мант кадра. Для каждой трансформанты должен быть выбран свой вектор передачи Vkp ,
который и соответствует принятию решения на данном этапе. Формально сформулировать задачу можно так: найти комбинацию векторов передачи для трансформант видеокадра в трехмерном представлении, которая обеспечит минимальную битовую скорость
K
Z rk---> min (8)
k=1
при заданных пропускной способности канала B w
Z rk ^ Bw (9)
k=1
и качестве восприятия принятого изображения
K
Zdk ^ dmax. (10)
k=1
Каждое решение представляет собой стратегию передачи кадра U, которую образует множество частных стратегий, определенных для каждой трансформанты, т.е.
41
U = {Uk},k = 1,K. Каждой частной стратегии Uk соответствует битовая скорость
rk = r(Uk ), которая определяет количество бит в передаваемой последовательности, сформированной для трансформанты k . Наилучшей будет стратегия U* = |U*,U2,...,Uk,...,UK}, которой соответствует минимальная битовая скорость,
Также оценивается качество восприятия переданной трансформанты dk = d(Uk). Данный показатель может быть вычислен до отправки последовательности в канал и может использоваться для оценки выбранной стратегии с точки зрения качества сжатия. Для расчетов достаточно оценки в предположении, что канал передачи “идеальный”, т.е.
передает информацию без искажений. Ограничение по пропускной способности канала Bw задается техническими характеристиками каналов связи. Ограничение на суммарную ошибку СКО задается исходя из необходимого уровня качества визуального восприятия видеопотока.
В рассматриваемой задаче следует принять во внимание, что стратегия выбирается как значение вектора передачи р, которое лежит в пределах от 0 до 255. Кроме того, как таковой функции переходов из состояния в состояние нет, но есть взаимосвязанность выбранных частных стратегий на уровне ограничений. Таким образом, стратегия, обеспечивающая наименьшую битовую скорость, может быть определена так:
U* = {Vi*,V2*,..,VkVX}. (И)
Согласно принципу оптимальности Беллмана, для каждой k-й трансформанты вектор передачи выбирается таким образом, чтобы вместе с векторами передачи рассмотренных трансформант (т.е. трансформант от k+1 до K) формировалась бы последовательность для передачи минимальной длины при выполнении заданных ограничений относительно r и d в соответствии с условиями (9) и (10).
Рис. 3. Схема динамического программирования для 3 блоков
Применение схемы Беллмана предполагает решение задачи в два прохода. При первом проходе от шага K до первого определяется значение оптимальной битовой скорости.
42
Второй проход позволяет определить оптимальную стратегию управления в виде значений векторов передачи для каждой трансформанты.
Множество допустимых стратегий для каждого шага формируется с учетом следующих требований:
1. Исключение из рассмотрения стратегий, приводящих к переполнению буфера (нарушение условия (9)).
2. Исключение из рассмотрения стратегий, для которых суммарная ошибка превышает заданную (нарушение условия (10)).
3. Стратегии с одинаковым значением dm;n исключаются из рассмотрения, за исключением таких, для которых г = rmin .
4. Стратегии с одинаковым значением r исключаются из рассмотрения, за исключением таких, для которых d = dmin .
На рис. 3 представлена схема работы алгоритма при определении параметров компрессии для кадра, состоящая из 3 трансформант, каждая из которых представлена 3 битовыми плоскостями. Как видно из рис.3, метод позволяет уменьшать пространство поиска за счет
учета объективно обусловленных ограничений (они находятся ниже уровня Bw).
Выводы
Разработанный метод динамического управления битовой скоростью видеопотока базируется на основе предложенного трехмерного представления трансформант видеокадра. Научная новизна метода заключается в обеспечении возможности снижения времени на обработку видеокадра за счет управления передачей слоев битового куба без дополнительных преобразований, а также в использовании принципов динамического программирования для определения параметров обработки трансформант, обеспечивающих минимальную битовую скорость для видеокадра в целом.
Практическая значимость метода заключается в возможности его использования для разработки программного обеспечения процессов обработки изображений в энергоэффективных инфокоммуникационных системах.
Список литературы: 1. Беляев Е.А, ТюрликовА.М. Управление скоростью и ошибкой кодирования в системе сжатия и передачи видеоинформации с ограничениями на память передающего и принимающего устройств // Компьютерная оптика. 2007. Т.31, №2. С.69-76. 2. Двухглавов Д.Э., Оксиюк А.Г., ТвердохлебВ.В. Анализ подходов к управлению скоростью передачи видеопотока // Сучасна спеціальна техніка: науково-практичний журнал. 2014. №2. С.29-35. 3. ДвухглавовД.Э., ХарченкоН.А. Методы контроля битовой скорости при компрессии видеоданных // Системи обробки інформації. Х.: ХУ ПС. 2014. Вип. 9 (125). С. 140 - 145. 4. ЗайченкоЮ.И. Исследование операций. К.: Слово, 2003.
Поступила в редколлегию13.06.2014
Баранник Владимир Викторович, д-р техн. наук, профессор, начальник кафедры боевого применения и эксплуатации АСУ Харьковского университета Воздушных Сил. Научные интересы: обработка и передача информации. Адрес: Украина, 61023, Харьков, ул. Сумская, 77/79.
Двухглавов Дмитрий Эдуардович, канд. техн. наук, доцент кафедры автоматизированных систем управления Национального технического университета “Харьковский политехнический институт”. Научные интересы: обработка и передача информации. Адрес: Украина, 61002, Харьков, ул. Фрунзе, 21.
Твердохлеб Виталий Викторович, соискатель ХНУРЭ. Научные интересы: обработка и передача информации. Адрес: Украина, 61166, Харьков, ул. Ленина, 14.
43