CPNG, una bifurcación compatible hacia atrás de PNG
Una propuesta de bifurcación “compatible” del formato de imagen PNG, CPNG, busca añadir funciones como codificación/decodificación más rápida y soporte HDR sin dejar de ser totalmente visible en los decodificadores PNG existentes. Los comentaristas elogian el enfoque compatible hacia atrás por su soporte instantáneo en el ecosistema, pero se preguntan si extender un formato de 30 años arriesga fragmentación, diferencias sutiles de renderizado y nuevos problemas de seguridad. Muchos comparan CPNG con formatos modernos como WebP, AVIF y JPEG XL, debatiendo si merece la pena mejorar incrementalmente PNG o invertir en estándares más nuevos y eficientes.
Motivación y concepto de CPNG
- A muchos comentaristas les gusta la idea de extender PNG de una manera totalmente compatible hacia atrás, de modo que los navegadores y sistemas operativos existentes puedan mostrar al menos una imagen básica.
- Se describe CPNG como una reinterpretación de PNG cuando se cumplen ciertas condiciones, aprovechando el diseño extensible basado en chunks de PNG.
- Algunos lo ven como una forma inteligente y pragmática de innovar sin los problemas de despliegue de un formato completamente nuevo.
Compatibilidad hacia atrás vs. fragmentación
- Un debate se centra en qué significa realmente “100% compatible hacia atrás”:
- Los partidarios: los decodificadores antiguos siguen viendo un PNG válido; los decodificadores nuevos pueden añadir HDR u otras funciones usando datos extra.
- Los escépticos: las imágenes de salida pueden diferir entre decodificadores (por ejemplo, HDR frente a SDR), lo que consideran una “degradación” más que una compatibilidad real.
- Preocupación: con el tiempo esto podría crear una “familia” de variantes de PNG en las que las imágenes se vean diferentes según la herramienta y la plataforma, recordando los primeros problemas de alpha de PNG, las inconsistencias de APNG, PSD/SVG.
- Otros responden que PNG ya tiene chunks opcionales (gamma, perfiles ICC, etc.) que los decodificadores pueden ignorar, y que la evolución de los formatos es inevitable.
Rendimiento y compresión
- Varios comentarios destacan que la codificación/decodificación de PNG (especialmente zlib/DEFLATE) puede ser un verdadero cuello de botella de CPU en juegos y servidores.
- La DEFLATE restringida de CPNG y la decodificación multihilo se consideran optimizaciones valiosas; siguen sin resolverse preguntas sobre el impacto en el tamaño del archivo y el rendimiento de lectura en decodificadores antiguos (en gran medida sin respuesta).
- La discusión relacionada aborda alternativas y optimizaciones: fpng, QOI, bifurcaciones de zlib (Cloudflare, chromium) y formatos de textura aptos para GPU.
Comparación con otros formatos de imagen
- Algunos preguntan por qué no usar simplemente formatos más nuevos como WebP, AVIF, o especialmente JPEG XL, que varios comentaristas sitúan muy alto para compresión sin pérdida y/o eficiencia.
- Un ranking resumido:
- Eficiencia: WebP (B), AVIF (A), JXL (S).
- Velocidad de codificación: WebP (B), AVIF (D), JXL (A).
- Compatibilidad: WebP (A), AVIF (B), JXL (D).
- Se destacan problemas de gestión del color y metadatos con WebP/AVIF/HEIC; PNG sigue siendo atractivo por su fiabilidad.
Ideas alternativas “compatibles hacia atrás” y seguridad
- Algunos proponen un subconjunto restringido o sin compresión de PNG para sistemas simples o embebidos, usando solo bloques DEFLATE sin comprimir; otros sugieren BMP o NetPBM como bases más sencillas.
- Hay una breve advertencia de que más complejidad en formatos tipo PNG puede introducir nuevas vulnerabilidades de seguridad (por ejemplo, problemas con logos de arranque como “LogoFAIL”).
Perspectivas de adopción
- Las opiniones están divididas: algunos dudan de que CPNG gane tracción si APNG tuvo dificultades; otros señalan que APNG en realidad está ampliamente soportado ahora, aunque rara vez se use.
- En general, el hilo mezcla un fuerte entusiasmo por el hack con una preocupación considerable por la complejidad a largo plazo del ecosistema.