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

  1. 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.
  2. 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.
  3. 1 2 Archivovaná kopie . Získáno 17. října 2018. Archivováno z originálu 17. října 2018.
  4. LZ4 Compression - illumos - illumos wiki (nedostupný odkaz) . Získáno 17. října 2018. Archivováno z originálu 9. října 2018. 
  5. dekodér LZJB Archivováno 17. října 2018 na Wayback Machine /Wikibooks

Odkazy