DjVu versus PDF

From DCEwiki
Jump to: navigation, search

Formát DjVu byl navržen pro sdílení dokumentů v elektronické podobě skrz internetovou síť. To je základní rozdíl oproti formátu PDF[1], který vytvořila firma Adobe Systems proto, aby zajistila že dokument, vytvořený s využitím jejich produktů, vypadal po vytištění vždy stejně[2] - bez ohledu na to, na které platformě byl vytvořen. U PDF (Portable Document Format), tedy nebyla směrodatná velikost elektronického dokumentu, ale jeho přenositelnost.

Pro zobrazení a následný tisk PDF nabízelo Adobe software ke stažení zdarma. Specifikace byla otevřená, takže k jejich software mohly vznikat i otevřené alternativy.

Fakt, že hotový elektronický dokument v PDF formátu lze dodatečně upravovat jen v omezené míře, vedl k tomu, že se tento formát začaly firmy hojně používat k elektronickou dokumentaci svých produktů.

Čím se liší PDF od DjVu?

Základem PDF formátu je postscript - jazyk, kterým umí komunikovat počítač s tiskárnou. Proto má PDF - podobně jako postscript - lineární zápis i čtení. Prohlížečka ze souboru postupně načítá a vykresluje jednotlivé objekty, specifikované pomocí atributů a souřadnic. Objektem může být:

  • postscriptový obrazec
  • formátovaný text
  • nebo bitmapový obrázek

Pokud PDF obsahuje pouze kolekci postscriptových ilustrací a formátovaný text, je výsledný soubor poměrně malý a vyrenderování obrazu rychlé. Prohlížečka vykreslí obrázky a ke zobrazení textu použije předepsanou znakovou sadu (font). Takový dokument může být dokonce mnohem menší a vizuálně kvalitnější než DjVu dokument se stejným obsahem. PDF soubor totiž obsahuje v postatě to samé, co počítač při tisku posílá na tiskárnu.

Jenže font, použitý v takovém PDF souboru nemusí být k dispozici na každém počítači. Proto PDF od verze 1.3 umožňuje textový obsah uložit několika různými způsoby:

  • formátovaný text + použitý font[3] - v takovém případě však má každý takový 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ů

Pokud PDF obsahuje textový obsah ve formě bitmapového obrázku[4], jeho objem naroste. Každý obrázek je v PDF uložen jako samostatný objekt - včetně formátu. Do r. 2001 bylo možné použít buď TIFF, GIF nebo ztrátový JPEG. Bitmapový obrázek se do PDF souboru ukládá v takovém rozlišení, které odpovídá cílovému určení dokumentu. Čím má vyšší dpi (počet bodů na palec) tím víc detailů se při tisku zachová. Ovšem objem uložených dat s vyšším dpi kvadraticky stoupá.

Lidské oko je schopné rozeznat detaily zhruba v rozmezí od 300 do 600 dpi. Takže dokumenty, určené k tisku by měly mít uloženy obrázky nejméně v rozlišení 300dpi. Je-li však PDF dokument určen pouze ke čtení na monitoru, je tak velké rozlišení zbytečné. Do nedávna totiž většina monitorů ani nebyla schopna víc než 100 dpi vůbec zobrazit.

Takže i když na první pohled vypadá stránka PDF souboru v prohlížečce stejně, může se jeho vnitřní struktura značně lišit - v závislosti na tom, pro jaký účel byl dokument vytvořen.

U archivních dokumentů, které tvoří prakticky výhradně naskenované stránky, dnes nabízí PDF v podstatě totéž co DjVu, ovšem s tím rozdílem, že soubor se stejným obsahem je mnohonásobně větší a jeho zpracování v prohlížečce pomalejší.

Proč je DjVu pro práci s archivními dokumenty lepší

U vícestránkového DjVu dokumentu je každá stránka samostatný objekt, který je složen z několika vrstev dalších objektů - viditelný obraz vzniká až jejich sloučením:

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

Dokument zpracovaný do DjVu formátu bude vždy menší než v PDF, protože neexistuje takový algoritmus pro uložení bitmapového obrázku, který by dokázal skloubit:

  • rychlou dekompresi uložených dat
  • vysoký kompresní poměr
  • nízké zatížení procesoru v průběhu dekomprese
  • minimálně obsazenou pamě%t

Wavelet komprese

Naproti tomu obrazová vrstva DjVu je složena z několika barevných vrstev. Z nichž každou tvoří shluky skvrn komprimovaných wavelet kompresí. Takové shluky se dají matematicky popsat, takže je lze dobře komprimovat.

Maska

Obrazové formáty JPEG2000, a JBIG2, se kterými pracuje PDF, využívají stejně jako DjVu wavelet kompresi ale jsou náročnější při dekompresi na výkon procesoru protože se v paměti pracuje s celým bitmapovým obrázkem ve velkém rozlišení. Takže se jednotlivé stránky vykreslují velmi pomalu.

Trumfem v rukávu (a patentově chráněnou technologií) je u DjVu 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 stejně, jako by šlo o spojitou barevnou plochu. Místo mnoha členitých křivek se tak vektorově popíše jedna spojitá barevná plocha, která se uloží jako pozadí (background). A data odfiltrovaná pomocí masky se uloží do popředí (foreground).

Maska (mask) samotná je čistě černobílá, uložená v samostatné vrstvě. Hyperlinky, textové poznámky a další doplňkové informace jsou uloženy ve skryté textové vrstvě.

Obrazová vrstva složená z barevných skvrn

DjVu principiálně vychází z toho, že u archivního dokumentu nás většinou víc zajímá informace, kterou nese text, než jak vypadá struktura a zažloutlé okraje papíru, na kterém je napsaný. Takže nás tolik nebolí, že se z obrazu nepodstatné detaily vytratí, hlavně že je zachován tištěný či psaný text.

Vrstvy popředí a pozadí', získané po separaci s využitím masky se rozdělí na další vrstvy vektorově popsaných barevných skvrn. Takto popsané objekty, není problém zvětšovat, takže i při zvětšení obrazové vrstvy nevzniká problém s rychlostí při vykreslování obrazu.

U DjVu formátu je vždy nutné počítat s tím, že se při konverzi část obrazové informace ztratí, proto je občas třeba zvolit při konverzi optimální postup. Ale o tom více v kapitolách věnovaných anatomii DjVu souborů a konverzi do DjVu.

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

Když v roce 2001 firma Lizardtech uvolnila formát DjVu pro volné použití pod GPL2 licencí. Umožnila tímto krokem vývoj DjVuLibre - open source nástrojů a knihovny pro práci s DjVu, kterou dnes využívá k renderování DjVu stránek většina 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 orientoval výhradně na oblast proprietárních operačních systémů MS Windows a Mac OS X. Každý uživatel opensource tak díky němu má možnost nejenom DjVu dokumenty číst, ale také vytvářet a upravovat v nich uloženou textovou vrstvu.

Vzhledem k tomu, jak byl DjVu formát navržen, lze díky čím dál lepším open source nástrojům znovu zpracovávat i staré DjVu dokumenty a dodatečně do nich doplnit chybějící metainformace a textová data.

Pokud jde o PDF, byla situace z hlediska zpracování textového obsahu dlouhé roky naprosto tristní, neboť s výjimkou komerčního balíku Adobe Acrobat dlouho nebyl k dispozici nástroj, který by umožnil editaci textové vrstvy a 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 nenabízí ani zdaleka takové možnosti jako DjVu.

PDF či DjVu?

Pro dlouhodobou archivaci má jednoznačně smysl mít naskenované stránky uložené v PDF souboru, ale pro zpřístupnění dokumentu k dalšímu bádání je jednoznačně lepší, je-li ve formátu DjVu.

  1. První verze PDF formátu se objevila v roce 1993, tedy o tři roky dříve, než začal vývoj DjVu ve firmě AT&T Laboratories.
  2. Fa. Adobe Systems vyvíjela software jak pro Mac OS X, tak MS Windows ale u každého z nich se tisk řešil jiným způsobem. U Apple šli cestou lokálního tiskového serveru CUPS, který se dnes používá i u jiných unixových systémů. U Microsoftu závisela výsledná podoba tisku na konstelaci lokální instalace - dostupných fontech, aplikaci a ovladači tiskárny.
  3. Verze 1.3 (z r. 2000) pracovala pouze s CID fonty. TrueType a OpenType fonty podporuje PDF až od verze 1.6, uvedené v r. 2004
  4. Takový PDF dokument se již nedá znovu editovat, a pokud nemá skrytou textovou vrstvu, ani prohledávat. Skrytá textová vrstva, jako má DjVu, byla do specifikace PDF zahrnuta až od rozšířené verze 1.7 v r. 2008.