Научная статья на тему 'Быстрые алгоритмы дискретных косинусных преобразований'

Быстрые алгоритмы дискретных косинусных преобразований Текст научной статьи по специальности «Математика»

CC BY
331
61
i Надоели баннеры? Вы всегда можете отключить рекламу.
Журнал
Компьютерная оптика
Scopus
ВАК
RSCI
ESCI
Область наук

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

Разработаны быстрые алгоритмы ДКП-II, III и IV нечетной длины. Приведены оценки вычислительной сложности алгоритмов при N=3exp(r). Показаны преимущества синтезированных алгоритмов перед традиционным ДКП-I четной длины.

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

Текст научной работы на тему «Быстрые алгоритмы дискретных косинусных преобразований»

Чичева М.А.

БЫСТРЫЕ АЛГОРИТМЫ ДИСКРЕТНЫХ КОСИНУСНЫХ ПРЕОБРАЗОВАНИЙ

Разработаны быстрые алгоритмы ДКП-II, III и IV нечетной длины. Приведены оценки вычислительной сложности алгоритмов при N=3r. Показаны преимущества синтезированных алгоритмов перед традиционным ДКП-I четной длины.

Введение

Широкое использование дискретного косинусного преобразования (ДКП)

, (m) = X х (n )cos

.( n + Уг )

m

N

(1)

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

Во-первых, базисные функции ДКП хорошо аппроксимируют собственные функции преобразования Карунена-Лоэва для широкого класса стационарных случайных процессов [1, 2], что делает ДКП эффективным средством кодирования информации.

Во-вторых, дискретный сигнал, наблюдаемый на конечном интервале [0, N-1], представленный в виде линейной комбинации базисных функций ДКП продолжается как 2Ж-периодическая функция на

множество целых чисел Следствием увеличения

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

В-третьих, для ДКП существуют быстрые алгоритмы (БА) вычисления спектра (1).

Отметим, что предложенный в [1] БА ДКП сводит вычисление (1) к вычислению дискретного преобразования Фурье (ДПФ) вещественной последовательности длины 2N:

х (т ) =

= — ю 2

= -ю" 2

m 2

Xх (n)

+ ю

- m12

Xх (n)

X У (к)

ю

(2)

где а = ехр {{п} , у(к) - вещественная последовательность длины 2N, полученная четным продолжением х(п):

У (к ) =

х (к) 0 < к < N -1

х (2N - к -1) N < к < 2N -1'

Использование БА ДПФ "совмещенного" типа [2] позволяет вычислять спектр (1) с помощью ДПФ комплексной последовательности длины N.

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

снизить вычислительную сложность БА ДОП, в частности, ДКП.

Действительно, в схеме декомпозиции алгоритма (2) явным образом проводятся вычисления с

числами exp {2ni (. Значения базисных функций ДКП

cos (п» ) =

= 2 (exp {2п + exp { ^})

имеют в два раза меньшую степень алгебраичности

над Q, что позволяет снизить вычислительную

сложность БА ДКП еще приблизительно в два раза по сравнению с алгоритмом работы [2].

Наиболее эффективно эти соображения реализуются в случае нечетного N [4, 5]. Дополнительный вычислительный эффект может быть получен при применении "нетрадиционного" представления комплексных чисел, согласованного со структурой алгоритма ДКП. Например [5, 6], при N = 3r целесообразно использование представления комплексных z в форме

i 2ni 1 /оч

z = ay + by , y = exp<-f . (3)

В ряде работ [7, 8] наряду с каноническим косинусным преобразованием (1) (далее, ДКП-1) рассматривались другие типы ДКП:

, (m) = X х (n )cos

n=0 N

ijm + ti)

N

r (m) = X х (n)cos

n=0

N -1

N

(ДКП-II)

(ДКП-III)

. (m) = X х (n)cos

(n + У2 )(m + У2)

N

(ДКП-1У)

Целью настоящей работы является перенесение методики синтеза БА ДКП работ [4, 5] для ДКП-П-1У.

1. Сведение ДКП-1У к вещественному ДПФ той же длины

Рассмотрим ДКП-1У:

х!У ( m ) =

N-1

= X х (n )cos

(n + /2 )(m + /2)

N

n=0

1

к=0

n=0

n=0

= Re x (n)

m

(2n+1)(2m+1)

(4)

где m = exp {{п} - первообразный корень степени 8N из единицы. Пусть

| x (n) •рЩ = 2n +1; У( )=[0 • рЩ = 2n;

y (t) = xV (m) •рЦ t = 2m +1. тогда (4) примет вид

( 2 N-1

У (t) = Re Л У (k)

(5)

При нечетном N выполним декомпозицию Гуда-Томаса [9]. Пусть

jk = 8k1 + Nk2 (mod 8N) \t = 8at1 + Nbt2 (mod 8N) '

где a и b определяются из условий: |82 a = 8 (mod 8N) jN2b = N (mod 8N)

Введем обозначения: a = exp {2f } , в = exp {n} - первообразные корни из единицы степени 8 и N соответственно;

Y (k1; k2 ) = y (8k1 + Nk2), (k1; k2 )e KV ;

Y(t1,t2) = y(8at1 + Nbt2), (t2) e MV ;

K V , M V

допустимые области значений входных (к17к2) и выходных (/2) пар индексов, определяемые диапазоном изменения переменных к и /

(примеры областей K V ны на рис. 1, 2).

M V для N = 9, 27 приведе-

0 1

2 3 4 5 6 7

Кг

63 71 7 15 23 31 39 47 55

54 62 70 6 14 22 30 38 46

45 53 61 69 5 13 21 29 37

36 44 52 60 68 4 12 20 28

27 35 43 51 59 67 3 11 19

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

18 26 34 42 50 58 66 2 10

9 17 25 33 41 49 57 65 1

0 8 16 24 32 40 48 56 64

k 1

M г

63 55 47 39 31 23 15 7 71

54 46 38 30 22 14 6 70 62

45 37 29 21 13 5 69 61 53

36 28 20 12 4 68 60 52 44

27 19 11 3 67 59 51 43 35

18 10 2 66 58 50 42 34 26

9 1 65 57 49 41 33 25 17

0 64 56 48 40 32 24 16 8

012345678 Рис. 1. Допустимые области значений пар

(к1,к2) и (г2) дляДКП-1У при N = 9 (а = 8 , Ь = 1 ).

k

8

t

K г

189 197 205 213 5 13 21 29 37 45 53 61 69 77 85 93 101 109 117 125 133 141 149 157 165 173 181

162 170 178 186 194 202 210 2 10 18 26 34 42 50 58 66 74 82 90 98 106 114 122 130 138 146 154

135 143 151 159 167 175 183 191 199 207 215 7 15 23 31 39 47 55 63 71 79 87 95 103 111 119 127

108 116 124 132 140 148 156 164 172 180 188 196 204 212 4 12 20 28 36 44 52 60 68 76 84 92 100

81 89 97 105 113 121 129 137 145 153 161 169 177 185 193 201 209 1 9 17 25 33 41 49 57 65 73

54 62 70 78 86 94 102 110 118 126 134 142 150 158 166 174 182 190 198 206 214 6 14 22 30 38 46

27 35 43 51 59 67 75 83 91 99 107 115 123 131 139 147 155 163 171 179 187 195 203 211 3 11 19

0 8 16 24 32 40 48 56 64 72 80 88 96 104 112 120 128 136 144 152 160 168 176 184 192 200 208

k 1

2 3 4 5 6 7 8 9

10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

k

2

0

M г

135 55 191 111 31 167 87 7 143 63 199 119 39 175 95 15 153 71 207 127 47 183 103 23 159 79 215

54 190 110 30 166 86 6 142 62 198 118 38 174 94 14 150 70 206 126 46 182 102 22 158 78 214 134

189 109 29 165 85 5 141 61 197 117 37 173 93 13 149 69 205 125 45 181 101 21 157 77 213 133 53

108 28 164 84 4 140 60 196 116 36 172 92 12 148 68 204 124 44 180 100 20 156 76 212 132 52 188

27 163 83 3 139 59 195 115 35 171 91 11 147 67 203 123 43 179 99 19 155 75 211 131 51 187 107

162 82 2 138 58 194 114 34 170 90 10 146 66 202 122 42 178 98 18 154 74 210 130 50 186 106 26

81 1 137 57 193 113 33 169 89 9 145 65 201 121 41 177 97 17 153 73 209 129 49 185 105 25 161

0 136 56 192 112 32 168 88 8 144 64 200 120 40 176 96 16 152 72 208 128 48 184 104 24 160 80

3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Рис. 2. Допустимые области значений пар (к1;к2) и (/2) для ДКП-1У

при N = 27 ( а = 17 , Ь = 3 ).

2

t

0

2

Учтем, что (к1, к2) е К у только при нечетных к2 , а именно, к2 = 1, 3, 5, 7 . Преобразуем теперь (5) следующим образом:

7 ( '2 ) = Яе \ X 7 (К, к 2 )вк1'ак4 =

= Яе ] X 7 (к1,1)вк1а'2 + X 7 (к1,3)вк1а3'2 +

+ X 7 (к1,5) в а + X 7 (к1,7) в а1'2 \ =

(ки5)еК1г (к1,7)еК1г }

= Яе I X 7 (к1,1)вк1'1а'2 + X 7 (М)/^* (-1)'2 а12 +

[(*,,1)еК,у №,3)еКу

+ X 7 (к1,5)вк1'1 (-1)'2 а'2 + X 7 (к1,7)в"-к1 а

(ки5)еК1у №,7)еКу

Откуда, учитывая нечетность '2 ('1, '2) е М у ), окончательно получим

7 ('1, '2 ) = Яе а X ^ ( в1'1

к=о

(при

(6)

где

г(к1 ) =

7 (к1,1) ири (к1,1)е К„

-7 (( - к1,7) ири (к1,3)е Кп

-7 (к1,5) ири (к1, 5) е К у

7 ( - к1,3) ири (к1,7)е Кп

Функция г (к1) является некоторой перестановкой исходной последовательности со сменой знака части компонент. При нечетном '2 умножение на а'2 в (6) требует только двух операций сложения на отсчет и может быть выполнено одновременно с нормировкой.

Таким образом, ДКП-1У нечетной длины N

сведено к вещественному преобразованию Фурье

г

той же длины. При N=3 использование алгоритма ДПФ с представлением данных в форме (3) требует

М ^ ) = N 1оя3 N - N

А ^) = 3N 1о§3 N -

5 N 3

операций вещественного умножения и сложения соответственно. Тогда число умножений М у (N) ,

сложений Ау ^) и общее количество арифмети-

ческих операций (N) для выполнения ДКП-1У указанным способом не превышает:

М у (N)< N 1о§3 N - N

Ау (N)< 3N 1ов3 N +

4 N 3

Бу (N)< 4N 1оЕ3 N + N

2. Быстрый алгоритм ДКП-11.

Рассмотрим ДКП-11 нечетной длины N

(т) = X х (п )соб

'(т + X )

N

= Яе ^ х (п)'

п(2 т+1)

(7)

где со = ехр {Щ} . Очевидно [1], что ДКП-11 (с точностью до нормирующих множителей) является преобразованием обратным к ДКП-1, поэтому при выполнении декомпозиции Гуда-Томаса достаточно поменять местами области допустимых значений. Примеры таких областей К п, М п для N = 9, 27 приведены на рис. 3, 4. Пусть

У (к ) =

х (п) при к = 2п +1; 0 при к = 2п;

х (т ) = у (2т +1) ;

п=0

( k2 )e K„ ;

(m1, m2) e Mn ;

7 ( k2 ) = x (4ak1 + Nbk2) ;

Y(m1,m2 ) = x(4m1 + Nm2) ;

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

где a и b определяются из условий:

|42 a = 4 (mod 4 N) [N2b = N (mod 4N)

При этом (7) можно представить в виде:

Y (m1, m2) =

= Re j X 7 ( к2 )p"imi iк

[(k^ )eK„

(8)

где в = ехр {N} - первообразный корень степени N из единицы. Учитывая, что при (т1, ш2 )е М п т2 -нечетно, получим из (8) для ш2 = 1 :

Y(mi,l) = Rej X 7(К,к2)pkmik2 I ,

[(ki,k2 )eK„ J

а для m2 = 3 с учетом вещественности Y (k1, k2)

Y (m1,3) = Rej X Y (k1,k2 )ekm i3

[(ki,k2 )EK„

= Re j X Y (ki, k2 )

[(ki,k2 )eK,,

k1 (N - m1 ))k2

k 2 K 11 m 2 Mn m i

27 19 11 3 31 23 15 7 35 3 2 1 k1 0 27 31 35 3 7 11 15 19 23

18 10 2 30 22 14 6 34 26 18 22 26 30 34 2 6 10 14

9 1 29 21 13 5 33 25 17 9 13 17 21 25 29 33 1 5

0 28 20 12 4 32 24 16 8 0 4 8 12 16 20 24 28 32

0 1 2 3 4 5

6 7 8

0 1 2 3 4 5

6 7 8

Рис. 3. Допустимые области значений пар (к,,к2) и (ш1,ш2) для ДКП-11 при N = 9 (а = 7, ь = 1).

k п

3 27 55 83 3 31 59 87 7 35 63 91 11 39 67 95 15 43 71 99 19 47 75 103 23 51 79 107

2 54 82 2 30 58 86 6 34 62 90 10 38 66 94 14 42 70 98 18 46 74 102 22 50 78 106 26

1 81 1 29 57 85 5 33 61 89 9 37 65 93 13 41 69 97 17 45 73 101 21 49 77 105 25 53

0 0 28 56 84 4 32 60 88 8 36 64 92 12 40 68 96 16 44 72 100 20 48 76 104 24 52 80 k 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26

m 2 Mn

3 81 85 89 93 97 101 105 1 5 9 13 17 21 25 29 33 37 41 45 49 53 57 61 65 69 73 77

2 54 58 62 66 70 74 78 82 86 90 94 98 102 106 2 6 10 14 18 22 26 30 34 38 42 46 50

1 27 31 35 39 43 47 51 55 59 63 67 71 75 79 83 87 91 95 99 103 107 3 7 11 15 19 23

0 0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 84 88 92 96 100 104 m 1

0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 Рис. 4. Допустимые области значений пар ) и (ш1,ш2) для ДКП-11 при N = 27 (а = 7, ь = з).

Откуда получим:

z (m1, m2 ) = Re |X z (()Pkmi

[k1 =0

где

i6(m1, m2) =

m1,l) при (m1,l)e Mn []€(( - m1, 3) при (m1,3)e Mn

2 (к1 ) = У (к1, к2) ¡кг при (к1; к2) е К „ .

Здесь значения входной последовательности 2 (к1) являются вещественными или чисто мнимыми, что позволяет использовать несложную модификацию вещественного ДПФ с несколько увеличенным числом умножений. Выполнение такого алгоритма ДКП-11 требует

k

2

M ш (N)< 2N log3 N - 2N , Au (N)< 3N log3 N -

S ш (N)< 5N log3 N -

8 N 3

операций умножения, сложения и всего арифметических операций, соответственно.

3. Алгоритм вычисления ДКП-Ш

Рассмотрим ДКП-Ш:

x ш (m) = ^ x (n)cos I n

N

(9)

Отметим, что длина этого преобразования равна N +1 , однако оно может быть сведено к вещественному ДПФ длины 2N следующим простым приемом. Так как при n = N справедливо равенство

( nm ^ ( Nm ^ ( , , cos= cos= C0S(nmj = (-1) ,

то

Хш (m) =

=x x(n )cos ]+Hmx (n )=

= Re{X у(n)vnmj + (-l)mx(N) , где rn = exp {-ff} ,

, ч I x (n) при 0 < n < N; У (n ) = 1 w |0 при N < n < 2N.

Таким образом, вычисление ДКП-III длины N +1 отличается от вычисления ДПФ вещественной последовательности длины 2N только N вещественными сложениями и, при использовании упомянутого

выше БА ДПФ при N = 3r , для вычислительной сложности ДКП-III справедливы неравенства:

M ш ( N) < 2N log3 N - 2N,

Am ( N)< 6N log3 N - IN ,

Sm{N)< 8N log3 N - ^ .

4. Сравнение сложности алгоритмов

Рассмотрим более подробно сложность описанных алгоритмов при малых длинах N.

Как уже отмечалось во введении, специфические свойства ДКП делают его привлекательным при решении ряда задач цифровой обработки изображений, в частности, в задачах распознавания образов (для вычисления локальных признаков на изображении) и сжатия данных (при блочном формировании трансформант). Таким образом, используется ДКП сравнительно небольших размеров. Приведем точные оценки количества арифметических операций, необходимых для вычисления ДКП-I-IV длины N = 9, 27.

Преобразование Фурье с представлением данных в форме (3) при N = 9 требует всего 6 вещественных умножений и 38 сложений; при N = 27 требуется 42 умножения и 194 сложений. Дополнительно при переходе от представления комплексных чисел в форме (3) к алгебраической форме при вычислении ДКП-I и IV длины N необходимо —

операций вещественного умножения и N операций вещественного сложения, для ДКП-II и III - только N операций сложения.

Арифметическая сложность рассмотренных алгоритмов для N= 9 и 27 приведена в таблице 1.

Таблица 1.

n=0

N 1 ДКП-I 1 ДКП-II 1 ДКП-III 1 ДКП-IV

M(N) A(N) S(N) M(N) A(N) S(N) M(N) A(N) S(N) M(N) A(N) S(N)

9 10 56 66 12 56 68 12 94 106 10 74 84

27 55 248 303 86 248 334 84 442 526 55 302 357

В таблице 2 для сравнения приведено число операций для выполнения ДКП-1 близких длин при N = 2Г традиционным способом сведения к ДПФ вещественной последовательности двойной длины:

Реальные затраты машинного времени на выполнение блочного ДКП размера NxN (при построчно-столбцовом способе формирования двумерного преобразования) для обработки изображения размером 1024x1024 отсчета приведены на рис.5. (Время приводится в условных единицах, все алгоритмы тестировались в одинаковых условиях).

Таблица 2.

N ДКП-I

M(N) A(N) S(N)

8 15 79 94

16 51 221 272

32 147 551 698

Здесь 1 - время обработки изображения при использовании ДКП-1, 2 - ДКП-11, 3 - ДКП-Ш, 4 -ДКП-1У и 5 - время обработки при использовании ДКП-1 длины N = 2Г , выполненного традиционным способом [1].

180 г

140 100 80

60 40

8 9 16 27 32

Рис.5.

Заключение

В данной работе разработаны алгоритмы ДКП-II, III и IV нечетной длины N. Приведены оценки вычислительной сложности алгоритмов при N = Зг , проведено сравнение их быстродействия при малых длинах N = 9, 27. Показаны преимущества синтезированных алгоритмов перед традиционным ДКП-! четной длины при близких значениях N.

Рассмотренные алгоритмы ДКП являются основой для синтеза построчно - столбцовых алгоритмов двумерных дискретных косинусных преобразований. Для синтеза БА ДКП, существенно использующих двумерность и вещественность входных данных, возможно применение методики работы [6], в основе которой лежит представление данных в виде элементов алгебры кватернионов [10]. Вычислительная сложность таких алгоритмов определяется, в основном, сложностью соответствующих БА ДПФ, подробно исследованных в работе [11] автора.

Работа выполнена при поддержке Российского Фонда Фундаментальных Исследований (проект N95-01-00367).

Литература

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

1. Ахмед Н., Рао К. Р. Ортогональные преобразования при обработке цифровых сигналов М.: Связь, 1980.

2. Ярославский Л.П. Введение в цифровую обработку изображений - М.: Советское радио, 1979.

3. Чернов В.М. Арифметические аспекты задачи синтеза быстрых алгоритмов ДОП типа Винограда // Труды Пятого Международного Семинара "Распределенная обработка информации" - Новосибирск, 1995. - С. 296-300.

4. Heideman Michael T. Computation of an odd-length DCT from a real-valued DFT of the same length // IEEE Trans. Signal Process., 40, N1, 1992, pp.54-61.

5. Чернов В.М. Быстрый алгоритм дискретного косинусного преобразования нечетной длины // Автомат. и вычисл. техн., N3, 1994, c.62-70.

6. Чернов В. М. Алгоритмы двумерных дискретных ортогональных преобразований, реализуемые в кодах Гамильтона-Эйзенштейна // Проблемы Передачи Информации, 31, N3, 1995, c.38-46.

7. Wang Z. Fast algorithms for discrete W transform and for the discrete Fourier transform // IEEE Trans. Acoust., Speech, Signal Processing, vol. ASSP-32, pp. 803-816, Aug. 1984

8. Ersoy O.K. Transform image enhancement // Optical Engineering, 31, N3, 1992, pp.614-626.

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

10. Ван дер Варден Б. Л. Алгебра. - М.: Наука,

1976.

11. Першина М.В., Чичева М.А. Декомпозиция двумерного ДПФ с представлением данных в алгебре кватернионов // Компьютерная оптика, Выпуск 14-15, 1995, Часть 2, c. 13-21.

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