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