Documente Academic
Documente Profesional
Documente Cultură
Cuprins
Formulare generala
Transformarea Walsh
Transformarea Hadamard
Transformarea Haar
Wavelets
Transformarea cosinus
Transformarea sinus
Tranformarea Hartley
FORMULARE GENERALA
unde T(u) este transformata lui f(x), g(x,u) este nucleul transformarii directe, iar
u=0,1,...,N-1. Pentru transformata inversa exista relatia:
N 1
f ( x) T (u )h( x, u )
u 0
N 1 N 1
T (u , v) f ( x , y ) g ( x, y , u , v )
x 0 y 0
si
N 1N 1
f ( x, y ) T (u, v)h( x, y, u, v)
u 0 v 0
g(x,y,u,v) = g1(x,u)g2(y,v)
g(x,y,u,v) = g1(x,u)g1(y,v)
i 2ux i 2vy
g(x,y,u,v) = g1(x,u)g1(y,v) = 1 N 1 N
e e
N N
N 1
T (u, v) T ( x, v) g1 ( x, u )
x 0
pentru u,v = 0,1,...,N-1.
Aceeasi metoda poate fi aplicata si pentru transformarea inversa daca nucleul
h(x,y,u,v) este separabil.
Daca nucleul transformarii directe g(x,y,u,v) este separabil si simetric, ecuatia
de transformare se poate exprima si sub forma matriciala:
T = AFA
BTB = BAFAB
F = BTB
unde s-a tinut cont ca B = A-1 => o imagine digitala F poate fi refacuta complet
din transformata sa T. In cazul in care B nu este identic cu A-1, ecuatia
furnizeaza o aproximatie a imaginii initiale:
F' = BAFAB
O proprietate importanta a matricilor de transformare: pot fi descompuse in
produse de matrici cu mai multe zerouri decat matricea originala => reduce
redundanta si in consecinta numarul de operatii necesare implementarii
transformarii bidimensionale.
Mai general, se considera o imagine de dimensiune MxN, reprezentata prin
matricea:
1 n 1
g ( x, u ) (1)bi ( x)bn1i (u )
N i 0
in ecuatia transformarii generale, obtinindu-se relatia:
1 N 1 n 1
W (u) f ( x) (1)bi ( x)bn1i (u )
N x 0 i 0
unde bk(z) este bitul k in reprezentarea binara a lui z.
Valorile pentru g(x,u), exceptand factorul constant 1/N, sunt reprezentate in
tabel, pentru N=8.
x
0 1 2 3 4 5 6 7
0 + + + + + + + +
1 + + + + - - - -
2 + + - - + + - -
u 3 + + - - - - + +
4 + - + - + - + -
5 + - + - - + - +
6 + - - + + - - +
7 + - - + - + + -
n 1
h( x, u ) (1) bi ( x )bn1i (u )
i 0
deci transformarea Walsh inversa este data de relatia:
N 1 n 1
f ( x) W (u ) ( 1) bi ( x)bn1i (u )
u 0 i 0
1 n 1
g ( x, y, u, v) (1)bi ( x)bn1i (u ) bi ( y )bn1i (v)
N i 0
1 N 1N 1 n 1
bi ( x )bn1i (u ) bi ( y )bn1i (v )
W (u, v)
N x 0 y 0
f ( x , y ) ( 1)
i 0
si
1 N 1N 1 n 1
bi ( x)bn1i (u ) bi ( y )bn1i (v)
f ( x, y)
N u 0 v 0
W (u , v ) ( 1)
i 0
La fel ca in cazul unidimensional, orice algoritm de calcul al transformatei
directe bidimensionale, se poate utiliza si pentru calcularea transformarii
inverse.
1 n 1 1 n 1
g ( x, y , u , v ) b
(1) i ( x ) bn 1i ( u ) b
(1) i ( y ) bn 1i ( v )
N N
i 0 i 0
1 M 1 n 1
W par (u )
M x 0
f ( 2 x ) ( 1) bi ( 2 x )bn1i (u )
i 0
1 M 1 n 1
Wimpar (u )
M x 0
f ( 2 x 1) ( 1) bi (2 x)bn1i (u )
i 0
Algoritm de calcul al transformatei Walsh directe, care
utilizeaza aceste relatii.
Parametrii de intrare:
-vectorul F, continand valorile esantionate ale semnalului;
-LN = log2N (cu N lungimea vectorului F, putere a lui 2).
Rezultatul:
-vectorul F, care la revenirea din procedura contine valorile
transformatei Walsh a vectorului de intrare.
n1
1 bi ( x)bi (u ) bi ( y )bi (v)
g ( x, y, u, v) (1) i 0
N
n1
1 bi ( x)bi (u ) bi ( y )bi (v)
h( x, y, u, v) (1) i 0
N
Observatie: in cazul bidimensional nucleele transformarilor directa si inversa
sunt identice. Ecuatiile transformarilor:
n1
1 N 1 N 1 bi ( x)bi (u ) bi ( y )bi (v)
H (u, v)
N x 0 y 0
f ( x, y)( 1) i0
n1
1 N 1 N 1 bi ( x)bi (u ) bi ( y )bi (v)
f ( x, y )
N u 0 v 0
H (u, v)( 1) i0
n 1 n1
1 bi ( x ) bi ( u ) 1 bi ( y ) bi ( v )
(1) i 0 (1) i 0
N N
1 1
H 2, 2
1 1
Considerand HN matrice de ordin N, relatia recursiva este:
H N , N HN,N
H 2 N ,2 N
H N , N HN,N
cu N=2n (exista si matrici Hadamard de dimensiuni care nu sunt puteri ale lui 2,
dar se utilizeaza mai putin in prelucrarile de imagini).
Matricea de transformare generala din T = AFA se scrie sub forma:
1
A HN,N
N
Se poate calcula usor matricea Hadamard inversa cu relatia:
1 1
HN,N HN,N
N
Transformarile Hadamard directa si inversa sunt date de relatiile:
F H M ,M f H N , N
1
f H M ,M F H N , N
MN
Se poate observa ca pentru calcularea transformarilor Hadamard sunt
necesare operatii de inmultire de matrici, care insa se reduc numai la operatii
de adunare/scadere. Transformarea Hadamard se mai numeste uneori
transformarea Walsh-Hadamard, caci baza transformarii o constituie functiile
Walsh.
Harmuth (H. F. Harmuth, Transmission of Information by Orthogonal
Functions, Springer-Verlag, New York, 1969) a dat o interpretare in
frecventa pentru matricea Hadamard, luand in considerare numarul de
schimbari de semn pe fiecare linie a matricii, obtinand astfel un set de
functii de baza ale transformarii. Exemplu pentru o matrice 16x16:
Aceste functii se mai
numesc si functii Walsh.
Astfel, matricea
Hadamard realizeaza
descompunerea unui
semnal printr-un set de
forme de unda
rectangulare , spre
deosebire de
transformarea Fourier
care realizeaza o
descompunere pe baza
unor forme de unda
sinus-cosinus.
Pentru o imagine de test este este furnizata reprezentarea grafica a
transformarii Hadamard:
Transformarea Haar
1 1 1 1 1 1 1 1
1 1 1 1 1 1 1 1
2 2 2 2 0 0 0 0
0 0 0 0 2 2 2 2
H8
2 2 0 0 0 0 0 0
0 0 2 2 0 0 0 0
0 0 0 0 2 2 0 0
0 0 0 0 0 0 2 2
Reprezentarea grafica a functiilor de baza Haar pentru N=16:
Numarul undei u
x
Transformarea Haar poate fi calculata recursiv utilizand matricea NN:
VN
RN
WN
1 1 0 0 0 0 ... 0 0 0 0
0 0 1 1 0 0 ... 0 0 0 0
1
VN ...
2
0 0 0 0 0 0 ... 1 1 0 0
0 0 0 0 0 0 ... 0 0 1 1
iar WN este matricea wavelet N/2N:
1 1 0 0 0 0 ... 0 0
0 0
0 0 1 1 0 0 ... 0 0
0 0
1
WN ...
2
0 0 0 0 0 0 ... 1 1 0 0
0 0 0 0 0 0 ... 0 0 1 1
f1 R N f a1 | d1
T
unde:
a1 VN f
d1 WN f
(concatenare pe coloana). Vectorul a1 reprezinta trendul elementelor lui f
(media dinamica), iar d1 fluctuatia dinamica a elementelor lui f. Pasul urmator
este calcularea transformarii Haar de nivel doi din componenta de trend a
transformarii de nivel intai si concatenarea cu vectorul de fluctuatie de nivel
intai.
f 2 a 2 | d 2 | d1
T
unde:
a 2 VN / 2a1
d 2 WN / 2a1
sunt vectori N/41.
Procesul continua pana cand se obtine transformarea completa (N=2n):
f n an | dn | dn1 | ... | d1
T
f(x) este o functie periodica pe domeniul spatial, unde =2f, f fiind frecventa
fundamentala a undei. Pe masura ce n varieaza, sunt considerate
componentele de frecventa, an este amplitudinea componentei a n-a de
frecventa.
Un exemplu in care o unda este o suma de trei unde sinusoidale, toate celelalte
componente de frecventa fiind de amplitudine zero.
Se considera o linie de pixeli dintr-o imagine, 8 pixeli.
Pentru M=8 functiile de baza sunt date in continuare, sub forma unor functii
cosinus continue. Pe masura ce valorile functiilor cosinus descresc, pixelii
devin mai intunecati, deoarece 1 reprezinta alb si -1 reprezinta negru.
Functia de baza 0 :
Functia de baza 1 :
Functia de baza 2 :
Functia de baza 3:
Functia de baza 4 :
Functia de baza 5 :
Functia de baza 6 :
Functia de baza 7 :
In fiecare caz se evalueaza functia de baza in punctul x pentru 0r7 de la
stanga la dreapta. Fiecare valoare rezultata corespunde unui pixel din linia de
pixeli situate la dreapta functiei de baza (valorile corespund intervalului -1
negru la +1 alb). Astfel componenta de frecventa
daca u=0, altfel C(u)=1. Aceasta ecuatie indica modul in care se transforma o
imagine din domeniul spatial (in care sunt date valori de culoare sau niveluri de
gri) in domeniul frecventa (care furnizeaza coeficientii cu care sunt multiplicate
componentele de frecventa).
Daca se considera cei 8 pixeli cu valorile de niveluri de gri [0, 0, 0, 153, 255,
255, 220, 220], acest vector reprezinta imaginea in domeniul spatial. Calculand
F(u) pentru 0u<M se obtine vectorul [389.97, -280.12, -93.54, 83.38, 54.09, -
20.51, -19.80, -16.34], reprezentand pixelii in domeniul frecventa.
Interpretare : linia de pixeli este o combinatie liniara de componente de
frecventa, adica functii de baza multiplicate cu coeficientii din F si o constanta,
adunate impreuna :
O reprezentare vizuala :
pixeli rezultati
Un coeficient negativ pentru o componenta de frecventa este echivalent cu
adunarea componentei inversate :
coeficient negativpentru :
Primul element F(0) este componenta continua (DC). Pentru o functie periodica
reprezentata in domeniul frecventa componenta continua este o valoare medie
scalata a formei de unda. Se poate constata in cazul unidimensional :
2c[u ]c[v] M 1 N 1 2r 1 2 s 1
F [u, v]
MN r 0 s 0
f [r , s ] cos
2M
u cos
2N
v
cu
1
pentru k 0
c[ k ] 2
1 altfel
Matricile sunt parcurse pe linii.
Transformarea poate fi vazuta astfel : se ia o imagine f(r,s) matrice de valori de
pixeli si se obtine o matrice de coeficienti F(u,v) reprezentand amplitudinile
componentelor de frecventa.
Presupunem aplicarea DCT unui bloc dintr-o imagine de 8x8 (cazul compresiei
JPEG) :
Amplitudinile coponentelor de frecventa calculate sunt :
Transformarea inversa este data de ecuatia :
2 M 1 N 1
2r 1 2 s 1
f [r , s]
MN
u 0 v 0
c[u ]c[v]F [u, v] cos
2M
u cos
2N
v
unde
1
pentru k 0
c[k ] 2
1 altfel
1
pentru l 0
c N , N [k , l ] N
2 cos (2k 1)l pentru k si l 0
N 2N
si conform ecuatiilor de transformare generala pentru o imagine patrata de
NxN pixeli:
T T
F cN, N f cN, N f c N, N Fc N, N
Varianta normalizata a transformarii cosinus directe (DCT-II) pentru o imagine
patrata este reprezentata prin relatia:
2c[u ]c[v] N 1N 1 2x 1 2 y 1
F [u, v] f [ x , y ] cos u
cos v
N x 0 y 0 2N 2N
pentru u = 0, 1, , N-1 si v = 0, 1, , N-1, unde
1
pentru k 0
c[ k ] 2
1 altfel
2 N 1N 1 2x 1 2 y 1
f [ x, y] c[u]c[v]F[u, v] cos u cos v
N u 0 v 0 2N 2N
pentru x = 0, 1, , N-1 si y = 0, 1, , N-1.
Functiile de baza ale transformarii cosinus sunt de fapt o clasa a polinoamelor
Chebyshev. In figura urmatoare sunt reprezentate functiile de baza ale
transformarii cosinus pentru N=16
Numarul undei u
x
Pentru o imagine de test este furnizata reprezentarea grafica a transformarii
cosinus:
2 ( x 1)(u 1)
A(u, x) sin
N 1 N 1
Numarul undei u
x
Transformarea sinus bidimensionala este data de relatia:
2 N 1 N 1 ( x 1)(u 1) ( y 1)(v 1)
F[u, v]
N 1 x 0 y 0
f [ x, y]sin
N 1
sin
N 1
Transformarea sinus inversa este identica ca forma:
2 N 1 N 1 ( x 1)(u 1) ( y 1)(v 1)
f [ x, y ]
N 1 u 0 v 0
F [u, v] sin
N 1
sin
N 1
Pentru o imagine de test este furnizata reprezentarea grafica a transformarii
sinus: