Tragbare Netzgrafik

Portable Network Graphics (PNG) ist ein bitmapped Bildformat, das lossless Datenkompression verwendet. PNG wurde geschaffen, um zu übertreffen und GIF (Grafikaustausch-Format) als ein Bilddatei-Format zu ersetzen, das nicht eine offene Lizenz verlangt. Der initialism PNG kann auch als ein rekursiver initialism für den "PNG'S Nicht GIF" interpretiert werden.

PNG unterstützt Palette-basierte Images (mit Paletten von 24-Bit-RGB oder RGBA 32-Bit-Farben), grayscale Images (mit oder ohne Alpha-Kanal), und voll-farbig "nicht Palette gestützter" RGB Images (mit oder ohne Alpha-Kanal). PNG wurde entworfen, um Images im Internet zu übertragen, nicht für die Berufsqualitätsdruckgrafik, und unterstützt deshalb Non-RGB-Farbenräume wie CMYK nicht.

PNG Dateien verwenden fast immer Dateierweiterung oder und sind zugeteiltes PANTOMIME-Sektorformat; es wurde für diesen Gebrauch von Internet Engineering Steering Group am 14. Oktober 1996 genehmigt. PNG wurde als ein ISO/IEC Standard 2004 veröffentlicht.

Geschichte und Entwicklung

Die Motivation, für das PNG-Format zu schaffen, war Anfang 1995, nachdem es bekannt geworden ist, dass der im Format von Graphics Interchange Format (GIF) verwendete Datenkompressionsalgorithmus von Lempel-Ziv-Welch (LZW) von Unisys patentiert wurde. Es gab auch andere Probleme mit dem GIF-Format, das einen Ersatz wünschenswert, namentlich seine Grenze von 256 Farben gemacht hat, als Computer, die fähig sind, weit mehr als 256 Farben zu zeigen, üblich wuchsen. Obwohl GIF Zeichentrickfilm berücksichtigt, wurde es entschieden, dass PNG ein Format des einzelnen Images sein sollte. Ein dazugehöriges Format genannt Multiple-image Network Graphics (MNG) ist für den Zeichentrickfilm definiert worden, wohingegen ein konkurrierendes Format, Animated Portable Network Graphics (APNG), rückwärts gerichtete Vereinbarkeit mit PNG unterstützt (den MNG tut nicht).

Ein vorausgehender Diskussionsfaden im Januar 1995, auf Usenet newsgroup "comp.graphics" mit den unterworfenen Gedanken auf einem GIF-Ersatzdateiformat, hatte viele Vorschläge, die später ein Teil des PNG Dateiformats sein würden. In diesem Faden hat Oliver Fromme, Autor populären DOS JPEG Zuschauer QPEG, den SCHWIRREN-Namen vorgeschlagen, meinend, dass SCHWIRREN nicht GIF und auch die PNG Erweiterung ist.

  • Am 1. Oktober 1996: Die Version 1.0 der PNG Spezifizierung wurde veröffentlicht, und ist später als RFC 2083 erschienen. Es ist eine W3C Empfehlung am 1. Oktober 1996 geworden.
  • Am 31. Dezember 1998: Version 1.1, mit einigen kleinen Änderungen und der Hinzufügung drei neuer Klötze, wurde veröffentlicht.
  • Am 11. August 1999: Version 1.2, einen Extraklotz hinzufügend, wurde veröffentlicht.
  • Am 10. November 2003: PNG ist ein Internationaler Standard (ISO/IEC 15948:2003) geworden. Diese Version von PNG unterscheidet sich nur ein bisschen von der Version 1.2 und fügt keine neuen Klötze hinzu.
  • Am 3. März 2004: ISO/IEC 15948:2004.

PNG Arbeitsgruppe

Die ursprüngliche PNG Spezifizierung war authored durch ad hoc Gruppe von Computergrafik-Experten und Anhängern. Diskussionen und Entscheidungen über das Format wurden exklusiv über die E-Mail getan. Die ursprünglichen auf RFC 2083 verzeichneten Autoren sind:

  • Redakteur: Thomas Boutell
  • Das Beitragen des Redakteurs: Tom Lane
  • Autoren (in alphabetischer Reihenfolge): Mark Adler, Thomas Boutell, Christian Brunschen, Adam M. Costello, Lee Daniel Crocker, Andreas Dilger, Oliver Fromme, Jean-loup Gailly, Chris Herborth, Aleks Jakulin, Neal Kettler, Tom Lane, Alexander Lehmann, Chris Lilley, Dave Martindale, Owen Mortensen, Keith S. Pickens, Robert P. Poole, Glenn Randers-Pehrson, Greg Roelofs, Willem van Schaik, Guy Schalnat, Paul Schmidt, Tim Wegner, Jeremy Wohl

Technische Details

Dateikopfball

Eine PNG Datei fängt mit einer 8-Byte-Unterschrift an. Die hexadecimal Byte-Werte sind; die dezimalen Werte sind. Jedes der Kopfball-Bytes ist dort aus einem spezifischen Grund:

"Klötze" innerhalb der Datei

Nachdem der Kopfball eine Reihe von Klötzen kommt, von denen jeder bestimmte Information über das Image befördert. Klötze erklären sich als kritisch oder untergeordnet, und ein Programm, das auf einen Hilfsklotz stößt, den es nicht versteht, kann es sicher ignorieren. Diese Klotz-basierte Lagerungsschicht-Struktur, die im Konzept zu einem Behälterformat ähnlich ist, wird entworfen, um dem PNG-Format zu erlauben, erweitert zu werden, während man Vereinbarkeit mit älteren Versionen aufrechterhält — es stellt Vorwärtsvereinbarkeit zur Verfügung, und diese dieselbe Dateistruktur (mit der verschiedenen Unterschrift und den Klötzen) wird im verbundenen MNG, JNG und den APNG-Formaten verwendet.

Ein Klotz besteht aus vier Teilen: Länge (4 Bytes), Klotz-Typ/Name (4 Bytes), Klotz-Daten (Länge-Bytes) und CRC (zyklischer Überfülle-Code/Kontrollsumme; 4 Bytes).

Klötze werden ein vier Brief-Fall empfindlicher Typ/Name ASCII gegeben; vergleichen Sie FourCC. Der Fall der verschiedenen Briefe im Namen (hat 5 des numerischen Werts des Charakters gebissen), ist wenig Feld, das den Decoder mit etwas Information über die Natur von Klötzen versorgt, die es nicht anerkennt.

Der Fall des ersten Briefs zeigt an, ob der Klotz kritisch ist oder nicht. Wenn der erste Brief Großschrift ist, ist der Klotz kritisch; wenn nicht, der Klotz ist untergeordnet. Kritische Klötze enthalten Information, die notwendig ist, um die Datei zu lesen. Wenn ein Decoder auf einen kritischen Klotz stößt, erkennt er nicht an, er muss das Lesen der Datei abbrechen oder den Benutzer mit einer passenden Warnung versorgen.

Der Fall des zweiten Briefs zeigt an, ob der Klotz (entweder in der Spezifizierung oder in der Registrierung von speziellen Zweck-Publikum-Klötzen) "öffentlich" oder (nicht standardisiert) "privat" "ist". Großschrift ist öffentlich, und Klein-ist privat. Das stellt sicher, dass öffentliche und private Klotz-Namen einander nie kollidieren können (obwohl zwei private Klotz-Namen kollidieren konnten).

Der dritte Brief muss Großschrift sein, um sich der PNG Spezifizierung anzupassen. Es wird für die zukünftige Vergrößerung vorbestellt. Decoder sollten einen Klotz mit einem Drittel-Brief der unteren Umschaltung dasselbe als jeder andere unerkannte Klotz behandeln.

Der Fall des vierten Briefs zeigt an, ob ein Klotz sicher ist, durch Redakteure zu kopieren, die es nicht anerkennen. Wenn Kleinbuchstabe, der Klotz unabhängig vom Ausmaß von Modifizierungen zur Datei sicher kopiert werden kann. Wenn Großschrift, es nur kopiert werden kann, wenn die Modifizierungen keine kritischen Klötze berührt haben.

Kritische Klötze

Ein Decoder muss im Stande sein, diese zu interpretieren, um eine PNG Datei zu lesen und zu machen.

  • muss der erste Klotz sein; es enthält die Breite des Images, Höhe, und beißt Tiefe.
  • enthält die Palette; Liste von Farben.
  • enthält das Image, das unter vielfachen IDAT Klötzen gespalten werden kann. Das Tun vergrößert so filesize ein bisschen, aber macht es möglich, einen PNG auf eine strömende Weise zu erzeugen.
  • kennzeichnet das Bildende.

Der Klotz ist für den Farbentyp 3 (mit einem Inhaltsverzeichnis versehene Farbe) notwendig. Es ist für Farbentypen 2 und 6 fakultativ (truecolor und truecolor mit dem Alpha), und es muss für Farbentypen 0 und 4 (grayscale und grayscale mit dem Alpha) nicht erscheinen.

Hilfsklötze

Andere Bildattribute, die in PNG Dateien versorgt werden können, schließen Gammawerte, Hintergrundfarbe und metadata Textinformation ein. PNG unterstützt auch Farbenmanagement durch die Einschließung von Farbenraumprofilen von ICC.

  • gibt die Verzug-Hintergrundfarbe. Es ist für den Gebrauch beabsichtigt, wenn es keine bessere Wahl verfügbar, solcher als in eigenständigen Bildzuschauern gibt (aber nicht WWW-Browser; sieh unten für mehr Details).
  • gibt die chromaticity Koordinaten der Anzeigevorwahlen und des weißen Punkts.
  • kann den histogram oder Summe jeder Farbe im Image versorgen.
  • ist ein ICC-Farbenprofil.
  • enthält UTF-8 Text, zusammengepresst oder nicht mit einem fakultativen Sprachanhängsel. der ITXt-Klotz mit dem Schlüsselwort 'XML:com.adobe.xmp' kann Ausziehbare Metadata Plattform (XMP) enthalten.
  • (bedeutende Bit) zeigt die Farbengenauigkeit der Quelldaten an.
  • deutet eine Palette an zu verwenden, wenn die volle Reihe von Farben nicht verfügbar ist.
  • zeigt an, dass sich der Standard sRGB färbt, wird Raum verwendet.
  • Stereoimage-Anzeigeklotz für stereoskopische Images.
  • kann Text versorgen, der in ISO/IEC 8859-1, mit einem name=value Paar für jeden Klotz vertreten werden kann.
  • versorgt die Zeit, dass das Image geändert letzt war.
  • enthält Durchsichtigkeitsinformation. Für mit einem Inhaltsverzeichnis versehene Images versorgt es Alpha-Kanalwerte für einen oder mehr Palette-Einträge. Für truecolor und grayscale Images versorgt es einen einzelnen Pixel-Wert, der als völlig durchsichtig betrachtet werden soll.
  • enthält zusammengepressten Text mit denselben Grenzen wie

Der erste Kleinbrief in diesen Klötzen zeigt an, dass sie für die PNG Spezifizierung nicht erforderlich sind. Der letzte Brief des Kleinbuchstabens in einigen Klötzen zeigt an, dass sie sicher sind zu kopieren, selbst wenn die betroffene Anwendung sie nicht versteht.

Farbentiefe

}\

! Grayscale

! 1

| || || || ||

| -

! Grayscale & Alpha

! 2

| || || || ||| -

! Truecolor

! 3

| || || || ||| -

! Truecolor & Alpha

! 4

| || || || ||| }\

PNG Images können entweder mit der Palette mit einem Inhaltsverzeichnis versehene Farbe verwenden oder aus einem oder mehr Kanälen (numerische Werte zusammengesetzt werden, die direkt Mengen über die Pixel vertreten). Wenn es mehr als einen Kanal in einem Image gibt, haben alle Kanäle dieselbe Zahl von Bit, die pro Pixel zugeteilt sind (bekannt als die Bit-Tiefe des Kanals). Obwohl die PNG Spezifizierung immer über die Bit-Tiefe von Kanälen spricht, sprechen der grösste Teil der Software und Benutzer allgemein über die Gesamtzahl von Bit pro Pixel (manchmal auch gekennzeichnet als Bit-Tiefe oder Farbentiefe). Da vielfache Kanäle ein einzelnes Pixel betreffen können, ist die Zahl von Bit pro Pixel häufig höher als die Zahl von Bit pro Kanal, wie gezeigt, in der Illustration am Recht.

Die Zahl von Kanälen wird abhängen, ob das Image grayscale oder Farbe ist, und ob es einen Alpha-Kanal hat. PNG erlaubt die folgenden Kombinationen von Kanälen, genannt den Farbentyp.

Der Farbentyp wird im Farbentyp-Feld angegeben, das wenig Feld, wie erklärt, im Tisch unten am Recht ist. Nicht alle Kombinationen sind jedoch gültig: Es gibt nicht mit einem Inhaltsverzeichnis versehenen grayscale, der Farbentypen 1 und 5 sein würde; die Durchsichtigkeit in Palette-Images wird durch die Anwesenheit eines Klotzes, nicht einen getrennten Kanal angezeigt, also gibt es keinen Farbentyp 7.

  • 0: grayscale
  • 2: rot, grün und blau: rgb/truecolor
  • 3: mit einem Inhaltsverzeichnis versehen: Kanal, der Indizes in eine Palette von Farben enthält
  • 4: grayscale und Alpha: Niveau der Durchsichtigkeit für jedes Pixel
  • 6: rot, grün, blau und Alpha

Mit mit einem Inhaltsverzeichnis versehenen Farbenimages wird die Palette immer in RGB an einer Tiefe von 8 Bit pro Kanal (24-Bit-ProPalettezugang) versorgt. Zusätzlich kann eine fakultative Reihe von 8-Bit-Alpha-Werten der Palette-Einträge eingeschlossen werden. Die Palette muss mehr Einträge nicht haben, als die Bildbit-Tiefe berücksichtigt, aber es kann weniger haben (zum Beispiel, wenn ein Image nur 90 Farben dann verwendet, braucht es Palette-Einträge für alle 256 Farben nicht).

Mit einem Inhaltsverzeichnis versehenen Farben-PNGs wird erlaubt, 1, 2, 4 oder 8 Bit pro Pixel nach dem Standard zu haben; Grayscale-Images ohne Alpha-Kanal berücksichtigen 1, 2, 4, 8 oder 16 Bit pro Pixel. Etwas anderes verwendet wenig Tiefe pro Kanal entweder 8 oder 16. Die Kombinationen, die das erlaubt, werden im Tisch oben gegeben. Der Standard verlangt, dass Decoder alle unterstützten Farbenformate lesen können, aber viele Bildredakteure können nur eine kleine Teilmenge von ihnen erzeugen.

Durchsichtigkeit des Images

PNG bietet eine Vielfalt von Durchsichtigkeitsoptionen an. Mit truecolor und grayscale Images kann entweder ein einzelner Pixel-Wert erklärt werden, weil durchsichtig oder ein Alpha-Kanal hinzugefügt werden kann (jeden Prozentsatz der teilweisen Durchsichtigkeit ermöglichend, verwendet zu werden). Für paletted Images können Alpha-Werte zu Palette-Einträgen hinzugefügt werden. Die Zahl solcher versorgten Werte kann weniger sein als die Gesamtzahl von Palette-Einträgen, in welchem Fall die restlichen Einträge völlig undurchsichtig betrachtet werden.

Die Abtastung von Pixel-Werten für die binäre Durchsichtigkeit soll vor jeder Farbenverminderung durchgeführt werden, um Pixel zu vermeiden, die unabsichtlich durchsichtig werden. Das wird höchstwahrscheinlich ein Problem für Systeme aufstellen, die 16-Bit-ProKanalimages decodieren können (wie sie müssen, um mit der Spezifizierung entgegenkommend zu sein), aber nur die Produktion an 8 Bit pro Kanal (die Norm für alle außer den höchsten Endsystemen).

Kompression

PNG verwendet einen 2-stufigen Kompressionsprozess:

  • Vorkompression: Entstörung (der Vorhersage)
  • Kompression: DEFLATIONIEREN SIE

PNG verwendet eine nichtpatentierte lossless bekannte Datenkompressionsmethode, wie DEFLATIONIEREN, der derselbe in der zlib Kompressionsbibliothek verwendete Algorithmus ist.

Entstörung

Vorher DEFLATIONIEREN wird angewandt, die Daten wird über eine Vorhersagemethode vorzusammengepresst: Eine einzelne Filtermethode wird für das komplette Image verwendet, während für jede Bildlinie ein Filtertyp gewählt wird, der die Daten umgestaltet, so dass es hoffentlich leichter zusammengepresst wird.

Es gibt nur eine Filtermethode in der PNG aktuellen Spezifizierung (angezeigte Methode 0), und so in der Praxis ist die einzige Wahl der Filtertyp, für jede Linie zu gelten. Für diese Methode sagt der Filter den Wert jedes Pixels voraus, das auf den Werten vorheriger benachbarter Pixel gestützt ist, und zieht die vorausgesagte Farbe des Pixels vom Ist-Wert, als in DPCM ab. Eine Bildlinie gefiltert ist häufig auf diese Weise komprimierbarer, als die rohe Bildlinie besonders sein würde, wenn es der Linie oben ähnlich ist, da die Unterschiede zur Vorhersage allgemein ungefähr 0 gebündelt, aber nicht über alle möglichen Bildwerte ausgebreitet werden. Das ist in der Verbindung getrennter Reihen besonders wichtig, da DEFLATIONIEREN, hat kein Verstehen, dass ein Image eine 2. Entität ist, und stattdessen gerade die Bilddaten als ein Strom von Bytes sieht.

Es gibt fünf Filtertypen für die Filtermethode 0; jeder Typ sagt den Wert jedes Bytes (der Bilddaten vor der Entstörung) gestützt auf dem entsprechenden Byte des Pixels nach links (A), über (B), oben und nach links (C) oder eine Kombination davon voraus, und verschlüsselt den Unterschied zwischen dem vorausgesagten Wert und dem Ist-Wert. Filter werden auf Byte-Werte, nicht Pixel angewandt; Pixel-Werte können ein oder zwei Bytes, oder mehrere Werte pro Byte, aber nie böse Byte-Grenzen sein. Die Filtertypen sind:

Der Filter von Paeth basiert auf einem Algorithmus durch Alan W. Paeth.

Vergleichen Sie sich mit der Version von DPCM, der in lossless JPEG verwendet ist, und zur getrennten Elementarwelle gestalten das Verwenden 1×2, 2×1, oder (für den Propheten von Paeth) Fenster 2×2 und Elementarwellen von Haar um.

Kompression wird weiter durch die Auswahl von Filtertypen anpassungsfähig auf einer Linie-für-Linie-Basis verbessert. Diese Verbesserung und eine heuristische Methode, es allgemein verwendet durch das PNG-Schreiben der Software durchzuführen, wurden von Lee Daniel Crocker geschaffen, der die Methoden auf vielen Images während der Entwicklung des Formats geprüft hat; die Wahl des Filters ist ein Bestandteil der Dateigröße-Optimierung, wie besprochen, unten.

Wenn das Verflechten verwendet wird, wird jede Bühne des Verflechtens getrennt gefiltert, bedeutend, dass das Image progressiv gemacht werden kann, weil jede Bühne erhalten wird; jedoch macht das Verflechten allgemein Kompression weniger wirksam.

Das Verflechten

PNG bietet ein fakultatives 2-dimensionales, sich verflechtendes 7-Pässe-Schema — der Adam7 Algorithmus an. Das ist hoch entwickelter als das 1-dimensionale 4-Pässe-Schema von GIF, und erlaubt einem klareren Image der niedrigen Entschlossenheit, früher in der Übertragung besonders sichtbar zu sein, wenn Interpolationsalgorithmen wie Bicubic-Interpolation verwendet werden.

Jedoch neigt das 7-Pässe-Schema dazu, die Verdichtbarkeit der Daten mehr zu reduzieren, als einfachere Schemas.

Zeichentrickfilm

PNG selbst unterstützt Zeichentrickfilm überhaupt nicht. MNG ist eine Erweiterung auf PNG, der tut; es wurde von Mitgliedern von PNG Group entworfen. MNG teilt die grundlegende Struktur und Klötze von PNG, aber es ist bedeutsam komplizierter und hat eine verschiedene Dateiunterschrift, die es automatisch unvereinbar mit PNG Standarddecodern macht.

Die Kompliziertheit von MNG hat zum Vorschlag von APNG durch Entwickler des Mozilla Fundaments geführt. Es basiert auf PNG, unterstützt Zeichentrickfilm und ist einfacher als MNG. APNG bietet Rückgriff der Anzeige des einzelnen Images für PNG Decoder an, die APNG nicht unterstützen. Jedoch wird keines dieser Formate zurzeit weit unterstützt. APNG wird in Firefox 3.0 und Oper 9.5 unterstützt. PNG Group hat sich im April 2007 dafür entschieden, APNG nicht zu umarmen. Mehrere Alternativen waren unter der Diskussion, ANG, aNIM/mPNG, "PNG in GIF" und seiner Teilmenge "RGBA in GIF".

Vergleich zu anderen Dateiformaten

Vergleich zu Graphics Interchange Format (GIF)

  • Auf kleinen Images kann GIF größere Kompression erreichen als PNG (sieh die Abteilung auf filesize, unten).
  • Auf den meisten Images, abgesehen von den obengenannten Fällen, wird GIF größer sein als mit einem Inhaltsverzeichnis versehener PNG.
  • PNG gibt eine viel breitere Reihe von Durchsichtigkeitsoptionen als GIF einschließlich der Alpha-Kanaldurchsichtigkeit.
  • Wohingegen GIF auf 8 Bit mit einem Inhaltsverzeichnis versehene Farbe beschränkt wird, gibt PNG ein viel breiteres Farbspektrum Tiefen, einschließlich 24 Bit (8 Bit pro Kanal) und 48 Bit (16 Bit pro Kanal) truecolor, größere Farbenpräzision, glatter berücksichtigend, verwelken usw. Wenn ein Alpha-Kanal hinzugefügt wird, sind bis zu 64 Bit pro Pixel (vor der Kompression) möglich.
Wenn
  • sie ein Image vom PNG-Format bis GIF umwandelt, kann die Bildqualität wegen posterization leiden, wenn das PNG Image mehr als 256 Farben hat.
  • GIF unterstützt wirklich belebte Images. PNG unterstützt Zeichentrickfilm nur über inoffizielle Erweiterungen (sieh die Abteilung auf dem Zeichentrickfilm, oben).

PNG Images werden durch ältere Browser weniger weit unterstützt. Insbesondere IE6 hat Unterstützung für PNG beschränkt. Da Benutzer neuere Browser annehmen, wird das weniger von einem Problem.

Vergleich zu JPEG

JPEG (Joint Photographic Experts Group) Format kann eine kleinere Datei erzeugen als PNG für den fotografischen (und einem Foto ähnlich) Images seit JPEG, verwendet einen lossy Verschlüsselung der für fotografische Bilddaten spezifisch entworfenen Methode, der normalerweise durch den weichen, die Übergänge der niedrigen Unähnlichkeit und einen Betrag des Geräusches oder der ähnlichen unregelmäßigen Strukturen beherrscht wird. Das Verwenden von PNG statt eines hochwertigen JPEG für solche Images würde auf eine große Zunahme in filesize mit dem unwesentlichen Gewinn qualitativ hinauslaufen. Im Vergleich, wenn es Images versorgt, die Text, Linienkunst, oder Grafik - Images mit scharfen Übergängen und großen Gebieten der festen Farbe enthalten - kann das PNG-Format Bilddaten mehr zusammenpressen, als JPEG, und ohne die erkennbaren Sehkunsterzeugnisse kann, die JPEG um Hoch-Kontrastgebiete erzeugt. Wo ein Image sowohl scharfe Übergänge als auch fotografische Teile enthält, muss eine Wahl zwischen den zwei Effekten gemacht werden. JPEG unterstützt Durchsichtigkeit nicht.

Weil JPEG lossy Kompression verwendet, leidet er unter dem Generationsverlust, wo wiederholt die Verschlüsselung und die Entzifferung eines Images progressiv Information verlieren und das Image erniedrigen. Weil PNG lossless ist, ist es ein passendes Format, um zu editierende Images zu versorgen. Während PNG vernünftig effizient ist, wenn er fotografische Images zusammenpresst, gibt es lossless Kompressionsformate entworfen spezifisch für fotografische Images, lossless JPEG 2000 und Adobe DNG (Digitalverneinung) zum Beispiel. Jedoch werden diese Formate entweder nicht weit unterstützt oder Eigentums-. Ein Image kann ins JPEG-Format für den Vertrieb gespart werden, so dass der einzelne Pass der JPEG-Verschlüsselung das Image nicht merklich erniedrigen wird.

Die PNG Spezifizierung schließt keinen Standard für eingebettete Bilddaten von Exif von Quellen wie Digitalkameras ein. ZANK, JPEG 2000 und DNG unterstützt EXIF Daten.

Frühe WWW-Browser haben PNG Images nicht unterstützt; JPEG und GIF waren die Hauptbildformate. JPEG wurde allgemein verwendet, als man Images exportiert hat, die Anstiege für Webseiten wegen der beschränkten Farbentiefe von GIF enthalten. Jedoch veranlasst JPEG Kompression einen Anstieg, ein bisschen zu verschwimmen. Eine PNG Datei wird einen Anstieg so genau wieder hervorbringen wie möglich für eine gegebene Bit-Tiefe, während sie die Dateigröße klein halten wird. PNG ist die optimale Wahl für kleine Anstieg-Images als WWW-Browser-Unterstützung für das verbesserte Format geworden.

Vergleich zu JPEG-LS

JPEG-LS ist "nahe - lossless" Bildformat durch Joint Photographic Experts Group, obwohl viel weniger weit bekannt und unterstützt, als der andere lossy JPEG Format, das oben besprochen ist. Es ist mit PNG direkt vergleichbar, und hat einen Standardsatz von Testimages. Auf dem Waterloo Repertoire leisten ColorSet, ein Standardsatz von Testimages (ohne Beziehung zum JPEG-LS Übereinstimmungstestsatz), JPEG-LS allgemein besser als PNG durch 10-15 %, aber auf einigen Images leistet PNG wesentlich besser auf der Ordnung von 50-75 %. So, wenn beide dieser Formate Optionen sind und Dateigröße ein wichtiges Kriterium ist, sollten sie beide abhängig vom Image betrachtet werden.

Vergleich zum ZANK

Tagged Image File Format (TIFF) ist ein Format, das eine äußerst breite Reihe von Optionen vereinigt. Während das ZANK nützlich als ein allgemeines Format für den Austausch zwischen Berufsbildredigieren-Anwendungen macht, macht es das Hinzufügen der Unterstützung dafür zu Anwendungen eine viel größere Aufgabe, und so hat es wenig Unterstützung in Anwendungen, die nicht mit der Bildmanipulation (wie WWW-Browser) betroffen sind. Es bedeutet auch, dass viele Anwendungen nur eine Teilmenge von Typen TIFF lesen können, mehr potenzielle Benutzerverwirrung schaffend.

Der allgemeinste Mehrzweck-, lossless mit dem ZANK verwendeter Kompressionsalgorithmus ist Lempel-Ziv-Welch (LZW). Diese Kompressionstechnik, die auch in GIF verwendet ist, wurde durch Patente bis 2003 bedeckt. Es gibt eine ZANK-Variante, die denselben Kompressionsalgorithmus wie PNG Gebrauch verwendet, aber er wird durch viele Eigentumsprogramme nicht unterstützt. ZANK bietet auch speziellen Zweck lossless Kompressionsalgorithmen wie CCITT Group IV an, der bilevel Images (z.B, Fax oder Schwarzweißtext) besser zusammenpressen kann als der Kompressionsalgorithmus von PNG.

Softwareunterstützung

Punktgrafik-Redakteur unterstützt für PNG

Populäre Grafikprogramme, die das PNG-Format unterstützen, schließen Adobe Photoshop, das Photofarbe- und Farbe-Geschäft von Corel Pro, der GIMP, GraphicConverter, der Helicon Filter, Inkscape, IrfanView, der Pixel-Bildredakteur, Paint.NET und das Xara Foto & der Grafische Entwerfer ein. Einige Programme haben sich mit populären Betriebssystemen davongemacht, die PNG unterstützen, schließen die Farbe des Microsofts und iPhoto des Apfels und Vorschau mit dem GIMP ein, der auch häufig mit dem populären Vertrieb von Linux wird stopft.

Adobe Fireworks (früher durch Makromedia) verwendet PNG als sein heimisches Dateiformat, anderen Bildredakteuren und Vorschau-Dienstprogrammen erlaubend, das glatt gemachte Image anzusehen. Jedoch, Feuerwerk versorgt standardmäßig auch meta Daten für Schichten, Zeichentrickfilm, Vektor-Daten, Text und Effekten. Solche Dateien sollten direkt nicht verteilt werden. Feuerwerk kann stattdessen das Image als ein optimierter PNG ohne die meta Extradaten für den Gebrauch auf Webseiten usw. exportieren.

Einige Bildverarbeitungsprogramme haben PNG Kompressionsprobleme, hauptsächlich verbunden, um von der vollen Durchführung der PNG Kompressor-Bibliothek zu fehlen. Diese schließen ein:

  • Die Farbe des Microsofts für Windows XP
  • Microsoft Picture It! Foto-Prämie 9
  • ältere Versionen von Adobe Photoshop.

Das Feuerwerk von Adobe wird manchmal in diese Kategorie gelegt, aber seine Schwierigkeiten sind weniger streng als die anderen Einträge. Die Verwirrung stammt von einem Missverständnis der Mechanik von seinem, Sparen Sie Format: Obwohl PNGs, die durch diese Auswahl erzeugten Zwischenimages große, private Klötze einschließen, die ganze Schicht und Vektor-Information enthalten, die weiter, lossless das Redigieren erlaubt. Richtig gespart mit der Exportauswahl sind die PNGs von Feuerwerken mit denjenigen konkurrenzfähig, die von anderen Bildredakteuren erzeugt sind, aber sind nicht mehr editable, wie fast glatt gemacht, bitmaps. Feuerwerk ist unfähig, Größe-optimierten Vektoren-editable PNGs zu sparen.

WWW-Browser-Unterstützung für PNG

PNG unterstützen zuerst ist in Internet Explorer 4.0b1 und in Netscape 4.04 erschienen.

Trotz Anrufe durch die Organisation zur Förderung freier Software und das Konsortium des World Wide Web (W3C), Werkzeuge wie gif2png und Kampagnen wie Brandwunde der Ganze GIFs, ist die PNG Adoption auf Websites wegen der späten und verwanzten Unterstützung in Internet Explorer besonders bezüglich der Durchsichtigkeit ziemlich langsam gewesen.

Wie man

findet, ist PNG im Gebrauch weniger als GIF aus einigen Gründen:

  • Keine Unterstützung auf alten Browsern (wie Internet Explorer unter der Version 4).
  • Kein Zeichentrickfilm, noch Images nur (verschieden von GIF, obwohl das inoffizielle APNG-Format von Mozilla eine potenzielle Lösung ist).

PNG vereinbare Browser schließen ein: Apple Safari, Google Chrom, Mozilla Firefox, Oper, Camino, Internet Explorer 7 (noch zahlreiche Probleme), Internet Explorer 8 (noch einige Probleme), Internet Explorer 9 und viele andere. Für den ganzen Vergleich, sieh Vergleich von WWW-Browsern (Bildformat-Unterstützung).

Jedoch haben Versionen von Internet Explorer (Windows) unten 9.0 zahlreiche Probleme, die es daran verhindern, PNG Images richtig zu machen.

  • 4.0 Unfälle auf großen PNG Klötzen.
  • 4.0 schließt die Funktionalität nicht ein, um.png Dateien anzusehen, aber es gibt eine üble Registrierungslage.
  • 5.0 und 5.01 haben GEGENSTAND-Unterstützung gebrochen.
  • 5.01 Druckpalette-Images mit dem Schwarzen (oder dunkelgrau) Hintergründe unter Windows 98, manchmal mit radikal veränderten Farben.
  • 6.0 scheitert, PNG Images von 4097 oder 4098 Bytes in der Größe zu zeigen.
  • 6.0 kann keine PNG Datei öffnen, die eine oder mehr Nulllänge IDAT Klötze enthält. Dieses Problem wurde zuerst in der Sicherheitsaktualisierung 947864 (MS08-024) befestigt. Für mehr Information, sieh diesen Artikel im Microsoft Knowledge Base: 947864 MS08-024: Kumulative Sicherheit Aktualisierung für Internet Explorer
  • 6.0 manchmal völlig verliert Fähigkeit, PNGs zu zeigen, aber es gibt verschiedene üble Lagen.
  • 6.0 und haben unten gebrochen Durchsichtigkeitsunterstützung des Alpha-Kanals (wird die Verzug-Hintergrundfarbe stattdessen zeigen). Jedoch gibt es verschiedene üble Lagen.
  • 7.0 und kann unten 8-Bit-Alpha-Durchsichtigkeit UND Element-Undurchsichtigkeit nicht verbinden (CSS - Filter: Alpha (opacity=xx)), ohne teilweise durchsichtige Abteilungen mit dem Schwarzen zu füllen.
  • 8.0 und haben unten inkonsequente/gebrochene Gammaunterstützung.
  • 8.0 und haben unten Farbenkorrektur-Unterstützung nicht.

Betriebssystembetreuung für PNG Ikonen

PNG Ikonen sind im grössten Teil des Vertriebs von Linux seitdem mindestens 1999 in Tischumgebungen wie ZWERG unterstützt worden. 2006 wurde die Windows-Unterstützung von Microsoft für PNG Ikonen in der Windows-Aussicht eingeführt. PNG Ikonen werden in AROS, Mac OS X und MorphOS ebenso unterstützt.

Dateigröße und Optimierungssoftware

PNG Dateigröße kann sich bedeutsam je nachdem ändern, wie sie verschlüsselt und zusammengepresst wird; das wird besprochen, und mehrere Tipps werden in PNG gegeben: Der Endgültige Führer.

Im Vergleich zu GIF

Im Vergleich zu GIF Dateien wird eine PNG Datei mit derselben Information (256 Farben, kein untergeordneter chunks/metadata), zusammengepresst durch einen guten Kompressor häufig kleiner sein als GIF. Abhängig von der Datei und dem Kompressor kann sich PNG vom etwas kleineren (10 %) zum bedeutsam kleineren (50 %) zum etwas größeren (5 %) erstrecken, aber ist für große Images selten bedeutsam größer. Das wird der Leistung von PNG'S zugeschrieben DEFLATIONIEREN im Vergleich zum LZW von GIF, und weil die zusätzliche Vorkompressionsschicht der prophetischen Filter von PNG die 2-dimensionale Bildstruktur zu weiteren Kompresse-Dateien in Betracht zieht; als gefilterte Daten verschlüsselt Unterschiede zwischen Pixeln, sie werden dazu neigen, sich näher an 0 zu sammeln, anstatt über alle möglichen Werte ausgebreitet zu werden, und so leichter dadurch zusammengepresst zu werden, DEFLATIONIEREN.

Dateigröße-Faktoren

PNG Dateien ändern sich in der Größe wegen mehrerer Faktoren:

Farbentiefe: Farbentiefe kann sich von 1 bis 64 Bit pro Pixel erstrecken.

Hilfsklötze: PNG unterstützt metadata — das kann für das Redigieren nützlich, aber für die Betrachtung, als auf Websites unnötig sein.

sich verflechtend: Da jeder Pass des Adam7 Algorithmus getrennt gefiltert wird, kann das Dateigröße vergrößern.

Filter: Als eine Vorkompressionsbühne wird jede Linie durch einen prophetischen Filter gefiltert, der sich von der Linie bis Linie ändern kann. Da die äußersten Schritt DEFLATIONIEREN, funktioniert auf den gefilterten Daten des ganzen Images, man kann das Reihe-für-Reihe nicht optimieren; die Wahl des Filters für jede Reihe ist so potenziell sehr variabel, obwohl Heuristik besteht.

Kompression: Mit der zusätzlichen Berechnung, DEFLATIONIEREN SIE Kompressoren kann kleinere Dateien erzeugen.

Es gibt so einen filesize Umtausch zwischen der hohen Farbentiefe, maximaler metadata (einschließlich der Farbenrauminformation, zusammen mit der Information, die Anzeige nicht betrifft), das Verflechten und die Geschwindigkeit der Kompression, der der ganze Ertrag große Dateien, mit niedrigerer Farbentiefe, weniger oder keinen Hilfsklötzen, nicht Verflechten, und abgestimmter, aber rechenbetont intensiver Entstörung und Kompression. Zu verschiedenen Zwecken wird man verschiedene Umtausche wählen: Eine maximale Datei kann dafür am besten sein, zu archivieren und zu editieren, während ein abgezogener unten ablegt, kann für den Gebrauch auf einer Website am besten sein, und ähnlich schnelle, aber schlechte Kompression wird bevorzugt, wenn man wiederholt editiert und eine Datei spart, während langsame, aber hohe Kompression bevorzugt wird, wenn eine Datei stabil ist: Wenn man archiviert oder dahineilt.

Das Verflechten ist ein Umtausch: Es beschleunigt drastisch früh Übergabe von großen Dateien (verbessert Latenz), aber kann Dateigröße (Abnahme-Durchfluss) für wenig Gewinn besonders für kleine Dateien vergrößern.

Bildredigieren-Software

Bildredigieren-Software ändert sich in seiner Behandlung von PNGs.

Weil GIF de facto auf 256 Farben beschränkt wird (GIF87a Standard), müssen Bildredakteure die Farbentiefe automatisch reduzieren, wenn sie ein Image im GIF-Format sparen. Häufig, wenn Leute dasselbe truecolor Image wie PNG und GIF sparen, sehen sie, dass der GIF kleiner ist, und begreifen Sie nicht, dass das wegen der Farbentiefe-Verminderung ist, und dass es möglich ist, einen 256-farbigen PNG zu schaffen, der identische Qualität zum GIF mit einer kleineren Dateigröße hat. Weiter können einige Werkzeuge PNG Dateien als 24 Bit automatisch schaffen, selbst wenn das Quellimage 8 Bit, bloating die Datei ist.

Das führt zur falschen Auffassung, dass PNG Dateien größer sind als gleichwertige GIF Dateien.

Einige Versionen von Adobe Photoshop, CorelDRAW und FRAU Paint stellen schlechte PNG Kompressionsanstrengung zur Verfügung, weiter der Idee Brennstoff liefernd, dass PNG größer ist als GIF. Viele Grafikprogramme (wie die Vorschau-Software des Apfels) sparen PNGs mit großen Beträgen von metadata und Farbenkorrektur-Daten, die für die Webbetrachtung allgemein unnötig sind. Unoptimierte PNG Dateien von Adobe Fireworks sind auch dafür notorisch, da sie Optionen enthalten, das Image editable in unterstützten Redakteuren zu machen. Auch CorelDRAW (mindestens Version 11) erzeugt manchmal PNGs, der durch Internet Explorer nicht geöffnet werden kann (6-8) Versionen.

Die Leistung von Adobe Photoshop auf PNG Dateien hat sich im CS Gefolge verbessert, wenn sie Bis auf die Webeigenschaft verwendet (der auch ausführlichen PNG/8-Gebrauch erlaubt).

Optimierung von Werkzeugen

Verschiedene Werkzeuge sind verfügbar, um PNG Dateien zu optimieren; sie tun das durch:

  • (fakultativ) umziehende Hilfsklötze,
  • das Reduzieren der Farbentiefe, auch:
  • verwenden Sie eine Palette (statt RGB), wenn das Image 256 oder weniger Farben, hat
  • verwenden Sie eine kleinere Palette, wenn das Image 2, 4, oder 16 Farben oder hat
  • (fakultativ) verwerfen lossily einige der Daten im ursprünglichen Image,
  • die Optimierung der Linie-für-Linie-Filterwahl und
des
  • Optimierung DEFLATIONIERT Kompression.

Da einige Werkzeuge PNG-spezifisch sind, während andere nur optimieren, DEFLATIONIEREN, im allgemeinen muss eine Kombination von 2 Werkzeugen in der Folge für die optimale Kompression verwenden: Derjenige, der Filter optimiert (und entfernt Hilfsklötze) und derjenige, der optimiert, DEFLATIONIEREN. Meistens wird OptiPNG für das erste verwendet (NICHTDEFLATIONIEREN) Schritt, und entweder AdvanceCOMP oder PNGOUT wird für den DEFLATIONIEREN Schritt verwendet.

Hilfsklotz-Eliminierung

Um Hilfsklötze zu entfernen, sind pngcrush und PNGOUT in der Lage, alle Farbenkorrektur-Daten von PNG Dateien (Gamma, weißes Gleichgewicht, ICC Farbenprofil, RGB Standardfarbenprofil) zu entfernen. Das läuft häufig auf viel kleinere Dateigrößen hinaus. Die folgenden Befehl-Linienoptionen erreichen das mit pngcrush:

Filteroptimierung

Um Filter zu optimieren, sind OptiPNG und pngcrush beide offene Quellsoftware optimizers, dass geführt von einer Befehl-Linie von Unix oder einem Windows-Befehl Schnell, und effektiv die Größe von PNG Dateien reduzieren. OptiPNG hat auf pngcrush basiert und ersetzt ihn effektiv, durch das Wiederholen über eine breitere Reihe von Kompressionsrahmen und das Durchführen von Proben im Gedächtnis für die schnellere Ausführung, sowie das Durchführen automatischer Bit-Tiefe, Farbentyps und der Farbenpalette-Verminderung wo möglich.

DEFLATIONIEREN SIE Optimierung

AdvanceCOMP und der PNGOUT von Ken Silverman und der pngcrush von Glenn Randers-Pehrson und Image:: Pngslimmer verwenden DEFLATIONIEREN Kompressionsalgorithmen, die mehr erschöpfend sind und kleinere Dateien erzeugen als die Bezugsdurchführung, zlib, der durch die anderen Kompressoren verwendet wird.

Streifband-Werkzeuge

Streifband-Werkzeuge, die diesen Arbeitsablauf vereinfachen, schließen ein: ImageOptim, ein GUI Vorderende für Mac OS X; Web von Kaschmir Optimizer-GUI Vorderende für Windows; imgopt, eine Schale-Schrift der Befehl-Linie, dass auch losslessly JPEG Images optimiert; und Smush.it, ein bildoptimierender Webdienst.

Die littleutils sind ein anderes Paket der offenen Quelle, das Enthalten einer genannten Streifband-Schrift wählt-png, der pngcrush und eine Variante von pngrewrite verwendet, um Bit-Tiefe, wenn möglich, zu reduzieren. Schriften von Perl könnten Bild-Pngslimmer verwenden wollen, das etwas dynamische Optimierung erlaubt.

Die jetzige Version von IrfanView kann PNGOUT als eine Außeneinfügefunktion verwenden, das Bedürfnis nach einem getrennten Kompressor begegnend.

Ikonenoptimierung

Da Ikonen, die für die Windows-Aussicht und späteren Versionen beabsichtigt sind, PNG Subimages enthalten können, können die Optimierungen auf sie ebenso angewandt werden. Mindestens ein Ikonenredakteur, Pixelformer, ist im Stande, einen speziellen Optimierungspass durchzuführen, während er ICO Dateien dadurch spart, ihre Größen reduzierend.

Siehe auch

Weiterführende Literatur

Außenverbindungen

libpng.org

W3C

Andere


Kennwort / Potsdam Abmachung
Impressum & Datenschutz