www.stoske.de/digicam

Technische Artikel und Methoden, Experimente, Tricks und Hilfsprogramme
für Digitalkameras und CCD-erzeugte Bilder

©2003-2004 Stoske & Bertling, Visuelle Kommunikation, Velbert, stephan@stoske.de

Artikel: Erweiterte Dynamik

Dynamikumfang erweitern

Erweiterung der sichtbaren Tonwerte durch Vermittlung mehrerer Bilder (Belichtungsreihe)

Durch die Vermittlung mehrerer Bilder läßt sich nicht nur ein Rauschen sehr gut unterdrücken, sondern es kann auch der sichtbare Dynamikumfang erweitert werden.

Im Falle der Rauschunterdrückung werden gleiche Bilder vermittelt, d.h. Aufnahmen, die sich nur durch ihr Rauschen unterscheiden. Durch die Bildung eines Durchschnitts oder Mittelwertes kann das überlagerte Signal deutlich genauer ermittelt werden.

Unterscheiden sich die Bilder aber hinsichtlich ihres Dynamikumfanges, so wird auch dieser vermittelt, d.h. auch einzeln vorkommende Werte die weit über und unter dem normalen Wertebereich liegen, haben ihren Anteil an dem Resultat.

Normale Belichtung

Aus dem zu großen Dynamikumfang der Szene wird ein mittlerer Ausschnitt erfasst. Es bilden sich ausgefressene Lichter ohne Details und ebensolche Schwarzflächen.

Unterbelichtung, 2 Stufen

Dieses Bild erfasst einen tieferliegenden Ausschnitt aus der natürlichen Dynamikskala. Hier werden die Details in den Lichtern sichtbar.

Überbelichtung, 2 Stufen

Dieses Bild erfasst einen höherliegenden Ausschnitt aus der natürlichen Dynamikskala. Hier werden die Details in den Tiefen sichtbar.

Vermittlung

Durch die Mittelwertbildung auf Fliesskommabasis werden die verschiedenen Dynamikumfänge addiert. In den Tiefen und Lichtern sind wieder Details sichtbar.

Grundlagen:
Dynamikumfang,
Größe und Lage

Bei der Belichtung eines Filmes oder der Digitalisierung durch einen CCD-Chip trifft das Licht auf Elemente die daraufhin reagieren und ihre Eigenschaften verändern. Dabei gibt es prinzipiell eine untere und obere Grenze.

Die untere Grenze ist die Mindestlichtmenge die notwendig ist, damit das Element reagiert. Diese Grenze bestimmt die Empfindlichkeit des Mediums.

Die obere Grenze ist der Sättigungsgrad des Elementes, ab dem die Lichtmenge so groß wird, dass keine weitere Reaktion mehr erfolgt.

Der Raum zwischen diesen Grenzen ist der maximale Dynamikumfang des Mediums.

Der gesamte Dynamikumfang ist "natürlich" viel größer als alles was man sehen, geschweige denn reproduzieren könnte. Der Dynamikumfang des jeweiligen Mediums ist dagegen winzig und kann nur einen Bruchteil daraus abbilden.

Bei der Fotografie kann durch Blende und Belichtungszeit Einfluss auf die empfangene Lichtmenge genommen werden, was den aufgenommenen Bereich auf der Dynamikskala verschiebt.

Das bedeutet, dass mit unterschiedlichen Belichtungen derselben Szene auch unterschiedliche Dynamikbereiche aufgenommen werden und sich diese zueinander additiv verhalten.

Grundlagen:
- Dichte,
- Kontrastumfang,
- Dynamikumfang

In Zusammenhang mit optischen Geräten und Reproduktions-Prozessen ist häufig von einer maximalen Dichte die Rede. Was ist damit überhaupt gemeint?

Die Dichte ist vereinfacht gesagt tatsächlich die optische Dichte eines transparenten Mediums. Sie gibt an wie "lichtdicht" das Medium maximal sein darf um noch messbar zu sein, oder anders formuliert: Sie bestimmt die maximal messbare Bandbreite oder auch Dynamik.

In Bezug auf transparente Medien wird diese maximal mögliche Bandbreite Dichteumfang oder nur Dichte genannt. Speziell bei optischen Geräten wird auch von einem Kontrast- oder Dynamikumfang gesprochen.

Die Dichte beginnt bei Null, also bei völliger Transparenz oder Reflektion, und steigt dann logarithmisch. Eine Dichte von 1 bedeutet, dass nur noch ein Zehntel der Lichtes durch das Medium dringt oder reflektiert wird. Bei einer Dichte von 2 ist es nur noch ein Hunderstel, bei 3 ein Tausendstel usw.

Wenn also bei z.B. einem Scanner die Dichte mit dLog 3,2 angegeben wird, dann läßt sich berechnen:

Zehn hoch 3,2 = 1584,89

Das bedeutet, dass der Scanner noch einen Unterschied messen kann, wenn das Licht nur noch zu einem 1585stel Teil vom Weiss des Papieres refleketiert wird, oder nur noch ein 1585stel Teil des Lichtes durch das ansonsten transparente Medium dringt.

Dabei wird nicht definiert wo die Bandbreite selbst liegt, also bei welchem absoluten Wert sie beginnt und wo sie endet, sondern nur die Größe der Strecke dazwischen.

Da der Dynamikumfang analog ist, ist auch die gesamte Bandbreite analog, d.h. vollkommen stufenlos. Der sogenannte Tonwertumfang, der normalerweise die Anzahl der Stufen bestimmt, ist hier nicht existent, oder wenn man so will "unbegrenzt".

Analog:
variable Dynamik,
unbegrenzter Tonwertumfang

Digital:
fixe Dynamik,
variabler Tonwertumfang

Nur in der analogen Welt ist der Dynamikumfang variabel und der Tonwertumfang unbegrenzt.

Erst bei der Digitalisierung wird anhand des Aufnahmemediums, wie z.B. dem CCD-Chip, ein absoluter unterer und oberer Grenzwert festgelegt. Der Dynamikumfang ist dann nicht mehr variabel sondern statisch, weil er den Grenzen des verwendeten Zahlenformates unterliegt.

Genaugenommen kann der Umfang noch verkleinert werden, einfach indem die zur Verfügung stehende Bandbreite nicht ausgenutzt wird. Das wird verständlicherweise nicht praktiziert.

Beim Tonwertumfang ist es umgekehrt. Er hat in der analogen Welt keine Bedeutung weil er dort stufenlos, bzw. unendlich ist.

Erst nach der Digitalisierung werden die Werte auf das feste Raster des Zahlenformates angepasst. Die Daten- bzw. Bittiefe des Zahlenformates bestimmt dabei die Anzahl der möglichen Tonwerte.

Der Tonwertumfang ist mit den verschiedenen Zahlenformaten variabel, innerhalb dieser aber statisch. (Wobei auch hier eine Verkleinerung möglich, aber ebenso sinnlos ist.)

Zahlenformate und Tonwerte

Ganzzahlen (Integer):
   1 Bit - 2 Tonwerte
   4 Bit - 16 Tonwerte
   8 Bit - 256 Tonwerte
  10 Bit - 1024 Tonwerte
  12 Bit - 4096 Tonwerte
  16 Bit - 65536 Tonwerte

Fliesskommazahlen (Single):
  32 Bit - 4,28 Mrd. Tonwerte

Dynamik unbegrenzt

Betrachten wir den Prozess der Aufnahme mal in extremer Zeitlupe. Der Verschluß der Kamera ist geschlossen und alle Sensoren liefern einen Wert von Null.

Wird der Verschluß geöffnet, fällt Licht auf die Sensoren und deren Meßwerte beginnen zu steigen.

Unterbricht man den Vorgang bevor einer der Sensoren seine Sättigung erreicht hat, dann ist das Bild unterbelichtet. Der Tonwertraum wird nicht ausgenutzt, bei einer Spreizung der Daten werden Tonwerte vervielfacht.

Läuft die Belichtung solange weiter, bis die ersten Sensoren ihren Sättigungsgrad erreicht haben, dann ist die Belichtung optimal und der Tonwertraum wird komplett ausgenutzt.

Fällt darüber hinaus weiterhin Licht auf die Sensoren, dann erreichen immer mehr ihren Sättigungsgrad und verbleiben beim höchsten Meßwert. Das Bild wird überbelichtet und der nutzbare Tonwertumfang immens verkleinert.

Steht man also vor der Aufgabe einen wesentlich größeren oder quasi unbegrenzten Dynamikumfang reproduzieren zu müssen, bräuchte man einen Sensor mit extrem hohem oder quasi unbegrenztem Sättigungsgrad. Anders formuliert: Der gemessene Wert müsste solange größer werden, wie Licht auf ihn fällt, ohne jemals an eine Grenze zu stossen.

Skaliert man diesen aufgenommenen Zahlenraum anschliessend mit hoher Genauigkeit auf die Bandbreite eines Zahlenformates (z.B. 8-Bit), dann läßt sich der vollständig erfasste Dynamikraum sichtbar darstellen wobei der Tonwertumfang ebenfalls ganz ausgenutzt wird.

Leider gibt es keine Sensoren mit dieser Fähigkeit, zumindest nicht in Hardware. Aber innerhalb des Computers, also in "Software" ist soetwas möglich, denn der Computer kann mit Fliesskommazahlen arbeiten, die extrem genaue oder extrem große Werte speichern können. Damit läßt sich ein "Sensor" simulieren, der quasi unbegrenzte Dynamik und Tonwerte bietet.

1/25 Sek.

1/15 Sek.

1/6 Sek.

1/4 Sek.

0,4 Sek.

0,8 Sek.

1,3 Sek.

2,0 Sek.

3,2 Sek.

6 Sek.

10 Sek.

24,223 Sek.

Normalisiert

Da wir es hier mit einem additiven System zu tun haben, macht es keinen Unterschied ob man einmal Zehn Sekunden belichtet oder zehnmal Eine.

Deshalb können wir mit unserem begrenzten CCD-Chip einfach mehrere Aufnahmen machen, und damit den erfassten Dynamikumfang Bild für Bild erweitern. Die Addition aller Bilder bzw. Werte verhält sich genauso wie eine entsprechend lange Einzelbelichtung.

Die oben abgebildete Bilderreihe wurde im Computer auf Fliesskommabasis addiert. Die gesamte Belichtungszeit beträgt über 24 Sekunden, das Ergbniss, hier links, ist folglich extrem überbelichtet.

Da es sich aber um Fliesskomma-Zahlen handelt, wurden sie nicht abgeschnitten. Sie sind noch erhalten, aber weit ausserhalb des sichtbaren Raumes.

Der markierte Punkt z.B. hat die Werte...

   R: 8,251, G: 8,361, B: 8,165

...und ist damit mehr als achtmal so hell, wie das darstellbare Weiss dieses Bildes.

Bei der abschliessenden Normalisierung wird der gesamte Bereich auf den Raum zwischen Null und Eins dividiert. Dadurch werden alle Informationen sichtbar ohne das Tonwerte verloren gehen (weil Fliesskomma).

Im Resultat rechts wird ein Dynamikumfang sichtbar, der mehr als das Vierfache von dem beträgt, was die eingesetzte Kamera von Hause aus leisten kann.

Camera: Canon S45
Software: FloatMediate

Warum funktioniert das nicht mit einer normalen Bildverarbeitung wie z.B. PhotoShop?

Bildverarbeitungsprogramme sind in der Regel integer-basiert, d.h. sie können nur mit ganzen Zahlen arbeiten. Bei 8-Bit ist das der Bereich von 0 bis 255, bei 16-Bit reicht er bis 65535.

Führt eine Berechnung zu Werten ausserhalb des Zahlenbereiches, so werden diese abgeschnitten (Clipping).
Aus demselben Grunde können nur jeweils zwei Bilder vermittelt werden, und das evtl. beschnittene Resultat erst dann mit den Nächsten, usw. was zu einem falschen Ergbnis führt.

Nur wenn die Bilddaten auf Fliesskommabasis gespeichert und bearbeitet werden, kann es auch Werte weit ausserhalb des sichtbaren Bereiches geben, die sich am Ende verlustfrei (ohne Clipping) auf den sichtbaren Bereich skalieren lassen.

Integer? Fliesskomma?
Erklärungen zur Grundlage

In der Regel ist es bekannt, dass Farbbilder aus drei einzelnen Graustufenbildern bestehen, mit denen die Intensitäten für die Grundfarben Rot, Grün und Blau bestimmt werden. Die Graustufen zwischen Schwarz und Weiß werden in acht binären Bit, bzw. einem Byte gespeichert, und liegen dem Zahlenformat entsprechend zwischen 0 und 255.

Drei Kanäle (RGB) mit je 8 Byte stellen die bekannten 24-Bit-Bilder dar. Wenn ein vierter Kanal hinzukommt, z.B. für eine Maske, dann wird von einem 32-Bit-Bild gesprochen.

Um die Anzahl der Tonwerte zu erhöhen, ist es möglich immer zwei Bytes für eine Zahl zu verwenden. Das entspricht 16-Bit und liefert einen Zahlenraum von 0 bis 4095. Ein dreikanaliges RGB-Bild hat dann entsprechend 48-Bit.

In jedem Fall aber sind die Zahlen "integer", d.h. es sind immer ganze Zahlen ohne Nachkommastellen. Ausserdem sind die Zahlen streng auf ihren Datenraum beschränkt, können also keine Werte unter Null oder über 255 (bzw. 4096) speichern.

Bei Berechnungen auf Integer-Basis kommt es deshalb sehr oft zu dem Problem, dass die Werte ausserhalb des Bereiches liegen, oder eigentlich zwischen zwei möglichen Stufen liegen müssten.

Um ein Bild heller oder dunkler zu machen, werden z.B. alle Werte um den gleichen Betrag vergrößert oder verkleinert.

     230 + 50 = 255 (!)
     255 - 50 = 205 (!)

Die Berechnung liefert ein falsches Resultat, weil sich der richtige Wert 280 nicht in einem Byte speichern läßt. Die Information geht verloren und kann auch bei korrekter Rückrechnung nicht mehr hergestellt werden.

Dieses sogeannnte "Clipping" ist heute über alle Programme und Arbeitsmethoden hinweg eine akzeptierte grafische Grundlage geworden.

Hier ein praktisches Beispiel für das typische Abscheiden von Werten bei Änderungen.

Hier wurde das Bild stark verdunkelt, die Tonwerte verschieben sich nach links über den sichtbaren Bereich hinaus.

Die Umkehrung zeigt, dass die Informationen unwiderbringlich verloren gegangen sind.

Programm: Photoshop

Völlig anders verhält es sich beim Fliesskommaformat. Hier werden vier Bytes zusammengefasst und Ganzzahl wie Nachkommastellen getrennt gespeichert. In diesem Format gibt praktisch es keine festen Werte und auch keine festen Grenzen, denn die Zahlen können extrem groß oder extrem genau sein.

Wird ein Bild in diesem Zahlenformat gespeichert, dann ergeben sich nicht nur grundlegende Änderungen hinsichtlich der Handhabung sondern auch in Bezug auf die Möglichkeiten.

Die absoluten Schwarz- und Weiß-Punkte des Bildes liegen hierbei nicht auf den größten und kleinsten Werten, sondern nur in dem winzigen Abschnitt zwischen 0,0 und 1,0 (ein 10,1%-Grau ist dann 0,101).

Das bedeutet, dass man im Fliesskommaformat nicht nur mit Werten arbeiten kann, die weit ausserhalb des sichtbaren Raumes liegen, sondern auch mit einer praktisch nicht begrenzten Anzahl von Stufen dazwischen. Das kommt dem analogen Vorbild der Natur sehr viel näher.

Für die bildverarbeitenden Methoden und Programme bedeutet das Fliesskommaformat, dass die wesentlichen Funktionen nun frei vom "Clipping" sind.

Denn wenn Berechnungen Werte ausserhalb des sichtbaren Bereiches erzeugen, also unter 0,0 oder über 1,0, dann lassen sich diese zwar nicht mehr darstellen, gehen aber auch nicht verloren. Wird die Berechnung umgekehrt, dann erhält man wieder das ursprüngliche Resultat.

Integer =
   digitales Verhalten

Fliesskomma =
   analoges Verhalten

Hier derselbe Test auf Fliesskommabasis.

Obwohl die Tonwerte auch hier ausserhalb des sichtbaren Bereiches geraten, werden sie nicht abgeschnitten, sondern lassen sich durch die Umkehrung wieder herstellen.

Programm: FloatMediate