HDR IIIF

Beim Zeitzeug wird die Tapetensammlung des Inhabers veräußert und ich habe mir ein besonders grelles Exemplar gesichert…

Und da ich mit Vorsatzpapier ein Blog habe, dass auch alte Tapeten präsentiert, habe ich dieses digitalisiert. Nur leider kommt dabei der leuchtende Charakter nicht wirklich zum Vorschein.

Das brachte mich auf die Idee mal zu versuchen ein HDR (bzw. UltraHDR) Bild in Form von IIIF bereitzustellen. Das Hauptproblem dabei war das zerlegen des Bildes in Kacheln, da gängige Werkzeuge dafür nur die SDR Repräsentation des Bildes heranziehen.

Image Tiler für UltraHDR

Da meine Blogs am Anfang iiif_static.py aus dem Python Modul iiif (dass sich aber als zu langsam herausgestellt hat und auch nicht so einfach mit JPEG XL verheiraten war, wie vips), genutzt haben, gab es schon einen Kandidaten für die notwendigen Anpassungen. Zusätzlich hat eine Python Implementierung den Vorteil das Pillow genutzt werden kann: Die MPO (einem JPEG Derivat, das strukturell mit UltraHDR verwand ist) Implementierung ist schon für VintageReality zum Einsatz gekommen.

Es fehlte “nur” die Unterstützung für das Schreiben von XMP Metadaten. Für normale JPEG Dateien, war es noch recht einfach… Am Ende habe ich einfach ein Backend auf Basis von libultrahdr geschrieben.

Unten das Ergebnis.

Nächste Schritte

Derzeit gibt es für IIIF noch keine standardisierte Möglichkeit auf UltraHDR Inhalte hinzuweisen. Prinzipiell gibt es Felder, die für diese Aufgabe genutzt werden können, aber eine Aufnahme in den Standart ist wünschenswert, damit Viewer Implementierungen darauf hinweisen können, wenn der Monitor die Anzeige nicht unterstützen.

Ergebnis

HDR Überprüfung

Wenn der Test fehlschlägt, sind die Farben nicht so leuchtend. Selbst wenn die Darstellung von HDR Bildern funktioniert, mus die HDR Unterstützung für das canvas Element noch aktiviert werden: Dazu muss enable-experimental-web-platform-features auf enabled gesetzt werden. In Chrome kann die Einstellung über die URL “chrome://flags#enable-experimental-web-platform-features” angesteuert werden.

Das weltweit erste HDR IIIF Bild ist eine 70er Jahre Tapete!

Update 28.8.2024

Es gibt nun ein entsprechendes GitHub Issue um zu schauen ob es Interesse an der Erstellung einer Spezifikation gibt.