Co to je komprimace souborů? Nebojte se jí a zmenšete si svoje data na minimum!

Co to je komprimace souborů? Nebojte se jí a zmenšete si svoje data na minimum!

Při práci s daty se často dostaneme do situace, kdy potřebujeme, aby zabírala co nejméně místa. V minulosti jsme byli často limitováni velikostí paměťového média, proto byla komprimace nezbytná. Dnes jsou na tom již kapacity paměťových médií lépe, ale např. při archivaci rozsáhlé databáze se zmenšení velikosti souborů pořád hodí.

Existuje mnoho aplikací a formátů, do kterých je možné data zabalit. Některé formáty jsou přímo podporovány operačními systémy, jiné vyžadují speciální programy. Mezi nejznámější patří zip, rar a tar. Na základě způsobu  komprimování údajů můžeme kompresi rozdělit na dva typy.

Ztrátová komprese

Při tomto druhu komprimace jsou některé informace nenávratně ztraceny a nelze je zpět rekonstruovat. Používá se tam, kde je možné ztrátu některých informací tolerovat a kde nevýhoda určitého zkreslení je bohatě vyvážena velmi významným zmenšením souboru. Používá se pro kompresi zvuku a obrazu (videa). Využívá se toho, že člověk si chybějících údajů nevšimne nebo si je dokáže domyslet.

Bezztrátová komprese

Tato metoda nebývá obvykle tak účinná jako ztrátová komprese dat. Velkou výhodou však je, že komprimovaný soubor lze opačným postupem rekonstruovat do původní podoby (dekomprimace). To je nutnou podmínkou při přenášení počítačových dat, dokumentů, databází apod., kde by ztráta i jediného znaku mohla znamenat nenávratné poškození souboru.

Komprimační algoritmus

Ke komprimaci dat se využívá různých komprimačních algoritmů. Jeden ze způsobů si představíme na algoritmu LZW (pojmenovaném podle autorů Lempel, Ziv, Welch), který je součástí vícerých komprimačních formátů.

Základní princip LZW spočívá ve vyhledávání opakujících se řetězců, kterým jsou přiřazeny kódy, které spolu s původním řetězcem vytváří slovník. Jeho struktura je taková, že první sloupec obsahuje referenční kód, druhý pak obsahuje kód, zastupující posloupnost znaků. Všechny údaje jsou zapsané ve dvojkové soustavě.

Prvních 256 kódů připadá všem jednoznakovým slovům – typicky znakům ASCII kódu. Další položky slovníku představují řetězce znaků (např. pod kódem 258 je zakódovaný řetězec 68 79 77, tedy DOM, atd.).

Vždy, když se při komprimaci narazí na řetězec, uvedený ve druhém sloupci slovníku, zapíše se do výstupního (již zkomprimovaného) souboru příslušný kód z prvního sloupečku. Při dekomprimaci je tomu přesně naopak.

Slovník se vytváří na základě analýzy obsahu komprimujícího se dokumentu a nevyžaduje uchovávání pro potřeby dekomprimace.

Kompresní poměr

Pro kompresní algoritmus je jedním z nejsledovanějších parametrů kompresní poměr, který určuje poměr mezi velikostí původního a zkomprimovaného souboru. Výsledek komprese často nezávisí ani tak na použitém algoritmu, jako přímo na typu dat, které se komprimují. Nejlépe se komprimují databázové a textové soubory, které lze zmenšit až na 5 % původní velikosti.

Nejznámější programy

Na komprimování programů existuje řada programů. Namátkou jsou to tyto:

  • 7-Zip
  • WinRAR
  • ZipGenius
  • PeaZip
  • ALZip
  • PowerArchiver
  • WinZip

Volbou vhodného komprimačního algoritmu a formátu můžeme dosáhnou uspokojivých výsledků, tedy co nejlepšího kompresního poměru. Možná si to ani většina čtenářů neuvědomuje, ale denně se setkáváme s již zkomprimovanými formáty, a to jak u hudby, videí či obrázků.

Příkladem bezztrátového formátu může být například BMP, TIFF, GIF, PNG. Ztrátovou kompresi naopak využívají formáty JPG, JPEG. Důležitou informací může být i to, že při komprimaci již zkomprimovaného formátu, můžeme dosáhnou souboru, který svůj obsah zvětšil.

Komentáře

Nahoru