Portable Network Graphics

Portable Network Graphics
Portable Network Graphics
Png-logo.png
Dateiendung: .png
MIME-Type: image/png[1]
Magische Zahl:

8950.4e47.0d0a.1a0a hex
\x89PNG\r\n\x1a\n[2] (ASCII-C-Notation)

Entwickelt von: PNG Development Group (dank W3C)
Art: Verlustfreies Bitmap-Grafikformat
Erweitert zu: APNG, JNG und MNG
Standard(s): ISO 15948, IETF RFC 2083
Website: libpng.org/pub/png

Portable Network Graphics (PNG [pɪŋ], engl. portable Netzwerkgrafik) ist ein Grafikformat für Rastergrafiken mit verlustfreier Bildkompression. Es wurde als freier Ersatz für das ältere, bis zum Jahr 2004 mit Patentforderungen belastete Format GIF entworfen und ist weniger komplex als TIFF. PNG unterstützt neben unterschiedlichen Farbtiefen auch Transparenz per Alphakanal.

Inhaltsverzeichnis

Geschichte

Die Entwicklung des PNG-Formats begann Ende 1994, verglichen mit anderen Grafikformaten wie TIFF, GIF und JFIF also recht spät. Auslöser waren Lizenzforderungen der Softwarefirma Unisys für den von GIF verwendeten LZW-Algorithmus.

Bereits am 4. Januar 1995 konnte Thomas Boutell einen frühen Entwurf (PBF Draft 1) vorlegen. Die erste richtige PNG-Spezifikation (Version 1.0) von Thomas Boutell und Tom Lane wurde am 1. Oktober 1996 offizielle W3C-Empfehlung. Am 14. Oktober 1996 erhielt PNG von der IANA den MIME-Typ image/png zugewiesen. Am 15. Januar 1997 wurde PNG von der IETF als RFC 2083 verabschiedet. Am 31. Dezember 1998 erschien die von Adam Costello und Glenn Randers-Pehrson überarbeitete PNG-Spezifikation Version 1.1. Am 11. August 1999 veröffentlichte Glenn Randers-Pehrson schließlich die bisher letzte Version 1.2. Diese wurde am 10. November 2003 zum ISO-Standard ISO/IEC 15948:2003 erhoben und gleichzeitig zur W3C-Empfehlung PNG (Second Edition).

Eigenschaften

Das PNG-Format hatte nie Patentbeschränkungen, wie dies bei GIF bis 2004 durch Verwendung des LZW-Algorithmus der Fall war. Jeder Softwarehersteller konnte daher ohne Zahlung von Lizenzkosten Programme veröffentlichen, die PNG lesen und schreiben. Das kam insbesondere Anbietern von kostenlosen Programmen zugute. Es ist ein universelles, vom World Wide Web Consortium (W3C) anerkanntes Format und wird von allen modernen Webbrowsern unterstützt.

PNG wurde jedoch bewusst ohne Animationsfähigkeit wie bei GIF entworfen, da hierfür ein eigenes Format (MNG) entwickelt werden sollte. Die beiden Formate sollten dann zusammen GIF vollständig ersetzen; dazu kam es jedoch bis heute nicht. MNG ist weder W3C-Empfehlung noch ISO-Standard und wird von den meisten Webbrowsern nicht unterstützt. Mit APNG wurde unabhängig von den PNG- und MNG-Entwicklerteams ein alternatives Animationsformat geschaffen, das auf PNG basiert.

Farbtiefen

PNG kann wie GIF Pixel aus einer Farbpalette mit bis zu 256 Einträgen (8 bit) verarbeiten. Darüber hinaus ist die Speicherung von Graustufenbildern mit 1, 2, 4, 8 oder 16 Bit und Farbbildern (RGB) mit 8 oder 16 Bit pro Farbkanal (also 24 beziehungsweise 48 Bit pro Pixel) möglich. Die Kompressionsrate von PNG ist meistens besser als bei GIF.

Transparenz

PNG-Datei mit Alphakanal, darstellbar auf jedem Hintergrund
Dasselbe Bild auf einem anderen Hintergrund

PNG-Dateien können Transparenzinformationen enthalten, entweder in Form eines Alphakanals oder für jede Farbe der Farbpalette. Ein Alphakanal ist eine zusätzliche Information, die für jedes Pixel angibt, wie viel vom Hintergrund des Bildes durchscheinen soll. PNG unterstützt Alphakanäle von 8 oder 16 Bit, was 256 beziehungsweise 65.536 Abstufungen der Transparenzstärke entspricht. Bei GIF ist es nur möglich, einen einzigen der Paletteneinträge als vollständig transparent zu deklarieren. Das PNG-Format erlaubt somit, unabhängig vom Hintergrund die Kanten von Text und Bildern zu glätten. Man kann echte Schlagschatten verwenden, die im Hintergrund ausblenden, oder Bilder erzeugen, die beliebig geformt sind – wenn das Anzeigeprogramm das PNG-Format beherrscht.

Der Internet Explorer hat bis zur Version 6 Probleme mit der Darstellung von PNG-Dateien mit Alphakanal. PNG-Dateien mit binärer („ja/nein“-) Transparenz werden jedoch fehlerfrei dargestellt. Es gibt auch Umgehungslösungen zur Nutzung des Alphakanals in älteren Versionen des Internet Explorers. Die neuesten Versionen der Browser Mozilla Firefox, Konqueror, Safari und Opera sowie der Microsoft Internet Explorer ab der Version 7 unterstützen PNG jedoch weitgehend fehlerfrei.

Metadaten und Datenblöcke (Chunks)

PNG unterstützt Metadaten und optionale Datenblöcke („Chunks“), die weitere Informationen über das Bild enthalten können, etwa zur Farbkorrektur. Diese Datenblöcke werden durch vier Buchstaben gekennzeichnet (beispielsweise tEXt für textuelle Informationen) und können mit Programmen wie TweakPNG[3] bearbeitet werden. Anwendungen können auch private Datenblöcke für eigene Zwecke definieren. Adobe Fireworks verwendet PNG als Anwendungsformat und nutzt private Datenblöcke, um darin verschiedene weitere Informationen abzulegen. Dabei besteht allerdings auch Verwechslungsgefahr mit den wesentlich kleineren, normalen PNG-Dateien.

Allerdings unterstützt bis auf Safari und Firefox (nach Aktivierung) bisher kein Browser eingebettete Farbprofile (iCCP-Chunks). Sie bieten daher kein vollständiges Farbmanagement. Dadurch, dass Safari als einziger Browser auch vollständige Farbprofile wiedergibt, ist eine einheitliche und plattformübergreifende Darstellung bei Bildern im PNG-Format mit eingebettetem Farbprofil zurzeit nicht möglich. Zumindest für den Browser Firefox ist diese Funktion aber für die Zukunft geplant. Eingebettete Gammakorrekturwerte (gAMA-Chunks) hingegen werden von den meisten aktuellen Browsern fehlerfrei erkannt und verarbeitet.

Technische Details

Dateikopf

Eine PNG-Datei beginnt immer mit der folgenden, acht Byte langen Signatur (Magische Zahl):

Byte(s) in hex Bemerkung
89
50 4E 47 ASCII-Zeichenkette „PNG“; ermöglicht die leichte Identifizierung des Dateiformats bei Textansicht oder in einem Texteditor.
0D 0A CR und LF; MS-DOS-typisches Zeilenende
1A Das Zeichen End of File.

Dieses Byte würde die Ausgabe abbrechen, falls die Datei zum Beispiel mit dem MS-DOS-Befehl TYPE ausgegeben würde.

0A LF

Komprimierung

PNG verwendet, nach dem Vorfiltern (siehe Filtertypen), das nicht patentierte, verlustfreie Datenkompressions-Verfahren Deflate, den gleichen Algorithmus der in der zlib-Kompressions-Bibliothek verwendet wird. Dieses Verfahren wurde für das ZIP-Archivformat entwickelt und findet ebenfalls im gz-Format des Archivprogramms gzip, im Bildformat TIFF und vielen weiteren Programmen Verwendung. Bislang ist Deflate die einzige unterstützte Methode. Es ist aber absichtlich Raum für Erweiterungen gelassen worden, um in zukünftigen PNG-Versionen auch andere, effizientere oder schnellere Algorithmen zu unterstützen. Um Abwärtskompatibilität zu existierenden PNG-fähigen Programmen zu gewährleisten, ist derzeit eine Aufnahme anderer Verfahren in den Standard jedoch nicht geplant. Die Komprimierung kann (im Programm, wie bei der ZIP-Kompression) in Stufen von 0 (keine) bis 9 (beste) angegeben werden.

Vorfilter

Ein PNG-Bild mit 256 Farben, das dank Vorfilter nur 251 Byte groß ist. Das gleiche Bild als GIF-Datei wäre mehr als dreizehnmal so groß.

Um die Kompression der Bilddaten zu verbessern, unterstützt das PNG-Format verschiedene sogenannte Vorfilter, die auf die Bilddaten angewendet werden, bevor die eigentliche Komprimierung stattfindet.

In vielen Bildern unterscheiden sich benachbarte Pixel nur wenig voneinander. Das bedeutet, dass die Differenzwerte dieser Pixel vom Betrag her recht klein sind. Werden nun statt der originalen Pixeldaten die Differenzwerte zu den vorangegangenen Pixeln verarbeitet, treten oft Folgen gleicher Werte auf; große Änderungen kommen nur relativ selten vor (etwa an Objektkanten). Dies begünstigt die Komprimierbarkeit der Daten und ist einer der Gründe für die geringe Größe von PNG-Dateien.

PNG definiert in der derzeitigen Version fünf verschiedene Filtertypen:

Nummer Name Beschreibung
0 None Keine Vorfilterung. Es wird auf den originalen Pixeldaten gearbeitet
1 Sub Es werden die Differenzen zu dem jeweils links benachbarten Pixel verarbeitet
2 Up Es werden die Differenzen zu dem jeweils darüber liegenden Pixel verarbeitet
3 Average Es wird die Differenz zu dem Mittelwert aus dem darüber liegenden und dem links benachbarten Pixel gebildet
4 Paeth Es wird aus dem links benachbarten, dem darüber liegenden und dem schräg links oben benachbarten Pixel ein sogenannter Paeth-Predictor-Wert berechnet, welcher das Pixel für die Differenzbildung bestimmt

Die verschiedenen Filter werden unabhängig voneinander auf jede Bildzeile angewandt; oft wählt das Anwendungsprogramm automatisch eine Filterkombination aus. In vielen Fällen bietet der Paeth-Predictor die besten Ergebnisse. Der vierte Filtertyp wurde nach seinem Erfinder Alan W. Paeth benannt.

Beim Entpacken werden nach der Dekomprimierung der Daten umgekehrte Versionen der Filter angewandt, um die eigentlichen Bilddaten wiederherzustellen.

Die Vorfilter sind der Grund für den meist geringeren Platzbedarf von PNG-Dateien gegenüber GIF-Dateien. Allerdings speichern viele Programme PNG-Bilder nicht optimal ab, was zu unnötig großen Dateien führt. Verschiedene Programme wie beispielsweise PNGOUT, pngcrush, OptiPNG oder andere[4] ermöglichen eine verlustfreie Neukomprimierung und oft wesentlich kleinere Dateien.

Vorteile

  • Es fallen keine Lizenzgebühren an.
  • Die Kompression ist verlustfrei und dabei meist kompakter als vergleichbare Formate.
  • Unterstützung von Echtfarben (24 Bit Farbtiefe) mit einem Maximum von 48 Bit Farbtiefe.
  • Unterstützung von Alpha-Transparenz (bis zu 16 Bit, also 65.536 Stufen; gebräuchlich sind 8 Bit).
  • Unterstützung von Farb- und Helligkeitskorrekturmechanismen, um sicherzustellen, dass ein Bild auf verschiedenen Systemen annähernd gleich aussieht.
  • Das Format unterliegt einem festen Standard und ist erweiterbar, so dass theoretisch jedes Programm bestimmte Mindestanforderungen erfüllen muss. Außerdem ist PNG sowohl aufwärts-, als auch abwärtskompatibel, was Inkompatibilitäten zwischen verschiedenen Versionen reduziert.
  • Durch integrierte Prüfsummen wird ermöglicht, Fehler in der Datei frühzeitig zu erkennen.
  • PNG-Dateien sind streamable, d. h. zur Interpretation des Dateiinhalts ist kein wahlfreier Zugriff wie etwa bei vielen TIFF-Dateien notwendig.
  • Es ist ein optionales 7-Pass-Interlacing nach Adam M. Costello („Adam7“) verfügbar, also der allmähliche Bildaufbau bei der Übertragung über langsame Datenleitungen. Dabei treten deutlich weniger Bildverzerrungen auf als bei GIF. Schon bei sehr geringer Übertragung ist bereits eine relativ brauchbare Darstellung möglich.[5]
  • Die Unterstützung durch alle graphischen Webbrowser ist vorhanden (Im Internet Explorer wird Alpha-Transparenz allerdings erst seit Version 7.0 unterstützt).

Nachteile

  • Größere Komplexität des Dateiformats im Vergleich zu GIF.
  • Als unvollständige Alternative zum GIF-Format bietet es keine Möglichkeit zur Animation. Hierzu wurde das MNG-Format geschaffen, welches jedoch kaum unterstützt wird, ebenso wie das APNG-Format.
  • Unterstützt das CMYK-Farbmodell nicht und ist deshalb nicht als vollständiger TIFF-Ersatz geeignet.
  • Unterstützt zwar eingebettete Metainformationen, die aber weder dem Exif- noch dem IPTC-Standard entsprechen.
  • Ermöglicht nicht das einfache Laden von Bildteilen. Wer nur einen Ausschnitt des Bildes laden möchte, muss alle Bildzeilen davor mitladen. Im Falle von PNG-Dateien, die nicht sequentiell, sondern interlaced gespeichert wurden, muss sogar noch mehr geladen werden.
  • Das Format erreicht bei bestimmten Bildarten (z. B. Fotos) naturgemäß nicht die Kompressionsraten verlustbehafteter Algorithmen, wie etwa JPEG. Auch im Vergleich mit auf bestimmte Klassen von Bilddaten spezialisierten Algorithmen, etwa nur für gescannte Dokumente (z. B. JBIG2), kann PNG meist nicht mithalten.

Verwandte Formate

  • MNG (Multiple-image Network Graphics) speichert Animationen.
  • JNG (JPEG Network Graphics), ein Unterformat von MNG, unterstützt den verlustbehafteten Teil von JPEG als Kompressionsverfahren.
  • APNG (Animated Portable Network Graphics) unterstützt Animation, ist aber zu PNG abwärtskompatibel. Reine PNG-Dekoder zeigen nur das erste Bild der Animation.
  • PNG+ (PNG plus) ist ein von Microsoft in Picture It! verwendetes Dateiformat, das zusätzlich Ebenen und Mehrseiten-Layouts abspeichern kann. Es ist inkompatibel zu PNG und wird von nahezu keinem anderen Programm als Picture It! unterstützt.

Weder MNG, JNG, noch APNG oder PNG+ sind W3C-Empfehlungen.

Literatur

Weblinks

Quellen

  1. Image Media Types. Internet Assigned Numbers Authority, 27. September 2009, abgerufen am 6. Oktober 2010 (englisch).
  2. PNG (Portable Network Graphics) Specification, Version 1.2. 12.12. PNG file signature. 14. Juli 1999, abgerufen am 6. Oktober 2010 (englisch).
  3. Jason Summers: TweakPNG, englisch
  4. Cosmin Truţa: A guide to PNG optimization, mit Verzeichnis von Programmen zur verlustfreien Neukomprimierung, englisch
  5. Stephan T. Lavavej: Introduction to PNG. In: nuwen.net. Abgerufen am 6. Oktober 2010 (englisch).

Wikimedia Foundation.

Игры ⚽ Поможем написать реферат

Schlagen Sie auch in anderen Wörterbüchern nach:

  • Portable Network Graphics — PNG A PNG image with an 8 bit transparency channel (top). The same image is overlaid onto a checkered background (botto …   Wikipedia

  • Portable network graphics — Pour les articles homonymes, voir PNG. Portable Network Graphic Extension de fichier .png Type MIME image/png …   Wikipédia en Français

  • Portable Network Graphics — Визуализация изображения в формате PNG с 8 битным каналом прозрачности. Шахматный фон обычно используется в графических редакторах в качестве «прозрачного» фона. PNG (англ. portable network graphics, сокращение произносится по английски /pɪŋ/[1]) …   Википедия

  • Portable Network Graphics — PNG (Portable Network Graphics) PNG …   Wikipedia Español

  • Portable Network Graphics — Pour les articles homonymes, voir PNG. Portable Network Graphic Extension .png Type MIME image/png Développé par W3C …   Wikipédia en Français

  • Portable Network Graphics — PNG failas statusas T sritis informatika apibrėžtis ↑Grafikos failų tipas, skirtas internetui. Panašus į GIF tipą. Pakuojant paveikslus neprarandama informacija. Gali būti 8 arba 24 bitų spalvos. atitikmenys: angl. PNG; Portable Network Graphics… …   Enciklopedinis kompiuterijos žodynas

  • Animated Portable Network Graphics — Un PNG animé montrant une balle qui rebondit (requiert une version récente de la plupart des navigateurs) Extension .png Développé par …   Wikipédia en Français

  • Animated Portable Network Graphics — Información general Extensión de archivo .png .apng Lanzamiento inicial …   Wikipedia Español

  • Animated Portable Network Graphics — Vorlage:Infobox Dateiformat/Wartung/MIME fehltVorlage:Infobox Dateiformat/Wartung/MagischeZahl fehlt Animated Portable Network Graphics Vorlage:Infobox Dateiformat/Wartung/Screenshot Format …   Deutsch Wikipedia

  • portable network graphics — graphic file format that offers most of the advantages of the GIF format but is patent free, PNG (Computers) …   English contemporary dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”