Hlavní navigace

Unixová komprese v praxi: Úvod

18. 3. 2003
Doba čtení: 2 minuty

Sdílet

Co je to komprese, k čemu slouží, ale hlavně, jak na ni v Unixu, to se dozvíte v našem novém seriálu. Dnes začneme trochu obecně. Znalejší jedinci prozatím prominou a článek přeskočí.

Komprese je převod dat z původní reprezentace do nové, úspornější. Tak nějak by asi mohla vypadat definice. Abychom si to vysvětlili nějak lidštěji: Kompresní metody nám umožní zmenšit množství dat, které potřebujeme, abychom uchovali danou informaci. Abychom však mohli původní data opět použít, musíme je opět převést do původní podoby. Reverzní postup se jmenuje dekomprese. Metody, které se při tom používají, nás v našem seriálu příliš zajímat nebudou (i když se některých letmo dotkneme), více nás bude zajímat praktická stránka.

Druhy komprese si můžeme rozdělit do dvou základních skupin: 1) Ztrátová komprese je metoda, při níž se využívá nedokonalosti lidských smyslů (hlavně zraku a sluchu) a počítač při ní dokáže „vynechat“ informace, které člověk stejně nevnímá. Výhodou je pak vyšší míra komprese, nevýhodou možnost použití jenom na specifická data, jako jsou obraz a zvuk. Je jasné, že pokud bychom tento typ komprese použili na klasická data, znehodnotili bychom je. Už bychom nikdy nedokázali získat zpět původní informaci. Jako příklad můžeme uvést obrázky JPEG, video soubory MPEG, případně známý zvukový formát MP3.

2) Bezztrátová komprese je metoda, při níž beze zbytku získáme po kompresi a dekompresi zcela stejnou informaci. Bezztrátovou kompresí se bude zabývat celý náš seriál.

K čemu komprese slouží. Nejčastěji ji využíváme při přenášení dat, kdy se snažíme, aby se nám na médium vměstnalo co nejvíce informací. Mnohem častěji však data komprimujeme, aniž o tom vůbec víme, například při komunikaci přes Internet. Spousta datových linek používá při přenosu některou z metod komprese, aby tak reálně zvýšila svou kapacitu. Na konci se data opět dekomprimují, a proto je celý proces pro uživatele zcela transparentní.

Jak moc to funguje. To je různé, většinou to záleží na dvou faktorech – druhu dat a použitém algoritmu. Co se druhu dat týče, nejvhodnější jsou soubory, kde se často opakují stejné řetězce, případně jsou použity jen některé znaky. Takovým souborem může být například čistý text, případně jednoduchý obrázek, nepříklad nějaké jednobarevné schéma. Za méně vhodný pak můžeme označit takový soubor, kde se vyskytují znaky víceméně náhodně a téměř se neopakují, jakým může být například binární spustitelný soubor, případně soubor již jednou zkomprimovaný.

Stupeň komprese se většinou označuje takzvaným kompresním faktorem, což je poměr nekomprimovaných dat ke komprimovaným. Pokud je tedy zkomprimovaný soubor proti původnímu poloviční, ríkáme, že je zkomprimován s kompresním poměrem 2.

CS24_early

V příším dílu seriálu si povíme něco o programu tar a dozvíte se, jak vlastně ke kompresi přistupuje Unix.

Máte-li zájem o nějaké konkrétní informace, které si chcete v seriálu přečíst, napište o nich do diskuse.

Byl pro vás článek přínosný?

Autor článku

Petr Krčmář pracuje jako šéfredaktor serveru Root.cz. Studoval počítače a média, takže je rozpolcen mezi dva obory. Snaží se dělat obojí, jak nejlépe umí.