DjVu versus PDF

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

DjVu bylo - na rozdíl od známějšího formátu PDF - od samého počátku navrženo jako formát pro elektronickou konzervaci dokumentů, vhodný pro sdílení prostřednictvím internetu.

U DjVu dokumentu je každá stránka samostatný objekt, který - na rozdíl od PDF - je složen z několika vrstev:

  • Základem je obrazová vrstva (složená opět z několika vrstev), která je přítomna vždy.
  • Kromě ní může být přítomna i textová vrstva s metadaty, hyperlinky, skrytým textem obsahu stránky a poznámkami.

Co do objemu dat, je taková stránka vždy menší než u PDF, protože výsledný obraz netvoří jednotlivé pixely, s barevnou informací, ale shluky barevných skvrn komprimovaných wavelet kompresí. Tento typ komprese je z principu ztrátový, což ovšem u barevných skvrn, které nemají přesné hranice až tak nevadí. Naopak je to velice výhodné při zvětšování obrazu, protože popis skvrny je vždy stejný, bez ohledu na zvětšení.

U archivovaných dokumentů nás také většinou víc zajímá informace, uložená v textu, než struktura a zažloutlé okraje papíru, který ji nese. Tato obrazová informace se při konverzi do DjVu formátu z větší části ztratí. DjVu není vhodný formát pouze v tom případě, kdy tuto informaci naopak chceme zachovat.

Když na velikosti souboru nezáleží...

PDF není objektový formát, ale má - podobně jako postscript - lineární zápis. Tj. prohlížeč PDF souborů postupně načítá a vykresluje jednotlivé stránky dokumentu. Ty tvoří objekty specifikované pomocí souřadnic a atributů na stránku. Objektem může být:

  • postscriptový obrazec
  • text
  • bitmapa

Je-li PDF dokument vytvořen z postscriptových ilustrací a textu, tak prohlížeč vykreslí obrázky a pro zobrazení textu použije předepsanou znakovou sadu (font). Takový dokument je co do množství dat poměrně malý - může být dokonce mnohem menší, než DjVu dokument. Protože obsahuje v postatě to samé, co se posílá na tiskárnu, odpovídá výsledek kvalitou finálnímu tisku.

Jenže ne všude musí být odpovídající font k dispozici. Aby tedy bylo při zobrazení i tisku dokumentu zajištěn identický vzhled dokumentu, bylo PDF navrženo tak, aby do něj bylo možné textový obsah uložit několika různými způsoby:

  • text + použitý font - v takovém případě však má každý takto vytvořený PDF soubor v sobě uloženy kopie všech použitých fontů.
  • jednotlivá písmena textu jako postscriptové obrázky - to může být výhodné, pokud dokument používá hodně fontů a má hodně textu.
  • celá stránka jako postscriptový obrázek - se vyplatí pokud je na stránce málo textu, ale mnoho různých fontů

Ještě víc objem PDF dokumentu naroste, pokud obsahuje bitmapové obrázky. Ty se do něj ukládají v kvalitě, která odpovídá určení dokumentu. Čím vyšší dpi musí mít obrázek, tím větší je objem uložených dat.

  • Lidské oko je schopné rozeznat od 300 do 600 dpi. Takže dokumenty určené k tisku by měly mít obrázky nejméně v rozlišení 300dpi.
  • Je-li dokument určen pouze pro čtení na monitoru, je zbytečné aby měly obrázky vyšší rozlišení než 100dpi, neboť donedávna nebyly ani monitory s dpi vyšším než 100dpi vůbec k dispozici.

Jak vidno, vnitřní struktura PDF dokumentu se tak může značně lišit podle toho, pro jaký účel byl takový dokument vytvořen, přestože na první pohled vypadá výsledek v prohlížeči stejně. Jakým způsobem budou data uložena do PDF a jak pak bude tím pádem velký výsledný soubor pak záleží na aplikaci, která PDF dokument ukládá a jejím nastavení.

Například dokument uložený do PDF rovnou z OpenOffice.org, nebo vytištěný přes CUPS-PDF bude malý, protože se při tom text neukládá jako vyrenderovaný obrázek, ale přímo jako text. Ovšem pokud si takový dokument otevře na svém stroji někdo, kdo nemá nainstalované použité písmo, které bylo použito při generování PDF dokumentu, uvidím místo textu jen hromadu čtverečků. Tomu lze zabránit právě tím, že se k PDF dokumentu nechá přibalit i font. Ovšem tím objem dat pochopitelně nabobtná.

To není nutné, pokud se zvolí aby se jednotlivé znaky vyrenderovaly jako obrázky. Jenže, takový PDF dokument se již nedá znovu editovat, ani prohledávat. Proto byla do PDF rovněž implementovaná skrytá textová vrstva, jako má DjVu.

Pokud se celý dokument uloží do PDF, kdy co stránka, to obrázek - což se často dělá, pokud obsahuje nějaké podpisy, razítka, atp. soubor ještě víc nakyne - možnost jeho fulltextového prohledávání zůstane zachována, pouze tehdy, pokud do něj aplikace vloží do skryté vrstvy i text.

U archivních dokumentů, které tvoří prakticky výhradně naskenované stránky nabídne PDF v podstatě to samé co DjVu, ovšem s tím rozdílem, že je výsledný soubor mnohonásobně větší a jeho zpracování v prohlížeči PDF souborů pomalejší.

Je to z toho důvodu, že kompresní algoritmy, které používá pro uložení bitmapových obrázků mají své limity.

Velikost PDF souboru se stejným obsahem jako má DjVu soubor o velikosti několika megabajtů, tak může kolísat od několika desítek až po několik set megabajtů. Práce s takovými soubory je pak přinejmenším nepohodlná:

  • Renderování stránek užírá paměť a výkon procesoru
  • a při velkých datových objemech již může hrát nezanedbatelnou roli datová propustnost sítě, resp. datové sběrnice.

Proč většina lidí ví pouze o PDF...

V dobách, kdy se začalo masově šířit PDF tomu bylo jinak. Dnešní svět PC je v podstatě rozparcelován a IT prostředí ve firmách a institucích z hlediska použitých operačních systémů homogenizované. Tehdy ovšem byl software byl poměrně nákladnou záležitostí a kvalitní aplikace neexistovaly pro všechny operační systémy. Víc než potřeba dokumenty sdílet prostřednictvím internetu tedy pálila firmy potřeba mít dokument identicky vytištěný, bez ohledu na to, ve kterém prostředí OS byl tisk realizován.

Firma Adobe Systems, která vyvíjela svůj špičkový software pro Mac OS X a MS Windows proto přišla se svým formátem PDF, který oproti DjVu umožňoval použít také bezztrátovou kompresi. Wavelet komprese, použitá u DjVu navíc byla patentově chráněna, což vylučovalo její implementaci do PDF.


Jak PDF ovládlo pole

Připojení k internetu svižnou linkou se stalo běžným standardem poměrně nedávno. Data k tisku se proto přenášela prostřednictvím jiných médií. Zpočátku na disketách, pak - jak přibývalo v dokumentech grafiky - na CD a donedávna pomocí USB klíčenky.

Prudký rozvoj internetových sítí přišel v době poměrně nedávné, kdy už se do povědomí uživatelů tvrdě zadřelo PDF. Proto jen málokoho napadlo že by dokumenty mohly být uloženy i v jiném, pro internetové použití mnohem vhodnějším formátu.

DjVu se vrací na scénu

Teprve rozvoj mobilních sítí a zařízení znovu vyvolal zájem o DjVu. Vzhledem k jejich omezení datového toku totiž záleží na každém přeneseném bajtu, proto je vhodné když jsou data přenášena v komprimované podobě a rozbalí se až v prohlížeči. Poměru mezi objemem dat před rozbalením a po rozbalení se říká kompresní poměr. Běžné kompresní metody (které používalo PDF) ať již bezztrátové, nebo ztrátové nemohly z hlediska kompresního poměru konkurovat wavelet kompresi. Proto Adobe začalo do PDF implementovat wavelet kompresi JPEG-2000 (od Adobe Acrobata verze 6), ovšem kvůli zachování kompatibility se staršími prohlížeči se u většiny PDF dokumentů stejně používá klasická komprese na bázi LZW (bezztrátová) nebo JPEG (ztrátová).

U DjVu formátu je použití wavelet komprese jedním ze základních kamenů. Při této kompresi se nepracuje s bitmapovou verzí obrázku, obrázek je složen z barevných plošek, definovaných vektorovým popisem jejich okraje. Dalším tajným trumfem v rukávu (a patentově chráněnou technologií) je použití masky při kompresi. Zjednodušeně řečeno. Před kompresí jsou odfiltrovány pomocí masky kontrastní plochy, takže s výsledkem je pak možné naložit, jako by šlo o spojitou barevnou plochu. Místo mnoha členitých křivek je tak komprimovaná jedna spojitá, která je uložena jako pozadí (background). Data odfiltrovaná pomocí masky se pak komprimují do oddělené vrstvy popředí (foreground). Maska samotná je čistě černobílá a je uložena rovněž v samostatné vrstvě. Hyperlinky, textové poznámky a další doplňkové informace jsou uloženy ve skryté textové vrstvě.

Nejsilnější argument - práce s poznámkami a vloženým textem

V roce 2001 došlo k zásadnímu průlomu. Firma Lizardtech, vědoma si možností open source tehdy uvolnila formát DjVu pro volné použití pod GPL2 licencí. Umožnila tím vývoj svobodné knihovny DjVuLibre, kterou využívá pro renderování DjVu stránek většina současných open source prohlížeček.

Léon Bottou, který byl jedním z otců formátu DjVu, tak mohl vytvořit a dát do pléna nástroje, srovnatelné s původním komerčním produktem, který se orientuje na oblast proprietárních operačních systémů MS Windows a Mac OS X. Každý tak má možnost dokumenty DjVu nejenom vytvářet, ale také upravovat v nich uložené textové informace.

Vzhledem k tomu, že se vlastní formát nemění, lze díky čím dál lepším open source nástrojům i dodatečně zpracovat staré DjVu dokumenty a doplnit jejich pomocí dosud chybějící metainformace a textová data.

Pokud jde o PDF, byla zhruba před čtyřmi lety (r. 2006) situace pokud jde o editaci textového obsahu (nikoliv manipulaci se stránkami dokumentu) u PDF naprosto tristní, neboť s výjimkou komerčního Adobe Acrobata nebyl k dispozici žádný nástroj, který by usnadnil orientaci v textové vrstvě a zjednodušil u těchto dokumentů vkládání hypertextových odkazů a poznámek.

V současné době sice již takové nástroje existují, ovšem vzhledem k vlastnostem formátu PDF jejich použití nemůže ani zdaleka přinášet uspokojivý výsledek. Proto je mnohem efektivnější PDF dokumenty určené k elektronické archivaci převádět do DjVu a dále již pracovat s tímto formátem.