Kódování rastrových obrázků



Podobné dokumenty
2.1. Pojem funkce a její vlastnosti. Reálná funkce f jedné reálné proměnné x je taková

Prostorové indexační techniky. Zdeněk Kouba

(k 1)x k + 1. pro k 1 a x = 0 pro k = 1.

Jan Březina. Technical University of Liberec. 17. března 2015

Algoritmizace a programování

Obsah. KAPITOLA 1 Dříve než začneme 19 Kdysi dávno aneb střípky z historie algoritmických strojů třicátá léta 22

4. R O V N I C E A N E R O V N I C E

řádově různě rostoucí rostou řádově stejně rychle dvě funkce faktor izomorfismus neorientovaných grafů souvislý graf souvislost komponenta

Poruchy modul pro rychlé hlášení poruch z provozu.

Novinky verze ArCon 14 Small Business

Asymptoty grafu funkce

1) Vypočítej A) 32 B) 44 C) 48 D) 56. 2) Urči číslo, které se skrývá za A ve výpočtu: 8 5 A) 12 B) 13 C) 14 D) 15

M-10. AU = astronomická jednotka = vzdálenost Země-Slunce = přibližně 150 mil. km. V následující tabulce je závislost doby

2.6.4 Lineární lomené funkce s absolutní hodnotou

Rostislav Horčík. 13. října 2006

Lineární algebra. Vektorové prostory

MS Word 2007 REVIZE DOKUMENTU A KOMENTÁŘE

Watkinsův algoritmus řádkového rozkladu

Algoritmizace a programování

Příručka pro práci s dataloggerem Labquest 2. Zapínání a domácí obrazovka

1 Měření kapacity kondenzátorů

Grafické řešení soustav lineárních rovnic a nerovnic

Želva se nachází v tzv. grafickém okně (zviditelníme ji klávesou +), v němž jsou vidět i čáry, které nakreslila.

Výrazy lze též zavést v nečíselných oborech, pak konstanty označuji jeden určitý prvek a obor proměnné není množina čísel.

Základy počítačové grafiky

Výjimky: MVS (viz samostatná tabulka níže), služby odd. pro handicapované. Upozornění: zpozdné a náklady na posílání tištěných upomínek se sčítají.

Střední škola pedagogická, hotelnictví a služeb, Litoměříce, příspěvková organizace

souřadné systémy geometrické určení polohy pevně spojené se vztažným tělesem

NÁVRHOVÝ PROGRAM VÝMĚNÍKŮ TEPLA FIRMY SECESPOL CAIRO PŘÍRUČKA UŽIVATELE

Vítězslav Bártl. prosinec 2013

CZ.1.07/1.5.00/ Opravárenství a diagnostika. Pokud není uvedeno jinak, použitý materiál je z vlastních zdrojů autora

Zvyšování kvality výuky technických oborů

REPREZENTACE 3D SCÉNY

7. Silně zakřivený prut

Rychlé vyrovnávací paměti (cache)

Reprezentace aritmetického výrazu - binární strom reprezentující aritmetický výraz

Výstupy Učivo Téma. Čas. Základní škola a mateřská škola Hať. Školní vzdělávací program. Průřezová témata, kontexty a přesahy,další poznámky

Téma: Zemní práce III POS 1

Návod na sestavení naháněcí ohrady

Data v počítači EIS MIS TPS. Informační systémy 2. Spojení: jan.skrbek@tul.cz tel.: Konzultace: úterý

Obsahuje barevné palety PANTONE v prostoru CMYK: FASHION + HOME COLOR GUIDE barev NEW COLORS barev

Programování pro deskriptivní geometrii

( ) ( ) Sčítání vektorů. Předpoklady: 7201

Zvyšování kvality výuky technických oborů

Ozobot aktivita lov velikonočních vajíček

ČAROVÁNÍ S MĚKKÝMI A TVRDÝMI SOUHLÁSKAMI

Aplikace počítačů v provozu vozidel 9

Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_ INF.5.61 až 80

STŘEDNÍ PRŮMYSLOVÁ ŠKOLA STROJÍRENSKÁ a Jazyková škola s právem státní jazykové zkoušky, Kolín IV, Heverova 191. Obor M/01 STROJÍRENSTVÍ

Softwarová pomůcka pro 2D generaci sítě konečných prvků

Soubory a databáze. Soubor označuje množinu dat, která jsou kompletní k určitému zpracování a popisují vybrané vlastnosti reálných objektů

Příprava na 1. čtvrtletní písemku pro třídu 1EB

Střední průmyslová škola a Vyšší odborná škola technická Brno, Sokolská 1. Podpora digitalizace a využití ICT na SPŠ CZ.1.07/1.5.00/34.

Malířův algoritmus Josef Pelikán CGG MFF UK Praha. 1 / 15

Předmluva 1 Typografická konvence použitá v knize 2. 1 Úvod do Wordu Popis obrazovky 7 Popis panelu nabídek 9 Zadávání příkazů 10

Karty externích médií

Žáci mají k dispozici pracovní list. Formou kolektivní diskuze a výkladu si osvojí grafickou minimalizaci zápisu logické funkce

ESII-2.1 Elektroměry

Fyzikální praktikum 3 - úloha 7

Kružnice. Kruh. Kruh K(S; r) je množina všech bodů roviny, které mají. od zadaného bodu S, vzdálenost r. Bod S je střed, r je poloměr kružnice.

1 BUBNOVÁ BRZDA. Bubnové brzdy používané u vozidel jsou třecí s vnitřními brzdovými čelistmi.

Fraktální analýza tiskových struktur

Návrhové vzory. Každý návrhový vzor má následující strukturu: Většina publikací návrhové vzory člení do následujících kategorií:

Hřídelové čepy. Podle tvaru, funkce a použití rozeznáváme hřídelové čepy: a) válcové b) kuželové c) prstencové d) kulové e) patní

Monochromatické zobrazování

Dijkstrův algoritmus (připomenutí)

Bod, přímka a rovina. bezrozměrnost, jeden rozměr a dva rozměry

Business Contact Manager Správa kontaktů pro tisk štítků

Barevné systémy Josef Pelikán CGG MFF UK Praha

5 Rekurze a zásobník. Rekurzivní volání metody

Analýzy v GIS. Co se nachází na tomto místě? Kde se nachází toto? Kolik tam toho je? Co se změnilo od? Co je příčinou? Co když?

Pokusy s kolem na hřídeli (experimenty s výpočty)

ÚVOD DO HRY PRINCIP HRY

B Kvantitativní test. Semestrální práce TUR. Novotný Michal

ODLUČOVAČE LEHKÝCH KAPALIN AS-TOP KATALOG

SITEMAP / STRUKTURA. VÝVOJ ONLINE PREZENTACE / ETAPA I. CLIENT / DHL Global Forwarding THEQ ALL GOOD THINGS

Střední průmyslová škola strojnická Olomouc, tř.17. listopadu 49

TVORBA MULTIMEDIÁLNÍCH PREZENTACÍ. Mgr. Jan Straka

Nástroje produktivity

Struktury a obsah výstupních zpráv pro MultiCash ČSOB

VYUŽITÍ NEURONOVÝCH SÍTÍ PROSTŘEDÍ MATLAB K PREDIKCI HODNOT NÁKLADŮ PRO ELEKTRICKÉ OBLOUKOVÉ PECE

TECHNICKÁ DOKUMENTACE NA PC

PB165 Grafy a sítě. Kostry grafu. PB165 Grafy a sítě

Výpočet vržených stínů

Principy počítačů I Propojovací systémy

OCHUTNáVKA E SYSTÉMU

Moderní technologie ve studiu aplikované fyziky CZ.1.07/2.2.00/ Reálná čísla

Informace ze zdravotnictví Jihomoravského kraje

Sada 1 - Základy programování

Vzdělávací obor: Prvouka

UNIVERZITA V PLZNI. Model ALADIN A08N0205P MAN/MA

Databázovéa informačnísystémy NÁVRH IMPLEMENTACE 2 KONZISTENCE DATABÁZE

Tématická oblast Programování CNC strojů a CAM systémy Příprava součásti pro obrábění

Habermaaß-hra 5657A /4796N. Maják v obležení

5.1.2 Volné rovnoběžné promítání

Hierarchický model Josef Pelikán CGG MFF UK Praha. 1 / 16

Operační systém z hlediska procesu Mgr. Josef Horálek

Stavební mechanika přednáška, 2. května 2016

Využití Pythagorovy věty III

Aplikované úlohy Solid Edge. SPŠSE a VOŠ Liberec. Ing. Jiří Haňáček [ÚLOHA 03 VYSUNUTÍ TAŽENÍM A SPOJENÍM PROFILŮ.]

Transkript:

Kódování rastrových obrázků 1996-2015 Josef Pelikán CGG MFF UK Praha pepca@cgg.mff.cuni.cz http://cgg.mff.cuni.cz/~pepca/ ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 1 / 16

Použití úsporné uložení rastrového obrázku proti běžným textovým algoritmům mohu využít dvojrozměrné povahy dat efektivnější operace s jednoduchými obrázky a bitovými maskami množinové operace s bitovými maskami superpozice obrázků ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 2 / 16

RLE kódování ( Run-Length Encoding ) využívá se koherence ve vodorovném směru sousední pixely mají často stejnu hodnotu nejvýhodnější u málo barevných obrázků speciální (pří)znak pro uložení běhu ESC {počet} {pixel} (PCX) dva typy paketů - kopírovací a opakovací COPY {počet} {data...} (Targa, BMP,...) FILL {počet} {pixel} ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 3 / 16

Kvadrantový strom ( quadtree ) využívá se koherence ve vodorovném i svislém směru úsporně se kódují větší souvislé plochy jedné barvy adaptivní princip (postupné dělení zajímavých = členitých oblastí) aplikace kvadrantového stromu: kódování obrazu úsporné uložení bitové masky (množinové operace) pomocná datová struktura pro rychlé vyhledávání ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 4 / 16

Kvadrantový strom ( quadtree ) I C A I F G H III D E B II IV A B C kořen 16 16 (256 bytů) D E F G H I 12 záznamů (96 bytů) ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 5 / 16

Kódování kvadrantového stromu podle definice (metoda shora-dolů ): daný čtverec zkontroluji je-li vícebarevný, rozdělím ho na čtyři části, atd. (rekurze, pre-order ) hodnoty některých pixelů čtu několikanásobně metoda zdola-nahoru : začínám od čtverečků 2 2, jednobarevné oblasti spojuji do větších uzlů grafu, atd.... nakonec vytvořím kořen stromu (rekurze, post-order ) každý pixel čtu pouze jedenkrát ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 6 / 16

Množinové operace kvadrantové stromy reprezentují jednobitovou informaci (množinu, masku) množinové operace (sjednocení, průnik, rozdíl,..) předpokládám shodný definiční obor operandů procházím paralelně všechny vstupní stromy a současně konstruuji výsledný strom: všechny vstupní uzly jsou vnitřní rozděl a panuj jeden vstupní uzel je listem podle typu množinové operace zpracuji ostatní vstupní podstromy ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 7 / 16

Pravidla pro operaci průnik list = 1 cokoliv kopie podstromu list = 0 cokoliv list = 0 konstantní podstrom (X) list = X ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 8 / 16

Implementační poznámky kódování obecné oblasti zakóduji nejmenší čtverec rozměru 2 n 2 n, který danou oblast obsahuje pixely ležící mimo oblast zakóduji speciální hodnotou ( outside ) jiná varianta: vnějším pixelům přiřadím hodnotu okrajových pixelů ( don t care ) - největší úspora úsporné hybridní kódování obrázku je-li podstrom větší než bitmapa, ukládám bitmapu ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 9 / 16

Implementační poznámky II společné větve kvadrantového stromu opakuje-li se ve stromu nějaká větev (podstrom) několikrát, uložím ji pouze jednou a odkazuji se na ni z více míst ze stromu se stává hierarchický graf (ADG - acyklický orientovaný graf) společná větev může být použita v různých úrovních lineární uložení kvadrantového stromu (serializace) průchod stromem zleva-doprava ( pre-order ) ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 10 / 16

Lineární uložení kvadrant. stromu speciální hodnota R R1R10R1R1000100R1R111R1000R1R1100000 RRR1000000000... 49 položek ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 11 / 16

Řádkový seznam ( X-transition list ) rastrová reprezentace množiny (jednobitové masky) v rovině efektivní implementace množinových operací (slévání uspořádaných seznamů) lze použít při vyplňovacích algoritmech výhodná pro oblasti s jednoduchým okrajem pro každou řádku ukládám uspořádaný seznam pixelů, kterými prochází hranice oblasti v těchto pixelech se mění 0 1 nebo 1 0 ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 12 / 16

Řádkový seznam změn 0 pole řádek začátek konec začátek konec 9 13 25 30... 1 2 3 4 5 12 20 10 23 9 26 8 27 ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 13 / 16

Množinové operace doplněk v každé řádce přidám/odstraním prvek [0] binární operace - slévám seznamy změn příslušných vstupních řádek: nonekvivalence (XOR) je nejsnazší - dělám jenom slévání (a odstraňuji duplicitní záznamy) u jiných operací zařazuji na výstup jen některé záznamy (stavové pomocné proměnné) ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 14 / 16

Množinová operace na 1 řádce procedure MergeLists ( var L1, L2, Result : list ); var state, newstate, in1, in2 : boolean; x : integer; begin Result.Init; state := false; { výstupní seznam } in1 := false; in2 := false; { vstupní stavy } while (not L1.Empty) and (not L2.Empty) do begin x := minimum(l1.first,l2.first); if x = L1.First then begin { odebírám z L1 } in1 := not in1; L1.Get; end; if x = L2.First then begin { odebírám z L2 } in2 := not in2; L2.Get; end; newstate := BooleanOperation(in1,in2); if newstate <> state then Result.Put(x); state := newstate; end; { dočtení zbytku vstupního seznamu } end; ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 15 / 16

Konec Další informace: J. Foley, A. van Dam, S. Feiner, J. Hughes: Computer Graphics, Principles and Practice, 844-846, 552-555, 992-996 ImageCoding 2015 Josef Pelikán, http://cgg.mff.cuni.cz/~pepca 16 / 16