article

PNG (Portable Network Graphics) es un formato gráfico basado en un algoritmo de compresión sin pérdida para bitmaps no sujeto a patentes. Este formato fue desarrollado en buena parte para solventar las deficiencias del formato GIF y permite almacenar imágenes con una mayor profundidad de color y otros importantes datos.

Historia y desarrollo


Las motivaciones para crear el formato PNG se generaron en 1995, después de que Unisys anunciara que haría cumplir la patente de software del algoritmo de compresión de datos LZW utilizado por el GIF (patente de EE.UU. 4.558.302 y otras alrededor del globo). Había otros problemas con el formato GIF que hacían deseable un cambio, por ejemplo su limitación a paletas de 8 bits de 256 colores como máximo, cuando los ordenadores ya soportaban miles o millones de colores.

Aunque el GIF soporta animación, el PNG se desarrolló como un formato de imagen estático y se creó el formato MNG como su variante animada.

El PNG ganó mayor popularidad en agosto de 1999 cuando Unisys puso fin a su política de licencias de patente libre de royalties para los desarrolladores de software libre o no comercial.

  • Especificación de la versión 1.0 de PNG fue liberada el 1 de julio de 1996 y después apareció como RFC 2083. Rápidamente se convirtió en una recomendación W3C el 1 de octubre de 1996
  • Versión 1.1 con algunos pequeños cambios y con 3 nuevas extensiones o "chunks" fue liberada el 31 de diciembre de 1998
  • Versión 1.2. Nueva extensión. Liberada el 11 de agosto de 1999
  • Nueva versión, ligeramente diferente de la anterior y con una nueva extensión. Actualmente PNG es un estándar internacional (ISO/IEC 15948:2003), también recomendado por la W3C el 10 de noviembre de 2003.

Detalles técnicos


PNG transparency demonstration 1.png | PNG transparency demonstration 2.png

Las imágenes en formato PNG pueden ser imágenes de paleta indexada o estar formadas por uno o varios canales. Si existe más de un canal, todos los canales tienen el mismo número de bits por pixel (también llamado profundidad de bits por canal). Aunque en la especificación oficial del PNG se nombre la profundidad de bits por canal, normalmente los programas de edición nombran sólo la cantidad total de bits por pixel, es decir, la profundidad de color.

El número de canales depende de si la imagen es en escala de grises o en color y si dispone de canal alfa (también llamado canal de transparencia). La combinaciones permitidas por PNG son:

  • Escala de grises (1 canal)
  • Escala de grises y canal alfa (2 canales)
  • Canales rojo, verde y azul (RGB, 3 canales. También llamado color verdadero o Truecolor)
  • Canales rojo, verde, azul y alfa (RGB + alfa, 4 canales)

Por otra parte, las imágenes indexadas disponen de un tope de 256 colores como máximo. Esta paleta de colores está almacenada con una profundidad de canal de 8 bits. La paleta no puede tener más colores que los marcados por la profundidad de bits, es decir 28=256 colores, aunque sí puede tener menos (por ejemplo, una imagen de 50 colores sólo almacenará 50 entradas, evitando almacenar datos que no son utilizados).

El método de compresión utilizado por el PNG es conocido como deflación (en inglés "DEFLATE (algorithm)"). También existen métodos de filtrado. En la especificación 1.2 se define un único tipo de filtro, que incluye 5 modos de predicción del valor del pixel, que resulta muy útil para mejorar la compresión, donde se elige para cada línea de la imagen (scanline) un método de filtrado que predice el color de cada píxel basándose en los colores de los píxeles previos y resta al color del píxel actual, el color pronosticado. Los cinco métodos son: None, Sub, Up, Average y Paeth.

Estos filtros pueden reducir notablemente el tamaño final del archivo, aunque depende en gran medida de la imagen de entrada. El algoritmo de compresión puede encargarse de la adecuada elección del método que mayor reducción ofrezca.

Profundidad de color y otros atributos

Rango total de opciones de color soportados
Profundidad de bits por canal 1 2 4 8 16
Imagen 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 verdadero (RGB) (3 canales) 24 48
Color verdadero con alfa (RGBA) (4 canales)          32 64

La tabla expuesta a la derecha indican la profundidad de color para cada formato de imagen que soporta PNG. Ésta se extrae de la profundidad de bits por canal y se multiplica por el número de canales. Las casillas en rojo representan combinaciones no soportadas. El estándar requiere que los decodificadores puedan leer todos los formatos disponibles, pero muchos editores de imagen sólo pueden generar un pequeño subconjunto de ellos.

Otros atributos que pueden ser almacenados en un PNG incluyen valores de corrección gamma, color de fondo y metadatos. PNG además también utiliza la corrección de color que utilizan los sistemas de administración de color como el sRGB. Algunos programas como Adobe Photoshop disponen de este sistema.

El tipo de media MIME para PNG es "image/png" (aprobado el 14 de octubre de 1996)

Comparación técnica con otros formatos


Comparación con GIF

En la mayoría de los casos, PNG comprime mejor que el formato GIF, aunque algunas implementaciones (véase Photoshop) realizan una mala selección de los métodos de filtrado y se generan ficheros de mayor tamaño.

El PNG admite, al igual que el GIF, imágenes indexadas con transparencia de 1 bit o "binaria". Este tipo de transparencia no requiere de un canal adicional y únicamente admite que un color de la paleta aparezca transparente al 100%.

El PNG admite formatos con una profundidad de color de millones de colores (color verdadero) y canal alfa, lo que proporciona unos rangos de color mucho más ricos y precisos que el GIF y disponer de valores de transparencia intermedios. Desafortunadamente, esto permite que se compare erróneamente PNGs de color verdadero con un GIF de color indexado (256 colores)

Por contra, el PNG no soporta animación. MNG y APNG fueron diseñados para solventar esto, aunque no están muy extendidos.

Comparación con JPEG

PNG y JPEG son formatos que están diseñados para funciones diferentes, por lo que únicamente se puede realizar una comparación generalista.
  • JPEG tiene un ratio de compresión enorme en perjuicio de la calidad de la imagen, ideal para imágenes de gran tamaño y fotografías. No admite trasparencia.
  • PNG es un formato sin perdida de calidad con una excelente compresión, ideal para imágenes formadas por grandes áreas de color plano o con pocas variaciones de color. Admite canal alfa y algunos atributos extra como la corrección gamma.

PNG en la web


Pese a que las carácteristicas técnicas y de compresión hacen del PNG un formato ideal para sustituir al GIF, su adopción ha sido muy lenta debido en parte a comparaciones erróneas y algunas desventajas técnicas:
  • No está soportado por algunos navegadores muy viejos (sin embargo estos navegadores son muy raros hoy en día)
  • No soporta animación
  • La administración de color fallaba en algunos navegadores (actualmente no es muy importante y se puede evitar)

Falsas creencias:

  • Internet Explorer no soporta PNGs transparentes. Habría que matizar un punto. Internet Explorer 6 e inferiores admiten transparencias binarias como en el GIF, pero fallan al mostrar imágenes con canal alfa. Eso se debe a que el paquete que especifica el canal alfa es opcional (tRNS) según la especificación PNG
  • Las imágenes en PNG pesan más que los GIF. De nuevo, no es cierto. Esta falsa creencia es debido a que se compara con PNGs mal codificados o de 32 bits con GIFs de 256 colores.

Problemas de color

Algunas versiones de algunos navegadores presentan los valores de corrección gamma incluso cuando no están especificados en el PNG. Navegadores conocidos con problemas de visualización de PNG:
  • Internet Explorer 5.5 y 6
  • Netscape (Mozilla) 7.0 a 7.2
  • Opera (versiones anteriores a la 7.50)

El efecto final es que el color mostrado en el PNG no coincide con el esquema de color del resto de la página web. Un forma sencilla de evitar esto es volviendo a codificar el PNG truncando ciertos atributos. Algunas utilidades para tal fin:

  • PNGOUT es un utilidad gratuita de DOS que utiliza un algoritmo exclusivo para recomprimir un PNG y reducir el tamaño del fichero al máximo.
  • Superpng, es un plugin gratuito para Photoshop que permite la optimización de ficheros PNG.

De manera informal PNG también se conoce como "PNG's Not GIF".

Enlaces externos


Formatos gráficos | Extensiones PC

PNG | PNG | PNG | Portable Network Graphics | Portable Network Graphics | PNG | PNG | PNG | PNG | Portable Network Graphics | PNG | PNG | PNG | Portable Network Graphics | Portable Network Graphics | PNG | Portable Network Graphics | Portable Network Graphics | PNG | PNG | PNG | PNG | PNG | PNG | PNG | PNG | PNG

 

This article is licensed under the GNU Free Documentation License. It uses material from the "Portable Network Graphics".

Home Pageartsbusinesscomputersgameshealthhospitalshomekids & teensnewsphysiciansrecreationreferenceregionalscienceshoppingsocietysportsworld