Gráficos de red portátiles

Gráficos de red portátiles logo Extensión de archivo : .png Tipo MIME :
imagen / png
Número mágico :

( Notación ASCII-C )

Desarrollado por: PNG Development Group (gracias a W3C ) Tipo: Mapa de bits sin pérdida : formato de gráficos Ampliado a: APNG , JNG , MNG Estándar (s) : ISO 15948 , IETF RFC 2083 Sitio web : libpng.org/pub/png

PNG fue un reemplazo gratuito para el anterior, en el año 2006 con reclamos de patente cargados con el formato de intercambio de gráficos diseñado (GIF), y es menos complejo que el formato de archivo de imagen con etiquetas (TIFF). Además de las diferentes profundidades de color , PNG también admite la transparencia a través del canal alfa . Las fotos PNG suelen ser mucho más grandes que las JPEG . Durante mucho tiempo, el formato PNG no se pudo mostrar fácilmente en los navegadores, por lo que tomó años hacerse valer junto con JPEG y GIF.

historia

El desarrollo del formato PNG se inició a finales de 1994, bastante tardío en comparación con otros formatos gráficos como TIFF, GIF y JFIF (JPEG). Esto fue provocado por solicitudes de licencia de la empresa de software Unisys para el algoritmo Lempel-Ziv-Welch (LZW) utilizado por GIF .

El 4 de enero de 1995, Thomas Boutell presentó un primer borrador (PBF Draft 1). La primera especificación correcta de PNG (versión 1.0) de Thomas Boutell y Tom Lane se convirtió en la recomendación oficial del World Wide Web Consortium (W3C) el 1 de octubre de 1996 . El 14 de octubre de 1996, la Autoridad de Números Asignados de Internet (IANA) asignó a PNG el tipo MIME image/png . El 15 de enero de 1997, PNG fue aprobado por el Grupo de trabajo de ingeniería de Internet (IETF) como RFC 2083 . El 31 de diciembre de 1998, se publicó la versión 1.1 de la especificación PNG, revisada por Adam Costello y Glenn Randers-Pehrson. El 11 de agosto de 1999, Glenn Randers-Pehrson finalmente publicó la última versión 1.2. Esto fue elevado a la norma ISO ISO / IEC 15948: 2003 el 10 de noviembre de 2003 y al mismo tiempo se convirtió en la segunda edición de la recomendación del W3C.

El formato PNG ahora se usa ampliamente; Sobre todo, ha sustituido al GIF en gráficos altamente comprimibles sin pérdidas, como botones, iconos y logotipos. En su mayoría, solo se usa para fotos si su almacenamiento sin pérdida tiene prioridad sobre un tamaño de datos pequeño, ya que las fotos con compresión con pérdida (por ejemplo, JPEG) i. A. puede comprimir aún más, sin una pérdida significativa de calidad para el ojo humano.

propiedades

Modos de color y precisión

, así como un modo de escala de grises y un modo de color con canal alfa (tipos de color 0, 2, 3, 4 y 6).

Profundidades de color

Para imágenes en escala de grises, la resolución puede ser de 1, 2, 4, 8 o 16 bits por píxel, para imágenes en color de 8 ( RGB 8) o 16 bits (RGB16) por canal de color . Alternativamente, las imágenes en color se pueden guardar con hasta 256 colores indexados usando el modo de paleta de colores. Los colores indexados se pueden seleccionar libremente de todo el espectro RGB8.

transparencia

Los archivos PNG pueden contener información de transparencia, ya sea en forma de canal alfa, como un solo color transparente o como una paleta de transparencia que complementa una paleta de colores existente que contiene un valor de transparencia para cada color de paleta.

PNG admite canales alfa con profundidad de 8 o 16 bits. Es un canal con información adicional para cada píxel. Esto indica la opacidad en diferentes niveles de cuánto debe brillar el fondo de una imagen. Si este valor es 0, el fondo brilla al 100% por completo. Si se especifica el valor máximo de 255 para una profundidad de 8 bits (o 65535 para 16 bits), esto corresponde a una cobertura completa. En este caso, el fondo no es visible.

reales que se esconden en el fondo.

Bloques de datos y metadatos

Los archivos PNG se componen de diferentes bloques de datos ("fragmentos"), cada uno con diferentes funciones, que se identifican mediante una cadena de cuatro letras (por ejemplo, tEXt para información textual). Además de los tipos de bloques obligatorios IHDR, IDAT, PLTE e IEND, que toda implementación debe soportar, otros bloques de datos opcionales están estandarizados. Estos pueden contener metadatos sobre el contenido de la imagen y otra información adicional, como corrección de color . Estos se pueden editar con programas como TweakPNG . Las aplicaciones también pueden definir bloques de datos privados para sus propios fines. Adobe Fireworks utiliza PNG como formato de aplicación y utiliza bloques de datos privados para almacenar otra información en él. Sin embargo, también existe el riesgo de confusión con los archivos PNG normales, mucho más pequeños.

Detalles técnicos

Encabezado de archivo

Un archivo PNG siempre comienza con la siguiente firma de ocho bytes ( número mágico ):

Byte (s) (hexadecimal) comentario
89 Tabulador con juego de bits 7
50 4E 47 Cadena de caracteres ASCII "PNG"; le permite identificar fácilmente el formato de archivo cuando lo visualiza en texto o en un editor de texto.
0D 0A CR y LF ( final de línea típico de MS-DOS )
1A El signo de fin de archivo .
Este byte cancelaría la salida si el archivo se emitiera con el comando TYPE de MS-DOS , por ejemplo .
0A Linea de alimentación

Compresión

Archivo de ejemplo con varios tipos de contenido
Representación de los costos de bits por píxel de la imagen PNG anterior
(oscuro / azul: costos de bits bajos, verde: costos medios, rojo: costos de bits altos)
que usa las probabilidades de ocurrencia de valores individuales reemplazando los valores ordenados por probabilidad con códigos de longitud variable.

La "imagen de plátano" adyacente muestra qué áreas de la imagen se pueden comprimir y con qué eficiencia.

Decorrelación

Una imagen PNG con 256 colores que solo tiene un tamaño de 251 bytes gracias al prefiltro. La misma imagen que un archivo GIF tendría más de 13 veces el tamaño.

Como regla general, el valor de color de un punto de la imagen se correlaciona con los valores de los puntos vecinos, es decir, existe una dependencia o similitud. Para aprovechar estas correlaciones, PNG admite prefiltros, que primero descorrelacionan los datos de salida. Como resultado, los puntos de la imagen se describen utilizando la diferencia con los puntos vecinos ( codificación delta ). Se puede definir una de las 5 opciones de filtro para cada línea de imagen (ver más abajo). Por razones de velocidad, la selección se realiza a menudo de forma heurística. Estos filtros reemplazan los valores de color de los píxeles de manera reversible por (tantos, igual de grandes) valores de diferencia. Como regla general, esta señal de diferencia tiene una dinámica significativamente más baja, es decir, valores con cantidades en promedio más pequeñas. Estos se pueden comprimir de manera más eficaz mediante la codificación de entropía final. Cuanto más uniforme sea el contenido de la imagen, más rentable funcionará este mecanismo. Durante la decodificación, después de descomprimir los datos, se utilizan versiones inversas de los filtros para restaurar los datos de la imagen real.

Esta posibilidad es una de las razones por las que los archivos PNG son tan pequeños.

En la versión actual, PNG define cinco tipos de filtros diferentes

:

número Apellido descripción
0 Ninguno Sin prefiltrado. Se utilizan los datos de píxeles originales.
1 Sub Se procesan las diferencias con el píxel adyacente a la izquierda.
2 Arriba Se procesan las diferencias con el píxel de arriba.
3 Promedio La diferencia con el valor medio se calcula a partir del píxel de arriba y el píxel de al lado a la izquierda.
Cuarto Paeth Un valor llamado Paeth Predictor se calcula a partir del píxel adyacente a la izquierda, el que está arriba y el que está diagonalmente arriba a la izquierda , que determina el píxel para la formación de la diferencia.

Algunos codificadores prueban varios filtros para mejorar la compresión. Esta es una técnica común, especialmente con las numerosas herramientas para optimizar la compresión PNG.

En muchos casos, el Paeth Predictor, que lleva el nombre de su inventor, Alan W. Paeth , ofrece los mejores resultados. Con esto, se intenta utilizar automáticamente los puntos de imagen más similares de los puntos de imagen vecinos a la izquierda, arriba y arriba a la izquierda para la formación de diferencias. La función selecciona el píxel que se acerca más a la izquierda + arriba - arriba a la izquierda.

Compresión de sustitución y codificación de entropía

se llevan a cabo de acuerdo con el popular método de deflación , ya que se puede utilizar libremente sin la carga de las patentes de software . Incluye compresión de sustitución según Storer, Szymanski, Lempel y Ziv ( algoritmo LZSS ) y codificación de entropía según Huffman .

) , que se creó originalmente especialmente para PNG. Por lo general, la compresión desinflada (como en otras aplicaciones, por ejemplo con la compresión ZIP) se puede configurar en el programa de salida en 10 niveles, desde 0 (ninguno) hasta 9 (el mejor).

Hasta ahora, Deflate es el único método compatible. Sin embargo, se ha dejado espacio para extensiones intencionalmente con el fin de admitir otros algoritmos más eficientes o más rápidos en futuras versiones de PNG. Para garantizar la compatibilidad con versiones anteriores de los programas compatibles con PNG existentes, actualmente no hay planes para incluir otros métodos en el estándar.

compatibilidad

Perfiles de color

Con la excepción de Safari y Firefox (después de la activación), ningún navegador ha admitido aún perfiles de color incrustados (bloques iCCP). Por lo tanto, no ofrecen gestión de color completa. Debido a que Safari es el único navegador que muestra perfiles de color completos, actualmente no es posible una visualización uniforme y multiplataforma de imágenes en formato PNG con un perfil de color incrustado. Esta función está prevista para el futuro, al menos para el navegador Firefox. Los valores de corrección de gamma incrustados (bloques de gAMA), por otro lado, son reconocidos y procesados ​​correctamente por la mayoría de los navegadores actuales.

transparencia

Microsoft Internet Explorer hasta la versión 6 tenía problemas con la visualización de archivos PNG transparentes con un canal alfa; Sin embargo, los archivos PNG con transparencia binaria (“sí / no”) se mostraban sin errores.

Legal

El formato PNG no está sujeto a ninguna restricción de patente . Por lo tanto, cualquier fabricante de software puede publicar programas que puedan leer y escribir PNG sin pagar tarifas de licencia.

comparación

ventajas

  • La compresión es sin pérdidas y en su mayoría más compacta que los formatos comparables.
  • Soporte de transparencia alfa (hasta 16 bits, es decir, 65.536 niveles; 8 bits son comunes).
  • El formato está sujeto a un estándar fijo y puede ampliarse, por lo que teóricamente cada programa debe cumplir con ciertos requisitos mínimos. Además, PNG es compatible tanto hacia arriba como hacia abajo, lo que reduce las incompatibilidades entre diferentes versiones.
  • Las sumas de verificación integradas permiten detectar errores en el archivo en una etapa temprana.
  • Los archivos PNG se pueden transmitir , lo que significa que la interpretación del contenido del archivo no requiere acceso aleatorio, como es el caso de muchos archivos TIFF .
  • Está disponible un entrelazado opcional con 7 corridas según Adam M. Costello (" Adam7 "), es decir, la acumulación gradual de imágenes durante la transmisión a través de líneas de datos lentas. Incluso con muy poca transmisión, es posible una visualización relativamente útil.
  • La compatibilidad con todos los navegadores web gráficos está disponible (en Internet Explorer , sin embargo, la transparencia alfa solo se admite a partir de la versión 7.0).

desventaja

  • PNG no es compatible con el modelo de color CMYK y, por lo tanto, no es adecuado como reemplazo completo de TIFF .
  • PNG no permite la carga fácil de partes de una imagen. Si solo desea cargar una sección de la imagen, debe cargar todas las líneas de la imagen de antemano. En el caso de los archivos PNG que se guardaron entrelazados en lugar de secuencialmente, se deben cargar aún más.
  • Con ciertos tipos de imágenes (por ejemplo, fotos), el formato no alcanza en principio las tasas de compresión de los algoritmos con pérdida como JPEG . Los algoritmos que se especializan en ciertas clases de datos de imágenes, por ejemplo, para documentos escaneados ( por ejemplo, JBIG2 ), también comprimen dicho contenido con más fuerza que PNG.
  • Comparación con el formato de intercambio de gráficos (GIF)

    En ausencia de opciones de animación, PNG es una alternativa incompleta al formato GIF . Las opciones de animación se subcontratan a un formato separado con PNG. Los dos formatos juntos deberían reemplazar completamente a GIF; esto no ha sucedido hasta el día de hoy.

    Además del modo de paleta de colores, PNG también admite imágenes a todo color y en escala de grises con una precisión de hasta 16 bits por canal de color. Con GIF solo es posible declarar una de las entradas de palet como completamente transparente.

    de PNG suele ser mejor que la de GIF. Los prefiltros son la razón por la que los archivos PNG suelen ocupar menos espacio. Por otro lado, sin embargo, la complejidad del formato también es mayor.

    Con la estructura de imagen progresiva de PNG con entrelazado Adam7, se produce una distorsión de imagen significativamente menor que con GIF.

    , del cual PNG estaba libre desde el principio. (GIF todavía estaba limitado por otras patentes hasta octubre de 2006).

    Formatos relacionados

    Ni MNG, JNG, ni APNG o PNG + son recomendaciones del W3C.

    software

    u otros permiten la recompresión sin pérdidas y, a menudo, archivos mucho más pequeños.

    Todos los navegadores web modernos ahora admiten el formato. Los programas importantes de procesamiento de imágenes generalmente lo admiten tanto en lectura como en escritura.

    literatura

     : colección de imágenes, videos y archivos de audio

    Evidencia individual

    1. Tipos de medios de imagen. Autoridad de Números Asignados de Internet , 27 de septiembre de 2009,
      consultado el 6 de octubre de 2010
      .
    2. Especificación PNG (Gráficos de red portátiles), versión 1.2. 12.12. Firma de archivo PNG. 14 de julio de 1999,
      consultado el 6 de octubre de 2010
      .
    3. Sibylle Mühlke: Adobe Photoshop CC, 7a edición de 2018, p. 1051
    4. Jason Summers: TweakPNG , inglés
    5. Stephan T. Lavavej: Introducción a PNG. En: nuwen.net.
      Consultado el 6 de octubre de 2010
      .
    6. libpng.
      Consultado el 13 de julio de 2013
      .
    7. Cosmin Truţa: Una guía para la optimización de PNG . (con directorio de programas para recompresión sin pérdidas, inglés)
    8. Estándares del World Wide Web Consortium