Farbbalance RGB

Ein fortschrittliches Modul bringt Farbkorrektur-Werkzeuge der Filmindustrie in die fotografische auf Aufnahme bezogene Pipeline.

Dieses Modul ist für Anfänger ohne Kenntnisse der Farbtheorie nicht geeignet, die eher bei globales Chroma und globale Lebendigkeit bleiben sollten, bis sie ein gutes Verständnis der Farb-Dimensionen haben.

🔗Einführung

Die Farbkorrektur ist ein wichtiger Bestandteil der Bildbearbeitung. Sie kann dazu beitragen, unerwünschte Farbstiche zu entfernen oder auch eine kreative Farbänderung bewirken, die den Bildern Atmosphäre verleiht. In den Zeiten der Filmfotografie wurde der größte Teil der Farbwirkung durch die Filmemulsion und die Entwicklungschemikalien erzielt, wobei ein gewisses Farbtuning am Vergrößerungsgerät mit Farbköpfen vorgenommen wurde. Dies benötigte erhebliche Ressourcen und war meist der Filmindustrie vorbehalten, wo diese Aufgabe von einem Koloristen übernommen wurde.

In the digital age, where raw images look flat and even, color-grading assumes the same role that film emulsions did, by re-introducing color shifts for aesthetic purposes. It can also serve to harmonize the color palette of a series of images (which may have been shot under different conditions) to achieve a consistent global look. For this task, the vectorscope is also extremely useful.

Koloristen teilen Farbkorrekturen in zwei ausgeprägte Schritte:

  1. Primäre Farbkorrekturen zielen darauf ab, ungewollte Farbstiche zu beheben und einen neutralen Ausgangspunkt zu erzeugen,

  2. _ Sekundäre Farbkorrekturen_ geben dem Bild das endgültige Aussehen und Atmosphäre.

Primary color-grading is best left to the color calibration module, which operates in a physical framework better suited to illuminant correction. Color balance RGB, on the other hand, is mostly concerned with secondary color-grading. Performing a truly neutral primary color-grading should make the secondary color-grading easy to transfer between images (via styles, presets or copy & paste) with a similar effect.

🔗Generelle Prinzipien

The color balance RGB module is an improvement over the American Society of Cinematographers Color Decision List (ASC CDL), and uses alpha masks to allow the effect to be properly split between shadows and highlights. The classic CDL acts on the entire luminance range, and each of its parameters is given more weight on some parts of the image only as a side-effect of the mathematics.

This module works, for the most part (4 ways, chroma, vibrance, contrast), in a linear RGB color space designed specifically for color-grading. This color space exhibits a uniform spacing of perceptual hues while retaining a physically-scaled luminance1. The perceptual part of the module (saturation and brilliance) works in the JzAzBz2 color space, which provides a perceptual scaling of both lightness and chromaticity suitable for HDR images. Both color spaces ensure that saturation and chroma changes take place at constant hue, which is not the case for most other saturation operators in darktable (notably in the older color balance module).

Das Modul Farbbalance RGB setzt eine auf Aufnahme bezogene lineare Eingabe und produziert eine auf Aufnahme bezogene RGB Ausgabe, die linear sein kann oder auch nicht, abhängig der Einstellungen des Moduls (Kontrast und Stärke wird die Ausgabe delinearisieren).

At its output, color balance RGB checks that the graded colors fit inside the pipeline RGB color space (Rec 2020 by default) and applies a soft saturation clipping at constant hue, aiming to retarget out-of-gamut color to the nearest in-gamut color by scaling both chroma and lightness. This prevents the chroma and saturation settings from pushing colors outside of the valid range and allows more drastic adjustments to be safely used.

Note that this module abides by the CIE definitions of chroma and saturation, as explained in the dimensions of color section.

🔗Moduleinstellungen

🔗Master Registerkarte

hue shift
Rotate all colors in the image by an angle over the chromaticity plane, at constant luminance and chroma. You can use this control to remove spilled colored light on a subject or to quickly change the color of some object. This setting is usually best applied locally, using masks.
Gesamt-Leuchtkraft
Das betrifft die Chroma-Dimension der Farben über das gesamte Bild und betrifft jene Farben mit geringem Chroma stärker. Das erlaubt es die Chroma-neutralen Farben hervorzuheben, ohne bereits farbige Pixel zusätzlich zu übertreiben.
contrast
This setting is applied on the luminance channel at constant hue and chroma. The fulcrum setting (in the masks tab, under contrast gray fulcrum) allows you to set the neutral point of the contrast curve:
  • at the fulcrum, the contrast curve leaves the luminance unchanged,
  • below the fulcrum, the contrast curve decreases the luminance for positive contrast values, or increases it for negative values,
  • above the fulcrum, the contrast curve increases the luminance for positive contrast values, or decreases it for negative values.

Der Angelpunkt hat einen Standard-Wert von 18.45%, der konstant ist mit dem gegenwärtigen auf Aufnahme bezogenen Arbeitsablauf und passt für die meisten Fälle (angenommen, die globale Helligkeit wurde, wie empfohlen mit dem Modul Belichtung eingestellt.

The contrast algorithm gives natural results that mimic the central part of the contrast curve of analog film. However, it will also increase the image’s dynamic range, which may void filmic settings in the pipe. For global contrast adjustments, you should normally use the tone equalizer module – the color balance RGB contrast slider is best used with masks, e.g. for selective corrections over the foreground or background.

🔗Lineare Chroma Einstellungen

Linear chroma grading affects the chroma dimension proportionally to its input value, at constant hue and luminance. It does this globally, with a flat coefficient (using the global chroma), as well as on each of the shadows, mid-tones and highlights masks (defined in the masks tab under luminance ranges).

🔗Wahrnehmungs-Sättigungs-Einstellung

Perceptual chroma grading affects both the luminance and the chroma dimensions, in a perceptual space, proportionally to its input value, at constant hue. It does this globally, with a flat coefficient (using the global saturation), as well as on each of the shadows, mid-tones and highlights masks (defined in the masks tab under luminance ranges).

🔗Wahrnehmungs-Glanz Einstellung

Perceptual brilliance grading affects both the luminance and the chroma dimensions, in a perceptual space, proportionally to its input value, at constant hue, and in a direction orthogonal to the saturation. Its effect is close to that of changing exposure, but scaled perceptually. It does this globally, with a flat coefficient (using the global saturation), as well as on each of the shadows, mid-tones and highlights masks (defined in the masks tab under luminance ranges).

🔗Registerkarte 4 Wege

Jede der Einstellungen im Register 4 Wege wird aus den gleichen drei Komponenten zusammengesetzt, welche eine Farbe definieren mit der Benutzung unabhängiger Koordinaten:

  1. Luminanz,

  2. Farbton,

  3. Chrominanz.

Color input like this defines a color shift applied to the image globally or over the specified luminance range.

Jeder Farbton-Schieber hat eine Farb-Pipette, die gebraucht werden kann, um die Gegenfarbe des ausgewählten Bereiches zu bestimmen. Das ist nützlich, um ungewünschte Farbstiche anzugehen (z.B. Rot der Haut), weil eine Farbe zur Gegenfarbe zu bewegen neutralisiert diese.

🔗Globaler Versatz

Das ist gleichzusetzen mit dem ASC CDL Offset geht hinter dem Zugeben eines konstanten RGB-Wertes an alle Pixel, ziemlich ähnlich dem Schwarz Versatz im Modul Belichtung. Diese Einstellung nutzt keine Masken.

🔗Schatten Anheben

Das ist als Konzept gleich dem Anheben von Anheben/Gamma/Zuwachs, obwohl anders implementiert, und geht hinter dem Multiplizieren der maskierten Pixel mit einem konstanten RGB-Wert. Es wird mit der Schatten Maske angewendet.

🔗Lichter Zuwachs

This is equivalent to the ASC CDL slope, and falls back to multiplying a the masked pixels by a constant RGB value. It is applied using the highlights mask.

🔗Globale Stärke

This is equivalent to the ASC CDL power, and falls back to applying a constant RGB exponent. It is not masked and needs to be normalized, since the power function has a different behaviour above and below 1, and we are in an unbounded pipeline where white is typically greater than 1. The normalization parameter is available in the masks tab under white fulcrum.

🔗Registerkarte Maske

Diese Registerkarte definiert Hilfseinstellmöglichkeiten für die vorangegangenen Registerkarten. Enstellungen für Masken müssen normalerweise nicht durch den Nutzer angepasst werden, weil die Standardlösungen für die meisten Ansprüche gemacht sind und die normalen Ansprüche an die auf Aufnahme basierenden Pixel-Pipeline erfüllen. Du solltest diese Einstellungen nur in ganz spezifischen Szenarien ändern.

🔗Luminanz Bereiche

The graphs show the opacity (on the y axis) of the 3 luminance masks relative to the pixel luminance (on the x axis). The darkest curve represents the shadows mask, the brightest represents the highlights mask, and the third curve represents the mid-tones mask.

Only the shadows and highlights masks can be controlled directly – the mid-tones mask is computed indirectly from the others and acts as an adjustment variable.

Schatten Abnahme
Kontrolliere die Weichheit oder Härte des Überganges von voll opak (100%) zu voll transparent (0%) der Schattenmaske.
Maske Mittelgrau Angelpunkt
setze den Luminanzwert, wo alle drei Masken eine deckkraft von 50% haben. In der Praxis wird das gebraucht um zu definieren wie das Bild in Schatten und Lichter geteilt wird.
Lichter Abfall
Kontrolliere die Weichheit oder Härte des Überganges von voll opak (100%) bis voll transparent (0%) für die Lichtermaske.

For each of these settings, a mask button, provided to the right of the slider, displays the appropriate mask (shadows, mid-tones, highlights), overlayed as a checker board. The still-visible area of the image (not hidden by the mask) is the area that will be affected by the shadows, mid-tones and highlights sliders in the other tabs.

Alle Masken Voransichten zeigen die Ausgabe des Moduls, inklusive eventuell durchgeführte Farbänderungen, so dass du diese auch bei der Bearbeitung aktivieren kannst, um nur den beeinflusste Teil des Bildes zu sehen.

Luminanz-Masken werden bei der Eingabe ins Modul berechnet, was bedeutet, dass diese insensitiv für etwelche Luminanzänderungen innerhalb des Moduls sind.

🔗Schwellenwerte

Weiß-Angelpunkt
Setze den Weißpunkt Luminanz in EV. Das wird gebraucht um das Setting der Stärke im Register 4 Wege. Auf Anzeige bezogene Umsetzung der Stärke-Funktionen nehmen an, dass Weiß bei 100% ist, was die Notwendigkeit für Normalisierung unnötig macht. Für auf Aufnahme bezogene Zwecke muss das beachtet werden.

Die Farb-Pipette rechts vom Schieber setzt den Weiß-Angelpunkt automatisch für maximale Luminanz des gewählten Teiles was in den meisten Fällen ausreichend sein sollte.

Kontrast Grau-Angelpunkt
setze den Angelpunkt für die Kontrast Einstellung im Register master. Das stimmt mit dem Luminanz-Wert überein, der durch die Angleichung des Kontrastes unverändert bleibt. Diese Einstellung stimmt normalerweise mit dem mittelgrauen linearen Wert überein. Wenn du den im auf Aufnahme bezogenen Arbeitsablauf Empfehlungen folgst und die globale Helligkeit früh in der Pipeline im Modul Belichtung setzst, sollte der korrekte Wert etwa bei 18-20% liegen.

Die Farb-Pipette rechts vom Schieber setzt automatisch den Agelpunkt des Kontrastgrau zur durchschnittlichen Luminanz des gewählten Ausschnittes. Das basiert auf der Annahme, dass die durchschnittliche Luminanz normalerweise nahe bei Mittelgrau ist, was natürlich nicht zutrifft, wenn du spektakuläre Spitzlichter oder primäre Lichtquellen im Bild hast, oder für Low-/Highkey Bilder.

🔗Maske Voransicht Einstellungen

Diese Einstellungen fügen den Masken Voransichten zu, die angezeigt werden, wenn die Masken-Knöpfe im Abschnitt Luminanz-Bereiche angeklickt werden. Diese Einstellungen werden, ohne dass sie geändert werden, global gesichert für nachfolgende Bilder.

Schachbrett-Farben 1 und 2
Setze die zwei Farben für die Hintergrund Schachbrett-Maske-Unterlage. Du kannst diese auf Gegenfarben des gegenwärtigen Bildes setzen, um die Lesbarkeit zu erhöhen.
Schachbrett Größe
setze die Breite der Zellen des Schachbrettes in Pixeln (eingestellt nach den DPI des Bildschirmes).

🔗FAQ

🔗Sättigung oder Chroma?

Wie beschrieben im Abschnitt Dimensions der Farbe, durschstreifen die Sättigung und Chroam die (Helligkeit, chroma) Ebene in verschiedenen Richtungen. Zusätzlich braucht das Chroma von Farbbalance RGB einen auf Aufnahme bezogenen linearen Raum, während die Sättigung einen Wahrnehmungs-Raum nutzt welcher reskaliert für ebene Abstände.

In der Praxis solltest du die Chroma Einstellung nutzen, wenn du die Linearität der Lichtemmission beibehalten willst und/oder die Luminanz unverändert belassen willst. Aber, diese Änderungen könnten einige Farbtöne mehr beeinflussen als andere, aus dem Grund, dass der Farbraum nicht vollständig Wahrnemungs-skaliert ist.

Die Sättigung ist näher am Effekt weisse Farbe mit eingen Grundfarben zu mischen. Durch die Reduzuierung der Sättigung von Rot wird das Pink degradiert, während die Reduzierung dessen Chroma einen grauen Schatten der gleichen Luminanz degradiert. Sättigung ist wohl der intuitivere Weg mit Farben zu interagieren, wegen seiner Verbindung zu Malen.

Das Eine oder das Andere zu wählen ist meistens eine Frage zu entscheiden, wo in der (Helligkeit, Chroma), du die Farben verstärken willst und wo damit anfangen. Um Pastellfarben zu erreichen, ist die Sättigung der Weg zu gehen. Um Laser-ähnliche Farben zu erhalten (fast monochromatsch) und so zu riskiieren, dass das Ausssehen fast synthetisch wirkt, ist Chroma der Weg zu gehen.

🔗Was ist der Zusammenhang mit Anheben/Gamma/Verstärkung?

Der Anheben/Gamma/Verstärkung Algorithmus beruht auf einem auf Anzeige bezogenen Farbraum, da es einen beschränkten und symmetrischen Dynamikumfang annimmt, mit dem Weißpunkt bei 100% und Grau zu 50%. Als solcher, ist er einfach nicht zu gebrauchen in einem auf Aufnahme bezogenen Raum. Jedoch ist der inkompatible Teil das Anheben. Das Gamma ist genau die ASC CDL Stärke und die Verstärkung ist genau der ASC CDL Neigung.

Das Modul Farbbalance RGB hat einfach zwei Neigungen statt einer: Das Anheben angewandt auf die Lichter, mit einer Maske aus dem gesamten Bild extrahiert, und die Neigung gleichermassen an die Schatten zugefügt.

🔗Kontrast ändern

Während Farbbalance RGB meistens mit Farbe zu tun hat (andere Module beeinflussen den globalen Kontrast mit Mitteln, welche die Chromazität erhalten) Die Luminanz ist so fest ein Teil von Farbe wie vom Farbton oder Chroma, und es muss hier auch behandelt werden, weil die Wahrnehmung der Sättigung darauf beruht. Falls du, zum Beispiel, Rot in Pink wandeln willst, wir eine Reduzierung des Chroma es ins Gaue drehen, also musst du auch die Luminanz erhöhen.

Es gibt mehrere Wege in Farbbalance RGB den Kontrast zu ändern, entweder lokal (mit Masken) oder global (ohne):

  • Im Register master nutze dui Einstellung Kontrast (vielleicht zusammen mit dem Kontrast Grau-Angelpunkt im Register Masken tab). Beachte, dass dies den Weißpunkt anhebt und deshalb den Dynamikbereich des Bildes anhebt, was eventuell spätere Änderungen von Filmic RGB später in der Pipeline unwirksam macht.

  • In Wahrnehmend Sättigung einstufen, entsttige die Lichter und sättige die Schatten, um einen Luminaz-Kontrast Schub zu produzieren,

  • [Wahrnehmend Brillianz einstufen](#perceptual-saturationbrillliance-grading, füge Brilliance in den Lichtern hinzu und entferne Brilliance in den Schatten, um einen Luminaz-Kontrast Schub zu produzieren,

  • Im Register [4 Wege](#4-ways-tab, setze die Schatten anheben Luminanz auf negative Werte und die Lichter Gewinn Luminanz auf positive Werte, was auch einen Schub des Luminanz-Kontrastes produziert.

Die Differenz zwischen diesen Methoden ist, wie der Effekt gewichtet wird im Vergelich zu der Eingabe des Moduls. Es sei geraten den Hauptanteil der Anpassung des Luminanz-Kontrasts in den Modulen Filmic RGB und Ton-Equalizer und erst dann die Endanpassungen in Farbalance RGB vorzunehmen und die Farben genau zu beobachten.

🔗Interne Bearbeitung

Das folgende ist die interne Reihenfolge von Bearbeitungen im Modul:

  1. Transformiere von der Piplilne RGB zum Kirk/Filmlicht Ych Raum,

  2. Füge Farbtonänderungen bei konstantem Chroma und konstanter Luminanz zu,

  3. Berechne Luminanzmasken mit Y,

  4. Füge die Einstellungen von linearem Chroma und Lebendigkeit bei konstantem Farbton und Luminanz hinzu,

  5. Transformiere zum Kirk/Filmlight RGB Raum,

  6. Füge die 4 Wege Einstellungen hinzu (Ausnahme Luminanz-Stärke),

  7. Transformiere zum Kirk/Filmlight Yrg Raum,

  8. Füge Luminanz-Stärke und Kontrast in Y hinzu,

  9. Transformiere zum JzAzBz Raum,

  10. Füge die Wahrnehmen Sättigung und Wahrnehmen Brillianz Einstellungen hinzu,

  11. Beschneide weich das Chroma mit Pipeline RGB Gamut bei konstanten Farbtöntn und Helligkeit,

  12. Transformieren zurück zu Pipline RGB.

🔗Warnung

Das Setzen des globalen Chroma auf -100% wird nicht ein wirkliches Monochrom Bild erzeugen, wie es üblich ist mit anderen Algorithmen. Der Grund dafür ist, dass der RGB Raum in Gebrauch einen D65 Weißpunkt hat, der im CIE LMS 2006 Raum definiert ist, während darktable einen Weißpunkt braucht, der im CIE XYZ 1931 Raum definiert ist, und es keine exakte Konvertierung zwischen diesen Räumen gibt. Das Resultat wird daher ein leicht eingefärbtes S/W Bild sein. Falls du ein wirkliches S/W Bild mit Benutzen des Luminanz Kanals willst, dann hält das Modul Farbkalibrierung eine S&W: luminaz-basierte Voreinstellung bereit, die genau das Gleiche tut, einfach ohne die Weißpunkt Diskrepanz.

Dieses Modul hat sein Gamut-Mapping (gegen Pipeline RGB) staändig eingeschaltet. Das bedeutet, falls dein Original-Bild schon beim Start einige Ausserhalb-Gamut Farben beinhaltet, dann wird ein einfaches aktivieren des Farbbalance RGB ohne irgendeine Einstellung die Farben leicht ändern. Das ist wahrscheinlich das Beste.

Die maximale erlaubte Sättigung in der Pipeline RGB Arbeitsraum wird für jeden Farbton gespeichert, wenn das Modul aufgestartet wird und wird später in einem LUT (look-up table) zur Leistungssteigerung gecacht. Wenn das Arbeits-Profil später geändert wird, dann wird das Modul Farbbalance RGB nicht benachrichtigt, was heißt, das gecachte Farbton-Sättigungs LUT wird nicht aufdatiert. Um das LUT-Update zu forcieren, kannst du einfach irgendeine Einstellung im Modul Farbbalance RGB verändern und es wieder zurückändern. Es wird nicht empfohlen, dass du den RGB Arbeitsraum auf halbem Weg der Entwicklungs-Session wechselst, da dies in unerwarteten Chroma und Farbton Änderungen resultieren könnte.

Aus Gründen der Leistung werden die nicht-linearen Umwandlungen vom und zum RGB Arbeitsraum umgangen, was bedeutet, dass die interne Kalorimetrie falsch sein wird beim Gebrauch von nicht-linearen Räumen. Beachte, dass es keinen Grund gibt, nicht-lineare RGB Arbeitsräume zu nutzen, da diese ein Alpha-Blending schwieriger machen ohne einen irgend einen Vorteil.


  1. Richard A. Kirk, Chromaticity coordinates for graphic arts based on CIE 2006 LMS with even spacing of Munsell colours, 2019. https://doi.org/10.2352/issn.2169-2629.2019.27.38 ↩︎

  2. Safdar et al., Perceptually uniform color space for image signals including high dynamic range and wide gamut, 2017. https://doi.org/10.1364/OE.25.015131 ↩︎

Translations