Visita Encydia.com

Portable Network Graphics

De Vikipedio, la libera enciklopedio

(Alidirektita el PNG)
Desarrollador
Ĝenerala informo
Etendo de arkivo .png
Type code PNGf
PNG
Uniform Type Identifier public.png
Etendita al APNG, JNG kaj MNG
Normo(estas) ISO 15948, IETF RFC 2083

PNG (Portable Network Graphics) estas grafikaj grafika formato bazita en algoritmo de compresión sen perdo]] por bitmaps ne subjekto al evidentas. Ĉi tiu formato estis disvolvita en bona parto por solvi la deficiencias de la formato GIF kaj ĝi permesas stoki bildojn kun plej granda profundo de kontrasto kaj aliaj gravaj datumoj.

La bildoj PNG uzas la etendon .png Kaj ili akiris tipo TRODORLOTU (image/png) aprobita la 14 de oktobro de 1996.

Historio kaj disvolviĝo 

La motivaciones por krei la formaton PNG generis en 1995, despues ke Unisys anoncis ke ĝi farus plenumi la patenton de programaro de la algoritmo de compresión de datumoj LZW uzita de la GIF (evidenta de Usono 4.558.302 Kaj aliaj ĉirkaŭ la globo). Estis aliaj problemoj kun la formato GIF kiu hacian deseable ŝanĝo, ekzemple lia limigo al paletas de 8 bitoj de 256 koloroj kiel maksimuma, kiam la komputiloj jam elportis miloj aŭ milionoj de koloroj.

Origine PNG estis acrónimo recursivo kiu signifis PNG ne estas GIF (PNG's Not GIF).

Kvankam GIF elportas kuraĝigon, la PNG disvolvis kiel formato de statika bildo kaj ĝi kreis la formaton MNG kiel lia vigla varianto.

La PNG gajnis plej grandan popularecon en aŭgusto de 1999 kiam Unisys finis al lian politikon de licencoj de liberaj patento de rajtoj por la desarrolladores de libera programaro aŭ ne komerca.

  • Especificación De la versio 1.0 de PNG estis ĵetita la 1 de julio de 1996 kaj ĝi poste aperis kiel RFC 2083. Ĝi rapide igis rekomendon W3C la 1 de oktobro de 1996
  • Versio 1.1 kun iuj malgrandaj ŝanĝoj kaj kun 3 novaj etendoj aŭ "chunks" estis liberigita la 31 de decembro de 1998
  • Versio 1.2. Nova etendo. Liberigita la 11 de aŭgusto de 1999
  • Nova versio, iomete malsama de la antaŭa kaj kun nova etendo. Nuntempe PNG estas internacia normo (ISO/IEC 15948:2003), ankaŭ rekomendita por la W3C la 10 de novembro de 2003.
  • La normo de 2004 estas (ISO/IEC 15948:2004)
Teknikaj detaloj

Arkivo PNG komencas kun subskribo de 8 bajtoj, vi taksas je ilin deksesuma estas: 89 50 4Kaj 47 0D 0Al 1Al 0Al, la decimalaj valoroj estas: 137 80 78 71 13 10 26 10; ĉiu valoro ĉi tiu tie por specifa kialo.

Bajto(s) Intenco
89 Havas la plej altan biton posteno al 1 por detekti sistemojn de transdono kiu ne elportas datumojn de 8 bitoj kaj por redukti la riskon kiu dosiero de teksto estas erare interpretita kiel PNG.
50 4Kaj 47 En ASCII, la literoj "PNG" permesante ke persono identigas la formaton en kazo de vidi ĝin en eldonisto de teksto.
0D 0Al nova linio kun stilo DU (CRLF) por detekti la konvertiĝojn de fino de linio inter DU kaj UNIKSO.
1Al bajto kiu detenas la disfaldu de la dosiero sub DU kiam uzis la comando TYPE.
0Al nova linio en UNIKSO (LF) por detekti la konvertiĝon de fino de linio inter DU kaj UNIKSO.

Segmentoj de la arkivo

Post la kaploko trovas serion de segmentoj de kiuj ĉiu gardas iun informon alproksimigas de la bildo. La segmentoj autodeclaran kiel maltrankviligaj (critical) aŭ helpantoj (ancillary) tiel ke programo kiu trovas helpan segmenton kaj ne lin komprenas povas ignori ĝin sen danĝero. La strukturo bazita en segmentoj estas desegnita por povi pligrandigi la formaton PNG subtenante la kongruo kun malnovaj versioj.

Ĉiu de la sekcioj havas kaplokon kiu specifu lian grandecon kaj tipon, tuj sekvita de la datumoj kaj la checksum de la datumoj. La sekcioj havas nomon de 4 literoj kiuj estas sentiva al la majuskloj. La uzo de majuskloj aŭ minuskulaj en koncerna nomo proveé al la decodificadores de informo alproksimigas de la sekcioj kiuj ne estas rekonitaj.

Se la unua litero estas majusklo ĉi tio hinda kiu la sekcio estas esenca, en kontraŭa kazo estos helpa. La esencaj sekcioj estas necesaj por legi la dosieron, se la decodificador trovas esencan sekcion kiu ne rekonas debeton aborti la legadon.

En la okazo ke la dua litero estas majusklo ĉi tio signifos ke la sekcio estas publika en la especificación aŭ la registro de sekcioj por specialaj intencoj, en kontraŭa kazo estos privata (ne estandarizada). Ĉi tiu uzo de majuskloj kaj minuskulaj certigas ke neniam fago konfliktoj inter privataj kaj publikaj sekcioj.

La tria litero devas esti en majuskloj por plenumi la especificaciones de PNG kaj estas rezervita por futuraj ekspansioj.

La kvara hinda litero se estas sekure kopii la sekcion en la okazo ke ne estas rekonita, en kazo de esti en minuskulaj estas sekure kopii la sekcion sen importi la kvanton de modificación kiu suferis la dosieron, se estas majusklo nur devos kopii se ne estas maltrankviligaj sekcioj kiu suferis modificaciones.Esencaj sekcioj

decodificador debeto esti kapabla de kompreni ĉi tiujn sekciojn por legi kaj renderizar  PNG:
  • IHDR, Debeto esti la unua sekcio, ĝi enhavas la kaplokon.
  • PLTE, Ĝi enhavas la paleta (lerta de koloroj).
  • IDAT, Ĝi enhavas la bildon kiu devu esti dividita en multnombraj sekcioj IDAT, farante ĉi tio pliigas la grandecon de la bildo iomete sed faras eble generi bildojn PNG en streaming.
  • IEND, Ĝi markas la finon de la bildo.

Sekcioj de metadatos

Aliaj atributoj kiuj eblas garditaj en bildo PNG estas: valoroj de gamma, koloro de la fundo kaj laŭteksta informo. PNG Ankaŭ elportas korekton de koloro kun la uzo de sistemoj de uzado de la koloro kiel sRGB.

  • bKGD, Ĝi enhavas la koloron de fundo implicite, ĝi uzas kiam ne estas pli bona disponebla koloro por montri, kiel en celilo de bildoj sed ne en navegador retejo.
  • cHRM, Bilanco de celo.
  • Gamo, ĝi specifas la gamma.
  • hIST, Ĝi gardas la histograma aŭ tuta kvanto de ĉiu koloro en la bildo.
  • iCCP, Profilo ICC de koloro.
  • iTXt, Ĝi enhavas tekston (UTF-8) kunpremita aŭ ne.
  • pHYs, Ĝi enhavas la grandecon antaŭvidita de la pixel kaj/aŭ la ratio de la bildo.
  • sBIT, (Signifaj bitoj) indikas la ekzaktecon de la koloroj en la bildo.
  • sPLT, Ĝi sugestas paleta por uzi en la okazo ke la kompleta rango de koloroj ne ĉi tiu disponebla.
  • sRGB, Hinda kiu uzas la normon sRBG koloro space.
  • tEXt, Ĝi stokas tekston kiu eblas reprezentita en ISO 8859-1 kun nomo=valoro por ĉiu sekcio.
  • Prifriponu, ĝi stokas la daton de la lasta modificación.
  • tRNS, Ĝi enhavas informon sur la travidebleco. Por bildoj indeksitaj stokas la kanalon alpha por oni aŭ pli paletas, por bildoj en reala koloro kaj skalo de grizaj stokas la informon de sola pixel kiu devu esti konsiderita tute travidebla.
  • zTXt, Ĝi enhavas tekston kunpremita kun la samaj limoj kiuj tEXt.

La unua litero en minuskulaj de ĉi tiuj hinda sekcioj kiuj ne estas necesaj en la especificación de PNG, la lasta litero en minuskulaj hinda kiu estas sekure kopii ilin inkluzive se la apliko en demando ne ilin komprenas.

Aliaj atributoj kiuj eblas stokitaj en PNG inkludas valorojn de korekto gamma, koloro de fundo kaj metadatos. PNG Krome ankaŭ uzas la korekton de koloro kiun uzas la sistemoj de administrado de koloro kiel la sRGB. Iuj programoj kiel Adobo Photoshop disponas de ĉi tiu sistemo.

Profundo de koloro

La bildoj en formato PNG eblas bildojn de paleta indeksita aŭ esti formitaj de oni aŭ pluraj kanaloj. Se ekzistas pli de kanalo, ĉiuj kanaloj havas la saman numeron de bitoj por pixel (ankaŭ nomita profundo de bitoj por kanalo). Kvankam en la especificación Oficiala de la PNG enoficigas la profundon de bitoj por kanalo, kutime la programoj de eldono enoficigas nur la tuta kvanto de bitoj por pixel, tio estas, la profundo de koloro.

La numero de kanaloj dependas de se la bildo estas en skalo de grizaj aŭ en koloro kaj se ĝi disponas de kanalo alfa (ankaŭ nomita kanalo de travidebleco). La ĉifroj permesitaj de PNG estas:

  • Skalo de grizaj (1 kanalo)
  • Skalo de grizaj kaj kanalo alfa (2 kanaloj)
  • ruĝa Kanaloj, verdo kaj blua (RGB, 3 kanaloj. Ankaŭ nomita vera koloro aŭ Truecolor)
  • ruĝa Kanaloj, verdo, blua kaj alfa (RGB + alfa, 4 kanaloj)

Aliflanke, la bildoj indeksitaj disponas de kolizias de 256 koloroj kiel maksimuma. Ĉi tiu paleta de koloroj estas stokita kun profundo de kanalo de 8 bitoj. La paleta ne povas havi pli koloroj kiuj la markitaj de la profundo de bitoj, tio estas 28=256 koloroj, kvankam ĝi jes povas havi la malpli da (ekzemple, bildo de 50 koloroj nur stokos 50 eniroj, evitante stoki datumojn kiuj ne estas uzitaj).

Tuta rango de ebloj de koloro elportitaj
Profundo de bitoj por kanalo 1 2 4 8 16
Bildo indeksita (1 kanalo) 1 2 4 8
Grimpas de grizaj (1 kanalo) 1 2 4 8 16
Grimpas de grizaj kun alfa (2 kanaloj) 16 32
vera Koloro (RGB) (3 kanaloj) 24 48
vera Koloro kun alfa (RGBA) (4 kanaloj)          32 64

La tabulo elmontrita dekstre indikas la profundon de koloro por ĉiu formato de bildo kiun vi elportu PNG. Ĉi tiu ĉerpas de la profundo de bitoj por kanalo kaj ĝi multiplikas por la numero de kanaloj. La casillas en ruĝa reprezentas ĉifrojn ne elportitaj. La normo postulas ke la decodificadorestas povas legi ĉiujn disponeblajn formatojn, sed multaj eldonistoj de bildo nur povas generi malgranda subconjunto de ili.

Travidebleco en la bildo

PNG Proponas grandan varion de ebloj de travidebleco. Kun vera koloro aŭ skalo de grizaj, inkluzive sola píxel eblas deklarita travidebla aŭ ĝi povas aldoni kanalon alfa. Por bildoj kiuj uzas paletas povas aldoni kanalon alfa en la eniroj de la paleta. La numero de koncernaj valoroj stokitaj eblas plej malgranda kiu la tuta de eniroj en la paleta, tiel ke la resto de la eniroj konsideros tute opakaj.

La serĉo de pixels kun binara travidebleco devu fari antaŭ ajna redukto de koloro por eviti ke iuj pixels igas travideblaj hazarde.

Compresión

La metodo de compresión uzita de la PNG estas konita kiel deflacio (en la angla "Deflate algorithm"). Ankaŭ ekzistas metodoj de filtrita. En la especificación 1.2 difinas solan tipon de filtrilo, kiu inkludas 5 modoj de antaŭdiro de la valoro de la pixel, kiu rezultas tre utila por plibonigi la compresión, ĝi kie elektas por ĉiu linio de la bildo (scanline) metodo de filtrita ke ĝi antaŭdiras la koloron de ĉiu píxel bazante en la koloroj de la píxeles antaŭaj kaj ĝi restas al la koloro de la píxel aktuala, la koloro pronosticado. La kvin metodoj estas: None, Sub, Up, Average kaj Paeth.

Ĉi tiuj filtriloj povas redukti notinde la grandeco fino de la arkivo, kvankam ĝi dependas en granda mezuro de la bildo de eniro. La algoritmo de compresión povas komisii de la taŭga elekto de la metodo kiun plej granda redukto proponu.

La tipo de mezumo TRODORLOTU haltas PNG estas "image/png" (aprobita la 14 de oktobro de 1996)

Kuraĝigo

APNG Estas formato bazita en PNG kiu elportas kuraĝigon. APNG Elportas la visionado de sola bildo en la okazo ke la decodificador ne komprenas ĉi tiun formaton. Estas akceptita de Firefox kaj ĝi havas extención .png. MNG Estas formato de bildo kiu elportas kuraĝigon kaj estas bazita en la ideoj kaj en iuj sekcioj de PNG, sed estas kompleksa sistemo kaj ĝi ne permesas la visionado de sola bildo kudru ke se ĝi faras GIF kaj APNG.

Teknika komparo kun aliaj formatoj Komparo kun GIF

  • En la plimulto de la kazoj, PNG kunpremas pli bona kiu la formato GIF, kvankam iuj implementaciones (vidu Photoshop) realigas malbonan selektadon de la metodoj de filtrita kaj ili generas dosierojn de plej granda grandeco.
  • La PNG akceptas, same kiel la GIF, bildoj indeksitaj kun travidebleco de 1 bito aŭ "binara". Ĉi tiu tipo de travidebleco ne postulas de plia kanalo kaj ĝi nur akceptas ke koloro de la paleta aperu travidebla al la 100%.
  • La PNG akceptas formatojn kun profundo de koloro de milionoj de koloroj (vera koloro) kaj kanalo alfa, kion havigas rangoj de koloro multe pli riĉaj kaj precizaj kiu la GIF kaj disponi de valoroj de interaj travidebleco. Bedaŭrinde, ĉi tio permesas ke ĝi komparas de erara formo PNGs de vera koloro kun GIF de koloro indeksita (256 koloroj)
  • GIF Elportas kuraĝigon kaj PNG ne. (Vidi sekcion de kuraĝigo, supre)

Komparo kun JPEG

Dosiero:Comparison of JP and PNG.png
Bildo formita komparante JPEG kaj PNG: rimarku la artifikojn en la bildo JPEG kontraŭ la fundo en solida koloro por la sama bildo en PNG.

PNG Kaj JPEG estas formatoj kiuj estas desegnitaj por malsamaj funkcioj, tial ĝi nur povas realigi komparon generalista.

  • JPEG Havas rilaton de compresión enorma en malutilo de la kvalito de la bildo, idealo por bildoj de granda grandeco kaj fotoj. Ĝi ne akceptas trasparencia.
  • PNG Estas formato sen perdo de kvalito kun bonega compresión, idealo por bildoj formitaj de grandaj areoj de ebena koloro aŭ kun malmultaj variadoj de koloro. Ĝi akceptas kanalon alfa kaj iuj ekstraj atributoj kiel la korekto gamma.

PNG En la retejo Malgraŭ kiu la carácteristicas teknikaj kaj de compresión faras de la PNG ideala formato por anstataŭi al la GIF, lia adopción estis tre malrapida devita en parto al eraraj komparoj kaj iuj teknikaj malavantaĝoj:

  • Ne estas elportita de iuj navegadores tre malnovaj (tamen ĉi tiuj navegadores estas tre maloftaj nuntempe).
  • La administrado de koloro maltrafis en iuj navegadores (nuntempe ne estas tre grava kaj ĝi povas eviti).

Falsaj kredoj:

  • Interreto Explorer 6 ne elportas PNGs travideblaj. Oni Devus nuanci punkton. Interreto Explorer 6 kaj malsuperaj akceptas binarajn travideblecojn kiel en la GIF, sed maltrafas al la montri bildojn kun kanalo alfa. Tio devu ke la pako kiu specifas la kanalon alfa estas laŭvola (tRNS) Laŭ la especificación PNG, tamen Interreto Explorer 7 se ĝi akceptas ilin.
  • La bildoj en PNG pesas pli ke la GIF. Denove, ne estas iu. Ĉi tiu falsa kredo estas pro tio ke ĝi komparas kun PNGs malbone koditaj aŭ de 32 bitoj kun GIFs de 256 koloroj.

Problemoj de koloro Iuj versioj de iuj navegadores prezentas la valorojn de korekto gamma inkluzive kiam ne estas specifitaj en la PNG. Navegadores Konitaj kun problemoj de visualización de PNG:

  • Interreto Explorer 5.5 kaj 6.
  • Netscape 7.0 Al 7.2.
  • Ĝi operacias (antaŭaj versioj al la 7.50).

La efekto fino estas kiu la koloro montrita en la PNG ne koincidas kun la skemo de koloro de la resto de la paĝo retejo. Simpla formo de eviti ĉi tion estas denove kodante la PNG detranĉante iuj atributoj. Iuj utilecoj por tia fino:

  • PNGOUT Estas senpaga utileco de DU kiu uzas ekskluzivan algoritmon por recomprimir PNG kaj redukti la grandecon de la dosiero al la minimumo, sen perdoj.
  • Superpng, Estas plugin senpaga por Photoshop kiu permesas la optimización de dosieroj PNG.

Portable Network Graphics

Temoj Rilatigitaj eksteraj Ligoj