Compresia bazata pe fractali
Download
Report
Transcript Compresia bazata pe fractali
UNIVERSITY POLITEHNICA of BUCHAREST
DEPARTMENT OF COMPUTER SCIENCE
Conf. Dr. Ing. Costin-Anton Boiangiu
<[email protected]>
Compresia bazata pe fractali
Ce sunt fractalii?
Termenul fractal provine din latinescul fractus, care înseamnă
"spart“, "fracturat“ si a fost introdus de Benoît Mandelbrot, în
1975
Un fractal este un obiect matematic care are o structură detaliată
la orice scara; in structura unui fractal, fiecare parte este
asemănătoare cu fractalul întreg (este autosimilar)
2
Exemple de fractali
Curba lui Koch
perimetrul = 3
perimetrul = 4 perimetrul = 5.33 perimetrul = 7.11
Continuând, perimetrul = infinit, pentru această figură
geometrică inclusă într-o mulţime cu aria finită
3
Exemple de fractali
Curba lui Hilbert
Curba lui Hilbert este un exemplu de curbă continuă, de
lungime infinită, fără autointersecţii, care “umple” un
pătrat
4
Exemple de fractali
Buretele lui Menger
5
Fractalii si codarea imaginilor
Interpolare fractală (codarea imaginii)
Ştiţi câte ecuaţii liniare (y=ax+b) sunt necesare pentru a descrie
complet această imagine fractală, adică pentru a o memora şi a o
reconstrui?
Raspuns: DOAR 4!!!
6
Istoric
Fractalii sunt o ramură elegantă, distinctă a matematicii
pure care fac posibilă generarea unor structuri extrem de
complexe folosind doar ecuaţii foarte simple
Compresia imaginilor pe baza fractalilor era până de
curând întâmpinată cu scepticism, ea părând foarte
avantgardistă şi irealizabilă
In februarie 1992 principalul comerciant al acestei
tehnologii Iterated Systems Inc., a vândut licenţa
Microsoft-ului şi astfel a căpătat credibilitate “peste
noapte”
7
Principiul compresiei
Să considerăm o ipoteză simplificatoare, aceea a unei maşini de copiat care
reduce imaginea şi o multiplică de trei ori:
Să ne închipuim ca introducem de fiecare dată ieşirea maşinii la intrarea
acesteia => un şir de transformări "contractive" ce stabilizează imaginea
O transformare f, "contractivă" este o transformare ce micşorează distanţele:
Adică există S < 1 astfel încât pentru orice combinaţie de vectori x, y
ecuaţia este satisfăcută.
8
Exemplu
Efectul masinii copiator in functie de intrare
9
Exemplu
Imagini de pornire, tranformările aplicate la un pas,
atractorul şi un "zoom" al atractorului
10
Codificarea
În continuare transformările vor fi descrise ca fiind aplicate
asupra imaginilor uni-componentă ("GrayScale").
Imaginile vor fi gândite ca un câmp de înalţime ("HeightField") sau ca un graf de conectare între pixelii adiacenţi
imaginii, fiecare nod fiind caracterizat de o înălţime dată de
intensitatea culorii în acel punct:
11
Codificarea
În primul rând se porneşte de la o partiţionare a imaginii în blocuri
pătrate de dimensiuni 2Bx2B numite blocuri domeniu ("domain
blocks")
Ele sunt utilizate ca blocuri de construcţie pentru alte blocuri pătrate
de dimensiuni mai mici BxB numite blocuri interval ("range
blocks")
Problema este pentru fiecare bloc domeniu de a gasi un bloc interval
care să-l identifice cel mai bine fiindu-i aplicat un set de transformări
12
Compresia
O colecţie de blocuri domeniu D ("domain pool") este
definită ca fiind compusă din toate blocurile imaginii de
dimensiuni 2Bx2B care pot fi extrase din imagine iar o
colecţie de transformări T este definită ca mulţimea
tuturor transformărilor masice aplicabile blocurilor din D
Ca atare problema este de a găsi perechea optimă DixTi
din DxT care asigură distorsiuni minime!!!
13
Algoritmul de compresie
Dacă blocul interval este clasificat ca bloc masic transformarea
este doar o "transformare de masă" (absorbţie la nivel gri G,
toţi pixelii iau valoarea G şi nu e nevoie de nici o căutare în D)
Dacă blocul interval nu este clasificat ca bloc masic
transformarea este constituită din două părţi:
Transformare geometrică: scalare de la 2Bx2B la BxB şi
deplasament în spaţiul imaginii
Transformare de masă: cuprinde două aspecte:
Contrast/Luminanţă care manipulează nivelele de gri din bloc
Transformare izometrică care amestecă pixelii din interiorul unui bloc
Găsirea blocurilor ce se pot combina cât mai bine din punct de
vedere al SNR nu este deloc un pas trivial, din contră este cel
care asigură o rată de compresie bună şi un timp de execuţie al
compresiei cât mai scăzut
14
Exemplu
Blocuri "similare" din punct de vedere al transformărilor
geometrice şi de masă ce pot fi aplicate
15
Operaţiile posibile în cadrul
transformării de masă
Scalarea contrastului cu <ALPHA>:
Shiftarea luminozităţii cu <BETA>:
Izometrie cu <GAMMA>:
Izometria constă în una din cele 8 transformări definite în tabelul următor:
GAMMA
1
2
3
4
5
6
7
8
Acţiune efectuată
Identitate
Reflexie după axa Ox la mijloc
Reflexie după axa Oy la mijloc
Reflexie după prima diagonală
Reflexie după a doua diagonală
Rotaţie cu +90°
Rotaţie cu +180°
Rotaţie cu -90°
16
Algoritmul de compresie
transformare domeniu-interval constă din aplicarea
succesivă a celor 3 transformări descrise anterior în ordinea
exactă a definirii lor:
O
Procesul de decodificare constă în iterări succesive asupra unei
imagini iniţiale arbitrare; iteraţie după iteraţie imaginea se
stabilizează (procesul converge către o imagine stabilă)
Alegerea unei imagini "bune" ca start poate grăbi procesul de
convergenţă la o imagine stabilă (se va avea în vedere nivelul
diferenţelor de contrast şi luminozitate dintre cele două imagini
17
Exemplu codificare
Blocul interval din coltul stanga
sus este foarte asemanator cu
blocul domeniu din coltul dreata
Se folosesc un numar foarte mari
de comparatii si calcule
256x256
dimensiunea
imaginii
originale
16x16
dimensiunea blocurilor
parinte
241*241 = 58,081 comparatii intre
blocuri
Exemplu decodificare
Imaginea initiala
Imaginea de inceput
pentru decodificare
Exemplu decodificare
Prima iteratie
A doua iteratie
Exemplu decodificare
A 5-a iteratie
A 10-a iteratie
Alte exemple
Şirul de iteraţii pentru deducerea pozei "Lenna" pornind de la o
imagine neagră; rezultatul obţinut este caracterizat de o rată de
compresie de 11.31 şi de un raport semnal-zgomot de 25.95 dB
22
Alte exemple
Comparatia dintre un "zoom 4X" realizat pe imaginea
decompresată folosind tehnica iterativă a fractalilor
(stânga) şi pe imaginea iniţială (dreapta)
23
Alte exemple
Şirul de iteraţii pentru deducerea pozei "San Francisco" pornind de la
o imagine fără nici o legatură cu poza de decodificat "Orc“;
rezultatul obţinut este caracterizat de o rată de compresie de 7.34 şi
de un raport semnal-zgomot de 21.18 dB
24
Statistici
Efectul variatiei numărului de blocuri domeniu comparate
cu blocuri interval în timpul codificării
25
Statistici
Convergenţa la o imagine stabilă în funcţie de numărul de
iteraţii
26
Statistici
Convergenţa la o imagine stabilă în funcţie de numărul de
iteraţii
27
Statistici
Imaginea originală
(184,320 bytes)
JPEG-maximă calitate
(32,072 bytes)
raţia de compresie: 5.75:1
Compresie fractală (30,368 bytes)
raţia de compresie 6.07:1
28
Statistici
Calitate contra factor de compresie între compresie
"Fractal” şi JPEG
29
Concluzii
Susţinătorii compresiei Fractal indică trei performanţe distincte
faţă de Transformarea Cosinus Discretă („Discrete Cosine
Transform” - DCT), tehnica de bază găsită în JPEG:
eficienţă ridicată a compresiei
independenţa rezoluţiei
decompresia software
Avantaje:
Valorifica similaritatile din interiorul imaginilor
Rata de compresie teoretica este foarte mare
Decompresie foarte rapida
Interpolare avansata a detaliilor
30
Concluzii
Procesul de transformare bazată pe fractali al unei imagini este
clar asimetric (compresia este mare consumatoare de timp
făcând metoda greu de utilizat practic, în timp ce decompresia
este foarte rapidă necesitând doar executia unui set de iteraţii)
Avantajul abordării compresiei folosind tehnica este păstrarea
detaliilor în imagine şi reproducerea acestora chiar la anumite
nivele de zoom
Procesul de decodificare (dat fiind că au fost implicate numai
trasformări geometrice elementare) nu ţine cont de
dimensiunile imaginii iniţiale, putându-se obţine detalii chiar la
nivele mari de "zoom" după o serie de iteraţii suficiente
31
Concluzii
În termenii eficienţei compresiei, ISI declară rate de până
la 75-la-1, reducând o imagine color de 768 kB la
nesemnificativii 10 kB
Oricum, acest lucru poate fi realizat de către tehnicile
DCT; totuşi, marele avantaj este că rezoluţia este crescută
la fiecare iteraţie a software-ului de decompresie
In concluzie, este posibil să negociem timpul de
decompresie faţă de rezoluţia de afişare
O reprezentare Fractal a unei imagini este, deci, total
independentă de rezoluţia ecranului, permiţând imaginilor
să fie scalate cu uşurinţă
32