a archivační programy Jak funguje komprese binárních, textových a grafických dat. Uživatelský popis programů: WinRAR WinZIP ARJ JAR ACE

Rozměr: px
Začít zobrazení ze stránky:

Download "a archivační programy Jak funguje komprese binárních, textových a grafických dat. Uživatelský popis programů: WinRAR WinZIP ARJ JAR ACE"

Transkript

1 D a v i d M o r k e s a archivační programy Jak funguje komprese binárních, textových a grafických dat. Uživatelský popis programů: WinRAR WinZIP ARJ JAR ACE

2 Komprimační a archivační programy David Morkes Computer Press Brno 1998

3 D a v i d M o r k e s Komprimační a archivační programy Jak funguje komprese binárních, textových a grafických dat. Uživatelský popis programů: WinRAR WinZIP ARJ JAR ACE

4 Komprimační a archivační programy David Morkes Copyright 1998 Computer Press. Vydání první. Všechna práva vyhrazena. Vydavatelství a nakladatelství Computer Press, Hornocholupická 22, Praha 4, ISBN Prodejní kód: K0198 Jazyková korektura: Martina Mojzesová, Josef Novák Sazba: Wlashack Vnitřní úprava: Wlashack Obálka: Lubomír Mojzes Komentář na zadní straně obálky: Jiří Hlavenka (hlavenka@cpress.cz) Vedoucí knižní a technické redakce: Ivo Magera (magera@cpress.cz) Vedoucí knižní produkce: Kateřina Vobecká (vobecka@cpress.cz) Tisk: MIKADA Adamov Žádná část této publikace nesmí být publikována a šířena žádným způsobem a v žádné podobě bez výslovného svolení vydavatele. Kompletní nabídka počítačové literatury za bezkonkurenční ceny Vaše dotazy, vzkazy, náměty, připomínky ke knižní produkci Computer Press přijímá 24 hodin denně naše horká linka: knihy@cpress.cz Veškeré dotazy týkající se distribuce směřujte na: Computer Press Brno, nám. 28. dubna 48, Brno Bystrc, tel.: (05) , fax: (05) , e mail: krcalova@cpress.cz Computer Press Praha, Hodkovická 115, Praha 4 Lhotka, tel.: (02) , (02) , fax: (02) , e mail: legatova@cpress.cz Computer Press Ostrava, Fráni Šrámka 5, Ostrava Mariánské Hory, tel.: (069) , fax: (069) , e mail: benesova@cpress.cz Computer Press Bratislava, Hattalova 12/A, Bratislava, Slovenská republika, tel.: ( ) , , fax: ( ) , e mail: benes@cpress.cz Objednávkový formulář pro prodejce naší literatury:

5 Obsah Úvod 1 Kapitola 1 Základní seznámení 3 Kapitola 2 Základní druhy a přístupy v kódování 7 Ztrátová a bezztrátová komprese 13 Další pojmy charakterizující druh komprimace 16 Fyzická a logická komprimace 16 Symetrická a asymetrická komprimace 17 Adaptivní a neadaptivní komprimace 17 Kapitola 3 Bezztrátová komprimace 19 RLE (Run lenght Encoding) 21 Modifikace RLE komprimace 23 Formát PCX 28 Lempel Ziv Welch algoritmus 32 LZ77 33 LZ78 34 Huffmanovo kódování 39 Shannon-Fanovo kódování 42 Aritmetické kódování 43 Kapitola 4 Ztrátová komprimace 51 JPEG 53 Jakých výsledků tedy lze dosáhnout ztrátovou kompresí typu JPEG? 54 Různé druhy obrázků JPEG 56 JPEG základní a progresivní 56 vii

6 Obsah Transparentní JPEG je problém 57 Bezztrátový JPEG? 58 Grafický formát jako standard 59 Kompresní algoritmus JPEG 61 Další metody ztrátové komprese obrazu 64 Vlnková transformace 64 Fraktální komprese (Fractal Image Compression) 66 Skalární a vektorová kvantifikace 69 JBIG 70 MPEG 71 Jak pracuje MPEG-1? 73 Tři vrstvy jako standardy pro kompresi zvuku 75 Kapitola 5 Archivační programy 81 Základní možnosti archivačních programů 83 Archivy 83 Popis parametrů 85 Výkonové ukazatele (benchmarks) 85 První test (textový soubor) 86 Druhý test (soubor EXE) 92 Třetí test (soubor EXE s možností spuštění) 97 Čtvrtý test (soubor BMP) 99 Pátý test (21 různých souborů) 105 Šestý test (126 malých textových souborů) 111 WinRAR 117 Popis parametrů 120 Příkazy programu WinRAR 120 Přepínače programu WinRAR 124 viii

7 Obsah WinZip 135 Prohlížení souborů 137 Přidávání souborů do archivu 138 Mazání souborů z archivu 140 Rozbalování souborů 140 Tipy pro pokročilé 141 ARJ 144 Základní funkce 145 Příkazy programu ARJ 151 Některé zajímavé vlastnosti programu ARJ 153 JAR 154 Jaký je tedy rozdíl mezi programy ARJ a JAR? 155 Konfigurační soubor 155 ACE158 Kapitola 6 Slovníček 163 Rejstřík 173 ix

8 x Obsah

9 Úvod Většina uživatelů počítačů se s nimi dříve nebo později setká. Říká se jim archivační, komprimační, případně pakovací programy. Existují jich stovky, ale jejich funkce je vždy stejná: zmenšit velikost datových souborů uložených na pevném disku. Proč zmenšovat (pakovat, komprimovat, archivovat) soubory? Jaký to má smysl? Je to bezpečné? Který pakovací program je nejlepší? Jak se to pozná? Jaký uživatelský komfort a jaké další funkce navíc nabízejí jednotlivé komprimační programy? Jak se jednotlivé komprimační programy ovládají? To jsou otázky, jež trápí nejednoho běžného uživatele počítače, který při své práci pociťuje nutnost komprimování dat. Zkušenější uživatelé by se jistě rádi dozvěděli více: Jaké algoritmy a přístupy se používají při komprimaci dat? Co znamenají a k čemu slouží zkratky jako JPEG, MPEG, JBIG, MHEG a další? Jaké problémy mohou nastat při používání komprimačních programů? Jak tyto problémy řešit? Liší se nějakým způsobem komprimace textových, binárních a grafických souborů? Jak se komprimuje video a zvuky? 1

10 Počítačová komprimace dat Na tyto a jiné otázky vám odpoví kniha, kterou právě držíte v ruce. Kniha se zaměřuje na všechny uživatele komprimačních programů. Srozumitelnou formou objasňuje pojmy používané v souvislosti s komprimováním, nahlíží do kuchyně komprimačních algoritmů a obsahuje i množství praktických rad a postřehů. 2

11 1 Základní seznámení

12

13 Základní seznámení Než začneme s výkladem, je třeba seznámit se s pojmem komprimačního programu. Komprimační programy jsou programy schopné zakódovat datové soubory (ať již tyto soubory obsahují textová, grafická nebo binární data) do podoby, kdy je velikost těchto souborů menší ve srovnání s jejich velikostí před komprimací. Komprimační program samozřejmě musí být schopen dekódovat (dekomprimovat) data do původní podoby. Všechny komprimační programy (stejně jako veškerý software) procházejí svým vývojem a prakticky ve všech případech poskytují mnohem větší uživatelský komfort a více funkcí, než jaké jsou uvedeny v definici. Tyto přídavné funkce však již v samotném komprimačním programu nejsou nezbytně nutné. Program, který má být označen za komprimační, musí být schopen data alespoň komprimovat a dekomprimovat. Existuje hned několik velmi dobrých důvodů, proč data komprimovat. Prvním z nich je zálohování dat při současné úspoře místa na paměťovém médiu. V dnešní době samozřejmě existuje velké množství rozmanitého hardwaru, určeného pro zálohování dat (páskové zálohovače se sekvenčním přístupem k datům, vysokokapacitní mechaniky typu Zip a mnoho dalších). Většina uživatelů však tyto možnosti nevyužívá důvodem může být cena těchto zařízení, případně dat určených pro zálohování není mnoho a výše uvedený způsob by představoval spíše kanón na vrabce. V takových případech je vhodné data určená pro zálohování komprimovat a v komprimované formě uchovávat na pevném disku počítače nebo na disketách (ideálně na obou těchto médiích). Na druhé straně uživatelé, kteří potřebují zálohovat velké množství dat, narážejí na nedostatek místa i na vysokokapacitních zálohovacích médiích. Ale i tady přichází ke slovu komprimace dat před jejich zazálohováním na patřičné médium. Při zálohování je možné vytvářet archivy dat složené z komprimovaných souborů, které spolu logicky souvisejí (např. textové soubory, grafické soubory, databázová data atp.). Odtud také pochází často používané označení archivační program. Moderní komprimační programy prakticky vždy poskytují širokou škálu archivačních nástrojů pro tento účel. Komprimování sice důležitých, ale málo používaných souborů dat navíc zvýší přehlednost uložení souborů na pevném disku. Úspora místa v takových případech také nemusí být zanedbatelná. 5

14 Počítačová komprimace dat Soubor je na pevném disku zaznamenáván do alokačních jednotek, tzv. clusterů. Jeden cluster je nejmenší přidělitelná jednotka paměti na nosiči. Jeho velikost je u různých nosičů různá podle konstrukce a celkové kapacity disku. Typická velikost takového clusteru může být např. 2 KB. To znamená, že každý libovolně malý soubor zabere na disku nejméně zmíněné 2 KB. Malé řídce používané soubory je tedy vhodné sdružovat do komprimovaných archivů. Dalším důvodem pro komprimování je potřeba dálkového přenosu dat. Komprimovaná data se samozřejmě v počítačových sítích přenášejí rychleji. Pokud chcete přenášet několikamegabajtový soubor po telefonních linkách za pomoci modemu, můžete předchozím komprimováním souboru ušetřit až několik desítek minut. Zároveň tím šetříte i poplatky za telefon. Navíc se snižuje nebezpečí, že se v průběhu přenosu přeruší spojení a celou akci bude třeba opakovat. Dalším důvodem mluvícím jasně pro komprimaci je možnost rozdělení komprimovaných souborů do bloků, jejichž velikost je identická s kapacitou běžné tří a půl palcové diskety. Tuto velice užitečnou funkci dnes nabízejí prakticky všechny moderní komprimační programy. Často se jedná o jedinou možnost, jak přenést např. soubor o velikosti 2 MB z jednoho počítače na druhý. Myslím, že uvedené důvody jsou dostatečně pádné a dříve nebo později postaví před problém volby komprimovacího programu téměř každého uživatele počítače. 6

15 2 Základní druhy a přístupy v kódování

16

17 Základní druhy a přístupy v kódování Než začneme s popisem jednotlivých druhů kódování, je nezbytné zdůraznit, že data různého charakteru vyžadují rozdílný přístup k jejich kompresi. V této knize se budeme zabývat komprimací datových souborů uložených v počítači ať již textových, binárních, grafických atd. V každém případě se však bude jednat o konečné soubory dat, jejichž charakter bude předem znám. Je zřejmé, že textová data se svým charakterem budou lišit např. od grafických, a že rozdílnost těchto dat bude upřednostňovat v tom kterém případě konkrétní komprimační algoritmy. Většinou je možné předpokládat, zda bude datový soubor obsahovat dlouhé bloky stejných dat (např. v některých grafických souborech). V takovém případě lze použít algoritmy vyhledávající tyto dlouhé bloky dat, které jsou posléze nahrazeny jediným symbolem. Mnohdy jsou zase známy například pravděpodobnosti, se kterými se v datech vyskytují jednotlivé symboly (je známa frekvence jednotlivých znaků v abecedách různých jazyků). Jednou z možností pak je použít s úspěchem frekvenčně závislé kódování založené na přepisu častěji používaných prvků abecedy na kratší bitové posloupnosti a řidčeji se vyskytující prvky na delší bitové posloupnosti. Jaký komprimační program je tedy nejlepší? Z předcházejících řádků je zřejmé, že jednoznačná odpověď neexistuje. Každý dostupný komprimační program je založený na jednom algoritmu a tento algoritmus bývá pro některé posloupnosti dat vhodnější a pro jiné méně vhodný. Každý komprimační algoritmus je navržen tak, že hledá a využívá pro kompresi dat určitý řád v uložených datech. Tímto řádem může být opakování sekvencí znaků, frekvence výskytu jednotlivých znaků, identifikace dlouhých bloků stejných dat a další. 9

18 Počítačová komprimace dat Samostatnou a trochu škodolibou kapitolou komprimace je test komprimačních programů na souborech, které byly vygenerovány jako pseudonáhodná posloupnost znaků. Nalézt v takových souborech výše zmíněný řád je prakticky nemožné a komprimovaná velikost takových souborů se většinou prakticky rovná velikosti původní. Nezřídka je komprimovaný soubor dokonce větší než původní nekomprimovaná verze. Hlavními parametry výkonu (anglicky je seznam takových parametrů označovaný jako benchmarks) takových algoritmů jsou především: rychlost komprese; rychlost dekomprese; kompresní (komprimační) poměr. Asi nejsledovanějším faktorem je kompresní poměr. Tento parametr bývá při testování komprimačních programů vyjadřován v několika různých formách, které však při správné interpretaci vystihují totéž. Kompresní poměr bývá udáván jako: Poměr mezi velikostí komprimovaného a původního souboru. Podle tohoto schématu pokud komprimační program zkomprimuje soubor o původní délce 200 KB na 50 KB, je udáván kompresní poměr 25 %. Jedná se vlastně o procentuální vyjádření velikosti souboru komprimovaného vzhledem k původnímu. Čím menší procentuální vyjádření, tím lepší výsledek komprimace. Někdy je tento poměr nahrazen doplňkem předcházejícího údaje do 100 %. Předcházející příklad komprimace souboru o původní délce 200 KB na 50 KB ve sbaleném stavu by byl charakterizován kompresním poměrem 75 %. V tomto případě naopak čím vyšší procentuální vyjádření, tím lepší výsledek komprimace. Existuje také vyjádření kompresního poměru převráceným zlomkem jedná se o poměr velikostí nekomprimovaných dat ke komprimovaným. Předcházející příklad komprimace souboru o původní délce 200 KB na 50 KB ve sbaleném stavu by byl tedy charakterizován kompresním poměrem 4:1. V praxi se opravdu můžete setkat se všemi uvedenými definicemi kompresního poměru. 10

19 Základní druhy a přístupy v kódování Rychlost komprimace (komprese), tedy čas potřebný pro sbalení souboru do komprimované podoby, může být také velice důležitým faktorem. Čas potřebný pro kompresi různými komprimačními programy se u rozsáhlých souborů liší až o celé minuty. To jistě není zanedbatelné. Existuje i další parametr udávající výkon komprimačních programů, vycházející z požadavku nejlepšího kompresního poměru za přiměřený čas. Jedná se o poměr rychlost komprimace/kompresní poměr. Ačkoli se podle mého názoru jedná o velice užitečný parametr, často nebývá v testech komprimačních programů vůbec zmiňován. Rychlost dekomprimace, tedy čas potřebný k rozbalení komprimovaného souboru do původní podoby, je ze všech tří zmíněných parametrů asi nejméně důležitý. Doba potřebná pro dekomprimaci bývá téměř u všech komprimačních programů kratší než doba potřebná ke komprimaci, a proto tento parametr nebývá tím omezujícím nebo kritickým faktorem při výběru vhodného komprimačního programu. Na výše uvedený soubor parametrů charakterizujících výkon určitého komprimačního programu ve vztahu ke konkrétnímu souboru má kromě použitého komprimačního algoritmu vliv i mnoho dalších faktorů. Jedná se samozřejmě v první řadě o typ hardwaru, který byl pro testování použit. Každému je jasné, že doba komprese se bude pro stejný algoritmus i komprimovaný soubor lišit u počítače s procesorem řady 486 pracujícím na frekvenci 50 MHz a u počítače Pentium běžícím na 233 MHz. Kromě taktování procesoru je nutné brát v úvahu i další aspekty: přístupovou dobu pevného disku; stav obsazení pevného disku a jeho fragmentaci; velikost a přístupovou dobu paměti RAM; použití nebo zakázání vyrovnávací paměti CACHE; typ operačního systému, pod kterým byly komprimační soubory testovány a mnoho dalších parametrů. 11

20 Počítačová komprimace dat Tyto parametry většinou neovlivní dosažený kompresní poměr, ale velice podstatně se podepíší na všech ostatních výkonových parametrech zahrnujících dobu potřebnou pro kompresi a dekompresi souborů. Pokud má být zveřejňovaný test komprimačních programů opravdu použitelný, měl by kromě názvu a verze testovaných komprimačních programů obsahovat minimálně následující údaje: Především typy souborů, na kterých bylo testování prováděno. Minimálně by zde měl být údaj o tom, zda se jednalo o soubory textové, grafické nebo binární. Nejlépe je však testování provádět na standardních (za účelem testování speciálně vytvořených) a všem dostupných (např. prostřednictvím Internetu) souborech. Celková nekomprimovaná velikost původních souborů. Údaj o uspořádání souborů do stromové struktury. Typ počítače (především procesoru), na kterém byly testy prováděny. Operační systém, ve kterém byl test proveden. Tento soubor vstupních údajů představuje opravdu pouze nezbytné minimum. Pro ucelenou informaci o výkonu jednotlivých pakovacích programů je vhodné uvádět i další informace především o hardwaru použitého počítače. Objektivní výkonové ukazatele komprimačních programů však nemusejí (a většinou opravdu nejsou) být jediné při volbě programu. Dalším velice důležitým aspektem je komfort ovládání těchto programů a další archivační funkce. Mezi tyto funkce patří především: Zda program nabízí intuitivně známé prostředí pro ovládání programu podobné např. oblíbenému Norton Commanderu, nebo zda je nutné specifikovat mód práce programu pomocí přepínačů uvedených přímo v příkazovém řádku. Typ vytvářených archivů komprimovaných dat a možnost oddělené manipulace s jednotlivými soubory komprimovaného archivu. Mezi tyto možnosti patří: přidávání a odebírání jednotlivých souborů do (resp. z) komprimovaných archivů, prohlížení textových a grafických souborů uložených v komprimovaných archivech, spouštění komprimovaných binárních souborů, 12

21 Základní druhy a přístupy v kódování vytváření tzv. volumes, tedy oddělených bloků komprimovaných dat, i když data pocházejí např. z původně jediného souboru. (Již dříve jsme se zmínili o tom, že tato možnost představuje často jedinou eventualitu jak přenést dlouhé soubory na diskety.) Schopnost opravy vadných komprimovaných archivů. Jaké pracovní módy komprimační programy nabízejí atd. Většina moderních komprimačních programů uživateli nabízí, aby si zvolil, zda chce vytvořit archiv s nejlepším kompresním poměrem, nejkratší kompresní dobou atd. Ztrátová a bezztrátová komprese Než zakončíme obecné povídání o základních principech komprimování, je nezbytné zmínit se o tom, že v podstatě existují dva zcela rozdílné principy komprese dat. První z nich je tzv. bezztrátová komprimace. Veškeré informace uvedené v této úvodní kapitole se týkají prakticky výhradně tohoto typu komprese. Bezztrátová komprimace (lossyless compression) se používá jak již sám název napovídá tam, kde si nelze dovolit jakoukoli ztrátu dat u binárních a textových souborů. Pokud se budeme snažit zodpovědět otázku, zda existuje program, jenž by dokázal bezztrátovou metodou komprimace zmenšit velikost libovolného souboru, dojdeme k zajímavému závěru: Žádný komprimační program nedokáže bezztrátovou metodou komprimace komprimovat všechny soubory o velikosti větší nebo rovné N bitů pro libovolné celočíselné N větší nebo rovno 0. Než přistoupíme k důkazu tohoto zajímavého tvrzení, zdůrazněme, že za komprimaci považujeme zmenšení velikosti souboru o nejméně jeden bit. Důkaz výše uvedeného teorému provedeme sporem. Předpokládejme, že máme 2 N různých souborů, z nichž každý má velikost právě N bitů (tento předpoklad je zcela v pořádku), a že existuje komprimační algoritmus, který každý z těchto souborů dokáže zkomprimovat bezztrátovou metodou. Aby komprimace všech souborů byla bezztrátová, musel by komprimační algoritmus vytvořit 2 N různých 13

22 Počítačová komprimace dat zkomprimovaných souborů, kde velikost každého zkomprimovaného souboru bude nejvýše (N-1) bitů. Pokusme se tedy tyto soubory vytvořit. Je zřejmé, že existuje maximálně 2 (N-1) různých souborů o velikosti právě (N-1) bitů, 2 (N-2) různých souborů o velikosti právě (N-2) bitů, atd. až jeden soubor o velikosti 0 bitů. Součet všech členů posloupnosti 2 (N-X) pro pevné N a pro X jdoucí od jedné do N je 2 N -1. Tím jsme došli ke sporu, protože alespoň dva různé vstupní soubory byly zkomprimovány do stejné podoby výstupního souboru. Z toho je zřejmé, že komprese musela být ztrátová. Teorém, který jsme právě dokázali, jinými slovy říká, že pro jakýkoli komprimační algoritmus lze vymyslet sadu vstupních souborů, které tento algoritmus nebude schopen zmenšit ani o jediný bit, aniž by při tom došlo ke ztrátě původních informací. Přitom vstupní soubor existuje alespoň jeden pro každé N, kde N je délka souboru v bitech. Tento jednoduchý avšak velice důležitý teorém je třeba mít vždy na paměti. Některé programy se snaží dosáhnout vysokých kompresních poměrů používáním skrytých souborů nebo dosud nevyužitých clusterů na pevném disku. Takové metody jsou ovšem velice nejisté pokud jsou data přenesena na jiný počítač nebo pokud jsou clustery použity jinými soubory, komprimovaná data jsou nenávratně ztracena. Ztráta byť jediného bitu u binárního souboru vede v naprosté většině případů ke katastrofě v podobě další nepoužitelnosti tohoto souboru. U textových nebo grafických souborů již situace tak kritická není. Přesto všechny programy typu ZIP, RAR, ARJ a další samozřejmě používají algoritmy, jejichž podstata zaručuje, že se při komprimaci žádná data neztratí. Popis algoritmů bezztrátové komprese bude uveden v následující kapitole. Existují však datové soubory, ve kterých ztráta některých dat vůbec nevadí. Jedná se o tzv. redundantní (s nadbytečným množstvím informací) soubory, jejichž komprese může být i ztrátová (lossy compression). O jaké soubory se jedná? Jsou to především obrázky, zvuková data a video (sekvence obrázků). 14

23 Základní druhy a přístupy v kódování Jistě jste si všimli, že obrázek uložený ve formátu BMP (prostá bitová mapa) zabírá na diskovém médiu více místa než stejný obrázek uložený např. formátem JPEG, PCX, GIF a další. Formáty těchto obrázků v sobě již zahrnují kompresi dat. To je umožněno faktem, že obrazová data mají svá specifika. Většina původních obrázků převedených do digitální formy obsahuje nadbytečné informace, které lidské oko není schopné postihnout. Lidské oko má omezenou rozlišovací schopnost jak ve vztahu k barevné hloubce, tak k obrysovým detailům. Na světlé ploše oko těžko rozezná tmavý bod a stejně tak není schopno rozpoznat milion barevných odstínů. Barvy blízko ležících bodů oko průměruje. Ačkoli číselné vyjádření jednotlivých pixelů obrázku bývá zcela odlišné, komprimační formáty obrázků se snaží v těchto číselných kombinacích najít řád, který jim umožní zmenšit náročnost obrázku na kapacitu diskového média. Ačkoli tato komprimace vede ke ztrátě dat, kvalita obrázku měřena subjektivním lidským vjemem zůstává stále stejná. V kapitole věnované ztrátové komprimaci uvidíme, že náročnost obrázků na paměť lze touto metodou snížit i 30krát bez zjevné újmy na kvalitě. Podobně jako obrázky jsou redundantní obrázkové sekvence video. Tam často postačí uchovávat rozdíly dvou následujících obrázků a z nich zpětně sestavovat celý film. Stejný princip lze využít i u komprimace zvuku. Ztrátová komprimace zvuku je založena na nedokonalosti lidského sluchu podobně jako ztrátová komprimace obrazu využívá nedokonalosti oka. Pouze díky tomu je možné směstnat na jediný datový nosič CD třeba i deset obyčejných audiocédéček. Ztrátovou komprimací se bude zabývat samostatná kapitola. Bude v ní rozebrána jak komprimace obrázků pomocí zvláštních datových formátů, tak i komprimace zvuku a videa. Kromě speciálního softwaru pro ztrátovou komprimaci využívají nedokonalosti lidských smyslů i některá hardwarová zařízení. Hardwarová zařízení pak fungují tak, že zvukovou a obrazovou informaci, kterou lidské smysly nejsou schopny rozeznat, neukládají ani nepřenášejí ztrácejí ji cestou. Hardwarovou stránkou věci se však tato kniha nezabývá. 15

24 Počítačová komprimace dat Ztrátová komprimace obrazu a zvuku je a bude velice důležitá již v blízké budoucnosti při masovém nástupu digitálních obrazových technologií (obrazový telefon, televize, videokonference atd.). Tyto nástroje budou správně fungovat jedině při vysoké rychlosti přenosu obrazu i zvuku. A to i při zvyšujících se hardwarových možnostech bude možné jen při použití komprimace přenášených dat. Další pojmy charakterizující druh komprimace Pojmy ztrátové a bezztrátové komprese rozdělují tuto knihu do dvou základních částí, neboť se jedná o dva nejdůležitější obecné pojmy týkající se komprese dat. Kompresní algoritmy je ovšem možné dělit i podle jiných kritérií. Ačkoli toto dělení není již tak důležité, je jistě vhodné se o něm alespoň ve stručnosti zmínit. Fyzická a logická komprimace Všechny kompresní algoritmy bez výjimky mají tu vlastnost, že převádějí data do kompaktnější formy, jež má stejnou informační hodnotu jako původní data. To lze zajistit použitím tzv. fyzické nebo logické komprimace. Rozdíl mezi fyzickou a logickou komprimací spočívá v tom, zda komprimační algoritmus při komprimaci přihlíží nebo nepřihlíží k logické informační hodnotě komprimovaných dat. Logická komprimace používá logické substituce sekvence znaků jinou, úspornější řadou. Konkrétním příkladem jsou zkratková slova jako Čedok (nahrazující někdejší plný název Československá dopravní kancelář) nebo Svazarm (Svaz pro spolupráci s armádou). Fyzická komprese probíhá bez zřetele na logiku dat, se kterými se manipuluje. Vytváří se nová sekvence znaků (bajtů, bitů apod.), jejíž vztah k původním datům lze rozpoznat výhradně s použitím dekomprimačního algoritmu. Bez znalosti tohoto dekomprimačního algoritmu je informační hodnota komprimovaných dat nulová. Je zřejmé, že všechny kompresní algoritmy popisované v této knize používají fyzickou kompresi dat. 16

25 Základní druhy a přístupy v kódování Symetrická a asymetrická komprimace Rozdělení na symetrické a asymetrické komprimační algoritmy je založeno na porovnání množství práce, která se podle algoritmu vykoná při kompresi a dekompresi dat. Pokud doba (a tím většinou i počet a druh operací) potřebná pro kompresi i dekompresi dat je přibližně stejná, jedná se o symetrickou kompresi. Některé algoritmy jsou však záměrně konstruovány jako asymetrické. Většina komprimačních algoritmů provede větší množství operací při kompresi dat. Tento přístup je výhodný tam, kde soubor dat ukládáme na disk sice v komprimované podobě, avšak často s ním pracujeme. Manipulace se souborem musí probíhat s daty v původní nezhuštěné formě, a tak (přestože na disku je soubor uložen pouze v komprimované podobě) program musí při každém použití souboru rozbalit data nebo jejich část do operační paměti počítače. Může se jednat o databázi předloh, často čtený dokument atd. Asymetrické algoritmy, jejichž práce je delší při dekomprimaci, nejsou tolik rozšířené, ale i ty mají své opodstatnění. Při vytváření záložních kopií dat lze předpokládat, že zatímco zálohování bude probíhat v pravidelných intervalech, většina zálohovaných dat již nebude nikdy použita. Zde se osvědčí výhoda algoritmů používajících rychlou kompresi a pomalejší dekompresi dat. Adaptivní a neadaptivní komprimace Adaptivní a neadaptivní komprimační algoritmy se rozlišují podle své schopnosti přizpůsobit se charakteru dat, se kterými pracují. Neadaptivní algoritmy jsou určeny výhradně pro komprimaci specifického druhu dat. Většinou obsahují předdefinované slovníky nebo řetězce znaků, o kterých je známo, že jejich pravděpodobnost výskytu v souborech dat je vysoká. Konkrétním příkladem neadaptivního komprimačního algoritmu je tzv. Huffmanovo kódování popsané dále v této knize. Neadaptivní algoritmus určený pro komprimaci anglického textu bude obsahovat slovníkové řetězce jako the nebo of, které bude nahrazovat předem definovaným znakem. Tento způsob komprimace by však byl velice málo účinný na text v jiném jazyce, o obrázcích ne- 17

26 Počítačová komprimace dat bo binárních datech nemluvě. Na druhou stranu použití neadaptivního algoritmu na vhodný druh dat je velice účinné co do dosaženého kompresního poměru, ale i času potřebného pro kompresi a dekompresi dat. Adaptivní algoritmus je naproti tomu schopen dosáhnout určité nezávislosti na komprimovaných datech. Takové algoritmy neobsahují žádné statické slovníky řetězců. Algoritmy si budují tyto slovníky pro každý komprimovaný soubor dat znovu dynamicky v průběhu kódování. Příkladem adaptivního komprimačního algoritmu je Lempel-Ziv-Welch algoritmus popsaný dále v této knize. Obecně lze říci, že adaptivní algoritmy platí za svou přizpůsobivost a větší šíři použití menší rychlostí ve srovnání se specializovanými neadaptivními algoritmy. To však jistě nikoho nepřekvapí. 18

27 3 Bezztrátová komprimace

28

29 Bezztrátová komprimace Jak bylo uvedeno v předcházející kapitole, bezztrátovou komprimaci (lossyless compression) využívají všechny komprimační programy určené pro komprimaci souborů. Vychází se z předpokladu, že pro většinu souborů je nepřípustná jakákoli ztráta dat v důsledku komprimačního a dekomprimačního procesu. RLE (Run-length Encoding) První metodou bezztrátové komprimace, která bude v této knize podrobně vysvětlena, je tzv. algoritmus Run-length Encoding označovaný zkratkou RLE a do češtiny překládaný někdy jako proudové kódování. Jedná se o komprimační algoritmus, který lze použít na jakýkoli druh dat. Na charakteru těchto dat ovšem velice silně závisí dosažený kompresní poměr. Ačkoli metoda RLE se ve většině případů nemůže pochlubit tak dobrými kompresními poměry jako jiné složitější algoritmy, jeho výhoda tkví ve snadné instalaci, jednoduchosti celého algoritmu a s tím související poměrně vysoké rychlosti komprimace a dekomprimace. Především jednoduchost algoritmu RLE jej předurčuje k tomu, abychom začali popis konkrétních komprimačních algoritmů právě jím. Základním principem komprimace metodou RLE je zhuštění opakovaných znaků, které se v souboru vyskytují hned za sebou. Řetězec opakujících se znaků se nazývá proud (odtud proudové kódování). Tento proud znaků je vždy zkomprimován do formy jednoho paketu RLE. Paket musí vždy obsahovat dvě informace: Proudové číslo udávající počet znaků proudu snížený o jedničku a následující proudovou hodnotu, jež se shoduje s hodnotou opakujícího se znaku v proudu. Proč se proudové číslo definuje jako počet znaků proudu snížený o jedničku a ne přímo počet znaků, bude vysvětleno později. Pokud soubor obsahuje následující sekvenci znaků, AAAAkkRRRRRm 21

30 Počítačová komprimace dat zakóduje se tato sekvence do podoby: 3A1k4R0m V udané posloupnosti znaků rozpozná komprimační algoritmus čtyři proudy a přiřadí jim čtyři pakety. Tyto pakety jsou: 3A 1k 4R 0m Prvním údajem v paketu je vždy proudové číslo (počet znaků proudu snížený o jedničku). Tento údaj je následován proudovou hodnotou znaku. Vidíte, že zmenšení velikosti souboru bylo dosaženo výhradně díky proudům znaků obsahujícím více než dva znaky. Pokud se proud skládá pouze z jediného znaku, komprimovaný paket RLE je dokonce delší než původní proud. Ačkoli v další části této kapitoly si probereme některé modifikace, které podobnému zvětšování komprimovaných souborů zamezují, je už z této základní podoby algoritmu RLE zřejmé, na jaká data bude prakticky použitelný a na jaká nikoli. Metoda RLE tedy nebude vhodná pro komprimaci textových souborů. Kompresní poměr by byl v takovém případě velice špatný. Stejně neslavně by dopadla komprimace většiny binárních souborů. Zbývají tedy jen obrázky. Metoda RLE je vhodná pro komprimaci jednoduchých obrázků s malou barevnou hloubkou (maximálně 256 barev). Takové obrázky se vytvářejí například v programu Paintbrush (Malování). Tyto obrázky mají často jednobarevné pozadí, které zaručuje dostatečnou velikost jednotlivých proudů. U těchto obrázků je možné dosáhnout kompresního poměru až 70 %. (Připomeňme, že jsme již dříve zadefinovali kompresní poměr tak, že 70procentní kompresní poměr odpovídá komprimaci dat na 30 % původní velikosti.) Naopak pro komprimaci fotografií se komprimační metoda RLE nehodí. Fotografie totiž na první pohled nesplňují podmínku dlouhých proudů. 22

31 Bezztrátová komprimace Modifikace RLE komprimace Vzhledem k tomu, že praktický efekt má metoda RLE téměř výhradně při jejím použití na jednoduché obrázky s malou barevnou hloubkou, zaměříme se při dalším popisu rozdílných variant algoritmu RLE výhradně na tato grafická data. Metodu RLE využívá např. formát obrázku PCX, kterým se budeme podrobně zabývat dále. Existují tři základní přístupy k praktické realizaci algoritmu RLE ve vztahu k bitovým mapám jednoduchých obrázků. Ve všech těchto přístupech jsou obvykle původní data předlohy proudově kódována sekvenčním postupem, který přistupuje k datům jako k jednorozměrnému poli dat a nikoli jako k dvourozměrné mapě dat. Bitová mapa se začíná číst a komprimovat od levého horního rohu a postupuje se buď po řádcích nebo sloupcích jednotlivých pixelů až do pravého dolního rohu. Při komprimaci je však vhodné udržovat informaci o koncích jednotlivých řádků (resp. sloupců) bitové mapy. Tyto značky lze potom s výhodou použít, pokud je potřeba rozbalit pouze určitou část obrázku (např až 180. řádek původní předlohy). V takovém případě dekomprimační algoritmus nemusí dekomprimovat prvních 100 řádků obrázku pouze proto, aby našel požadovaný začátek výřezu. Dekomprimace může začít přímo na 101. řádku. Bohužel některé programy podporující grafické formáty s kompresí RLE informaci o konci řádků či sloupců do komprimované podoby obrázků neukládají. Začněme tedy s konkrétním popisem jednotlivých praktických přístupů. Základní struktura algoritmu RLE je zobrazena na obrázku 1. 23

32 Počítačová komprimace dat Obr. 1 Základní schéma algoritmu RLE. Praktické přístupy ke kódování bitových map se dělí podle typu základních datových prvků tvořících proudy. Podle typů těchto základních prvků existují tři praktické modifikace: bitová úroveň, bajtová úroveň a pixelová úroveň. Bitová úroveň kódování metodou RLE rozeznává pouze dva proudy znaků proud jedniček a proud nul. Taková metoda je účinná prakticky pouze na monochromatické jednobitové obrázky. Tato data obsahují dostatečně dlouhé proudy jedniček i nul k tomu, aby metoda RLE v této modifikaci dosáhla dobrých kompresních poměrů. Jak tedy vypadá paket RLE na úrovni bitového kódování? 24

33 Bezztrátová komprimace Jedná se o jediný bajt logicky rozdělený do dvou částí. Nejvýznamější bit každého bajtu určuje proudovou hodnotu (tj. 1 nebo 0) a sedm méně významných bitů představuje proudové číslo udávající počet opakování proudové hodnoty snížený o 1. Je zřejmé, že délka proudu musí být vždy v rozsahu znaků, neboť do sedmi bitů lze zapsat číslo To je také důvod, proč se jako proudové číslo používá počet znaků proudu snížený o jedničku a nikoli přímo počet znaků proudu. Pokud původní nekomprimovaná data obsahují proud delší než 128 znaků, musí být tento proud při kódování rozdělen na dva nebo více proudů. Pokud budeme bajt s hodnotou 151 interpretovat jako paket kódování RLE na bitové úrovni, zastupuje tento paket proud jedniček dlouhý 24 znaků. Číslo 151 v desítkové soustavě má totiž ve dvojkové soustavě vyjádření Nejvyšší bit je jednička a nižších sedm bitů představuje číslo 23 v desítkové soustavě. Všimněte si, že oproti základnímu schématu jsou údaje paketu RLE zapisovány obráceně nejprve se zapíše proudová hodnota a pak teprve proudové číslo. Na závěr výkladu o modifikaci metody RLE na bitové úrovni je vhodné připomenout, že při komprimaci tato metoda nerozeznává hranice jednotlivých bajtů. Ty nejsou v tomto případě zajímavé. Druhou modifikací komprimační metody RLE je bajtová úroveň. Tato modifikace jak již její název napovídá kóduje proudy opakujících se bajtových hodnot a naopak si nevšímá dělení na bity nebo hranic šestnáctibitových (případně 32bitových) slov. Paket RLE se v tomto případě skládá ze dvou bajtů. První bajt udává proudové číslo v rozsahu a druhý bajt proudovou hodnotu. Její rozsah je samozřejmě opět Zde tedy může velikost jediného proudu, kterému bude odpovídat jeden RLE paket, dosahovat délky až 256 znaků. 25

34 Počítačová komprimace dat Pokud za sebou následují dva bajty s hodnotami 78 a 32, které budeme interpretovat jako paket RLE, znamená to, že hodnota 32 se v příslušném proudu vyskytuje 79krát. Pro dosažení lepších kompresních poměrů bývá vhodné doplnit bajtovou metodu o schopnost ukládat přesné nekódované jednobajtové proudy do kódovaného toku dat. V této modifikaci bajtové úrovně se pro vyjádření proudového čísla využívá pouze sedm méně významných bitů prvního bajtu paketu. Maximální velikost proudu je tak opět snížena na 128 znaků. Nejvýznamnější bit je indikátorem typu proudu. Pokud je tento bit nastaven na 1, jedná se o klasický dvoubajtový paket RLE, kde druhý bajt obsahuje proudovou hodnotu. Při nastavení nejvýznamnějšího bitu prvního bajtu na hodnotu 0 následuje za proudovým číslem přesný proud znaků, který se čte v té podobě, v jaké je zapsán. Jedná se o tzv. přímý paket. Používáním přímých paketů se zamezí tzv. záporné kompresi, při které kódování jednobajtových proudů dat představuje větší velikost komprimovaných dat oproti jejich původní formě. Pokud první bajt paketu RLE obsahuje např. číslo 151 (tj ve dvojkové reprezentaci), jedná se o klasický dvoubajtový paket. Následující bajt představuje proudovou hodnotu, která se v proudu opakuje 24krát. Třetí bajt je již opět interpretován jako začátek nového paketu. Pokud však bude první bajt paketu RLE obsahovat číslo 23 (10111 ve dvojkové reprezentaci), bude se následujících 24 bajtů interpretovat jako přesný proud dat, která se při dekomprimaci souboru prostě opíší. Potom teprve začíná nový paket RLE. Metoda RLE na úrovni bajtů je vhodná pro obrázky, které jsou uloženy ve formě jeden bajt na pixel. Ne vždy tomu tak je, a proto se používá i třetí modifikace metody RLE na pixelové úrovni. Tato metoda se používá u složitějších obrázků, kdy je jediný pixel reprezentován více než jedním bajtem dat. 26

35 Bezztrátová komprimace Informaci o tom, kolik bajtů uchovává informaci o vzhledu jednoho pixelu, lze získat v hlavičce grafického souboru. Velikost paketu RLE se v tomto případě liší podle počtu bajtů na pixel. Pokud např. obrázek podporuje schéma dat 3 bytes per pixel (3 bajty na pixel), bude paket RLE čtyřbajtový první bajt jako proudové číslo a následující tři bajty jediné proudové hodnoty. Kódovací metoda zůstává stejná jako u jednobajtové úrovně a opět lze využít modifikace s indikátorem přímého paketu. Některé obrázky používají pro zobrazení pixelu počet bitů, který neodpovídá celým bajtům. V takovém případě lze paket RLE konstruovat na bitové úrovni a dosáhnout tím opět zlepšení kompresního poměru. Existuje i další modifikace metody RLE, která se snaží vyhnout záporné kompresi, která nastává při velkém počtu jednoznakových proudů v datech předlohy. Vysvětlíme si tuto metodu na schématu bajtové úrovně. Základní myšlenkou je použití tří bajtů jako jediného paketu RLE. První bajt v tomto případě obsahuje příznakovou hodnotu, následující dva bajty tvoří klasický paket RLE. Druhý bajt opět představuje proudové číslo a třetí proudovou hodnotu. Kódování dat předlohy probíhá tak, že pokud komprimační program zjistí jedno-, dvou- nebo tříbajtový proud, zapíší se tyto hodnoty do komprimovaného toku dat přímo. Odpadá tak zápis dalších znaků. Při dekomprimaci se nejprve posoudí, zda první bajt paketu RLE obsahuje příznakovou hodnotu nebo nikoli. Pokud se jedná o příznak, expanduje se paket podle údajů proudového čísla a proudové hodnoty. Nejedná-li se o příznak, přidá se tento bajt přímo do nekomprimované podoby souboru. Následující bajt se opět testuje, zda nejde o příznak. K nevýhodám tohoto přístupu patří to, že minimální velikost proudu dat pro klasický paket RLE se zvýší na čtyři bajty, což může negativně ovlivnit kompresní poměr některých dat. Další problém nastává, pokud nekódovaný tok dat obsahuje hodnotu, která se shoduje s hodnotou vyhrazenou pro příznak. Každý takový znak musí být kódován do tříbajtového paketu s proudovým číslem 0 (odpovídající jedinému znaku). Pouze tímto způsobem lze za- 27

36 Počítačová komprimace dat bránit mylné interpretaci hodnoty příznaku při dekomprimaci. Jako příznakovou hodnotu je tudíž nutné zvolit znak s nejmenší pravděpodobností výskytu v datech předlohy, aby v důsledku jeho častého výskytu nedocházelo ke zhoršení kompresního poměru. Poslední modifikaci komprese RLE, kterou si zde popíšeme, představuje forma tzv. vertikálních replikačních paketů neboli paketů s opakovanými vzorkovými řádky. Zlepšeného kompresního poměru se dosahuje vyjádřením toho, zda se opakuje celý předchozí řádek. Je zřejmé, že se tento druh kódování hodí pouze na ty druhy dat, kde se opakování celých řádků předpokládá. Dejme tomu, že jeden řádek obrázku je složen z dat uložených do 512 bajtů a všechny pixely v něm jsou stejné. Za předpokladu maximálního kódovatelného proudu 128 bajtů při dvoubajtovém schématu paketu RLE se tento řádek zakóduje do osmi bajtů. Pokud má stejnou barvu prvních 100 řádků předlohy, zakóduje se při použití metody RLE na bajtové úrovni (tak jak je popsána výše) těchto 100 řádků do 800 bajtů. S metodou vertikálních replikačních paketů stačí na druhý až stý řádek jediný paket. Celkově tedy 10 bajtů. Metodu vertikálních replikačních paketů využívají grafické formáty WordPerfect Graphics Metafile (WPG) a GEM Raster (IMG). WPG používá dvoubajtové paketové schéma. Pokud má první bajt paketu hodnotu 0, jde o vertikální replikační paket. Druhý bajt takového paketu udává počet opakování řádku mínus 1. U formátu IMG se jako indikátor vertikálního replikačního paketu používá sekvence tří bajtů 00H 00H FFH. Následující bajt udává počet opakování předcházejícího řádku mínus jedna. Formát PCX Pro demonstraci praktického použití jsem vybral popis komprimace a dekomprimace formátu obrázku PCX (PC Paintbrush File Format). Tento formát obrázku je jedním z nejpoužívanějších při komprimaci jednoduchých bitových map, které se tvoří např. programem Paintbrush. Formát PCX také podporuje většina grafických aplikací. Důležitou součástí každého souboru PCX je hlavička skládající se ze 128 bajtů. Hlavička má následující strukturu: 28

37 Bezztrátová komprimace typedef struct_pcxheader { BYTE Identifier; /* Identifikátor PCX souboru - hodnota 0AH */ BYTE Version; /* Číslo verze */ BYTE Encoding; /* Druh kódování */ BYTE BitsPerPixel; /* Bitů na pixel */ WORD XStart; /* Levá strana obrázku */ WORD YStart; /* Horní strana obrázku */ WORD XEnd; /* Pravá strana obrázku */ WORD YEnd; /* Spodní strana obrázku */ WORD HorzRes; /* Horizontální rozlišení */ WORD VertRes; /* Vertikální rozlišení */ BYTE Palette[48]; /* 16barevná EGA paleta */ BYTE Reserved1; /* Vyhrazeno */ BYTE NumBitPlanes; /* Počet bitových rovin */ WORD BytesPerLine; /* Bajtů na skenovací řádek */ WORD PaletteType; /* Typ palety */ WORD HorzScreenSize; /* Horizontální velikost obrazovky */ WORD VertScreenSize; /* Vertikální velikost obrazovky */ BYTE Reserved2[54]; /* Vyhrazeno */ } PCXHead; Komprimace bitové mapy do formátu PCX probíhá podle schématu bajtové úrovně komprimace RLE. Původní data předlohy jsou čtena po jednom bajtu a jsou zjišťovány proudy opakujících se hodnot bajtů, které jsou pak zaznamenávány do dvoubajtových paketů RLE. Dva nejvýznamnější bity prvního bajtu paketu představují indikátory paketu. Pokud jsou nastaveny na hodnotu 1, jedná se o klasický dvoubajtový paket. Do zbylých šesti bitů je zakódováno proudové číslo. Následující bajt obsahuje proudovou hodnotu. Jsou-li nejvýznamnější bity čteného bajtu nastaveny na hodnotu 0, je celý tento bajt považován za přímou hodnotu bajtu a proud má jediný prvek. Maximální délka proudu je omezena šesticí bitů na 64 bajtů. 29

38 Počítačová komprimace dat Tato modifikace komprimovacího algoritmu není ideální, neboť jednobajtový proud může obsahovat pouze hodnotu v rozmezí Pokud je hodnota v intervalu od 64 do 255, musí být použit dvoubajtový paket RLE. Pokud obrázek obsahuje větší množství pixelových proudů s hodnotami většími než 63, zhoršuje se výrazně kompresní poměr. U jednoduchých obrázků je však toto riziko malé, a proto bylo toto schéma kódování použito. Pro dekódování obrázku do původní formy je zapotřebí znát několik údajů. Údaje jsou uvedeny včetně způsobu, jak je získat z hlavičky souboru: šířka obrázku v pixelech (délka skenovací řádky): XEnd - XStart + 1 počet řádků obrázku: YEnd - YStart + 1 počet výplňových bajtů na konci každé skenovací řádky: ((BytesPerLine * NumBitPlanes) * (8 / BitsPerPixel)) - (XEnd - XStart) + 1) Dekódování obrazových dat uložených ve formátu PCX probíhá podle následujícího schématu: čti bajt testuj 2 nejvyšší bity pokud jsou dva nejvyšší bity rovny 1, udává zbylých 6 bitů proudové číslo čti další bajt zapiš tento bajt tolikrát, kolikrát udává proudové číslo pokračuj od začátku pokud jsou dva nejvyšší bity rovny 0, jedná se o hodnotu pixelu zapiš hodnotu bajtu jedenkrát Celé schéma tvoří vnitřní tělo dvou vnořených cyklů. Vnitřní cyklus se opakuje tolikrát, aby počet zapsaných bajtů odpovídal délce skenovací řádky. Vnější cyklus se pak počtem opakování musí rovnat počtu řádků rastrového obrázku. Inverzní postup komprimace obrazových dat je zřejmý z předchozího výkladu a nebude zde tudíž uveden. Převaděč bitové mapy do formátu PCX (komprimační program) jen nesmí zapomenout na zapsání 128bajtové hlavičky souboru. 30

39 Bezztrátová komprimace Plná interpretace obrazového formátu PCX vyžaduje nejen znalost komprimačního schématu, ale také další informace. Např. ukládání pixelových dat může být realizováno dvěma způsoby: Po pixelech v tomto případě jsou pixelová data uložena za sebou, jak to nastiňuje schéma. Po plochách v tomto případě jsou data rozdělena do tří rovin červené, zelené a modré. Skenovací řádka dat je pak uložena v těchto třech rovinách Shrnutí RLE představuje jeden z nejjednodušších komprimačních algoritmů. Základním principem komprimace je to, že se každá sekvence stejného znaku původních dat uloží ve formě nesoucí informaci, o který znak se jedná a o počtu opakování znaku. Nevýhody: Úzká oblast dat, na kterých tato metoda dosahuje dobré kompresní poměry. Komprimace RLE je vhodná pouze pro jednoduché obrázky s malou barevnou hloubkou (např. obrázky z aplikace Paintbrush). Nehodí se ani pro složitější obrázky ani pro textové nebo binární soubory. Výhody: Jednoduchost algoritmu a jeho snadné použití vedoucí k vysoké komprimační i dekomprimační rychlosti. 31

40 Počítačová komprimace dat Lempel-Ziv-Welch algoritmus Komprimační algoritmus Lempel-Ziv-Welch (LZW) je jednou z nejrozšířenějších komprimačních metod, kterou používají (v různé formě) jak kompresní programy (např. ARJ, PKZIP, ZOO, LHA atd.), tak i různé grafické formáty obrázků. Jedná se o tzv. substituční (adaptivní slovníkovou) metodu. Základním principem tohoto kompresního algoritmu je vyhledávání stejných posloupností bajtů v originálním souboru. Pomocí odkazů na tyto posloupnosti dat algoritmus buduje datový slovník. Komprimace pak probíhá podle následujícího schématu: Pokud se posloupnost bajtů (řetězec) ve vytvářeném slovníku nevyskytuje, je tato posloupnost přidána do slovníku a v nezměněné formě zapsána do komprimovaného výstupního toku dat. Pokud se vstupní posloupnost bajtů ve slovníku již nachází, zapíše se do výstupního toku dat pouze zástupná slovníková hodnota odpovídající nalezené vstupní posloupnosti. Díky tomu, že zástupná hodnota je vždy menší než čtená posloupnost, dochází ke kompresi dat. Dekomprimace je inverzním procesem, při kterém algoritmus čte komprimovaný tok dat a stejným způsobem vytváří datový slovník posloupností (řetězců) bajtů. Dekompresor tedy postupně čte komprimované kódy, zapisuje na výstup příslušné řetězce a přidává nové řetězce do slovníku. Detailnější popis komprese a dekomprese bude uveden později. Nyní si zdůrazněme jednu ze základních vlastností algoritmu LZW. Pro potřeby dekomprese není nutné uchovávat datový slovník vytvářený při komprimaci. Dekodér nepotřebuje mít tento slovník staticky uložen, ale namísto toho sám buduje duplicitní slovník v průběhu dekomprese. Vraťme se teď trochu do minulosti a začněme se zabývat základními modifikacemi algoritmu LZW v pořadí, v jakém spatřily světlo světa. 32

41 Bezztrátová komprimace Existují dvě základní schémata tohoto komprimačního algoritmu. Jeho počátky jsou spojeny se jmény Abraham Lempel a Jakob Ziv. Tito pánové vypracovali v letech 1977 a 1978 kompresní algoritmy, které vešly do povědomí pod zkratkami LZ77 a LZ78. V roce 1984 na jejich práci navázal Terry Welch, který modifikoval kompresní algoritmus LZ78 pro potřeby hardwarových zařízení, konkrétně diskových řadičů. Tak vznikla podoba Lempel-Ziv-Welch algoritmu známého pod zkratkou LZW. LZ77 Komprimační část algoritmu LZ77 funguje tak, že se pokouší vyhledat co nejdelší opakující se posloupnosti znaků. Pokud takovou opakující se posloupnost nalezne, zapíše na výstup pouze odkaz na předcházející výskyt řetězce. Například vstupní řetězec Leze po železe se zakóduje do podoby Leze po že[10,4]. Znaky [10,4] je třeba považovat za schématicky zapsaný offset udávající, že dekodér má z předcházejících deseti znaků vybrat první čtyři. Podstatou tohoto typu komprese je tzv. posuvné okno (sliding window), které obsahuje koncovou část již přečteného (a zkomprimovaného) textu. V tomto okně se kompresní algoritmus snaží nalézt co nejdelší podřetězec odpovídající řetězci na vstupu. Pokud se to podaří, zakóduje jej v podobě odkazu na tento výskyt. Odkaz musí obsahovat ukazatel na začátek podřetězce a jeho délku. Posuvné okno musí být samozřejmě dostatečně veliké, aby kompresní algoritmus dosáhl dobrého kompresního poměru, ale zároveň ne tak velké, aby hledání nejdelšího řetězce v tomto okně neúměrně neprodloužilo dobu komprimace. Ve většině případů se používá velikost okna několik kilobajtů. Posuvné okno obsahuje dvě části: prohlížecí okno a aktuální okno (look ahead buffer). Na začátku algoritmus nastaví posuvné okno tak, aby začátek vstupu obsahovalo aktuální okno. Potom pokaždé v posuvném okně najdeme co nejdelší počáteční podřetězec (předponu) řetězce z aktuálního okna začínající v prohlížecím okně. Tento podřetězec se pak zakóduje v podobě ukazatele na počátek podřetězce v prohlížecím okně a jeho délku. 33

42 Počítačová komprimace dat Zde je uveden stručný nástin algoritmu popsaného v předcházejícím odstavci: while (aktuální okno není prázdné) { najdi informaci (ukazatel, délka) nejdelší předpony aktuálního okna if (délka > minimální délka) { write (ukazatel, délka) posuň posuvné okno o délku znaků doleva } else { write (první znak aktuálního okna) posuň posuvné okno o 1 znak doleva } } Existuje několik způsobů jak rozeznat dvojici znaků nesoucí informaci o dvojici (ukazatel, délka) od jednotlivých znaků na výstupu. Nejpoužívanějším je zápis LZSS (Storer, Szymanski): <1, ukazatel, délka> nebo <0, jednotlivý znak>. Nula na počátku signalizuje jednotlivý znak, jednička informační dvojici znaků. Uvedený algoritmus je základním algoritmem, od kterého se odvozuje velká skupina modifikací nazývaná třída algoritmů LZ77. Dekomprimace souboru zkomprimovaného metodou LZ77 je velice jednoduchá a rychlá. Vždy, když dekomprimační algoritmus narazí na offset udávající ukazatel a délku řetězce, prostě tento řetězec zkomprimuje na výstup. LZ78 Zatímco metoda LZ77 vytváří svůj dynamický slovník pomocí odkazů do již komprimovaného textu, vylepšený algoritmus LZW patřící do třídy algoritmů LZ78 používá slovníkové odkazy odlišně. Metoda LZW vytváří dynamicky slovník opakujících se řetězců v průběhu komprimace. Různé modifikace algoritmů třídy LZ78 se liší ve způsobu vytváření slovníku. 34

aneb jak se to tam všechno vejde?

aneb jak se to tam všechno vejde? 768 576 KOMPRIMACE aneb jak se to tam všechno vejde? Položme si hned na začátku zdánlivě nepodstatnou otázku: Kolik místa zabere dvouhodinový film na CD nebo DVD? Uvažujme následující příklad: rozlišení

Více

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

KOMPRIMACE. aneb Aby to zabralo méně místa KOMPRIMACE aneb Aby to zabralo méně místa Komprimace nebo také komprese je jednoduše řečeno sbalení či spakování dat na mnohem menší velikost. Ve skutečnosti se jedná o vypuštění nadbytečné informace takovým

Více

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

Identifikátor materiálu: ICT-1-19 Identifikátor materiálu: ICT-1-19 Předmět Informační a komunikační technologie Téma materiálu Komprimace, archivace dat Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí komprimaci, archivaci

Více

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

CAD II přednáška č. 5. Grafické formáty PCX GIF TIFF BMP PCX GIF TIFF BMP PCX vyvinuto firmou ZSoft bezztrátová komprese každý obrázek obsahuje 128 bitovou hlavičku,následují komprimovaná data nabízítři druhy komprimace podle počtu barev (16-barev, 256-barev

Více

Kompresní algoritmy grafiky. Jan Janoušek F11125

Kompresní algoritmy grafiky. Jan Janoušek F11125 Kompresní algoritmy grafiky Jan Janoušek F11125 K čemu je komprese dobrá? Pokud je třeba skladovat datově náročné soubory. Např. pro záznam obrazu, hudby a hlavně videa je třeba skladovat překvapivě mnoho

Více

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 Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Slovníkové metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Slovníkové

Více

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE

INFORMAČNÍ A KOMUNIKAČNÍ TECHNOLOGIE Název školy: Střední odborná škola stavební Karlovy Vary Sabinovo náměstí 16, 360 09 Karlovy Vary Autor: Ing. Hana Šmídová Název materiálu: VY_32_INOVACE_01_RAR_P1 Číslo projektu: CZ 1.07/1.5.00/34.1077

Více

2.17 Archivace a komprimace dat

2.17 Archivace a komprimace dat Název školy Číslo projektu Autor Název šablony Název DUMu Tematická oblast Předmět Druh učebního materiálu Anotace Vybavení, pomůcky Ověřeno ve výuce dne, třída Střední průmyslová škola strojnická Vsetín

Více

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

III/ 2 Inovace a zkvalitnění výuky prostřednictvím ICT Metodický list k didaktickému materiálu Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět

Více

Archivační a komprimační programy

Archivační a komprimační programy Archivační a komprimační programy Komprese Nejběžnější archivační a komprimační programy Stručný popis algoritmů bezztrátové komprese I když paměťová média mají stále větší kapacitu a neustále klesá cena

Více

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

Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO Počítačová grafika SZŠ A VOŠZ MERHAUTOVA 15, BRNO 1 Základní dělení 3D grafika 2D grafika vektorová rastrová grafika 2/29 Vektorová grafika Jednotlivé objekty jsou tvořeny křivkami Využití: tvorba diagramů,

Více

Informační systémy ve zdravotnictví

Informační systémy ve zdravotnictví Informační systémy ve zdravotnictví ZS 2008/2009 Zoltán Szabó Tel.: (+420) 312 608 207 E-mail: szabo@fbmi.cvut.cz č.dv.: 504, 5.p Dnešní přednáška Kódování, komprese 2 1 Komprese dat Cíl komprese: redukovat

Více

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-217. Komprimace dat

III/2 Inovace a zkvalitnění výuky prostřednictvím ICT EU-OVK-VZ-III/2-ZÁ-217. Komprimace dat Číslo a název šablony Číslo didaktického materiálu Druh didaktického materiálu Autor Jazyk Téma sady didaktických materiálů Téma didaktického materiálu Vyučovací předmět Cílová skupina (ročník) Úroveň

Více

1. Formáty grafických dat

1. Formáty grafických dat 1. Formáty grafických dat Studijní cíl Tento blok kurzu je věnován problematice grafických formátů, kompresi grafických dat a odlišností u rastrových a vektorových souborů. Doba nutná k nastudování 2 hodiny

Více

EU-OPVK: VY_32_INOVACE_FIL12 Vojtěch Filip, 2014

EU-OPVK: VY_32_INOVACE_FIL12 Vojtěch Filip, 2014 Číslo projektu CZ.1.07/1.5.00/34.0036 Tématický celek Inovace výuky ICT na BPA Název projektu Inovace a individualizace výuky Název materiálu Komprese a archivace dat Číslo materiálu VY_32_INOVACE_FIL12

Více

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

12 Metody snižování barevného prostoru 12 Metody snižování barevného prostoru Studijní cíl Tento blok je věnován základním metodám pro snižování barevného rozsahu pro rastrové obrázky. Postupně zde jsou vysvětleny důvody k použití těchto algoritmů

Více

OPERAČNÍ SYSTÉM. Informační a komunikační technologie

OPERAČNÍ SYSTÉM. Informační a komunikační technologie OPERAČNÍ SYSTÉM Informační a komunikační technologie Operační systém počítače Definice - charakteristika Je soubor programů, které zajišťují základní činnosti počítače (vstup a výstup dat, zpracování uživatelského

Více

DUM: VY_32_INOVACE_594

DUM: VY_32_INOVACE_594 Datum: 24. listopadu 2013 Projekt: Využití ICT techniky především v uměleckém vzdělávání Registrační číslo: CZ.1.07/1.5.00/34.1013 Číslo DUM: VY_32_INOVACE_594 Škola: Akademie VOŠ, Gymn. a SOŠUP Světlá

Více

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

Algoritmy I. Číselné soustavy přečíst!!! ALGI 2018/19 Algoritmy I Číselné soustavy přečíst!!! Číselné soustavy Každé číslo lze zapsat v poziční číselné soustavě ve tvaru: a n *z n +a n-1 *z n-1 +. +a 1 *z 1 +a 0 *z 0 +a -1 *z n-1 +a -2 *z -2 +.. V dekadické

Více

Komprese dat (Komprimace dat)

Komprese dat (Komprimace dat) Komprese dat (Komprimace dat) Př.: zakódovat slovo ARARAUNA K K 2 četnost absolutní relativní A 4,5 N,25 R 2,25 U,25 kód K : kód K 2 :... 6 bitů... 4 bitů prefixový kód: žádné kódové slovo není prefixem

Více

ZÁPADOČESKÁ UNIVERZITA V PLZNI

ZÁPADOČESKÁ UNIVERZITA V PLZNI ZÁPADOČESKÁ UNIVERZITA V PLZNI FAKULTA PEDAGOGICKÁ KATEDRA VÝPOČETNÍ A DIDAKTICKÉ TECHNIKY KOMPONENTY PRO VÝUKOVÝ ELEKTRONICKÝ MATERIÁL - KOMPRESE V OBLASTI POČÍTAČŮ BAKALÁŘSKÁ PRÁCE Lukáš Smutný Přírodovědná

Více

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

Identifikátor materiálu: ICT-1-02 Identifikátor materiálu: ICT-1-02 Předmět Informační a komunikační technologie Téma materiálu Data a informace Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí základní pojmy jako data,

Více

Souborové systémy a logická struktura dat (principy, porovnání, příklady).

Souborové systémy a logická struktura dat (principy, porovnání, příklady). $TECH 13 Str. 1/5 Souborové systémy a logická struktura dat (principy, porovnání, příklady). Vymezení základních pojmů Soubor První definice: označuje pojmenovanou posloupnost bytů uloženou na nějakém

Více

Š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

Š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 Škola: Gymnázium, Brno, Slovanské náměstí 7 Šablona: III/2 Inovace a zkvalitnění výuky prostřednictvím ICT Název projektu: Inovace výuky na GSN prostřednictvím ICT Číslo projektu: CZ.1.07/1.5.00/34.0940

Více

Konverze grafických rastrových formátů

Konverze grafických rastrových formátů ČESKÉ VYSOKÉ UČENÍ TECHNICKÉ V PRAZE FAKULTA STAVEBNÍ OBOR GEODÉZIE A KARTOGRAFIE KATEDRA MAPOVÁNÍ A KARTOGRAFIE Konverze grafických rastrových formátů semestrální práce Jakub Hořejší Ondřej Šalanda V

Více

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

Neztrátové komprimační algoritmy v počítačové grafice Neztrátové komprimační algoritmy v počítačové grafice Lossless Compression Algorithms in Computer Graphics Bc. Tomáš Vogeltanz Diplomová práce 2012 UTB ve Zlíně, Fakulta aplikované informatiky, 2012

Více

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115

Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Gymnázium a Střední odborná škola, Rokycany, Mládežníků 1115 Číslo projektu: CZ.1.07/1.5.00/34.0410 Číslo šablony: 17 Název materiálu: Ročník: Identifikace materiálu: Jméno autora: Předmět: Tématický celek:

Více

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

Počítačová grafika. OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely Počítačová grafika OBSAH Grafické formy: Vektorová grafika Bitmapová (rastrová grafika) Barevné modely Vektorová grafika Vektorová grafika Příklad vektorové grafiky Zpět na Obsah Vektorová grafika Vektorový

Více

Adobe Photoshop 18. Ukládání dokumentu formáty

Adobe Photoshop 18. Ukládání dokumentu formáty Adobe Photoshop 18. Ukládání dokumentu formáty www.isspolygr.cz Vytvořila: Bc. Blažena Kondelíková Vytvořila dne: 20. 11. 2012 Strana: 1/5 Škola Ročník 4. ročník (SOŠ, SOU) Název projektu Interaktivní

Více

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky

Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky Otázka 20 A7B36DBS Zadání... 1 Slovníček pojmů... 1 Relační DB struktury sloužící k optimalizaci dotazů - indexy, clustery, indexem organizované tabulky... 1 Zadání Relační DB struktury sloužící k optimalizaci

Více

Algoritmy komprese dat

Algoritmy komprese dat Algoritmy komprese dat Slovníkové metody Phillip Walter Katz (1962-2000) 2.12.2015 NSWI072-10 Slovníkové metody komprese dat Idea opakující se fráze uloženy do slovníku výskyty fráze v textu ukazatel do

Více

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií

Inovace výuky prostřednictvím ICT v SPŠ Zlín, CZ.1.07/1.5.00/34.0333 Vzdělávání v informačních a komunikačních technologií VY_32_INOVACE_31_18 Škola Název projektu, reg. č. Vzdělávací oblast Vzdělávací obor Tematický okruh Téma Tematická oblast Název Autor Vytvořeno, pro obor, ročník Anotace Přínos/cílové kompetence Střední

Více

Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/

Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/ Projekt: Příjemce: Digitální učební materiály ve škole, registrační číslo projektu CZ.1.07/1.5.00/34.0527 Střední zdravotnická škola a Vyšší odborná škola zdravotnická, Husova 3, 371 60 České Budějovice

Více

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ

KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KAPITOLA 1 - ZÁKLADNÍ POJMY INFORMAČNÍCH A KOMUNIKAČNÍCH TECHNOLOGIÍ KLÍČOVÉ POJMY technické vybavení počítače uchování dat vstupní a výstupní zařízení, paměti, data v počítači počítačové sítě sociální

Více

STRUKTURA RASTROVÝCH DAT

STRUKTURA RASTROVÝCH DAT STRUKTURA RASTROVÝCH DAT dva typy rastrové vrstvy v GIS 1) Digitální obraz TV, počítač, mobil - obrazovka obraz z bodů mapa - mřížka s barevnými plochami 2) Rastrová data data pro analýzu a) binární -

Více

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

Kompresní techniky. David Bařina. 15. února David Bařina Kompresní techniky 15. února / 37 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í

Více

Pohled do nitra mikroprocesoru Josef Horálek

Pohled do nitra mikroprocesoru Josef Horálek Pohled do nitra mikroprocesoru Josef Horálek Z čeho vycházíme = Vycházíme z Von Neumannovy architektury = Celý počítač se tak skládá z pěti koncepčních bloků: = Operační paměť = Programový řadič = Aritmeticko-logická

Více

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

Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW Komprese dat (KOD) Semestrální projekt Implementace RLE, BWT a LZW Autor: Bc. Petr Kašpar Login: KAS265 Datum: 8. května 2009 Úvod Úkolem tohoto projektu bylo implementovat nějaký komprimační algoritmus.

Více

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

IVT. Rastrová grafika. 8. ročník IVT Rastrová grafika 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443

Více

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

[1] samoopravné kódy: terminologie, princip [1] Úvod do kódování samoopravné kódy: terminologie, princip blokové lineární kódy Hammingův kód Samoopravné kódy, k čemu to je [2] Data jsou uložena (nebo posílána do linky) kodérem podle určitého pravidla

Více

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

Barvy a barevné modely. Počítačová grafika Barvy a barevné modely Počítačová grafika Barvy Barva základní atribut pro definici obrazu u každého bodu, křivky či výplně se definuje barva v rastrové i vektorové grafice všechny barvy, se kterými počítač

Více

Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/

Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/ Zdroj: http://www.root.cz/clanky/pravda-a-myty-o-gifu/ Bitmapový formát (rastrový obrázek) Většina z používaných grafických formátů (JPEG, PNG, TGA, BMP) obsahuje popis rastrového obrázku jako celku ukládají

Více

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

Komprese dat Obsah. Komprese videa. Radim Farana. Podklady pro výuku. Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese dat Radim Farana Podklady pro výuku Obsah Komprese videa a zvuku. Komprese MPEG. Komprese MP3. Komprese videa Velký objem přenášených dat Typický televizní signál - běžná evropská norma pracuje

Více

Základní pojmy. Multimédia. Multimédia a interaktivita

Základní pojmy. Multimédia. Multimédia a interaktivita Základní pojmy Multimédia Jedná se o sloučení pohyblivého obrazu, přinejmenším v televizní kvalitě, s vysokou kvalitou zvuku a počítačem, jako řídícím systémem. Jako multimediální systém se označuje souhrn

Více

Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Popis výukového materiálu Soubory, typy souborů, komprimace

Číslo a název šablony III/2 Inovace a zkvalitnění výuky prostřednictvím ICT. Popis výukového materiálu Soubory, typy souborů, komprimace Číslo projektu školy Číslo a název šablony klíčové aktivity Číslo materiálu CZ.1.07/1.5.00/34.0963 III/2 Inovace a zkvalitnění výuky prostřednictvím ICT VY_32_INOVACE_ICT_II_S1_05 Popis výukového materiálu

Více

BPC2E_C09 Model komunikačního systému v Matlabu

BPC2E_C09 Model komunikačního systému v Matlabu BPCE_C9 Model komunikačního systému v Matlabu Cílem cvičení je vyzkoušet si sestavit skripty v Matlabu pro model jednoduchého komunikačního systému pro přenos obrázků. Úloha A. Sestavte model komunikačního

Více

Zobrazovací jednotky a monitory

Zobrazovací jednotky a monitory Zobrazovací jednotky a monitory Zobrazovací jednotka - karta, která se zasunuje do jednoho z konektorů na sběrnici uvnitř počítače. Dva režimy činnosti: Textový režim - zobrazuje znaky uvedené v tabulce

Více

TECHNICKÁ UNIVERZITA V LIBERCI

TECHNICKÁ UNIVERZITA V LIBERCI TECHNICKÁ UNIVERZITA V LIBERCI Fakulta mechatroniky a mezioborových inženýrských studií Komprese měřených dat v 0.1 Liberec 2007 Viktor Bubla Obsah 1 Proč komprimace? 2 2 Filosofie základních komprimačních

Více

Základy algoritmizace. Pattern matching

Základy algoritmizace. Pattern matching Základy algoritmizace Pattern matching 1 Pattern matching Úloha nalézt v nějakém textu výskyty zadaných textových vzorků patří v počítačové praxi k nejfrekventovanějším. Algoritmy, které ji řeší se používají

Více

Systém souborů (file system, FS)

Systém souborů (file system, FS) UNIX systém souborů (file system) 1 Systém souborů (file system, FS)! slouží k uchování dat na vnějším paměťovém médiu a zajišťuje přístup ke struktuře dat! pro uživatele možnost ukládat data a opět je

Více

13 Barvy a úpravy rastrového

13 Barvy a úpravy rastrového 13 Barvy a úpravy rastrového Studijní cíl Tento blok je věnován základním metodám pro úpravu rastrového obrazu, jako je např. otočení, horizontální a vertikální překlopení. Dále budo vysvětleny různé metody

Více

Programování v Pythonu

Programování v Pythonu ƒeské vysoké u ení technické v Praze FIT Programování v Pythonu Ji í Znamená ek P íprava studijního programu Informatika je podporována projektem nancovaným z Evropského sociálního fondu a rozpo tu hlavního

Více

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

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 Osnova přednášky 2/36 Formáty uložení dat Ing Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelucz vyjádření hodnot datového typu formátová specifikace textový a binární formát otevřený a

Více

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

Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill. Optimalizace komprese XML. Závěr Pavel Hruška Stručně o XML (výhody, nevýhody) Proč komprimovat XML? Metody komprese XML XMill Představení, princip, výsledky Analýza XML (možná úskalí) Optimalizace komprese XML Přeskládání kontejnerů

Více

Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou

Využití ICT techniky především v uměleckém vzdělávání. Akademie - VOŠ, Gymn. a SOŠUP Světlá nad Sázavou Datum: 1. 12. 2013 Projekt: Registrační číslo: Číslo DUM: Škola: Jméno autora: Název sady: Název práce: Předmět: Ročník: Obor: Časová dotace: Vzdělávací cíl: Pomůcky: Využití ICT techniky především v uměleckém

Více

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011

Osobní počítač. Zpracoval: ict Aktualizace: 10. 11. 2011 Osobní počítač Zpracoval: ict Aktualizace: 10. 11. 2011 Charakteristika PC Osobní počítač (personal computer - PC) je nástroj člověka pro zpracovávání informací Vyznačuje se schopností samostatně pracovat

Více

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky

UNIVERZITA PARDUBICE. Fakulta elektrotechniky a informatiky UNIVERZITA PARDUBICE Fakulta elektrotechniky a informatiky Bezztrátová komprimace dat Josef Haken Bakalářská práce 2008 SOUHRN Práce se zabývá bezztrátovou komprimací dat. Popisuje základní principy

Více

Tento dokument je určen oprávněným uživatelům programového vybavení Avensio Software za těchto podmínek:

Tento dokument je určen oprávněným uživatelům programového vybavení Avensio Software za těchto podmínek: Zálohování dat 1 Tento dokument je určen oprávněným uživatelům programového vybavení Avensio Software za těchto podmínek: 1. Celý text musí být ponechán v původním znění bez úprav a se zahrnutím všech

Více

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje

Paměti. Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti Paměť je zařízení, které slouží k ukládání programů a dat, s nimiž počítač pracuje Paměti počítače lze rozdělit do tří základních skupin: registry paměťová místa na čipu procesoru jsou používány

Více

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

POČÍTAČOVÁ GRAFIKA. Počítačová grafika 1 Počítačová grafika 1 POČÍTAČOVÁ GRAFIKA Gymnázium Jiřího Wolkera v Prostějově Výukové materiály z matematiky pro nižší gymnázia Autoři projektu Student na prahu 21. století - využití ICT ve vyučování matematiky

Více

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

25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE 25. DIGITÁLNÍ TELEVIZNÍ SIGNÁL A KABELOVÁ TELEVIZE Digitalizace obrazu a komprese dat. Uveďte bitovou rychlost nekomprimovaného číslicového TV signálu a jakou šířku vysílacího pásma by s dolním částečně

Více

Princip funkce počítače

Princip funkce počítače Princip funkce počítače Princip funkce počítače prvotní úlohou počítačů bylo zrychlit provádění matematických výpočtů první počítače kopírovaly obvyklý postup manuálního provádění výpočtů pokyny pro zpracování

Více

Multimediální systémy

Multimediální systémy Multimediální systémy Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Literatura Havaldar P., Medioni G.: Multimedia Systems: Algorithms, Standards, and Industry Practices. Course

Více

IVT. Grafické formáty. 8. ročník

IVT. Grafické formáty. 8. ročník IVT Grafické formáty 8. ročník listopad, prosinec 2013 Autor: Mgr. Dana Kaprálová Zpracováno v rámci projektu Krok za krokem na ZŠ Želatovská ve 21. století registrační číslo projektu: CZ.1.07/1.4.00/21.3443

Více

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

Formáty uložení dat. Výpočetní technika I. Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně .. Formáty uložení dat Ing. Pavel Haluza ústav informatiky PEF MENDELU v Brně haluza@mendelu.cz Osnova přednášky Datové formáty vyjádření hodnot datového typu formátová specifikace textový a binární formát

Více

Kurz digitální fotografie. blok 1 data/úpravy fotografií

Kurz digitální fotografie. blok 1 data/úpravy fotografií Kurz digitální fotografie blok 1 data/úpravy fotografií Grafické soubory Grafické soubory Obsahují grafická (obrazová) data, která mohou být uložena různými způsoby, tedy formou různých grafických formátů.

Více

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

Rastrová grafika. Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou Rastrová grafika Grafický objekt je zaznamenán jednotlivými souřadnicemi bodů v mřížce. pixel ( picture element ) s definovanou barvou Kvalita je určena rozlišením mřížky a barevnou hloubkou (počet bitů

Více

PRÁCE S VIDEEM. Název šablony: III/2-1, Výuka IVT na 2. stupni práce s videem

PRÁCE S VIDEEM. Název šablony: III/2-1, Výuka IVT na 2. stupni práce s videem PRÁCE S VIDEEM Název šablony: III/2-1, Výuka IVT na 2. stupni práce s videem Číslo a název projektu: CZ.1.07/1.4.00/21.3443, Krok za krokem na ZŠ Želatovská ve 21.století Název školy: ZŠ Přerov, Želatovská

Více

EXTERNÍ PAMĚŤOVÁ MÉDIA

EXTERNÍ PAMĚŤOVÁ MÉDIA EXTERNÍ PAMĚŤOVÁ MÉDIA Páskové paměti Páskové paměti jsou typickým sekvenčním zařízením, to znamená, že pokud je potřeba zpřístupnit libovolnou informaci na pásce, je nutné, aby nejdříve byly přečteny

Více

Windows - základy. Hlavním vypínačem na základní jednotce. K datům uloženým do výchozí složky.

Windows - základy. Hlavním vypínačem na základní jednotce. K datům uloženým do výchozí složky. Práce se soubory a složkami Windows - základy Otázka Jakým způsobem se zapíná počítač? Jaká vstupní pole musí být vyplněna v přihlašovacím panelu Windows? K čemu slouží postup "Nabídka Start" - "Vypnout"

Více

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka.

Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. 1 Disky, adresáře (složky) a soubory Disky Pro označení disku se používají písmena velké abecedy, za nimiž následuje dvojtečka. A:, B: C:, D:, E:, F: až Z: - označení disketových mechanik - ostatní disky

Více

Architektura počítačů

Architektura počítačů Architektura počítačů Studijní materiál pro předmět Architektury počítačů Ing. Petr Olivka katedra informatiky FEI VŠB-TU Ostrava email: petr.olivka@vsb.cz Ostrava, 2010 1 1 Architektura počítačů Pojem

Více

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

Identifikátor materiálu: ICT-1-20 Identifikátor materiálu: ICT-1-20 Předmět Informační a komunikační technologie Téma materiálu Kancelářské balíky a grafické editory Autor Ing. Bohuslav Nepovím Anotace Student si procvičí / osvojí programové

Více

KOMBINAČNÍ LOGICKÉ OBVODY

KOMBINAČNÍ LOGICKÉ OBVODY Projekt: Inovace oboru Mechatronik pro Zlínský kraj Registrační číslo: CZ.1.07/1.1.08/03.0009 KOMBINAČNÍ LOGICKÉ OBVODY U těchto obvodů je vstup určen jen výhradně kombinací vstupních veličin. Hodnoty

Více

POKROČILÉ POUŽITÍ DATABÁZÍ

POKROČILÉ POUŽITÍ DATABÁZÍ POKROČILÉ POUŽITÍ DATABÁZÍ Barbora Tesařová Cíle kurzu Po ukončení tohoto kurzu budete schopni pochopit podstatu koncepce databází, navrhnout relační databázi s využitím pokročilých metod, navrhovat a

Více

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití.

Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití. Metodický list hardware Výukový materiál Hardware je zaměřený především na výuku principů práce hardwaru a dále uvádí konkrétní příklady použití. Postupuje od výčtu základních prvků, bez kterých se PC

Více

Základní pojmy informačních technologií

Základní pojmy informačních technologií Základní pojmy informačních technologií Informační technologie (IT): technologie sloužící k práci s daty a informacemi počítače, programy, počítač. sítě Hardware (HW): jednoduše to, na co si můžeme sáhnout.

Více

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice

Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Strategie ochrany před negativními dopady povodní a erozními jevy přírodě blízkými opatřeními v České republice Návod k prezentačnímu mapovému portálu Obsah: 1. Úvod... 3 2. Obecná část mapového portálu...

Více

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí.

Základní pojmy. Program: Algoritmus zapsaný v programovacím jazyce, který řeší nějaký konkrétní úkol. Jedná se o posloupnost instrukcí. Základní pojmy IT, číselné soustavy, logické funkce Základní pojmy Počítač: Stroj na zpracování informací Informace: 1. data, která se strojově zpracovávají 2. vše co nám nebo něčemu podává (popř. předává)

Více

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010

Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010 Zvyšování IT gramotnosti zaměstnanců vybraných fakult MU MS POWERPOINT 2010 Organizace Termíny: 1. lekce - 30.5. 2. lekce - 6.6. 3. lekce - 13.6. 4. lekce - 20.6. vždy od 15:00 (dvě vyučovací hodiny) místo

Více

Barvy na počítači a grafické formáty

Barvy na počítači a grafické formáty Barvy na počítači a grafické formáty Hlavním atributem, který se používá při práci s obrazem či s grafickými formáty, je barva. Při práci s barvami je důležité určit základní množinu barev, se kterou budeme

Více

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ

VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Úvod do problematiky VYTVÁŘENÍ DATABÁZÍ, VKLÁDÁNÍ ÚDAJŮ Databáze je uspořádaná množina velkého množství informací (dat). Příkladem databáze je překladový slovník, seznam PSČ nebo telefonní seznam. Databáze

Více

Základní jednotky používané ve výpočetní technice

Základní jednotky používané ve výpočetní technice Základní jednotky používané ve výpočetní technice Nejmenší jednotkou informace je bit [b], který může nabývat pouze dvou hodnot 1/0 (ano/ne, true/false). Tato jednotka není dostatečná pro praktické použití,

Více

Středoškolská technika Algoritmus pro bezztrátovou kompresi dat

Středoškolská technika Algoritmus pro bezztrátovou kompresi dat Středoškolská technika 2016 Setkání a prezentace prací středoškolských studentů na ČVUT Algoritmus pro bezztrátovou kompresi dat Štěpán Pešout Gymnázium, Vlašim, Tylova 271 Tylova 271, Vlašim Agloritmus

Více

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit

Operační systémy. Jednoduché stránkování. Virtuální paměť. Příklad: jednoduché stránkování. Virtuální paměť se stránkování. Memory Management Unit Jednoduché stránkování Operační systémy Přednáška 8: Správa paměti II Hlavní paměť rozdělená na malé úseky stejné velikosti (např. 4kB) nazývané rámce (frames). Program rozdělen na malé úseky stejné velikosti

Více

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce:

Registrační číslo projektu: CZ.1.07/1.5.00/34.0185. Název projektu: Moderní škola 21. století. Zařazení materiálu: Ověření materiálu ve výuce: STŘEDNÍ ODBORNÁ ŠKOLA A STŘEDNÍ ODBORNÉ UČILIŠTĚ NERATOVICE Školní 664, 277 11 Neratovice, tel.: 315 682 314, IČO: 683 834 95, IZO: 110 450 639 Ředitelství školy: Spojovací 632, 277 11 Neratovice tel.:

Více

Digitalizace signálu (obraz, zvuk)

Digitalizace signálu (obraz, zvuk) Digitalizace signálu (obraz, zvuk) Základem pro digitalizaci obrazu je převod světla na elektrické veličiny. K převodu světla na elektrické veličiny slouží např. čip CCD. Zkratka CCD znamená Charged Coupled

Více

Informatika 7. ročník/02

Informatika 7. ročník/02 Windows IV opakování: soubor, složka, kopírování, přejmenování, přesouvání souboru, složky, průzkumník, jak co otevřít v daném programu, seřadit ikony v nabídce start Informatika Vytvoření zástupce zástupce

Více

Popis programu EnicomD

Popis programu EnicomD Popis programu EnicomD Pomocí programu ENICOM D lze konfigurovat výstup RS 232 přijímačů Rx1 DIN/DATA a Rx1 DATA (přidělovat textové řetězce k jednotlivým vysílačům resp. tlačítkům a nastavovat parametry

Více

Paměťový podsystém počítače

Paměťový podsystém počítače Paměťový podsystém počítače typy pamětových systémů počítače virtuální paměť stránkování segmentace rychlá vyrovnávací paměť 30.1.2013 O. Novák: CIE6 1 Organizace paměťového systému počítače Paměťová hierarchie...

Více

Základy informatiky a teorie informace

Základy informatiky a teorie informace První kapitola Základy informatiky a teorie informace Učební text Mgr. Radek Hoszowski Základy informatiky a teorie informace Jednotka informace V této kapitole se dozvíme základní informace o jednotkách

Více

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

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

Více

Název práce: Komprimace dat prezentace

Název práce: Komprimace dat prezentace Datum: 24. listopadu 2013 Projekt: Využití ICT techniky především v uměleckém vzdělávání Registrační číslo: CZ.1.07/1.5.00/34.1013 Číslo DUM: VY_32_INOVACE_593 Škola: Akademie VOŠ, Gymn. a SOŠUP Světlá

Více

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

KOMPRESE OBRAZŮ. Václav Hlaváč, Jan Kybic. Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání. 1/25 KOMPRESE OBRAZŮ Václav Hlaváč, Jan Kybic Fakulta elektrotechnická ČVUT v Praze katedra kybernetiky, Centrum strojového vnímání hlavac@fel.cvut.cz http://cmp.felk.cvut.cz/ hlavac KOMPRESE OBRAZŮ, ÚVOD

Více

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 Komprese dat Jan Outrata KATEDRA INFORMATIKY UNIVERZITA PALACKÉHO V OLOMOUCI přednášky Statistické metody Jan Outrata (Univerzita Palackého v Olomouci) Komprese dat Olomouc, únor březen 2016 1 / 23 Tunstallův

Více

Učební text Multimédia

Učební text Multimédia Učební text Multimédia 1. MULTIMÉDIA Talking about multimedia is a lot like talking about love. Everybody agrees that it s a good thing, everybody wants it, wants to participate in it, but everybody has

Více

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly.

Výhody a nevýhody jednotlivých reprezentací jsou shrnuty na konci kapitoly. Kapitola Reprezentace grafu V kapitole?? jsme se dozvěděli, co to jsou grafy a k čemu jsou dobré. rzo budeme chtít napsat nějaký program, který s grafy pracuje. le jak si takový graf uložit do počítače?

Více

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

VYUŽITÍ POČÍTAČOVÉ GRAFIKY POČÍTAČOVÁ GRAFIKA VYUŽITÍ POČÍTAČOVÉ GRAFIKY ÚPRAVA FOTOGRAFIÍ NAFOCENÉ FOTOGRAFIE Z DIGITÁLNÍHO FOTOAPARÁTU MŮŽEME NEJEN PROHLÍŽET, ALE TAKÉ UPRAVOVAT JAS KONTRAST BAREVNOST OŘÍZNUTÍ ODSTRANĚNÍ ČERVENÝCH

Více

Základy práce v programovém balíku Corel

Základy práce v programovém balíku Corel Základy práce v programovém balíku Corel Mgr. Tomáš Pešina Výukový text vytvořený v rámci projektu DOPLNIT První jazyková základní škola v Praze 4, Horáčkova 1100, 140 00 Praha 4 - Krč Základy počítačové

Více

Převody datových formátů

Převody datových formátů Převody datových formátů Cíl kapitoly: Žák popíše data používaná v informatice, jejich rozdělení, používané formáty souborů a jejich přípony, vysvětlí převody formátů. Klíčové pojmy: Data Typ souboru (formát

Více