c44 (DjVuLibre)

Z DCEwiki
Skočit na navigaci Skočit na vyhledávání

Tento DjVuPhoto enkodér do formátu IW44 slouží ke kompresi obrazové informace. 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í c44

c44 [ volby ] vstupní_soubor [ výstupní_soubor ]
Upozornění
  • 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
Upozornění Tyto volby lze kombinovat jen v omezené míře. Prioritu má vždy ta, je uvedena naposled
-slice
nastavení počtu řezů na vrstvu. Mezní hodnoty jsou od 1 do 140. DjVuPhoto soubor je logicky složen ze sekvence "řezů" (slices). Ty jsou složeny do vrstev (chunks) a z těchto vrstev se pak postupně renderuje obrázek. Prohlížeč DjVu souborů je díky tomu schopen zobrazit přinejmenším částečně obrázek již po zpracování prvního řezu. Běžná vrstva pozadí u DjVuPhoto souboru obvykle obsahuje celkem 80 až 120 řezů rozdělených do 1 až 4 vrstev.
Při zpracování přidává c44 jednotlivé řezy 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 počet řezů jednotlivých vrstev, se hodnoty od sebe oddělují buď čárkou, nebo znaménkem plus. Při použití 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
Poznámka
-slice 74+13+10

bude mít stejný efekt jako

-slice 74,87,97
  1. vrstva bude mít 74 řezů
  2. vrstva 13 řezů
  3. vrstva 10 řezů
Je-li počet řezů (a vrstev) příliš vysoký, narůstá velikost DjVu souboru
Je-li počet řezů příliš nízký, zůstávají na výsledném obraze viditelné artefakty (rozostření hran, šmouhy v obraze, atp.)
Je-li většina řezů soustředěna do první vrstvy, pak to má vliv na plynulost prohlížení, protože se obrázky renderují "skokem". Je-li naopak většina řezů soustředěna do následujících vrstev, je při prohlížení pozorovatelné postupné doostření obrazu. Ve většině případů je tedy asi nejjednodušší ponechat rozdělení řezů na automatice. Pouze v případě složitějších obrazů, jako jsou např. velké historické mapy. je asi lepší použít řezů více.
-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)
Aplikace masky
-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í

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í stránky
-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