Kompresní algoritmy.

Slides:



Advertisements
Podobné prezentace
Kompresní algoritmy grafiky
Advertisements

Počítačová grafika.
Grafické formáty výukový text.
Půlbajtová komprimace
III/2 XVII AB
The Wheel of Fortune Honza Blažek -
ZÁKLADY GRAFIKY Ing. Tomáš Kostka UNIV 2 – KRAJE; TWS_02.
Digitální reprezentace
Počítačová grafika.
Vlastní skript může být umístěn: v hlavičce stránky v těle stránky
Výukový modul projektu: Nové formy výuky ve školách kraje Vysočina Projekt je spolufinancován Evropským sociálním fondem a státním rozpočtem České republiky.
Ostatní vnitřní komponenty
Webové formáty Bohumil Bareš. -1- Rozdělení grafických formátů  firemní (PSD, AI, FLA……)  univerzální (GIF, JPEG, TIFF, PNG…)  bitmapové (rastrové,
ALGO – Algoritmizace 6. cvičení
Aplikace teorie grafů Základní pojmy teorie grafů
Formáty grafických souborů
Komprese textových, video a audio dat.  Komprese   JPEG: 
Programování v Pascalu Přednáška 7
Vzdělávací materiál / DUMVY_32_INOVACE_02B14 Příkazový řádek: obsah souborů PŘÍKLADY AutorIng. Petr Haman Období vytvořeníLeden 2013 Ročník / věková kategorie3.
Informatika pro ekonomy II přednáška 4
Základy informatiky přednášky Efektivní kódy.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Adaptivní Huffmanův kód.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Statistické metody komprese dat a Shannon-Fanův kód.
Informatika pro ekonomy II přednáška 3
REDUKCE DAT Díváme-li se na soubory jako na text, pak je tento text redundantní. Redundance vyplývá z:  některé fráze nebo slova se opakují  existuje.
Teorie komprese dat Veronika Srbová, 4.Z.
Informatika I 2. přednáška
Gymnázium, Obchodní akademie a Jazyková škola s právem státní jazykové zkoušky Hodonín Grafika na PC základy.
Základní pojmy počítačové grafiky
Komprimace dat a kryptologie.  Myšlenka: Jak zakódovat vstupní data do jediného čísla?  Data se zakódují do zlomku n, 0 ≤ n < 1, n ∊ R  Bezztrátová.
Orbis pictus 21. století Tato prezentace byla vytvořena v rámci projektu.
Počítačová grafika 18. Marcel Svrčina.
Grafika a digitální fotografie Volitelný modul úrovně P díl č. 3.
Jiří Znoj - zno Tvorba konkordace Algoritmy II 3. projekt, 5. zadání Jiří Znoj - zno
Alg91 Textové soubory Na rozdíl od jiných typů souborů jsou textové soubory určené pro gramotné lidské oko. Textový soubor je posloupnost znaků členěná.
3. Příkazy  Příkazy dělíme na jednoduché a strukturované.  Jednoduché příkazy - žádnou jejich dílčí částí neni příkaz - přiřazovací, vstupu a výstupu,
Radim Farana Podklady pro výuku
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Kontextové metody.
Datové typy a struktury
DIGITALIZACE Datové formáty. Nekomprimované formáty původní algoritmy záznamu datových souborů umožnily pouze jejich převod do digitální podoby:  formát.
Počítačová grafika.
III/2 Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_1_1_06 Název vzdělávacího materiáluBezeztrátová a ztrátová komprese dat Jméno autoraIng.
7. Typ soubor Souborem dat běžně rozumíme uspořádanou množinu dat, uloženou mimo operační paměť počítače (na disku). Pascalský soubor je abstrakcí skutečného.
Gymnázium, Žamberk, Nádražní 48 Projekt: CZ.1.07/1.5.00/ Inovace ve vzdělávání na naší škole Název: Grafické formáty Autor: Mgr. Petr Vanický.
doc. RNDr. Zdeněk Botek, CSc.
Algoritmizace a programování Textové soubory - 13 Mgr. Josef Nožička IKT Algoritmizace a programování
PZORA 1. přednáška.
Kompresní metoda ACB Associative Coder of Buyanovsky autor: George Buyanovsky připravil Tomáš Skopal podle knihy „Data Compression“ od D. Salomona, 1997,
Kompresní algoritmus LZW Dokumentografické informační systémy.
SWI072 Algoritmy komprese dat1 Algoritmy komprese dat Huffmanův kód - aplikace.
Barevná hloubka: Ukázky obrázků ještě jednou:
JUI přednáška Vstup a výstup, cykly RNDr. Jiří Dvořák, CSc.
Počítačová grafika a CAD 1. Způsoby uložení grafické informace Rastr (grid, bitmapa …) Vektor.
Datové formáty Název školyGymnázium Zlín - Lesní čtvrť Číslo projektuCZ.1.07/1.5.00/ Název projektuRozvoj žákovských kompetencí.
Radim Farana Podklady pro výuku
Ztrátová komprese obrázků JPG
BMP – bitová mapa bez komprese Dnes se už nepoužívá TIFF – bezztrátový formát Používá se, když je potřeba uložit celý obrázek v maximální velikosti (publikace)
Grafické formáty Mgr. Petra Toboříková. Barevná hloubka barevné odstíny jsou dány kombinací barev barevná hloubka = určuje kolik bitů je potřeba k popisu.
Ivo Peterka FHS Grafické formáty pro WWW ● Pro vkládání obrázků do prezentací se používají následující formáty – Graphics Interchange Format.
ZŠ Brno, Řehořova 3 S počítačem snadno a rychle Informatika 7. ročník III
Komprese obrázků Autorem materiálu a všech jeho částí, není-li uvedeno jinak, je Ing. Jitka Vlčková. Dostupné z Metodického portálu ISSN
RASTROVÝ OBRAZ JANA ŠTANCLOVÁ Obrázky (popř. slajdy) převzaty od RNDr. Josef Pelikán, CSc., KSVI MFF UK.
Název školyStřední odborná škola a Gymnázium Staré Město Číslo projektuCZ.1.07/1.5.00/ AutorMgr. Soňa Patočková Název šablonyIII/2.
Rastrová grafika Základní termíny – Formáty rastrové grafiky.
Grafika – opakování Číslo projektu CZ.1.07/1.5.00/
Informatika pro ekonomy přednáška 6
Počítačová grafika základní pojmy. Počítačová grafika základní pojmy.
Financováno z ESF a státního rozpočtu ČR.
DIGITÁLNÍ UČEBNÍ MATERIÁL
Barvy v počítačové grafice
Transkript prezentace:

Kompresní algoritmy

Opakování Co je to kódování? Jaký je rozdíl oproti šifrování? Jak pracuje Shanon-Fanovo kódování? Jak pracuje Huffmanovo kódování?

Problém komprese Balení věcí do skříně nebo batohu Úspora úložného prostoru Zjednodušení transportu Nezáleží na kapacitě, problém nedostatku místa nakonec vždycky přijde

Komprese dat Komprese a komprimace jsou synonyma Kompresní algoritmus transformuje řetězec S1 délky d1 na řetězec S2 délky d2 Požadujeme, aby: d2 < d1 I(S1) = I(S2), kde I je informační hodnota Jak to udělat?

Jak to udělat? Základní myšlenka: Vyhledáme nadbytečné informace, které vypustíme. Viz teorie informace z minulé přednášky Příklad: qu v angličtině Jiná myšlenka: Vypustíme nějaké informace tak, “aby to nebylo poznat“. Text lze komprimovat 1:2, obrázky 1:50, video až 1:1000

Vlastnosti kompresních algoritmů Ztrátovost / bezeztrátovost komprese Kompresní poměr k = d2/d1 (k<=1) někdy udáván v procentech kompresní zisk: z = 1 – k Metody lze rozdělit na: statické x adaptivní symetrické x asymetrické proudové x blokové

Historie kódování a komprese 1820 Braillovo písmo pole 3x2 bodů písmena, slova 1838 Morseova abeceda Samuel Morse kódování pro telegraf

Historie kódování a komprese 1800 Baudotův kód 5bitový kód pro telegraf písmena, znaky přepínač LTRS/FIGS Dvacáté století s rozvojem IT jde i rozvoj kompresních algoritmů Huffmann, Shannon, Lempel, Ziv, Welch

Jednoduché kompresní metody Adam adaptace 3ptace adekvátní 2ekvátní adept 3pt admirál 2mirál afekt 1fekt aféra 2éra agenda 1genda agent 4t Komprese slovníku opakující se písmena nahradíme číslem vyjadřující jejich počet 54 zn.  44 zn. Jaký je kompresní poměr a zisk?

Metoda potlačení nul Jedna z nejstarších, v kombinaci s jinými dodnes používaná V souboru se vyskytují sekvence stejných znaků (mezery) Sekvenci nahradíme indikátorem a číslem Dekomprese: načteme-li indikátor, přečteme číslo a vypíšeme příslušný počet nul Efektivní až při sekvenci tří nul Posunutá stupnice => při 8bitovém kódování 258 až nul v jednom znaku

Metoda potlačení nul – příklad Vstupní text: AB---CAB----B-A-------CB Výstupní text: ABI0CABI1B-AI4CB Řetězec 24B zkomprimován na 16B Dekomprese: Při načtení I přečteme číslo (x) a vypíšeme x+3 nul I se nesmí vyskytovat v textu

Metoda bitové mapy Potlačení výskytu často opakovaného znaku (nuly) Ke každé osmiznakové sekvenci vytvoříme bitovou mapu výskytu nul Ukládáme vždy bitovou mapu a sekvenci nenulových znaků V souboru musí být alespoň 1/8 nul

Metoda bitové mapy – příklad Vstupní text: AB-CA--C Bitová mapa:11011001 Výstupní text: <11011001>ABCAC Řetězec 8B zkomprimován na 6B Při dekompresi se doplňují nuly podle bitové mapy, ostatní znaky podle textu

Proudové kódování – RLE Run Length Encoding (kódování délkami sekvencí) Vylepšení metody potlačení nul Označme an posloupnost znaku a délky n Každou posloupnost an nahradíme sekvencí Ian Příklad Vstupní text: abbbbcccaaaaaaaabbbb Výstupní text: aIb4cccIa8Ib4 Řetězec 20B zkomprimován na 13B Efektivní pro n>3

RLE s posunutou stupnicí Náhradu sekvence an provádíme jen při n>3 Na výstup umístíme Ia(n-3) V 1B až 258 opakování (místo 255) Příklad Vstupní text: abbbbcccaaaaaaaabbbb Výstupní text: aIb1cccIa5Ib1 Řetězec 20B zkomprimován na 13B

RLE bez indikátoru komprese Znak I se nesmí vyskytovat v textu – nevýhoda Každou sekvenci an pro n>=3 nahradíme sekvencí aaa(n-3) Dekomprese: Při načtení trojice stejných znaků načteme číslo – počet zbývajících znaků Nepotřebujeme indikátor komprese Při n=3 dochází k expanzi!!! aaa0

Využití algoritmu RLE V grafických a zvukových souborech s malými změnami malá barevná hloubka, jednoduchá kresba záznam hlasu Hlavní algoritmus: *.PCX Pomocný algoritmus: *.JPG Faxy většina faxu je bílá, ojediněle černý bod

Kódování delta U některých typů dat nastává lineární růst (pokles) hudba, animace První byte uložíme tak, jak je Každý další byte je kódován jako rozdíl (delta) oproti předcházejícímu bytu Příklad Vstupní soubor: 10 12 14 16 15 22 32 Delta kódování: 10 2 2 2 -1 7 10

Kódování delta – použití Sekvence stejných znaků jsou nahrazeny sekvencemi nul Kromě toho získáme nové sekvence stejných znaků následné kódování RLE má větší efekt Použití zejména v audioformátech

Algoritmus LZW84 Lempel – Ziv – Welch Vylepšení LZ78 (Lempel – Ziv 1978) Slovníkový algoritmus pro bezeztrátovou kompresi Použitý ve formátech GIF, TIFF a PDF Do roku 2004 chráněn patentem Dnes již překonaný Čím delší text, tím lepší kompresní poměr

Vývoj algoritmu LZW84 LZ77 LZ78 Používá klouzavé okno, v něm hledá opakující se sekvence Vstup: Leze leze po železe Výstup: Leze l[2,3] po že[5,4] LZ78 Místo klouzavého okna tvoří vlastní slovník Slovník narůstá a je třeba jej vyprazdňovat

LZW komprese forall c do add c to dictionary w = ‘’ while read(c) do if wc is in dictionary then w = wc else add wc to dictionary write code(w) w = c endif done

LZW dekomprese read(k) write(dictionary_entry(k)) w = k while read(k) do if k is in dictionary then entry = dictionary_entry(k) else entry = w + w[0] endif write(entry) add w+entry[0] to dictionary w = entry done

Předpřipravení dat pro kompresi Úkolem těchto algoritmů je modifikovat data tak, aby měla následná komprese lepší poměr typicky se jedná o vhodnou reverzibilní permutaci Burrows-Wheelerova transformace Move-to-front transformace

Burrows-Wheelerova transformace Příprava textu pro RLE Výsledný text má stejnou délku plus znak začátku a konce ale lépe se komprimuje Algoritmus transformace: přidej k textu znak začátku a konce vytvoř tabulku všech posuvů daného textu seřaď řádky podle abecedy na výstup zapiš poslední sloupec

Burrows-Wheelerova transformace Zpětná transformace opakuj tolikrát, kolik je znaků ve vstupním textu vezmi aktuální tabulku a před první sloupec vepiš vstupní text seřaď řádky aktuální tabulky podle abecedy výsledkem je původní tabulka vezmi řádek začínající znakem začátku řádku

Move-to-front transformace Příprava textu tak, aby častější symboly byly kódovány nižšími čísly Proudové zpracování Algoritmus transformace Začínáme se seřazenou abecedou (tabulkou) Zapíšeme index symbolu na vstupu V tabulce indexů právě použitý symbol přesuneme na začátek Kódování je reverzibilní zpětná transformace probíhá stejně

Další algoritmy PPM (Prediction by Partial Matching) adaptivní statistická metoda předpověď následujících dat na základě předchozích CM (Context Mixing) kombinace více statistických metod