Вы находитесь на странице: 1из 2

XXXIII SIMPOSIO

BRASILEIRO DE TELECOMUNICACOES
- SBrT2015, 1-4 DE SETEMBRO DE 2015, JUIZ DE FORA, MG

Transformadas do Cosseno sobre Corpos de


Caracterstica 2: Construco es e Aplicaca o
Edmar S. da Silva, Joao Victor da Silva e Juliano B. Lima

Resumo Neste artigo, sao apresentadas construco es de transformadas do cosseno sobre corpos finitos de caracterstica 2
(FFCT). Um algoritmo rapido para o calculo de uma das FFCT
construdas e desenvolvido e uma aplicaca o dessas transformadas
em processamento digital de imagens e descrita.
Palavras-Chave Transformada do cosseno, corpos finitos, algoritmos rapidos.
Abstract In this paper, cosine transforms over fields of
characteristic 2 (FFCT) are constructed. A fast algorithm for
computing a specific FFCT is developed and an application of
such transforms in digital image processing is described.
Keywords Cosine transform, finite fields, fast algorithms.

I. I NTRODUC AO
As transformadas sobre corpos finitos desempenham um
importante papel em diversas aplicaco es relacionadas a` a rea
de processamento de sinais. Nesse contexto, em que essas transformadas sao mais conhecidas como transformadas
numericas, tais ferramentas matematicas tem sido utilizadas
principalmente na implementaca o de algoritmos para o calculo
eficiente de convoluco es lineares [1].
Nas u ltimas decadas, varios tipos de transformadas sobre
corpos finitos foram introduzidas e a gama de aplicaco es
dessa classe de transformadas foi ampliada [2][5]. Em [6],
especificamente, e descrita uma famlia de transformadas
trigonometricas sobre corpos finitos com caracterstica mpar,
a qual inclui oito transformadas do cosseno e oito do seno.
Neste artigo, sao construdos exemplos particulares das
recem-definidas transformadas do cosseno sobre corpos finitos
de caracterstica 2 [7], as quais sao denotadas por FFCT (do
ingles, finite field cosine transform). Inicialmente, constroise uma FFCT com 8-pontos sobre GF(28 ) e descreve-se um
algoritmo rapido para o seu calculo. Em seguida, apresenta-se
uma FFCT com 32-pontos sobre GF(224 ) e demonstra-se a
sua aplicabilidade ao processamento de imagens coloridas.

Definica o 2 (FFCT): Seja GF(2r ) um elemento tal


que ord() = 2N 1. A FFCT do vetor x = (xi ), xi
GF(2r ), i = 0, 1, . . . , N 2, e o vetor X = (Xk ), Xk
GF(2r ), cujas componentes sao
Xk :=

N
2
X

xi cos (k(i + 1/2)), k = 1, 2, . . . , N 1.

(1)

i=0

Na FFCT inversa, as componentes de x sao obtidas por


xi =

N
1
X

Xk cos (k(i + 1/2)), i = 0, 1, . . . , N 2.

(2)

k=1

Pode-se expressar o calculo da FFCT do vetor x como X =


Cx, em que C e a matriz de transformaca o (N 1)(N 1),
cujo elemento na k-esima linha e na i-esima coluna e dado
por Ck,i = cos (k(i + 1/2)).
III. FFCT COM 8- PONTOS SOBRE GF(28 )
Para construir o corpo GF(28 ), considera-se o polinomio
primitivo p(x) = x8 + x4 + x3 + x2 + 1, que tem como
raiz, com ord() = 255. Para definir uma transformada com
N 1 = 8 pontos, emprega-se o elemento = 15 , uma
vez que ord() = ord(15 ) = 255/15 = 17 = 2N 1.
Empregando as definico es enunciadas na Seca o II, obtem-se
153 136 34 68 204 17 102 51

C=

51
136
102
34
17
68
204

17
204
34
51
153
102
68

68
51
136
204
102
153
17

136
102
17
153
204
51
34

153
68
51
17
136
34
102

34
153
68
102
51
204
136

204
34
153
136
68
17
51

102
17
204
68
34
136
153

O algoritmo rapido para o calculo de X = C x e baseado


na decomposica o da matriz C em quatro submatrizes, 4 4,
C1 , C2 , C3 e C4 , de modo que
[X0 X1 X3 X7 ]T = C1 [x0 x4 x6 x7 ]T + C2 [x1 x2 x3 x5 ]T ;

DA FFCT
II. D EFINIC AO

[X2 X4 X5 X6 ]T = C3 [x0 x4 x6 x7 ]T + C4 [x1 x2 x3 x5 ]T .

A definica o da transformada do cosseno sobre corpos de


caracterstica 2 requer uma versao modificada da funca o
cosseno sobre corpos finitos, a qual e fornecida a seguir.
Definica o 1: Seja GF(2r ) um elemento com ordem
multiplicativa ord(). A funca o cosseno sobre corpos finitos
relacionada a e definida como cos (x) := x + x , para
x = 0, 1, . . . , ord() 1.

C1 e a matriz circulante com primeira linha dada por


[153 51 102 204 ]; permutando a segunda e terceira linhas
de C3 , obtem-se a matriz circulante com primeira linha dada
por [136 68 34 17 ]. Alem disso,
136 34 68 17
204 51 102 153

Edmar S. da Silva, Joao Victor da Silva e Juliano B. Lima, Departamento de Eletronica e Sistemas, Universidade Federal de Pernambuco,
Recife-PE, Brasil, E-mails: edmarcmr@gmail.com, jvsilva21.03@gmail.com,
juliano bandeira@ieee.org. Este trabalho foi parcialmente financiado pelo
CNPq (307686/2014-0 e 456744/2014-2; PICME, Dpto. Matematica/UFPE).

17 68 136 34
51 204 153 102
C2 = 34 136 17 68 ; C4 = 153 102 204 51 .
68 17 34 136

102 153 51 204

O produto envolvendo C1 corresponde a uma convoluca o


cclica de 4-pontos entre [153 51 102 204 ] e [x0 x4 x6 x7 ],
a qual pode ser calculada por meio do algoritmo descrito na

XXXIII SIMPOSIO
BRASILEIRO DE TELECOMUNICACOES
- SBrT2015, 1-4 DE SETEMBRO DE 2015, JUIZ DE FORA, MG

Tabela 2 de [5]. Observando que 153 + 51 + 102 + 204 =


1, tal operaca o requer 15 adico es e 5 multiplicaco es. Um
procedimento analogo pode ser empregado para o calculo do
produto envolvendo C3 . Observando que 136 + 34 = 1 e
136 + 17 + 34 + 68 = 0, o referido produto requer 11
adico es e 4 multiplicaco es. Permutando a segunda e a terceira
linhas de C2 , obtem-se uma matriz na forma


A B
,
B0 A
em que A, B e B0 sao matrizes 2 2, cujo produto por
um vetor pode ser calculado de forma eficiente empregando
recursivamente o algoritmo descrito na Equaca o (4) de [5].
Para isso, sao necessarias 11 adico es e 3 multiplicaco es. A
aplicaca o de ideia semelhante ao produto relacionado a C4
envolve 10 adico es e 4 multiplicaco es.
Incluindo algumas adico es extras, e necessario um total de
55 adico es e 16 multiplicaco es para calcular a FFCT com
8-pontos construda nesta seca o. Embora o total de adico es
permaneca praticamente o mesmo em comparaca o a` quele
necessario ao produto matriz-vetor sem utilizaca o do algoritmo
(7 8 = 56), o numero de multiplicaco es e substancialmente
diminudo; mais precisamente, realizando o calculo direto, um
numero de multiplicaco es quatro vezes maior e necessario.
IV. FFCT COM 32- PONTOS SOBRE GF(224 )
O corpo finito GF(224 ), sobre o qual se define a FFCT
considerada nesta seca o, e construdo utilizando p(x) = x24 +
x7 + x2 + x + 1, tendo como raiz, com ord() = 224
1. Para definir uma transformada com N 1 = 32 pontos,
emprega-se o elemento = 258111 , uma vez que ord() =
ord(258111 ) = (224 1)/258111 = 65 = 2N 1.
Em funca o da limitaca o de paginas, neste trabalho, nao se
apresenta a matriz C propriamente dita da FFCT obtida. De
qualquer modo, a aplicaca o desta transformada a uma estrutura
matricial m (um bloco de imagem digital, por exemplo)
corresponde ao calculo de
M = C m CT .

(3)

Como a matriz C da FFCT em questao possui estrutura


similar a` quela construda na Seca o III, e possvel efetuar o
produto matricial da Equaca o (3) por meio de um algoritmo
rapido semelhante ao desenvolvido na referida seca o.
A. Aplicaca o em Processamento de Imagem
Nesta subseca o, e ilustrada a aplicaca o da FFCT sobre
GF(224 ) em processamento de imagem. Considera-se uma
imagem RGB, denotada por I, e justapoe-se os bytes referentes
a cada uma das tres camadas de cor, de maneira que, a
cada pixel, associa-se um numero binario com 24 bits. Esses
numeros sao, entao, mapeados diretamente em elementos de
GF(224 ), formando uma matriz que representa uma especie
de camada unificada de cores. Essa matriz e dividida em
submatrizes com dimensoes 32 32, a` s quais e aplicada a
versao bidimensional da FFCT construda. Finalmente, a partir
da matriz resultante deste processo, sao obtidas as camadas R,
G e B que compoem a versao transformada da imagem (It ).

Dada It , e possvel o retorno a I usando a FFCT inversa.


Como as operaco es aritmeticas envolvidas neste processo nao
requerem arredondamentos, a imagem recuperada e identica a
I. Todo o processo fora simulado em uma rotina escrita em
Python, envolvendo a biblioteca de manipulaca o de imagens
PIL. O resultado da aplicaca o da FFCT a` imagem lena.bmp
com dimensoes 512 512 (Figura 1a) e apresentado na
Figura 1b. Nesta u ltima imagem, observa-se que o conteudo
visual da imagem original foi completamente comprometido.
Observando as Figuras 1c e 1d, verifica-se que, embora
as camadas de cor na imagem original tenham histogramas
com formatos especfico, apos a aplicaca o da FFCT, esses sao
uniformizados, escondendo o conteudo estatstico da imagem.
Isso se reflete no valor da correlaca o entre pixels vizinhos,
que e proximo de 1 na imagem original e proximo de 0 na
imagem transformada, e na entropia de cada camada de cor
da imagem transformada, que e aproximadamente igual a 8.
F INAIS
V. C ONSIDERAC OES
Neste trabalho, foram apresentadas construco es de transformadas do cosseno sobre corpos de caracterstica 2. Para a
FFCT com 8-pontos definida sobre GF(28 ), foi apresentado
um algoritmo rapido. Para a FFCT com 32-pontos definida
sobre GF(224 ), foi descrita uma aplicaca o em processamento
de imagem. Os resultados indicam que a FFCT pode ser
empregada em esquemas de cifragem como aquele proposto
em [4]. Atualmente, tem sido estudadas propriedades das
FFCT e desenvolvidas implementaco es dessas transformadas
numa plataforma de hardware reconfiguravel.
R EFER E NCIAS
[1] R. E. Blahut, Fast Algorithms for Signal Processing. Cambridge University Press, 2010.
[2] R. M. Campello de Souza e H. M. de Oliveira, The complex Hartley
transform over a finite field, in Coding, Communications and Broadcasting (P. G. Farnell, M. Darnell, e B. Honary, eds.), p. 267276,
Hertfordshire: Research Studies Press, Jonh Wiley, 1st ed., 2000.
[3] R. J. Cintra, V. S. Dimitrov, R. M. Campello de Souza, e H. M.
de Oliveira, Fragile watermarking using finite field trigonometrical
transforms, Sig. Proc.: Image Comm., vol. 24, p. 587597, 2009.
[4] J. B. Lima, F. Madeiro, e F. J. R. Sales, Encryption of medical images
based on the cosine number transform, Sig. Proc.: Image Comm., vol. 35,
p. 18, July 2015.
[5] T. K. Truong, P. D. Chen, L. J. Wang, e I. S. Reed, Fast, prime factor,
discrete Fourier transform algorithms over GF(2m ) for 8 m 10,
Information Sciences, vol. 176, p. 126, January 2006.
[6] J. B. Lima e R. M. Campello de Souza, Finite field trigonometric
transforms, Applicable Algebra in Engineering, Communication and
Computing, vol. 22, p. 393411, December 2011.
[7] J. B. Lima, M. Barone, e R. M. Campello de Souza, Cosine transforms
over fields of characteristic 2, submetido a Finite Fields and Their
Applications, 2015.

1200

5000

1000

4000

800

3000

600

2000

400

1000
0
0

(a)

(b)

200
50

100

(c)

150

200

250

0
0

50

100

150

200

250

(d)

Fig. 1: (a) versao original e (b) versao transformada de


lena.bmp; (c) e (d), respectivos histogramas de cada camada
de cor das imagens.

Вам также может понравиться