DjVu versus PDF

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

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. 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.

Čí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 xx umožňuje 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, i když na první pohled vypadá stránka PDF souboru prohlížečce stejně, může se vnitřní struktura značně lišit - v závislosti na tom, pro jaký účel byl PDF dokument vytvořen. Celkový objem uložených dat tak ovlivňuje jaká data a v jaké formě jsou v dokumentu uložena. Záleží na aplikaci, která PDF dokument ukládá a možnostech jejího nastavení.[3] 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 tak velký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.
U DjVu dokumentu je každá stránka samostatný objekt, který je složen z několika vrstev - 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.
Co do objemu dat, je stránka zpracovaná do DjVu vždy menší než u bitmapového PDF, protože výsledný obraz je složen z několika vrstev. Z nichž každou tvoří shluky barevných skvrn komprimovaných wavelet kompresí. Takový způsob komprese je z principu ztrátový, což ovšem uz hlediska zachování obsahové informace nevadí. Naopak použití barevných skvrn, které jsou popsané jako křivky je výhodné při zvětšování obrazu, protože popis křivky je vždy stejný, bez ohledu na zvětšení obrazu.
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ý. Při konverzi do DjVu formátu je nutné počítat s tím, že se tato část obrazové informace ztratí, proto je občas třeba při konverzi volit optimální postup - kupř. u stránek s obrázky, s barevným pozadím, apod. DjVu není vhodný formát pouze v tom případě, kdy tuto informaci naopak chceme zachovat.

DjVu nebo PDF?

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 budování internetových sítí začal na přelomu 20 a 21. století. Kdy už se do povědomí uživatelů zafixovalo PDF. Proto jen málokoho dnes napadne, že by dokumenty mohly být uloženy i v jiném, pro internetové použití mnohem vhodnějším formátu.

Teprve rozvoj mobilních sítí a zařízení přitáhnul zájem k DjVu. Vzhledem k jejich omezení datového toku totiž záleží na každém přeneseném bajtu, a DjVu má z principu mnohem lepší kompresní poměr, než PDF[4]

U DjVu formátu který používá wavelet 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, stejně 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 uložená 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. Ale zároveň i vytvoření svobodných nástrojů pro konverzi naskenovaných dokumentů do tohoto formátu.

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 linuxového systémudíky tomu má nejenom možnost DjVu dokumenty číst, ale také vytvářet, a 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 dodatečně zpracovávat staré DjVu dokumenty a doplnit do nich s jejich pomocí dosud chybějící metainformace a textová data.

Pokud jde o PDF, byla kolem r. 2006 situace pokud jde o editaci textového obsahu (nikoliv manipulaci se stránkami dokumentu) naprosto tristní, neboť s výjimkou komerčního balíku Adobe Acrobat 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ést takové možnosti jako nabízí DjVu. Pro dlouhodobou archivaci má smysl mít naskenované stránky uložené v PDF souboru, ale pro zpřístupnění dokumentu k další bádání je vhodnější 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. 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.
  4. Jsou-li data přenesena v komprimované podobě, zabere to mín času a zároveň i ukousne menší díl datového limitu. 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á).