FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV MATEMATIKY

Podobné dokumenty
ŠIFROVACÍ METODA ZALOŽENÁ NA FRAKTÁLNÍ KOMPRESI. 1. Úvod. V posledních letech se ukázalo, že teorii fraktálů lze využít v mnoha teoretických

ztrátová odstraňuje zbytečné informace z obrazu. Různé druhy ztrátových kompresních metod se liší podle druhu odstraněných zbytečných informací.

Fraktály. Kristina Bártová. Univerzita Karlova v Praze 9.prosince

Počítačové zobrazování fraktálních množin. J. Bednář*, J. Fábera**, B. Fürstová*** *Gymnázium Děčín **SPŠ Hronov ***Gymnázium Plasy

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO

13 Barvy a úpravy rastrového

Definice 1.1. Nechť je M množina. Funkci ρ : M M R nazveme metrikou, jestliže má následující vlastnosti:

INVESTICE DO ROZVOJE VZDĚLÁVÁNÍ. Modernizace studijního programu Matematika na PřF Univerzity Palackého v Olomouci CZ.1.07/2.2.00/28.

PŘEDNÁŠKA 2 POSLOUPNOSTI

Fraktály. Ondřej Bouchala, George Dzhanezashvili, Viktor Skoupý

9 Kolmost vektorových podprostorů

10 Funkce více proměnných

5. Lokální, vázané a globální extrémy

Vektorové podprostory, lineární nezávislost, báze, dimenze a souřadnice

Teorie informace a kódování (KMI/TIK) Reed-Mullerovy kódy

Algoritmizace prostorových úloh

i=1 Přímka a úsečka. Body, které leží na přímce procházející body a a b můžeme zapsat pomocí parametrické rovnice

Aplikovaná numerická matematika

Úvod do počítačové grafiky

Základy informatiky. 10 Počítačová grafika

8.3). S ohledem na jednoduchost a názornost je výhodné seznámit se s touto Základní pojmy a vztahy. Definice

GEOGRAFICKÉ INFORMAČNÍ SYSTÉMY 6

Projekty - Úvod do funkcionální analýzy

Matematická analýza III.

Počítačová grafika. OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely

Drsná matematika III 1. přednáška Funkce více proměnných: křivky, směrové derivace, diferenciál

METRICKÉ A NORMOVANÉ PROSTORY

IV. Základní pojmy matematické analýzy IV.1. Rozšíření množiny reálných čísel

FREDHOLMOVA ALTERNATIVA

Limita a spojitost funkce a zobrazení jedné reálné proměnné

Euklidovský prostor. Funkce dvou proměnných: základní pojmy, limita a spojitost.

2. přednáška 8. října 2007

Náhodné chyby přímých měření

Světlo, které vnímáme, představuje viditelnou část elektromagnetického spektra. V

Kompresní algoritmy grafiky. Jan Janoušek F11125

Funkce komplexní proměnné a integrální transformace

Matematika pro informatiky

Úvod do GIS. Prostorová data II. část. Pouze podkladová prezentace k přednáškám, nejedná se o studijní materiál pro samostatné studium.

Dnešní látka Variačně formulované okrajové úlohy zúplnění prostoru funkcí. Lineární zobrazení.

Definice. Vektorový prostor V nad tělesem T je množina s operacemi + : V V V, tj. u, v V : u + v V : T V V, tj. ( u V )( a T ) : a u V které splňují

Aplikovaná numerická matematika - ANM

Afinita je stručný název pro afinní transformaci prostoru, tj.vzájemně jednoznačné afinní zobrazení bodového prostoru A n na sebe.

Digitální učební materiál

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou

12 Metody snižování barevného prostoru

9 Prostorová grafika a modelování těles

Učební texty k státní bakalářské zkoušce Matematika Skalární součin. študenti MFF 15. augusta 2008

Téma: Barevné modely, formáty souborů

Kapitola 1. Úvod. 1.1 Značení. 1.2 Výroky - opakování. N... přirozená čísla (1, 2, 3,...). Q... racionální čísla ( p, kde p Z a q N) R...

Faculty of Nuclear Sciences and Physical Engineering Czech Technical University in Prague

Matematika III. 4. října Vysoká škola báňská - Technická univerzita Ostrava. Matematika III

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19

Grafika na počítači. Bc. Veronika Tomsová

Barvy a barevné modely. Počítačová grafika

Pravděpodobnost a statistika

VYUŽITÍ POČÍTAČOVÉ GRAFIKY

Ing. Jan Buriánek. Katedra softwarového inženýrství Fakulta informačních technologií České vysoké učení technické v Praze Jan Buriánek, 2010

IVT. Rastrová grafika. 8. ročník

Přednáška 3: Limita a spojitost

Fraktály a chaos. Za otce fraktální geometrie je dnes považován Benoit Mandelbrot. Při zkoumání chyb při

(4x) 5 + 7y = 14, (2y) 5 (3x) 7 = 74,

p 2 q , tj. 2q 2 = p 2. Tedy p 2 je sudé číslo, což ale znamená, že

Grafy. RNDr. Petra Surynková, Ph.D. Univerzita Karlova v Praze Matematicko-fyzikální fakulta.

1 Řešení soustav lineárních rovnic

Učební texty k státní bakalářské zkoušce Matematika Základy lineárního programování. študenti MFF 15. augusta 2008

3. přednáška 15. října 2007

Vektory a matice. Obsah. Aplikovaná matematika I. Carl Friedrich Gauss. Základní pojmy a operace

BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ENERGETICKÝ ÚSTAV FACULTY OF MECHANICAL ENGINEERING ENERGY INSTITUTE

Matematika I 12a Euklidovská geometrie

Jordanova křivka a její využití

Rozšíření bakalářské práce

Registrační číslo projektu: CZ.1.07/1.5.00/ Elektronická podpora zkvalitnění výuky CZ.1.07 Vzděláním pro konkurenceschopnost

7 Analytické vyjádření shodnosti

6 Skalární součin. u v = (u 1 v 1 ) 2 +(u 2 v 2 ) 2 +(u 3 v 3 ) 2

Matematická analýza pro informatiky I.

Matematika B101MA1, B101MA2

Dynamické systémy 4. Deterministický chaos. Ing. Jaroslav Jíra, CSc.

Vyhodnocení 2D rychlostního pole metodou PIV programem Matlab (zpracoval Jan Kolínský, dle programu ing. Jana Novotného)

Funkce a lineární funkce pro studijní obory

ŘADY KOMPLEXNÍCH FUNKCÍ

2D transformací. červen Odvození transformačního klíče vybraných 2D transformací Metody vyrovnání... 2

V předchozí kapitole jsme podstatným způsobem rozšířili naši představu o tom, co je to číslo. Nadále jsou pro nás důležité především vlastnosti

Geometrické transformace

POČÍTAČOVÁ GRAFIKA. Lenka Bednaříková

Geometrická optika. Vnímání a měření barev. světlo určitého spektrálního složení vyvolá po dopadu na sítnici oka v mozku subjektivní barevný vjem

Zobrazování těles. problematika geometrického modelování. základní typy modelů. datové reprezentace modelů základní metody geometrického modelování

I. Diferenciální rovnice. 3. Rovnici y = x+y+1. převeďte vhodnou transformací na rovnici homogenní (vzniklou

Důkaz Heineho Borelovy věty. Bez újmy na obecnosti vezmeme celý prostor A = M (proč? úloha 1). Implikace. Nechť je (M, d) kompaktní a nechť.

Množinu všech slov nad abecedou Σ značíme Σ * Množinu všech neprázdných slov Σ + Jazyk nad abecedou Σ je libovolná množina slov nad Σ

Dnešní látka Opakování: normy vektorů a matic, podmíněnost matic Jacobiova iterační metoda Gaussova-Seidelova iterační metoda

Fraktální geometrie. Topologická a fraktální dimenze. Vypracovali: Jiří Thoma Jiří Pelc Jitka Stokučová

ZPRACOVÁNÍ OBRAZU přednáška 4

Jana Dannhoferová Ústav informatiky, PEF MZLU

Definice 13.1 Kvadratická forma v n proměnných s koeficienty z tělesa T je výraz tvaru. Kvadratická forma v n proměnných je tak polynom n proměnných s

Počítačová grafika. Studijní text. Karel Novotný

TOPOLOGIE A TEORIE KATEGORIÍ (2017/2018) 4. PREDNÁŠKA - SOUČIN PROSTORŮ A TICHONOVOVA VĚTA.

Kde se používá počítačová grafika

Matematika 2 Úvod ZS09. KMA, PřF UP Olomouc. Jiří Fišer (KMA, PřF UP Olomouc) KMA MA2AA ZS09 1 / 25

Škola: Gymnázium, Brno, Slovanské náměstí 7 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN

Reprezentace bodu, zobrazení

Transkript:

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY FAKULTA STROJNÍHO INŽENÝRSTVÍ ÚSTAV MATEMATIKY FACULTY OF MECHANICAL ENGINEERING INSTITUTE OF MATHEMATICS FRAKTÁLNÍ FRACTAL IMAGE COMPRESSION KOMPRESE OBRAZU BAKALÁŘSKÁ PRÁCE BACHELOR S THESIS AUTOR PRÁCE AUTHOR TOMÁŠ GRÍSA VEDOUCÍ PRÁCE SUPERVISOR doc. PaedDr. Dalibor Martišek, Ph.D. BRNO 2011

Vysoké učení technické v Brně, Fakulta strojního inženýrství Ústav matematiky Akademický rok: 2010/2011 ZADÁNÍ BAKALÁŘSKÉ PRÁCE student(ka): Tomáš Grísa který/která studuje v bakalářském studijním programu obor: Matematické inženýrství (3901R021) Ředitel ústavu Vám v souladu se zákonem č.111/1998 o vysokých školách a se Studijním a zkušebním řádem VUT v Brně určuje následující téma bakalářské práce: v anglickém jazyce: Fraktální komprese obrazu Fractal Image Compression Stručná charakteristika problematiky úkolu: Práce se bude zabývat základními principy fraktální komprese obrazu Cíle bakalářské práce: V práci bude definovám pojem fraktálu, vysvětlen pojem komprese obrazu a její základní principy. Součástí práce bude softwarové řešení, které bude tyto principy demonstrovat na modelových obrazech.

Seznam odborné literatury: Sobotka, Branislav; Grafické formáty - České Budějovice Kopp 1996. Yuval Fisher: Fractal Image Compression, Springer Verlag, 1995 Vedoucí bakalářské práce: doc. PaedDr. Dalibor Martišek, Ph.D. Termín odevzdání bakalářské práce je stanoven časovým plánem akademického roku 2010/2011. V Brně, dne 19.11.2010 L.S. prof. RNDr. Josef Šlapal, CSc. Ředitel ústavu prof. RNDr. Miroslav Doupovec, CSc. Děkan fakulty

Abstrakt Tato práce má za cíl definovat pojem fraktál, vysvětlit pojem komprese obrazu a popsat metodu fraktální komprese obrazu, kterou poté prakticky naprogramovat pro použití na reálných obrazových datech. Abstract The aim of this bachelor s thesis is to define fractal, explain an image compression methods and describe fractal image compression. Then make an application of fractal image compression in a form of computer program, which can be used for real digital images. Klíčová slova Komprese, fraktál, fraktální komprese obrazu Key words Compression, fractal, fractal image compression GRÍSA, T. Fraktální komprese obrazu. Brno: Vysoké učení technické v Brně, Fakulta strojního inženýrství, 2011. 42 s. Vedoucí bakalářské práce doc. PaedDr. Dalibor Martišek, Ph.D.

Prohlašuji, že jsem bakalářskou práci Fraktální komprese obrazu vypracoval samostatně pod vedením doc. PaedDr. Dalibora Martiška, Ph.D. s použitím materiálů uvedených v seznamu literatury. Tomáš Grísa

Děkuji svému školiteli doc. PaedDr. Daliboru Martiškovi, Ph.D. za četné rady a připomínky při vedení mé bakalářské práce. Tomáš Grísa

OBSAH ÚVOD 8 1 DIGITÁLNÍ OBRAZ 9 1.1 Základní rozdělení............................... 9 1.2 Reprezentace barev............................... 10 1.2.1 Barevné modely............................. 10 2 KOMPRESE 12 2.1 Bezeztrátová komprese............................. 12 2.2 Ztrátová komprese............................... 13 3 MATEMATICKÉ PRINCIPY 14 4 FRAKTÁL 19 4.1 Zavedení pojmu fraktál............................. 19 4.2 Vlastnosti.................................... 19 4.2.1 Soběpodobnost............................. 19 4.2.2 Atraktor................................. 20 4.3 Typy fraktálů.................................. 20 4.3.1 L-systémy................................ 20 4.3.2 Systém iterovaných funkcí IFS..................... 21 4.3.3 Dynamické systémy s fraktální strukturou.............. 22 4.3.4 Náhodné fraktály............................ 22 5 FRAKTÁLNÍ KOMPRESE OBRAZU 23 5.1 Využití kolážové věty.............................. 23 5.2 Algoritmus komprese.............................. 24 5.2.1 Výpočet koeficientů........................... 24 5.2.2 Dělení na oblasti............................ 25 5.2.3 Hledání vhodné domény........................ 25 5.3 Algoritmus dekomprese............................. 26 5.3.1 Barevné obrazy............................. 26 5.3.2 Fraktální zvětšování.......................... 27 6 PROGRAMOVÁ IMPLEMENTACE 28 6.1 Algoritmus komprese.............................. 28 6.1.1 Dělení na oblasti............................ 28 6.1.2 Hledání vhodné domény........................ 28 6.1.3 Protokol průběhu komprese...................... 29 6.2 Algoritmus dekomprese............................. 29 ZÁVĚR 30 LITERATURA 31 SEZNAM OBRÁZKŮ 32 PŘÍLOHA 33 7

ÚVOD Při práci s digitálními daty je jedním z mnoha kritérií velikost těchto dat. Převážně v oblasti práce s digitálním obrazem se k tomuto váže i kritérium kvality (nebo přesnosti reprodukce původního obrazu). Tímto se zabývají metody obrazové komprese, které zmenšují velikost digitálních obrazových dat na základě různých matematických principů. Tato bakalářská práce pojednává o fraktální kompresi obrazu, což je ztrátová metoda komprese digitálního obrazu založená na vlastnostech fraktální geometrie. Důležitou součástí této práce je program, který prakticky demonstruje využití fraktální komprese na reálných digitálních obrazech. Samotná práce je rozdělena do šesti kapitol. První kapitola se zaměřuje na základní rozdělení digitálních obrazů a reprezentaci barev v těchto obrazech. Druhá kapitola pak pojednává o kompresi digitálních dat. Ve třetí kapitole jsou uvedeny matematické definice potřebné pro zavedení pojmu fraktál, a dále matematické základy pro fraktální kompresi. Věty a definice uvedené v této kapitole byly čerpány z [1], [2], [4] a [5]. Čtvrtá kapitola shrnuje základní vlastnosti fraktálů a jejich rozdělení. Pátá kapitola se věnuje přesnému popisu algoritmu fraktální komprese a dekomprese, kde využijeme poznatků uvedených v předešlých kapitolách. Na tuto kapitolu navazuje kapitola šestá, ve které je popsán program demonstrující využití fraktální komprese a dekomprese. Výsledky při použití tohoto programu na různé digitální obrazy se nachází v příloze na konci bakalářské práce. 8

1 DIGITÁLNÍ OBRAZ Digitální obraz je reprezentace lidského zrakového vjemu pomocí konečné množiny digitálních hodnot. Dále v textu je digitální obraz zkracován pouze na obraz. 1.1 Základní rozdělení Podle způsobu reprezentace dat v obraze rozlišujeme obraz rastrový a vektorový. Rastrový obraz Obraz je popsán pomocí konečného počtu obrazových bodů (elementů), které jsou rozmístěny v pravidelné pravoúhlé mřížce. Každý obrazový bod má jednoznačně určenou polohu a barvu. Barva bodu je určena pomocí některého barevného modelu (viz. 1.2.1). Rastrový obraz modelujeme matematicky pomocí tzv. obrazové matice typu m n, typ této matice nazýváme rozlišením obrazu. Kvalita obrazu je dána rozlišením, barevnou hloubkou a případnou degradací ztrátovou kompresí (viz. 2.2). Výhody: snadné pořízení obrazu - dnes můžeme rastrový obraz snadno pořídit digitálním fotoaparátem, skenerem, atd. Nevýhody: změna velikosti - při změně velikosti dochází ke zhoršení kvality, nebot při zvětšení se musí některé body dopočítat. Naopak při zmenšování se některé hodnoty průměrují pamět ové nároky - jestliže musíme uchovávat informace o každém bodu obrazu, je celková velikost nekomprimovaného obrazu přímo úměrná počtu obrazových bodů. Pokud tedy chceme uchovat obraz s velmi vysokým rozlišením, může dosahovat až stovek megabajtů. Toto je důvod, proč se zabýváme kompresí, viz. 2. Vektorový obraz Obraz je složen ze základních geometrických útvarů jako jsou body, přímky, křivky a mnohoúhelníky. Každý objekt je tedy popsán pouze rovnicí, která určuje jeho tvar, a polohou. Dále má každý objekt přiřazenu určitou barvu. Výhody: změna velikosti - obraz je možno zvětšovat či zmenšovat beze ztráty kvality pamět ové nároky - zde uchováváme pouze informace popisující daný geometrický objekt, jeho umístění a informaci o barvě. Datový soubor je většinou podstatně menší než kvalitní rastrový obraz. Nevýhody: omezené použití - vhodný převážně pro tzv. vektorovou grafiku (grafiku skládající se převážně ze základních geometrických útvarů). 9

1.2 Reprezentace barev Barevný vjem vzniká podrážděním specializovaných buněk (tzv. čípků) lidského oka elektromagnetickým vlněním s frekvencí řádově 10 8 MHz. Každé frekvenci v této oblasti odpovídá určitá barva. Jejich rozsah je od červené barvy (4, 3 10 8 MHz) až po fialovou (7, 5 10 8 MHz). V rámci tohoto tzv. viditelného spektra je člověk schopen rozlišit více jak 4 10 5 barev a jejich odstínů. Podle frekvence světelného zdroje světlo rozlišujeme na: achromatické - obsahuje všechny barvy monochromatické - obsahuje pouze jednu barvu. Světlo Samotné světlo je charakterizováno několika vlastnostmi: barva - základní atribut světla, závisí na frekvenci jas - odpovídá intenzitě světla sytost barvy - udává její čistotu, 100% sytost představuje barvu bez příměsi černé a bílé světlost - je velikost achromatické složky ve světle s určitou dominantní frekvencí. 1.2.1 Barevné modely Důležitým faktorem je, jak dosáhnout požadované barvy. Existují totiž určité barvy (základní barvy), jejichž mícháním jsme schopni dosáhnout téměř jakékoli barvy. U barev digitálního obrazu je tedy důležité určit základní množinu barev a dále způsob, jak je kombinovat. Rozlišujeme dva základní způsoby kombinace (míchání) barev: aditivní míchání barev - jednotlivé složky barev se sčítají a vytváří světlo větší intenzity. Smícháním všech složek dohromady dostáváme bílou barvu. Typický je model RGB subtraktivní míchání - přidávaná barva pohlcuje část původního spektra. Smícháním všech složek dohromady dostáváme černou barvu. Typický je model CMY(K). Na základě tohoto rozdělení můžeme mluvit o barevných modelech. Tyto jsou charakterizovány množinou základních barev a způsobem jejich míchání. V dnešní době existuje několik barevných modelů. Mezi základní patří: RGB, CMY(K), HSB, HSL, a z hlediska lidského vnímání barev model YUV. 10

Model RGB U tohoto modelu jsou barvy vytvářeny aditivním způsobem. Základní použité složky (komponenty) jsou: R-Red (červená), G-Green (zelená), B-Blue (modrá). Pro tyto barvy je příznačné, že lidské oko má největší citlivost právě pro jejich vlnové délky (630, 530 a 450 nm ). Každá barva je udána hodnotou již zmíněných tří základních barev (komponent). Hodnota může být zadána v procentech (dekadický způsob), nebo podle použité barevné hloubky jako určitý počet bitů vyhrazených pro barevnou komponentu (pro 8 bitů na komponentu je rozsah hodnot 0 255, pro 16 bitů na komponentu je rozsah hodnot 0 65535 ). Model YUV Tento model se někdy označuje jako model UWB. Jedná se o model respektující způsob vnímání barvy, nebot lidské oko má 2 druhy receptorů (tzv. tyčinky a čípky). Tyčinky vnímají jas, čípky jsou citlivé na barvy (přesněji na rozdíl spektra červená-zelená a modrá-žlutá). Podle těchto skutečností byl navržen i tento model, který obsahuje 3 složky: Y(B)-jas, U a V(W) - dvě barevné složky. Vztah mezi RGB a YUV je dán následujícími rovnicemi: Y U V R G B = = 1 0 1, 137 1 0, 397 0, 580 1 2, 034 0 0, 299 0, 587 0, 144 0, 147 0, 289 0, 436 0, 615 0, 515 0, 100 Y U V (1.1) R G B (1.2) 11

2 KOMPRESE Základním úkolem komprese (komprimace) je zmenšení velikosti dat (např. textu, obrázku), ale přitom zachovat všechny původní informace. Důležitým požadavkem je schopnost rekonstruovat data do původní podoby (nebo alespoň jejich většinu). Komprese tedy probíhá jako transformace z jedné reprezentace do jiné, přičemž základem této transformace je odstranění redundance z dat. Kompresi můžeme rozdělovat podle různých hledisek: bezeztrátová - viz. 2.1 ztrátová - viz. 2.2. Dále můžeme kompresi dělit dle náročnosti (nejčastěji časové) kompresního a dekompresního procesu: symetrická - kompresní a dekompresní procesy jsou stejně náročné asymetrická - jeden z procesů je mnohem náročnější. Nakonec můžeme kompresi dělit podle úrovně komprese dat: fyzická - nebere ohled na informační obsah, komprese probíhá na úrovní bitů resp. bajtů. Tento druh se často používá právě při kompresi grafických údajů logická - používá logické substituce (tj. sekvenci znaků nahrazuje jinou, úspornější sekvencí). Typickým příkladem je používání zkratek, např. VUT - vysoké učení technické. 2.1 Bezeztrátová komprese Už podle názvu této skupiny nedochází k žádné degradaci, či ztrátě obsahu. Při bezeztrátové kompresi obrazů se využívají jak bezeztrátové kompresní metody pro kompresi negrafických dat, tak i metody využívající reprezentace rastrového obrazu jakožto konečného počtu bodů, rozmístěných v pravidelné pravoúhlé mřížce. Komprese pomocí kvadrantového stromu Kvadrantový strom vznikne rekurzivním dělením čtvercového obrazu o rozměrech 2 n 2 n (kde n je libovolné kladné celé číslo) na homogenní kvadranty. Homogenní oblastí pro případ komprese rastrového obrazu myslíme oblast, jejíž všechny body mají stejnou barvu. RLE (Run Lenght Encoding) Pokud předpokládáme, že je obraz tvořen oblastmi stejných barev, můžeme jej zakódovat jako kombinaci počtu daného znaku (např. barvy) a samotného znaku. Příklad 2.1. Mějme posloupnost 85 85 85 85 86 86 37 37 37 38, potom RLE kompresí dostaneme: 04 85 02 86 03 37 01 38 Pokud tuto metodu lehce modifikujeme (při daném malém rozdílu považujeme znaky za shodné), můžeme ji používat jako ztrátovou metodu komprese. Příklad 2.2. Mějme posloupnost stejnou jako v minulém příkladu. Potom ztrátovou RLE kompresí dostaneme: 06 85 04 37 12

Huffmanovo kódování Tento druh komprese přiřazuje nejčastěji se vyskytujícím znakům vstupního souboru kód s nejmenším počtem bitů. Naopak znaky, které se vyskytují velmi zřídka jsou kódovány kódem s nejdelším počtem bitů. Komprese tedy probíhá ve dvou fázích. Nejdříve se projde celý vstupní soubor a zjistí se četnost jednotlivých znaků. V druhé fázi probíhá samotné kódování. 2.2 Ztrátová komprese Metody ztrátové komprese obrazu jsou založeny na předpokladu, že zanedbání nepodstatných detailů neovlivní výsledný dojem z celku. Důležitým kritériem ale je, které informace můžeme zanedbat. V případě komprese obrazu to může být jak informace o barvě, tak informace o tvarech. Protože jsou metody ztrátové komprese obrazu navrženy speciálně pro rastrový obraz, dosahují podstatně vyšších komprimačních poměrů než metody bezeztrátové, ovšem za cenu degradace kvality obrazu. Transformace DCT DCT je zvláštním případem diskrétní Fourierovy transformace (DFT), která obsahuje pouze reálné koeficienty. Na metodě DCT (Discrete Cosine Transformation) je založena kompresní metoda JPEG. Obraz je nejdříve převeden z barevného modelu RGB na model YUV, dále následuje redukce počtu pixelů (například na polovinu, toto je pro lidské oko opticky možné pouze po převedení z RGB na YUV, nebot tento barevný model respektuje barevné vnímání lidského oka). Následně se obraz rozdělí na bloky o velikosti 8 8 pixelů, a pro každý blok se vykoná DCT. Ta transformuje hodnoty z bloku 8 8 do frekvenční oblasti, kde jsou chápány jako proměnlivý signál, který je možno aproximovat soustavou 64 kosinových funkcí s příslušnými amplitudami. Důležité viditelné informace se kódují do kosinových funkcí nízkých frekvencí. Pokud funkce o vyšších frekvencích zanedbáme a nahradíme je nulami, můžeme tak dosáhnout velmi vysokého stupně komprese. Nakonec jsou všechny informace komprimovány bezeztrátovou metodou Huffmanova kódování. 13

3 MATEMATICKÉ PRINCIPY Pro definování pojmu fraktál, a pro matematické základy fraktální komprese jsou důležité matematické věty a definice uvedené v této kapitole. Definice 3.1. Metrický prostor je dvojice (M, d), kde M je množina, jejíž prvky nazveme body x, y, z a d je metrika na M, tj. zobrazení d : M M R + 0 = 0, ) splňující tři axiomy: (M1) x, y M platí d (x, y) = d (y, x) (je symetrická) (M2) x, y, z M platí d (x, z) d (x, y) + d (y, z) (splňuje trojúhelníkovou nerovnost) (M3) x, y M platí d (x, y) = 0 právě když x = y (rozlišuje body). Definice 3.2. Necht (M, d) je metrický prostor a T : M M. Zobrazení T nazveme kontraktivní právě tehdy, když existuje konstanta c < 1 taková, že: d (T (x), T (y)) c d (x, y) x, y M. Definice 3.3. Bud {x n } {x 1, x 2, x 3,...} posloupnost v metrickém prostoru (M, d). Řekneme, že posloupnost {x n } konverguje k x M právě tehdy, když Pro každé ε > 0 existuje n 0, že pro každé n > n 0 platí d (x ; x n ) < ε posloupnost {x n } je cauchyovská právě tehdy, když Pro každé ε > 0 existuje n 0, že pro každé n, m > n 0 platí d (x m ; x n ) < ε. Definice 3.4. Metrický prostor (M, d) nazveme úplným právě tehdy, když každá cauchyovská posloupnost je konvergentní. Definice 3.5. Neprázdnou množinu P v metrickém prostoru nazveme kompaktní právě tehdy, když každá posloupnost {x n } v P obsahuje podposloupnost {x n } konvergující k nějakému x P. Definice 3.6. Pro metrický prostor (M, d) označme H (M) systém všech neprázdných kompaktních podmnožin M. Potom zobrazení d h : H (M) H (M) R 0 + definované předpisem : d h (A, B) = max{sup inf d (a, b), sup inf d (a, b)} a A b B b B a A nazveme Hausdorffovou vzdáleností. Poznámka Hausdorffova vzdálenost splňuje axiomy metriky, tudíž (H (M), d h ) tvoří metrický prostor. 14

Definice 3.7. Bod x M se nazývá pevným bodem zobrazení T : M M právě tehdy, když T (x ) = x. Věta 3.8. Banachova věta o pevném bodu kontraktivního zobrazení Bud M úplný metrický prostor a T : M M kontraktivní zobrazení. Potom T má právě jeden pevný bod. Důkaz Viz. [2], str. 36. Definice 3.9. Pokud je (M, d) úplný metrický prostor, potom deterministickým iterujícím funkčním sytémem (IFS) nazýváme konečnou množinu spojitých zobrazení F = {w 1, w 2,..., w n } definovaných na M. Definice 3.10. Pokud všechna zobrazení IFS w i F jsou kontraktivní, potom se tento systém nazývá hyperbolický deterministický iterující funkční systém. Věta 3.11. IFS věta Je-li (M, F ) hyperbolický deterministický iterující funkční systém, potom transformace W : H (M) H (M), pro kterou platí W (B) = n w i (B) pro všechna B H (M) je kontraktivním zobrazením na (H (M), d h ) s konstantou kontrakce c = max{c 1,..., c n }. Pak toto zobrazení má jediný pevný bod A H (M), který vyhovuje rovnici A = W (A) i=1 a je dán limitou A = lim i W i (B) pro libovolné B H (M). Věta 3.12. Kolážová věta Jestliže pro libovolné B H (M) a ε > 0 je d h (B, W (B)) ε a přijmeme-li označení a tvrzení z předchozí věty, pak: ) d h (B, A) = d h (B, lim W i (B) i ε 1 c Definice 3.13. Bud X úplný metrický prostor, dále bud D i X pro i = 1,..., n. PIFS (Partitioned Iterated Function Systems) nazýváme množinu kontraktivních zobrazení w i : D i X, pro i = 1,..., n. Poznámka Pro PIFS můžeme využít Banachovu větu o pevném bodu stejně jako v případě pro IFS. PIFS má potom právě jeden pevný bod. Viz. [1], str. 48. 15

Definice 3.14. Bud (M, d) metrický prostor s metrikou d. Průměrem množiny A M je číslo diam A = sup d (x, y). x;y A Definice 3.15. Bud (M, d) metrický prostor s metrikou d, ε R +, x 0 M. Množinu nazveme ε otevřenou koulí x 0 na M. B (x 0, ε) = {x M d (x 0, x) < ε} Definice 3.16. Bud A M. Bod x 0 M nazveme a) vnitřním bodem množiny A právě tehdy, když existuje otevřená koule B (x 0, ε) pro kterou platí A B (x 0, ε) = B (x 0, ε) b) vnějším bodem množiny A právě tehdy, když existuje otevřená koule B (x 0, ε) pro kterou platí A B (x 0, ε) = c) hraničním bodem množiny A právě tehdy, když existuje otevřená koule B (x 0, ε) pro kterou platí A B (x 0, ε) B (x 0, ε) a zárověň A B (x 0, ε) B (x 0, ε). Množinu všech hraničních bodů množiny A nazveme hranicí množiny A. Značíme ji δa. Množina Ā = A δa se nazývá uzávěrem množiny A. Množinu, jejíž všechny body jsou vnitřními body, nazveme otevřenou množinou. Množinu, jejíž doplněk je množina otevřená, nazveme uzavřenou množinou. Definice 3.17. Množina A se nazývá souvislá právě tehdy, když pro každé dvě její neprázdné podmnožiny E, F pro které platí E F = A, platí ( E F ) ( Ē F ). Definice 3.18. Bud A M, její pokrytí je nanejvýš spočetný systém C = {P i } i I otevřených podmnožin P i z M takový, že A C = i I P i. Definice 3.19. Bud C = {P i } i I, C = {Q j } j J dvě pokrytí množiny A. Pokrytí C nazveme zjemněním pokrytí C právě tehdy, když existuje zobrazení p : J I, kde pro každé j J platí Q j P i. Definice 3.20. Topologická dimenze neprázdné množiny A je nejmenší nezáporné celé číslo m, pro které platí následující vlastnost: každé konečné pokrytí množiny A má konečné zjemnění takové, že každý prvek a A je obsažen v průniku nejvýše m + 1 množin tohoto zjemnění. Definice 3.21. Pokrytí C = {P i } i I množiny A se nazývá δ pokrytím právě tehdy, když pro každé i I, diam (P i ) δ. 16

Definice 3.22. Neprázdný systém S = {S i } i I algebrou právě tehdy, když podmnožiny množiny M se nazývá σ a) S i S M S i S b) {S j } j J S S j S kde J je spočetná množina. j J Definice 3.23. Necht S je σ algebrou a µ : S R { } zobrazení, pro které platí a) A S : µ (A) 0 b) µ ( ) = 0 c) jestliže ( {S i }) i I S jsou vzájemně disjunktní, I je spočetná množina, pak µ S i µ (S i ). i I i I µ se nazývá vnější mírou na σ algebře S. Pokud v c) vždy platí rovnost, pak vnější míra µ se nazývá mírou a značíme ji µ. Definice 3.24. Necht A, B jsou podmnožiny téhož metrického prostoru (M, d). Potom číslo dist (A, B) = inf d (x, y) x A,y B se nazývá vzdáleností množin A a B. Vnější míra µ na M se nazývá vnější mírou metriky právě tehdy, když pro každé dvě podmnožiny A, B M splňující dist (A, B) > 0 platí µ (A B) = µ (A) + µ (B). Definice 3.25. Bud µ vnější mírou na S. Množina A S se nazývá µ měřitelnou právě tehdy, když pro každou množinu T S platí µ (T ) = µ (T A) + µ (T A). Tvrzení 3.26. Bud (M, d) metrický prostor a A M jeho libovolná podmnožina; {U i } je δ pokrytím A, s > 0. Potom zobrazení Hδ s : P (M) R pro které platí je vnější mírou na M. H s δ (A) = inf {U i } (diam U i ) s i=1 17

Tvrzení 3.27. Bud Hδ s : P (M) R vnější mírou z předešlého tvrzení. Potom zobrazení H s : P (M) R pro které platí H s (A) = lim δ 0+ Hs δ (A) = lim δ 0+ inf {U i } j (diam U i ) s je vnější mírou na M. Její zúžení na σ algebru všech H s měřitelných množin je mírou. Definice 3.28. Míra H s z předešlého tvrzení se nazývá Hausdorffova míra. Hausdorffovou dimenzí množiny A se nazývá číslo i=1 D (A) = sup (S), kde S = {s R { } H s (A) = }. Pro prázdnou množinu definujeme D ( ) = 0. 18

4 FRAKTÁL Toto označení použil poprvé matematik Benoît Mandelbrot v roce 1975 pro všeobecné označení objektů, jejichž tvar je nezávislý na velikosti měřítka. Fraktál můžeme zjednodušeně charakterizovat jako geometrický objekt s následujícími vlastnostmi: je soběpodobný (nebo soběpříbuzný) - viz. 4.2.1 má složitou strukturu generovanou pomocí jednoduchých pravidel. 4.1 Zavedení pojmu fraktál Definice 4.1. Fraktál je množina, jejíž Hausdorffova dimenze je ostře větší než dimenze topologická. 4.2 Vlastnosti 4.2.1 Soběpodobnost Soběpodobnost je jedna ze základních vlastností fraktálů. Tato vlastnost se přesněji nazývá invariance vůči kontraktivním zobrazením, neboli když sledujeme sebemenší detail objektu, vidíme stále se opakující struktury. Definice 4.2. Soběpodobná množina A z n-dimenzionálního euklidovského prostoru je taková množina, pro kterou existuje konečně mnoho kontraktivních zobrazení w 1, w 2,..., w m takových, že m A = w i (A) (4.1) přičemž pro libovolná i j obsahuje průnik i=1 w i (A) w j (A) (4.2) jen konečný počet prvků, nebo je prázdný. Na potenční množině množiny R n zobrazení w i, i = 1,..., m definují tzv. Hutchinsonův operátor: potom W (X) = m w i (X), X R n (4.3) i=1 Podle rovnice 4.1 je soběpodobná množina A pevným bodem příslušného Hutchinsonova operátoru. K jeho konstrukci se používají nejrůznější iterační metody, tj. k dosažení tohoto pevného bodu by bylo třeba nekonečně mnoha iterací. V praktických konstrukcích je samozřejmě třeba se omezit na jejich konečný počet. Rovněž v přírodě si můžeme všimnout útvarů, které mají analogické vlastnosti (mraky, hory, lesy,...). Tyto objekty byly vytvořeny pouze konečným počtem iterací. V tomto případě mluvíme o soběpříbuznosti. 19

4.2.2 Atraktor Definice 4.3. Atraktor je množina stavů systému v čase t. Atraktory hrají důležitou roli u IFS a dynamických systémů (viz. 4.3.2 a 4.3.3). Atraktory můžeme rozdělit do několika základních tříd: množina pevných bodů - systém se v nekonečném čase dostane do stabilního stavu, který je možno předem vypočítat množina periodických bodů - systém se v nekonečném čase dostane do fáze, kdy osciluje mezi několika stavy atraktor je chaotický - výsledný stav nelze předem předpovědět atraktor je podivný - může vzniknout, pokud je systém popsán minimálně třemi navzájem souvisejícími diferenciálními rovnicemi. Je většinou velmi komplikovaný, může vykazovat vlastnosti pravidelného i chaotického atraktoru současně. 4.3 Typy fraktálů Fraktály můžeme rozdělit do 4 základních skupin: 4.3.1 L-systémy Někdy též nazývány Lindenmayerovy systémy, jsou skupinou fraktálů definovaných pomocí přepisovacích gramatik. Základní myšlenkou L-systémů je přepisování řetězců podle určitých pravidel. Řetězce se pak interpretují např. jako příkazy pro vykreslování obrazů. Pomocí L-systému je možné generovat fraktály připomínající rostliny, stromy či jiné přírodní útvary. Obr. 1: Rostlina vygenerovaná pomocí L-systému. 20

4.3.2 Systém iterovaných funkcí IFS Tyto fraktály se konstruují iterativně pomocí afinních transformací (jedná se o transformace zachovávající rovnoběžnost). Afinní transformaci v rovině můžeme zapsat následovně: ( x w y ) ( a b = c d ) ( x y ) + ( e f ), kde e je posunutí ve směru osy x, a f posunutí ve směru osy y. Pokud tedy máme konečný počet kontraktivních afinních transformací, tyto tvoří podle 4.3 Hutchinsonův operátor. Tudíž při splnění podmínek v 4.3 je základní objekt v každé iteraci transformován jedním nebo několika zobrazeními a vznikají tak nové podmnožiny. Tyto podmnožiny jsou rekurzivně využity pro výpočet další iterace. Mezi nejznámější IFS patří Sierpinského trojúhelník. Základním objektem je obvykle rovnoramenný trojúhelník. Tento se nejdříve zmenší na polovinu a následně 3-krát zkopíruje. Každý takto zmenšený trojúhelník rozmístíme tak, aby se dvěma vrcholy dotýkal ostatních dvou trojúhelníků. Celý postup rekurzivně opakujeme pro každý zmenšený trojúhelník. Mějme tedy [ rovnostranný trojúhelník s jednotkovou délkou strany a s vrcholy v bodech [0, 0], [1, 0], 0.5, ] 3. Potom transformace pro vytvoření Sierpinského trojúhelníku jsou 2 následující: ( ) ( ) ( ) ( ) x 0.5 0 x 0 w 1 = + y 0 0.5 y 0 w 2 ( x y ) = ( 0.5 0 0 0.5 ) ( x y ) + ( 0.5 0 ) w 3 ( x y ) = ( 0.5 0 0 0.5 ) ( x y ) + ( 0.25 3 4 ) Obr. 2: Schéma konstrukce Sierpinského trojúhelníku. 21

4.3.3 Dynamické systémy s fraktální strukturou Tento typ fraktálů má v technické praxi nejširší využití. Dynamický systém je totiž matematický model, jehož stav je závislý na nějaké nezávislé veličině, většinou to bývá čas. Tyto systémy jsou všeobecně velmi citlivé na počáteční podmínky. Již malá změna v počátečních podmínkách může vést ke zcela odlišnému chování systému v budoucnosti. Případ, kdy se dynamický systém po určitém čase neustálí v žádném pevném stavu, ale ani nediverguje, se nazývá deterministický chaos. Typickým příkladem dynamického systému s fraktální dynamikou je výpočet populačního růstu, který má tu zajímavou vlastnost, že volbou jediného parametru lze určit, zda bude systém ustálený, oscilující, nebo chaotický. Dynamické systémy s fraktální strukturou existují i v komplexní rovině. Z těchto systémů jsou v počítačové grafice asi nejvíce známé Juliovy množiny a Mandelbrotova množina. Obr. 3: Mandelbrotova množina. Obr. 4: Detail Mandelbrotovy množiny. 4.3.4 Náhodné fraktály Například při konstrukci IFS nebo L-systému jde o deterministický postup (výsledek je pro dané počáteční podmínky vždy stejný) a výsledné fraktály jsou tedy vždy stejné. Toto se nám ovšem například nehodí pro generování přírodních útvarů. Náhodné fraktály tedy můžeme například generovat simulací Brownova pohybu nebo metodou přesouvání středního bodu. Případně upravit algoritmus pro generování L-systémů a vnést do něj náhodu. Takto můžeme modelovat reálně vypadající rostliny či pohoří. 22

5 FRAKTÁLNÍ KOMPRESE OBRAZU S myšlenkou využití vlastností fraktální geometrie pro kompresi obrazu přišli jako první v roce 1988 M. Barnsley a A. Sloan. Okamžitě zažádali o patent na kompresi obrazu pomocí iterujících funkčních systémů. S prvním funkčním algoritmem přišel roku 1989 A. Jacquin. Celou metodu můžeme zjednodušeně popsat jako ztrátovou kompresní metodu rastrové grafiky založenou na hledání soběpříbuzných částí obrazu. I když tedy používáme název fraktální metoda, nejedná se o fraktály v pravém slova smyslu, ale o využití jejich vlastnosti soběpodobnosti (v tomto případě aplikované na soběpříbuzné části). 5.1 Využití kolážové věty Teoretickým základem pro fraktální kompresi jsou IFS (3.11), PIFS (3.13) a kolážová věta (3.12). První věta nám zaručuje existenci fraktálních struktur jakožto pevných bodů příslušných Hutchinsonových operátorů. Kolážovou větu můžeme podle [5] interpretovat následovně: Pokud vhodně pokryjeme množinu I obrazy sebe sama, které dostaneme pomocí transformací PIFS, potom atraktor tohoto PIFS vhodně aproximuje I. Hledáme tedy dvojice různě velikých příbuzných částí obrazu. Obraz rozdělíme podle libovolného pravidla na nepřekrývající se oblasti (Range), které pokryjí celý obraz. Pro tyto oblasti hledáme vhodné větší domény (Domains), které po aplikaci příslušné transformace dostatečně přesně aproximují příslušnou oblast. Výstupem algoritmu komprese budou pouze informace, které jednoznačně určí oblasti, a k nim příslušné domény a transformace. R w D Obr. 5: Princip fraktální komprese. Obr. 6: Soběpříbuzné části reálného obrazu. Chápejme obraz pro kompresi jako množinu I. Potom metodu fraktální komprese můžeme popsat pomocí Hutchinsonova operátoru: W (I) = n w i (I). (5.1) i=1 V praxi však nejsme schopni určit zcela přesně všechny koeficienty transformací, ani zaručit, že v obraze existuje pro každou oblast přesně odpovídající doména. Proto je tato metoda ztrátová, což můžeme vyjádřit následovně: I W (I ) = 23 n w i (I ). (5.2) i=1

5.2 Algoritmus komprese Pro zjednodušení popišme algoritmus pouze pro grayscale obraz. Zde je každý obrazový bod reprezentován jednou z 256 úrovní šedé. Samotný algoritmus komprese můžeme rozdělit na několik samostatných částí. 5.2.1 Výpočet koeficientů Hledejme transformaci mezi doménou (zmenšené na velikost oblasti, označme D) a oblastí (označme R) v následujícím tvaru: R i = s i D i + o i, (5.3) kde R i je i-tá oblast, D i doména příslušící R i, o i parametr pro transformaci jasu, a s i je parametr pro transformaci kontrastu. Aby byla tato transformace kontraktivní, hledáme s takové, že s < 1. Rozdíly jasu a kontrastu mezi R a D interpretujeme jako chybu kontrakce, která je dána RMS metrikou: E i = n (s i a j + o i b j ) 2, (5.4) j=1 kde E i je chyba kontrakce R i a D i, a j prvky domény, b j prvky oblasti, s i a o i jsou příslušné parametry. Chyba E i bude tedy kritériem při určování vhodné domény pro každou oblast. Minimalizace E i znamená vyřešit tzv. normální soustavu rovnic Řešením soustavy jsou parametry: E s = 0 a E o = 0. (5.5) s = n n a i b i n a i i=1 n i=1 n b i i=1 ( n n ) a 2 i 2, (5.6) a i i=1 i=1 V případě, že o = ( n ) n b i s a i i=1 i=1 n. (5.7) položme n ( n n ) 2 a 2 i a i = 0, (5.8) i=1 i=1 o = n b i i=1 n a zároveň s = 0. (5.9) 24

Potom pro výpočet chyby platí vztah: ( n b 2 i + s n (s a 2 i 2 n a i b i + 2 o i=1 i=1 i=1 E = n ) n a i + o i=1 ( o n 2 )) n b i i=1. (5.10) 5.2.2 Dělení na oblasti Velikost oblastí určuje kvalitu i kompresní poměr komprimovaného obrazu. Pro každou oblast totiž ukládáme informace o příslušné transformaci. Proto se snažíme, aby velikost oblastí byla co největší. Naopak v reálných obrazech se málokdy vyskytují veliké soběpříbuzné části. Toto nám tedy naopak velikost oblastí omezuje. Zpravidla dělíme obraz kvůli jednoduchosti na pravoúhlé oblasti, nejčastěji na čtverce. Jednou z možností je použití stejně velikých oblastí. Výhodou je, že přesně určíme kompresní poměr. Nevýhodou je však nízká kvalita, nebot soběpříbuzné části obrazu nemají vždy stejnou velikost. Tento problém můžeme vyřešit pomocí rekurzivního kvadrantového stromu. Rekurzivní kvadrantový strom Jedná se o obdobný princip, jako u komprese kvadrantovým stromem. Obraz rekurzivně dělíme na čtvercové kvadranty. Postupujeme do té doby, dokud pro daný kvadrant nenalezneme odpovídající doménu. Výhodou je tedy větší kvalita, nevýhodou dělší kompresní čas a předem neznámý kompresní poměr. Obr. 7: Schéma dělení pomocí rekurzivního kvadrantového stromu. Obr. 8: Dělení pomocí rekurzivního kvadrantového stromu u reálného obrazu. 5.2.3 Hledání vhodné domény Základní, ale z hlediska výpočtové náročnosti nevhodný způsob je tzv. metoda těžké hrubé síly. Pro danou oblast vypočítáme chybu E i u každé možné domény, poté vybereme doménu s nejmenší E i. Další, ale také výpočtově náročnou metodou je tzv. metoda hrubé síly. Nejdříve si zvolíme určitou odchylku ε. Poté počítáme jako u metody težké hrubé síly. Výpočet ale ukončíme, pokud nalezneme doménu s chybou E i ε. 25

Mnohem vy hodne js ı jsou ale metody, ktere kombinujı metodu hrube sı ly s vhodny m pravidlem vy be ru dome n pro vy poc et. Tyto budou blı z e popsa ny v 6.1.2. 5.3 Algoritmus dekomprese Oproti kompresi je dekomprese pome rne velmi rychlou operacı. Pr i dostatec ne vysoke m poc tu opakova nı zı skany ch kontraktivnı ch transformacı aplikovany ch na pu vodne libovolny obraz vhodny ch rozme ru dostaneme atraktor, ktery je aproximacı pu vodnı ho obrazu. V prvnı fa zi zvolı me poc a tec nı obraz. Mu z e by t jaky koli, obecne se pouz ı va jednobarevny s edy obraz. Da le kaz dou oblast obrazu nahradı me pr ı slus nou dome nou, na kterou aplikujeme pr ı slus ne transformace (dome nu zmens ı me a kaz dy bod pr epoc ı ta me podle vzorce 5.3). Toto opakujeme, dokud v obraze nenasta vajı jiz z a dne zme ny. Prakticky stac ı 7 az 10 iteracı. Mu z eme si tedy vs imnout, z e proces dekomprese je mnohem me ne vy poc etne na roc ny. Proto je tato kompresnı metoda silne asymetricka. Obr. 9: Dekomprimovany obraz po 1, 2, 3, 5, 7 a 10 iteracı ch. 5.3.1 Barevne obrazy Stejny princip se vyuz ı va i pro barevne obrazy. Zde se vs ak popsany algoritmus aplikuje zvla s t pro kaz dou barevnou sloz ku obrazu. Pr i dekompresi se vy sledny obraz sloz ı ze vs ech barevny ch sloz ek. V [1] autor doporuc uje mı sto modelu RGB pouz ı t jiz zmı ne ny model YUV, nebot respektuje lidske vnı ma nı barev. 26

5.3.2 Fraktální zvětšování Díky soběpodobnosti (invarianci vzhledem k měřítku) fraktálů by tedy rozměry dekomprimovaného obrazu měly být nezávislé na původních rozměrech beze ztráty kvality při zvětšování. Prakticky ale detaily získané velkým fraktálním zvětšením neodpovídají reálným detailům. Jedná se o tzv. fraktální artefakty. Můžeme je ovšem celkem úspěšně vyhladit pomocí různých postprocessingových metod. Obr. 10: Osminásobné fraktální zvětšení. Obr. 11: Osminásobné zvětšení pomocí kubické interpolace. 27

6 PROGRAMOVÁ IMPLEMENTACE Součástí této bakalářské práce je program, který prakticky využívá výše uvedené poznatky fraktální komprese. Program je napsán v programovacím jazyce Free Pascal. Díky FPC (Free Pascal Compiler) lze přeložit pro různé operační systémy. Program pracuje pouze s rastrovými obrazy ve formátu *.bmp. Pro uchování komprimovaných dat používá typový binární soubor *.dat. Vstupní rastrový obraz musí být ve velikosti 2 n 2 n px, n N. Jako barevný model je použit RGB. Pokud je vstupní obraz pouze v odstínech šedi, avšak uložený v RGB, program automaticky komprimuje pouze jednu barevnou složku. 6.1 Algoritmus komprese Program pracuje na principu algoritmu popsaného v předešlé kapitole. Důležitým vstupním parametrem je číslo ε (viz. 5.2.3). Pokud je toto číslo větší než 0, algoritmus používá metodu hrubé síly. Pokud je ε = 0, potom algoritmus použije metodu těžké hrubé síly. 6.1.1 Dělení na oblasti Pro dělení je použit algoritmus kvadrantového stromu (viz. 5.2.2). Vstupními parametry jsou minimální a maximální počet iterací. 6.1.2 Hledání vhodné domény Klasifikace doménových bloků Je důležité najít vhodné domény pro co největší oblasti. Proto autor v [1] zavádí tzv. klasifikaci doménových bloků. Podle této klasifikace se určí, které části obrazu použít pro hledání vhodných domén. Tímto se dá ušetřit mnoho výpočetního času. Čtvercové doménové bloky jsou umístěny tak, že levý horní roh každé domény je umístěn na mřížce definované parametrem l (lattice), který určuje rozteč mřížky pro jednotlivé skupiny domén: D1 - mřížka má pevnou rozteč, která je rovna l D2 - mřížka má pevnou rozteč, která je rovna velikosti domény dělené l D3 - mřížka má pevnou rozteč, která je rovna l dělené velikostí domény. Vstupními parametry jsou typ mřížky a parametr l. Transformace domén Pro kvalitnější vyhledávání vhodných domén program po zmenšení domény na velikost daného bloku na tuto doménu aplikuje osm různých transformací. Daná oblast a doména jsou tedy porovnávány za použití těchto transformací: identita osová souměrnost s horizontální osou 28

osová souměrnost s vertikální osou osová souměrnost s hlavní úhlopříčkou domény osová souměrnost s vedlejší úhlopříčkou domény otočení o 90 otočení o 180 otočení o 270. 6.1.3 Protokol průběhu komprese Pro výstup průběhu komprese slouží textový soubor *.log. Zde se detailně vypisují informace o průběhu a stavu kompresního algoritmu. 6.2 Algoritmus dekomprese Jako výchozí obraz slouží homogenní černý obraz příslušné velikosti. Na tento se iterativně aplikují transformace uložené v příslušném datovém souboru. Vstupním parametrem je počet iterací. Fraktální zvětšování Pro určení faktoru zvětšení slouží celočíselný parametr δ 1. Pokud je zadáno δ = 1, nedojde ke zvětšení. Výstup po fraktálním zvětšení je bez jakýchkoli postprocessingových úprav. Obr. 12: Programová implementace fraktální komprese a dekomprese. 29

ZÁVĚR Cílem mé práce bylo definovat pojem fraktál, vysvětlit pojem komprese obrazu a popsat metodu fraktální komprese obrazu, kterou poté prakticky naprogramovat. Ačkoli je problematika fraktálů a komprese obrazu velmi obsáhlá, snažil jsem se z důvodu rozsahu této práce vybrat pouze nejdůležitější informace a pojmy, které byly potřebné pro popis metody fraktální komprese. Samotná metoda fraktální komprese obrazu je jedním z mnoha praktických využití fraktální geometrie v praxi. Její velkou nevýhodou je ale výpočetní náročnost. Tato nevýhoda by se dala eliminovat například inteligentním systémem vyhledávání vhodných domén, nebot právě tato část algoritmu je nejnáročnější. Program přiložený k této práci jsem naprogramoval v programovacím jazyce Free Pascal, a díky Free Pascal Compiler je tento program možno kompilovat pro různé operační systémy. Tudíž je tento program multiplatformní. Navíc samotný kód byl rozdělen do dvou hlavních, na sebe nezávislých celků: grafického prostředí a výpočtového jádra. Grafické prostředí programu je velmi minimalistické a jednoduché. Výpočtové jádro jsem se snažil optimalizovat pro rychlost výpočtů, což je důležitým faktorem u metody fraktální komprese. I když je tento program velmi jednoduchý, a prakticky pouze demonstruje algoritmus fraktální komprese, dosahuje relativně velmi dobrých výsledků. 30

LITERATURA [1] Fractal Image Compression: Theory and Application. FISHER, Y. New York: Springer Verlag, 1995. 341 s. ISBN 0-387-94211-4. [2] FRANCŮ, J. Funkcionální analýza I. Brno: CERM, 2009. 149 s. ISBN 978-80-214-4015-9. [3] SOBOTA, B., MILIÁN, J. Grafické formáty. České Budějovice: Kopp, 1996. 157 s. ISBN 80-85828-58-8. [4] DRUCKMÜLLEROVÁ, H., MARTIŠEK, D., TOMÁŠ, J. Mathematical Principles of Fractal Curve Measurement (v recenzním řízení) [5] ZELINKA, I., VČELAŘ, F., ČANDÍK, M. Fraktální geometrie - principy a praxe. Praha: BEN, 2006. 160 s. ISBN 80-7300-191-8. [6] [7] TIŠNOVSKÝ, P. Fraktály v počítačové grafice [seriál online]. 2005-2007. [cit. 2011-02-22]. URL: <http://www.root.cz/serialy/fraktaly-v-pocitacove-grafice/>. TIŠNOVSKÝ, P. Fraktály [online]. 2000. [cit. 2011-02-22]. URL: <http://www.vood.mysteria.cz/fraktaly/uvod.html>. 31

SEZNAM OBRÁZKŮ 1 Rostlina vygenerovaná pomocí L-systému................... 20 2 Schéma konstrukce Sierpinského trojúhelníku................. 21 3 Mandelbrotova množina............................. 22 4 Detail Mandelbrotovy množiny......................... 22 5 Princip fraktální komprese............................ 23 6 Soběpříbuzné části reálného obrazu....................... 23 7 Schéma dělení pomocí rekurzivního kvadrantového stromu.......... 25 8 Dělení pomocí rekurzivního kvadrantového stromu u reálného obrazu.... 25 9 Dekomprimovaný obraz po 1, 2, 3, 5, 7 a 10 iteracích............. 26 10 Osminásobné fraktální zvětšení......................... 27 11 Osminásobné zvětšení pomocí kubické interpolace............... 27 12 Programová implementace fraktální komprese a dekomprese......... 29 32

PŘÍLOHA Zde jsou uvedeny výsledky práce fraktální komprese obrazu. Pro každý obraz jsou vypsány základní informace o původním obraze, a následně hodnoty dosažené fraktální kompresí. Protože samotné informace v komprimovaném souboru můžeme dále komprimovat, byl u každého obrazu komprimovaný soubor následně komprimován do souboru *.tar.bz2. Výsledky dosažené tímto postupem jsou uvedeny v závorkách. 1 Ship BW 1.1 Originální obraz název - ShipBW.bmp rozlišení - 512 512 px velikost - 768, 1 kb 1.2 Komprimovaný obraz I název - ShipBW.dat chyba ε - 4, 0 minimální počet iterací - 5 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 81, 2 kb (49, 4 kb) kompresní poměr - 9,5:1 (15,5:1) 33

2 Bubbles 2.1 Originální obraz název - Bubbles.bmp rozlišení - 512 512 px velikost - 768, 1 kb 2.2 Komprimovaný obraz I název - Bubbles.dat chyba ε - 8, 0 minimální počet iterací - 4 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 62, 1 kb (41, 1 kb) kompresní poměr - 12,4:1 (18,7:1) 34

3 Squares 3.1 Originální obraz název - Squares.bmp rozlišení - 256 256 px velikost - 192, 1 kb 3.2 Komprimovaný obraz I název - Squares.dat chyba ε - 2, 0 minimální počet iterací - 1 maximální počet iterací - 6 skupina domén - D3 rozteč l - 4 velikost - 816 B (487 B) kompresní poměr - 241:1 (404:1) 35

4 Fakulta FSI 1 4.1 Originální obraz název - Fakulta1O.bmp rozlišení - 256 256 px velikost - 192, 1 kb 4.2 Komprimovaný obraz I název - Fakulta1.dat chyba ε - 2, 0 minimální počet iterací - 1 maximální počet iterací - 6 skupina domén - D3 rozteč l - 4 velikost - 108, 5 kb (72, 9 kb) kompresní poměr - 1,77:1 (2,64:1) 36

5 Fakulta FSI 2 5.1 Originální obraz název - Fakulta2.bmp rozlišení - 256 256 px velikost - 192, 1 kb 5.2 Komprimovaný obraz I název - Fakulta2.dat chyba ε - 2, 0 minimální počet iterací - 1 maximální počet iterací - 6 skupina domén - D3 rozteč l - 4 velikost - 154, 2 kb (100, 7 kb) kompresní poměr - 1,25:1 (1,9:1) 37

6 Logo FSI 6.1 Originální obraz název - FSI.bmp rozlišení - 512 512 px velikost - 768, 1 kb 6.2 Komprimovaný obraz I název - FSI.dat chyba ε - 4, 0 minimální počet iterací - 3 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 167, 2 kb (51, 5 kb) kompresní poměr - 4,6:1 (14,9:1) 38

7 Wood 7.1 Originální obraz název - Wood.bmp rozlišení - 512 512 px velikost - 768, 1 kb 7.2 Komprimovaný obraz I název - Wood.dat chyba ε - 4, 0 minimální počet iterací - 5 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 308, 8 kb (191, 1 kb) kompresní poměr - 2,5:1 (4:1) 39

8 Ship 8.1 Originální obraz název - Ship.bmp rozlišení - 512 512 px velikost - 768, 1 kb 8.2 Komprimovaný obraz I název - Ship1.dat chyba ε - 8, 0 minimální počet iterací - 4 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 46, 7 kb (31, 7 kb) kompresní poměr - 16,5:1 (24:1) 8.3 Komprimovaný obraz II název - Ship2.dat chyba ε - 4, 0 minimální počet iterací - 5 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 189, 8 kb (119, 3 kb) kompresní poměr - 4:1 (6,4:1) 40

8.4 Komprimovany obraz III na zev - Ship3.dat chyba ε - 0, 0 minima lnı poc et iteracı - 7 maxima lnı poc et iteracı - 7 skupina dome n - D3 roztec l - 4 velikost - 768 kb (452, 4 kb) kompresnı pome r - 1:1 (1,7:1) 9 Deep Purple 9.1 Origina lnı obraz na zev - DeepPurple.bmp rozlis enı - 512 512 px velikost - 768, 1 kb 9.2 Komprimovany obraz I na zev - DeepPurple1.dat chyba ε - 4, 0 minima lnı poc et iteracı - 4 maxima lnı poc et iteracı - 7 skupina dome n - D3 roztec l - 4 velikost - 68, 7 kb (48, 6 kb) kompresnı pome r - 11,2:1 (15,8:1) 41

9.3 Komprimovaný obraz II název - DeepPurple2.dat chyba ε - 2, 0 minimální počet iterací - 4 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 117, 7 kb (82, 4 kb) kompresní poměr - 6,5:1 (9,3:1) 9.4 Komprimovaný obraz III název - DeepPurple3.dat chyba ε - 0, 5 minimální počet iterací - 5 maximální počet iterací - 7 skupina domén - D3 rozteč l - 4 velikost - 572, 1 kb (364, 7 kb) kompresní poměr - 1,3:1 (2,1:1) 42