PNG

**PNG** (lühend ingliskeelsest nimetusest **Portable Network Graphics**) on rastergraafika failivorming, mis toetab kadudeta tihendust. PNG loodi parendatud ja patendivaba asendusena GIF-vormingule. PNG on internetis kõige enam kasutatav pilditihendusvorming.

PNG toetab paletipõhiseid pilte (paletid koosnevad kas 24-bitistest RGB või 32-bitistest RGBA värvidest), hallskaalal põhinevaid kuvandeid ning täisvärvilisi mittepaletipõhiseid RGB[A] pilte. PNG kavandati, et võimaldada interneti kaudu mugavamalt pilte üle kanda. Kuna see polnud mõeldud professionaalse printimisgraafika edasiandmiseks, siis ei toeta see mitte puna-rohe-siniseid värvimudeleid nagu CMYK.

PNG-vormingus failide failinimelaiend on `PNG` või `png` ning nimelaiend `image/png`. 1996. aastal kiitis selle heaks IESG (Internet Engineering Steering Group) ning 2004. aastal avaldati see ISO/IEC standardina.

## Ajalugu
1995. aastal patenteeris IT-ettevõte Unisys GIF-vormingu poolt kasutatava Lempel-Ziv-Welch pakendusalgoritmi, mis ajendas alternatiivvormingu otsingut. Samuti puudus GIF-vormingul võimatus kuvada üle 256 värvi.

1995. aastal algatati Useneti uudisterühmas jutulõng, kus arutati GIF-vormingu võimalikku asendusvormingut. Seal tehti palju ettepanekuid, mis said hiljem PNG-vormingu osaks. Samast jutulõngast pärineb ka nimi PING (PING is not GIF) ning faililühend PNG, mida pakkus välja Oliver Fromme, DOS-operatsioonisüsteemi populaarse JPEG vaaturi QPEG looja.

Ühtlasi otsustati, et PNG ei hakka toetama animatsioone. 2001. aastal avaldasid PNG loojad uue failivormingu MNG (Multiple-image Network Graphics) spetsifikatsiooni, mis siiski võimaldas kasutada liikuvaid elemente. MNG ei leidnud laialdast toetust veebibrauserite seas ning tänapäeval on vorming enamjaolt unustatud.
* 1. oktoober 1996 – avaldati esimene PNG spetsifikatsioon (Version 1.0), hiljem ilmnes see 2083. kommentaarinõudena. PNG-vormingust sai W3C soovitus.
* 31. detsember 1998 – väikeste muudatustega avaldati spetsifikatsiooni järgmine versioon – 1.1.
* 11. august 1999 – avaldati spetsifikatsiooni versioon 1.2.
* 10. november 2003 – PNG-vormingust sai rahvusvaheline standard (ISO/IEC 15948:2003).
* 3. märts 2004 – uuendati PNG rahvusvahelist standardit ISO/IEC 15948:2004.
## Võrdlus teiste failivormingutega

### GIF (Graphics Interchange Format)
* Väikeste piltide korral saavutab GIF-vorming suurema tihenduse kui PNG-vorming.
* Välja arvatud ülaltoodud juhtumi korral on GIF-vormingus piltidel suurem failimaht kui hästi indekseeritud PNG-vormingus piltidel.
* PNG-vorming toetab GIF-vorminguga võrreldes palju laiema läbipaistvusulatuse, kaasa arvatud alfakompositsioonilist läbipaistvust.
* Kui GIF-vorming on piiratud 8-bitiga indekseeritud värvidega, siis PNG-vorming lubab kasutada palju laiemas valikus värvisügavusi, nagu 24-bitist (8 bitti kanali kohta) ja 48-bitist (16 bitti kanali kohta) True Color, toetades suuremat värvitäpsust, sujuvamaid üleminekuid jms. Juhul, kui PNG-vormingus pildile on lisatud alfakanal, võimaldab see kasutada kuni 64 bitti piksli kohta (enne tihendamist).
* Juhul, kui PNG-vormingus kasutab pilt rohkem kui 256 värvi, siis selle teisendamisel GIF-vormingusse võib kvaliteet kannatada.
* Kui GIF-vormingus piltidesse on sisseehitatud liikuvate piltide toetus, siis PNG-vorming võimaldab seda vaid mitteametlike laienduste kaudu.

PNG-vormingus piltidel on halvem toetus vanemates veebibrauserites nagu Internet Explorer 6.

### JPEG (Joint Photographic Experts Group)

Kuna JPEG-vorming kasutab kadudega kodeerimismeetodit, mis oli loodud spetsiaalselt fotograafiliste piltide jaoks, siis suudab JPEG-vorming luua väiksema failimahuga pilte võrreldes PNG-vorminguga juhul, kui tegemist on fotode ja fotodega sarnanevate piltidega. Sellistes piltides domineerivad pehmed ja madala kontrastilisusega ülekäigud. Kasutades selliste piltide jaoks kõrgekvaliteedilises JPEG-vormingus pildi asemel PNG-vormingus pilti, on tulemuseks märgatavalt suurema mahuga fail, kuid mittearvestatav pildikvaliteedi paranemine. Samas, kui salvestatavad pildid sisaldavad järske üleminekuid ning ulatuslikke ühevärvilisi osi, näiteks teksti või tasapinnagraafikat, siis võib PNG-vorming tihendada pildiandmeid isegi rohkem kui JPEG-vorming**.** Lisaks sellele tihendab PNG-vorming kadudeta, samas kui JPEG-vorming tekitab kõrgkontrastiliste alade ümber märgatavat pildimüra. Samuti ei toeta JPEG-vorming läbipaistvust.

Kuna JPEG-vorming kasutab kadudega tihendust, siis mõjutab korduvalt kodeeritud pilti genereerimiskahju, mille tõttu kaotab see iga salvestamisel informatsiooni ning pildi kvaliteedi halveneb. PNG-vorming on aga kadudeta ning sobib mitu korda muudetavatele ja salvestavatele piltidele paremini.

PNG ei toeta Exifi metaandmete talletuse vormingut. Metaandemete salvestamiseks kasutab PNG-vorming abiandmestruktuure.

Kuna esimesed veebibrauserid ei toetanud PNG-vormingus pilte, siis kasutati enamasti GIF- ja JPEG-vormingus pilte. JPEG-vormingus piltide tihendus tekitas värviüleminekutes ähmasust, mistõttu mindi üle PNG-vormingus piltidele. Uuemates veebibrauserites on kasutatud värviüleminekute loomiseks CSS-i, mistõttu PNG otsene eelis selles valdkonnas kaob.

### TIFF
TIFF (Tagged Image File Format) on vorming, mis hõlmab erakordse hulga valikuid. See teeb TIFF-vormingu kasulikuks professionaalsete pilditöötlusprogrammide vahel piltide vahendamiseks. See toob kaasa ka selle, et pilditöötlusele mittespetsialiseeritud programmid (nt veebibrauserid) ei toeta seda nii laialdaselt. Ulatuslik laiendatavus toob kaasa selle, et enamik programme ei suuda kasutada kõiki vormingu võimalusi, mis võib tekitada kasutajate seas segadust ja negatiivselt mõjutada ühilduvust.

## Tarkvaratoetus
PNG ametlik baasteostus on programmeerimisteek *libpng*. Seda avaldatakse vabavarana litsentsiga "Permissive free software license".

### Toetus pilditöötlusprogrammides
PNG-vormingut toetavad paljud pilditöötlusprogrammid, näiteks Adobe Photoshop, Photo-Paint, Paint Shop Pro, GIMP, GraphicConverter, Helicon Filter, ImageMagick, InkScape, IrfanView ning paljud muud. Samuti toetavad PNG-vormingut populaarsete operatsioonisüsteemidega kaasa tulevad Windowsi Microsoft Paint ning Apple'i iPhoto ja Preview.

### Veebitoetus
Esimesed veebibrauserid, mis toetasid PNG-vormingus pilte, olid Internet Explorer 4.0b1 ja Netscape 4.04. Vormingu omaksvõtmine oli aeglustatud, kuna Internet Exploreri algusaja versioonidel esines PNG-vormingus piltide kasutamisel palju probleeme. Tänapäeval toetavad PNG-vormingus pilte peaaegu kõik nüüdisaegsed veebibrauserid nagu Apple Safari, Mozilla Firefox, Opera, Google Chrome ja paljud teised.

### Ikoonide toetus operatsioonisüsteemides
Enamik Linuxi distributsioone toetab PNG-vormingus ikoone läbi GNOME töölauakeskkonna. Windowsis ilmus see funktsioon koos Windows Vistaga 2006. aastal. Ka Mac OS X, iOS, MorphOS ja Android toetavad PNG-vormingus ikoone.

## Viited