УДК 004.938:004.8
ИСПОЛЬЗОВАНИЕ ПРОИЗВОДИТЕЛЬНЫХ ПЛИС ДЛЯ ОБРАБОТКИ ИЗОБРАЖЕНИЙ
А.Н. ЗАЛИВИН1 И.В. ЗУЕВ2
^ Белгородский государтвенный национальный
исследовательский университет г. Белгород
e-mail: zalivin@bsu.edu.ru
2) ОАО Научноисследовательский институт вычислительных комплексов им. МА. Карцева г. Москва
e-mail: i.zuev@mchs.gov.ru
Статья посвящена разработки эффективных методов обработки изображений с использованием ПЛИС. Приведены расчетные и экспериментальные данные по оценки предложенных методов обработки изображений с использованием высокопроизводительных ПЛИС по сравнению с имеющимися методами обработки на персональных компьютерах.
Ключевые слова: ПЛИС при обработке информации, архитектура ПЛИС типа БРОЛ, результаты эффективности обработки информации, обработка изображений.
Достижение высокой производительности является одной из важных проблем при обработке изображений. При этом многие алгоритмы обработки изображений можно описать довольно компактно с использованием всего лишь нескольких операций таких как, суммирование, умножение и накопление, но эти операции необходимо повторять достаточно большое количество раз, что требует достаточно больших вычислительных затрат.
В свою очередь, в связи с быстрым развитием технологий цифровой обработки изображений, растет, как вычислительная сложность алгоритмов обработки изображений, так и размеры самих изображений, что приводит к необходимости использовать высокопроизводительные системы для решения задач обработки изображений.
Одним из подходов, для повышения производительности вычислений является использование аппаратного ускорения, которое в большинстве случаев реализуется при помощи специализированных процессоров, таких как цифровые сигнальные процессоры (DSP). Однако, так как сложность обработки изображений увеличивается, то необходимы DSP с большим числом параллельных блоков. При этом мощные DSP достаточно дороги, а их производительность, как правило, отстает от требований к обработке изображений.
При этом, с появлением ПЛИС типа Field Programmable Gate Array (FPGA) высокопроизводительная аппаратная архитектура может быть реализована с меньшими затратами.
Современные FPGA устройства включают в себя большое количество логических ресурсов общего назначения, таких как Look-Up Tables (LUTs) и регистры. Кроме того, они обычно включают в себя все большее число специализированных компонентов, таких как мультиплексоры и ячейки памяти, которые необходимы для реализации функций цифровой обработки изображений. Причем устройства фирмы Xilinx содержат специализированные модули DSP, которые могут выполнять такие операции как умножения с накоплением (MAC).
Так же современная архитектура ПЛИС типа FPGA предусматривает наличие встроенного микропроцессора. Это позволяет оптимизировать ПЛИС для обработки изображений, так как микропроцессор позволяет динамически реконфигурировать сопроцессор, построенный на элементах ПЛИС в зависимости от размеров изображений и выполняемой операцией. При этом, так как сопроцессоры выполняют одну и туже операцию, они могут быть настроены параллельно. Такой подход сочетает в себе преимущества реконфигурации без снижения производительности, а время реконфигурации может быть оптимизировано, чтобы завершить процесс
2014. №8 (179). Выпуск 30/1
реконфигурации через несколько тактов. При этом, вся система может быть построена на одном чипе FPGA.
Как уже было сказано, что алгоритмы обработки изображений, как правило, включают повторение некоторых вычислений над большими объемами данных. При этом можно выделить методы пространственной фильтрации, свертки и корреляции, которые очень часто используются во многих приложениях обработки изображений.
Пространственная фильтрация, свертка и корреляция являются тесно связанными понятиями. Они определяются суммой произведений, и могут быть реализованы в прямой форме посредством MAC операций. Альтернативно, они могут быть описаны в частотной области и реализованы с использованием быстрого преобразования Фурье (БПФ). Такие операции обладают большой вычислительной сложностью, которая пропорциональна размеру обрабатываемого изображения. Пространственная фильтрация является распространенным типом фильтра, которая вычисляются в виде линейной операции по пикселям изображения. В любой момент (х,у) в изображении, отклик G (х,у) фильтра является сумма произведений маски фильтра T (i, j) и пикселей изображения, [l]: ^
Отклик фильтра также может быть вычислен и в частотной области, используя преобразование Фурье и теорему о свертке [l]:
СС(х,у-) = F-1 (f(r(*,y)) X F(/(*,y})) (2)
Интерес вычислений в частотной области заключается в использовании быстрого преобразования Фурье (БПФ). Вычислительная сложность двумерного дискретного преобразования Фурье (ДПФ) равна (MN)2, но БПФ снижает количество необходимых операций умножения и сложения до MNlog2. Таким образом, соотношение (2) для фильтрации в частотной области, целесообразно использовать в случае изображений большого размера.
Согласно экспериментальным исследованиям, приведённым в [2] для оценки ускорения при аппаратной реализации алгоритма фильтрации изображений по сравнению с программной реализацией использовался Xilinx Virtex 4 FPGA, а именно XC4SX55 -11 с 512 DSP модулями. Xilinx FPGA V4 обеспечивает высокую производительность для выполнения MAC операций, которые могут быть использованы для вычислений, как в пространственной области, так и частотной. Размер рассмотренного изображения 256x256 пикселей. Полученные экспериментальные результаты с применением Virtex 4 FPGA приведены в таблице.
Таблица
Xilinx Virtex результаты эффективности
Implementation SW Тсс (ms) HW Tdk (ns) HW Tec (ms) Speed Up SW spatial Speed Up SW spectral
Spatial Т=12х12 62 2.477 0.162 240 383
Spatial Т=16х16 110 2.438 0.160 244 688
Spatial Т=20х20 172 2.490 0.163 239 1055
Spectral (16 FFT slices) 39 4.069 0.145 270 760
В таблице приведены показатели производительности при фильтрации в пространственной и частотной области, а также ускорение достигнутые в отношении реализации с помощью программного обеспечения. Для пространственной фильтрации, использовались три разных размеров маски фильтра (12x12 , 16x16, 20x20). В частотной области была рассмотрена только одна реализация (16 FFT). Во второй колонке таблицы показывает время, требуемое для программной реализаций (SW . Время SW Tcc было рассчитано для ПК, оснащенного 3 ГГц процессором Pentium IV и 1 Г байтом памяти. Третий и четвертый столбцы таблицы показывают соответственно минимальный период синхронизации (ТС^Ю и время, необходимое для завершения вычисление FPGA. Последние два столбца таблицы показывают ускорение предложенных реализаций по отношению к программной реализаций.
Рис. Время выполнения нормированной кросскорреляции на базе ПЛИС и GPU для ширины окна
изображения равной 512 пикселя
Так же можно отметить, что при сравнении производительности FPGA типа Xilinx 7 series, и GPU GeForce GTX 660 Ti приведенные в [3] показывают, что реализация на GPU всего лишь немного превосходит реализацию FPGA, что можно наблюдать на графике, представленном рисцнке.
В заключении можно сделать вывод, что аппаратное ускорение с помощью ПЛИС предоставляет хорошие условия для повышения производительности алгоритмов обработки изображений по сравнению с ПК. В случае выполнения достаточно простых операций обработки изображений, ускорение при применении ПЛИС может достигать более 200 раз [4]. В свою очередь повышение доступности конкретных ресурсов в современных ПЛИС, таких как встроенные мультиплексоры и регистры, а также возможности ПЛИС эффективно реализовать некоторые частные структуры, такие как линии задержки или FIFOs. Позволяет адаптировать ПЛИС для решения многих задач и нужд современных систем обработки изображений [5].
Серия История. Политология. Экономика. Информатика. 2014. №8 (179). Выпуск 30/1
Список литературы
1. Гонсалес Р. Цифровая обработка изображений / Р. Гонсалес, Р. Вудс. - М.: Техносфера, 2006. - 1072 С.
2. Almudena Lindoso and Luis Entrena. Hardware Architectures for Image Processing Acceleration, Image Processing, Yung-Sheng Chen (2009).
3. D. Thomas, L. Howes, and W. Luk, “A comparison of CPUs, GPUs, FPGAs, and massively parallel processor arrays for random number generation”, Int. Symposium on FPGAs, 2009.
4. Яковлев Ю. С. /Особенности архитектуры и структуры реконфигурируемых графических ускорителей / «Інформаційні Технології Та Комп’ютерна Інженерія», № 3, 2013.
5. Чудинов С.М. О применении ПЛИС архитектуры FPGA в задачах субполосной обработки изображений. Заливин А.Н. «Научные ведомости БелГУ» Номер 8 (151) Выпуск 26/1 2013 г., 188-194 с.
USE OF PRODUCTIVE FPGA IMAGE PROCESSING
A.N. ZALIVIN1 I.V. ZUEV2
The article is devoted to the development of effective methods of image processing using FPGA. The calculated and experimental data on the evaluation of the proposed techniques of image processing using high-performance FPGA compared with existing methods of processing on personal computers.
Belgorod State National Research University, Belgorod e-mail: zalivin@bsu.edu.ru
Keywords: FPGA with information processing, architecture FPGA type FPGA, the results of efficiency of information processing, image processing.
2) Institute VK, Moscow, e-mail: i.zuev@mchs.gov.ru