PNG
nový grafický formát nejen pro Web

JIŘÍ KOSEK ml.

Při svých toulkách Webem jste jistě narazili na množství obrázků. Převážná většina z nich byla ve formátu GIF nebo JPEG -- to je tím, že ve standardech definujících jazyk pro tvorbu Webovských stránek je doporučeno používání právě těchto dvou formátů. To se však brzy změní, protože 1. října vydalo konsorcium W3C jako své doporučení popis nového formátu grafických souborů PNG (Portable Network Graphics).

Jak již ze stránek CW možná víte, W3C konsorcium je organizací, jejímiž členy jsou přední firmy, které se pohybují v oblasti informačních a komunikačních technologií. Právě toto konsorcium se stará o koordinaci vývoje a standardizaci nejpopulárnější internetové služby World-Wide Web.

Jistě oprávněně vás napadne, proč potřebujeme další grafický formát? To se vám pokusím ozřejmit ve zbytku článku, kde se seznámíme s nejdůležitějšími vlastnosti PNG [čti ping] a porovnáme je s možnostmi současně používaných grafických formátů GIF a JPEG.

PNG je náhradou za GIF

Již zkraje si musíme říci, že PNG není zamýšlen jako náhrada nebo alternativa k JPEG. JPEG je grafický formát, který používá ztrátovou kompresi, tj. obrázek uložený v souboru je trošku odlišný od původního obrázku. Za takto zaplacenou daň získáme mnohem lepší kompresní poměry. Změny oproti originálu u souborů JPEG poznáme zejména na obrázcích, které obsahují nějaké pravidelné geometrické útvary např. obrázky vzniklé raytracingem -- pro tyto obrázky je použití JPEGu nevhodné, protože dochází k velkému zkreslení původní obrazové informace. Naproti tomu na fotografii rozkvetlé louky ani nepoznáme, že se nějaké informace z obrázku vytratily -- formát JPEG využívá nedokonalostí lidského oka k tomu, aby mohl obrázek zmenšit na minimum. Vidíme tedy, že JPEG se hodí pouze pro některé druhy obrázků -- zejména pro fotografie. (Na tomto místě se musím omluvit za drobnou nepřesnost v pojmech -- hovořím o formátu JPEG, ale ve skutečnosti je JPEG pouze název kompresní metody. Obrázky, které jsou uloženy v souborech s příponou jpg nebo jpeg jsou ve formátu JFIF, který využívá kompresní metodu JPEG. Mezi veřejností se však zkratka JPEG zažila i pro označení formátu souboru.)

Formát JPEG podporuje TrueColor obrázky, ale jak jsme si již řekli, je nevhodný např. pro obrázky vzniklé raytracingem. Tyto obrázky většinou obsahují také velké množství barev a pro své uložení vyžadují formát, který podporuje TrueColor. GIF bohužel takovýmto formátem není, protože podporuje obrázky maximálně s 256 barvami. Vidíme, že zde vzniká mezera, kterou je potřeba nějak zaplnit.

Další nevýhodou GIFu je to, že je patentován a vývojáři software musí platit poplatky za používání formátu GIF ve svých programech.

Formát PNG je tedy zamýšlen jako náhrada GIFu. Zahrnuje v sobě následující vlastnosti GIFu:

Vylepšení PNG oproti GIFu

Kromě toho, že PNG zahrnuje vlastnosti, díky kterým se GIF stal velice oblíbený, splňuje PNG i náročné požadavky dnešní doby, která se nese ve znamení multimédií. Mezi největší novinky PNG patří:

Ne nepodstatnou výhodou PNG je to, že není chráněn žádným patentem a může být proto volně používán.

Kompresní metody použité v PNG dosahují často lepších výsledků než GIF a navíc mají ještě jednu zajímavou vlastnost -- jsou nesymetrické. To znamená, že komprese obrázku zabere déle času na úkor rychlejší dekomprese -- to je ve Webu výhodné, protože zde je obrázek jednou vytvořen autorem stránky a poté je mnohokrát načítán uživateli.

Hitem posledního roku na Webu jsou různé vyhledávací stroje. Současné formáty grafických souborů v sobě neobsahovaly textovou informaci, kterou by šlo nějak jednotně interpretovat a použít ji při vyhledávání. V tomto směru přináší PNG další novinku. Kromě uživatelsky definovaných textových polí jsou standardně k dispozici tato pole:

Title Název obrázku
Author Jméno tvůrce obrázku
Description Popis obrázku
Copyright Informace o copyrightu
Creation Time Čas vytvoření obrázku
Software Identifikace programu, který obrázek vytvořil
Disclaimer Poučení o autorských právech
Warning Varování o obsahu obrázku
Source Zařízení použité pro vytvoření obrázku
Comment Komentář k obrázku

PNG budoucnost?

Podle vlastností PNG můžeme jistě tvrdit, že to je velmi pokrokový grafický formát. Historie nás již poučila, že se novinky, i když jsou dokonalé, ne vždy ujmou. Ve prospěch PNG však hovoří mnoho faktorů. Za prvé PNG není úplná novinka. I když své doporučení vydalo W3C až v říjnu letošního roku, je definitivní popis formátu PNG k dispozici již více než rok a půl a mnoho grafických programů jej podporuje (na letošním Invexu mě překvapilo, že PNG je podporován i v původním českém grafickém editoru Callisto).

Poněkud horší situace je na scéně prohlížečů. Z těch známějších plně podporují PNG pouze Mosaic, Amaya a Arena (poslední dva jsou prohlížeče vyvíjené v rámci W3C konsorcia). Navigator a Explorer obsahují podporu PNG jen částečně -- pomocí plug-in modulů a nestandardních prvků jazyka HTML. Vzhledem k tomu, že Netscape a Microsoft jsou členy W3C, je však velmi pravděpodobné, že nejnovější verze jejich prohlížečů budou podporu PNG zahrnovat.

Druhým faktorem, který mluví pro PNG je jeho pozitivní přijetí velkými softwarovými firmami a to včetně Microsoftu. Jestliže chce MS ve svém Office 97 použít PNG jako stěžejní rastrový grafický formát (viz citát), má PNG jistě zelenou. Vzpomeňme si, co prohlašoval MS před rokem. Tehdy uvolnil tiskové zprávy o tom, že v nových verzích produktů bude nápověda založena na HTML. Ani ne rok potom jsou všechna CD s propagačními i technickými informacemi, které vám poskytnou mnohé firmy, zpracována právě v jazyce HTML.

Další informace o PNG naleznete na serveru W3C: http://www.w3.org nebo na domovské stránce PNG: http://quest.jpl.nasa.gov/PNG. S autorem článku se můžete spojit přes e-mailovou adresu jirka@kosek.cz.


Slovníček pojmů

alfa-kanál
Tímto pojmem se označují části obrázků, které jsou do jisté míry průhledné. GIF umožňuje pouze úplnou průhlednost. PNG nabízí alfa-kanál. Znamená to, že u každého bodu obrázku může být určeno z kolika procent je průhledný. 100% průhledný bod je transparentní stejně jako v GIFu. 0% průhledný bod je vlastně úplně neprůhledný. Jiná velikost průhlednosti způsobí, že pod transparentním bodem více či méně prosvítá pozadí obrázku.
gama-korekce
Tento údaj specifikuje parametr jisté korekční funkce, která je ve tvaru: výstup=vstupgama. Tato funkce platí např. pro obrazovku, kde se napětí převádí na intenzitu svitu jednotlivých bodů obrazovky nebo pro skener, kde probíhá přesně opačný proces. Každý takovýto převod má svůj vlastní gama-koeficient. Aby bylo podání kontrastu obrázku správné, je zapotřebí, aby výsledný koeficient gama, který začíná někde u skeneru, pokračuje přes editační grafické programy až na obrazovku, byl roven přibližně 1. Pokud je v souboru PNG uložen gama-koeficient, který vznikl při tvorbě obrázku, a prohlížeč zná gama-koeficient obrazovky, může upravit kontrast obrázku tak, aby výsledek vypadal co nejvěrněji -- této úpravě se říká právě gama-korekce.
barevná hloubka
Nejčastěji se udává se v bitech na pixel. Znamená to, kolik bitů je vyhrazeno pro přenos barevné informace o jednom bodu. Je-li barevná hloubka n, pak počet různých barev pro jeden bod je 2n.

Druhy obrázků podporované v PNG

* obrázky s 2, 4, 16, 256, 65 536 odstíny šedi

* obrázky TrueColor -- s hloubkou 24 nebo 48 (!) bitů

* obrázky s barevnou paletou o velikosti 2, 4, 16 nebo 256 položek -- (jednotlivé položky palety jsou definovány jako trojice 8bitových intenzit složek R,G a B)

* obrázky s 256 nebo 65 536 odstíny šedi a s alfa-kanálem

* 24- nebo 48bitové obrázky TrueColor s alfa-kanálem


"Jsme přesvědčeni, že PNG nabízí v současnosti nejlepší bezztrátový formát pro grafický design Webu. Těší nás, když vidíme, jak naši členové přijímají nový formát a pomáhají mu stát se průmyslovým standardem."

-- Tim Berners-Lee, ředitel konsorcia W3C


"Microsoft Office 97 používá PNG jako nativní bezztrátový grafický formát. PNG nám umožnil drasticky snížit velikost souborů s grafikou a umožnil nám implementovat transparentnost v naší nové komponentě OfficeArt. Protože je PNG malý a na platformě nezávislý formát, umožňuje uživatelům Officu jednoduchou výměnu grafických dokumentů po celém Webu."

-- Jon DeVaan, víceprezident vývoje Office, Microsoft Corporation

© Jiří Kosek 1999