LZMA

Z Wikipedie, otevřené encyklopedie
Skočit na: Navigace, Hledání

LZMA (zkratka pro Lempel-Ziv-Markov-Chain Algorithm), je bezeztrátový kompresní algoritmus, vyvinutý programátorem Igorem Pavlovem, pro jeho archivační program 7-Zip. Jedná se o vylepšení známého algoritmu „Deflate“, a skládá se z LZ77 („Lempel-Ziv 77“, publikovaný v roce 1977), Markovových řetězců (algoritmus vyvinutý již dávno, původně nesouvisející s kompresí dat) a „Range“ algoritmu.

Detailní popis není k dispozici, jediným zdrojem informací je zdrojový kód v „C++“ projektu 7-Zip (MS Visual C++ compiler) a „p7zip“ (GCC compiler), a zjednodušená ANSI-C verze dekompresního kódu. LZMA poskytuje v mnoha případech (ale ne všech) výrazně lepší kompresi než Deflate, cenou za to je pomalejší práce a značná spotřeba paměti. Zvláštností LZMA oproti mnoha algoritmům je, že při kompresi vyžaduje mnohonásobek velikosti slovníku, v závislosti na nastavení parametrů komprese, pro „default“ více než 10krát. Velikost slovníku je teoreticky neomezená, pro 32bitové procesory x86 vychází maximum 256MB slovník pro počítač se 4 GB RAM. Dekomprese je výrazně „levnější“, stačí o něco více paměti než velikost slovníku, a také je mnohonásobně rychlejší než komprese.

Související články[editovat | editovat zdroj]

Externí odkazy[editovat | editovat zdroj]