Co je to kompresní algoritmus?
Počítačové soubory mohou zabrat velké množství místa na pevném disku a také velkou šířku pásma pro přenos. Pro úsporu místa, zejména u souborů, ke kterým není často přistupováno, a šířky pásma pro přenášené soubory, byly vyvinuty způsoby ukládání, které ukládají data v menším balíčku komprimací. V každém případě se používá kompresní algoritmus - metoda pro zmenšení velikosti dat. Existuje několik populárních kategorií a typů kompresního algoritmu, z nichž každá funguje odlišným způsobem a některé z nich mají důležité výsledky. Pomocí různých kompresních algoritmů je obecně možné zmenšit textový soubor na méně než polovinu jeho původní velikosti; u grafických souborů se výsledky velmi liší. Soubor, který je výsledkem komprese, může být buď v jiném formátu, nebo v archivním souboru, který se často používá pro ukládání, přenos a distribuci.
Jedním způsobem kategorizace kompresních algoritmů je to, zda ke komprimaci dat používají slovník nebo statistické metody. Metoda slovníku se zaměřuje na opakovatelné fráze a používá se v obrázcích GIF a v archivech JAR a ZIP. Statistická metoda se spoléhá na četnost použití k provedení konverze, která se provádí ve dvou průchodech. Příkladem je Modified Huffman (mh), používaný v některých faxech.
Druhý způsob, jak kategorizovat kompresní algoritmy, a ten, který se neprofesionální programátoři nejčastěji setkávají, je, zda jsou bezztrátové nebo ztrátové. Algoritmus bezeztrátové komprese dat je ten, který komprimuje data takovým způsobem, že když je dekomprimován, je přesně identický s původním souborem. Jedním příkladem bezeztrátového algoritmu komprese dat je lzw (Lempel-Ziv-Welch algoritmus). Byl vyvinut v roce 1977 firmami Lempel a Ziv a vylepšen v roce 1984 firmou Welch. Používá se v souborech jako GIF, TIF a PDF a také v určitých modemech.
Algoritmus komprese ztrátových dat má schopnost redukovat data na menší velikost než bezeztrátová komprese, ale za cenu některých původních dat. Jinými slovy, obnovení po ztrátě komprese dat nedává identickou kopii původního souboru. Algoritmus komprese je však navržen tak, aby omezoval ztráty tak, aby nebyly patrné ucha nebo oka. Ztráta komprese se používá v formátech souborů, jako jsou AAC, JPEG, MPEG a MP3.