Научная статья на тему 'АРХИТЕКТУРА АППАРАТНОЙ РЕАЛИЗАЦИИ ОДНОМЕРНОГО ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ НА БАЗЕ FPGA'

АРХИТЕКТУРА АППАРАТНОЙ РЕАЛИЗАЦИИ ОДНОМЕРНОГО ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ НА БАЗЕ FPGA Текст научной статьи по специальности «Электротехника, электронная техника, информационные технологии»

CC BY
0
0
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
вейвлет-преобразование / лифтинг-схема / сложно-функциональный блок / цифровая обработка / FPGA / wavelet transform / lifting scheme / FPGA / IP-core / digital processing

Аннотация научной статьи по электротехнике, электронной технике, информационным технологиям, автор научной работы — Зинкевич А. В.

В статье рассматривается разработка сложно-функционального блока прямого одномерного вейвлет-преобразования. Разработанная архитектура основана на лифтинг-схеме дискретного биортогонального вейвлета 9/7 Добеши, используемого в алгоритме сжатия изображений JPEG2000. На основе работы Добеши и Свелденса, использующей факторизацию для выполнения вейвлет-преобразований, произведено упрощение аппаратной реализации. В качестве среды разработки использованы САПР Quartus II и ModelSim. Поведенческая модель написана на языке VerilogHDL. В качестве FPGA использована Altera Cyclone® IV 4CE115. В результате приводится оценка максимальной тактовой частоты блока и занимаемый объем аппаратных ресурсов.

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

Architecture of Hardware Implementation of One-Dimensional Wavelet Transform Based on FPGA

The article deals with the development of a IP-core of direct one-dimensional wavelet transform. The developed architecture is based on the lifting scheme of the 9/7 Daubechies discrete biorthogonal wavelet used in the JPEG2000 image compression algorithm. Based on the work of Daubechies and Sweldens, which uses factorization to perform wavelet transforms, the hardware implementation is simplified. CAD Quartus II and ModelSim were used as the development environment. The behavioral model is written in the VerilogHDL language. Altera Cyclone® IV 4CE115 was used as FPGA. As a result, an estimate of the maximum clock frequency of the block and the occupied amount of hardware resources are given.

Текст научной работы на тему «АРХИТЕКТУРА АППАРАТНОЙ РЕАЛИЗАЦИИ ОДНОМЕРНОГО ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ НА БАЗЕ FPGA»

ВЕСТНИК ТСГУ. 2022. № 2 (65)

УДК 004.3 А. В. Зинкевич

АРХИТЕКТУРА АППАРАТНОЙ РЕАЛИЗАЦИИ ОДНОМЕРНОГО ВЕЙВЛЕТ-ПРЕОБРАЗОВАНИЯ НА БАЗЕ FPGA

Зинкевич А. В. - канд. техн. наук, доцент кафедры «Вычислительная техника», e-mail: 006526@pnu.edu.ru (ТСГУ)

В статье рассматривается разработка сложно-функционального блока прямого одномерного вейвлет-преобразования. Разработанная архитектура основана на лифтинг-схеме дискретного биортогонального вейвлета 9/7 До-беши, используемого в алгоритме сжатия изображений JPEG2000. На основе работы Добеши и Свелденса, использующей факторизацию для выполнения вейвлет-преобразований, произведено упрощение аппаратной реализации. В качестве среды разработки использованы САПР Quartus II и ModelSim. Поведенческая модель написана на языке VerilogHDL. В качестве FPGA использована Altera Cyclone® IV 4CE115. В результате приводится оценка максимальной тактовой частоты блока и занимаемый объем аппаратных ресурсов.

Ключевые слова: вейвлет-преобразование, лифтинг-схема, сложно-функциональный блок, цифровая обработка, FPGA

Введение

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

Дискретное вейвлет-преобразование (ДВП) вычисляет по значениям входного набора данных коэффициенты нижних и верхних частот. Коэффициенты нижних частот рекурсивно могут быть входными данными для следующего уровня преобразования. В мультимедийных приложениях ДВП обычно используется для уменьшения избыточной информации. В качестве примера в работе рассматривается биортогональный вейвлет 9/7 Добеши, используемый в алгоритме сжатия изображений JPEG2000. Такой вейвлет позволяет получить лучший коэффициент сжатия изображения по сравнению с биортогональным 5/3 -вейвлетом. Но при этом существуют два недостатка [1, 2]:

© Зинкевич А. В., 2022

ВЕСТНИК ТОГУ. 2022. № 2 (65)

1) происходит некоторая потеря качества изображения из-за вычисления иррациональных коэффициентов;

2) алгоритм преобразования при 9/7-фильтре сложнее в практической реализации.

Вейвлет-преобразование

На сегодняшний день существуют два различных подхода к вычислению ДВП: подход на основе свертки [3] и подход на основе лифтинговой схемы [4]. Традиционный подход на основе свертки представляет собой свертку вейвлет-функции с сигналом. Такая функция представляется КИХ-фильтром, состоящим из фильтра нижних частот g[n] и фильтра верхних частот Цп] (рис. 1). Затем применяется операция децимации, цель которой сократить избыточность хранимой информации. При этом для высокочастотного фильтра удаляются все четные элементы из полученной последовательности, а для низкочастотного - нечетные. В результате получается объем данных, равный исходному по размерности. Обратное преобразование, восстанавливающее исходную последовательность, называется синтезом, которому соответствуют функции g,[n] и Ь'[п].

g[n]

х[п] -> ч

Ь[п]

<НМ£>

-1-

Фильтр анализа

-1-

Фильтр синтеза

\ > Е[п]

I 5 х'[п]

->

Ь[п]

) 5

Рис. 1. Вейвлет-преобразование на основе свертки

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

<+н

Щг)

\

Рис. 2. Лифтинговая схема вейвлет-анализа

\ а Ко

) >

' „.(М)

К1

ВЕСТНИК ТОГУ. 2022. № 2 (65)

Операция разбиения делит входной сигнал на четные и нечетные элементы:

5( ) = х2и 0 = %2Ь+1

Их значения на каждом этапе преобразования вычисляются по формуле:

а(п) = а(п-1)

+ ^Рп(к) 31п-1\пЕ[1,2.....М] ;

Лп) _ Лп-1)

+ ^ип(к) й^\пе[1,2.....М]

Для банка фильтров 9/7 Добеши количество уровней N=2 и используется четыре этапа для вычисления вейвлет-преобразования. Выход последнего этапа предсказания умножается на коэффициент К1, а последнего этапа обновления - на Ко. Результат работы такой схемы можно представить в виде:

ЬР(2) НР(г)\

= Р(г)

Ы(г)

(1)

где

Р(г) =

К 0 1

0 ж

ш

<к=т

1 ^(Ю 01

10

№2к-1(г) 1

Значения ЬР(х) и ИРф являются низкочастотными и высокочастотными коэффициентами сигналаХ(г), соответственно. Значения Q2k(z) и Q2k-l(z) - многочлены Лорана, полученные из факторизации многофазной матрицы, представляющей фильтр по алгоритму Евклида [4]. Значения К и 1/К - ненулевые коэффициенты масштабирования.

Применяя факторизацию лифтинговой схемы (1) для матрицы банка фильтров 9/7 Добеши можно получить [4]:

Р(г) =

К 0 1

0 ж

Г1 й(1 + г) [0 1

1

0

с(1 + г-1) 1

Г1 Ь(1+г) [0 1

а(1 + г-1) 1

(2)

к

к

1

0

ВЕСТНИК ТОГУ. 2022. № 2 (65)

где а = -1,586134342; b = -0,0529801185; с = 0,882911076; d = 0,443506852; K = 1,149604398.

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

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

Аналогичным образом могут быть получены коэффициенты для обратного вейвлет-преобразования.

Аппаратная реализация на базе FPGA

Для проектирования прямого вейвлет-преобразования была выбрана FPGA Altera Cyclone® IV 4CE115. Эта FPGA имеет следующие основные для вейвлет-преобразования характеристики:

- 114480 логических элементов;

- 3888 кБит встроенной блочной памяти;

- 532 встроенных аппаратных умножителя разрядностью 9 бит.

Фактическим ограничением из приведенных характеристик является разрядность встроенных умножителей, а также то, что их умножение является целочисленным. Первое ограничение можно обойти путем каскадного объединения нескольких 9-разрядных умножителей. При этом, чтобы умножить два 18- битных числа, требуется фактически два 9-разрядных умножителя. Также следует учесть, что время вычисления в этом случае будет увеличено. Второе ограничение можно обойти за счет использования формата представления чисел с фиксированной точкой. Однако такое решение требует большей разрядности для хранения «целой» и «дробной» частей исходного числа, представленного в формате с плавающей точкой.

Для того чтобы представить коэффициенты целыми значениями, их умножают на 2k, где к - число двоичных разрядов для сдвига данных влево. Например,

, (3)

где dK2 = 0,586134341, с/K = 0,7680129595.

ВЕСТНИК ТОГУ. 2022. № 2 (65)

для коэффициентов в диапазоне 0,0078125 - 1024 предлагается выполнить умножение на 27. Новые коэффициенты будут располагаются в диапазоне 1 - 131072. Таким образом, для представления коэффициентов в дополнительном коде потребуется 18 разрядов.

Алгоритм прямого вейвлет-преобразования из выражения (3) приведен на рис. 3.

Рис. 3. Алгоритм прямого вейвлет-преобразования

ВЕСТНИК ТОГУ. 2022. № 2 (65)

Указанные на рис. 3 «входная строка» и «выходная строка» являются данными, хранящимися во внутренней памяти БРОЛ. Считанные значения проходят все этапы вычислений и записываются обратно. Также в отдельных блоках памяти, отмеченных на рисунке одним цветом, хранятся промежуточные результаты четных и нечетных элементов. Обозначения «Е» и «О» являются четными и нечетными позициями, соответственно. Их индексы соответствуют порядку вычисления. Коэффициенты (а1 - а4, к1, к2) задаются согласно коэффициентам, указанным в выражении (3), где а=а, а2=Ь, аз= с/К, 04= ёК2, к= 1/К, к2 = К. Также имеются единичные коэффициенты на первом этапе предсказания и обновления.

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

На этапах «Предсказание» и «Обновление» выполняются операции с одинаковым числом умножителей и сумматоров. Фактически на каждом этапе происходит три умножения и два сложения, которые составляют один модуль. Поскольку этапы выполняются последовательно, то в преобразовании используется всего один модуль умножения-сложения.

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

В процессе формирования выходной строки происходит группировка низкочастотных (Е20 - Е23) и высокочастотных (О20 - О23) коэффициентов для случая, когда потребуется следующий уровень рекурсивного преобразования.

Проект выполнен в САПР Quartus II и содержит порядка 500 строк кода на языке VerilogHDL. На рис. 4 приведен результат выходных данных синтеза проекта, где указан процент занимаемых ресурсов БРОЛ. Блок умножения использует 6 умножителей для операций с фиксированной точкой, при этом из входных 18 бит первые 11 бит являются целой частью числа, включая знаковый разряд, а остальные 7 бит - представляют дробную часть.

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

Family Device

Cyclone IV Е ЕР4СЕ115F29C 7

Timing Models Total logic elements Total registers Total pins Total virtual pins Total memory bits

0

Final

174 / 114,430 ( < 1 %) 29

77/529(15%)

233/3,931,312 (<1 %)

Embedded Multiplier 9-bit elements 6/532(1%)

Total PLLs

0/4(0%)

Рис. 4. Результат выходных данных синтеза проекта

ВЕСТНИК ТОГУ. 2022. № 2 (65)

Средства анализа и синтеза в среде Quartus II также позволяют оценить максимальную рабочую частоту проекта. Поскольку в общей схеме самой «медленной» является операция умножения, то для увеличения рабочей тактовой частоты в модуле умножения-сложения могут быть добавлены промежуточные регистры. Тогда процесс вычисления будет выполняться по схеме конвейера и можно достигнуть максимальной тактовой частоты равной 164 МГц. При этом задержка между вводом данных в модуль умножения-сложения и получением результата составит 3 такта. При отсутствии конвейерной обработки максимальная тактовая частота снижается до 65 МГц. Следует отметить, что максимальная рабочая частота самой БРОЛ составляет 250 МГц.

На основе разработанной поведенческой модели был разработан 1е81;ЬепсЬ (тестирующий модуль) и осуществлена симуляции цифровой схемы в среде ModelSim (рис. 6).

Рис. 6. Результат симуляции вейвлет-преобразования в среде ModelSim

Исходными данными для 1е81;ЬепсЬ являются целочисленные коэффициенты, которые позже будут представлять данные яркости пикселей в диапазоне 8 бит. Согласно ранее принятому формату представления чисел с фиксированной точкой (11/7), входные данные подвергаются сдвигу на 7 бит влево. Далее, когда данные попадают в четный и нечетный банк памяти, начинается процесс вычисления. Отдельный счетчик сМЫагп считает время выполнения преобразования. Из диаграммы видно, что время выполнения преобразования составляет 24 такта для 8 значений входной строки и одного такта задержки в модуле умножения-сложения. Также один дополнительный такт занимает задержка чтения данных из банков памяти.

Для известного количества входных элементов можно вычислить количество тактов для прямого вейвлет-преобразования по формуле:

где ^ - количество элементов;

I - количество тактов задержки в модуле умножения-сложения; р - количество тактов задержки чтения из памяти.

Как отмечалось ранее, обратное вейвлет-преобразование идентично по вычислительной сложности прямому преобразованию, поэтому количество тактов для вычисления и объем занимаемой памяти будет аналогичный.

ВЕСТНИК ТОГУ. 2022. № 2 (65)

Заключение

Предложенная реализация блока прямого вейвлет-преобразования для банка фильтров 9/7 Добеши является законченным модулем и может быть использована как готовый сложно-функциональный блок для последующей разработки устройств. Использование двухпортовой внутренней памяти, а также унификация модуля умножителя-сумматора позволяют повысить эффективность вычисления и сократить объем занимаемых аппаратных ресурсов. Одним из результатов синтеза для FPGA Altera Cyclone® IV 4CE115 стала оценка максимальной тактовой частоты, равной 164 МГц. Особенностью FPGA является параллельная работы нескольких независимых блоков, что дает возможность проводить параллельную обработку нескольких входных строк. Материалы, полученные в ходе работы, будут использованы далее для построения эффективных систем компрессии изображений на базе стандарта JPEG2000.

Библиографические ссылки

1. Taubman D. S., Marcellin M. W. JPEG2000: Image compression fundamentals, standards and practice. Boston/Dordrecht/London: Kluwer Academic Pulishers, 2002.774p.

2. Воробьев В.И., Грибунин В.Г. Теория и практика вейвлет-преобразования. СПб.: Изд-во ВУС, 1999. 208 с.

3. Mallat S. A theory for multiresolution signal decomposition: The wavelet representation // IEEE Transactions on Pattern Analysis and Machine Intelligence.1989. № 11(7). P. 674-693.

4. Daubechies I., Sweldens W. Factoring wavelet transforms into lifting steps // Journal of Fourier Analysis and Applications. 1998. № 4(3). P. 247-269.

Title: Architecture of Hardware Implementation of One-Dimensional Wavelet Transform Based on FPGA

Authors' affiliation:

Zinkevich A. V. - Pacific National University, Khabarovsk, Russian Federation

Abstract: The article deals with the development of a IP-core of direct one-dimensional wavelet transform. The developed architecture is based on the lifting scheme of the 9/7 Daubechies discrete biorthogonal wavelet used in the JPEG2000 image compression algorithm. Based on the work of Daubechies and Sweldens, which uses factorization to perform wavelet transforms, the hardware implementation is simplified. CAD Quartus II and Mod-elSim were used as the development environment. The behavioral model is written in the VerilogHDL language. Altera Cyclone® IV 4CE115 was used as FPGA. As a result, an estimate of the maximum clock frequency of the block and the occupied amount of hardware resources are given.

Keywords: wavelet transform, lifting scheme, FPGA, IP-core, digital processing.

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