# Bezeztrátová komprese

### Z Wikipedie, otevřené encyklopedie

Bezeztrátová komprese (=bezeztrátová komprimace) je jeden ze dvou základních přístupů ke kompresi dat. Jedná se o algoritmy, které dovolují přesnou zpětnou rekonstrukci komprimovaných dat, narozdíl od ztrátové komprese, kde to možné není.

Bezeztrátová komprese se používá všude tam, kde je důležité, aby originální data a data po dekompresi komprimovaného souboru byla totožná - např. komprese textů nebo komprese čehokoli, kde je nepřípustná i sebemenší ztráta kvality.

Existuje mnoho různých formátů, které využívají bezeztrátové komprese. Například velmi populární ZIP, se kterým je možné pracovat téměř na jakékoli platformě. Dalším velmi oblíbeným formátem je RAR, tento formát je však komerční a neexistují nástroje pro vytváření archivů RAR na jiné platformě než na platformě MS Windows. Mezi opensourcovými komunitami jsou oblíbeny formáty gzip a bzip2, jejichž algoritmy mají tu výhodu, že nejsou patentované. Dalším méně známým, ale velice schopným kompresním algoritmem je LZMA, který je užíván programem 7-Zip.

## [editovat] Algoritmy bezeztrátové komprese

Jednotlivé algoritmy můžeme rozdělit podle typů dat, pro které jsou určeny. Existují čtyři základní typy dat, které algoritmy zpracovávají - data textového charakteru, data obrazového charakteru, data zvukového charakteru a videa. V principu mohou existovat také univerzální algoritmy, které mohou zpracovávat jakýkoliv typ vstupních souborů. V praxi se ale neprosadily, neboť obvykle nejsou schopny docílit takového kompresního poměru (poměru velikosti dat před a po komprimaci) jako specializované algoritmy. Například zvukový soubor nebude příliš úspěšně komprimovatelný algoritmem určeným pro textové soubory a naopak.

Většina bezeztrátových komprimačních programů nepoužívá jen jeden algoritmus, ale hned několik najednou. U některých komprimačních programů jsou data napřed transformována a až poté komprimována. Zmíněná transformace se používá za účelem dosažení lepších kompresních poměrů.

## [editovat] Rozdělení algoritmů bezeztrátové komprese

### [editovat] Transformace

Tyto algoritmy ve skutečnosti nic nekomprimují, pouze modifikují data tak, aby se dala lépe zkomprimovat. Je také podmínkou, že ke každé transformaci musí existovat transformace inverzní, která bude schopna obnovit původní data.

- Burrows-Wheeler transformation (BWT)
- Move to front I (MTF I)
- Move to front II (MTF II)
- Weighted frequency count (WFC)
- Distance coding (DC)
- Inverse frequency coding (IF)

### [editovat] Slovníkové algoritmy

Zjednodušeně: Algoritmy v této skupině vytvářejí v průběhu komprimace slovník na základě dat již zkomprimovaných, v němž se pak snaží najít data, která se teprve mají komprimovat. Pokud jsou data nalezena ve slovníku, algoritmus zapíše pozici dat ve slovníku místo samotných dat.

- Lempel-Ziv 77 (LZ77)
- Lempel-Ziv 78 (LZ78)
- Lempel-Ziv-Welch 84 (LZW84) - podobný LZ78, byl velmi populární, ale také patentovaný
- LZMA

### [editovat] Statistické algoritmy

Snaží se určitým způsobem předvídat jaké znaky budou v souboru dat následovat. Pro znaky s vyšší pravděpodobností výskytu vyhradí algoritmus kratší informaci pro jejich zapsání, pro znaky s nižší pravděpodobností výskytu vyhradí naopak delší informaci pro jejich zapsání.

Statistické metody dále dělíme na metody se statickým modelem (model slouží pro vypočítávání pravděpodobnosti výskytu znaků) a metody s adaptivním modelem. Metody se statickým modelem vytvoří před komprimací dat určitý model a podle něho zkomprimují celý soubor dat, zatímco metody s adaptivním modelem průběžně model aktualizují.

Obecně se dá říci, že metody se statickým modelem bývají dvouprůchodové a metody s adaptivním modelem jednoprůchodové.

- Shannon-Fanovo kódování
- Huffmanovo kódování
- Aritmetické kódování (známé taktéž jako aritmeticko logické kódování)
- Range coding (RC)
- ACB
- Prediction by partial match (PPM)

### [editovat] Ostatní algoritmy

- Run length encoding (RLE)
- Potlačení nul
- Bitové mapy
- Půlbajtové kódování

## [editovat] Bezeztrátové kompresní metody

### [editovat] Komprese audia

- Apple Lossless - ALAC (Apple Lossless Audio Codec)
- Direct Stream Transfer - DST
- Free Lossless Audio Codec - FLAC
- Meridian Lossless Packing - MLP
- Monkey's Audio - Monkey's Audio APE
- RealPlayer - RealAudio Lossless
- Shorten - SHN
- TTA - True Audio Lossless
- WavPack - WavPack lossless
- WMA Lossless - Windows Media Lossless

### [editovat] Obrázky

- ABO (Adaptive Binary Optimization)
- GIF
- PNG - Portable Network Graphics
- JPEG-LS - lossless/near-lossless compression standard
- JPEG 2000 (includes lossless compression method)
- JBIG2 - (lossless or lossy compression of B&W images)
- TIFF

### [editovat] Video

- Huffyuv
- SheerVideo
- CorePNG [1]
- MSU Lossless Video Codec
- LCL [2]
- Animation codec
- Lagarith
- H.264/MPEG-4 AVC

## [editovat] Podívejte se také na

- David A. Huffman
- Ztrátová komprese

## [editovat] Externí odkazy

- Odkazy na datovou kompresi (anglicky)
- Katalog webů věnovaných bezeztrátové kompresi (anglicky)

Citováno z „http://cs.wikipedia.org../../../b/e/z/Bezeztr%C3%A1tov%C3%A1_komprese.html“

Kategorie: Komprese | Zpracování digitálního signálu

##### Views

- Článek
- Diskuse
- Aktuální verze

##### Hledání

##### V jiných jazycích

- Deutsch
- English
- Español
- Italiano
- 日本語
- Polski
- Svenska