Научная статья на тему 'Пилообразное преобразование в параллельной форме'

Пилообразное преобразование в параллельной форме Текст научной статьи по специальности «Математика»

CC BY
179
45
i Надоели баннеры? Вы всегда можете отключить рекламу.
Ключевые слова
АЛГОРИТМ / ПИЛООБРАЗНОЕ ПРЕОБРАЗОВАНИЕ / СХЕМА СТОУНА / ALGORITHM / SAW-TOOTH TRANSFORMATION / STONE SCHEME

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

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

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

Saw-tooth transformation in parallel form

In the article we offer two parallel algorithms of saw-tooth transformation for raster image processing. Each algorithm includes three stages: coefficient calculation, building a matrix, and performing saw-tooth transformation. Building parallel algorithms is based on natural parallelism employing the Stone scheme.

Текст научной работы на тему «Пилообразное преобразование в параллельной форме»

УДК 519.6: 681.3

Я.Е. Ромм, В.В. Забеглов

ПИЛООБРАЗНОЕ ПРЕОБРАЗОВАНИЕ В ПАРАЛЛЕЛЬНОЙ

ФОРМЕ

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

Исходные соотношения пилообразного преобразования. По определению пилообразное преобразование определяется в виде

) = 5 (Ы )• X N),

где БТ (ы) = [я(о)о(1)..£(Ы -1)] - вектор коэффициентов пилообразного преобразования; ХТ (Ы) = [X (Х ()...Х (ы -1)] - вектор входной последовательности, а 5 (Ы) - пилообразная матрица размером (Ы х N).

Матрица пилообразного преобразования N -го порядка формируется по рекуррентному правилу

SN =-

1 ! о ! «ы \ьы ! ! 1 ! о ! ! 1— ! о ! aN \ЬN !

1 0 | 1( N/2) - 2 1 о 11 (N/2) - 2

VI о Г 1 I !— ! о ьN ! aN ! ! о 1 1 Г | ! о | ЬN ! «^

о {1 (N/2) - 2 ! о | 1 (N/2) - 2

0

1 1 "

, 52 = 1 -1

N_________

0 | SN/2

Постоянные аы и Ьы находятся из рекуррентных соотношений:

«2=1,

ь 1

Ьы =

(1)

(2) (3)

, (4)

N = 2п, п = 1,2,... (5)

Относительно данного преобразования ставятся задачи повышения скорости и сокращения объема вычислений. Предлагается решение задачи быстродействия посредством преобразования схем цифровой обработки к параллельной форме. Параллельные алгоритмы рассматриваются на модели неветвящихся параллельных программ [3,6] без учета обмена.

Алгоритм включает в себя три этапа:

1) вычисление коэффициентов матрицы пилообразного преобразования;

^ + 4(«Ы/ 2)2

аЫ = 2ЬЫ«Ы/2 ,

X

2) построение матрицы пилообразного преобразования;

3) непосредственно само преобразование.

Алгоритм вычисления коэффициентов. Из рекуррентных соотношений

(3)-(6) получены следующие формулы [5]:

■)И-1

2

Ьп ~ ■

22п-2 -1

22п -1

(6)

_3(22(«-1)_ 1)’ ” V

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

Степени двойки в формулах (6) вычисляются с использованием схемы Стоуна. При помощи схемы Стоуна вычисление 2 для всех значений I, I = 1,2,...,2п можно выполнить на О(п) процессорах с временной сложностью О (log2 (п)).

Схема вычисления строится следующим образом. Сначала находятся все

двоичные степени А2 , I = 1,2,..., где 21 < 2п, А = 2,

А2° = А,...,^А2-1 ^ = А2 , I = 1,2,...,^(2п).

Пусть I имеет двоичное разложение

1о^2п) { 10

I = X а • 2 , а = •! , I = 1,2,...,2п . (7)

I=0 ^

Каждому такому I взаимно однозначно сопоставляется процессор с номером I. Процессоры, работая синхронно, параллельно найдут все степени двойки с показателем I из (7). При этом I -й процессор перемножает те и только те двоичные степени двойки, перед показателем 2г которой в (7) аг- =1. Отсюда временная сложность данной схемы

Т(п) = О(^2 (п)), п = ^2 N. (8)

Такое вычисление потребует количества процессоров Я = 2 х п = 2 log2 N.

Поскольку все коэффициенты получаются сразу, то временная сложность такого вычисления составит

Т (^2 N )= О(1). (9)

Учитывая (8) и (9), временная сложность алгоритма нахождения коэффициентов составит

Т (^2 N) = О(^2 (^2 N)).

Таким образом, имеет место

Лемма 1. Коэффициенты пилообразного преобразования aN и bN

N = 2п,п = 1,2,...) могут быть вычислены параллельно на ^2N процессорах с временной сложностью О((2 (^2 N)).

Процесс можно дополнительно ускорить следующим образом.

Все значения степени двойки 21, I = 1,2,...,2п априори заносятся в память

компьютера, где показатель степени двойки соответствует математическому адре-

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

Далее коэффициентам aк и bк с номером к , к = 1,2,...,n ставятся в соответствие процессоры с номерами к и к + n соответственно. Процессор с номером к обращается к ячейкам с номерами к —1 и 2(k -1), в которых хранятся значения степени двойки, необходимые для вычисления коэффициента ak , а процессор с номером к + n - к ячейкам с номерами 2к и 2(k — l) для вычисления коэффициента bk . Процессоры, работая синхронно и взаимно независимо, параллельно считывают из памяти все степени двойки за время 0(l), затем вычислят искомые коэффициенты, причем одновременно для всех матриц рассматриваемого преобразования.

Таким образом, имеет место

Лемма 2. Коэффициенты пилообразного преобразования а. и b.

(n = 2n,n = 1,2,...) могут быть найдены параллельно на log2 N процессорах с временной сложностью 0(1) путем считывания их хранимых значений из памяти.

Алгоритм построения матрицы преобразования. Для удобства представления обозначим в формуле (1) первую матрицу, стоящую в произведении, через Р. , тогда (1) примет вид (10)

SN/2 ! 0

1 0 SN/ 2

(10)

Рекуррентная формула (10) раскрывается в соотношение (11) в виде log2 N произведений матриц

SN = 1 4n Pn • PN/ 2 0 1 2 0N х • • •

Р4 0 0 0 0 ~S2 0 0 0 0

0 Р4 0 0 0 0 S2 0 0 0

0 0 0 0 0 0 0 0

0 0 0 P4 0 0 0 0 S2 0

0 0 0 0 P4 _ 0 0 0 0 S2

(11)

Если не учитывать диагональную структуру матриц, стоящих в (11), то можно воспользоваться естественным параллелизмом матриц и вычислить произведение с помощью схемы сдваивания с временной сложностью

3 log 2 N'

T\ N

2

= 0(log2 (log2 N) • log2 N).

(12)

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

х

ских операций, так как единичная клетка с точностью до знака совпадает с единичной матрицей.

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

Суммарное число произведений клеток во всех парах с каждым шагом изменяется следующим образом:

8_ ^2 N 82_ ^2 N 84_ ^2 N ' 2 ’ ' 22 ’ ' 23 ’

3

82log 2(log 2 N )-1 _ ^2 N _ N2

На последнем шаге умножается наибольшее число клеток N2 .

Таким образом, матрица пилообразного преобразования строится с временной сложностью

( П

2

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

т

N

V

= ^(^(іов 2 N)).

Имеет место

Лемма 3. Матрицу пилообразного преобразования, размерностью N х N \м _2п,п _ 1,2,...), можно вычислить на N32 процессорах с временной сложностью 0(2^2 N)).

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

Т(^2)_ 0(^2 N).

Таким образом, имеет место

Лемма 4. Пилообразное преобразование, ограниченное N \м _ 2п,п _ 1,2,...) членами, может быть вычислено на N2 процессорах с временной сложностью 0(^2 N).

В итоге, имеет место

Теорема 1. Полное пилообразное преобразование (включает в себя: вычисление коэффициентов, построение матрицы преобразования, преобразование), ограниченное N {м _ 2п,п _ 1,2,...) членами, можно вычислить на N2 процессорах с временной сложностью порядка ^2 N + ^2(^2 N )+1 или

ТN2)_ 0(^2 N).

Замечание 1. Следует отметить, что для других дискретных ортогональных преобразований аналогичных формул нет, т.е. нет формул, с помощью которых можно непосредственно вычислять коэффициенты матрицы преобразования, например для дискретного преобразования Фурье. Формулы (6) представлены суперпозицией функций, которая содержит функции у(х) = л/х , у(х) = 1/х . Вычисление этих функций требует дополнительных временных затрат.

Замечание 2. Если степени двойки априори вычислены и хранятся в памяти, то согласно лемме 2 коэффициенты матрицы преобразования вычисляются с временной сложностью 0(1). Однако данная минимизация временной сложности вычисления коэффициентов не влияет на асимптотическую оценку временной сложности всего алгоритма в целом.

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

сп = аП , 4п = 1 + 4сп , Чп = 4п4п—1, 40 = 1 41 = 5 приводится к виду

Чп =54п-1-44п-2, 40 =1, 41= 5 . (13)

Рекуррентность (13) можно записать в матричной форме

(14)

Чп "5 — 4" Чп—1

_Чп—1_ 1 0 1 п 1 2 1

(14) через начальные условия в виде

Чп "5 — 4" п—1 "5"

_Чп—1_ 1 0 1

При помощи схемы Стоуна вычисление

5 -4 1 0

для всех значений і,

I = 1,2,...,п — 1 можно выполнить на 0(п — 1) процессорах с временной сложностью °(1о§2(п —1)).

Схема вычисления строится следующим образом. Сначала находятся все

двоичные степени А , і = 1,2,... где 2і < п — 1, А =

5 —4 10

А2 = А,...,( А2' ) = А2', і = 1,2,...,1св2(п — 1).

10

аі = <! , і = 1,2,..., п — 1.

(15)

Пусть і имеет двоичное разложение

^ 2 (п—1) і = ^ а і=0

Каждому такому і взаимно однозначно сопоставляется процессор с номером і. Процессоры, работая синхронно, параллельно найдут все степени матрицы с показателем і из (15). При этом і -й процессор перемножает те и только те двоичные степени матрицы, перед показателем 2і которой в (15) а = 1. Отсюда временная сложность данной схемы

і

T (n) = 0(log 2 (n)), n = log2 N.

Таким образом, имеет место

Лемма 5. Коэффициенты пилообразного преобразования ün и Ön (n = 2n,n = 1,2,...) могут быть вычислены на log2(N) процессорах с временной сложностью 0(log2(log2 N)).

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

В итоге имеет место

Теорема 2. Полное пилообразное преобразование (включает в себя: вычисление коэффициентов, построение матрицы преобразования, преобразование), ограниченное N (n = 2n,n = 1,2,...) членами, можно вычислить на N2 процессорах с временной сложностью O(log2 (log2 N) + log2 N) = O(log2 N).

Замечание 3. Для обратного перехода от последовательности qn к последовательности an придётся вычислять значения функций y(x) = л[х , y(x ) = 1/ x. Схема Стоуна в контексте цифровой обработки применима не только к вычислению коэффициентов матрицы пилообразного преобразования, с помощью этого алгоритма вычисляют элементы базиса Фурье, коэффициенты ряда Фурье [1,7].

Заключение. Изложены две схемы параллельного вычисления пилообразного преобразования, которые отличаются друг от друга первым этапом, а именно, схемой вычисления коэффициентов матрицы преобразования. Схема вычисления коэффициентов одного из алгоритмов имеет временную сложность порядка O(log2 (log 2 N)), другого - порядка 0(1) при равном числе процессоров 0(og2 N). В целом обе разновидности пилообразного преобразования имеют временную сложность одинакового порядка 0(log2 N).

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

1. Аксайская Л. Н. Разработка и исследование параллельных схем цифровой обработки сигналов на основе минимизации временной сложности вычисления функций : Автореферат Дис. канд. техн. наук. - Таганрог: ТТИ ЮФУ. 2008. - 18 с.

2. Ахмед Н., Рао К.Р. Ортогональные преобразования при обработке цифровых сигналов: Пер. с англ. Т.Э. Кренкеля / Под ред. И.Б. Фоменко. - М.: Связь, 1980. - 248 с.

3. Миклошко Й. Связь между алгоритмами, программами и структурой параллельных ЭВМ. В кн.: Алгоритмы математическое обеспечение и архитектура многопроцессорных вычислительных систем / Под ред. А.П. Ершова. - М.: Наука, 1982. - С. 6-36.

4. Прэт У. Цифровая обработка изображений, в двух книгах. Кн. 1: Пер. с англ. / Под ред. Д.С. Лебедева. - М.: Мир, 1982. - 311 с.

5. Ромм Я.Е., Забеглов В.В. Параллельные алгоритмы пилообразного преобразования для цифровой обработки изображений. ТГПИ. - Таганрог, 2008. - 19 с. - Деп. в ВИНИТИ 30.09.2008, №783 - В2008.

6. Солодовников В.И. Верхние оценки сложности решения систем линейных уравнений // Теория сложности вычислений. 1: Записки научных семинаров ЛОМИ АН СССР. -Л., 1982. -Т. 118. -С. 159-187.

7. Фирсова С.А. Алгоритмы оптимизации временной сложности кусочно-полиномиальной аппроксимации функций в применении к быстрому преобразованию Фурье на основе параллельного вычисления элементов базиса: Автореферат Дис. канд. техн. наук. - Таганрог: ТРТУ. 2004. - 16 с.

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