Open Source im professionellen Einsatz

© photocase.com

High Dynamic Range in der Praxis

Mehr Licht und Schatten

Verbreitete Bildformate wie Jpg und PNG decken nur geringe Helligkeitsbereiche ab. High-Dynamic-Range-Bilder speichern Tiefen bis zu 32 Bit pro Kanal und eröffnen damit neue Dimensionen für die Weiterverarbeitung und Archivierung.

Nichts ist, wie es scheint. Computertechnologien gaukeln dem Benutzer häufig eine Perspektive vor, die der realen Welt nur sehr wenig entspricht. So beschneidet etwa die MP3-Kompression aufgenommene Klänge einfach um jene Frequenzen, die bei der Wahrnehmung nur eine geringe Rolle spielen. Zum Anhören eignen sich MP3s deswegen gut, zur Weiterverarbeitung weniger.

Extreme Lichtverhältnisse

Wie die des Ohres machen sich Software-Entwickler auch die Schwächen des Auges zu Nutze - wie im Übrigen ja auch der normale Kinofilm, dessen 24 Einzelbilder pro Sekunde das Unterscheidungsvermögen des Auges übersteigen. Bei statischen Farbbildern am Computer kommen im Wesentlichen zwei Beschränkungen zum Tragen: die begrenzten Fähigkeiten des Auges, Farben und Helligkeiten zu unterscheiden, und die entsprechenden Grenzen (Gamut) bei der Wiedergabe beispielsweise auf dem Bildschirm oder LCD-Panel.

Die meisten Bildformate speichern maximal 8 Bit pro Farbkanal (Rot, Grün, Blau), also 24 Bit pro Pixel. Die 8 Bit müssen den ganzen Helligkeitsbereich der jeweiligen Grundfarbe abdecken, den so genannten Dynamikumfang oder Dynamic Range. In der realen Welt herrschen aber oft extreme Helligkeitsunterschiede, bis zu 1:100000 zwischen dem dunkelsten und dem hellsten Punkt.

Bildformate wie Jpg, PNG oder gar Gif können solche Helligkeitsunterschiede nicht speichern. Selbst RAW-Bilder [1] hochwertiger digitaler Kameras decken nur einen Dynamic Range von 1:1000 ab. Auch wenn sie in Bilddateien mit 16 Bit umgewandelt werden, besitzt das Ausgangsmaterial nur 12 Bit Farbtiefe.

So genannte High-Dynamic-Range-Bilder speichern bis zu 32 Bit pro Kanal und ermöglichen damit die zukunftssichere Archivierung von Bilddaten. Wer weiß schon, welche Technologien morgen zur Verfügung stehen, um Informationen zu nutzen, die heute einfach weggeworfen werden? In der Praxis wird die HDR-Technologie schon heute eingesetzt, zum Beispiel in der 3D-Grafik. Wenn eine 3D-Engine die Beleuchtungsverhältnisse in Echtzeit berechnet, etwa im Lauf eines sonnigen Tags, kann sie über HDR-Texturen wesentlich realistischere Effekte erzielen als mit nur 8-Bit-Texturdateien. Ein Beispiel, wenn auch aus der Windows-Welt, ist das HDR-Addon Lost Coast für das Spiel Half Life 2.

HDR-Formate

Es überrascht wohl niemanden, dass es in der großen Computerwelt mehr als ein HDR-Format gibt. Einer der Pioniere der Technologie ist der Autor des Rendering-Pakets Radiance, Greg Ward [2]. Im Zusammenhang mit diesem Projekt und seiner akademischen Arbeit hat er theoretische Arbeiten und Programme geschrieben, die sich mit HDR beschäftigen. Seine erste Implementierung eines HDR-Formats startete Ward am Lawrence Berkeley National Laboratory mit dem Radiance RGBE Encoding.

Rückblickend sieht Ward an seiner Lösung Schwächen: Sie deckt einen unsinnig großen Dynamic Range ab, dafür mangelt es ihr aber an Genauigkeit - denn es kommt ja nicht nur darauf an, einen großen Bereich abzubilden, sondern dabei auch viele Differenzierungsstufen zu bieten. Logluv, seinen zweiten Ansatz, betrachtet Greg Ward als eher gelungen. Das Format befriedigt alle denkbaren Ansprüche an die Bewahrung von Bildinformation, halbiert den abgedeckten Helligkeitsbereich und verdreifacht dabei die Genauigkeit. Nur ist das Format wenig bekannt.

Mehr Erfolg hat in der Entwicklergemeinde OpenEXR, ein Open-Source-Projekt der Special-Effects-Firma ILM. Seine Entwickler haben einen pragmatischen Ansatz gewählt, denn für sie bedeutet Speicherplatz bares Geld. Deshalb unterstützt OpenEXR nicht nur einen großen Dynamikumfang, sondern implementiert zusätzlich eine effektive Datenkompression, die selbst verrauschte Bilder gut komprimiert.

Viele Linux-Programme für die Verarbeitung von Bildern beherrschen heute schon das OpenEXR-Format, denn die Bibliothek von ILM steht unter einer freien Lizenz und ist einfach zu verwenden. Selbst die Tools von Greg Ward können auf Wunsch OpenEXR lesen oder schreiben, ohne dass zwanghafte Konkurrenz die Kompatibilität einschränkt.

OpenEXR bietet die Farbtiefen 16 Bit Floating Point, 32 Bit Floating Point und 32 Bit Integer. Für Echtzeit-3D-Anwendungen mit Nvidia- und ATI-Hardware ist das Format besonders interessant, denn viele Grafikkarten dieser Hersteller verarbeiten den zu OpenEXR kompatiblen Datentyp Half.

Diesen Artikel als PDF kaufen

Express-Kauf als PDF

Umfang: 2 Heftseiten

Preis € 0,99
(inkl. 19% MwSt.)

Als digitales Abo

Als PDF im Abo bestellen

comments powered by Disqus

Ausgabe 07/2013

Preis € 6,40

Insecurity Bulletin

Insecurity Bulletin

Im Insecurity Bulletin widmet sich Mark Vogelsberger aktuellen Sicherheitslücken sowie Hintergründen und Security-Grundlagen. mehr...

Linux-Magazin auf Facebook