Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37

Podobné dokumenty
Informační systémy ve zdravotnictví

Komprese dat (Komprimace dat)

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky


Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

ZÁPADOČESKÁ UNIVERZITA V PLZNI

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání.

Formáty obrazu. David Bařina. 22. března David Bařina Formáty obrazu 22. března / 49

Rastrové grafické formáty. Václav Krajíček KSVI MFF UK, 2007

KOMPRESE OBRAZŮ. Václav Hlaváč. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. hlavac@fel.cvut.

Multimediální systémy. 03 Počítačová 2d grafika

Kompresní algoritmy grafiky. Jan Janoušek F11125

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky

Počítačová grafika a vizualizace I

Rastrový obraz, grafické formáty

Algoritmy komprese dat

Kompresní metody první generace

Porovnání komprimačních metod grafických formátů z hlediska míry kvality obrazu

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

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE

STRUKTURA RASTROVÝCH DAT

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT

Neztrátové komprimační algoritmy v počítačové grafice

Kosinová transformace 36ACS

aneb jak se to tam všechno vejde?

Komprese obrazu. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

Komprese obrazu. Úvod. Rozdělení metod komprese obrazů. Verze: 1.5, ze dne: 1. června Václav Hlaváč a Tomáš Svoboda

KOMPRIMACE. aneb Aby to zabralo méně místa

Grafické formáty. Grafické formáty. Komprese rastrového obrazu. Proč je tolik formátů pro uložení obrázků?

Komprese dat. Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI. přednášky

TECHNICKÁ UNIVERZITA V LIBERCI

Osnova přednášky. Formáty uložení dat. Vyjádření hodnot datového typu. Vyjádření hodnot datového typu. Datové formáty. Výpočetní technika I

VIDEO DATOVÉ FORMÁTY, JEJICH SPECIFIKACE A MOŽNOSTI VYUŽITÍ SMOLOVÁ BÁRA

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3.

CAD II přednáška č. 5. Grafické formáty PCX GIF TIFF BMP

Grafické formáty. poznámky k 5. přednášce Zpracování obrazů. Martina Mudrová 2004

Úvod do teorie informace, kódování a komprese. Informační a komunikační technologie ve zdravotnictví 2009/2010

Algoritmy komprese dat

Komprese multimédií. Ing. Jan Přichystal, Ph.D. 7. října PEF MZLU v Brně

Tel.: (+420)

Formáty videa. David Bařina. 5. dubna David Bařina Formáty videa 5. dubna / 46

1. Formáty grafických dat

Datové formáty videa a jejich využití. Tomáš Kvapil, Filip Le Manažerská informatika Multimédia

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Teorie informace: řešené příklady 2014 Tomáš Kroupa

MULTIMEDIÁLNÍ A HYPERMEDIÁLNÍ SYSTÉMY. 8. Uložení a komprese statického bitmapového obrazu

Počítačová grafika a vizualizace volné 3D modelování. Maxon CINEMA 4D. Mgr. David Frýbert, 2012

Komprese obrazu. Multimedia Technology Group, K13137, FEE CTU 0

Konverze grafických rastrových formátů

Univerzita Karlova v Praze. Matematicko-fyzikální fakulta DIPLOMOVÁ PRÁCE. Bc. Lukáš Unger. Vylepšení víceproudé komprese

Digitální magnetický záznam obrazového signálu

Zdroj:

Práce s obrazovým materiálem CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

Obraz jako data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

Kódy pro odstranění redundance, pro zabezpečení proti chybám. Demonstrační cvičení 5 INP

Digitální audio zde se vysvětluje princip digitalizace zvukového záznamu, způsoby komprese uložení ztrátové a bezztrátové, obvyklé formáty atd.

Charakteristiky zvuk. záznamů

Katedra radioelektroniky K13137, FEL ČVUT Praha. zakódování dané informace. Tento trend postihl i oblast záznamu a přenosu širokopásmových

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY

Formáty uložení dat. Výpočetní technika I. Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně

Identifikátor materiálu: ICT-1-19

Obrazová data. Biofyzikální ústav Lékařské fakulty Masarykovy univerzity Brno. prezentace je součástí projektu FRVŠ č.2487/2011

Videosekvence. vznik, úpravy, konverze formátů, zachytávání videa...

Technická kybernetika. Obsah. Principy zobrazení, sběru a uchování dat. Měřicí řetězec. Principy zobrazení, sběru a uchování dat

Algoritmizace Dynamické programování. Jiří Vyskočil, Marko Genyg-Berezovskyj 2010

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

ČÍSELNÉ SOUSTAVY PŘEVODY

Zadání druhého zápočtového projektu Základy algoritmizace, 2005

Základní principy přeměny analogového signálu na digitální

Komprese a dotazování nad XML dokumenty

Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW

Výsledky experimentů předmětu Komprese dat

Formáty uložení dat Výpočetní technika I

POČÍTAČOVÁ GRAFIKA. Počítačová grafika 1

Formáty videa. David Bařina. 31. března David Bařina Formáty videa 31. března / 50

1 Komprese obrazových signálů

Komprese obrazů. Václav Hlaváč. České vysoké učení technické v Praze

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY VYLEPŠENÍ FORMÁTU JPEG IMPROVEMENTS OF JPEG FORMAT

Zásady prezentace CENTRUM MEDIÁLNÍHO VZDĚLÁVÁNÍ. Akreditované středisko dalšího vzdělávání pedagogických pracovníků

Maturitní téma: Počítačová grafika (rastrová a vektorová grafika, grafické programy, formáty)

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ KOMPRESE DAT DIPLOMOVÁ PRÁCE FAKULTA ELEKTROTECHNIKY A KOMUNIKAČNÍCH TECHNOLOGIÍ ÚSTAV AUTOMATIZACE A MĚŘICÍ TECHNIKY

Š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

Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill. Optimalizace komprese XML. Závěr

DIPLOMOVÁ PRÁCE. Petr Uzel Entropické kodéry

Teorie informace II: obtížnější řešené příklady 2014 Tomáš Kroupa

LZ77 KNIHOVNA PRO KOMPRESI A DEKOMPRESI DAT POMOCÍ ALGORITMU LZ77. Příručka uživatele a programátora

Datové typy a struktury

KOMPRESE DAT ARNOŠT VEČERKA KATEDRA INFORMATIKY PŘÍRODOVĚDECKÁ FAKULTA UNIVERZITA PALACKÉHO

[1] samoopravné kódy: terminologie, princip

Teorie informace Obsah. Kybernetika. Radim Farana Podklady pro výuku

Realita versus data GIS

FAKULTA INFORMAČNÍCH TECHNOLOGIÍ

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

Metody komprese a kódování dat

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

VYSOKÉ UČENÍ TECHNICKÉ V BRNĚ BRNO UNIVERSITY OF TECHNOLOGY BEZEZTRÁTOVÁ KOMPRESE VIDEA LOSSLESS VIDEO COMPRESSION

1. Převeďte dané číslo do dvojkové, osmičkové a šestnáctkové soustavy: a) b)

Multimediální systémy

Transkript:

Kompresní techniky David Bařina 15. února 2013 David Bařina Kompresní techniky 15. února 2013 1 / 37

Obsah 1 Pojmy 2 Jednoduché techniky 3 Entropická kódování 4 Slovníkové metody 5 Závěr David Bařina Kompresní techniky 15. února 2013 2 / 37

Úvod multimediální data: text, dokumenty, zvuk, obraz, animace, video, medicínská data, geografická data,... potřeba komprese: jediný snímek z HD videa 1920 1080 3 6 MB (při 60 FPS 360 MB/s) formáty: BMP, PNG, JPEG, MPEG-4,... David Bařina Kompresní techniky 15. února 2013 3 / 37

Základní pojmy Komprese zmenšení objemu dat, datového toku bezeztrátová vs. ztrátová snížení redundance vs. irelevance dat Redundance = nadbytečnost zmenšení redundance = bezeztrátová komprese původní signál lze zrekonstruovat bez zkreslení Irelevance z hlediska vnímání člověkem odstranění irelevantních dat = ztrátová komprese nelze přesně zrekonstruovat původní signál David Bařina Kompresní techniky 15. února 2013 4 / 37

Základní pojmy Kódování vzájemně jednoznačné přiřazení symbolů jedné abecedy symbolům abecedy druhé blokové vs. proudové (tokové) kódy např. symbol A kód 0110 snižení redundance = komprese Počítačový program kompresor/kodér dekompresor/dekodér kodek typ dat (např. videokodek) David Bařina Kompresní techniky 15. února 2013 5 / 37

Základní pojmy Model dat pravděpodobnostní (statistický) model konextově orientovaný (Markovský) model Kompresní metody symetrická vs. asymetrická (složitost) bloková vs. proudová (blok symbolů), např. bzip2 900 kb jednoprůchodová, dvouprůchodová, víceprůchodová statická = 1 průchod, model dat stanoven semiadaptivní = 2 průchody, model třeba přenést adaptivní (dynamická) = 1 průchod, model upravován za běhu David Bařina Kompresní techniky 15. února 2013 6 / 37

Základní pojmy Kódování s proměnnou délkou krátké kódy pro často se vyskytující symboly např. A 1, B 01,..., Z 000000001 realizuje tzv. entropické kódování (dále) např. Huffmanovy kódy Prefixový kód vlastnost, že žádný kód (kódové slovo) není prefixem jiného kódu při dekódování jednoznačný bez oddělovačů např. 1, 01, 001, 0001,... David Bařina Kompresní techniky 15. února 2013 7 / 37

Základní pojmy Slovník datová struktura obsahující fragmenty nekomprimovaného souboru např. 0 "aa", 1 "ba", 2 "bc" 10021 "baaaaabcba" Kompresní metody statistické (statistický model dat) kontextové slovníkové (slovník) David Bařina Kompresní techniky 15. února 2013 8 / 37

Základní pojmy Kompresní poměr ( < 1 komprese, > 1 expanze ) = Hodnocení kompresní metody účinnost (kompresní poměr) časová, paměťová náročnost vliv typu dat na kompresní poměr u ztrátových metod kvalita velikost výstupu velikost vstupu David Bařina Kompresní techniky 15. února 2013 9 / 37

Základní pojmy Kompresní metody prediktivní (prediktor, chyba) transformační (např. DCT) Entropie dat veličina udávající množství informace míra překvapení, informační obsah, potřebný počet bitů počet otázek ano/ne, kterými lze odhalit obsah zprávy jednotkou bit H = p(a) log 2 p(a) a A entropické kodéry komprimují data téměř optimálně vzhledem k jejich entropii David Bařina Kompresní techniky 15. února 2013 10 / 37

Vícerozměrná data Linearizační průchody rastrový průchod (po řádcích) zig-zag, např. DCT u JPEG Mortonův průchod (Z-křivka), např. strom DWT David Bařina Kompresní techniky 15. února 2013 11 / 37

RLE (Run-Length Encoding) kódování sledů (posloupností, řady) stejných znaků mnoho modifikací součást složitějších metod kód nese informaci o zakódovaném symbolu a počtu jeho opakování např. A A A A B C D 4 A B C D escape symbol, escape sekvence použit téměř všude (BMP, PCX, TIFF, TGA, JPEG, bzip2) načíst symbol shodný s posledním? ano ne zapsat sekvenci reset počítadla zvýšení počítadla David Bařina Kompresní techniky 15. února 2013 12 / 37

Kódování rozdílů relativní kódování, delta kódování součást složitějších metod nahrazení vstupních hodnot za rozdíly od hodnot předcházejících jednoduchá predikční metoda dále se kóduje chyba predikce např. 17 16 18 32 35 35 34 28 28-1 +2 +14 +3 0-1 -6 0 David Bařina Kompresní techniky 15. února 2013 13 / 37

Prediktivní kódování kódovaný symbol se predikuje z předchozích symbolů dále se kóduje chyba predikce řády prediktorů (1., 2., 3.,... ) domény (1D, 2D, strom) Prediktory lineární (kódování rozdílů, Lossless JPEG, PNG) nelineární (medián, MED/LOCO-I, Paeth, GAP) min(a, b) : c max(a, b) ˆx = max(a, b) : c min(a, b) a + b c c b a x David Bařina Kompresní techniky 15. února 2013 14 / 37

Unární kódování velmi jednoduché entropické kodování optimální pro p(n) = 2 n mapuje nezáporná celá čísla N na bitové kódy, např. N N 1, 0 0 0 1 10 2 110 3 1110... 0 a 1 lze zaměnit David Bařina Kompresní techniky 15. února 2013 15 / 37

Golombovo-Riceovo kódování speciální případ Golombova kódování; rychlá implementace užity např. v JPEG-LS, FLAC, MPEG-4 ALS mapuje nezáporná celá čísla N na bitové kódy kód je parametrizovatelný parametrem M = 2 C pro M = 1 se jedná o unární kódování pro získání kódu čísla N se nejprve určí Q = N/M R = N Q M C = log 2 M Q se pak kóduje unárně, R binárně na C bitech David Bařina Kompresní techniky 15. února 2013 16 / 37

Golombovo-Riceovo kódování pro M = 4 N Q R kód 0 0 0 1 00 1 0 1 1 01 2 0 2 1 10 3 0 3 1 11 4 1 0 01 00 5 1 1 01 01 6 1 2 01 10 7 1 3 01 11 8 2 0 001 00 9 2 1 001 01 10 2 2 001 10 11 2 3 001 11 12 3 0 0001 00 David Bařina Kompresní techniky 15. února 2013 17 / 37

Shannonovo Fanovo kódování metoda vytváří kódová slova podle pravděpodobnosti výskytu kódovaných symbolů (adaptuje se na data) nejlepších výsledků dosahuje, když jsou pravděpodobnosti záporné mocniny 2 Huffmanovo kódování v praxi generuje o něco lepší kód symboly jsou listy v binárním stromě, jehož hrany (0 a 1) reprezentují kód symbolu konstrukce stromu: 1. seřadit symboly sestupně dle jejich pravděpodobností 2. rozdělit tuto množinu na dvě tak, že obě budou mít nejlépe stejný součet pravděpodobností 3. rekurzivně aplikovat krok 2. na obě podmnožiny (uzly stromu) až do rozkladu na jednotlivé symboly použito v ZIP/Implode David Bařina Kompresní techniky 15. února 2013 18 / 37

Shannonovo Fanovo kódování příklad pravděpodobnost kód 0,25 1 1 11 0,20 1 0 10 0,15 0 1 1 011 0,15 0 1 0 010 0,10 0 0 1 001 0,10 0 0 0 1 0001 0,05 0 0 0 0 0000 David Bařina Kompresní techniky 15. února 2013 19 / 37

Huffmanovo kódování populární metoda adaptuje se na data nejlepší výsledky pro pravděpodobnosti rovny záporné mocnině 2 symboly jsou listy v binárním stromě s hranami udavajícími kód použití: bzip2, Deflate, JPEG, MP3 konstrukce stromu: 1. seřadit symboly sestupně dle jejich pravděpodobností 2. vyber 2 symboly s nejnižší pravděpodobností, spoj je do nového uzlu 3. pokračuj krokem 2. dokud je co spojovat u adaptivní varianty je nutné opravovat strom David Bařina Kompresní techniky 15. února 2013 20 / 37

Huffmanovo kódování příklad 1,0 p kód 0,4 0 0 0,2 0 1 10 0,2 1 1 1 111 0,1 1 0 1 1 1101 0,1 0 0 1 1 1100 0,2 0,4 0,6 0,1 0,1 0,2 0,2 0,4 David Bařina Kompresní techniky 15. února 2013 21 / 37

Aritmetické kódování optimální kódy pro libovolné pravděpodobnosti výskytu symbolů metoda přidělí jeden kód celému kódovanému souboru dat začíná se s intervalem, který se podle pravděpodobností kódovaných symbolů neustále zužuje zužování intervalu vyžaduje další bity, takže délka kódu postupně roste myšlenka komprese: symbol s vyšší pravděpodobností zúží interval méně (přidá méně bitů) než symbol s pravděpodobností nižší praktické implementace musejí pracovat s celými čísly použití: kontextové kodéry, JPEG, Dirac David Bařina Kompresní techniky 15. února 2013 22 / 37

Aritmetické kódování příklad David Bařina Kompresní techniky 15. února 2013 23 / 37

Kontextová komprese využívají nějčastěji arit. kódování nebo jeho modifikaci na rozdíl od něj nekódují pravděpodobnost výskytu osamoceného symbolu, ale pravděpodobnost jeho výskytu v určitém kontextu kontext: několik předcházejích symbolů, okolních pixelů, okolních bitů, sousedních koeficientů řád kontextu kontext musejí tvořit již přenesené symboly kontext využit k predikci (přidělení pravděpodobnosti výskytu symbolu) escape kódy: pokud nelze z kontextu pravděpodobnost určit (PPMx) použití: MPEG-4 (CABAC, CAVLC), JPEG 2000 (EBCOT), JPEG-LS, PPMx David Bařina Kompresní techniky 15. února 2013 24 / 37

Kontextová komprese příklad řetězec aabbbc kontext řádu 1 tento model predikuje např. po symbolu b symbol b s pravděpodobností 66 % a symbol c s pravděpodobností 33 % EBCOT kodér použitý ve standardu JPEG 2000 David Bařina Kompresní techniky 15. února 2013 25 / 37

LZ77 publikovali A. Lempel a J. Ziv v roce 1977 mnoho modifikací použita v Deflate pohyblivé okno (sliding window) dvě části: vyhledávácí a předvídací buffer v praxi tisíce vs. desítky bajtů tvoří značky (offset, délka, symbol)...east#easily#teases... 2 shoda eas na pozicích 8 a 13 vytvoří se značka (13, 3, e ) prvky značky se zakódují na odpovídajícím počtu bitů log 2 S, log 2 (L 1), log 2 A, kde A je velikost abecedy David Bařina Kompresní techniky 15. února 2013 26 / 37

LZ77...east#easily#trashe... při nenalezení shody se generuje značka (0, 0, r )...east#easily#tttttt... shoda může překročit hranici vyhledávácího bufferu, zde (1, 5, t ) to je také důvod pro počet bitů log 2 (L 1) délky LZ77 předpokládá, že fragmenty se vyskytují blízko u sebe existuje množství vylepšení této metody: značky proměnné délky, důmyslné datové struktury, zrušení posledního pole značky, např. metoda LZSS David Bařina Kompresní techniky 15. února 2013 27 / 37

LZ78 publikovali A. Lempel a J. Ziv v roce 1978 mnoho modifikací, např. LZW nemá pohyblivé okno, ale slovník je náročná na paměť, lze řešit různě vhodná datová struktura k udržování slovníku je trie první položka slovníku je prázdný řetězec kodér vytváří značky (index, symbol) při kompresi se vyhledá nejdelší shodný řetězec ve slovníku a vygeneruje se značka s jeho indexem a následujícím symbolem každá značka udává řetězec, ten se umístí do slovníku David Bařina Kompresní techniky 15. února 2013 28 / 37

LZ78 Příklad: ABRAKADAKABRA na počátku prázdný slovník 0 A, B, R se zakódují jako (0, A ), (0, B ), (0, R ) AK a AD se přidají pod uzel A a zakódují se jako (1, K ), (1, D ) stejně se zakóduje AKA, BR a poslední A jako (4, A ), (2, R ), (1, EOF) 4 A K A B 1 2 D R 5 7 R 3 6 David Bařina Kompresní techniky 15. února 2013 29 / 37

LZW varianta LZ78, kterou vyvinul T. Welch v roce 1984 použit u GIF, TIFF, PDF použit slovník, na počátku inicializován na všechny symboly značka má pouze jedno pole: (index) kodér: 1. ve vstupu hledá nejdelší řetězec obsažený ve slovníku I 2. následující znak x způsobí, že Ix ve slovníku již není 3. na výstup nyní vyšle index I, uloží Ix do slovníku, I nyní bude jen x 4. pokračuje se krokem 1. dekodér: 1. načte index a zapíše odpovídající řetězec I na výstup 2. je třeba přidat do slovníku řetězec Ix, ale x ještě není známo 3. načte se další index, na výstup zapíše odpovídající řetězec J, jeho první znak je x 4. nyní může uložit Ix do slovníku, J bude dále I 5. pokračuje se bodem 2. David Bařina Kompresní techniky 15. února 2013 30 / 37

LZW: příklad Příklad: sir#sid# (kodér) vstup x= s Ix= s nalez. I=Ix= s vstup x= i Ix= si nenalez. výstup idx. I= s ulož Ix= si I=x= i vstup x= r Ix= ir nenalez. výstup idx. I= i ulož Ix= ir I=x= r vstup x= # Ix= r# nenalez. výstup idx. I= r ulož Ix= r# I=x= # vstup x= s Ix= #s nenalez. výstup idx. I= # ulož Ix= #s I=x= s vstup x= i Ix= si nalez. I=Ix= si vstup x= d Ix= sid nenalez. výstup idx. I= si ulož Ix= sid I=x= d vstup x= # Ix= d# nenalez. výstup idx. I= d ulož Ix= d# I=x= # vstup x=eof Ix= #EOF nenalez. výstup idx. I= # konec Slovník: 0 255 znaky 0 255 256 si 257 ir 258 r# 259 #s 260 sid 261 d# David Bařina Kompresní techniky 15. února 2013 31 / 37

LZW: příklad Příklad: sir#sid# (dekodér) vstup index J= s výstup J= s x=j(1)= s ulož Ix= s I=J= s vstup index J= i výstup J= i x=j(1)= i ulož Ix= si I=J= i vstup index J= r výstup J= r x=j(1)= r ulož Ix= ir I=J= r vstup index J= # výstup J= # x=j(1)= # ulož Ix= r# I=J= # vstup index J= si výstup J= si x=j(1)= s ulož Ix= #s I=J= si vstup index J= d výstup J= d x=j(1)= d ulož Ix= sid I=J= d vstup index J= # výstup J= # x=j(1)= # ulož Ix= d# I=J= # Slovník: 0 255 znaky 0 255 256 si 257 ir 258 r# 259 #s 260 sid 261 d# David Bařina Kompresní techniky 15. února 2013 32 / 37

Deflate použita v ZIP (původně), zlib/gzip, 7-Zip, PNG, MNG, PDF kombinace LZ77 a Huffmanova kódování na rozdíl od LZ77 mají značky jen dvě pole (offset, délka) scházející položka (symbol) se zapisuje do výstupního toku zvlášť komprimovaný tok se tedy skládá ze tří entit: literálů/symbolů, offsetů/vzdáleností a délek tyto entity se kódují pomocí Huffmanových kódů za pomoci dvou tabulek: literály+délky a vzdálenosti délky jsou omezeny na 258, literály jsou bajty (0 255); vzdálenost až do velikosti bufferu 32 kb data komprimuje po blocích (odděleně) různé délky David Bařina Kompresní techniky 15. února 2013 33 / 37

Deflate definuje 3 režimy komprese: 1. bez komprese (max. 65 535 B) 2. komprese s fixními tabulkami 3. komprese s tabulkami zapsanými do komprimovaného toku výběr shody je odložen...she#needs#then#there#the#new... nevybere (1,3) = the t zakóduje jako literál vybere (20,5) = he#ne David Bařina Kompresní techniky 15. února 2013 34 / 37

Vhodné kombinace metod data (nekomprimovaná) data RLE (BMP, TGA) data predikce EC (JPEG-LS) data predikce RLE EC data predikce slovníková metoda (PNG) data slovníková metoda (GIF) data transformace RLE+EC (JPEG) David Bařina Kompresní techniky 15. února 2013 35 / 37

Opakování pojmy (redundance, model dat, dělení kompresních metod, prefixový kód, slovník, kompresní poměr, entropie) zpracování vícerozměrných dat základní metody: RLE, kódování rozdílů, predikce entropické kodéry (unární, Golombovo-Riceovo, Huffmanovo a aritmetické kódování) kontextová komprese slovníkové metody (LZ77, LZ78, LZW a Deflate) kombinace metod David Bařina Kompresní techniky 15. února 2013 36 / 37

Zdroje David Salomon. Data Compression: The Complete Reference. 4. ilustrované vydání, Springer, 2006. SO KKO http://www.stringology.org/datacompression/ specifikace formátů David Bařina Kompresní techniky 15. února 2013 37 / 37