Научная статья на тему 'ПОВЫШЕНИЕ РЕАЛЬНОЙ ПРОИЗВОДИТЕЛЬНОСТИ РВС ПРИ РЕШЕНИИ ЗАДАЧ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ'

ПОВЫШЕНИЕ РЕАЛЬНОЙ ПРОИЗВОДИТЕЛЬНОСТИ РВС ПРИ РЕШЕНИИ ЗАДАЧ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ Текст научной статьи по специальности «Компьютерные и информационные науки»

CC BY
105
24
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
ЦИФРОВАЯ ОБРАБОТКА СИГНАЛОВ / ЦИФРОВАЯ ОБРАБОТКА ИЗОБРАЖЕНИЙ / БЫСТРОЕ ПРЕОБРАЗОВАНИЕ ФУРЬЕ / РЕКОНФИГУРИРУЕМЫЕ ВЫЧИСЛИТЕЛЬНЫЕ СИСТЕМЫ / ФИКСИРОВАННАЯ ЗАПЯТАЯ / МАСШТАБИРОВАНИЕ РАЗРЯДНОСТИ

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

Рассматриваются вопросы цифровой обработки изображений больших размерностей в реальном масштабе времени с помощью реконфигурируемых вычислительных систем (РВС) на базе ПЛИС. РВС относятся к классу высокопроизводительных многопроцессорных вычислительных систем, но при этом обладают программируемой архитектурой, позволяющей конфигурировать структуру вычислительной системы, оптимально подстраивая её под алгоритмы решаемой задачи. В то же время оптимизация вычислительной структуры задачи сводится к разработке и реализации параллельных алгоритмов, соответствующих специфике используемой архитектуры РВС. Всё это позволяет эффективно использовать РВС для решения широкого класса задач цифровой обработки сигналов. Предложены способы повышения удельной и реальной производительности РВС при решении задач цифровой обработки изображений с использованием быстрого преобразования Фурье (БПФ). На примере процедуры фильтрации изображений в частотной области рассмотрены основные вычислительные этапы и способы их оптимизации, основанные на свойствах алгоритма БПФ. Применение оптимизации позволяет существенно сократить как объем вычислений, так и объем задействованных аппаратных ресурсов ПЛИС, и повысить производительность РВС для задач обработки изображений. Освобожденные в результате оптимизации вычислительной структуры ресурсы ПЛИС могут быть использованы для дополнительного распараллеливания вычислений и ускорения обработки поступающих данных. Показаны преимущества представления данных в формате с фиксированной запятой при выполнении расчётов на РВС. Использование фиксированной запятой позволяет не только повысить удельную и реальную производительность вычислительной системы по сравнению с плавающей запятой в силу свойств формата, но и использовать произвольную разрядность данных, что является актуальным для большинства задач цифровой обработки сигналов. Рассмотрено решение проблемы переполнения разрядной сетки при использовании формата с фиксированной запятой с помощью масштабирования разрядности данных.

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

Похожие темы научных работ по компьютерным и информационным наукам , автор научной работы — Чкан Андрей Викторович

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

IMPROVING REAL PERFORMANCE OF RCS WHEN SOLVING DIGITAL IMAGE PROCESSING TASKS USING FAST FOURIER TRANSFORM

The article discusses the issues of digital processing of images of large dimensions in real time using reconfigurable computer systems (RCS) on the base of programmable logic arrays (FPGAs). RCS belongs to the class of high-performance multiprocessor computing systems that have a programmable architecture that allows configuring the structure of a computer system and optimally adjusting it to the algorithms of the solved task. At the same time, optimization of the computational structure of the task reduced to the development and implementation of parallel algorithms corresponding to the specifics of the RCS architecture used. All this allows to effectively using RCS to solve a wide class of digital signal processing tasks. Offered are methods of increasing specific and real performance of RCS when solving digital image processing problems using fast Fourier transform (FFT). Using the example of a procedure for filtering images in the frequency domain, the main computational steps and methods for optimizing them based on the properties of the FFT algorithm are discussed. The use of optimization allows to significantly reducing both the amount of computation and the amount of hardware resources of the FPGA and increase the performance of RCS for image processing tasks. The FPGA resources freed because of the optimization of the computational structure can be uses to further parallelize calculations and accelerate the processing of incoming data. The advantages of presenting data in fixed-point format when performing calculations on RCS are showed. The use of a fixed point allows not only to increase the specific and real performance of a computer system compared to a floating point due to the properties of the format, but also to use arbitrary data bit capacity, which is relevant for most digital signal processing tasks. The solution to the problem of overflow of the bit grid when using the fixed-point format using data bit scaling is discussed.

Текст научной работы на тему «ПОВЫШЕНИЕ РЕАЛЬНОЙ ПРОИЗВОДИТЕЛЬНОСТИ РВС ПРИ РЕШЕНИИ ЗАДАЧ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ»

УДК 004.021 DOI 10.18522/2311-3103-2020-7-152-163

А.В. Чкан

ПОВЫШЕНИЕ РЕАЛЬНОЙ ПРОИЗВОДИТЕЛЬНОСТИ РВС ПРИ РЕШЕНИИ ЗАДАЧ ЦИФРОВОЙ ОБРАБОТКИ ИЗОБРАЖЕНИЙ С ИСПОЛЬЗОВАНИЕМ БЫСТРОГО ПРЕОБРАЗОВАНИЯ ФУРЬЕ

Рассматриваются вопросы цифровой обработки изображений больших размерностей в реальном масштабе времени с помощью реконфигурируемых вычислительных систем (РВС) на базе ПЛИС. РВС относятся к классу высокопроизводительных многопроцессорных вычислительных систем, но при этом обладают программируемой архитектурой, позволяющей конфигурировать структуру вычислительной системы, оптимально подстраивая её под алгоритмы решаемой задачи. В то же время оптимизация вычислительной структуры задачи сводится к разработке и реализации параллельных алгоритмов, соответствующих специфике используемой архитектуры РВС. Всё это позволяет эффективно использовать РВС для решения широкого класса задач цифровой обработки сигналов. Предложены способы повышения удельной и реальной производительности РВС при решении задач цифровой обработки изображений с использованием быстрого преобразования Фурье (БПФ). На примере процедуры фильтрации изображений в частотной области рассмотрены основные вычислительные этапы и способы их оптимизации, основанные на свойствах алгоритма БПФ. Применение оптимизации позволяет существенно сократить как объем вычислений, так и объем задействованных аппаратных ресурсов ПЛИС, и повысить производительность РВС для задач обработки изображений. Освобожденные в результате оптимизации вычислительной структуры ресурсы ПЛИС могут быть использованы для дополнительного распараллеливания вычислений и ускорения обработки поступающих данных. Показаны преимущества представления данных в формате с фиксированной запятой при выполнении расчётов на РВС. Использование фиксированной запятой позволяет не только повысить удельную и реальную производительность вычислительной системы по сравнению с плавающей запятой в силу свойств формата, но и использовать произвольную разрядность данных, что является актуальным для большинства задач цифровой обработки сигналов. Рассмотрено решение проблемы переполнения разрядной сетки при использовании формата с фиксированной запятой с помощью масштабирования разрядности данных.

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

A.V. Chkan

IMPROVING REAL PERFORMANCE OF RCS WHEN SOLVING DIGITAL IMAGE PROCESSING TASKS USING FAST FOURIER TRANSFORM

The article discusses the issues of digital processing of images of large dimensions in real time using reconfigurable computer systems (RCS) on the base of programmable logic arrays (FPGAs). RCS belongs to the class of high-performance multiprocessor computing systems that have a programmable architecture that allows configuring the structure of a computer system and optimally adjusting it to the algorithms of the solved task. At the same time, optimization of the computational structure of the task reduced to the development and implementation of parallel algorithms corresponding to the specifics of the RCS architecture used. All this allows to effectively using RCS to solve a wide class of digital signal processing tasks. Offered are methods of increasing specific and real performance of RCS when solving digital image processing problems using fast Fourier transform (FFT). Using the example of a procedure for filtering images in the frequency domain, the main computational steps and methods for optimizing them based on the properties of the FFT algorithm are discussed. The use of optimization allows to significantly reducing both the amount of computation and the amount of hardware resources of the FPGA and

increase the performance of RCS for image processing tasks. The FPGA resources freed because of the optimization of the computational structure can be uses to further parallelize calculations and accelerate the processing of incoming data. The advantages ofpresenting data in fixed-point format when performing calculations on RCS are showed. The use of a fixed point allows not only to increase the specific and real performance of a computer system compared to a floating point due to the properties of the format, but also to use arbitrary data bit capacity, which is relevant for most digital signal processing tasks. The solution to the problem of overflow of the bit grid when using the fixed-point format using data bit scaling is discussed.

Digital signal processing; digital image processing; fast Fourier transform; reconfigurable computing systems; fixed point; bit scaling.

Введение. Цифровая обработка изображений больших размерностей в реальном масштабе времени является актуальной современной задачей [1-5], решение которой зачастую становится невозможным без высокопроизводительных многопроцессорных вычислительных систем [6-8]. Одними из активно развивающихся и перспективных направлений в области разработки МВС являются реконфигури-руемые вычислительные системы (РВС) на базе ПЛИС [6, 7, 9]. Программируемая архитектура РВС даёт возможность конфигурировать собственную структуру, подстраивая её под алгоритмы решаемой задачи. При этом вычислительная структура самой задачи оптимизируется с точки зрения максимального распараллеливания информационных потоков в соответствии с особенностями используемой архитектуры РВС [10, 11]. Такой подход позволяет эффективно использовать РВС для построения высокопроизводительных систем цифровой обработки сигналов и изображений. Повышение производительности РВС, в свою очередь, зависит не только от технологических и архитектурных подходов построения системы, но и от математической оптимизации алгоритмической базы, используемой для решения поставленной задачи [6, 7].

Цифровая обработка изображений нередко связана с использованием дискретного преобразования Фурье (ДПФ) [1-5]. Использование свойств ДПФ применительно к обработке изображений позволяет существенно сократить объём вычислений и повысить реальную производительность вычислительных систем.

Другим важным аспектом, влияющим на производительность вычислительных систем, является выбор формата представления данных: с плавающей запятой или с фиксированной запятой [12-15]. Известно, что основными достоинствами использования формата с фиксированной запятой являются простота аппаратной реализации арифметических операций [13] и, как следствие, значительное уменьшение задействованного аппаратного ресурса ПЛИС в сравнении с использованием формата с плавающей запятой при реализации одной и той же вычислительной задачи. При этом удельная [16] и реальная производительности вычислительных систем на базе с фиксированной запятой существенно повышается, что связано как с более быстрым выполнением арифметических операций в формате с ФЗ, так и с возможностью размещения на сэкономленном аппаратном ресурсе ПЛИС дополнительных вычислительных структур. Ещё одним положительным моментом представления данных в формате с фиксированной запятой является возможность оперировать с данными произвольной разрядности на каждом из вычислительных этапов, что также приводит к экономии аппаратных ресурсов за счёт гибкой настройки системы по разрядностям входов и выходов.

Основными недостатками устройств на базе с фиксированной запятой являются [12, 15]:

♦ ограниченный динамический диапазон представления чисел;

♦ необходимость контроля промежуточных результатов арифметических операций на предмет возможных переполнений разрядной сетки;

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

Поэтому использование формата с фиксированной запятой требует решения следующих задач:

♦ исключения ошибок переполнения разрядной сетки в процессе выполнения арифметических операций;

♦ снижения погрешности вычислений за счёт минимизации потерь значащих разрядов при округлении/усечении промежуточных результатов арифметических операций.

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

Таким образом, основными способами повышения удельной и реальной производительности РВС при обработке изображений с помощью ДПФ являются:

♦ оптимизация вычислений на основе свойств ДПФ;

♦ представление данных в формате с фиксированной запятой.

Рассмотрим данные способы более подробно.

Оптимизация вычислений в задачах цифровой обработки изображений при использовании ДПФ. Покажем оптимизацию вычислений в задачах цифровой обработки изображений с использованием ДПФ на примере одной из распространённых и вычислительно трудоемких процедур - фильтрации изображений в частотной области [1-2, 17]. Данная процедура предназначена для улучшения, восстановления или изменения изображения в соответствии с поставленной целью и включает в себя следующие вычислительные этапы:

♦ расчёт спектра входного изображения ^ (х.у) с помощью прямого двумерного ДПФ;

♦ умножение полученного спектра /' (//. у) входного изображения на коэффициенты частотного фильтра Й(и,уу,

♦ расчёт обратного двумерного ДПФ /" (х у) для полученных произведений Ё(и,у)-Н(и,у) ■

Двумерный сигнал описывается двумерным рядом Фурье [1, 12, 13, 18]:

где /('х,у) - двумерное изображение; х = [О,..., М - 1] и у = [О,..., N - 1] - пространственные координаты; и = [0,..., М - 1] и V = [0,..., N - 1] - частотные координаты изображения.

ДПФ для такого сигнала имеет вид:

рм +Щ (2)

Обратное двумерное ДПФ определяется формулой (1).

Расчёт ДПФ для двумерного сигнала по формулам (1) и (2) осуществляется с помощью алгоритмов быстрого преобразования Фурье (БПФ) [19-21] сначала по строкам, а затем по столбцам двумерной матрицы изображений. На практике ре-

комендуется работать с квадратными изображениями, размер стороны которых равен степени двойки [1-2]. Для этого матрица изображения, в случае необходимости, дополняется достаточным количеством нулей. Далее, без нарушения общности, будут рассматриваться квадратные матрицы изображений.

Из формулы (2) видно, что для получения спектра изображения размером N x N потребуется расчёт 2^ алгоритмов БПФ. Реализация всей процедуры фильтрации изображений в частотной области потребует 4^ выполнений алгоритма БПФ (прямого и обратного БПФ).

Однако количество выполнений алгоритма БПФ при реализации процедуры фильтрации изображений можно существенно сократить, если учитывать тот факт, что все исходные данные (строки или столбцы матрицы изображения) представляют собой действительные последовательности, для которых справедливо свойство симметрии ДПФ [12, 13]

Яе[X(к)] = Яе[X(Ы - к)],

1т[X(к)] = - 1т[X(N - к)].

Это свойство имеет важное практическое приложение для повышения вычислительной производительности в том случае, когда необходимо получить ДПФ нескольких действительных последовательностей одинаковой длины. Так, сгруппировав эти последовательности в пары, можно в одной процедуре ДПФ получить ДПФ двух последовательностей сразу. Рассмотрим применение этого свойства на примере двух действительных периодических последовательностей х1 (п) и х2 (п)

с периодом N, п = 0, 1, ..., N - 1. Сформируем комплексную последовательность z(n) следующим образом:

2(п) = х1(п) + j • х2(п).

Выполним процедуру ДПФ от последовательности z(n):

N-1

2 (к) = X [ Х1(п) + j • *2(п)]-Кк, к = 0..Ы -1.

п=0

На основании свойства линейности получим:

2 (к) = Х1(к) + j • X2 (к), где X1 (к) и X2(к) - спектры действительных последовательностей х(п) и х2(п). Тогда для к = 1,...,(N/2-1):

^(к) = 1 ^(к) + 2 (N - к)],

X2 (к) = -j • 1 \2(к) - 2 (N - к)].

Поскольку действительные части X1 (к) и X2 (к) симметричны, а мнимые -

антисимметричны, то их можно разделить, используя операции сложения и вычитания

Яе^к)] = 1 (Яе[2(к)] + Яе[2(N - к)]), Im[X1 (к)] = 1 (1т[2(к)] - 1т[2(N - к)]),

Re[X2 (к)] = 1 (1т[2(к)] + Ьп[2^ - к)]),

1т[X2(к)] = -1 (Яе[2(к)] - Яе[2(N - к)]).

Для нулевой (п = 0) и центральной (п = N / 2) точек:

Яе[^(0)] = Яе[2(0)]; Im[X1(0)] = 0;

Яе[ X 2(0)] = 1т[2 (0)]; Im[X2(0)] = 0;

Яе^ (N / 2)] = Яе[2^ / 2)]; Im[X1 ^ /2)] = 0; Яе[ X2( N / 2)] = Ьп[2 (N / 2)]; Im[X2 (N /2)] = 0.

Вторую половину спектров X1(k) и X2(к) для к = (N12 +1),...,(N -1) можно получить по формулам

^(к) = X* (N - к); X2(k) = X* (N - к),

где X1 и X2 - комплексно-сопряженные значения спектров X1 и X2.

Вычисление двумерного ДПФ по строкам матрицы входного изображения с помощью описанной выше процедуры позволит сократить количество операций сложения и умножения на данном этапе более чем на 48% для N > 128 [12]. При этом число расчётов алгоритма БПФ для строк сократится вдвое и составит N/2.

Следующим этапом обработки является расчёт двумерного ДПФ по столбцам матрицы изображения, где рассчитываемые данные будут представлены уже в комплексном виде.

В силу симметричности получаемых данных реальной части и антисимметричности мнимой расчёт алгоритма БПФ нужно выполнить только для (N/2+1) столбцов матрицы изображения. Остальные (N/2-1) столбцов, с (N/2+1) по N-1, будут являться расположенной в обратном порядке перевёрнутой копией столбцов с N/2-1 по 1-й и могут быть получены по формулам

X(0, N - к) = X* (0, к), к = [1: {М/2 -1)]; X (N - п, N - к) = X* (п, к), п = [1: (И -1)], к = [1: (И/2-1)].

В результате общее число выполнений алгоритма БПФ для расчёта спектра входного изображения составит: ^ + Ы)/2 + 1 = N + 1, что практически в два раза меньше прямого подхода.

Выполнение обратного двумерного БПФ, осуществляемого после умножения полученного спектра изображения на действительные коэффициенты частотного фильтра, тоже может быть оптимизировано на этапе работы алгоритма обратного БПФ для строк изображения. В силу симметричности получаемых при проходе по строкам данных реальной части и антисимметричности мнимой расчёт алгоритма обратного БПФ нужно выполнить только для (N/2+1) строк матрицы изображения. Остальные (N/2-1) строк будут являться точной копией строк со 1-й по N/2-1, расположенных в обратном порядке (с N-1 по N/2 + 1) и могут быть получены по формулам

х^ - п, к) = х* (п, к), п = [1: ^/2-1)], к = [0: (И -1)], где х* - комплексно-сопряженные значения получаемого изображения х.

Выполнение обратного БПФ для столбцов матрицы изображения приводит к получению отфильтрованного по частоте исходного изображения и симметричностью данных не обладает. Поэтому на этом этапе потребуется N вычислений алгоритма обратного БПФ.

Таким образом, общее число расчётов алгоритма БПФ для процедуры фильтрации изображений в частотной области составит

N + 1+ N / 2 + 1 + N = 2.5^ + 2

вместо 4^ при прямом подходе, что позволит повысить производительность РВС примерно в 1.6 раза для данной процедуры.

Ещё одной возможностью оптимизации БПФ является упрощение базовых операций первой (для БПФ с прореживанием по времени [12, 13]) или последней (для БПФ с прореживанием по частоте [12, 13]) итерации БПФ в связи с тем, что комплексные поворачивающие множители Щ для каждой базовой операции данных

итераций БПФ представляют собой единицы в реальной части и нули в мнимой.

Так, общая формула для базовой операции БПФ с прореживанием по времени определяется формулами

ВМ = А,-ВГЩ. Или для реальных (Яе) и мнимых (1т) частей

Яе[Д+1] =Яе[Д] + Яе[Д] - 1ш[Д] •

1т[4+1 ] = 1т[Д. ] + Яе[Д.] • 1т[й^] + 1т[Д.] • Яе[щ], Яе[Д+1] =Яе[Д.] -Яе[Д] + 1т[Д] •

1т[Д+1] = 1т[4] -Яе[Д] -1т[Д]

(3)

где щ _ ехр| |, ¡_ I е / 2 -1], - комплексные поворачивающие множи-

' " " N

тели. Таким образом, базовая операция включает в себя 8 операций умножений, 4 операции сложения и 4 операции вычитания.

После оптимизации для первой итерации БПФ с прореживанием по времени ПРИ Ке[|Г,] = 1 и 1т[и';] = 0 формулы (3) примут вид:

Ке[4+1] = Ке[4.] + Ке[Д],

1т[Д+1] = 1т[4] + 1т[Д], (4)

Ке[Д+1] = Ке[4]-Ке[Д], 1т[Д+1] = 1т[4]-1т[Д],

что составит всего 2 операции сложения и 2 операции вычитания для каждой из N/2 базовых операций. Общее сокращение вычислительных операций составит 8^ / 2 = операций умножения, / 2 = 2^ операций сложения/вычитания.

Для алгоритма БПФ с прореживанием по частоте формулы базовой операции имеют вид:

4+1=4+4= К 1 = (4-Д)-^г

Или для реальных (Re) и мнимых (Im) частей:

Ке [Д+1 ] = Яе [Д. ] + Яе [ Д. ],

1т[Д+1] = 1т[Д] + 1т[Д]; (5)

Яе[Д+1] = (Яе[Д] - Яе[Д.]) • Яе[^;] - (1т[Д ] - 1т[Д]) • Ьп[^], 1т[Д+1] = (Яе[Д ] -Яе[Д]) • ] + (1т[Д ] - 1т[Д.]) • Яе[^;].

Такая базовая операция включает в себя 4 операции умножения, 3 операции сложения и 5 операций вычитания.

После оптимизации для последней итерации БПФ с прореживанием по частоте при Яс^Щ^ = 1 и =0 формулы (5) примут вид формул (4), что сократит

количество вычислительных операций: на 2^ операций умножения и на 2^ операций сложения/вычитания.

Как видно из полученных формул, такая оптимизация также вносит свой вклад в рост общей производительности при выполнении алгоритма БПФ.

Использование формата с фиксированной запятой для представления информации. В работе [22] были представлены методы создания параллельно -конвейерных программ для алгоритмов быстрого преобразования Фурье (БПФ) при реализации их на реконфигурируемых вычислительных системах (РВС) с использованием данных в формате с фиксированной запятой. Применение методов позволяет значительно сокращать аппаратные затраты ПЛИС и повышать удельную производительность РВС при решении различных задач цифровой обработки сигналов.

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

Первый метод основан на априорном поиске итераций БПФ, требующих масштабирования результатов арифметических операций, с целью исключения возможных переполнений разрядной сетки. В методе применяется управляемое масштабирование (битовый сдвиг), с помощью которого разрядности данных на выходах базовых операций БПФ всегда преобразуются к разрядностям входов, что снижает задействованные аппаратные ресурсы ПЛИС и значительно повышает удельную производительность РВС [23]. Использование метода сокращает число необоснованных операций масштабирования и связанных с ними погрешностей вычислений, однако не всегда обеспечивает требуемую точность в задачах с большим числом входных отсчётов.

Второй метод программной реализации БПФ отличается поэтапным увеличением разрядности представления результатов базовых операций на один бит на каждой ступени вычислительного конвейера. Значения, получаемые на выходе последней ступени конвейера, масштабируются с целью приведения текущей разрядности данных к разрядности входов первой ступени для расчёта последующих итераций БПФ на одной и той же вычислительной структуре. Метод позволяет повысить точность получаемых решений за счёт использования вычислительных блоков ПЛИС увеличенной разрядности, однако требует дополнительных аппаратных затрат в сравнении с методом априорного поиска.

Появление новых методов реализации алгоритмов быстрого преобразования Фурье на РВС позволило разработать методику создания структурно-процедурных алгоритмов и параллельно-конвейерных программ для решения задач цифровой обработки сигналов и изображений, использующих БПФ для данных с фиксированной запятой, которая включает следующие этапы:

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

2) расстановка базовых функциональных элементов алгоритма;

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

♦ управляемое масштабирование результата текущей операции;

♦ поэтапное увеличение разрядности для представления результата текущей операции;

♦ комбинированный вариант масштабируемой разрядности;

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

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

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

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

На третьем этапе в зависимости от требований, предъявляемых к точности получаемых решений, выбирается тип масштабируемой разрядности, который будет применяться для результатов вычислений в конвейерных вычислительных блоках. Сначала с помощью программного моделирования проверяется, обеспечивает ли использование управляемого масштабирования заданную точность вычислений. Если точность вычислений удовлетворяет заданной, то для реализации на РВС выбирается алгоритм с данным типом масштабируемой разрядности, как обеспечивающий более высокую удельную производительность. Если управляемое масштабирование не позволяет обеспечить заданную точность, то рассматривается комбинированный вариант масштабируемой разрядности, использующий как управляемое масштабирование, так и поэтапное увеличение разрядности.

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

На рис. 1 в качестве примера приведены две конвейерные функции FM и FyР, реализующие соответствующий тип масштабируемой разрядности. Функции выполняют операцию суммирования двух ¿-разрядных чисел. Конвейерная функция FM (рис. 1,а) осуществляет приведение (Ь+1)-разрядного результата суммирования к ¿-разрядному значению с помощью блока управляемого масштабирования М, который в зависимости от подаваемого на него управляющего сигнала кт выбирает Ь разрядов числа, либо со старшего (масштабирование с отбрасыванием младшего значащего разряда), либо со следующего за старшим (без масштабирования). Конвейерная функция FУР (рис. 1,б) осуществляет увеличение разрядности для результата суммирования, сохраняя все (Ь+1) значащих разряда.

к

m

b

b

-h

b

-h

+-b

Функция FM

b | Функция F-yp

а

б

Рис. 1. Конвейерные функции: а - с управляемым масштабированием; б - с увеличением разрядности

На четвёртом этапе для выбранного варианта масштабируемой разрядности разрабатывается унифицированная вычислительная структура, подразумевающая возможность реализации алгоритма или подобных алгоритмов на заданном ограниченном числе ступеней вычислительного конвейера. К подобным алгоритмам можно отнести прямой и обратный БПФ, прямой и обратный двумерный БПФ (для обработки двумерных сигналов и изображений) и т.п. Если структура будет не-унифицированной, то для реализации на одной вычислительной структуре подобных алгоритмов, выполняемых друг за другом, потребуется реконфигурирование ПЛИС, что является крайне нежелательным. Ввиду того что реализация алгоритма с масштабируемой разрядностью уже обладает унифицированной вычислительной структурой (разрядности данных на входах и выходах функциональных блоков совпадают), обеспечение унификации необходимо только для реализаций алгоритмов с поэтапным увеличением разрядности и с комбинированным вариантом масштабируемой разрядности. Для этого разрядности данных на выходах последней ступени вычислительного конвейера должны быть приведены к разрядности входов первой ступени конвейера, что достигается применением операции масштабирования. Представленный подход позволяет реализовать на одной и той же вычислительной структуре с заданным ограниченным числом ступеней конвейера расчёт всего алгоритма, а также подобных алгоритмов.

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

Заключение. Достоинствами предложенного подхода цифровой обработки изображений на РВС с использованием алгоритмов БПФ являются:

♦ значительное сокращение числа арифметических операций и увеличение удельной и реальной производительности реконфигурируемых вычислительных систем;

♦ возможность проектирования подстраиваемой вычислительной структуры алгоритма под имеющийся аппаратный ресурс;

♦ высокая точность получаемых решений для данных с фиксированной запятой.

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

БИБЛИОГРAФИЧЕСКИЙ СПИСОК

1. GonzalezR.C., WoodsR.E. Digital Image Processing. - 4th ed., Pearson, 2GiS.

2. GonzalezR.C., Woods,R.E., andEddins S.L. Digital Image Processing Using MATLAB. - 3rd ed., Gatesmark Publishing, Knoxville, TN, 2GG9.

3. Castleman K.R. Digital Image Processing, Pearson Education, 2GG7.

4. Jain A.K. Fundamentals of Digital Image Processing, Prentice Hall, i989.

5. Методы компьютерной обработки изображений / под ред. B.A. Сойфера. - 2-е изд. испр.

- М.: Физматлит, 2003. - 784 с.

6. Каляев И.А., Левин И.И., Семерников Е.А., Шмойлов В.И. Реконфигуриуемые мультиконвейерные вычислительные структуры / под общ. ред. KA. Каляева. - 2-е изд., перераб. и доп. - Ростов-на-Дону: ЮНЦ РAH, 2009. - 344 с.

7. Гузик В.Ф., Каляев И.А., Левин И.И. Реконфигурируемые вычислительные системы: учеб. пособие / под общ. ред. ИА. Каляева. - Таганрог: ЮФУ, 2016. - 472 с.

S. Воеводин В.В., Воеводин Вл.В. Параллельные вычисления: учеб. пособие. - СПб.: БХB-

Петербург, 2004. - 608 с. 9. Зотов В.Ю. Проектирование встраиваемых микропроцессорных систем на основе

ПЛИС фирмы Xilinx. - М.: Горячая линия - Телеком, 2006. - 520 с. iG. Артамонов Д.С., Путря М.Г. Метод оптимизации вычислительного процесса на реконфигурируемых вычислительных средах // Информационные технологии и вычислительные системы. - М.: ^A РAH, 2010. - № 3. - С. 19-2б.

11. Дордопуло А.И., Левин И.И. Программное обеспечение для решения вычислительно-трудоёмких задач на реконфигурируемых вычислительных системах // Матер. 2-ой Международной научной конференции «Суперкомпьютерные системы и их применение» (SSA'2GGS). - Минск: ОИПИ HAH Беларуси, 2008. - С. 50-54.

12. Лайонс Р. Цифровая обработка сигналов: пер с англ. / под ред. A.A. Бритова. - 2 изд.

- М.: Бином-Пресс, 2006. - 656 с.

13. Сергиенко А.Б. Цифровая обработка сигналов: учеб. пособие. - 3-е изд. - СПб.: БХB-Петербург, 2011. - 768 с.

14. Орлов С.А., Цилькер Б.Я. Организация ЭBM и систем: учебник для вузов. - 2-е изд.

- СПб.: Питер, 2011. - 688 с.

15. Солонина А.И., Улахович Д.А., Яковлев Л.А. Aлгоритмы и процессоры цифровой обработки сигналов. - СПб.: БХB - Петербург, 2002. - 464 с.

16. Бовкун А.В. Aвтоматизированные методы повышения удельной производительности прикладных задач для реконфигурируемых вычислительных систем // Известия ЮФУ. Технические науки. - 2G12. - № 4. - С. 204-21G.

17. Фисенко В.Т., Фисенко Т.Ю. Компьютерная обработка и распознавание изображений: учеб. пособие. - СПб.: СПбГУ ИТМО, 2008. - 192 с.

18. Грузман И.С. и др. Цифровая обработка изображений в информационных системах: учебное пособие. - Новосибисрк: Изд-во НГТУ, 2000. - 168 с.

19. Блейхут Р. Быстрые алгоритмы цифровой обработки сигналов: пер. с англ. - М.: Мир, 1989. - 448 с.

2G. Айфичер Э.С., Джервис Б.У. Цифровая обработка сигналов: практический подход: пер. с англ. - 2-е изд. - М.: Bильямс, 2008. - 992 с.

21. Oppenheim Alan V., Ronald W. Schafer, John R. Buck Discrete Time Signal Processing. - 2nd ed. - Prentice Hall, 1998.

22. Чкан А.В., Михайлов Д.В. Применение масштабируемой разрядности данных при программной реализации быстрого преобразования Фурье на реконфигурируемых вычислительных системах // Bестник компьютерных и информационных технологий. - 2G18.

- № 1 (1б3). - С. 44-5G.

23. Ершова О.В., Кириченко Е.В., Семерников Е.А., Чкан, А.В. Масштабирование данных с фиксированной точкой в процедуре быстрой свертки // Радиотехника. - 2G15. - № 4.

- С. 66-72.

REFERENCES

1. Gonzalez R. C., Woods R.E. Digital Image Processing. 4th ed., Pearson, 2018.

2. Gonzalez R.C., Woods,R.E., and Eddins S.L. Digital Image Processing Using MATLAB. 3rd ed., Gatesmark Publishing, Knoxville, TN, 2009.

3. Castleman K.R. Digital Image Processing, Pearson Education, 2007.

4. Jain A.K. Fundamentals of Digital Image Processing, Prentice Hall, 1989.

5. Metody komp'yuternoy obrabotki izobrazheniy [Methods of computer image processing], ed. by V.A. Soyfera. 2-e izd. Moscow: Fizmatlit, 2003, 784 p.

6. Kalyaev I.A., Levin I.I., Semernikov E.A., Shmoylov V.I. Rekonfiguriuemye mul'tikonveyernye vychislitel'nye struktury [Reconfigurable multipipeline computing structures], under the general ed. I.A. Kalyaeva. 2-e ed. Rostov-on-Don: YuNTS RAN, 2009, 344 p.

7. Guzik V.F., Kalyaev I.A., Levin I.I. Rekonfiguriruemye vychislitel'nye sistemy: ucheb. posobie [Reconfigurable computing systems: tutorial], under the general. ed. I.A. Kalyaeva. Taganrog: YuFU, 2016, 472 p.

8. Voevodin V.V., Voevodin Vl.V. Parallel'nye vychisleniya: ucheb. posobie [Parallel calculations:: tutorial]. St. Petersburg: BKhV-Peterburg, 2004, 608 p.

9. Zotov V.Yu. Proektirovanie vstraivaemykh mikroprotsessornykh sistem na osnove PLIS firmy Xil-inx [Designing embedded microprocessor systems based on FPGAs of Xilinx]. Moscow: Goryachaya liniya - Telekom, 2006, 520 p.

10. Artamonov D.S., Putrya M.G. Metod optimizatsii vychislitel'nogo protsessa na rekonfiguriruemykh vychislitel'nykh sredakh [Method of optimizing the computing process on reconfigurable computing environments], Informatsionnye tekhnologii i vychislitel'nye sistemy [Information technologies and computing systems]. Moscow: ISA RAN, 2010, No. 3, pp. 19-26.

11. Dordopulo A.I., Levin I.I. Programmnoe obespechenie dlya resheniya vychislitel'no-trudoemkikh zadach na rekonfiguriruemykh vychislitel'nykh sistemakh [Software for solving computationally time-consuming problems on reconfigurable computing systems], Mater. 2-oy Mezhdunarodnoy nauchnoy konferentsii «Superkomp'yuternye sistemy i ikhprimenenie» (SSA'2008) [Materials of the 2nd International Scientific Conference "Supercomputer Systems and their Application" (SSA '2008)]. Minsk: OIPI NAN Belarusi, 2008, pp. 50-54.

12. Layons R. TSifrovaya obrabotka signalov [Digital Signal Processing]: transl. from engl., by ed. A.A. Britova. 2nd ed. Moscow: Binom-Press, 2006, 656 p.

13. Sergienko A.B. Tsifrovaya obrabotka signalov: ucheb. posobie [Digital signal processing: tutorial]. 3rd ed. St. Petersburg: BKhV-Peterburg, 2011, 768 p.

14. Orlov S.A., Tsil'kerB.Ya. Organizatsiya EVM i sistem: uchebnik dlya vuzov [Organization of computers and systems: tutorial for universities]. 2nd ed. St. Petersburg: Piter, 2011, 688 p.

15. Solonina A.I., Ulakhovich D.A., Yakovlev L.A. Algoritmy i protsessory tsifrovoy obrabotki signalov [Algorithms and processors of digital signal processing]. St. Petersburg: BKhV - Peterburg, 2002, 464 p.

16. Bovkun A.V. Avtomatizirovannye metody povysheniya udel'noy proizvoditel'nosti prikladnykh zadach dlya rekonfiguriruemykh vychislitel'nykh sistem [Automated methods for increasing the specific performance of applications for reconfigurable computing systems], Izvestiya YuFU. Tekhnicheskie nauki [Izvestiya SFedU. Engineering Sciences], 2012, No. 4, pp. 204-210.

17. Fisenko V.T., Fisenko T.Yu. Komp'yuternaya obrabotka i raspoznavanie izobrazheniy: ucheb. posobie [Computer processing and recognition of images: tutorial]. St. Petersburg: SPbGU ITMO, 2008, 192 p.

18. Gruzman I.S. i dr. TSifrovaya obrabotka izobrazheniy v informatsionnykh sistemakh: ucheb. posobie [Digital image processing in information systems: tutorial]. Novosibisrk: Izd-vo NGTU, 2000, 168 p.

19. Bleykhut R Bystrye algoritmy tsifrovoy obrabotki signalov [Fast digital signal processing algorithms]: transl. from engl. Moscow: Mir, 1989, 448 p.

20. AyficherE.S., DzhervisB.U. TSifrovaya obrabotka signalov: prakticheskiy podkhod [Digital signal processing: a practical approach]: transl. from engl. 2nd ed. Moscow: Vil'yams, 2008, 992 p.

21. Oppenheim Alan V., Ronald W. Schafer, John R. Buck Discrete Time Signal Processing. 2nd ed. Prentice Hall, 1998.

22. Chkan A.V., Mikhaylov D.V.Primenenie masshtabiruemoy razryadnosti dannykh pri programmnoy realizatsii bystrogo preobrazovaniya Fur'e na rekonfiguriruemykh vychislitel'nykh sistemakh [Application of scalable data bitness in software implementation of fast Fourier transformation on reconfigurable computing systems], Vestnik komp'yuternykh i informatsionnykh tekhnologiy [Herald of Computer and Information Technologies], 2018, No. 1 (163), pp. 44-50.

23. Ershova O.V., Kirichenko E.V., Semernikov E.A., Chkan, A.V. Masshtabirovanie dannykh s fiksirovannoy tochkoy v protsedure bystroy svertki [Scaling of fixed point data in the fast convolution procedure], Radiotekhnika [Radio engineering], 2015, No. 4, pp. 66-72.

Статью рекомендовал к опубликованию д.т.н. Э.В. Мельник.

Чкан Андрей Викторович - ООО "НИЦ супер-ЭВМ и нейрокомпьютеров"; e-mail: chkan_andrey@mail.ru; 347900, г. Таганрог, пер. Итальянский, 106; тел.: 88634368177; к.т.н.; научный сотрудник отдела ЦОС.

Chkan Andrey Victorovich - "Scientific research center of supercomputers and neurocomputers" CoLtd; e-mail: chkan_andrey@mail.ru; 106, Italyansky lane, Taganrog, 347900, Russia; phone: +78634368177; cand. of eng. sc.; research associate of department of Digital Signal Processing.

УДК 004.421 DOI 10.18522/2311-3103-2020-7-163-171

Н.И. Витиска, Н.А. Гуляев, В.В. Селянкин

ОПТИМИЗАЦИЯ ПРОЕКТИРОВАНИЯ МНОГОКАНАЛЬНОЙ СИСТЕМЫ С ИСПОЛЬЗОВАНИЕМ ЛОГИЧЕСКОГО СИНТЕЗА ДЛЯ ПОВЫШЕНИЯ КАЧЕСТВА ОБЪЕМНОЙ ВИЗУАЛИЗАЦИИ

Рассматривается задача оптимизации проектирования многоканальных систем, используемых для прямой объемной визуализациис целью повышения качества её результата. Объемная визуализация широко используется в современных системах компьютерной визуализации, моделирования, симуляции, технического зрения, при этом отличается необходимостью обработки больших объемов данных для возможности получения высокого качества результата. Задача оптимизации проектирования многоканальных систем для объемной визуализации рассматривается с точки зрения достижения необходимого качества синтезируемого изображения при минимальных затратах. В работе предлагается метод логического синтеза таких систем, позволяющего получить оптимальные соотношения качества -затрат в зависимости от требуемых параметров постановки задачи. Предлагаемый метод позволяет достигать качества, близкого к результатам полного перебора, но требующего значительно меньший объем вычислений. Для каждого канала системы определяется набор переменных, оптимизация которых обеспечит качество результата визуализации. На основе параметров оптимизации строится переключательная функция с помощью диаграммы Вейча. Данный подход осуществляется программным путём в каждом канале распределённой системы в реальном масштабе времени, что задаёт общую схему такой методики. В процессе выполнения работы проводились экспериментальные исследования зависимости точности решения и объема вычислений для прямой объемной визуализации в каждом канале распределённой системы. Разработана методика оптимального синтеза изображений при условии выравнивания качества воспроизведения в небольшой группе каналов распределённой системы.

Оптимизация; многоканальные системы; логический синтез; объемная визуализация качество визуализации; трассировка лучей.

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