Bærbar nettverksgrafikk

Bærbar nettverksgrafikk
logo
Filutvidelse : .png
MIME-type : bilde / png
Magisk nummer : 8950.4e47.0d0a.1a0a hex
\ x89PNG \ r \ n \ x1a \ n

( ASCII-C-notasjon )

Utviklet av: PNG Development Group (takket være W3C )
Type: Tapsfri bitmap - grafikkformat
Utvidet til: APNG , JNG , MNG
Standard (er) : ISO 15948 , IETF RFC 2083
Nettsted : libpng.org/pub/png

Portable Network Graphics ( PNG , engelsk for bærbar nettverksgrafikk , også uttalt stavelse som et akronym [ pɪŋ ]) er et rastergrafikkformat med tapsfri datakomprimering . Det er anerkjent av World Wide Web Consortium (W3C) og er det mest brukte tapsfrie grafikkformatet på Internett.

PNG var som en gratis erstatning for de eldre, i 2006 med patentkrav lastet Graphics Interchange Format designet (GIF), og er mindre komplisert enn Tagged Image File Format (TIFF). I tillegg til forskjellige fargedybder , støtter PNG også gjennomsiktighet via alfakanal . PNG-bilder er vanligvis mye større enn JPEG . I lang tid kunne ikke PNG-formatet lett vises i nettlesere, slik at det tok år å hevde seg ved siden av JPEG og GIF.

historie

Utviklingen av PNG-formatet startet i slutten av 1994, noe som er ganske sent sammenlignet med andre grafiske formater som TIFF, GIF og JFIF (JPEG). Dette ble utløst av lisensforespørsler fra programvareselskapet Unisys for Lempel-Ziv-Welch-algoritmen (LZW) brukt av GIF .

4. januar 1995 leverte Thomas Boutell et tidlig utkast (PBF Draft 1). Den første korrekte PNG-spesifikasjonen (versjon 1.0) av Thomas Boutell og Tom Lane ble den offisielle anbefalingen fra World Wide Web Consortium (W3C) 1. oktober 1996 . 14. oktober 1996 ble PNG tildelt MIME-typen av Internet Assigned Numbers Authority (IANA) . 15. januar 1997 ble PNG godkjent av Internet Engineering Task Force (IETF) som RFC 2083 . 31. desember 1998 ble PNG-spesifikasjonen versjon 1.1, revidert av Adam Costello og Glenn Randers-Pehrson, publisert. 11. august 1999 ga Glenn Randers-Pehrson endelig ut den siste versjonen 1.2. Dette ble hevet til ISO- standarden ISO / IEC 15948: 2003 10. november 2003 og ble samtidig den andre utgaven av W3C-anbefalingen. image/png

PNG-formatet er nå mye brukt; Fremfor alt har den erstattet GIF i grafikk som er svært komprimerbar uten tap, for eksempel knapper, ikoner og logoer. Det brukes for det meste bare til bilder hvis deres tapsfrie lagring har forrang over en liten datastørrelse, siden tapte komprimering (f.eks. Av JPEG) bilder i. A. kan komprimere enda mer, uten betydelig tap av kvalitet for det menneskelige øye.

eiendommer

Fargemodi og presisjon

PNG-formatet gir muligheter for gråtoner , fullfarge og fargepalett , samt gråtoner og fargemodus med alfakanal (fargetyper 0, 2, 3, 4 og 6).

Fargedybder

For gråtonebilder kan oppløsningen være 1, 2, 4, 8 eller 16 bits per piksel, for fargebilder 8 ( RGB 8) eller 16 bits (RGB16) per fargekanal . Alternativt kan fargebilder lagres med opptil 256 indekserte farger ved hjelp av fargepalettmodus. De indekserte fargene kan velges fritt fra hele RGB8-spekteret.

gjennomsiktighet

PNG-filer kan inneholde gjennomsiktighetsinformasjon, enten i form av en alfakanal, som en enkelt gjennomsiktig farge, eller som en gjennomsiktighetspalett som supplerer en eksisterende fargepalett som inneholder en gjennomsiktighetsverdi for hver palettfarge.

PNG støtter alfakanaler med 8 eller 16 bit dybde. Det er en kanal med tilleggsinformasjon for hver piksel. Dette indikerer opasiteten i forskjellige nivåer av hvor mye av bakgrunnen til et bilde som skal skinne gjennom. Hvis denne verdien er 0, skinner bakgrunnen 100% helt. Hvis maksimumsverdien på 255 er spesifisert for en dybde på 8 bits (eller 65535 for 16 bits), tilsvarer dette fullstendig dekning. I dette tilfellet er bakgrunnen ikke synlig.

PNG-formatet gjør at kantene på tekst og bilder kan glattes uavhengig av bakgrunn . Du kan bruke ekte dropskygger som gjemmer seg i bakgrunnen.

Metadata og datablokker

PNG-filer består av forskjellige datablokker ("biter"), hver med forskjellige funksjoner, som identifiseres med en streng på fire bokstaver (for eksempel tekst for tekstinformasjon). I tillegg til de obligatoriske blokkypene IHDR, IDAT, PLTE og IEND, som hver implementering må støtte, er andre valgfrie datablokker standardisert. Disse kan inneholde metadata om bildeinnholdet og annen tilleggsinformasjon, for eksempel fargekorrigering . Disse kan redigeres med programmer som TweakPNG . Applikasjoner kan også definere private datablokker for egne formål. Adobe Fireworks bruker PNG som applikasjonsformat og bruker private datablokker for å lagre diverse annen informasjon i den. Imidlertid er det også en risiko for forveksling med de mye mindre, normale PNG-filene.

Tekniske detaljer

Filhode

En PNG-fil begynner alltid med følgende åtte-byte signatur ( magisk nummer ):

Byte (r) (sekskant) kommentar
89 Tabulator med bit 7 sett
50 4E 47 ASCII tegnstreng "PNG"; lar deg enkelt identifisere filformatet når du ser det i tekst eller i et tekstredigeringsprogram.
0D 0A CR og LF ( MS-DOS - typisk linjeavslutning)
1A End of File- tegnet .
Denne byten vil avbryte utdataene hvis filen ble sendt ut med MS-DOS-kommandoen TYPE , for eksempel .
0A Linjeskift

Kompresjon

Eksempelfil med forskjellige typer innhold
Representasjon av bitkostnadene per piksel av ovennevnte PNG-bilde
(mørk / blå: lave bitkostnader, grønn: middels kostnader, rød: høy bitkostnad)

Den tapsfrie datakomprimeringen i PNG er basert på flere, noen ganger valgfrie, behandlingstrinn. For det første kan verdiene til nærliggende piksler dekorreleres med et forfilter for å kunne beskrive dem på en mer komprimerbar måte via en forskjell i forhold til nærliggende verdier. En substitusjonskomprimeringsmetode kan deretter brukes til å prøve å gjenkjenne gjentatte bildemønstre og erstatte dem med kortere referanser til en tidligere forekomst. Til slutt brukes en entropikoding som bruker sannsynligheten for forekomst av individuelle verdier ved å erstatte verdiene sortert etter sannsynlighet med koder med variabel lengde.

Det tilstøtende “bananbildet” viser hvilke bildeområder som kan komprimeres og hvor effektivt.

Dekorrelasjon

Et PNG-bilde med 256 farger som bare er 251 byte i størrelse takket være forfilteret. Det samme bildet som en GIF-fil ville være mer enn 13 ganger størrelsen.

Som regel korrelerer fargeverdien til et bildepunkt med verdiene til nærliggende punkter, det vil si at det er en avhengighet eller likhet. For å dra nytte av disse korrelasjonene støtter PNG forhåndsfiltre, som først avkorrelerer utdataene. Som et resultat blir bildepunkter beskrevet ved hjelp av forskjellen til nærliggende punkter ( delta-koding ). Ett av fem filteralternativer kan defineres for hver bildelinje (se nedenfor). Av hastighetsgrunner gjøres utvalget ofte heuristisk. Disse filtrene erstatter fargene på pikslene på en reversibel måte med (like mange, like store) differanseverdier. Som regel har dette differansesignalet en betydelig lavere dynamikk, dvs. verdier med i gjennomsnitt mindre mengder. Disse kan komprimeres mer effektivt ved den avsluttende entropikodingen. Jo mer enhetlig bildeinnholdet er, jo mer lønnsomt fungerer denne mekanismen. Etter at dataene er dekomprimert, brukes omvendte versjoner av filtrene for å gjenopprette de faktiske bildedataene.

Denne muligheten er en av grunnene til at PNG-filer er så små.

I den nåværende versjonen definerer PNG fem forskjellige filtertyper:

Nummer Etternavn beskrivelse
0 Ingen Ingen forfiltrering. De originale pikseldataene brukes.
1 Under Forskjellene til pikselet ved siden av venstre blir behandlet.
2 Opp Forskjellene til pikselet ovenfor blir behandlet.
3 Gjennomsnitt Forskjellen til gjennomsnittsverdien beregnes fra pikselet over og pikselet ved siden av den til venstre.
4. plass Paeth En såkalt Paeth Predictor- verdi beregnes fra pikselet ved siden av venstre, den over den og den diagonalt over venstre , som bestemmer pikselet for differensjonsdannelsen.

Noen kodere prøver flere filtre for å forbedre komprimeringen. Dette er en vanlig teknikk, spesielt med de mange verktøyene for å optimalisere PNG-komprimering.

I mange tilfeller tilbyr Paeth Predictor, oppkalt etter oppfinneren Alan W. Paeth , de beste resultatene. Med dette blir det forsøkt å automatisk bruke de mest like bildepunktene fra de nærliggende bildepunktene til venstre, øverst og øverst til venstre for differensjonsdannelsen. Funksjonen velger pikselet som kommer nærmest venstre + øverst - øverst til venstre.

Substitusjonskompresjon og koding av entropi

utføres i henhold til den populære deflate- metoden, da denne kan brukes fritt uten å bli belastet av programvarepatenter . Den inkluderer erstatningskompresjon i henhold til Storer, Szymanski, Lempel og Ziv ( LZSS-algoritme ) og entropikoding ifølge Huffman .

Mange programmer integrerer gratis deflate-biblioteket zlib for deflate-koding og dekoding ( codec ) , som opprinnelig ble opprettet spesielt for PNG. Tømmingskomprimering kan vanligvis (som i andre applikasjoner - for eksempel med ZIP-komprimering) settes i utgangsprogrammet i 10 nivåer fra 0 (ingen) til 9 (best).

Så langt er Deflate den eneste metoden som støttes. Imidlertid har det blitt lagt igjen rom for utvidelser for å støtte andre, mer effektive eller raskere algoritmer i fremtidige PNG-versjoner. For å sikre nedoverkompatibilitet med eksisterende PNG-kompatible programmer, er det foreløpig ingen planer om å inkludere andre metoder i standarden.

kompatibilitet

Fargeprofiler

Med unntak av Safari og Firefox (etter aktivering) har ingen nettlesere ennå støttet innebygde fargeprofiler (iCCP-blokker). Derfor tilbyr de ikke full fargestyring. Fordi Safari er den eneste nettleseren som viser komplette fargeprofiler, er det for øyeblikket ikke mulig å vise enhetlig og plattformvis visning av bilder i PNG-format med innebygd fargeprofil. Denne funksjonen er planlagt for fremtiden, i det minste for Firefox-nettleseren. Innebygde gammakorreksjonsverdier (gAMA-blokker) blir derimot riktig gjenkjent og behandlet av de fleste nåværende nettlesere.

gjennomsiktighet

Microsoft Internet Explorer opp til versjon 6 hadde problemer med visning av gjennomsiktige PNG-filer med en alfakanal; PNG-filer med binær ("ja / nei") gjennomsiktighet ble imidlertid vist uten feil.

Lovlig

PNG-formatet er ikke underlagt noen patentbegrensning . Enhver programvareprodusent kan derfor publisere programmer som kan lese og skrive PNG uten å betale lisensavgift.

sammenligning

fordeler

  • Komprimeringen er tapsfri og stort sett mer kompakt enn sammenlignbare formater.
  • Støtte for alfa-gjennomsiktighet (opptil 16 bits, dvs. 65.536 nivåer; 8 bits er vanlige).
  • Støtte for korreksjonsmekanismer for farge og lysstyrke for å sikre at et bilde ser omtrent likt ut på forskjellige systemer.
  • Formatet er underlagt en fast standard og kan utvides, slik at hvert program teoretisk sett må oppfylle visse minimumskrav. I tillegg er PNG både oppover og nedover kompatibel, noe som reduserer inkompatibilitet mellom forskjellige versjoner.
  • Integrerte sjekksummer gjør det mulig å oppdage feil i filen på et tidlig tidspunkt.
  • PNG-filer er streambare , noe som betyr at tolkningen av filinnholdet ikke krever tilfeldig tilgang, slik tilfellet er med mange TIFF- filer.
  • En valgfri interlacing med 7 løp i henhold til Adam M. Costello (" Adam7 ") er tilgjengelig, dvs. den gradvise bildebyggingen under overføring over langsomme datalinjer. Selv med svært lite overføring er en relativt nyttig skjerm mulig.
  • Støtte fra alle grafiske nettlesere er tilgjengelig (i Internet Explorer støttes imidlertid alfa-gjennomsiktighet bare fra versjon 7.0).

ulempe

  • Den offisielle måten å vise animasjoner på er MNG- formatet, som ikke støttes av noen nettleser. I stedet har APNG- formatet seiret for animert PNG . PNG kan også animeres som spritesheets ved hjelp av forskjellige webteknologier , som støttet av Facebook , for eksempel i motsetning til animerte GIF-er.
  • PNG støtter ikke CMYK-fargemodellen og er derfor ikke egnet som en komplett TIFF- erstatning.
  • Innebygd metainformasjon støttes, men den er ikke i samsvar med Exif- eller IPTC-standarden .
  • PNG tillater ikke enkel lasting av deler av et bilde. Hvis du bare vil laste inn en del av bildet, må du laste alle bildelinjene på forhånd. Når det gjelder PNG-filer som er lagret sammenflettet i stedet for sekvensielt, må enda flere lastes inn.
  • Med visse typer bilder (f.eks. Bilder) oppnår formatet i prinsippet ikke kompresjonshastighetene til tapte algoritmer som JPEG . Algoritmer som spesialiserer seg i visse klasser med bildedata, for eksempel for skannede dokumenter ( f.eks. JBIG2 ), komprimerer også slikt innhold sterkere enn PNG.

Sammenligning med grafikkutvekslingsformat (GIF)

I mangel av animasjonsalternativer er PNG et ufullstendig alternativ til GIF- format. Animasjonsalternativer er outsourcet til et eget format med PNG. De to formatene sammen skal helt erstatte GIF; dette har ikke skjedd den dag i dag.

I tillegg til fargepalettmodus støtter PNG også bilder i full farge og gråtoner med en presisjon på opptil 16 bits per fargekanal. Med GIF er det bare mulig å erklære en av palloppføringene som helt gjennomsiktige.

Den komprimering av PNG er vanligvis bedre enn GIF. Forfiltrene er grunnen til at PNG-filer vanligvis tar mindre plass. På den annen side er imidlertid kompleksiteten i formatet også høyere.

Med PNGs progressive bildestruktur med Adam7 interlacing, oppstår betydelig mindre bildeforvrengning enn med GIF.

Fram til 2004 ble bruken av GIF begrenset av bruken av den patenterte LZW- algoritmen, som PNG var gratis fra begynnelsen. (GIF var fremdeles begrenset av andre patenter frem til oktober 2006.)

Beslektede formater

Verken MNG, JNG eller APNG eller PNG + er W3C-anbefalinger.

programvare

Den offisielle referanseimplementeringen for PNG-formatet er libpng- programbiblioteket . Det er underlagt en gratis programvarelisens og blir derfor vanligvis også funnet som et viktig systembibliotek i gratis operativsystemer. PNGOUT og Zopfli PNG er velkjente PNG-kodere optimalisert for den mest kompakte komprimeringen. Det finnes en rekke hjelpeprogrammer for filstørrelsesoptimalisering for PNG-filer, som hovedsakelig er kjent for deres bruk i optimalisering av lastetider på nettsteder, og som ofte er basert på disse to spesielle koderne. Mange programmer lagrer ikke PNG-bilder optimalt, noe som fører til unødvendig store filer. Ulike programmer som pngcrush , OptiPNG eller andre muliggjør tapsfri komprimering og ofte mye mindre filer.

Alle moderne nettlesere støtter nå formatet. Viktige bildebehandlingsprogrammer støtter det vanligvis både i lesing og skriving.

litteratur

weblenker

Commons : Portable Network Graphics  - samling av bilder, videoer og lydfiler

Individuelle bevis

  1. Bildemedietyper. Internet Assigned Numbers Authority , 27. september 2009, åpnet 6. oktober 2010 .
  2. PNG (Portable Network Graphics) Spesifikasjon, versjon 1.2. 12.12. PNG-filsignatur. 14. juli 1999, åpnet 6. oktober 2010 .
  3. Bruk av bildefilformater for nettsteder , engelsk
  4. Sibylle Mühlke: Adobe Photoshop CC, 7. utgave 2018, s.1051
  5. Linux Foundation Wiki: LibPNG - Spesifikasjon Oversikt ( Memento av den opprinnelige fra 05.09.2014 i Internet Archive ) Omtale: The arkivet koblingen ble satt inn automatisk og har ennå ikke blitt sjekket. Kontroller originalen og arkivlenken i henhold til instruksjonene, og fjern deretter denne meldingen. @1@ 2Mal: Webachiv / IABot / wiki.linuxfoundation.org
  6. Jason Summers: TweakPNG , engelsk
  7. Sammenligning av egenskapene (inkludert komprimering) av BMP, GIF, PNG, JPEG, TIFF, PCX og TGA , åpnet 10. oktober 2012
  8. Stephan T. Lavavej: Introduksjon til PNG. I: nuwen.net. Hentet 6. oktober 2010 .
  9. libpng. Hentet 13. juli 2013 .
  10. Cosmin Truţa: En guide til PNG-optimalisering . (med katalog over programmer for tapsfri komprimering, engelsk)