![]() Specializovaný týdeník o výpočetní technice o Internetu (CW 4/97) PNG -- nový grafický formát nejen pro WebJiří Kosek ml.
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 objekty je použití JPEGu nevhodné, protože dochází k velkému zkreslení původní 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. K dalším nevýhodám GIFu patří skutečnost, že je patentován a vývojáři softwaru 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:
* obrázky s barevnou paletou až do 256 barev;
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ří:
* obrázky TrueColor s až 48bitovou hloubkou; 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 na 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 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
Má PNG budoucnost? Podle vlastností PNG můžeme jistě tvrdit, že to je velmi pokrokový grafický formát. Historie nás však 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 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 včetně Microsoftu. Jestliže chce MS ve svém Office 97 použít PNG jako stěžejní rastrový grafický formá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.
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. To znamená, ž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 scanner, 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 scanneru a 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
"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
| <<< | CW o Internetu | COMPUTERWORLD | IDG CZ homepage | |