DjVu versus PDF

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

DjVu bylo již na počátku navrženo jako formát pro elektronickou konzervaci dokumentů, vhodný pro sdílení dat prostřednictvím internetu. To je základní rozdíl oproti formátu PDF[1].

Ten nevzniknul pro archivační účely, ani pro účely sdílení dokumentů po síti, ale proto, že firma Adobe Systems, která vyvíjela grafický software pro obě v tehdejší době dominantní platformy - Mac OS X a MS Windows potřebovala formát, který by zajistil, že vytištěný obsah bude vypadat identicky, bez ohledu na to, na které platformě byl dokument vytvořen.

Primárním účelem formátu PDF (Portable Document Format), tedy bylo zajistit přenositelnost vytvořeného dokumentu. Základem formátu se stal postscript - jazyk, kterým umí komunikovat počítač s tiskárnou.

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. Podstatný byl fakt, že dokument uložený v PDF formátu lze jen v omezené míře upravovat, takže se tento formát hojně využíval pro dodávanou elektronickou dokumentaci k software jiných firem.

Rozdíl mezi DjVu a PDF

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

  • Základem je obrazová vrstva (složená z několika dalších 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.

PDF má - podobně jako postscript - lineární zápis. Tj. prohlížeč PDF ze souboru postupně načítá a vykresluje jednotlivé objekty. Ty tvoří jsou specifikované pomocí souřadnic a atributů. Objektem může být:

  • postscriptový obrazec
  • text
  • bitmapový obrázek

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. Obrázek je v PDF uložen jako samostatný objekt - včetně formátu. To mohl být do r.2001 buď TIFF, GIF nebo ztrátový JPEG. Obrázek se do souboru ukládá v rozlišení, které odpovídá cílovému určení dokumentu. Čím vyšší dpi tím více detailů zachová obrázek, ale o to větší je pak 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 PDF dokument vytvořen. I když na první pohled vypadá výsledek v PDF prohlížeči stejně, ovlivňuje to, jak jsou v něm data uložena, velikost výsledného souboru. Záleží tedy na aplikaci, která PDF dokument ukládá a možnostech jejího 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.


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.

  1. První verze PDF formátu se objevila v roce 1993, tedy o tři roky dříve, nežli ve firmě AT&T Laboratories vývoj DjVu započal.