9. Komprese dat
Opakování
- kódování čísel (binární, hexadecimální), textu (UTF-8)
- kódování barev v 2d bitmapě - černobílá (1 bit
na px), stupně šedi (1 byte na px), barevná (1 px = 24 bitů RGB) -
obr. wiki
Cvičení
- komprese - diskuse - co to je?
- zkopírovat soubor Komprese.xlsx a přejmenovat na Komprese-kopie.zip
- dekomprimovat (extrahovat) soubor (pravé tl. - Extrahovat vše)
- porovnat velikost před a po komprimaci
- podobně zkomprimovat jiný soubor (Odeslat - Komprimovaná složka)
Teorie
- komprese dat (také komprimace) - zmenšení objemu
dat při zachování jejich informace, významy:
- zmenšení datového toku při přenosu dat (tedy zrychlení
přenosu)
- ušetření místa při ukládání (tedy uložení více dat na
úložiště)
- dekomprese dat - rozbalení, extrakce - převod dat
do původní podoby
Zápis:
9. Komprese dat
= zmenšení objemu dat pro zrychlení jejich přenosu nebo ušetření místa při jejich ukládání
- **ztrátová komprese** - velké zmenšení objemu dat s malou ztrátou informace (obrázky JPEG, video MPEG, zvuk MP3)
- **bezztrátová komprese** - menší zmenšení objemu dat, zachovává všechny informace (obrázky PNG, zvuk FLAC) - např. nahrazení stejných následujících datových jednotek jejich počtem (RLE) nebo nahrazení opakovaných dat jejich pozicí (indexem) ve slovníku
Metody komprese
- ztrátová - velké zmenšení objemu dat, můžeme si
dovolit malou ztrátu informace (které si člověk nevšimne), zjednodušené
příklady:
- fotky - JPEG - snížení počtu barev obrázku
(také posterizace) nahrazením nejbližší barvou z vybraných barev -
obr. - založeno na
nedokonalosti oka rozlišovat malé změny barev
- video - MPEG - posloupnost komprimovaných fotek
- zachycují se jen změny mezi následujícími fotkami stejné scén -
obr.
- také zmenšení rozlišení, počtu snímků za vteřinu
- zvuk - MP3 - odstranění neslyšitelných
frekvencí a frekvencí, které jsou aktuálně "přehlušeny" hlasitějšími
frekvencemi
- bezztrátová - zachovává všechny informace - pro
text, software, kreslené obrázky (PNG, GIF) - malé zmenšení objemu
(kompresní poměr)
- RLE (run-length encoding) - nahrazení stejných
následujících datových jednotek jejich počtem (např. u barev obrázku
formátu BMP) - komprese bude účinná podle délky stejnobarevných řad
- cvičení v Excelu (Komprese.xlsx) - zkomprimovat předposlední
řádek obrázku (zeptat se na kterých řádcích obrázku se ušetří místo,
diskuze o vhodnosti pro text)
- slovníkové metody - nahrazení opakovaných dat
jejich pozicí (indexem) ve slovníku
- indexace barev (pro obrázky) - vytvoření
očíslované palety barev + nahrazení barvy číslem (indexem =
pozicí v paletě) - má smysl jen pro malé počty barev v obrázku -
viz Excel
- Excel - zkusit dekódovat zadaný kód a určit, který je to řádek v
obrázku
- slovník slov (pro texty) - vytvoření
slovníku slov + nahrazení slov pozicí ve slovníku - účinnost se
zvyšuje s četností opakování slov - viz Excel, možno zvolit
pevnou délku znaků do slovníku
- příklad sofistikovanějšího komprimačního algoritmu -
LZ77 - nahrazení
opakovaných dat odkazem na ně (vzdáleností a počtem znaků) - viz Excel - list LZ
- cvičení - Excel - list Zaříkávadlo - hledat opakované
řetězce s 2 a více znaky a označit je, cílem je co nejvíc
označeného textu
Software
- Windows - Odeslat - Komprimovaná složka (ZIP)
- samostatné programy - 7-Zip, WinRAR