Articulo de referencia

APNG

El formato de archivo Animated Portable Network Graphics ( APNG ) extiende la especificación Portable Network Graphics (PNG) para permitir imágenes animadas que funcionan de for...

El formato de archivo Animated Portable Network Graphics ( APNG ) extiende la especificación Portable Network Graphics (PNG) para permitir imágenes animadas que funcionan de forma similar a los archivos GIF animados , a la vez que admite imágenes con mayor profundidad de color y transparencia alfa completa , características no disponibles para los GIF. Además, mantiene la compatibilidad con versiones anteriores de archivos PNG no animados. Fue desarrollado por la Fundación Mozilla en 2004.

El primer fotograma de un archivo APNG se almacena como una secuencia PNG normal, por lo que la mayoría de los decodificadores PNG estándar pueden mostrarlo. Los datos de velocidad de fotograma y todos los fotogramas subsiguientes se almacenan en bloques adicionales (según lo estipulado en la especificación PNG original).

APNG competía con Multiple-image Network Graphics (MNG), un formato integral para animaciones de mapa de bits creado en 2001 por el mismo equipo que PNG, ahora obsoleto. Las ventajas de APNG sobre MNG radican en el menor tamaño de su biblioteca y su compatibilidad con implementaciones antiguas de PNG.

Historia y desarrollo

La especificación APNG fue creada en 2004 por Stuart Parmenter y Vladimir Vukićević de Mozilla Corporation para permitir el almacenamiento de las animaciones necesarias para interfaces como los throbbers . [ 1 ] [ 2 ] En mayo de 2003, Mozilla había descartado el soporte para las animaciones MNG , que proporciona un superconjunto de la funcionalidad APNG, citando preocupaciones sobre el gran tamaño de archivo requerido para la extensa biblioteca decodificadora MNG (300 KB); [ 3 ] el decodificador APNG, construido sobre la base del decodificador PNG, era un componente mucho más pequeño.

Entre los usuarios y mantenedores de los formatos PNG y MNG, APNG tuvo una recepción tibia. En particular, PNG fue concebido como un formato de imagen única. [ 4 ] APNG oculta los fotogramas subsiguientes en fragmentos auxiliares de PNG de tal manera que las aplicaciones que no son compatibles con APNG los ignoran, pero por lo demás no hay cambios en el formato que permitan al software distinguir entre imágenes animadas y no animadas. Algunas de las principales preocupaciones derivadas de esto fueron la incapacidad de las aplicaciones para negociar PNG y APNG, o distinguir entre PNG y APNG una vez recibidos, o para que el software heredado siquiera informara a los usuarios que hay fotogramas adicionales. Glenn Randers-Pehrson lideró los esfuerzos para conciliar la posición de los puristas de PNG con la de los defensores de APNG recomendando cambios en el formato de APNG y proponiendo el uso de un tipo MIME único (por ejemplo, video/png), pero los defensores de APNG solo agregaron el tipo MIME diferente (image/apng) [ 5 ] mientras insistían en el uso de la extensión .png en lugar de .apng , lo que llevó a que el formato no fuera aprobado por el Grupo de Desarrollo de PNG. [ 6 ]

El Grupo de Desarrollo de PNG rechazó APNG como extensión oficial el 20 de abril de 2007, [ 7 ] y ha habido varias propuestas posteriores para un formato de gráficos animados simple basado en PNG utilizando varios enfoques diferentes. [ 8 ] Sin embargo, desde el 14 de septiembre de 2021, el Grupo de Trabajo de PNG ha sido constituido por el Consorcio World Wide Web (W3C) para mantener y desarrollar la especificación PNG, y el primer borrador de trabajo público de la Especificación PNG (Tercera Edición) se publicó el 25 de octubre de 2022, agregando extensiones APNG a la especificación PNG principal. [ 9 ] La Recomendación Candidata se publicó el 21 de septiembre de 2023. [ 10 ]

El 24 de junio de 2025, el W3C finalmente la elevó a la categoría de Recomendación definitiva.

Formato de archivo

La especificación APNG sigue el formato de archivo PNG introduciendo tres nuevos fragmentos auxiliares: [ 11 ]

  • El bloque de control de animación (acTL) precede a los IDAT de la imagen predeterminada y sirve como indicador de que se trata de un archivo PNG animado. También contiene el número de fotogramas y el número de veces que se repite la animación (0 significa infinito).
  • El bloque de control de fotogramas (fcTL) precede a cada fotograma y contiene sus metadatos: dimensiones; posición (relativa a la imagen predeterminada); duración; si una vez finalizado se borra a negro, se reemplaza por el fotograma anterior o se dibuja encima por el siguiente fotograma; y si se aplica su transparencia.
  • El fragmento de datos del fotograma (fdAT) almacena el contenido del fotograma. Comienza con un número de secuencia y tiene la misma estructura que los fragmentos IDAT de la imagen predeterminada.

Los números de secuencia se aplican tanto a los bloques de control de fotogramas como a los bloques de datos de fotogramas, que en conjunto siguen una secuencia común, lo que permite recuperar el orden y la sincronización de los fotogramas si un editor PNG que no sea compatible con APNG los reordena según lo permitan las reglas de ordenación de bloques PNG. [ 12 ]

Los fotogramas utilizan la misma profundidad de bits, tipo de color, método de compresión, método de filtro, método de entrelazado y paleta (si la hay) que la imagen predeterminada.

Una aplicación que lee un archivo PNG está diseñada para ignorar cualquier fragmento que no entienda, [ 13 ] lo que hace que APNG sea compatible con versiones anteriores . Las aplicaciones que no admiten la extensión APNG muestran solo el primer fotograma, ignorando el resto.

Diagrama que ilustra una posible forma de ensamblar un PNG animado a partir de tres archivos PNG individuales.

Compresión y optimización

Varias técnicas de optimización hacen que los archivos APNG sean lo más pequeños posible: Optimización entre fotogramas [ 14 ] utilizando operaciones de mezcla alfa y eliminación alfa, más pequeños que los subfotogramas de tamaño completo, transparencia sucia, optimizaciones de tipo de color y paleta de colores , y varias opciones de compresión: zlib , 7-Zip , Zopfli . [ 15 ]

Formatos derivados

Las pegatinas animadas para Signal son APNG con algunas restricciones (el tamaño del archivo está limitado a 300 kb, la duración de la animación está limitada a 3 segundos y, visiblemente (este último punto no está claro), la resolución debe ser de 512x512 píxeles). [ 16 ]

Apoyo

El logotipo de APNG Assembler, software gratuito para crear imágenes APNG.

Mozilla Firefox añadió soporte para APNG en las compilaciones trunk de la versión 3 el 23 de marzo de 2007. [ 17 ] Sin embargo, dado que libpng es la implementación de referencia del Grupo PNG de la especificación oficial, el soporte para APNG no se añadió antes de la versión 1.8 de la distribución principal de libpng, ya que no había sido ratificado por el Grupo con anterioridad. Iceweasel 3 admite APNG mediante el uso de la variante no oficial de libpng de Mozilla. [ 18 ]

En 2008, WorldDMB adoptó APNG como una extensión retrocompatible para habilitar la animación como parte de la aplicación de usuario MOT SlideShow para radio digital. La "Especificación APNG 1.0 - Gráficos de red portátiles animados" está incluida como Anexo A normativo en el estándar ETSI TS 101 499 V2.2.1. [ 19 ] En 2016, Apple adoptó el formato APNG como el formato preferido para las pegatinas animadas en las aplicaciones iMessage de iOS 10. [ 20 ] El 15 de marzo de 2017, se agregó compatibilidad con APNG a Chromium . [ 21 ]

  1. ^ Tras cargar un vídeo, se puede crear un archivo APNG mediante la opción de menú "Archivo | Exportar | PNG animado".

Existe una biblioteca del lado del servidor que permite a los navegadores web que admiten la etiqueta canvas , pero no admiten APNG, mostrar APNG. [ 59 ] Ejemplos de dichos navegadores incluyen Microsoft Edge Legacy e Internet Explorer 9.

Véase también

Referencias

  1. ^ a b "Agregar soporte para APNG en Mozilla" . Bugzilla . Fundación Mozilla. 27 de agosto de 2004. Recuperado el 23 de abril de 2024 .
  2. ^ Estuardo Parmenter; Vladimir Vukicevic (2 de septiembre de 2004). "APNG 0.4 [BORRADOR]" . Vladimir Vukicevic. Archivado desde el original el 19 de noviembre de 2004 . Consultado el 23 de abril de 2024 .
  3. ^ martin (1999-11-11). "Bug 18574 - (mng) restaurar la compatibilidad con el formato de animación MNG y el formato de imagen JNG" . Mozilla . Recuperado el 30-03-2010 .
  4. ^ "Especificación PNG (Portable Network Graphics), versión 1.1#8.4. Extensión de imágenes múltiples" . libpng . Consultado el 30 de marzo de 2010 .
  5. ^ "Especificación APNG, versión 1.0#tipo MIME" . Mozilla . Consultado el 10 de diciembre de 2017 .
  6. ^ "ImageMagick no puede detectar PNG animados" . GitHub . Consultado el 10 de diciembre de 2017 .
  7. ^ "VOTACIÓN FALLIDA: APNG 20070405a" . Lista de correo de SourceForge . 20 de abril de 2007.
  8. ^ "Discusión sobre un formato PNG simple "animado" . Archivado del original el 26 de febrero de 2009. Consultado el 12 de julio de 2011 .
  9. ^ "PNG Tercera Edición, Explicada" . W3C GitHub . 24-05-2023.
  10. ^ "Especificación PNG (Tercera edición), APNG: animación basada en fotogramas" . w3.org . 21 de septiembre de 2023.
  11. ^ "Especificación APNG - MozillaWiki" .
  12. ^ Reglas de ordenación de fragmentos (especificación PNG 1.2)
  13. ^ "Especificación de gráficos de red portátiles (PNG) (Segunda edición)" .
  14. ^ "Optimización entre fotogramas en APNG" . littlesvr.ca . Archivado del original el 26 de abril de 2014. Consultado el 21 de octubre de 2021 .
  15. ^ "Ensamblador APNG" . apngasm.sourceforge.net . Consultado el 21 de octubre de 2021 .
  16. ^ "Pegatinas" . Soporte de Signal . Signal . Consultado el 28 de diciembre de 2021 .
  17. ^ "Notas de la versión alfa 3 de Gran Paradiso" . Mozilla . 23 de marzo de 2007. Archivado del original el 26 de diciembre de 2009. Consultado el 30 de marzo de 2010 .
  18. ^ a b "Error de Debian #486827 Iceweasel no puede renderizar la imagen APNG" . Debian . 26 de agosto de 2011. Consultado el 18 de septiembre de 2011 .
  19. ^ "Radiodifusión de audio digital (DAB); Presentación de diapositivas MOT; Especificación de la aplicación de usuario (pdf)" (PDF) . ETSI . Consultado el 30 de enero de 2013 .
  20. ^ "Mensajería - Extensiones - Directrices de interfaz humana de iOS" . developer.apple.com . Apple, Inc. Consultado el 12 de octubre de 2016 .
  21. ^ "Anzwix / Chromium / Agregar soporte para PNG animado" . Archivado del original el 16 de marzo de 2017. Recuperado el 15 de marzo de 2017 .
  22. ^ maxst (15 de noviembre de 2017). "Ensamblador APNG" . SourceForge .
  23. ^ "cphktool APNG Anime Maker" . cphktool. Archivado del original el 09-02-2010 . Recuperado el 28-06-2010 .
  24. ^ maxst. "Desensamblador APNG" . SourceForge .
  25. ^ maxst. "Optimizador APNG" . SourceForge .
  26. ^ "Ayuda en línea para Chasys Draw IES: Formatos de archivo - Otros archivos de imagen" .
  27. ^ "Ayuda en línea para Chasys Draw IES: Historia" . Consultado el 18 de julio de 2022 .
  28. ^ "Notas de la versión 1.6.7 de CLIP STUDIO PAINT (7/9/2017)" . Consultado el 22/4/2024 .
  29. ^ "Documentación de formatos de FFmpeg" .
  30. ^ "Registro de cambios de FFmpeg en GitHub" . GitHub . Consultado el 9 de julio de 2016 .
  31. ^ "Historial de actualizaciones de FireAlpaca" . Consultado el 4 de septiembre de 2021 .
  32. ^ "PNG animado: animación simple con un canal alfa" . Gamani . Consultado el 25 de agosto de 2009 .
  33. ^ "GID (Generic Image Decoder)" . GitHub . Consultado el 09/12/2023 .
  34. ^ "GIMP 3.1.2: Primera versión de desarrollo para GIMP 3.2" . Consultado el 3 de marzo de 2026 .
  35. ^ "Honeycam - Historial de versiones" . Bandisoft International Inc. Consultado el 09/01/2022 .
  36. ^ "Honeyview - Historial de versiones" . Bandisoft International Inc. Consultado el 09/01/2022 .
  37. ^ "Noticias de ImageJ" . ImageJ . Archivado del original el 21 de mayo de 2009. Consultado el 23 de mayo de 2009 .
  38. ^ "ImageMagick - Registro de cambios" . Consultado el 25 de abril de 2021 .
  39. ^ "Imagina - ¿Qué hay de nuevo?" . Archivado del original el 8 de octubre de 2011. Consultado el 1 de septiembre de 2017 .
  40. ^ "Konvertor - Soluciones para el procesamiento multimedia" . Archivado del original el 12 de mayo de 2010. Consultado el 19 de mayo de 2010 .
  41. ^ "KSquirrel Codecs ChangeLog" . GitHub . 15 de octubre de 2021.
  42. ^ "Plugin de archivos "Animaciones e imágenes PNG" (.PNG, .APNG) [Versión 1.4, 7 de enero de 2022] . Foro de Paint.NET . 7 de enero de 2022.
  43. ^ " Más sobre PNG animado - Blog de Vlasta" . www.rw-designer.com
  44. ^ "SourceForge.net: VirtualDub APNG Mod" . vdubapngmod.sourceforge.net .
  45. ^ Si bien XnView está disponible para varios sistemas operativos, solose han lanzado versiones para Windows desde que se agregó la compatibilidad con APNG.
  46. ^ "Soporte para exportación de APNG" . Consultado el 16 de agosto de 2021 .
  47. ^ "Exportación de animación APNG y WEBP (dbe993da) · Commits · Gráficos / Krita" . GitLab . 22 de febrero de 2021. Recuperado el 16 de agosto de 2021 .
  48. ^ "Gráficos PNG animados" . WebKit . 17 de marzo de 2015. Consultado el 17 de marzo de 2015 .
  49. ^ Parmenter, Stuart; Vladimir Vukicevic; Andrew Smith (4 de julio de 2008). "Gráficos PNG animados" . Centro de desarrolladores de Mozilla . Mozilla . Archivado del original el 4 de diciembre de 2008. Recuperado el 23 de mayo de 2009 .
  50. ^ "Firefox 3 para desarrolladores" . Centro de desarrolladores de Mozilla . Mozilla . 1 de octubre de 2008. Archivado del original el 13 de noviembre de 2008. Consultado el 23 de mayo de 2009 .
  51. ^ a b c d e "PNG animado (APNG)" . ¿Puedo usar...? Tablas de soporte para HTML5, CSS3, etc.
  52. ^ "7d2b8c45afc9c0230410011293cc2e1dbb8943a7 - chromium/src - Git en Google" . chromium.googlesource.com .
  53. ^ "Actualización del canal estable para escritorio" . Chrome Releases . Consultado el 6 de junio de 2017 .
  54. ^ "Estado del formato de imagen APNG en Microsoft Edge" . Desarrollo de Microsoft Edge . Consultado el 29 de julio de 2017 .
  55. ^ "Especificaciones web compatibles con Opera 9.5" . Opera Software . Archivado del original el 25 de febrero de 2009. Consultado el 23 de mayo de 2009 .
  56. ^ "Opera 46 llega a su versión final, con mayor calidad y el primer anuncio de televisión de Opera" . Opera Software . 22 de junio de 2017. Consultado el 26 de junio de 2017 .
  57. ^ "APNG – ¿Puedo usar…?" . Consultado el 3 de marzo de 2026 .
  58. ^ "Implementar soporte para la importación de filtros y la reproducción de PNG animados -- APNG" . LibreOffice . Consultado el 3 de marzo de 2026 .
  59. ^ "Biblioteca APNG-canvas" . GitHub . 11 de octubre de 2021.
  • APNG según la especificación PNG (3.ª edición)
  • La especificación APNG en la Wiki de mozilla.org
  • Parche APNG para libpng
  • Sitio de demostración de APNG de Mozilla
  • Directorio de recursos para desarrolladores y software de APNG
  • Pruebas APNG para navegadores compatibles con APNG 1.0
  • Animaciones de carga AJAX en APNG
  • Consideración de APNG en el grupo de desarrollo de cromo
Obtenido de " https://en.wikipedia.org/w/index.php?title=APNG&oldid=1361523528 "