Список литературы
1. Гайнуллин А. С. Определение вероятностных характеристик процессов переработки каботажных грузов / А. С. Гайнуллин, Ю. Я. Зубарев // Информационные технологии и системы: управление, экономика, транспорт, право: сб. науч. тр. — СПб.: ООО «Андреевский издат. дом», 2009. — 196 с.
2. Зедгенидзе И. Г. Планирование эксперимента для исследований многокомпонентных систем / И. Г. Зедгенидзе. — М.: Наука, 1976. — 390 с.
УКД 621.397.13 В. А. Бабурин,
канд. техн. наук, профессор, СПГУВК;
Ш. С. Фахми,
д-р техн. наук, доцент, СПбГЭТУ «ЛЭТИ»;
Е. В. Костикова,
аспирант,
СПГУВК
РАЗРАБОТКА АРХИТЕКТУРЫ ВИДЕОИНФОРМАЦИОННОЙ СИСТЕМЫ КОДИРОВАНИЯ И ДЕКОДИРОВАНИЯ НА ОСНОВЕ ПРОСТРАНСТВЕННО-РЕКУРСИВНОГО МЕТОДА
DEVELOPMENT OF THE VIDEOINFORMATION SYSTEM ARCHITECTURE OF CODING АND DECODING ON THE BASIS OF THE SPACE-RECURSIVE
METHOD
Важной особенностью развития видеоинформационных систем и технологий в последнее десятилетие является переход к цифровому телевидению. Интеграция методов и средств цифровой обработки и передачи видеосигналов с новыми телекоммуникационными и компьютерными технологиями обусловливает новую ступень их развития. В статье разработана архитектура видеоинформационной подсистемы, на основе технологии «система на кристалле» обеспечивающая высокую производительность при решении задач кодирования и передачи изображений.
The important feature of development of videointelligence systems and technologies in the last decade is transition to a digital television. Integration of methods and resources of digital processing and transmission of video signals with new telecommunication and computer technologies causes a new step of their development. In paper the architecture of a videoinformational subsystem, on the basis of technology « system on chip » providing high efficiency at problem solving coding and transmission of maps is developed.
Ключевые слава: видеоинформационная система, пространственно-рекурсивный метод, сжатие и восстановление изображений.
Key words: videoinformational subsystem, space-recursive method, image compression and restoring.
BO
ST
Введение
В настоящее время научно-технический прогресс привел к резкому увеличению возможностей вычислительной техники и построению на ее основе специализированных устройств, что, казалось бы, должно было привести к решению основных задач восприятия и обработки видеоданных техническими системами. Однако проблема сжатия и восстановления изображений не исчезла, а лишь возросло понимание ее значимости и специфических трудностей при проектировании видеоинформационных систем (ВИС). Сложившаяся ситуация вынуждает исследователей делать все больший упор на развитие новых подходов и способов в параллельной обработке изображений, чтобы найти пути преодоления разрыва между нестационарностью обрабатываемых видеоданных (сложностью) и требованиями рынка в обеспечении быстрого приема, обработки и передачи данных [1, с. 36-38; 2, с. 42-45; 3, с. 48-53; 4; 5].
Актуальность решения этой проблемы определяется необходимостью синтеза перспективных информационно-вычислительных систем обработки нестационарных сигналов изображений, которые должны опираться, с одной стороны, на использование пространственного подхода, характеризующегося минимальной скоростью передачи [6, с. 88-92; 7, с. 36-40; 8, с. 38-43]. С другой стороны, решение проблемы должно опираться на параллельную обработку видеоданных и оптимального распределения ресурсов ВИС [4].
Современные видеоинформационные технологии и системы телевидения характеризуются тремя основными направлениями практического развития, которые проявляются в обеспечении [4]:
— высококачественного ТВ-вещания для широких слоев населения;
—формирования видеоинформации для визуального наблюдения, контроля и анализа
0 изображений;
— выполнения задач многопрограммного ТВ-вещания, решения ряда прикладных задач, формирования пакета мультимедийных услуг связи с передачей сигналов по 1Р -сетям.
В данной статье приводится решение задачи разработки архитектуры видеоинфор-мационных подсистемы (ВИП) на основе дис-кетного полигонального (пространственного) преобразования (ДПП) по опорным точкам и выбор наилучшей структурной организации обмена видеоданными при выполнении алгоритмов сжатия и восстановления изображений, описанных в [5-7].
Алгоритмы сжатия и восстановлении изображений на основе пространственного подхода
Исходное квадратное изображение делится на полигоны одинаковой площади P P2 (рис. 1, а). Далее оценивается точность аппроксимации исходного изображения этими полигонами при условии, что плоскость полигонов определяется по ординате и яркости вершин (в первом приближении), а яркость внутренних точек полигона линейно интерполируется. По результатам анализа полигона в файл сжатого описания изображения записываются соответствующие признаки разбиения полигона (RT1 и RT2) — заявка. Те полигоны, точность аппроксимации которых неудовлетворительна, подлежат дальнейшему разбиению и анализу до тех пор, пока все изображение не окажется покрытым совокупностью полигонов (то есть пока не будет получена двумерная неравномерная полигональная сетка). Подробное описание метода и алгоритмов кодирования рассмотрены в [6; 7].
Блок-схема алгоритма восстановления изображений приведена на рис. 2.4. Процесс восстановления аналогичен процессу сжатия с той лишь разницей, что вместо анализа треугольников на разбиение происходит чтение очередного кода разбиения из файла (блок 8), по которому определяются признаки разбиения RT1, RT2. Если полигон пустой, то восстанавливается по яркости в заявке (блок 5 рис. 1, б).
Блок-схема алгоритма восстановления изображений аналогична (рис. 1, б) процессу сжатия с той лишь разницей, что вместо анализа полигонов на разбиение происходит чтение очередного кода разбиения из файла (блок 3), по которому определяются признаки разбиения для восстановления результирующего изображения.
Чтение заявки, определение коорди- Конец
нат полигона и формирование мас- обработки
сива связей
Анализ 0 1 ^Х,'1,Анализ "—>о
Р1? Р2?
5 1 ^ 6 1 8 1 9 1
Формирование Запись Формирование Запись
новой заявки полигона Р1 новой заявки полигона Р2
1 1 1 1
10
т
Запись кода разбиения на полигоны и формирование базы видеоданных сжатых изображений
і
1
Восстановление угловых точек изображения и формирование первых заявок
ч
Чтение заявки и определение Восстановление
координат полигона полигонов
1
Восстановление яркости полигона
Запись заявки Аппроксимация Запись заявки Аппроксимация
полигона Р1 полигона Р2
Рис. 1. Алгоритмы кодирования (а) и декодирования (б) на основе ПРМ
5
Выпуск 1
Распараллеливание алгоритмов ВИС
Процесс разработки архитектуры ВИС можно разложить на три этапа [9].
1. Разработка функционально проверенного ПА функционирования ВИС.
2. Выбор программно-технических средств реализации ВИС.
3. Оценка производительности системы.
В большинстве случаев выполнение каждого из этих этапов оказывает влияние на два других. Выбор структурной организации ВИС основывается на учете возможностей распараллеливания решаемых задач (параллельный процесс подсказывает целесообразную структуру ВИС). С другой стороны, построение требует наглядного представления динамики протекания параллельных процессов в ВИС.
Аппаратное обеспечение ВИС
В связи с высказанным замечанием, разработку ВИС полезно начать с рассмотрения необходимых информационных связей, образуемых потоком обрабатываемых данных, и выбора исходной структуры ВИС. Классификация базовых схем взаимодействия аппаратно-программных средств вычислительных систем приведена в [10].
Основной принцип, которым следует руководствоваться при разработке архитектуры ВИС, — это адекватность ее структуры
пространственно-временной структуре процесса вычислений, реализующего набор алгоритмов (рис. 1, а, б).
Обозначим разрабатываемые параллельные алгоритмы (ПА) функционирования ВИС (рис. 2), следующим образом: ПА1 — сжатие изображений методом разбиения на полигоны; ПА2 — восстановление изображений из пирамиды полигонов. При разработке ПА необходимо руководствоваться действительной зависимостью между блоками, обусловленной разветвлением или преемственностью информации. При этом определяющим является использование одними блоками выходной информации других блоков (рис. 2 — широкие стрелки).
Алгоритмы кодирования и декодирования изображений (рис. 1), несомненно, обладают возможностями параллельного выполнения блоков (алгоритм порождает поток независимых заявок на разбиение исходного изображения, в процессе которого должна быть выдержана частичная упорядоченность, определенная заданной схемой.
Например, в соответствии с предполагаемой структурой ВИС управляемому процессору (СФ-блокупр) могут быть назначены для выполнения блоки 1, 2, 6, 9, 11-14 (выделены штриховкой), а вычисления, содержащиеся в блоках 3-5, 7, 8, 10 (обслуживание заявок на разбиение полигонов), могут одновременно выполняться на нескольких СФ-блоках, входящих в состав ВИС.
В
92]
Рис. 2. Граф ПА: а — кодирования; б — декодирования изображений
Вследствие указанного распараллеливания исходного алгоритма необходимо обеспечить синхронизацию вычислительного процесса, так как вычисления в блоках, образующих информационные связи, планируются на разных процессорах, а информационные связи прямо указывают на то, что образующие их блоки не могут ни при каких условиях выполняться одновременно, параллельно.
В этом случае формирование заданий для СФ из потока поступающих заявок на разбиение (блоки 2-4) и их выполнение (блоки 5, 7 и 8, 10) совмещены по времени. Распределение исполняемых функций между СФ-блокупр и СФ-блокдп также требует введения дополнительного режима синхронизации, который может быть обеспечен СФ-блок .
упр
Приведенный анализ алгоритма сжатия изображений методом деления на полигоны позволяет построить функциональную схему взаимодействия аппаратно-программных частей проектируемой ВИС (рис. 3).
Взаимодействие СФ-блоков (на рисунке обозначены сокращено СФБ.) осуществляется посредством передачи сообщений через два
ПРО,
Заявка Р і
Заявка Р3
Буфер межпроцессорной связи
буфера межпроцессорной связи Г1Г0р ЕШ0 и векторы прерываний. Такая организация межпроцессорной связи минимизирует общее время выполнения задания (анализ полигона на разбиение), так как наличие очереди заявок (Р/^02) на обслуживание является оптимальным средством управления загрузкой СФ-блоков (СФБ., где і = 1 - N, в которых выполняется наибольшая часть вычислений, а влияние сигналов прерывания компенсируется асинхронным режимом выполнения заявок.
В статье предложена структура базы видеоданных в виде таблицы обслуживания заявок, позволяющая контролировать порядок выполнения заявок и управлять их перемещением (рис. 3).
Программное обеспечение ВИС предложенной архитектуры ВИС сжатия изображений на основе ДПП по опорным точкам (рис. 3), работа и взаимодействие аппаратнопрограммных средств ВИС задается следующим параллельным алгоритмом (ПА1):
Алгоритм 1 СФ-блок :
Г уПр
1. Выбрать секцию памяти изображений.
СФБЛ
Код А ЯТ3 Яркость ОТ М
Кадровое ОЗУ
Ж
Фотоприемная матрица I --------- -------------,
Задание М3
Задание М]
СФБ,
СФБ2
СФБд,^
Буфер межпроцессорной связи
Оптический сигнал нестационарных источников изображений
Код Р, Яркость ОТ ЯТ, М
Код Рз Яркость ОТ ЯТ3 М
Рис. 3. Функциональная схема взаимодействия аппаратно-программных средств ВИС кодирования изображений на основе ДПП по опорным точкам
Выпуск 1
2. Очистить рабочее поле О.
3. Записать в выходной буфер (модем) яркости диагональных точек.
4. Передать в буфер межпроцессорной связи МЕ0 первые заявки анализа Р Р
5. Разрешить прерывание.
6. Ожидание прерывания.
Обработка прерывания СФ-блокупр:
1. Запретить прерывания.
2. Читать вектор прерывания (результат выполнения заявки).
3. Записать код разбиения в выходной буфер (модем).
4. Если М = 0, то записать код ОТ в выходной буфер (модем).
5. Если ЯТ1 = 1, ЯТ2 или ЯТ3 = 1, то записать новые заявки в буфер ПР01.
6. Если была обработана последняя заявка, то перейти к п. 1, иначе разрешить прерывание и перейти к п. 6.
Алгоритм 1 СФ-блок :
г дп
1. Установить начальные значения указателей N Ы2 таблицы заявок.
2. Разрешить прерывания.
3. Проверить состояние буфера межпроцессорной связи ЕШ0
4. Если буфер ПР01 пуст, то перейти к
п. 3.
5. Читать заявку на разбиение треугольника из буфера Р№01 и поместить в конец таблицы заявок (указатель № 2).
6. Сформировать из полученной заявки два задания (анализ треугольников на разбиение) и передать в буфер межпроцессорной связи ЫЕ0т
7. Перейти к п. 3.
Обработка прерывания СФ-блокдп:
1. Читать вектор прерывания (результат выполнения задания).
2. Занести результат выполнения задания в таблицу заявок.
Если выполнена первая заявка в таблице заявок (указатель У1), то подготовить сообщение (вектор прерывания) о выполнении заявки для СФ-блокупр и выполнить процедуру прерывания СФ-блок. (Возврат осуществляется в точку прерывания Алгоритма 1 СФ-блокупр).
Алгоритм 1 СФ-блок:
1. Проверить состояние буфера межпроцессорной связи Р1Р02.
2. Если буфер Р№02 пуст, то перейти к
п. 1.
3. Читать задание из буфера ^№02.
4. Выполнить задание (анализ полигона на разбиение).
5. Если требуется разбиение полигона, то RT = 1 и перейти к п. 6, иначе RT = 0, рисовать контур полигона в поле О и в памяти изображений.
6. Подготовить сообщение (вектор прерывания) о выполнении задания для СФ-блокдп.
7. Выполнить процедуру прерывания СФ-блок .
дп
8. Перейти к п. 1.
Ввиду аналогии рассуждений, приведенных при разработке ПА, и принятых обозначений описание построения параллельного алгоритма восстановления изображений из пирамиды полигонов (рис. 2, б) значительно упрощается. Достаточно отметить, что распараллеливание алгоритма связано с возможностью одновременного обслуживания заявок (задания на анализ полигона) на восстановление яркости полигонов исходного изображения по мере приема и декодирования массива связей.
Инфологическая модель алгоритма с указанием блоков, назначенных для выполнения управляющему процессору СФ-блок (блоки выделены штриховкой) и СФ-блокам (элементарным процессорам), представлена на рис. 4. Такая декомпозиция исходного алгоритма не накладывает ограничений на порядок обслуживания заявок, что приводит к простой структуре управляющих связей.
В соответствии с рассмотренной функциональной схемой ВИС восстановления изображений из пирамиды полигонов (рис. 4) работа и взаимодействие аппаратно-программных средств ВИС задается следующим параллельным алгоритмом ПА2.
Алгоритм 2 СФ-блок :
Г уПр
1. Восстановление угловых точек А, В, С, В результирующего изображения.
2. Прием очередного кода полигона из модема.
3. Вычисление координаты полигона (вершины и размеры).
4. Вычисление значение RT1 и RT2.
5. Если М = 0, то восстановить яркость точки, иначе рисовать контур полигона.
Память изображений
Секция 1 Секция 2
Канал связи
1
Дисплейный
СФ-блок
Магистраль-1
Магистраль-2
Т
1/0 СФ-блоКупр «Готовность» СФ-блокзакр
ІПІ «Запуск»
Рис. 4. Архитектура ВИС декодирования
6. Если массив связей не исчерпан, то переход к п. 2.
7. Запуск СФ-блокзак на закраску треугольника.
Алгоритм 2 СФ-блок :
г закр
1. Закраска полигонов по сигналу «запуск» СФ-блок;
2. Ожидание сигнала «запуск».
Аналитические исследования подсистемы через параметры параллельного алгоритма
Обработка одной заявки (то есть разбиение полигона) включает операции обращения к памяти для записи и чтения. Обозначим через Т1 среднее время цикла анализа одной точки, в котором выполняется чтение из памяти, через Ы1 — среднее число таких циклов в процессе обработки одного задания, а через Т2 — среднее время цикла анализа одной точки с записью в памяти и N — среднее число циклов в процессе обработки одного задания.
Очевидно, что среднее время обработки одного задания 11 определяется временем анализа каждой точки: t1 = /(ТрТ2).
Примем, что
t= NТ+ ЫТ
<1 -^^1 2 2'
Тогда время обработки одного кадра в подсистеме сжатия:
t = ^1 Ы3,3П СФ - блок,
где пСФ-блок — число СФ-блоков, предназначенных для выполнения трудоемкой операции анализа полигона на разбиение, Ы3 — сред-
нее число заявок при обработке одного кадра изображения, которое вычисляется следующим образом:
Ы3 = ёЫ,
где N — число записей в буфер заявок, определяемое в результате моделирования параллельного алгоритма, ё — число заявок (полигонов, на которые разбивается текущий полигон).
Определим усредненное время выполнения одного цикла с обращением в общую память (при чтении и записи):
Тср = /Ы ^ Т, ТХ
ТсР = = (Ы1-Т + ы2т2)Щ + N2).
Теперь можно определить оптимальное количество СФ-блоков, которое необходимо в подсистеме, чтобы обеспечить максимальную загрузку всех процессоров и памяти:
П0 = Тср/Топ
где ТОП — время обращения в память.
Подставим выражения t1 и п0 в выражение t, получим
tcФ-блок = ТОП(Ы1 + NN
Это выражение справедливо при соблюдении баланса в подсистеме сжатия изображений, то есть все процессы максимально загружены и отсутствуют конфликты при обращении в общую память.
По результатам моделирования можно оценить Ы1 и Ы2:
N = ы/ы3,
1 а 3
где Na — число обращений в память для чтения при обр аботке одного задания.
N = мяхря/к,
2 гг 3'
Выпуск 1
где MR. — количество полигонов размера i, PR. — периметр i-го полигона.
Значения этих параметров определяются в зависимости от размера полигона, например при i = 1 PR1 = 512, при i = 2 PR2 = 384 и т. д.
По формулам ^СФ-блок, N1, N2, N3 получим, что время обработки одного кадра изображения в условиях баланса времени равно:
= T(m(N+IMRPR).
Таким образом, пропускная способность зависит от скорости памяти и от числа обращений в память. При отсутствии баланса в системе время обработки одного кадра изображения вычисляется следующим образом: t = (t™ с хи . с )/п .
p v СФ-блок СФ-блок7 p'
где пр — реальное число элементарных СФ-блоков в системе.
Производительность системы определяется следующим выражением:
ПСФ-блок 1/^^СФ-блок*
Следовательно, производительность
линейно возрастает с увеличением количества элементарных СФ-блоков. Однако когда количество элементарных СФ-блоков становится больше, чем определено для сбалансированной системы, рост производительности прекращается. Это происходит из-за ограничения, вносимого временем задержки памяти. Поэтому дальнейшее улучшение производительности возможно лишь при использовании более быстродействующей памяти.
Результаты оценки производительности ВИС
При моделировании подсистемы сжатия изображения получены следующие данные (например, для изображения типа «портрет»), являющиеся исходными для расчета производительности:
— число обращений к памяти для чтения N = 185 452;
— количество записей в буфер заявок N = 11 028;
— каждый полигон разбивается на два полигона d = 2;
— время выполнения одного цикла с чтением из памяти по параллельному алгоритму на ARM процессоре (А7), входящим в состав разработанного макета, T1 = 7,2 мкс;
— время выполнения одного цикла с записью в память по параллельному алгоритму на процессоре А7 T1 = 10,2 мкс.
Тогда общее число заявок равно N3 = 2 • 11 028 = 22 056, количество циклов с обращением для записи в память N2 = 3,59. Следовательно, время сжатия одного кадра изображения:
t„ б = T (185 452 + 79 688) = 264 540ТОП.
СФ-блок оп ' ОП
При Т = 200 нс, t™, б = 52 900 мкс = 53 нс.
оп СФ-блок
Это соответствует производительности системы 36 кадров в секунду.
Среднее время на выполнение анализа одной точки:
Тср = ((8/4)4Т1 + 3,59Т2)/11,99 = (60 480 +
+ 36 618)/11,99.
Приближенное значение этого параметра равно 5,3 нс. Значит, по выражению попт число СФ-блоков в сбалансированной системе — 13.
Таким образом, получены следующие оценки параметров подсистемы сжатия изображений:
— количество процессоров при балансе для среднего времени обращения к ОП Т = 200 нс на базе технологии «система на
оп
кристалле» с встроенным 32-разрядным ARM процессором [8] равно 13;
— производительность системы при полной загрузке всех процессоров составит 36 кадров в секунду.
Оценка производительности подсистемы восстановления изображения
Как уже отмечалось выше, производительность системы определяется по критическому пути максимально распараллеленного алгоритма. Для процесса восстановления изображения этот путь связан с закраской полигонов с интерполяцией яркости.
В данной работе параллельный вариант разрабатывался для алгоритма сжатия и восстановления изображения с разбиением на три полигона. Количество операций для закраски одной точки при восстановлении изображения приблизительно равно 26. Тогда можно оценить время восстановления одного кадра: tB = 13NF где: N — число точек в изображении.
Поскольку эксперимент проводился с изображениями размером 256x256 точек, то время восстановления: tB = 170393,7 х х 200 нс = 34 078 720 нс, что соответствует 0,03 с на кадр.
Тогда производительность подсистемы восстановления: ПВ = 1/0,03 = 33 кадра в с.
Заключение
В результате моделирования определены основные количественные показатели (параметры) для программно-аппаратной реализации алгоритмов кодирования и декодирования изображений ВИС, положенных в основу оценки производительности и являющихся типичными уровнями полученных значений при обработке изображений различных клас-
сов: объем рабочей памяти; число обращений в память; число операций, выполняемых на одну точку, и длина сжатого описания МБ в битах.
Разнообразие технологии и сложность функций кодирования и декодирования, свойственные ВИС, требуют особого подхода к развитию архитектур или проектированию ВИС-обработки больших потоков данных. В последние десятилетие алгоритмы кодирования и декодирования изображений на основе ДПМ демонстрируют высокую эффективность, в частности кодирование становится все более эффективным, но сложным с точки зрения реализации параллельных вычислений и достижения высокой производительности.
Список литературы
1. Сагдуллаев Ю. С. Об архитектуре телекоммуникационной сети / Ю. С. Сагдуллаев, В. Ю. Джалябов, Ю. В. Швидченко // Broadcasting. Телевидение и радиовещание. — М., 2004. — № 5.
2. Сагдуллаев Ю. С. Биллинг сеансов видеоконференцсвязи / Ю. С. Сагдуллаев, В. И. Трегуб // Broadcasting. Телевидение и радиовещание. — М., 2005. — № 3.
3. Сагдуллаев Ю. С. Мультимедиа через спутник / Ю. С. Сагдуллаев, В. Ю. Джалябов, Т. Ю. Сагдуллаев // Broadcasting. Телевидение и радиовещание. — М., 2005. — № 6.
4. Зубарев Ю. Б. Видеоинформационные технологии и системы связи: моногр. / Ю. Б. Зубарев, Ю. С. Сагдуллаев, Т. Ю. Сагдуллаев. — М.: Изд-во «Спутник+», 2011. — 296 с.
5. Твердотельная революция в телевидении / Ш. С. Фахми [и др.]. — М.: Радио и связь, 2006. — 350 с.
6. Костикова Е. В. Пространственные алгоритмы кодирования изображений: [текст] / Е. В. Костикова, Е. И. Колесников // Научно-технический вестник СПбГУИТМО. — 2011. — № 3.
7. Костикова Е. В. Исследование рекурсивных алгоритмов сжатия и восстановления изображений: [текст] / Е. В. Костикова, Е. И. Колесников, С. С. Шагаров // Изв. СПбГЭТУ «ЛЭТИ». — 2011. — № 4.
8. Фахми Ш. С. Сопряженное проектирование на базе реконфигурируемых систем на кристалле / Ш. С. Фахми, Е. В. Костикова // Информационно-управляющие системы. — 2010. — № 3.
9. Васильев В. В. Сети Петри, параллельные алгоритмы и модули мультипроцессорных систем / В. В. Васильев, В. В. Кузьмук. — Киев: Наук. думка, 1990. — 212 с.
10. Хорошевский В. Г. Инженерный анализ функционирования вычислительных систем и машин / В. Г. Хорошевский. — М.: Изд-во МГТУ им. Н. Э. Баумана, 2008. — 520 с.
Выпуск 1