Fraktál alapú képtömörítés Bodó Zalán zbodo@cs.ubbcluj.ro BBTE Fraktál alapú képtömörítés p. 1/26
Bevezetés tömörítések veszteségmentes (lossless) - RLE, Huffman, LZW veszteséges (lossy) - kvantálás, fraktál alapú fraktál alapú képtömörítés alapötlet, stb. definíciók, tételek tömörítési, megjelenítési algoritmus particionálási módszerek Fraktál alapú képtömörítés p. 2/26
Veszteséges tömörítők jellemzése tömörítési arány torzulás kódolási és dekódolási idő Hűségi metrikák MSE: MSE(u, u ) = 1 n n 1 j=0 (u j u j )2 RMSE: RMSE(u, u ) = MSE(u, u ) ( ) PSNR: P SNR(u, u ) = 10 log 2 u 10 MSE(u,u ) Fraktál alapú képtömörítés p. 3/26
Run Lenght Encoding Σ - ábécé; (σ, n), σ Σ, n {1, 2,...} Fraktál alapú képtömörítés p. 4/26
Huffman kódolás S =ábécé; p(s) = k S, s S (megjelenési valószínűség; statisztika) fa megépítése a megjelenési statisztika függvényében; élekhez: 0, 1-et rendelünk ALG: p( ) kiszámolása L = S (L =lista) Fraktál alapú képtömörítés p. 5/26
Amíg L! = 0: s 1, s 2 minimális valószínűségű szimbólumok kiválasztása s 1 s 2 beszúrása a fába; s 1 s 2 0 s 1 ; s 1 s 2 1 s 2 vissza L-be: s 1 s 2 ; p(s 1 s 2 ) = p(s 1 ) + p(s 2 ) Amíg vége Fraktál alapú képtömörítés p. 6/26
Lempel-Ziv-Welch (LZW) ALG: STRING = input karakter Amíg van input: CHAR = input karakter Ha STRING+CHAR létezik a táblában, akkor STRING = STRING+CHAR Különben Kiír(STRING kódja) Hozzáadjuk a STRING+CHAR-t a táblához STRING = CHAR Ha vége Amíg vége Fraktál alapú képtömörítés p. 7/26
Kvantálás valós számok egészként való ábrázolása; veszteséges művelet Pl: x = 2.78452; w = 4 kvantálás: round(x w) = 11 visszaalakítás: tárolt érték/w = 11/4 = 2.75 Fraktál alapú képtömörítés p. 8/26
Fraktál alapú képtömörítés M.F. Barnsley, A. Jacquin: kép mint transzformáció tárolása [transzformáció paramétereinek tárolása] IFS: {X; w n, n = 1, 2,..., N} W ( ) = N n=1 w n( ) önhasonlóság a képekben (!!!) Jacquin: nem IFS, hanem PIFS: w i : D i R i, úh. i R i = I [R i R j = ], D i I (I-kép) affin transzformációk: Fraktál alapú képtömörítés p. 9/26
w i x y z = a i b i 0 c i d i 0 0 0 s i x y z + e i f i o i s i - kontraszt-skálázás (contrast scaling) o i - fényesség-eltolás (brightness offset) Fraktál alapú képtömörítés p. 10/26
Alapötlet keressünk egy olyan transzformáció-halmazt (kontrakciós tr.h.), melynek fixpontja a kódolni kívánt kép lesz (Barnsley, Jacquin) Fraktál alapú képtömörítés p. 11/26
Egy kis elmélet... Metrikus terek Affin transzformációk: w( x) = A x + b Fixpont: f(x f ) = x f Kontrakció: Az f : X X (X, d) metrikus téren értelmezett transzf. kontrakció ha s [0, 1) úh. d(f(x), f(y)) s d(x, y), x, y X Előreiterált: f m (x) Hátraiterált: f ( n) (x) Fraktál alapú képtömörítés p. 12/26
IFS Iterált függvényrendszerek (IFS): Legyen (X, d) metrikus tér. A w n : X X, n = 1, 2,..., N kontrakciós leképzések véges halmazát {X; w n, n = 1,..., N} iterált függvényrendszernek nevezzük. Ha w n kontrakciós együtthatója s n, akkor az IFS (W = n w n) kontrakciós együtthatója s = max{s n n = 1,..., N}. Fraktál alapú képtömörítés p. 13/26
IFS-tétel Legyen {X; w n, n = 1,..., N} egy s k.e.-val rendelkező IFS. Ekkor az alábbiak szerint definiált W : H(X) H(X) transzformáció N W (B) = w n (B), n=1 minden B-re egy (H(X), h(d)) téren értelmezett kontrakciós leképzés, azaz h(w (B), W (C)) s h(b, C), B, C H(X) Rendelkezik egy egyedi A H(X) fixponttal, amelyre A = W (A) = N n=1 w n(a) teljesül, és A = lim n W n (B), B H(X). Az A halmazt az IFS attraktorának nevezzük. Fraktál alapú képtömörítés p. 14/26
Kollázs tétel (Barnsley, 1985) Legyen (X, d) egy TMT. Legyen továbbá T H(X) és ɛ > 0. Válasszunk egy olyan s [0, 1) k.e.-jú {X; w n, n = 1,..., N} IFS-t, melyre N h(t, w n (T )) ɛ Ekkor n=1 h(t, A) ɛ 1 s ahol A az IFS attraktora. Ekvivalens módon h(t, A) (1 s) 1 h(t, N n=1 w n (T )), T Fraktál alapú képtömörítés p. 15/26
Képek tömörítése Egy T képre határozzuk meg az R i blokkokat úh. T = R i Hat. meg egy t tolerancia-szintet Minden R i -re: Hat. meg az a D i domain-blokkot, melyre d(r i, D i ) minimális vagy < t Tároljuk el a w i transzformáció és a D i blokk paramétereit Minden vége Fraktál alapú képtömörítés p. 16/26
(domain blocks) d (selected domain block) (spatial contraction ) (8 isometries) (affine transformation) (range blocks) r δ r,r r (compute distance) (transformed block) Fraktál alapú képtömörítés p. 17/26
Megjelenítés Amíg nem konvergál: Minden eltárolt D i domain-blokkra: Minden pontra D i -ből: Hat. meg a D i -hez tartozó w i transzformációval a pont koordinátáit és pixelintenzitását Rajzoljuk ki a pontot Minden vége Minden vége Amíg vége Fraktál alapú képtömörítés p. 18/26
Távolság, s, o D i = {a 1,..., a n }, R i = {b 1,..., b n } R = n i=1 [(s a i + o) b i ] 2 min o = 1 n ( n i=1 b i s n i=1 a i) s = n n i=1 a ib i n i=1 a i n j=1 b j n n i=1 a2 i ( n i=1 a i) 2 távolság (metrika): R Fraktál alapú képtömörítés p. 19/26
Particionálások négyzetes ( ) quadtree ( ) HV ( ) hatszög alapú háromszög alapú (Delaunay, stb.) stb. Fraktál alapú képtömörítés p. 20/26
1. Négyzetes particionálás Transzformációk (izometriák): azonosság tükrözés Oy-ra tükrözés Ox-re 180 -os forgatás tükrözés y = x-re 90 -os forgatás 270 -os forgatás tükrözés y = x-re Fraktál alapú képtömörítés p. 21/26
With fractal image compression, two 2. Quadtree particionálás One is the search strategy used for related to how to effectively partition The development of an Fraktáleffective alapú képtömörítés p. 22/26sea
With fractal image compression, two other important issue One is the search strategy used for finding range-doma related to how to effectively partition the range blocks. 3. HV particionálás p ij, i = 0,..., M 1 (sor), j = 0,..., N 1 (oszlop) S i sor = N 1 j=0 p ij S j osz = M 1 i=0 p ij h i = min(i,m i 1) M 1 v j = min(j,n j 1) N 1 max h i, v j ( S i sor Ssor i+1 ) ( ) Sosz j Sosz j+1 The development of an effective search strategy is impor Fraktál alapú képtömörítés p. 23/26
Lenna Lena Soderberg (Sjööblom) Fraktál alapú képtömörítés p. 24/26
Playboy 1972 November Fraktál alapú képtömörítés p. 25/26
Fraktál alapú képtömörítés p. 26/26