Přeskočit na obsah

DjVu/DjVuLibre/cjb2

Z Wikiknih
(přesměrováno z Linux:cjb2)

cjb2 - Jednoduchý DjVuBitonal enkodér

cjb2 [ volby ] vstupní_soubor [ výstupní_djvu_soubor ]

Pomocí cjb2 se komprimuje tzv. maska ( která se do výsledného dokumentu vloží jako Sjbz vrstva ), co byla použita pro vrstvu s popředím ( FGbz vrstva ) budoucího DjVu dokumentu.

U tištěných ( nebo psaných ) materiálů či pérovek zabírá většinu plochy pozadí - plocha. To samo o sobě většinou nenese podstatnou informaci. Je-li tedy z plochy pozadí odfiltrováno popředí (písmo či kresba), může wavelet kompresor pracovat s velkými spojitými barevnými plochami a tím i dosáhnout mnohonásobně lepšího kompresního poměru.

Pro toto odfiltrování se používá tzv. bitonální maska. Tj. rastrový soubor, který tvořený kombinací prázdných bodů a bodů jednobarevné kresby. Před vložením do DjVu dokumentu je nutno tuto masku komprimovat. Komprese jb2 ( se kterou pracuje cjb2 ) funguje podobně jako komprese JBig2, kterou používá PDF ke kódování černobílých obrázků.

  1. Vstupní obrázek je rozdělen na jednotlivé znaky (shluky barevných pixelů), které jsou hierarchicky setříděny na základě podobnosti.
  2. Část z těchto znaků se komprimuje přímo na základě aplikace statistického modelu a aritmetického kódování.
  3. Další část se komprimuje nepřímo, na základě podobnosti s jinými již rozpoznanými znaky
  4. Zbytek, kterým obvykle bývá grafika se pak komprimuje klasickým souřadnicovým způsobem

V DjVu prohlížečce se tato maska (v kombinaci s vrstvou popředí) interpretuje jako černobílá verze stránky, kdy prázdné body jsou prezentovány jako bílé a barevné jako černé.

Volby ovlivňující kvalitu komprese

[editovat | editovat zdroj]

Komprese pomocí cjb2 může být bezztrátová, ale i ztrátová. Ve výchozím nastavení cjb2 komprimuje bezztrátově (tj. stejně jako by byla použita volba -losslevel 100 ). Vstupní soubor musí být černobílý obrázek ve formátu PBM (portable bitonal-map) nebo jednostránkový černobílý TIFF soubor. Výstupem je pak DjVuBitonální soubor.