Научная статья на тему 'Процессор обработки изображения на многополосном вейвлет-преобразовании в алгебре кватернионов'

Процессор обработки изображения на многополосном вейвлет-преобразовании в алгебре кватернионов Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
229
36
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
параунитарный банк фильтров / многополосное вейвлет-преобразование / кватернион / изображение / процессор реального времени / ПЛИС

Аннотация научной статьи по компьютерным и информационным наукам, автор научной работы — Н А. Петровский

В рамках данной статьи рассматривается реализация системы на кристалле ПЛИС Xilinx Virtex-4 XC4SX35 – процессора кодирования изображения в реальном масштабе времени. Основу системы составляет управляющий контроллер Xilinx MicroBlaze и поточный процессор многополосного вейвлет-преобразования. Схема обработки изображения может рассматриваться как базовая для кодеров класса L2L (lossless-to-lossy).

i Надоели баннеры? Вы всегда можете отключить рекламу.
iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.
i Надоели баннеры? Вы всегда можете отключить рекламу.

PROCESSOR FOR IMAGE PROCESSING BASED ON THE MULTIBAND WAVELET TRANSFORM IN QUATERNION ALGEBRA

In the given article the processor of image coding in real time based on the FPGA Xilinx Virtex-4 XC4SX35 is considered. The system basis is made by microprocessor Xilinx MicroBlaze and the pipe-line processor of multibands wavelet transform in quaternion algebra. The image processing scheme can be considered as base for coders of class L2L (lossless-to-lossy).

Текст научной работы на тему «Процессор обработки изображения на многополосном вейвлет-преобразовании в алгебре кватернионов»

Доклады БГУИР

2011 № 7 (61)

УДК 004.383

ПРОЦЕССОР ОБРАБОТКИ ИЗОБРАЖЕНИЯ НА МНОГОПОЛОСНОМ ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИИ В АЛГЕБРЕ КВАТЕРНИОНОВ

НА. ПЕТРОВСКИЙ

Белорусский государственный университет информатики и радиоэлектроники П. Бровки, 6, Минск, 220013, Беларусь

Поступила в редакцию 29 июня 2011

В рамках данной статьи рассматривается реализация системы на кристалле ПЛИС Xilinx Virtex-4 XC4SX35 - процессора кодирования изображения в реальном масштабе времени. Основу системы составляет управляющий контроллер Xilinx MicroBlaze и поточный процессор многополосного вейвлет-преобразования. Схема обработки изображения может рассматриваться как базовая для кодеров класса L2L (lossless-to-lossy).

Ключевые слова: параунитарный банк фильтров, многополосное вейвлет-преобразование, кватернион, изображение, процессор реального времени, ПЛИС.

Постановка задачи

В последнее время представляет интерес использование в кодировании изображений многополосного вейвлет-преобразования [1, 2], которое, в отличие от диадического аналога, дает выигрыш в степени компрессии [3]. С другой стороны, в настоящее время представляют интерес схемы, работающие по принципу L2L (lossless-to-lossy) [4, 5], осуществляющие сжатие и восстановление изображения как без потерь, так и с контролируемым внесением артефактов. Это обеспечивает возможность широкого применения схемы компрессии, например, в таких приложениях как обработка снимков с космических аппаратов, изображений медицинского характера, требующих максимально сохранить оригинал, т.е. кодирование без потерь, и применение в бытовых системах мультимедиа: сотовая связь, 1Р-телефония, фотоаппараты, видеокамеры и т.д., где допускается внесение определенного количества искажений, но при этом уменьшается битовый поток (увеличивается степень сжатия).

В данном случае, преобразование - многополосное вейвлет-преобразование «или», интерпретируя его как банк фильтров, должно иметь следующие свойства: перфективную реконструкцию исходного изображения; линейную фазочастотную характеристику (ФЧХ); конечную импульсную характеристику, быть максимально децимированным и равнополосным. Это объясняется тем, что:

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

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

3) длина импульсной характеристики фильтра прототипа должна быть относительно короткой, чтобы предотвратить «звонящие» артефакты в восстановленных изображениях и сохранить возможность синтеза быстрого преобразования;

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

Основой таких многополосных вейвлет-преобразований могут быть параунитарные банки фильтров (ПУБФ) с линейной ФЧХ на основе алгебры кватернионов [6], которые являются преобразованиями без потерь, т.е. сохраняется энергетический баланс. Для числа каналов больше двух линейность ФЧХ соблюдается, лестничные и решетчатые структуры также сохраняют свойство перфективной реконструкции входного сигнала, что дает возможность использовать арифметику с фиксированной запятой [7].

Целью данной статьи является практическая реализация системы компрессии изображения с помощью многополосного вейвлет-преобразования на решетчатых структурах ПУБФ в алгебре кватернионов.

Параунитарный банк фильтров с линейной ФЧХ

ПУБФ анализа описывается МхМ полифазной матрицей Е(z), которая будет парауни-тарной, если Ен (z -1 )Е(z) = с1 м , где с - ненулевая константа и М обозначает число каналов в банке фильтров. Структуру ПУБФ получают путем факторизации его полифазной матрицы Е(z) на элементарные математические преобразования, как правило это планарные обороты Гивенса. Формально параунитарный банк фильтров анализа общего вида может быть описан следующим выражением [8]: Е(z) = RиЛ(zиЧЛ(z)••• R1Л(z)Е0, где Е0 - общая ортогональная матрица; Rг■ - ортогональные матрицы, определяющие передаточные характеристики банка фильтров (■ = 1...Ж); N - количество матриц Я.; Л(z) - матрица задержки: Л( г) = diag( г_1,1 м-1). Для ПУБФ анализа с линейной ФЧХ и четного числа каналов М хорошо известна факторизация передаточной полифазной матрицы Е( г) [8]:

1М/2 1М/2 ,1М/2 -1М/2 .

Е( г) = G N _1 (z)G N _2 (г)... Gl (г )Ео, где

Ео = ФоWdlag(IM/2, J м/2), G . (г) = 2 фWЛ(z)W, ■ = 1,..., N -1,

Л(г) = dlag(Iм/2 , г1 м/2),

ф = dlag(Uг V.), и, и V; -произвольные ортогональные матрицы размера М/2хМ/2. Кроме того, для упрощения обозначенной выше факторизации для ;>0 матрица и. может быть представлена единичной матрицей, тогда ф = dlag(I, V), ■ > 0 . К сожалению, описанные выше факторизации теряют свойство параунитарности, когда матрицы и. и V; представляются с ограниченной точностью. Это обусловлено тем, что квантование компонент ортогональных матриц в общем случае приведет к изменению норм столбцов.

Матрицы Е0 и Rг■ в факторизации решетчатой структуры параунитарного банка фильтров анализа, как показано в [6, 7], можно выразить через матрицы умножения кватернионов

(левого умножения и правого умножения) следующим образом: Е0 = М+ (00)МР0),

Я. = М1 ), ; = 1,..., N -1, где Р0 и все Qi - некоторые единичные кватернионы, тогда передаточная функция решетчатой структуры общего ПУБФ анализа будет равна: Е(г) = М1 ^^Л^М1 ^^Л^)...М1 (£)Л^)М+ ^„)М-(Р0). В работе [6] показано, что для каждой ортогональной матрицы размерностью 4х 4 существует уникальная (с точностью до знака) пара единичных кватернионов Р и Q таких, что: М + (Р) • М-= М- (Q) • М + (Р). Данная факторизация всегда соответствует ортогональному преобразованию сигналов, даже если ее компоненты квантованы. Это происходит потому, что столбцы каждой матрицы умножения кватернионов составлены из одних и тех же элементов с точностью до знака. Таким образом, умножение кватернионов может рассматриваться как основной строительный блок ПУБФ. Реали-

зация параунитарного банка фильтров анализа с линейной ФЧХ на основе умножителей кватернионов предполагает определение Ф0 и ф. как [6]:

Ф0 = M (Р0 )M+ (20), ф. = М (Р), г = 1,..., N -1, где все Рг и Q0 - некоторые единичные кватернионы. Конвейерные структуры ПУБФ анализа и синтеза с линейной ФЧХ на основе умножителей кватернионов (Ы = 3) представлены на рис. 1 и рис. 2 соответственно.

Рис. 1. Конвейеризация обработки данных 4-канальным банком фильтров анализа с линейной ФЧХ на

кватернионах

Рис. 2. Конвейеризация обработки данных 4-канальным банком фильтров синтеза с линейной ФЧХ на кватернионах, где Рг и Q0 - сопряженные кватернионы

Поточный процессор многополосного вейвлет-преобразования

Анализ решетчатых структур ПУБФ, представленных на рис. 1 и 2, показывает, что процессор ПУБФ может быть реализован по поточной схеме. Процессорными ступенями являются модули умножителя кватернионов (см. рис. 3) [9]. Первая ступень конвейера подключается ко входу процессора через модуль дециматора, который реализован на памяти. Вторая ступень конвейерной схемы соединена непосредственно с первой ступенью и через фиксатор конвейера, представляющий собой последовательное соединение модулей перестановки-суммирования (матрица W) и задержек компонент кватерниона (матрица Л(г) (см. рис. 3) подключена к третьей ступени, которая через фиксатор конвейера стыкуется с четвертой ступенью поточной схемы ПУБФ согласно его решетчатой структуре (рис. 1). Т.о., структура процессора для задачи анализа изображения представляет собой 4-ступенчатый конвейер (см. рис. 4). Временная диаграмма работы 1Р-ядра поточного процессора ПУБФ иллюстрируется на рис. 5, где показана синхронизация выхода дециматора и 4-ой ступени конвейера. Синхронизация процессорных ступеней в потоке передачи данных осуществляется сигналами готовности. Такой подход позволяет оптимизировать задержки при трассировке на кристалле FPGA. Цикл конвейера составляет 4 такта - время работы умножителя. Для системы синтеза схема процессора будет выглядеть аналогично.

X -

valid

D

elk-

valid

valid

elk-

Go

t

valid

а б в г

Рис. 3. Компоненты поточного процессора: дециматор (а); умножитель кватернионов (б); перестановки-суммирования (матрица W) (в); задержки компонент кватерниона (матрица Л(г)) (г)

X

valid

D

elk

1

0

► 00 Р0

'4 |

valid <-»

т

W

W

Pi

пE

w

w

Pi

г

Pf

-Vl

• Уз

•\>4

■ ready

5i

Рис. 4. Поточная реализация IP-ядра 4-х-канального ПУБФ анализа на кватернионах

ret dk

data_ready

L_|

run_ri_ri_irLJ~L_rL J-LJTL

1 ч i

00F0 ! oofs : 1MF4

Выход дециматора

йМй i )

..Г

Ж ■ Iм-

5Fa~

[¡хашйй

ВИИаВЯГЯЯЯ

Fa-

о data2 0000

А

o_dala3 o_dataC 0_data1 0_data2 valid

Результаты анализа

I 1

to tlVIUL

[QOTgiaOF? nfWFT

(ГОТС~

(55ТГ

J-L

Рис. 5. Временная диаграмма работы IP-ядра поточного процессора ПУБФ

Анализ структуры поточного процессора показывает, что на затраты оборудования и производительность процессора влияет реализация модуля умножителя кватернионов. Данный модуль выполнен на распределенной арифметике по схеме [9]. В зависимости от числа параллельно обрабатываемых разрядов в умножителе кватернионов (L_BAAT - L bit-at-a-time) или скорости умножителя (число умножений кватернионов в с) затраты оборудования и производительность поточного процессора для 16-ти разрядных данных и FPGA Xilinx Virtex-4 XC4SX35 при обработке цветного изображения (RGB формат, 640x480 пикселов) следующие (см. табл. 1).

BAAT Частота синхр. [МГц] LUT Скорость умн. (10Л6 умножений/с) Кадр/с

1 200 130 11 11

2 180 270 16 17

iНе можете найти то, что вам нужно? Попробуйте сервис подбора литературы.

4 102 428 26 28

8 45 865 27 29

16 22 1258 28 30

Исследование данных результатов проекта показывает, что наиболее рациональная структура поточного процессора на базе схемы 4_ВААТ модуля умножителя кватернионов. Эксперимент проводился для ПУБФ с линейной ФЧХ (q0 = -231/512 + .459/1024 + '0 + £0; р0 = -7/8 - /3/8+'0 + £0; р1 = -3/16+ .15/16+ '0 + £0; р2 = -9/16 - .13/16+ '0 + £0) и амплитудно-частотной характеристикой (см. рис. 6,а - АЧХ вейвлет-фильтров), которому соответствует 4-х полосное вейвлет-преобразование (см. рис. 6,6). Вейвлет-фильтры имеют хорошую частотную избирательность: уровень АЧХ в полосе непропускания для низкочастотных и высокочастотных фильтров составляет около -35дБ, а для полосовых - около -20дБ. При этом показатель эффективности кодирования равен 8,1845дБ.

и/2л

а б

Рис. 6. АЧХ и вейвлет функции 4-полосного вейвлет-преобразования

Вейвлет-преобразование выполняется по стандартной схеме: сначала преобразованию подвергаются все строки изображения, в результате чего формируются 4 области. Затем вейв-лет-преобразование применяется ко всем столбцам полученных коэффициентов, в результате можно выделить уже 16 областей. В качестве примера на рис. 7 даны результаты разложения тестового изображения «Ромашки» на 16 компонент. Из этого рисунка видно, что разбиение на 16 компонент позволяет сконцентрировать энергию в низкочастотных и среднечастотных компонентах, что позволит осуществить квантование высокочастотных компонент со значительно меньшим количеством уровней. На рис. 7 показаны исходное изображение с параметрами (640x480 пикселов, RGB формат, 6 бит на пиксель) и синтезированное процессором синтеза из вейвлет-коэффициентов анализирующего процессора. Пиковое значение отношения сигнал-шум здесь составило 53,24 дБ. Это позволяет сделать заключение о перфективной реконструкции изображения.

Рис. 7. Распределение вейвлет-коэффициентов по изображению «Ромашки»

Процессор обработки изображения на ПЛИС

Процессор обработки изображения, ядром которой является поточный процессор многополосного вейвлет-преобразования, представляет собой вычислительную систему на кристалле с управляющим микропроцессором ХШпх МюгоВ^е (см. рис. 8).

DDR, SRAM

Ethernet PHY

VGA

MMU

Кэш память

Управляющий микропроцессор М1сгоВ1аге

ПЛИС:

Много портовый контроллер памяти

DMAO

DMA1

DMA2

I t t

Ethernet MAC

I

Видео контроллер

Поточный процессор многополосного

вейвлет-преобразования (анализ\синтез)

PLBv46

Контроллер прерываний

UART

PS/2

GPIO

Rx/Tx

PS/2 Keyboard Leds, buttons

Рис. 8. Структурная схема процессора обработки изображения на ПЛИС

Система организована вокруг общей шины PLB (Program Logical Bus). В ее структуру также включены многопортовой контроллер памяти, контроллеры: Ethernet, дисплея VGA, прерываний, клавиатуры, последовательной передачи данных (UART). Управляющий микропроцессор Xilinx MicroBlaze осуществляет обработку вейвлет-коэффициентов, например, для задачи анализа (кодирования изображения): квантование вейвлет-коэффициентов, формирование битового потока, а также управление контроллерами периферийных устройств. Данная система на ПЛИС работает в полном дуплексе (кодирование/декодирование) для разрешения 640x480 пикселов, RGB формат, 18 бит на пиксель при скорости ввода 87 Мбит/с и вывода изображения 85 Мбит/с через Ethernet контроллер.

Заключение

Показана реализация процессора кодирования изображения в реальном масштабе времени на ПЛИС - системы на кристалле, ядром которой является поточный процессор многополосного вейвлет-преобразования в алгебре кватернионов. Данная схема обработки изображения может быть базовой при построении кодеров класса L2L (lossless-to-lossy).

PROCESSOR FOR IMAGE PROCESSING BASED ON THE MULTIBAND WAVELET TRANSFORM IN QUATERNION ALGEBRA

N.A. PETROVSKY

Abstract

In the given article the processor of image coding in real time based on the FPGA Xilinx Virtex-4 XC4SX35 is considered. The system basis is made by microprocessor Xilinx MicroBlaze and the pipe-line processor of multibands wavelet transform in quaternion algebra. The image processing scheme can be considered as base for coders of class L2L (lossless-to-lossy).

Литература

1. Vetterli M. // IEEE Signal Processing magazine, 2001. P. 59-73.

2. Chen Y-J., AmaratungaK.S. // IEEE Trans. CAS - II. 2003. Vol. 50, №12. P. 963-976.

3. Дворкович В.П., Гильманшин А.В. // Цифровая обработка сигналов. 2008. №1. С. 37-42.

4. Suzuki T., Ikehara M. // IEEE Trans. Image Processing. 2010. Vol. 19, №11. P. 2958-2965.

5. Suzuki T, IkeharaM. // IEEE 17-th Int. Conf. Image Processing. 2010. P. 389-392.

6. ПарфенюкМ., Петровский А.А. // Цифровая обработка сигналов. 2008. №1. С. 22-36.

7. ParfieniukM., Petrovsky A. // Signal Processing. 2010. Vol. 90. P. 1755-1767.

8. Vaidyanathan P.P. Prentice-Hall. NJ. 1993.

9. Петровский Н.А., ПарфенюкМ. // Цифровая обр. сиг. и ее применение 2011. С. 305-308.

i Надоели баннеры? Вы всегда можете отключить рекламу.