PNG
A Wikipédiából, a szabad lexikonból.
Fájlkiterjesztés: | .png |
---|---|
MIME-típus: | image/png |
Fejlesztő: | W3C |
Type code (Mac OS): | PNGf |
Formátum típusa: | képformátum |
PNG (kiejtése: "ping"] (Portable Network Graphics) képek tárolására, veszteségmentes tömörítésére alkalmas fájlformátum. Kiterjesztésként a .png írásmóddal használják.
Tartalomjegyzék |
[szerkesztés] Jellemzése
A PNG egy viszonylag fiatal fájlformátum, a GIF utódjaként emlegetik. Elsősorban a számítógépes hálózatokban lévő képek átvitelére szolgál. Tömörítésre nem az LZW algoritmus használatos (mint a GIF formátumnál), ugyanis kifejlesztésének egyik lényege ennek elkerülése volt, mivel az algoritmus jogi oltalom alatt álló eljárásokat tartalmazott; emiatt a PNG elsődlegesen a deflation nevű algoritmust (az LZ77 egy módosított változatát) használja (a "zlib" programkönyvtár segítségével).
[szerkesztés] Előnyei
A PNG számos előnnyel rendelkezik a GIF-hez képest:
- alfa csatornákkal, ami a fokozatosan átlátszó képeket teszi lehetővé,
- gamma korrekcióval, ami a képek fényességét (elméletben) függetleníteni tudja a megjelenítéstől (tehát a színek ugyanúgy néznek ki nyomtatásban, és eltérő képességű kijelzőkön),
- kétdimenziós fokozatos kijelzés,
- támogat indexelt, szürkeskálás (16 bitig) és true color (48 bitig) formátumot,
- hasonló, vagy jobb tömörítés.
A PNG a GIF-fel szemben nem támogatja a több képet tartalmazó állományokat (erre az MNG való, a PNG-hez hasonló formátum).
[szerkesztés] Fokozatos megjelenítés
A PNG egyik újdonsága a képek fokozatos megjelenítésének új módja (ennek neve Adam-7), ami lehetővé teszi, hogy lassú átvitel vagy nagy méretű kép esetén már a letöltés elején látni lehessen elnagyoltan (kis felbontásban) a kép tartalmát, ami a letöltés előrehaladtával fokozatosan nyeri el részletgazdagságát.
A GIF kétmenetes megjelenítése a kép egynyolcadának megérkezése után mutat először teljes, elnagyolt képet, és a következő fázist csak a teljes kép megérkezése után kapjuk meg. Az elnagyolt kép esetén a torzítás 8:1-hez, a képből csak "csíkok" látszanak.
A PNG ezzel szemben a kép 1/64-edének megérkeztekor már képes hozzávetőleges képet mutatni, ráadásul a képpontok nem torzítanak többet, mint 2:1, vagyis a durva kép egyenletesen tartalmazza a végleges képet.
Az illusztráció mutatja a képpontok (pixel) megérkezésének sorrendjét: minden olyan pixel, ahova még nem érkezett adat általában a tőle balra és felfelé eső már ismert pixel színét kapja (de lehetséges a fraktál-tömörítéshez hasonlóan átmeneteket generálni az ismert pixelek színei között), így az első fázisban (harmadik kis kép) az egész kép "citromsárga", a negyedikben a bal fele "citrom", a jobb fele "narancs", az ötödikben a negyedek sorban: citrom, narancs, kék és másik kék, és így tovább. (A golyók színei nem a pixelek színét, hanem az "egyszerre (egy fázisban) érkező pixeleket" mutatják.)
[szerkesztés] Előfeldolgozott pixelek
A PNG további újítása az, hogy minden képpont (pixel) elő-feldolgozott. Öt módszer van erre definiálva:
- 0. típus, (NONE), nincs sehogy módosítva,
- 1. típus, (SUB), az adott és a megelőző bal oldali képpont közti különbség tárolt,
- 2. típus, (UP), az adott és az előző felső soron lévő (tehát a jelenlegi felett lévő) képpont közti különbség tárolt,
- 3. típus, (AVERAGE), az adott képpont és annak jobb és baloldalt lévő szomszédjai közti különbség tárolt,
- 4. típus, (PAETH), az adott képpont és három szomszédja (bal, felső és bal felső) értékeinek a Paeth-algoritmussal (Alan W. Paeth javaslata) való feldolgozás után kapott érték tárolt.
[szerkesztés] True Color
További fontos tulajdonsága és a GIF-el szemben előnye, hogy true color módban lévő képeket is képes tárolni. Az elért tömörítési arány természetesen nem olyan kedvező, mint a JPG esetében, viszont e képek veszteségmentesek. Továbbá azon kevés képformátumok közé tartozik, amelyek RGBA színskálájú képekre is használható.
[szerkesztés] Lásd még
[szerkesztés] Referenciák
- A. W. Paeth. Image File Compression Made Easy. In James Arvo ed.: Graphics Gems II. Academic Press, San Diego, 1991. ISBN 0120644800