УДК 581.326:519.613 И.В. ХАХАНОВА
КОНВЕЙЕРНАЯ ЛИФТИНГ-АРХИТЕКТУРА ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ ДЛЯ СТАНДАРТА JPEG 2000. ЧАСТЬ II
Предлагаются модели, метод и аппаратурная реализация лифтинг-архитектуры для вейвлет-преобразования, которые ориентированы на поддержку стандарта JPEG 2000, используемого при передаче информации, для печати и сканирования изображений, в цифровой фотографии. Описываются низкочастотные и высокочастотные фильтры для выполнения преобразований по стандарту JPEG 2000. Предлагаются структурные решения аппаратурного сжатия изображений на основе лифтинговых схем, как вейвлетов второго поколения и архитектуры аппаратной реализации: level-by-level, block-based, line-based. Проводится сравнительный анализ полученных результатов с известными из литературных источников аналогами. Вторая часть сохраняет общую нумерацию рисунков, таблиц, дополненных обзорной первой частью.
Актуальность
Цель - существенное повышение быстродействия вейвлет-преобразований второго поколения путем разработки специализированной (ad hoc) лифтинг-архитектуры аппаратной реализации для стандарта JPEG 2000.
Вейвлет-метод сжатия видеоинформации является усовершенствованием алгоритма JPEG и может быть использован в Internet, при передаче информации, для печати и сканирования изображений, в цифровой фотографии. Уменьшение времени разработки проекта за счет использования специальных маршрутов проектирования существенно сокращает time-to-market, а значит, повышает конкурентоспособность изделия и прибыль от его продаж.
Для достижения поставленной цели необходимо решить задачи: 1. Анализ моделей представления изображений в цифровой технике и методы их преобразования. 2. Разработка структуры аппаратной реализации вейвлет-преобразований, использующих лифтинговые схемы. 3. Создание алгоритмов управления для вейвлет-преобразований. 4. Реализация операционного устройства, выполняющего функции сжатия видеоинформации. 5. Тестирование и верификация цифровой системы, сравнительный анализ быстродействия и оценка погрешости вычислений.
Конвейерная структура реализации DWT
В рассмотренных работах [1-25] основное внимание уделялось минимизации арифметической части устройства или используемой памяти. Однако для устройств с внутренней памятью размерность арифметического блока не является критичной. Намного важнее минимизировать объем используемой памяти, простоту и быстродействие блока управления, учитывая особенности их реализации в аппаратуре. Существенным представляется распределение ресурсов памяти программируемых микросхем для аппаратной реализации вейвлет-преобразований без использования внешней памяти. Также ставится задача создать простой и быстродействующий управляющий блок. Конечной задачей является реализация устройства в FPGA и оценка его быстродействия в зависимости от использования различных серий кристаллов.
Разработанный DWT-модуль предназначен для использования в качестве IP-core при реализации кодера JPEG 2000. Предлагаемая архитектура не применяет внешнюю память для любых промежуточных вычислений. Исходные данные поступают последовательно на внешний вход блока по одному сигналу за один такт времени. Результаты DWT-преобра-зовния затем поступают на блок арифметического или другого энтропийного кодирования и после этого, в сжатом виде, передаются на внешние выходы.
Параметры современных программируемых чипов позволяют реализовать устройства, выполняющие несколько последовательных уровней вейвлет-преобразования без хранения промежуточных результатов во нешней памяти. Предлагаемое устройство выполняет пять
уровней вейвлет-преобразования, а размер изображения ограничивается 128x128 8-разрядных пикселов. Для хранения промежуточных данных используется внутренняя регистровая, распределенная и блоковая память кристаллов фирмы ХШпх. Для буферов строк применяется регистровая память. Для буферов столбцов первых уровней преобразования -блоковая, а для последних - достаточно и распределенной памяти.
На рис. 26 представлена архитектура блока, выполняющего один уровень вейвлет-преобразования на основе банка фильтров 5/3. Для сохранения промежуточных данных в пределах микросхемы используется внутренняя регистровая, распределенная и блоковая память микросхем FPGA фирмы ХШпх. Для буферов строк используется регистровая память. Для буферов столбцов для первых уровней преобразования - блоковая память, а для последних - достаточно и распределенной памяти.
R0[7:0] 8/ Xi 8/ Xi+1 8/ Xi+2
R1[7:0]
R2[7:0]
Data_ Ш87
Рис. 26. Архитектура одного уровня вейвлет-преобразования Буфер строк представляет собой сдвиговый модуль (см. рис 26, слева), оперирующий восьмиразрядными данными. Входное слово поступает на блок параллельно и заносится в R2, при этом выполняется сдвиг остальных значений вверх: Rо[7 :0] ^ R¡[7 :0] ^ R2[7 :0]. Считывание информации происходит параллельно для всех трех слов.
Арифметический блок (рис. 27) является двухступенчатым, он позволяет на каждом такте попеременно формировать высокочастотные и низкочастотные результаты. Как видно из рис. 26, размерность буфера строки равна трем ячейкам. В отличие от существующих реализаций арифметический блок проектируется одновременно для высокочастотного и низкочастотного фильтров. Для выполнения шагов предсказания
di+i = xi+i - i (х^ + xi+2) и обновления s¿ = x¿ + ^(di+i + d¿_i) необходимо по одному такту.
Блоки 1-5 - это регистры, сохраняющие промежуточные данные при вычислении. Сигналы last и first управляют мультиплексорами, которые выбирают данные при вычисления значений высокочастотных и низкочастотных результатов для первых и последних элементов строки.
—L
first
last
Рис. 27. Структура двухтактового арифметического модуля Значение низкочастотного коэффициента для х0 ^=0) вычисляется исходя из следующего входного набора (х2, хх, х0, хх, х2). При этом используется симметричное расширение граничных коэффициентов. На первом шаге вычисляется высокочастотный коэффициент,
соответствующий элементу хх: d1 = хх - ^ (х0 + х2)(при i=0). А на следующем - низкочас-14
тотный для х0: so = хд + + dl). При четном количестве входных элементов N последнее значение будет иметь нечетный индекс N-1. Его высокочастотный коэфициент зависит от входных элементов (х^2, х^ь х^2) и вычисляется следующим выражением:
dN-1 = хN-1 - у (хN-2 + хN-2) (при i=N-1). Табл. 11 представляет собой характеристики реализации двухступенчатого арифметического блока с использованием различных микросхем FPGA и программ синтеза Synplify (фирма Synplicity) и XST (фирма ХШпх).
Таблица 11. Быстродействие двухтактового арифметического блока для различных микросхем
фирмы ХШпх при использовании программ синтеза Synplify и XST
Программа Микросхема
xc2s15cs144-5 xc2s15cs144-6 xc2s50cs144-6 xc2s50e-6-tq144 xc2s50e-7-tq 144 xc3s50-4-tq144 xc3s50-5-tq144
Synplify 108.8 MHz / 9.188ns 121.2 MHz / 8.250ns 119.9 MHz / 8.337 130.1 MHz / 7.683 138.7 MHz / 7.210 108.5 / 9.218
Place&Route 96.8 / 10.330 115.68/ 8.644 104.4 / 9.574 105.96 /9.437 118.5 /8.435 120.2 / 8.318 137.6/ 7.264
84.7/ 11.806 102.4/9.761 95.97 / 10.419 100 / 9.912 108.1/9.249 102.37/ 9.768 114./8.741
Size 825 825 825 825 825 828 828
XST 125 /7.999 147.31 MHz/6.788ns 147.31 / 6.788 153.5/6.514 162.8 /6.14 171.8 / 5.82 185 / 5.377
Place&Route 87.4/11.441 104.3 MHz/9.580 92.9 /10.762 88.7/11.271 99.3 / 10.074 93.5/ 10.69 107 /9.329
Size, eq. g. 912 912 912 912 912 915 915
Программа Микросхема
xcv50-5-tq 144 xcv50e-6-cs 144 xc2v40-5-cs 144 xc2v40-6-cs 144 xc2vp2-5-fg256 xc2vp2-6-fg256 xc2vp2-7-fg256
Synplify 109.6 MHz / 9.120 121.1 MHz / 8.256 202.5 MHz /4.937 215.5 MHz / 4.640 207.1 MHz/ 4.828 219.7 MHz / 4.552 237.2 MHz / 4.215
Place&Route 87 /11.493 106.3 /9.407 134.9 / 7.411ns 153.4 /6.515 135.2 /7.393 150 /6.665 172 /5.81
84.6/11.812 101.27 / 9.874 120 / 8.322 128.7 / 7.767 125.5 /7.963 138/7.244 152.2 / 6.57
Size 825 828 828 828
XST 133 /7.511 128.205MHz/7.800ns 168.18MHz/5.946ns 201/ 4.969 171.880MHz/5.818ns 192.252MHz /5.201ns 222.198MHz /4.50
Place&Route 83.7 /11.946 89/ 11.175 132.9 / 7.519 155.69/ 6.423 133.3 / 7.497 148/ 6.739 169 / 5.915
Size, eq. g. 912 912 915 915 915 915 915
Рис. 28 содержит четырехступенчатый арифметический блок, в котором для выполнения шагов предсказания и обновления требуется по два такта. В данном случае используется 5 дополнительных регистров по сравнению с 2-ступенчатым арифметическим блоком. Разрядность регистров для хранения промежуточных данных имеет следующий вид:
Xi - Xi+2 R6 R7 R8 R1 R2 R3 R4 R9 R10 R5
Разрядность 8 8 10 8 10 10 8 10 11 8 12
РУ& + + + + +
Табл. 12 описывает быстродействие реализации 4-тактового арифметического блока с использованием различных программ синтеза и целевых устройств.
Таблица 12. Быстродействие четырехтактового арифметического блока для различных микросхем
фирмы ХШпх при использовании программ синтеза Synplify и XST
Микросхема
Программа xc2s15 xc2s15 xc2s50 xc2s50e - xc2s50e - xc3s50-4 - xc3s50 -
cs144-5 cs 144-6 cs144-6 6-tq144 7-tq144 tq144 5-tq144
Synplify, ns 8,457 7,101 9,606 7,769 6,945 6,151 5,365
Place&Route 11,896 9,89 11,987 9,592 9,21 10,556 9,431
Size, eq. g. 1 175 1 175 1 175 1 175 1 175 1 178 1 178
XST, MHz/ns 8,427 7,063 7,425 7,627 6,816 6,48 5,649
Place&Route 11,412 9,44 9,359 9,334 8,733 9,888 8,852
Size, eq. g. 1 178 1 178 1 178 1 178 1 178 1 181 1 181
Микросхема
Программа xcv50- 5- xcv50e- xc2v40-5 - xc2v40- xc2vp2- xc2vp2-6 - xc2vp2 -
tq 144 6-cs144 cs144 6-cs 144 5-fg256 fg256 7-fg256
Synplify,ns 8,688 7,705 5,241 4,537 5,859 5,278 4,636
Place&Route 11,43 9,869 7,844 7,422 7,598 6,913 6,27
Size, eq. g. 1 175 1 175 1 178 1 178 1 178 1 178 1 178
XST, MHz/ns 8,636 7,858 5,05 4,408 5,646 5,074 4,448
Place&Route 11,684 9,588 8,093 7,556 7,651 6,965 6,275
Size, eq. g. 1 178 1 178 1 181 1 181 1 181 1 181 1 181
Рис. 29 содержит табличное и графическое представление сравнительного анализа скорости двух- и четырехтактового арифметических блоков после синтеза, выполненного программой Synplify. Рис. 30-32 представляют сравнительные диаграммы зависимости результирующего быстродействия двух- и четырехтактового арифметических блоков от программы синтеза, серии и размера микросхемы.
2-тактовое 4-тактовое
Микросхема MHz ns MHz ns
xc2s15cs144-5 108,8 9,188 122,8 8,142
xc2s15cs144-6 121,2 8,25 136,3 7,335
xc2s 50cs144-6 119,9 8,337 135,1 7,4
xc2s 50e-6-tq144 130,1 7,683 152,1 6,573
xc2s 50e-7-tq144 138,7 7,21 161,4 6,195
xc3s50-4-tq144 108,5 9,218 122,6 8,156
xc3s50-5-tq144 108,5 9,218 122,6 8,156
xcv50-5-tq144 109,6 9,12 136 7,352
xcv50e-6-cs144 121,1 8,256 150,6 6,641
xc2v40-5-cs144 202,5 4,937 226,3 4,419
xc2v40-6-cs144 215,5 4,64 240,7 4,155
xc2vp2-5-fg256 207,1 4,828 220,9 4,528
xc2vp2-6-fg256 219,7 4,552 234,4 4,266
xc2vp2-7-fg256 237,2 4,215 253,6 3,943
300 250 200 150 100 50
abcdefgh i j klmn
2-тактовое MHz —■—4-тактовое MHz
Рис. 29. Скорость устройств после синтеза программой Synplify
Рис. 30. Быстродействие 2-тактного арифметического блока после имплементации
Рис. 31. Быстродействие 2-тактного и 4-тактного арифметических блоков после имплементации
Рис. 32. Быстродействие 2-тактного арифметического блока после имплементации Размер памяти. Для буфера строки достаточно в один момент времени хранить 3 ее элемента. Поэтому данная память реализуется сдвиговым регистром, длиной 3, с параллельным чтением данных. На FPGA такое устройство можно реализовать с помощью триггеров, входящих в состав конфигурируемых блоков. Для хранения данных перед обработкой по столбцам необходимо три банка адресной памяти, размером N/2 элементов, для каждого частотного результата. Таким образом, полный размер буферной памяти равен N/2*3*2=3^ Здесь d - соответствует данным, сформированным на первом лифтин-
говом шаге для предыдущих строк, содержит четные строки, С1 - нечетные соответственно. Для начала обработки достаточно выполнить преобразования первых двух строк изображения, а результаты записать в банки памяти СО и С1. При этом одновременно с обработкой следующей четной строки вычисляются низкочатотные и высокочастотные составляющие для СО и С1 элементов. Новые значения строки записываются в столбец СО, а значения высокочастотного фильтра - в d. На следующем проходе обработка по столбцам не выполняется, но обновляется значение столбца С1.
ЦН){ ( С1 -► L2(H2)
00 -► L1(H1)
d—► d -»LOCHO)
Табл. 13 определяет порядок формирования данных в памяти. Выделенные ячейки обозначают данные, записываемые в память на текущем такте. Табл. 14 формирует порядок записи данных в память и их считывания.
Таблица 13. Порядок обработки данных Таблица 14. Порядок записи и по столбцам для N=16 (N/2=8) считывания данных по столбцам для N=16
Арифметический модуль обработки данных по столбцам. Поскольку при обработке по строкам низкочастотные и высокочастотные коэффициенты формируются поочередно (поступают через такт), то для дальнейшей их обработки может быть использован один арифметический блок. Для этого необходимо поставить мультиплексоры для выбора входных данных. Арифметический блок для обработки по столбцам представлен на рис.33. Он подобен двухтактному блоку для обработки данных по строкам, однако содержит меньше регистов (4 вместо 5) для хранения промежуточных результатов. Функцию регистра с номером 1 из ранее предложенной схемы (см. рис. 2*) выполняет банк памяти d.
Управляющая схема. В спроектированном устройстве на основе конвейерной архитектуры содержится несколько блоков, которые работают одновременно, реализуя различные этапы преобразования информации. На рис. 34 представлена схема преобразования данных. Здесь N соответствует величине Tile, представляющей размер блока обрабатываемого изображения. Выполнен подсчет тактов обработки данных для N=8. В скобках над блоками DWT1 и DWT2 обозначено число периодов при использовании четырехтактового арифметического модуля. В табл. 15 представлено содержимое регистра для Tile_size=8.
*АСУ и приборы автоматики. Вып. 134. Часть I данной статьи.
Новые данные поступают в разряд х2, при этом остальные данные сдвигаются влево. Из табл. 15 видно, что выполнение преобразования начинается через три такта после начала их поступления. Арифметический блок для обработки данных по столбцам DWT2 может быть использован для формирования всех четырех частотных диапазонов: LL, LH, HL и НН (табл 16).
Рис. 34. Конвейрная схема обработки данных для DWT Таблица 15. Буферы строк, ТПе=8 Таблица 16. Формирование данных по столбцам
Clk 0 1 2
1 x0
2 x0 x1
3 x0 x1 x2
4 x1 x2 x3
5 x2 x3 x4
6 x3 x4 x5
7 x4 x5 x6
8 x5 x6 x7
9 x6 x7 x0'
10 x7 x0' x1'
11 x0' x1' x2'
Строка=2 Входы АЛУ Выходы АЛУ
Такт H L H L
4
5 HH
6 HL LH
7 HH LL
8 HL LH
9 HH LL
10 HL LH
11(3) HH LL
12(4) HL LH
13(5) LL
Рис. 35 представляет собой структурную модель устройства одного уровня преобразования. Управляющий блок состоит из двух счетчиков counter 1 и counter 2, значения которых являются основой для формирования управляющих сигналов. Для подсчета элементов в строке используется счетчик counterl, считающий от 0 до Tile_size+2. На его основе формируются управляющие сигналы (first_elem и last_elem) для выбора первого и последнего элемента строки, а также адрес для блоков памяти хранения информации по столбцам (MEM_Li и MEM_Hi). Счетчик counter 2 применяется для подсчета элементов в столбцах и считает от 0 до Tile_size+1. Он позволяет формировать сигналы first_colon last_colon, обозначающие первый и последний элементы столбца. Оба счетчика участвуют в создании сигналов выбора блока памяти буфера столбцов для записи we_L и we_H, а также управляющих сигналов выходного буфера enable_LL, enable_LH, enable_HL и enable_HH.
Число разрядов для представления данных после каждого уровня преобразования определяется следующим образом:
L: n+3
H: n+1
<Н: <H:
L:n+3+3=n+6 n+3+1=n+4 L: n+1+3=n+4 n+1+1=n+2
clk» en^
reset в counterl
clk countl en first_elem reset last_elem
in buff
D-
data(n-1:0)
ALU RAW
L(n+3:0) en H(n+1:0) first last
x0(n-1:0) x1(n-1:0) x2(n-1:0)
adr form
count1 adr_d_1 clk adr_1 reset adr_d en adr
2clock delay
counter2
MEM L2
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
d(n-1:0)
dpra(adr_size-1:0) we
MEM L1
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
d(n-1:0)
dpra(ad_size-1:0)
we
MEM L D
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
d(n-1:0)
dpra(ad_size-1:0)
raw_ready
en. -
clk count2 en first_colon reset last_colon
MEM H2
L2
L1
LO
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
■1:0)
dpra(adr_size-1:0) we
MEM H1
MEM_H_D
H2
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
d(n-1:0)
dpra(adr_size-1:0) we
data select
count1
-r
H1
a(adr_size-1:0) q(n-1:0) clk spo(n-1:0)
d(n-1:0)
dpra(adr_size-1:0)
enable_signals
H0 countl enable_HH count2 enable_HL enable_LH enable_LL
ALU 2t column
C0(n-1:0)
C1(n-1:0)
C2(n-1:0)
D(n:0)
clk
en
first
H(n:0) L(n+2:0)
L_colonm
enable_HH enable_HL enable_LH enable LL
HH(n+2:0) HL(n+4:0) LH(n+4:0) LL(n+6:0)
^oDone_HH ^DDone_HL —DDone_LH —oDone LL
n
adr_1
ad
ad
H colonm
adr_1
we
we
countl we_L count2 we_H enable_colonm
Рис. 35. Структурная схема устройства одного уровня преобразования Если n=8, то коэфициенты низкочастотного поддиапазона L будут иметь длину слова в 11 разрядов, а для высокочастотного количество разрядов равно 9. Для двумерного вейвлет-преобразования значения поддипазона LL определяются четырнадцатью разрядами, HL и LH - имеют 12 разрядов. При этом самые короткие коэфициенты из поддиапазона HH определяются словом, длиной 10 битов.
Результаты имплементации в кристалл. Выполнена реализация цифрового устройства для вейвлет-преобразования различных типов используемой внутренней памяти: распределенной и блоковой. В микросхемах FPGA распределенная память реализуется с помощью таблиц преобразования LUT, блоковая - на выделенных модулях памяти BRAM. Проведенный анализ скорости устройств показал, что блоковая память предпочтительнее по быстродействию, чем распределенная (рис. 36). Для различных размеров картинки время обработки изображения может колебаться в зависимости от типа алгоритма place & route, выполняющего размещение блоков в микросхеме (рис. 37). Особенно это характерно для устройств, использующих распределенную память.
80,00 75,00 70,00 65,00 60,00 55,00 50,00 45,00 40,00 35,00 30,00
256
12B
64 Tile size 32
16
B
Рис. 36. Зависимость быстродействия от размера обрабатываемого блока и типа памяти
BA114IDWT
о 100 с
О)
= 80 <u
£ 60 40 20
---BA112JPEG2000D
-BA113FDWT
.......RC_2DDWT
- - - - LB_2DFDWT
-FDWT_BRAM
-FDWT
a b c d e f g
Рис. 37. Сравнительный анализ быстродействия устройств (a-xc3s4000-4-fg900, b-xc2vp20-6-fg676, c-xc2v1500-6-bg575,d-xc2v250-5, e-xcv300-6-bg352, f-xcv300e-8-pq240, g-xc2s200-6-fg256)
На рис. 38 представлена DWT-система на кристалле FPGA (XCV50e-fg256-6) после выполнения процедуры place & route. Система имеет следующие характеристики: тактовая частота - 79,5 МГц; энергопотребление - 5 ватт; занимаемая площадь на кристалле -19 %; количество LUT - 242 из 1536 (15%).
E A D В С t D А 1 Ъ 1 1 1 11 9 9 0 9 0 0 0 01
$ E A D АС В D АС С В 1 21 3 1 22 42 03
нмшт1:№
ÏFL
пп из а 'ас 'па 'но 'од'
пд 'да 'да 'дп in
LÎÏÏ"
дд 'он Р 'да
'TP MR Р 9 9 111 9 9 9
ИТ NR РТ Т N R Р РТ 11 12 12. Э 2 92 94
Рис. 38. DWT-система на кристалле FPGA
Заключение
Разработана архитектура устройства на основе микросхем фирмы XILINX, не использующая внешнюю память для хранения промежуточных данных, что существенно повышает быстродействие (в несколько раз) функционирования устройства.
Предложена реализация IP-core блока DWT для разработки стандарта JPEG 2000 в формате системы на кристалле. В приведенных источниках отсутствуют аналогичные результаты. Рассмотренные в обзоре DWT-реализации не привязаны к архитектуре и носят абстрактный характер, в то время как предложенное устройство было привязано к аппаратуре и спроектировано под конкретные ресурсы для реализации DWT-системы на кристалле программируемой логики. В источниках внимание акцентируется на упрощение схемы вычислителей, что может повысить быстродействие арифметического модуля, однако скорость всего устройства зависит в большей степени от обращения к памяти и управляющей схемы, на что направлены предложенные в данной работе структурные решения.
Структура предложенного DWT-устройства имеет более простой вычислительный блок по стравнению с DWT-модулем [20], поэтому требует меньше тактов для преобразования. Кроме того, в предложенном проекте для каждого поддиапазона выделен свой блок памяти, что исключает возникновение коллизий при использовании промежуточной памяти в виде одного блока, из которого выполняется считывание данных через строку.
Научная новизна - конвейерная структура DWT, ориентированная на имплементацию в кристаллы программируемой логики или в функциональность IP-core, отличающаяся от приведенных аналогов меньшими аппаратурными затратами в части реализации АЛУ и распределенной буферной памяти. Это позволяет существенно повысить быстродействие, тактовую частоту, а также уменьшить энергопотребление и стоимость системы на кристалле, что является весомым вкладом в практическую реализацию международного стандарта IEEE JPEG 2000.
Практическая значимость заключается в предоставлении рынку электронных технологий простой, высокотехнологичной и эффективной реализации DWT-преобразователя, ориентированной на высокое быстродействие, качество анализа и синтеза изображений путем имплементации в SoC, которая имеет высокое быстродействие, тактовую частоту и низкое энергопотребление, что является существенным преимуществом практической реализации международного стандарта IEEE JPEG 2000 по сравнению с программными аналогами.
Дальнейшие направления исследования:
1. Разработка архитектуры DWT и IDWT JPEG 2000, ориентированной на ее одновременное использование DWT-фильтрами 5/3 и 9/7.
2. Реализация лифтинговой схемы на процессорах DSP микросхем серии Virtex-4.
Список литературы: 1. Уэлстид С. Фракталы и вейвлеты для сжатия изображений в действии. М.: Триумф, 2003. 320с. 2. DaubechiesI. andSweldens W. Factoring wavelet transforms into lifting steps. Bell Laboratories, Lucent Technologies. 1996. 368p. 3. Воробьев В.И., Грибулин В.Г. Теория и практика вейвлет-преобразования. С.-Петербург: ВУС, 1999. 204c. 4. СэломонД. Сжатие данных, изображения и звука. М: Техносфера. 2004. 386с. 5. DavidS. Taubman, Michael W.Marcellin. JPEG2000: Image compression fundamentals, standards and practice. Boston/Dordrecht/London: Kluwer Academic Pulishers. 2002. 774p. 6. Majid Rabbani, Rajan Joshi. An overview of the JPEG2000 still image compression standard. Signal Processing: Image Communication 17 (2002) P. 3-48. 7. Steve Smith. The Scientist and Engineer's Guide to Digital Signal Processing. California Technical Publishing. 1997. 640p. 8. Daubechies I. and Sweldens W. Factoring wavelet transforms into lifting schemesp. J. Fourier Anal. Appl. Vol. 4. 1998. P. 247-269. 9. Barua S., Carletta J.E., Kotteri K.A., BellA.E. An efficient architecture for lifting-based two-dimensional discrete wavelet transforms. INTEGRATION. The VLSIjournal 38 (2005). P. 341-352. 10. Zervas N.D., Anagnostopoulos G.P., Spiliotopoulos V., Andreopoulos Y., Goutis C.E. Evaluation of design alternatives for the 2-D discrete wavelet transform. IEEE Trans. Circuits Systems Video Technol. 11 (12). 2001. P. 1246-1262. 11. Dimitroulakos G., Zervas N.D., Sklavos N., Goutis C.E. An efficient VLSI implementation for forward and inverse wavelet transform for JPEG2000. Proceedings of 14th IEEE International Conference on Digital Signal Processing (DSP'02). Greece. 2002. P. 233-236. 12. Abdullah Al Muhit, Md. Shabiul Islam, Masuri Othman. VLSI Implementation of Discrete Wavelet Transform (DWT) for Image Compression // 2nd International Conference on Autonomous Robots and Agents. 2004. New Zealand. P. 391-395. 13. Vishwanath M., Owens R. and Irwin M.J. VLSI architectures for the discrete wavelet transform. IEEE Trans. Circuits Syst. Vol. 42. 1995. P. 305-316. 14. Fridman J.S., Manolakos E.S. Discrete wavelet transform: Data dependence analysis and synthesis of distributed memory and control array architectures // IEEE Trans. Signal Processing. Vol. 45. P. 1291-1308. 15. Acharya T. A high speed systolic architecture for discrete wavelet transforms // Proc. IEEE Global Telecommun. Conf. Vol. 2. 1997. P. 669-673. 16. Parhi K.K. andNishitani T. VLSI architectures for discrete wavelet transforms // IEEE Trans. VLSI Syst. 1993. Vol. 1.P. 191-202. 17. GrzeszczakA, MandalM.K., Panchanathan S., Yeap T. VLSI implementation of discrete wavelet transform // IEEE Trans. VLSI Syst. Vol. 4. 1996. P. 421433. 18. Chakrabarti C., Vishwanath M.Efficient realizations of the discrete and continuous wavelet transforms: From single chip implementations to mappings on SIMD array computers // IEEE Trans. Signal Processing. 1995. Vol. 43. P. 759-771. 19. MaurizioMartina, GuidoMasera. FPGA Fully Reconfigurable Lifting Kernel for Multimedia Processing 11th International Conference on Very Large Scale Integration VLSI-SOC. 2001. France. P. 5-10. 20. Andra K., Chakrabarti C., Acharya T. A VLSI architecture for lifting-based forward and inverse wavelet transform // Signal Processing. IEEE Transactions and Signal Processing.Vol. 50. Issue 4. 2002. P. 966 - 977. 21. Barua S. J., Carletta E., K. Kotteri A.A., BellE. An Efficient Architecture for Lifting-based Two-Dimensional Discrete Wavelet Transforms. GLSVLSI'04. 2004. Massachusetts. USA. 11 p. 22. ITU-T Recommendation. T.24. Standardized digitized image set. ITU Standard. June 1998. Available
at http://www.itu.int/ITU-T/. 23.Tan K-C. B, Arslan T. Shift-accumulator ALU centric JPEG2000 5/3 lifting based discrete wavelet transform architecture. 7803-7761-3103111. 7.00 02003 IEEE. P. V-161. V-164. 24. Lian C-J., Chen K-F., Chen H-H., Chen L-G. Analysis and architecture design of lifting based DWT and EBCOT for JPEG2000. Proceedings of Technical Papers of 2001 International Symposium on VLSI Technology Systems and Applicarions. 2001. P. 180-183. 25. Simon T., Chandrakasan A.P. An ultra low power adaptive wavelet video encoder with integrated memory // IEEE Journal of Solid-Slate Circuits.Vol. 35, No. 4.2000.10 p.
Поступила в редколлегию 11.03.2006 Хаханова Ирина Витальевна, докторантка кафедры АПВТ ХНУРЭ. Научные интересы: проектирование цифровых систем на кристаллах. Увлечения: английский язык, музыка. Адрес: Украина, 61166, Харьков, пр. Ленина, 14, тел. 70-21-326. E-mail: [email protected]
УДК 519.6 Н.И. КАЛИТА
МЕТОДЫ РЕШЕНИЯ ЗАДАЧ УПРАВЛЕНИЯ ПОВЕДЕНИЕМ ОДНОРОДНЫХ СОЦИАЛЬНЫХ ГРУПП
Формулируются математические модели задачи управления поведением однородных социальных групп, соответствующие различным способам управления. По постановке эти задачи относятся к классу задач условной нелинейной оптимизации. Рассматриваются случаи задания параметров математических моделей в виде точечных и интервальных значений. Для решений задач предлагаются алгоритмы прямой и обратной прогонки метода динамического программирования, формулируются соответствующие рекуррентные соотношения.
1. Введение
В системах управления социально-экономическими объектами решаются задачи управления не только материальными потоками, но и группами людей. Индивидуум или группа людей выступают в роли лица, принимающего решение (ЛПР), которое имеет свои предпочтения {a¡}i=i"n при выборе единственной альтернативы x0 на заданном множестве
x е X. В [1] на основе теории полезности проведена формализация проблемы управления поведением однородной группы индивидуумов, определены способы управления поведением: 1) изменить предпочтения a¡ (весовые коэффициенты важности объективных частных характеристик альтернатив k¡ (x)); 2) изменить объективные частные характеристики заданной альтернативы k¡ (xз) при неизменных значениях a¡; 3) комбинировать указанные способы. Сформулированы соответствующие задачи управления [2] как задачи распреде-
n
ления ограниченного количества моноресурса R = 2 (гц + r2i), который используется для
i=l
изменения ai и ki(xз)в целях повышения привлекательности заданной альтернативы
P(xз). Зависимости ai = f1i(гц) и ki(x) = f2i(r2i) аппроксимируются логистическими функциями. Предложены математические модели указанных задач.
Цель исследования: существенная экономия времени и материальных затрат при управлении поведением однородных социальных групп за счет использования формальных методов решения задач управления путем изменения предпочтений индивидуумов и частных характеристик альтернатив.
2. Постановка задачи
Задача управления предпочтениями формулируется как минимизация затрат ресурсов для достижения наибольшей привлекательности заданной альтернативы в сравнении с другими альтернативами множества X. С учетом изложенного представим следующую математическую модель задачи управления предпочтениями:
1. Минимизировать ресурсы: