Názor k článku Kompresní algoritmy v souborech ZIP: Reduce a LZ77 od Pavel Šrubař - Bitrate je přece přirozená metrika u všech komprimačních...

  • Článek je starý, nové názory již nelze přidávat.
  • 27. 5. 2021 14:02

    Pavel Šrubař

    Bitrate je přece přirozená metrika u všech komprimačních programů, i když se jí většinou říká rychlost komprese. Já tento pojem používám ve smyslu
    rozděluj vstupní soubor na menší části a zkoušej se pro každou z nich dobrat optimální komprese, aniž bys překročil nastavenou dobu.

    Pro čistě textový soubor bývá optimální metodou slovníková komprese.
    Soubor ale taky může obsahovat jen omezenou abecedu, třeba pouze znaky 0..F v případě hexadecimálních textových výpisů. Na takové soubory bude lepší nejprve aplikovat Huffmanovo kódování.
    Pro bitmapové obrázky s velkými stejnobarevnými plochami bude asi nejúčinnějším algoritmem Run-length encoding.
    Reálné soubory bývají mixem, například spustitelný program obsahuje na začátku sekci se strojovým kódem (kandidát pro LZ777),
    ve druhé polovině datovou sekci se spoustou prostého textu (Huffman+Reduce)
    a poslední čtvrtině sekci resources s bitmapami (kandidát pro RLE).

    Běžný kompresní program ale neumí adaptivně měnit komprimační metodu podle dat, proto navrhuji keep it simple, aby BFU nemusel znát parametry komprimačních programů a studovat odborné články na Rootu (jakkoli jsou velice zajímavé :-)