9 Punkte von GN⁺ 2023-12-10 | 2 Kommentare | Auf WhatsApp teilen
  • CPNG ("Compatible Network Graphics") ist ein zu 100 % kompatibler Fork des rund 30 Jahre alten PNG-Bildformats. Es erweitert die Funktionen von PNG auf moderne Weise und bewahrt dabei die Kompatibilität mit bestehenden Browsern, Betriebssystemen, Engines usw.
  • Ziel: deutlich schnellere Kodierungs-/Dekodierungsgeschwindigkeit als bei bestehendem PNG (mehr als 10x beim Kodieren, mehr als 2–3x beim Dekodieren), um dadurch Spielraum für neue Funktionen und die Übernahme in Bibliotheken zu schaffen
  • Wichtige Merkmale:
    • Constrained-Deflate-Streams: eine Funktion, die die Kodierung gegenüber bestehenden Bibliotheken um das 10- bis 25-Fache und die Dekodierung um das 2- bis 3-Fache beschleunigt; bereits in fpng/fpnge implementiert
    • Multithread-Kodierung/-Dekodierung: eine von Apple bereits eingesetzte Technik. Zusätzliche CPNG-Chunks enthalten Suchtabellen, sodass Bilder streifenweise parallel kodiert/dekodiert werden können.
    • Unterstützung für FP16 und LOGLUV32: entwickelt, damit HDR-Bilder auch in Browsern und Betriebssystemen, die nur PNG unterstützen, auf sinnvolle Weise angezeigt werden können. HDR-Daten lassen sich über ein einfaches und schnelles Verfahren verlustfrei wiederherstellen
    • CPNG als Alternative zu .EXR: Das .EXR-Format unterstützt zu viele Kompressionsformate und ist dadurch in der Praxis nicht wirklich kompatibel. CPNG bietet eine verlustfreie Tone-Mapping-Alternative und kann in den meisten Browsern und Betriebssystemen in der Vorschau angezeigt werden.
    • Design von LOGLUV32: in Entwicklung, um echtes HDR zu erreichen, ohne die Dateigröße unnötig aufzublähen. Es wird darauf hingewiesen, dass andere "HDR"-Lösungen 16-Bit-Pixel speichern müssen, obwohl tatsächlich weniger Bits verwendet werden, was als Verschwendung betrachtet wird.
  • Bedeutung der Bibliotheksautoren: Solange die Kompatibilität gewahrt bleibt, sind es in der Praxis die Autoren der Bibliotheken, die das Format kontrollieren.

Meinung von GN⁺

  • CPNG ist ein neues Bildformat, das vollständig mit dem bestehenden PNG-Format kompatibel ist und gleichzeitig moderne Funktionen hinzufügt; besonders bemerkenswert sind die revolutionären Verbesserungen bei der Kodierungs-/Dekodierungsgeschwindigkeit und die HDR-Unterstützung.
  • Es wird erwartet, dass diese Entwicklung Fachleuten aus vielen Bereichen wie Webentwicklung, Grafikdesign und Software Engineering sehr nützliche und interessante Veränderungen bringen wird.
  • Der auf Kompatibilität ausgerichtete Ansatz spiegelt ein wichtiges Prinzip moderner Softwareentwicklung wider: technologischen Fortschritt und eine bessere Benutzererfahrung zugleich anzustreben.

2 Kommentare

 
kuroneko 2023-12-11

Hm … ob das wirklich ein neuer Bildstandard werden kann?

Bisher hat sich abgesehen von WebP als Bildstandard der nächsten Generation eigentlich nichts so richtig durchgesetzt …
Bei WebP hat es sich am Ende auch so angefühlt, als hätte Google es über den Marktanteil von Chrome durchgedrückt …

 
GN⁺ 2023-12-10
Hacker-News-Kommentare
  • Sorge darüber, dass sich das PNG-Format in mehrere inkompatible Versionen aufspalten könnte

    In der frühen Geschichte von PNG gab es bereits Inkonsistenzen bei Alpha-Kanälen, progressivem Rendering und der APNG-Unterstützung. Auch PSD- und SVG-Dateien hatten lange das Problem, je nach Browser, Gerät, App oder Version unterschiedlich auszusehen. PNG zu erweitern könnte in fast allen praktischen Anwendungsfällen Probleme verursachen, da Bilder für Designer, die neue Funktionen nutzen, "kaputt" aussehen könnten. Einige Funktionen wie HDR könnten nur in bestimmten Renderern angezeigt werden, sodass selbst "Abwärtskompatibilität" problematisch sein kann. Es könnte besser sein, ein neues Format zu schaffen und Webseiten sowie Geräte je nach Bedarf darauf ausweichen zu lassen.

  • Positive Einschätzung der Gründe, PNG verbessern zu wollen, und des Nutzens davon

    Wenn sich neue Funktionen in PNG auf abwärtskompatible Weise integrieren lassen, wäre das wertvoll, weil damit sofortige Kompatibilität mit allen Browsern, Betriebssystemen, Engines usw. möglich wäre.

  • Lob für die LOGLUV32-Technik und Hinweis darauf, dass die Encoding-Geschwindigkeit von libpng mehr als 10-mal langsamer als bei jpg oder tiff ist

    Es wurde festgestellt, dass die Encoding-Geschwindigkeit von libpng langsam ist, und der LOGLUV32-Teil wird als sehr clever angesehen. Die Idee mit einem tonemapped Ersatzbild und dem Aufbau auf dem Bestehenden gefällt, zugleich besteht die Hoffnung, dass die Formaterweiterung nicht zu Kompatibilitätsproblemen führt.

  • Begeisterte Reaktion auf das neue Bildformat und Anerkennung für die Ingenieursarbeit

    Obwohl dafür persönlich kein Bedarf besteht, war die Lektüre dazu sehr interessant, und es braucht mehr von dieser durchdachten Arbeit an Bildformaten und des guten Schreibens darüber.

  • Neugier auf die Effizienz moderner Bildformate

    Es besteht Interesse daran, welche verlustfreien und verlustbehafteten Formate derzeit hinsichtlich Dateigröße oder Dekomprimierungsgeschwindigkeit jeweils am effizientesten sind und wie der Stand der Technik aussieht.

  • Kritik an der fehlenden Erwähnung von JPEG XT und JPEG-HDR

    Es wird darauf hingewiesen, dass JPEG XT und JPEG-HDR nicht erwähnt werden.

  • Vorschlag für eine vereinfachte, abwärtskompatible Version von PNG

    Es wird die Idee vorgeschlagen, eine vereinfachte Version von PNG zu schaffen, damit sie auf Embedded-Systemen mit geringer Komplexität genutzt werden kann, ohne "vollständiges PNG" implementieren zu müssen, und dabei dennoch die Kompatibilität mit bestehenden Bildbetrachtern zu erhalten. Da DEFLATE bereits unkomprimierte Blöcke unterstützt, könnte dies auf abwärtskompatible Weise funktionieren.

  • Frage nach der Bedeutung von "100 % abwärtskompatibel" und Meinung zur Ähnlichkeit mit APNG

    Es wird gefragt, was "100 % abwärtskompatibel" genau bedeutet und ob die Abwärtskompatibilität ähnlich wie bei APNG funktioniert, also so, dass bei Dateien mit neuen Funktionen dennoch ein sinnvolles Bild zurückgegeben wird.

  • Bewunderung für CPNG und Erwartungen an Leistungsverbesserungen bei Bibliotheken, die CPNG erkennen

    Die Leistungsverbesserungen bei Bibliotheken, die CPNG erkennen, werden als beeindruckend angesehen. Außerdem wird gefragt, ob bestehende Bibliotheken, die CPNG nicht erkennen, beim Lesen von CPNG-Bildern Leistungseinbußen haben und wie viel größer CPNG im Vergleich zu PNG wäre.