Portable Network Graphics

Portable Network Graphics (PNG) (sigles n'inglés de Gráficos de Rede Portátiles, pronunciaes "ping") ye un formatu gráficu basáu nun algoritmu de compresión ensin perda para bitmaps non suxetu a patentes. Esti formatu foi desenvueltu en bona parte p'arreglar los defectos del formatu GIF y dexa almacenar imáxenes con una mayor fondura de contraste y otros importantes datos.

Ficha de softwarePortable Network Graphics
Estensión de ficheru .png
Tipu de MIME image/png
Última versión 1.0 (, 1r xunetu 1996)
Tipu estándar ISO, Algoritmo de compresión sin pérdida (es) Traducir, compresión de imagen (es) Traducir y formato de imagen de mapa de bits (es) Traducir
Más información
Sitiu web Web oficial
Etiqueta de Stack Exchange Stack Exchange
Cambiar los datos en Wikidata

Les imáxenes PNG usen la estensión .png y llograron un tipu MIME (image/png) aprobáu'l 14 d'ochobre de 1996.

Detalles téunicos

Un archivu PNG empieza con una firma de 8 bytes, los valores n'hexadecimal son: 89 50 4Y 47 0D 0A 1A 0A, los valores decimales son: 137 80 78 71 13 10 26 10; cada valor ta ende por una razón específica.

Byte(s) Propósitu
89 Tien el bit más altu puestu a 1 pa detectar sistemes de tresmisión que nun soporten datos de 8 bits y p'amenorgar el riesgu de qu'un ficheru de testu sía equivocadamente interpretáu como PNG.
50 4Y 47 En ASCII, les lletres "PNG" dexando qu'una persona identifique'l formatu en casu de velo nun editor de testu.
Una nueva llinia con

estilu DOS (CRLF) pa detectar les conversiones de final de llinia ente DOS y UNIX.

Un

byte que detién l'esplegue del ficheru baxu DOS cuando s'usó'l comandu TYPE.

Una nueva llinia en

UNIX (LF) pa detectar la conversión de final de llinia ente DOS y UNIX.

Segmentos del archivu

editar

Dempués de la cabecera atopen una serie de segmentos de los cualos cada unu guarda cierta información alrodiu de la imaxe. Los segmentos s'autu declaren como críticos (critical) o auxiliares (ancillary) de cuenta que un programa qu'atope un segmentu auxiliar y nun lo entienda pue ignoralo ensin peligru. La estructura basada en segmentos ta diseñada pa poder ampliar el formatu PNG calteniendo la compatibilidá con versiones antigües.

Caúna de les seiciones tien una cabecera qu'específica'l so tamañu y tipu, darréu siguíu de los datos y el checksum de los datos. Les seiciones tienen un nome de 4 lletres que ye sensible a les mayúscules. L'usu de mayúscules o minúscules en dichu nome aprove a los decodificadores d'información alrodiu de les seiciones que nun son reconocíes.

Si la primer lletra ye mayúscula esto indica que la seición ye esencial, en casu contrariu va ser auxiliar. Les seiciones esenciales son necesaries pa lleer el ficheru, si'l decodificador atopa una seición esencial que nun reconoz tien d'albortar la llectura.

En casu de que la segunda lletra sía mayúscula esto va significar que la seición ye pública na especificación o'l rexistru de seiciones pa propósitos especiales, en casu contrariu va ser privada (non estandarizada). Esti usu de mayúscules y minúscules asegura que nunca haya conflictos ente seiciones públiques y privaes.

La tercer lletra tien de tar en mayúscules pa cumplir les especificaciones de PNG y ta acutada pa futures espansiones.

La cuarta lletra indica si ye seguro copiar la seición en casu de que nun sía reconocida, en casu de tar en minúscules ye seguro copiar la seición ensin importar la cantidá de cambéu que sufriera'l ficheru, si ye mayúscula solo van debese copiar si nun hai seiciones crítiques que sufrieren cambeos.

Seiciones esenciales

editar

Un decodificador tien de ser capaz d'entender estes seiciones pa lleer y renderizar un PNG:

  • IHDR, ten de ser la primer seición, contién la cabecera.
  • PLTE, contién la paleta (llista de colores).
  • IDAT, contién la imaxe que tien de ser estremada en múltiples seiciones IDAT, faciendo esto amóntase'l tamañu de la imaxe llixeramente pero fai posible xenerar imáxenes PNG en streaming.
  • IEND, marca'l final de la imaxe.

Seiciones de metadatos

editar

Otros atributos que pueden ser guardaos nuna imaxe PNG son: valores de gamma, color del fondu ya información testual. PNG tamién soporta correición de color col usu de sistemes de manexu del color como sRGB.

  • bKGD: contién el color de fondu per defectu, úsase cuando nun hai un meyor color disponible p'amosar, como nun visor d'imáxenes pero non nun navegador web.
  • cHRM: balance de blancu.
  • gama: específica la gamma.
  • hIST: guarda'l histograma o cantidá total de cada color na imaxe.
  • iCCP: perfil ICC de color.
  • iTXt: contién testu (UTF-8) estruyíu o non.
  • pHYs: contién el tamañu previstu del píxel y/o'l ratio de la imaxe.
  • sBIT: (bits significativos) indiquen la exactitú de los colores na imaxe.
  • sPLT: suxer una paleta pa usar en casu de que'l rangu completu de colores nun tea disponible.
  • sRGB: indica que s'usa l'estándar sRBG color space.
  • tEXt: almacena testu que puede ser representáu en ISO 8859-1 con un nome=valor pa cada seición.
  • time: almacena la fecha del últimu cambéu.
  • tRNS: contién información sobre la tresparencia. Pa imáxenes indexadas almacena la canal alpha pa una o más paletes, pa imáxenes en color real y escala de grises almacena la información d'un solu píxel que tien de ser consideráu dafechu tresparente.
  • zTXt: contién testu estruyíu colos mesmos llendes que tEXt.

La primer lletra en minúscules d'estes seiciones indica que nun son necesaries na especificación de PNG, la última lletra en minúscules indica que ye seguro copiales inclusive si l'aplicación en cuestión nun les entiende.

Otros atributos que pueden ser almacenaos nun PNG inclúin valores de correición gamma, color de fondu y metadatos. PNG amás tamién utiliza la correición de color qu'utilicen los sistemes d'alministración de color como'l sRGB. Dellos programes como Adobe Photoshop disponen d'esti sistema.

Fondura de color

editar

Les imáxenes en formatu PNG pueden ser imáxenes de paleta indexada o tar formaes por unu o delles canales. Si esiste más d'una canal, toles canales tienen el mesmu númberu de bits por píxel (tamién llamáu fondura de bits por canal). Anque na especificación oficial del PNG noma la fondura de bits per canal, de normal los programes d'edición nomen namái la cantidá total de bits por píxel, esto ye, la fondura de color.

El númberu de canales depende de si la imaxe ye n'escala de grises o en color y si dispón de canal alfa (tamién llamada canal de tresparencia). La combinaciones dexaes por PNG son:

  • Escala de grises (1 canal).
  • Escala de grises y canal alfa (2 canales).
  • Canales coloráu, verde y azul (RGB, 3 canales, tamién llamáu color verdaderu o Truecolor).
  • Canales coloráu, verde, azul y alfa (RGB + alfa, 4 canales).

Per otra parte, les imáxenes indexadas disponen d'un tope de 256 colores a lo más. Esta paleta de colores ta almacenada con una fondura de canal de 8 bits. La paleta nun puede tener más colores que los marcaos pola fondura de bits, ye dicir 2⁸=256 colores, anque sí puede tener menos (por casu, una imaxe de 50 colores namái va almacenar 50 entraes, evitando almacenar datos que nun son utilizaos).

Rangu total d'opciones de color soportaos
Fondura de bits per canal 1 2 4 8 16
Imaxe indexada (1 canal) 1 2 4 8
Escala de grises (1 canal) 1 2 4 8 16
Escala de grises con alfa (2 canales) 16 32
Color verdaderu (RGB) (3 canales) 24 48
Color verdaderu con alfa (RGBA) (4 canales)          32 64

La tabla espuesta a la derecha indiquen la fondura de color pa cada formatu d'imaxe que soporta PNG. Ésta estrayer de la fondura de bits per canal y multiplícase pol númberu de canales. Los caxellos en colloráu representen combinaciones ensin soportar. L'estándar rique que los decodificadores puedan lleer tolos formatos disponibles, pero munchos editores d'imaxe namái pueden xenerar un pequeñu subconxuntu d'ellos.

Tresparencia na imaxe

editar

PNG ufierta una gran variedá d'opciones de tresparencia: con color verdaderu o escala de grises, inclusive un solu píxel pue ser declaráu tresparente o puede añader una canal alfa. Pa imáxenes qu'usen paletes puede añader una canal alfa nes entraes de la paleta. El númberu de dichos valores almacenaos pue ser menor que'l total d'entraes na paleta, de cuenta que'l restu de les entraes van considerase dafechu opaques. La busca de píxeles con tresparencia binaria tien de faese antes de cualquier amenorgamientu de color pa evitar que dellos píxeles convertir en tresparentes por fuercia.

A diferencia de la tresparencia ufiertada por GIF que namái puede tomar 2 valores (dafechu tresparente o dafechu opacu), la canal alfa de PNG dexa utilizar mayor fondura de bits pa llograr efeutos de semi-tresparencia, propios d'oxetos tresllúcíos. Por casu, con una fondura de 8 bits pa tresparencies pueden consiguise 2⁸ = 256 graos distintos de tresparencia, como si tratar d'un color.[2]

Compresión

editar

El métodu de compresión utilizáu pol PNG ye conocíu como deflación (n'inglés "Deflate algorithm"). Tamién esisten métodos de peneráu. Na especificación 1.2 defínese un únicu tipu de filtru, qu'inclúi 5 maneres de predicción del valor del píxel, que resulta bien útil p'ameyorar la compresión, onde s'escueye pa cada llinia de la imaxe (scanline) un métodu de peneráu que prediz el color de cada píxel basándose nos colores de los píxeles previos y resta al color del píxel actual, el color agoráu. Los cinco métodos son: None, Sub, Up, Average y Paeth.

Estos filtros pueden amenorgar notablemente'l tamañu final del archivu, anque depende en gran midida de la imaxe d'entrada. L'algoritmu de compresión puede encargase de la fayadiza eleición del métodu que mayor amenorgamientu ufierte.

El tipu de media MIME para PNG ye "image/png" (aprobáu'l 14 d'ochobre de 1996).

Animación

editar

APNG ye una estensión de PNG que soporta animación. Esti formatu soporta'l visionado d'una sola imaxe en casu de que'l decodificador nun entienda l'archivu. Ye aceptáu por múltiples navegadores[3] y tien estensión .png.

Per otru llau, MNG ye un formatu d'imaxe que soporta animación y ta basáu nes idees y en delles seiciones de PNG, pero ye un sistema complexu y nun dexa'l visionado d'una sola imaxe en casu de nun esistir soporte completu nel visualizador d'imáxenes pertinente.

Comparanza téunica con otros formatos

editar

Comparanza con GIF

editar
  • Na mayoría de los casos, PNG estruyi meyor que'l formatu GIF, anque delles implementaciones (vease Photoshop) realicen una mala selección de los métodos de peneráu y xenérense ficheros de mayor tamañu.
  • El PNG almiti, al igual que'l GIF, imáxenes indexadas con tresparencia de 1 bit o "binaria". Esti tipu de tresparencia nun riquir d'una canal adicional y namái almite qu'un color de la paleta apaeza tresparente al 100%.
  • El PNG almite formatos con una fondura de color de millones de colores (color verdaderu) y canal alfa, lo qu'apurre unos rangos de color muncho más ricos y precisos que'l GIF y disponer de valores de tresparencia entemedios. Lamentablemente, esto dexa que se compare de forma errónea los PNG de color verdaderu colos GIF de color indexado (256 colores).

Comparanza con JPEG

editar
 
Imaxe compuesta comparando JPEG y PNG: nótese los artificios na imaxe JPEG versus el fondu en color sólidu pa la mesma imaxe en PNG.

PNG y JPEG son formatos que tán diseñaos pa funciones distintes, polo que namái se puede realizar una comparanza xeneralista:

  • JPEG tien una rellación de compresión enorme en perxuiciu de la calidá de la imaxe, ideal pa imáxenes de gran tamañu y fotografíes. Nun almite tresparencia.
  • PNG ye un formatu ensin perda calidable con una escelente compresión, ideal pa imáxenes formaes per grandes árees de color planu o con poques variaciones de color. Almite canal alfa y dellos atributos extra como la correición gamma. Sicasí, nun almite manera CMYK, polo que nun ye del tou útil pa diseños d'impresión.

PNG na web

editar
  • Magar que les carauterístiques téuniques y de compresión faen de PNG un formatu ideal pa sustituyir a GIF, la so adopción foi bien lenta, debíu en parte a comparances errónees y delles desventaxes téuniques:
  • Nun ta soportáu por dellos navegadores bien vieyos (tales navegadores, sicasí, entraron en desusu na primer década del sieglu XXI).
  • l'alministración de color fallaba en dellos navegadores (fácilmente evitable pola razón anterior).

Problemes de color

editar

Delles versiones de dalgunos navegador web presenten los valores de correición gamma inclusive cuando nun tán especificaos nel PNG. Navegadores conocíos con problemes de visualización de PNG:

  • Internet Explorer 5.5 y 6.
  • Netscape 7.0 a 7.2.
  • Opera (versiones anteriores a la 7.50).

L'efeutu final ye que'l color amosáu nel PNG nun coincide col esquema de color del restu de la páxina web. Una forma senciella d'evitar esto ye volviendo a codificar el PNG atayando ciertos atributos. Delles utilidaes pa tal fin:

  • PNGOUT ye una utilidá gratuita de DOS qu'utiliza un algoritmu esclusivu pa recomprimir un PNG y amenorgar el tamañu del ficheru al mínimu, ensin perdes.
  • Superpng, ye un plugin gratuitu para Photoshop que dexa la optimización de ficheros PNG.
  • OptiPNG ye una utilidá gratuita que recomprime un PNG, amenorgando'l so tamañu ensin perdes.

Bibliografía

editar
  • Greg Roelofs (1999). PNG: The Definitive Guide (llibro completu en html) (n'inglés), O'Reilly & Associates, Inc.. (Sacante les tapes, el llibru ta so llicencia GFDL)

Referencies

editar

Enllaces esternos

editar