DjVu/DjVuLibre/c44

(přesměrováno z Linux:c44)

Tento DjVuPhoto enkodér do formátu IW44 slouží ke kompresi obrázků.

Mezi hlavní cíle sledované při návrhu DjVu, patřilo nejenom dosažení vysokého kompresního poměru, ale také plynulé zobrazování velkých obrázků i na strojích s omezeným množstvím paměti. Formát IW44 proto používá wavelet koeficienty, které se průběžně aktualizují během dekódování obrazu. Díky nim může prohlížeč rychle poskytnutout libovolnou část obrazu, bez zdlouhavého přepočítávání.

Dekódování obrazu a přepočet těchto koeficientů probíhá při zobrazování souběžně, proto hodně záleží na tom, jak byla komprese do IW44 provedena. Při nevhodně zvolených parametrech sice můžeme dosáhnout menší velikosti výstupního souboru, ovšem zaplatíme za to zvýšenými nároky při zpětné interpretaci obrazové informace.

Použití

editovat
c44 [ volby ] vstupní_soubor [ výstupní_soubor ]
  • Vstup nelze předávat ke zpracování rourou.
  • Pokud není uveden výstupní soubor pak je název výstupního souboru vygenerován automaticky za použití názvu vstupního souboru, s přidáním přípony .djvu

Vstupní soubor může být buď ve formátu PGM (portable gray-map) nebo PPM (portable pixmap). Enkodér akceptuje také obrázky komprimované ve formátu JPEG. V takovém případě je však doporučeno používat pouze vysoce kvalitní JPEG soubory (tj. s nízkým kompresním poměrem a v maximální velikosti).

Volby které ovlivňují výslednou kvalitu komprese

editovat

Tyto volby lze kombinovat jen v omezené míře. Prioritu má vždy ta, je uvedena naposled

DjVuPhoto soubor je logicky složen ze sekvence "řezů" (slices). Ty jsou složeny do vrstev (chunks). Z těchto vrstev se postupně renderuje obrázek. Prohlížeč je tak schopen zobrazit přinejmenším částečně obrázek již po zpracování první vrstvy. Běžný DjVuPhoto soubor obsahuje 80 až 120 řezů rozdělených do 1 až 4 vrstev.

Volbami pro nastavení kvality zpracování tak můžete ovlivnit jak počet vrstev tak počet řezů do kterých bude obrazová informace během kódování rozdělena. c44 přidává jednotlivé řezy při kompresi do aktuální vrstvy tak dlouho, dokud nedosáhne předem definovaného kritéria. Tímto kritériem může být počet řezů, velikost souboru nebo nastavení celkové kvality.

Při předávání argumentů pro jednotlivé vrstvy, se hodnoty od sebe oddělují buďto čárkou, nebo znaménkem plus. Při plus se použije stejný počet řezů na vrstvu, jako je definován číslem. Je-li použitá čárka, pak musí číslu odpovídat celkový počet řezů na aktuální úrovni

-slice 74+13+10 bude mí stejný efekt jako -slice 74,87,97

-slice
nastavení počtu řezů na vrstvu. Mezní hodnoty jsou od 1 do 140
-size
nastavení velikosti vrstvy v bajtech ( Barevné řezy jsou do vrstvy přidávány tak dlouho, dokud není dosaženo určené velikosti. )
-bpp
nastavení velikosti vrstvy v bitech na pixel ( Dobrý výsledek dává -bpp 0.25,0.5,1 )
-percent
specifikace velikosti vrstvy procentuálně vůči celkové velikosti vstupního souboru (Pozor, výsledek se může výrazně lišit v závislosti na použitém formátu vstupního souboru. Nezapomeňte že formáty jako např. JPEG budou před konverzí dekomprimovány )
-decibel
Pozor, předcházející hodnota musí být vždy nižší než následující. (Tato volba může výrazně ovlivnit čas komprese)
-dbfrac
indikuje že hodnoty, předané parametrem -decibel mohou být vzorek.. ( Tato volba se používá souběžně s volbou -decibel. Je vhodná zvláště při kompresi souborů, které obsahují velké souvislé barevné plochy, např. obrázky s velkým bílým okrajem)

Použití masky

editovat
-mask
předávaným parametrem je cesta k černobílému PBM souboru stejných rozměrů jako je Vstupní soubor.

Maska se používá, pokud chceme komprimovat obrázek jako pozadí a odfiltrovat z něj text či kresbu, která bude ve vrstvě popředí. Každý černý pixel masky říká enkodéru, že hodnota stejného pixelu ve vstupním souboru je nepodstatná. Ten pak nahrazuje tyto odmaskované pixely barvou, která má nejmenšími nároky na enkódování.

Volby, které ovlivní výsledné barevné podání

editovat

Barevné podání lze ovlivnit nastavením sytosti barev ( chrominance ) a jasu ( luminance ). Volby které ovlivňují nastavení barev jsou:

-crcbnone
při kompresi dojde k zahození barevných složek (zůstane pouze jasová ) výsledný obrázek tak bude ve stupních šedi
-crcbnormal
barevné složky obrázku jsou kódované ve stejném poměru jako jasová
-crcbhalf
hodnota všech barevných složek je snížena o polovinu jasu
-crcbfull
nejvyšší možné nastavení kvality kódování barev ( alternativa k -crcbnormal )
-crcbdelay
Volba, jejímž parametrem je číslo, které udává počet řezů u kterých má být zredukována barevná informace (výchozí hodnota je 10), takže hodnota 0 odpovídá volbě -crcbnormal (resp. -crcbfull).
-gamma
upravuje nastavení gammy výchozího souboru. Ta by měla odpovídat hodnotě zařízení na kterém bude obrázek zobrazován. Výchozí hodnota, která by měla odpovídat standardnímu monitoru je 2.2

Volby které ovlivní defaultní zobrazení

editovat
-dpi
Rozlišení v dpi. Může se pohybovat v hodnotách od 25 do 1200 (výchozí hodnota je 100) Určuje v jaké výchozí velikosti bude soubor zobrazovat dekodér