Explorați Cărți electronice
Categorii
Explorați Cărți audio
Categorii
Explorați Reviste
Categorii
Explorați Documente
Categorii
COMPRESIA DE IMAGINI
10. 1. Reprezentarea numeric a imaginilor
O imagine este o suprafa de obicei dreptunghiular caracterizat, la nivelul oricrui punct al ei, de o anumit culoare. Ideal, culoarea variaz continuu n oricare direcie. Din pcate, n sistemele numerice, nu se pot utiliza mrimi care variaz continuu, ci doar forma discretizat a acestora. Astfel, o imagine trebuie s fie discretizat nainte de a se pune problema reprezentrii numerice. Discretizarea const n mprirea imaginii ntr-un caroiaj asemntor unei table de ah. Fiecare poriune de imagine delimitat de acest caroiaj va fi considerat ca avnd o culoare uniform - o medie a culorii existente pe aceast seciune. Aceste seciuni mai sunt denumite i pixeli sau puncte, numrul acestora definind rezoluia imaginii. De exemplu, pentru o imagine oarecare care are o rezoluie de 640x480 pixeli, nseamn c pe suprafaa acesteia s-a definit un caroiaj care o mparte pe orizontal n 640 de seciuni iar pe vertical, n 480. Pasul urmtor l constituie gsirea unei reprezentri pentru culoare. Orice culoare poate fi descompus n trei culori primare (de exemplu rouR, verde-G i albastru-B), cu alte cuvinte orice imagine poate fi obinut prin suprapunerea aditiv a trei radiaii luminoase avnd aceste trei culori i intensiti diferite. Deci, pentru a reprezenta numeric o culoare, este suficient s se reprezinte intensitile luminoase ale celor trei culori primare.
1
Dac se aloc cte 8 bii pentru fiecare component, se pot coda 256 nivele de intensitate, astfel, absena culorii (intensitate zero) se codific prin valoarea 00000000 n binar sau 00 n hexazecimal, iar intensitatea maxim, prin cea mai mare valoare ce poate fi reprezentat pe 8 bii, i anume, 11111111 n binar sau FF n hexazecimal. Aceast reprezentare, ns, ine mai mult de modalitile tehnice de captare i reproducere a imaginii i mai puin de mecanismul fiziologic de percepere a culorii. Prin diferite experimente s-a constatat c din punct de vedere al capacitii de percepere a detaliilor, ochiul este mai sensibil la intensitatea luminoas a culorii dect la nuan. Din acest motiv prezint interes o alt modalitate de reprezentare a culorii care s in cont de aceast observaie, un exemplu fiind reprezentarea YUV utilizat n televiziunea n culori. n acest caz, n locul celor trei componente primare R,G,B se utilizeaz alte trei mrimi derivate din acestea, i anume:
Y = 0,3R + 0,59G + 0,11B U = R Y = 0, 7T 0,59G 0,11B V = B Y = 0,3R 0,59 + 0,89 B
(10.1)
n cazul acestei reprezentri, componenta Y corespunde intensitii luminoase percepute pentru respectiva culoare (coeficienii 0,30, 0,59 i 0,11 reprezint strlucirile relative la alb ale celor trei culori primare rou, verde i, respectiv, albastru). Aceast component mai este ntlnit i sub numele de luminan. Componentele U i V sunt cele care definesc nuana culorii, din acest motiv, sunt denumite componente de crominan. Acestea se calculeaz ca diferena dintre componenta roie, respectiv albastr, i cea de luminan. Avantajul reprezentrii YUV este acela c separ componenta de luminan, pentru care ochiul este foarte sensibil la detalii, de componentele de nuan pentru care sensibilitatea este mai redus. Acest lucru face posibil reducerea informaiei asociate unei imagini prin utilizarea unei rezoluii mai reduse pentru componentele de crominan. n cazul
2
televiziunii n culori se realizeaz o "compresie" prin limitarea benzii de frecven alocate semnalelor de crominan (de exemplu n sistemul PAL semnalele U i V au o band de 1,3MHz fa de semnalul Y care are o band de 6MHz).
(a)
(b)
Figura 10.1
3
Pentru a reprezenta o astfel de imagine trebuie s se utilizeze un mod de reprezentare numeric al culorii. Pentru aceasta se pornete de la observaia c orice culoare poate fi obinut prin amestecul n diferite proporii a trei culori de baz (culori primare). n practic se utilizeaz ROU (R), VERDE (G) i ALBASTRU (B). Intensitatea luminoas a unei culori primare poate fi reprezentat numeric sub forma unui ntreg de 8 bii, valoarea 0 corespunznd intensitii nule iar cea maxim (255) intensitii maxime. n acest fel, o culoare va fi reprezentat numeric printr-un triplet de ntregi pe 8 bii (R,G,B). De exemplu culoarea GALBEN va avea o reprezentare de forma (255,255,0). n aceste condiii imaginea se reprezint sub forma unei matrice IM(Nx,Ny) unde Nx reprezint numrul de puncte pe orizontal i Ny este numrul de puncte pe vertical, iar elementele matricei sunt triplei de ntregi pe 8 bii de tip (R,G,B).
Exemplul 10.1. Se consider, de exemplu, un rnd de 12 pixeli de culori similare, pornind de la 202 la 215. n notaie binar aceste valori sunt: 11010111 11010110 11010101 11010011 11010010 11010001 11001111 11001110 11001101 11001100 11001011 11001010. Cuantizarea va produce urmtoarele 12 valori de 4 bii: 1101 1101 1101 1101 1101 1101 1100 1100 1100 1100 1100 1100, din care se vor reconstrui cei 12 pixeli, prin adugarea a 4 zerouri, fiecrei valori cuantizate: 11010000 11010000 11010000 11010000 11010000 11010000 11000000 11000000 11000000 11000000 11000000 11000000. Primii ase pixeli ai rndului acum au valoarea 110100002 = 208, n timp ce urmtorii ase pixeli sunt 110000002 = 192. Dac rnduri adiacente au pixeli similari, primele ase coloane vor forma o band, clar diferit de banda format de urmtoarele ase coloane. Acest fenomen de formare a benzilor, sau de conturare, este foarte evident pentru ochi, deoarece acetia sunt sensibili la margini i rupturi ntr-o imagine. 2. Cuantizarea vectorial poate fi folosit cu mai mult succes pentru a compresa imagini. 3. Metodele statistice funcioneaz mai bine cnd simbolurile ce trebuie compresate au probabiliti diferite. O secven de intrare n care mesajele au aceeai probabilitate nu se va compresa eficient. n acest sens, ntr-o imagine alb-negru sau color n tonuri continue, diferitele culori sau nuane de gri se dovedesc de multe ori a avea aproximativ aceleai probabiliti. De aceea metodele statistice nu sunt o alegere bun pentru compresia unor astfel de imagini, i sunt necesare noi abordri. Imaginile cu discontinuiti de culoare, n care pixeli adiaceni au culori foarte diferite, se
5
compreseaz mai bine cu metodele statistice, dar n acest caz nu este uoar predicia pixelilor. 4. Metodele de compresie bazate pe dicionar tind, de asemenea, s nu aib succes n cazul imaginilor cu tonuri continue. O astfel de imagine conine de obicei pixeli adiaceni n culori similare, dar nu conine modele repetitive. Chiar i o imagine care conine modele repetitive, cum sunt liniile verticale, le poate pierde cnd este digitizat. O linie vertical n imaginea original poate deveni uor oblic atunci cnd imaginea este digitizat. O linie vertical ideal este prezentat n Fig. 10.2a. n Fig. 10.2.b linia este presupus a fi perfect digitizat n zece pixeli, aezai vertical. Totui, dac imaginea este plasat n digitizor uor oblic, procesul de digitizare poate fi imperfect, i pixelii rezultai pot arta ca n Fig. 10.2.c.
a)
b)
c)
O alt problem a compresiei imaginilor bazate pe dicionar este aceea c astfel de metode scaneaz imaginea rnd cu rnd, i pot pierde astfel corelaii verticale ntre pixeli. Un exemplu sunt cele dou imagini din Figura 10.3 a, b. Salvnd ambele imagini n GIF89, un format de fiier grafic bazat pe dicionar, au rezultat fiiere de dimensiuni 1053, respectiv 1527 octei.
6
(a)
(b)
Metodele tradiionale sunt nesatisfctoare pentru compresia de imagini, astfel nct au fost necesare abordri noi, care, dei diferite, se bazeaz pe eliminarea redundanei din imagine, folosind urmtorul principiu: Principiul compresiei de imagine. Dac se selecteaz aleator un pixel dintr-o imagine, exist o probabilitate mare ca vecinii si s aib aceeai culoare sau culori foarte apropiate. Compresia de imagine este, deci, bazat pe faptul c pixelii nvecinai sunt puternic corelai. Aceast corelare se numete i redundan spaial. Exemplul 10.2. n continuare este prezentat un exemplu simplu care ilustreaz cum poate fi eliminat redundana dintr-un ir de pixeli corelai. Urmtoarea secven de valori reprezint intensitile a 24 de pixeli adiaceni dintr-un rnd al unei imagini n tonuri continue: 12, 17, 14, 19, 21, 26, 23, 29, 41, 38, 31, 44, 46, 57, 53, 50, 60, 58, 55, 54, 52, 51, 56, 60.
Doar doi din cei 24 de pixeli sunt identici. Valoarea lor medie este 40,3. Scznd perechi de pixeli adiaceni rezult secvena: 12, 5, -3, 5, 2, 4, -3, 6, 11, -3, -7, 13, 4, 11, -4, -3, 10, -2, -3, 1, -2, -1, 5, 4. Cele dou secvene sunt ilustrate n Figura 10.4.
Secvena de valori diferen are trei proprieti care ilustreaz potenialul ei de compresie: 1. Valorile secvenei diferen sunt mai mici dect valorile pixelilor originali. Media lor este de 2,58. 2. Exist valori ale secvenei diferenelor care se repet. Exist doar 15 valori diferen distincte, deci, n principiu ele pot fi codate prin patru bii fiecare. 3. Valorile secvenei diferen sunt decorelate, adic valori diferen adiacente tind a fi diferite. Aceasta poate fi observat dac se efectueaz o nou scdere a lor, rezultnd secvena 12, -7, -8, 8, -3, 2, -7, 9, 5, -14, -4, 20, -11, 7, -15, 1, 13, -12, -1, 4, -3, 1, 6, 1. Valorile acesteia sunt mai mari dect diferenele anterioare. n general, metodele de compresie pentru imagini sunt proiectate pentru un tip particular de imagine i n continuare se prezint cteva din aceste metode specifice. Imaginile particulare vizate sunt imagini cu dou nivele, imagini cu tonuri de gri i imagini color. Abordarea 1. Aceasta este folosit pentru imagini cu dou nivele. Un pixel dintr-o astfel de imagine este reprezentat printr-un bit. Aplicnd
8
principiul compresiei de imagine asupra unei imagini cu dou nivele, nseamn c pixelii nvecinai ai unui pixel P tind a fi identici cu P. Astfel, are sens folosirea unei codri RLC (Run length coding) pentru a compresa o astfel de imagine. O metod de compresie pentru o astfel de imagine o poate scana n ordinea rastrului (rnd cu rnd), calculnd lungimile irurilor de pixeli albi i negri. Aceste lungimi sunt codate prin coduri de lungime variabil i sunt nscrise n secvena compresat. Un exemplu de astfel de metod este compresia facsimil. Ar trebui accentuat faptul c aceasta este doar o abordare a imaginilor cu dou nivele. n practic, detaliile metodelor particulare difer, n funcie de aplicaie. De exemplu, o metod poate scana imaginea coloan cu coloan, sau n zig-zag, sau o poate scana regiune cu regiune. Abordarea 2 se aplic, de asemenea, pentru imagini cu dou nivele. Principiul compresiei de imagine spune c vecinii unui pixel tind a fi similari lui. Se poate extinde acest principiu i concluziona c dac pixelul curent are culoarea c (unde c este ori alb, ori negru), atunci pixelii de aceeai culoare anteriori i urmtori tind s aib aceiai vecini imediai. Aceast abordare urmrete n vecini apropiai ai pixelului curent i i consider ca un numr de n bii. Acest numr se numete contextul pixelului. n principiu pot exista 2n contexte, dar datorit redundanei imaginii, distribuia lor este neuniform. Unele contexte ar trebui s fie foarte frecvente, iar celelalte, rare. Codorul numr de cte ori a fost gsit deja fiecare context pentru un pixel de culoarea c, i asigneaz corespunztor probabiliti acestor contexte. Dac pixelul curent are culoarea c i contextul su are probabilitatea p, codificatorul poate folosi coduri aritmetice adaptive pentru a codifica pixelul cu acea probabilitate. Aceast abordare este folosit de standardul JBIG (Joint Bi-level Processing Group).
n continuare, se consider imagini n nuane de gri. Un pixel dintr-o astfel de imagine este reprezentat prin n bii i poate avea una din 2n valori. Aplicarea principiul compresiei de imagine asupra unei imagini n nuane de gri implic faptul c vecinii imediai ai unui pixel P tind a fi similari cu P, ns nu n mod necesar identici cu el. Astfel, nu mai poate fi folosit codarea RLE (run length encoding) pentru compresia unei astfel de imagini, ci sunt folosite urmtoarele dou abordri. Abordarea 3. Se separ imaginea n tonuri de gri n n imagini pe dou nivele i apoi se compreseaz fiecare cu un cod RLE instantaneu. Principiul compresiei de imagini, n acest caz, s-ar formula prin afirmaia c doi pixeli adiaceni care sunt similari n imaginea n tonuri de gri vor fi identici n cele mai multe imagini cu dou nivele. Acest lucru ns nu este adevrat, aa cum reiese din urmtorul exemplu. Exemplul 10.3. Se consider o imagine n tonuri de gri cu n = 4 (adic 4 bii/pixel sau 16 nuane de gri). Imaginea poate fi separat n patru imagini bi-nivel. Dac doi pixeli adiaceni din imaginea original au valorile 0000 i 0001, atunci sunt similari. De asemenea, sunt identici n trei din cele patru imagini bi-nivel. Totui, doi pixeli adiaceni cu valori 0111 i 1000 sunt de asemenea similari n imaginea n tonuri de gri (valorile lor sunt 7, respectiv 8), dar difer n toate cele patru imagini alb-negru. Aceast problem apare deoarece reprezentarea binar a numerelor ntregi adiacente poate diferi prin mai muli bii. Codurile binare pentru 0 i 1 difer printr-un bit, cele pentru 1 i 2 difer prin doi bii, i cele pentru 7 i 8 prin patru bii. Soluia este proiectarea unor coduri speciale, astfel nct codurile oricror dou numere ntregi consecutive i i i+1 s difere numai printr-un singur bit. Un exemplu de astfel de cod este codul Gray reflectat [Sal].
10
Abordarea 4. Se folosete contextului unui pixel pentru a prezice valoarea sa. Contextul unui pixel este dat de valorile ctorva dintre vecinii si. Se examineaz civa vecini ai unui pixel P, se calculeaz o medie A, a valorilor lor, i se prezice c P va avea valoarea A. Principiul compresiei de imagini spune c predicia va fi corect n cele mai multe cazuri, aproape corect n multe cazuri, i complet greit n puine cazuri. Valoarea prezis a pixelului P reprezint informaia redundant n P, astfel nct se calculeaz diferena : = P - A, i se asigneaz coduri instantanee de lungime variabil pentru diferitele valori . Dac P poate lua valori de la 0 la m-1, atunci va avea valori n intervalul [-(m-1),+(m-1)], i numrul cuvintelor de cod necesare este 2m - 1. Experimente cu un numr mare de imagini sugereaz c valorile lui tind s fie distribuite dup distribuia Laplace. O metod de compresie ar putea s foloseasc aceast distribuie pentru a asigna o probabilitate fiecrei valori a lui , i apoi s se foloseasc codarea aritmetic pentru a coda eficient valorile . Acesta este principiul metodei progresive multinivel MLP [Sal]. Contextul unui pixel poate fi constituit din unul sau doi din vecinii si imediai. Dac, ns, se consider mai muli pixeli vecini n obinerea contextului, se pot obine rezultate mai bune. Media A ntr-un astfel de caz ar trebui ponderat cu vecinii apropiai, care au o pondere mai mare. Pentru ca decodorul s poat decoda o imagine, ar trebui s poat calcula contextul fiecrui pixel. Acest lucru nseamn c n context ar trebui s fie inclui doar pixelii care au fost deja codai. Dac imaginea este scanat n ordinea rastrului, contextul ar trebui s conin doar pixeli localizai deasupra pixelului curent sau pe acelai rnd cu el, la stnga. Abordarea 5. Se aplic o transformare valorilor pixelilor, i se codeaz valorilor transformate. Se reamintete c pentru a realiza compresia, trebuie redus sau eliminat redundana. Redundana unei imagini este cauzat de corelaia dintre pixeli, deci transformnd pixelii
11
ntr-o reprezentare n care acetia sunt decorelai, se elimin redundana. De asemenea este posibil ca o transformare s fie apreciat n funcie de entropia imaginii. ntr-o imagine puternic corelat, pixelii tind a avea valori echiprobabile, ceea ce duce la o entropie maxim. Dac pixelii transformai sunt decorelai, anumite valori de pixeli devin mai frecvente, avnd astfel probabiliti mari, n timp ce alte valori sunt rare, fapt ce conduce la o entropie mic. Cuantiznd valorile transformate, se poate produce o compresie cu pierdere de informaie, eficient, a imaginii. Se dorete ca valorile transformate s fie independente, deoarece codarea valorilor independente face mai simpl construirea unui model statistic. n cazul imaginilor n culori, un pixel este constituit din trei componente de culoare, rou, verde i albastru. Majoritatea imaginilor color sunt ori n tonuri continue, ori n tonuri discrete. Abordarea 6. Principiul acestei abordri const n separarea unei imagini color n tonuri continue n trei imagini n tonuri de gri i compresia fiecreia din ele separat, folosind abordrile 2, 3 i 4. Pentru o imagine n tonuri continue, principiul compresiei de imagini implic faptul c pixelii adiaceni au culori similare, dac nu chiar identice. Totui, culori similare nu nseamn valori similare ale pixelilor. Se consider, de exemplu, valori pe 12 bii ale pixelilor, n care fiecare component de culoare este exprimat n patru bii. Astfel, cei 12 bii 1000|0100|0000 reprezint un pixel a crui culoare este o mixtur de opt uniti de rou (aproape 50%, din valoarea maxim de 15 uniti), patru uniti de verde (circa 25%), i deloc albastru. Se consider doi pixeli adiaceni cu valorile 0011|0101|0011 i 0010|0101|0011. Acetia au culori similare, din moment ce doar componentele lor roii difer printr-o unitate. Cu toate acestea, cnd se consider ca numere de 12 bii, cele dou numere 001101010011 i 001001010011 sunt diferite, pentru c difer ntr-un bit cu pondere semnificativ.
12
O caracteristic important a acestei abordri este folosirea unei reprezentri tip luminan crominan, YUV, n loc de reprezentarea comun RGB. Avantajul acestei reprezentri este c ochiul este sensibil la modificri mici ale luminanei, dar nu i la ale crominanei. Aceasta permite pierderea unei cantiti considerabile de date n componentele de crominan, fr o pierdere vizibil de calitate. Abordarea 7. O abordare diferit este necesar pentru imaginile n tonuri discrete. Se reamintete c o astfel de imagine conine regiuni uniforme care pot aprea de mai multe ori ntr-o imagine. Un exemplu l constituie o pagin scris la calculator care const din text i icoane. Fiecare caracter de text i fiecare icoan este o regiune, i fiecare regiune poate aprea de mai multe ori n imagine. O modalitate posibil de compresie a unei astfel de imagini este scanarea sa, identificarea regiunilor, i gsirea regiunilor care se repet. Dac o regiune B este identic cu o regiune A deja gsit, atunci B poate fi compresat prin nregistrarea unui pointer corespunztor lui A n secvena compresat. Metoda descompunerii n blocuri este un exemplu de implementare a acestei abordri. Abordarea 8. Se mparte imaginea n regiuni (care se suprapun sau nu) i se compreseaz prin procesarea prilor una cte una. Se presupune c urmtoarea parte de imagine neprocesat este partea cu numrul n. Se ncearc regsirea ei n prile 1 n 1 , care au fost deja procesate. Dac partea n poate fi exprimat, de exemplu, ca o combinaie a unor pri anterioare scalate i rotite, atunci doar cele cteva numere care specific combinaia trebuie salvate, i partea n poate fi ignorat. Dac partea n nu poate fi exprimat ca o combinaie de pri deja procesate, aceasta este procesat i salvat n secvena compresat. Aceast abordare este baza diferitelor metode fractale pentru compresia de imagini. Se aplic principiul compresiei de imagine asupra prilor de imagine, n loc de pixelii individuali. Aplicat n acest fel, principiul afirm c imaginile ce urmeaz a fi compresate au un anumit
13
volum de auto-similaritate, adic pri de imagine sunt identice sau similare cu ntreaga imagine sau cu alte pri.
pixelilor unei imagini oarecare, n care un pixel are valori de la 0 la 255. Cele mai multe puncte sunt grupate n jurul acestei linii, i doar cteva puncte sunt localizate departe de ea. Acum se transform imaginea prin rotirea tuturor punctelor cu 45 n sensul acelor de ceasornic n jurul originii, aa nct prima bisectoare coincide acum cu axa x, ca n Fig.10.4 b.
cos 450 sin 450 1 1 1 = ( x * , y * ) = ( x, y ) ( , ) x y = ( x, y )R (10.2) 0 0 1 1 sin 45 cos 45 2 unde matricea de rotaie R este ortonormal (adic produsul scalar al unui rnd cu el nsui este 1, produsul scalar al rndurilor diferite este 0, i la fel pentru coloane). Transformarea invers este 1 1 1 ( x, y ) = ( x* , y* )R 1 = ( x* , y* )RT = ( x* , y* ) (10.3) 2 1 1 (Inversa unei matrici ortonormale este transpusa sa). Este evident c majoritatea punctelor ajung s aib coordonatele y nule sau aproape nule, n timp ce coordonatele x nu se modific foarte mult. Distribuiile coordonatelor x i y (adic pixelii cu numr impar i par dintr-o imagine) nainte de rotaie nu difer cu mult, pe cnd, dup rotaie, distribuia coordonatelor x rmne aproape la fel, dar cea a coordonatelor y este concentrat n jurul lui zero. Cum coordonatele punctelor sunt cunoscute nainte i dup rotaie, este simplu s se msoare reducerea ce intervine n corelaia punctelor, prin
x y
i i
fr pierderi a imaginii poate fi efectuat prin simpla folosire a pixelilor transformai n secvena compresat. Dac se accept compresie cu pierdere de informaie, atunci toi pixelii pot fi cuantizai, obinndu-se numere i mai mici. De asemenea, se pot separa toi pixelii cu numr impar (cei care creeaz coordonatele x ale perechilor), urmai apoi de toi pixelii cu numr par. Aceste dou secvene sunt numite vectorii coeficienilor transformrii. A doua secven const din numere mici i poate avea, dup cuantizare, iruri de zerouri, care pot conduce la o compresie i mai bun. Se poate arta c dispersia total a pixelilor nu se modific prin rotaie [Sal], din moment ce matricea de rotaie este ortonormal. Totui, deoarece dispersia noilor coordonate y este mic, cea mai mare parte din
16
dispersie este acum concentrat n coordonatele x. Dispersia este uneori numit energia distribuiei pixelilor, astfel nct se poate afirma c rotaia a concentrat (sau compactat) energia n coordonata x i a realizat compresia n acest fel. Concentrarea energiei ntr-o coordonat prezint avantajul c face posibil cuantizarea acestei coordonate mai fin dect pentru celelalte coordonate. Urmtorul exemplu ilustreaz eficiena acestei transformri fundamentale. Exemplul 10.4. Se consider punctul (4,5), ale crui coordonate sunt apropiate. Folosind ecuaia (10.2), punctul este transformat n
Energiile
punctului
transformatului su sunt 42 + 52 = 41 = (92 + 12 ) / 2 . Dac se neglijeaz coordonata mai mic, 4, a punctului, se ajunge la o eroare de 42 / 41 = 0,39 . Dac, ns, se neglijeaz cel mai mic din cei doi coeficieni transformai (0,7071), eroarea rezultat este doar de 0, 70712 / 41 = 0, 012 . Un alt mod de a obine aceeai eroare este considerarea punctului reconstruit. Aplicnd punctului transformat 12 (9,1) transformarea invers dat de relaia 10.3, se ajunge la punctul original (4,5). Fcnd acelai lucru cu
1 2
(9, 0) rezult
punctul reconstruit aproximat (4,5, 4,5). Diferena de energie dintre punctul original i cel reconstruit este aceeai cantitate [(42 + 52 ) (4,52 + 4,52 )] 41 40,5 = = 0, 012 (10.4) 4 2 + 52 41 Aceast transformare simpl poate fi extins cu uurin la orice numr de dimensiuni. n loc de a selecta perechi de pixeli adiaceni, se pot selecta triplete. Fiecare triplet devine un punct n spaiul tri-dimensional, i aceste puncte formeaz o regiune concentrat n jurul liniei care formeaz
17
unghiuri de 45 cu cele trei axe de coordonate. Cnd aceast linie este rotit astfel nct s coincid cu axa x, coordonatele y i z ale punctelor transformate devin numere mici. Transformarea este fcut prin multiplicarea fiecrui punct cu o matrice de rotaie de dimensiune 3 3, ortonormal. Punctele transformate sunt apoi separate n trei vectori de coeficieni, din care ultimii doi sunt alctuii din numere mici. Pentru compresie maxim, fiecare vector de coeficieni trebuie cuantizat separat. Aceast idee se poate extinde la mai mult de trei dimensiuni, cu singura diferen c nu se pot vizualiza spaii de dimensiuni mai mari de trei. Unele metode de compresie, cum ar fi JPEG, mpart o imagine n blocuri de 8 8 pixeli fiecare, i rotesc fiecare bloc de dou ori. Aceast rotaie dubl produce un set de 64 de valori transformate, din care prima, numit coeficient DC sau de curent continuu, este mare, i celelalte 63, numite coeficienii AC sau de curent alternativ, sunt, de obicei, mici. Astfel, aceast transformare concentreaz energia n prima din cele 64 de dimensiuni.
(10.4)
18
n general C=WD (10.4) Fiecare rnd al lui W este numit vector al bazei. Se dorete determinarea valorilor ponderilor wij , astfel nct prima valoare transformat c1 s fie mare, i restul valorilor c2 , c2 ,... s fie mici. Din relaia ci = j d j wij se observ c ci va fi mare, cnd fiecare pondere
alegere bun a vectorilor bazei ar fi dac acetia ar fi foarte diferii unul de altul, i astfel pot extrage mai multe caracteristici. Aceasta duce la ideea ca vectorii bazei s fie ortogonali. Dac matricea de transformare W este ortogonal, transformarea n sine se numete ortogonal. O alt observaie care ajut la selectarea vectorilor bazei este c acetia ar trebui s aib frecvene din ce n ce mai mari, extrgnd astfel caracteristici de frecven mai nalt din date pe parcursul calculului valorilor transformate. Aceste consideraii sunt satisfcute de matricea ortogonal: 1 1 1 1 1 1 1 1 (10.5) W= 1 1 1 1 1 1 1 1 Primul vector al bazei (rndul de sus al lui W) const numai din valori 1, deci frecvena sa este zero. Fiecare din vectorii urmtori are doi de +1 i doi de -1, deci produc valori transformate mici, i frecvenele lor (msurate ca numrul de schimbri de semn de-a lungul vectorului bazei) devin mai nalte. Aceast matrice este similar cu transformarea WalshHadamard [ref].
Totui, energia datelor originale este 42 + 62 + 52 + 22 = 81 , n timp ce energia valorilor transformate este 17 2 + 32 + (5) 2 + 12 = 324 , de patru ori mai mult. Este posibil a se conserva energia, prin multiplicarea matricei de transformare W prin factorul de scalare 1/2. Noul produs W (4, 6,5, 2)T genereaz acum valorile transformate (17/2, 3/2, -5/2, 1/2). Energia este conservat, dar este concentrat n prima component, care conine 8,52 / 81 = 89% din energia total, n comparaie cu datele originale, n care prima component coninea 42 / 81 = 20% din energie. Un alt avantaj al lui W este c efectueaz i transformarea invers.
Produsul W (17 / 2, 3 / 2, - 5 / 2, 1/ 2)T reconstruiete datele originale (4, 6, 5, 2). Pentru a aprecia eficiena transformrii, se cuantizeaz vectorul transformat (8,5; 1,5; -2,5; 0,5) n ntregii (9, 1, -3, 0) i se efectueaz transformarea invers, obinndu-se vectorul (3,5; 6,5; 5,5; 2,5). Un alt experiment este de a renuna complet la cele dou elemente mai mici ale vectorului i de a face transformarea invers pentru vectorul (8,5; 0; -2,5; 0). Aceasta produce datele reconstruite (3; 5,5; 5,5; 3), nc foarte apropiate de valorile originale. n concluzie i aceast transformare simpl este util n compresie.
(n care prima coloan este identic cu exemplul anterior), se poate aplica transformare uni-dimensional anterioar. Rezultatul este: 8,5 11,5 10,5 15 1 1 1 1 1,5 3,5 1,5 0 1 1 1 1 1 C' = WD = D= 2,5 0,5 0,5 3 2 1 1 1 1 0,5 0,5 2,5 0 1 1 1 1 Fiecare coloan din C este transformarea unei coloane din D. Se observ primul element al fiecrei coloane a lui C este dominant. De asemenea, toate coloanele au aceeai energie. Se poate considera c C este prima etap dintr-un proces n doi pai care produce transformarea bidimensional a matricei D. Pasul doi ar trebui s transforme fiecare linie a lui C, i aceasta se face prin nmulirea lui C cu transpusa WT. Pentru acest caz particular W sau 8,5 1,5 C= 2,5 0,5 este simetric, deci se ajunge la C=C'W T =WCW T
11,5 10,5 15 1 1 1 1 3,5 1,5 0 1 1 1 1 1 = 0,5 0,5 3 2 1 1 1 1 0,5 2,5 0 1 1 1 1 22, 75 2, 75 0, 75 3, 75 1, 75 3, 25 0, 25 1, 75 = 0, 25 3, 25 0, 25 2, 25 1, 25 1, 25 0, 75 1, 75 Elementul din stnga sus este dominant, coninnd 89% din energia total de 579 din matricea de date D original. Transformarea n doi pai, bi-dimensional, a redus corelarea att n dimensiunea vertical ct i n cea orizontal. n continuarea se vor prezenta pe scurt cteva transformri uzuale.
22
( b ) / k .
(i )
i
Se
definete un nou set de vectori v (i ) = b (i ) b , care vor avea media zero. Matricea transformrii KLT are dimensiunea nn i se noteaz cu A. Rezultatul transformrii vectorului v(i) este vectorul pondere w(i)=Av(i). Valoarea medie a lui w(i) este de asemenea zero. Se construiete o matrice V ale crei coloane sunt vectorii v(i) i o alt matrice ale crei coloane sunt vectorii pondere w(i). V=(v(1),v(2),.....,v(k)), W=(w(1),w(2),....,w(k)) (10.6) Matricele V i W au fiecare n linii i k coloane. Din definiia lui w(i) rezult c W=AV. Cei n vectori de coeficieni c(j) din transformarea Karhunen-Love sunt dai de relaia:
(2) (k ) c( j ) = ( w(1) j , w j ,..., w j ),
j = 1, 2,..., n
(10.7)
Astfel, vectorul c este format din elementele j ale tuturor vectorilor pondere w(i) cu i=1,2,...,k (c(j) este coordonata j a vectorilor w(i)). Se examineaz elementele matricei produs (WWT) (aceasta este o matrice de dimensiuni nn). Un element oarecare, din linia a i coloana b, al acestei matrice este o sum de produse:
(i ) (i ) ( W WT ) ab = wa wb = ci( a ) ci(b ) = c( a )c(b ) , pentru a, b [1, n] (10.8) i =1 i =1 k k
(j)
23
Deoarece valoarea medie a fiecrui vector w(i) este zero, un element (WWT)jj, de pe diagonala principal a matricei produs, este variana sau dispersia elementului j (sau a coordonatei j) a vectorului w(i). Elementele din afara diagonalei sunt covarianele vectorilor w(i), adic un element ( WWT ) ab este covariana coordonatelor a i b ale vectorilor w(i), care este egal cu produsul scalar c( a )c(b ) . Un deziderat major al transformrilor aplicate imaginii este de a decorela coordonatele vectorilor. Din teoria probabilitilor se tie c dou coordonate sunt decorelate, dac covariana lor este zero. Un alt deziderat este acela de compactare a energiei, care, de fapt este n strns legtur cu primul. Avnd n vedere aceste lucruri, se urmrete gsirea unei matrice de transformare A, astfel nct produsul (WWT) s fie o matrice diagonal. Din definiia matricei W se obine: (10.9) WWT=(AV)(AV)T=A(VVT)AT T Matricea VV este simetric, i elementele ei sunt covarianele coordonatelor vectorilor v(i):
(i ) (i ) (VV T ) ab = va vb , pentru a, b [1, n] i =1 k
(10.10)
Deoarece matricea (VV T ) este simetric, vectorii si proprii sunt ortogonali. Se normalizeaz aceti vectori, pentru a fi ortonormali i se aleg ca linii ale matricei A. Rezultatul obinut este:
1 0 0 2 T T T WW = A(VV ) A = 0 0 0 0 0 0 0 0 0 n
3