9 puntos por GN⁺ 2023-12-10 | 2 comentarios | Compartir por WhatsApp
  • CPNG("Compatible Network Graphics") es un fork 100% compatible del formato de imagen PNG, que tiene cerca de 30 años. Amplía de forma moderna las capacidades de PNG, manteniendo la compatibilidad con navegadores, sistemas operativos, motores y más ya existentes
  • Objetivo: ofrecer una velocidad de codificación/decodificación muy superior a la de PNG actual (más de 10x en codificación y más de 2-3x en decodificación), impulsando así la adopción de librerías y la incorporación de nuevas funciones
  • Características principales:
    • Flujos Constrained Deflate: una función que mejora la velocidad de codificación entre 10 y 25 veces y la de decodificación entre 2 y 3 veces frente a las librerías existentes; ya está implementada en fpng/fpnge
    • Codificación/decodificación multihilo: una técnica que Apple ya utiliza. Añade tablas de búsqueda en chunks auxiliares de CPNG, lo que permite codificar/decodificar imágenes en paralelo por tiras
    • Compatibilidad con FP16 y LOGLUV32: diseñado para que imágenes HDR puedan verse de forma razonable incluso en navegadores y sistemas operativos que solo soportan PNG. Los datos HDR pueden recuperarse sin pérdidas mediante un proceso simple y rápido
    • CPNG como alternativa a .EXR: el formato .EXR soporta demasiados métodos de compresión y en la práctica no resulta compatible. CPNG ofrece una alternativa de tone mapping sin pérdidas y puede previsualizarse en la mayoría de navegadores y sistemas operativos.
    • Diseño de LOGLUV32: se está desarrollando para lograr HDR real sin inflar el tamaño del archivo. Señala que otras soluciones "HDR" obligan a almacenar píxeles de 16 bits en mayor cantidad que los bits realmente usados, y sostiene que eso es un desperdicio.
  • Importancia de los autores de librerías: mientras se mantenga la compatibilidad, quienes realmente controlan el formato son, en la práctica, los autores de librerías.

Opinión de GN⁺

  • CPNG es un nuevo formato de imagen que mantiene compatibilidad perfecta con el formato PNG existente mientras añade funciones modernas; destacan especialmente la mejora revolucionaria en la velocidad de codificación/decodificación y el soporte para HDR.
  • Se espera que estos avances traigan cambios muy útiles e interesantes para profesionales de distintos campos, como desarrolladores web, diseñadores gráficos e ingenieros de software.
  • El enfoque centrado en la compatibilidad refleja un principio importante del desarrollo moderno de software: impulsar al mismo tiempo el avance tecnológico y la mejora de la experiencia de usuario.

2 comentarios

 
kuroneko 2023-12-11

Mmm... ¿de verdad podrá convertirse en un nuevo estándar de imagen?

Hasta ahora, entre los estándares de imagen de próxima generación, fuera de webp no ha habido ninguno que realmente haya tenido éxito...
Y webp, al final, también da la impresión de que Google lo impuso aprovechando la cuota de mercado de Chrome...

 
GN⁺ 2023-12-10
Comentarios en Hacker News
  • Preocupación por la posibilidad de que el formato PNG se fragmente en varias versiones incompatibles

    En la historia temprana de PNG ya hubo problemas de inconsistencias con el canal alfa, el renderizado progresivo y el soporte de APNG. Los archivos PSD y SVG también tuvieron durante mucho tiempo el problema de verse distinto según el navegador, dispositivo, app o versión. Extender PNG podría causar problemas en casi todos los usos reales, y las imágenes podrían verse "rotas" por culpa de diseñadores que usen funciones nuevas. Algunas funciones, como HDR, podrían mostrarse solo en ciertos renderizadores, así que incluso si es "retrocompatible" podría seguir siendo problemático. Tal vez sería mejor crear un formato nuevo y hacer que las páginas web y los dispositivos lo sustituyan cuando sea necesario.

  • Evaluación positiva sobre por qué vale la pena intentar mejorar PNG

    Si se pueden integrar nuevas funciones en PNG de una manera retrocompatible, tendría valor porque podría ser compatible de inmediato con todos los navegadores, sistemas operativos, motores, etc.

  • Elogios a la tecnología LOGLUV32 y mención de que la velocidad de codificación de libpng es más de 10 veces más lenta que jpg o tiff

    Notaron que la velocidad de codificación de libpng es lenta, y les parece muy ingeniosa la parte de LOGLUV32. Les gusta la idea de una imagen alternativa con tone mapping construida sobre la existente, pero esperan que la expansión del formato no termine causando problemas de compatibilidad.

  • Reacción entusiasta ante el nuevo formato de imagen y aprecio por la ingeniería

    Aunque en lo personal no lo necesitan, disfrutaron leer sobre esto y creen que hacen falta más trabajos de formatos de imagen y de escritura tan bien pensados como este.

  • Curiosidad sobre la eficiencia de los formatos de imagen modernos

    Tienen curiosidad por saber cuáles formatos, tanto con pérdida como sin pérdida, son actualmente los más eficientes en tamaño o velocidad de descompresión, y cuál es el estado actual de la tecnología.

  • Señalan la falta de mención de JPEG XT y JPEG-HDR

    Indican que no se menciona JPEG XT ni JPEG-HDR.

  • Propuesta de una versión simplificada y retrocompatible de PNG

    Proponen crear una versión simplificada de PNG para usarla en sistemas embebidos de baja complejidad, de modo que no sea necesario implementar el "PNG completo" y aun así se mantenga la compatibilidad con los visores de imágenes existentes. DEFLATE ya admite bloques sin comprimir, así que esto podría funcionar de forma retrocompatible.

  • Pregunta sobre el significado de "100% retrocompatible" y opinión sobre su similitud con APNG

    Plantean la duda de qué significa exactamente "100% retrocompatible" y si la retrocompatibilidad funciona de manera similar a APNG, devolviendo una imagen razonable cuando hay archivos que usan funciones nuevas.

  • Admiración por CPNG y expectativa sobre mejoras de rendimiento en librerías que lo reconozcan

    Les impresionan las mejoras de rendimiento en las librerías que reconocen CPNG, y expresan curiosidad por saber si las librerías existentes que no reconocen CPNG sufren una degradación de rendimiento al leer imágenes CPNG, y cuánto más grande sería CPNG en comparación con PNG.