LZJB
LZJB je bezztrátový algoritmus komprese dat, který vynalezl Jeff Bonwick v roce 1998 ke kompresi výpisů z pádů programů a dat v systému souborů ZFS . Na základě slovníkové kompresní metody [1] . Tento algoritmus obsahuje mnoho oprav k algoritmu LZRW1 , což je zase varianta LZRW , která je členem rodiny kompresních algoritmů Lempel-Ziv . Tento algoritmus má za cíl zvýšit rychlost komprese [2] [3] .
V letech 2012-2013 ZFS zvažovalo nahrazení LZJB bajtově orientovaným LZ4 jako rychlejší metodu s mírně lepší kompresí [4] [3] .
Komprimovaný tok v LZJB je bajtový tok. Pro označení toku se používá řídicí bajt, který popisuje typy následujících 8 sekvencí. Každý bit řídicího bytu určuje typ jednoho prvku [5] . Bit s hodnotou 0 odpovídá doslovnému bajtu: jeden bajt komprimovaného toku se zkopíruje do výstupního toku. Bit s hodnotou 1 znamená slovníkovou referenci ("match"). Další dva bajty obsahují pole délky 6 bitů a pole offsetu 10 bitů (LLLLLLdd dddddddd). Délkové bity jsou dekódovány na délky od 3 do 66 bajtů (délka je L+3), poté je z výstupní vyrovnávací paměti načten řetězec, který je "offset" (d) bajtů zpět od aktuální pozice.
Poznámky
- ↑ M. A. Basir, M. H. Yousaf. Transparentní kompresní schéma pro systém souborů Linux // The Nucleus. - 2012. - Sv. 49 , č. 2 . — S. 133 . Archivováno z originálu 12. února 2017.
- ↑ Y. Rathore, M. Ahirwar, R. Pandey. Stručná studie algoritmů komprese dat // Journal of Computer Science IJCSIS. - 2013. - Říjen ( roč. 11 , č. 10 ). — S. 90 . Archivováno z originálu 14. prosince 2018.
- ↑ 1 2 Archivovaná kopie . Získáno 17. října 2018. Archivováno z originálu 17. října 2018. (neurčitý)
- ↑ LZ4 Compression - illumos - illumos wiki (nedostupný odkaz) . Získáno 17. října 2018. Archivováno z originálu 9. října 2018. (neurčitý)
- ↑ dekodér LZJB Archivováno 17. října 2018 na Wayback Machine /Wikibooks
Odkazy