Eingabe-Bilder sind entweder RGB-Dateien (wie JPEGs oder TIFFs) oder Kamera-RAWs. Beide speichern visuelle Informationen als Kombinationen der Primärfarben (z.B. rot, grün und blau) welche zusammen eine Licht-Emission beschreiben, die vom Bildschirm wiedergegeben werden.

Das folgende Bild illustriert dieses Konzept.

image

Die linke Seite des Bildes bildet ein farbiges Licht ab, das digital dargestellt werden soll. Wir können drei ideale Farbfilter, um dieses Licht in die drei Primärfarben in verschiedenen Intensitäten aufzuteilen. Um das originale gefärbte Licht aus den ideal aufgeteilten (wie im Mittelteil des Bildes dargestellt) müssen wir ganz einfach diese drei Primär-Lichter mit Addition wieder zusammenführen.

Es sollte möglich sein, das originale gefärbte Licht zu reproduzieren, indem man einen Satz weißes Licht mit den korrekten Intensitäten nimmt und diese Lichter durch einen geeigneten gefärbten Filter projiziert. Dieses Experiment kann zu Hause mit Gels und dimmbarem Licht durchgeführt werden. Das ist grob gesagt, das was ein alter Farb CRT Bildschirm machte, und es ist das, wie ein Video-Projektor immer noch arbeitet.

In photography, the initial decomposition step is performed by the color filter array that sits on top of your camera’s sensor. This decomposition is not ideal, so it isn’t possible to precisely recreate the original emission with simple addition – some intermediate scaling is required to adjust the three intensities.

Auf Bildschirmen werden LED-Lampen proportional zu jeder Intensität abgedimmt, und die drei Lichter erden physikalisch addiert, um die originale Emission zu rekonstruieren. Digitale Bilder speichern die Intensitäten dieser Primär-Lichter als ein Set von drei Zahlen für jedes Pixel, so beschrieben auf der rechten Seite des obigen Bildes als Schatten-Nuance von Grau.

While a set of display intensities can be easily combined to recreate an original light on a screen (for example, if we created a synthetic image in-computer) the set of captured intensities from a sensor needs some scaling in order for the on-screen light addition to reasonably reproduce the original light emission. This means that every set of intensities, expressed as an RGB set, must be linked to a set of filters (or primary LED colors) that define a color space – any RGB set only makes sense with reference to a color space.

Wir müssen nicht nur die aufgenommenen Intensitäten mildern, um sie wieder addierbar zu machen, aber wenn wir das originale Licht auf einem Bildschirm wieder zusammensetzen wollen, der nicht die gleichen Farbfilter, oder die gleichen Primärfarben hat, wie der Farbraum zu dem unser RGB gehört, dann müssen diese Intensitäten reskaliert werden, um den unterschiedlichen Filtern gerecht zu werden. Der Mechanismus für diese Skalierung wird in Farbprofilen beschrieben, und normalerweise in .icc Dateien gespeichert.


Beachte: Farbe ist nicht physikalisch eine Eigenschaft des Lichtes – es existiert nur im menschlichen Gehirn, als ein Produkt der Zerlegung einer Licht-Emission in den Zapfen-Zellen der Retina, und wieder ganz ähnlich dem oben beschriebenen Beispiel von filtern. Ein “RGB” Wert sollte als “Licht-Emissionen, kodiert in drei Kanälen, die zu drei Primären verbunden sind”, aber die Primären selber können verschieden aussehen zu dem was Menschen als “rot”, “grün” oder “blau” bezeichnen würden.


Die hier beschriebenen Filter sind überlappende Band-Pass-Filter. Weil sie überlappen, diese zusammen zurück zu summieren würde die Energie es originalen Spektrums nicht erhalten, so (kurz gesagt) müssen wir diese herunter skalieren, in Bezug auf die Retina-Konen-Antwort.

Das meiste der aktuellen Bildbearbeitung von Ansel findet in einem großen RGB “Arbeits-Profil” Raum statt, mit einigen (meistens älteren) Modulen, die intern im CIELab 1976 Farbraum (oft “Lab” genannt), arbeiten. Die endgültige Ausgabe des Bildes aus der Bearbeitungs-Pipeline ist dann wieder in einem RGB-Raum, der entweder auf die Bildschirm-Ausgabe, oder die Ausgabe-Datei zugeschnitten ist.

This process implies that the pixelpipe has two fixed color conversion steps: input color profile and output color profile. In addition there is the demosaic step for raw images, where the colors of each pixel are reconstructed by interpolation.

Jedes Modul hat eine Position in der Pixelpipe, die dir sagt, in welchem Farbraum das Modul existiert:

  • up to demosaic : The raw image information does not yet constitute an “image” but merely “data” about the light captured by the camera. Each pixel carries a single intensity for one primary color, and camera primaries are very different from primaries used in models of human vision. Bear in mind that some of the modules in this part of the pipe can also act on non-raw input images in RGB format (with full information on all three color channels).

  • between demosaic and input color profile : Image is in RGB format within the color space of the specific camera or input file.

  • between input color profile and output color profile : Image is in the color space defined by the selected working profile (linear Rec2020 RGB by default). As Ansel processes images in 4x32-bit floating point buffers, we can handle large working color spaces without risking banding or tonal breaks.

  • after output color profile : Image is in RGB format as defined by the selected display or output ICC profile.