kleurenbalans rgb

Een geavanceerde module die tools voor kleurcorrectie uit de cinematografie in de pijplijn voor fotografisch scene-gerefereerd brengt.

Deze module is niet geschikt voor beginners zonder voorkennis van kleurentheorie, die zich misschien aan de instellingen voor globale chroma en globale levendigheid willen houden totdat ze een goed begrip hebben van de kleurdimensies.

🔗inleiding

Kleurcorrectie is een belangrijk onderdeel van beeldbewerking. Het kan helpen om ongewenste kleurzweem te verwijderen en kan ook een creatieve kleurdraai geven die sfeer aan uw afbeeldingen toevoegt. In de tijd van filmfotografie werd de meeste kleurambiance verkregen met de filmemulsie en de zich ontwikkelende chemicaliën, waarbij enige kleurtiming werd uitgevoerd onder de vergroter met kleurkoppen. Dit vergde dure middelen en was grotendeels voorbehouden aan de bioscoopindustrie, waar de klus werd uitgevoerd door een colorist.

In het digitale tijdperk, waar onbewerkte afbeeldingen er vlak en gelijkmatig uitzien, neemt kleurcorrectie dezelfde rol aan als filmemulsies, door kleurverschuivingen opnieuw te introduceren voor esthetische doeleinden. Het kan ook dienen om het kleurenpalet van een reeks afbeeldingen (die mogelijk onder verschillende omstandigheden zijn gemaakt) te harmoniseren om een consistent globale look te verkrijgen. Voor deze taak is de vectorscope ook erg handig.

Coloristen splitsen kleurcorrectie meestal op in twee verschillende stappen:

  1. Primaire kleurcorrectie is bedoeld om ongewenste kleurzweem te corrigeren en een neutraal startpunt te creëren,

  2. Secundaire kleurcorrectie geeft het beeld zijn uiteindelijke uitstraling en sfeer.

Primaire kleurcorrectie kan het beste worden overgelaten aan de module kleurkalibratie, die werkt in een fysiek raamwerk dat beter geschikt is voor correctie van lichtbronnen. Kleurbalans RGB daarentegen houdt zich vooral bezig met secundaire kleurcorrectie. Door een echt neutrale primaire kleurcorrectie uit te voeren, moet de secundaire kleurcorrectie gemakkelijk kunnen worden overgedragen tussen afbeeldingen (via stijlen, voorinstellingen of kopiëren en plakken) met een vergelijkbaar effect.

🔗algemene principes

De kleurenbalans RGB-module is een verbetering ten opzichte van de American Society of Cinematographers Color Decision List (ASC CDL), en gebruikt alfamaskers om het effect goed te laten zijn verdeeld tussen schaduwen en hooglichten. De klassieke CDL werkt op het hele luminantiebereik en elk van zijn parameters krijgt meer gewicht op sommige delen van het beeld, alleen als een neveneffect van de wiskunde.

Deze module werkt grotendeels (4 manieren, chroma, levendigheid, contrast), in een lineaire RGB-kleurruimte die speciaal is ontworpen voor kleurcorrectie. Deze kleurruimte vertoont een uniforme spreiding van perceptuele tinten met behoud van een fysiek geschaalde luminantie 1. Het perceptuele deel van de module (_verzadiging _ en schittering) werkt in de JzAzBz2-kleurruimte, die een perceptuele schaling van zowel helderheid als kleurkwaliteit biedt die geschikt is voor HDR-afbeeldingen. Beide kleurruimten zorgen ervoor dat verzadiging en chromaveranderingen plaatsvinden met een constante tint, wat niet het geval is voor de meeste andere verzadigingsoperators in darktable (met name in de oudere kleurenbalans module).

De kleurbalans RGB-module verwacht een scène-gerefereerde lineaire input en produceert een scène-gerefereerde RGB-output, die al dan niet lineair kan zijn, afhankelijk van de module-instellingen (contrast en kracht zullen de output delineariseren).

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.

Merk op dat deze module zich houdt aan de CIE-definities van chroma en verzadiging, zoals uitgelegd in de sectie dimensies van kleur.

🔗module instellingen

🔗hoofdtabblad

tintverschuiving
Roteer alle kleuren in de afbeelding onder een hoek over het kleurvlak, met constante helderheid en chroma. Je kan dit besturingselement gebruiken om gemorst gekleurd licht op een onderwerp te verwijderen of om de kleur van een object snel te veranderen. Deze instelling kan meestal het beste lokaal worden toegepast, met behulp van maskers.
globale levendigheid
Dit is van invloed op de chroma-dimensie van kleur over de hele afbeelding, waarbij prioriteit wordt gegeven aan kleuren met een lage chroma. Hierdoor kan de chroma van neutrale kleuren worden verhoogd zonder de reeds kleurrijke pixels te overdrijven.
contrast
Deze instelling wordt toegepast op het luminantiekanaal bij constante tint en chroma. Met de instelling van het steunpunt (in het tabblad maskers, onder contrast grijsdraaipunt) kan je het neutrale punt van de contrastcurve instellen:
  • bij het draaipunt laat de contrastcurve de luminantie ongewijzigd,
  • onder het draaipunt verlaagt de contrastcurve de luminantie voor positieve contrastwaarden, of verhoogt deze voor negatieve waarden,
  • boven het draaipunt verhoogt de contrastcurve de luminantie voor positieve contrastwaarden, of verlaagt deze voor negatieve waarden.

Het draaipunt heeft standaard een waarde van 18,45%, wat consistent is met de huidige scène-gerefereerde werkvolgorde en zou moeten passen in de meeste gevallen (ervan uitgaande dat de globale helderheid is vastgesteld zoals aanbevolen met behulp van de belichting module)..

Het contrastalgoritme geeft natuurlijke resultaten die het centrale deel van de contrastcurve van analoge film nabootsen. Het zal echter ook het dynamische bereik van de afbeelding vergroten, waardoor de filmisch-instellingen in de pijp mogelijk ongeldig worden. Voor globale contrastaanpassingen moet je normaal gesproken de toon equalizer module gebruiken – de kleurenbalans RGB contrast schuifregelaar kan het beste worden gebruikt met maskers, b.v. voor selectieve correcties over de voorgrond of achtergrond.

🔗lineaire chroma-gradatie

Lineaire chroma-gradatie beïnvloedt de chroma-dimensie evenredig met de invoerwaarde, bij constante tint en luminantie. Het doet dit globaal, met een vlakke coëfficiënt (met behulp van de globale chroma), evenals op elk van de maskers schaduw, mid-tonen en hooglichten (gedefinieerd in het tabblad maskers onder luminance ranges).

🔗perceptuele verzadiging gradatie

Perceptuele verzadigingsgradatie beïnvloedt zowel de luminantie- als de chroma-dimensies, in een perceptuele ruimte, evenredig met de invoerwaarde, bij constante tint. Het doet dit globaal, met een vlakke coëfficiënt (met behulp van de globale verzadiging), evenals op elk van de maskers schaduwen, middentonen en hooglichten (gedefinieerd in het tabblad maskers onder luminantie bereiken).

🔗perceptuele schittering gradatie

Perceptuele glansgradatie beïnvloedt zowel de luminantie- als de chroma-dimensies, in een perceptuele ruimte, evenredig met de invoerwaarde, bij constante tint, en in een richting loodrecht op de verzadiging. Het effect ligt dicht bij dat van veranderende blootstelling, maar perceptueel geschaald. Het doet dit globaal, met een vlakke coëfficiënt (met behulp van de globale verzadiging), evenals op elk van de maskers schaduwen, middentonen en hooglichten (gedefinieerd in het tabblad masks onder luminantie bereiken).

🔗4 manieren tab

Elk van de instellingen op het tabblad 4 manieren bestaat uit dezelfde drie componenten, die een kleur definiëren met behulp van onafhankelijke coördinaten:

  1. luminantie,

  2. tint,

  3. chroma.

Kleurinvoer zoals deze definieert een kleurverschuiving die wereldwijd of over het opgegeven luminantiebereik op het beeld wordt toegepast.

Each hue slider has a picker, which may be used to compute the opponent color of the selected region. This is useful to revert unwanted color casts (e.g. skin redness), since shifting the color to its opponent cast neutralizes it.

🔗globale offset

Dit komt overeen met de ASC CDL offset en valt terug op het toevoegen van een constante RGB-waarde aan alle pixels, net zoals de zwarte offset in de belichtings-module. Dit besturingselement maakt geen gebruik van maskering.

🔗schaduwen oplichten

Dit is conceptueel equivalent aan de lift van lift/gamma/gain, hoewel anders geïmplementeerd, en valt terug op het vermenigvuldigen van de gemaskeerde pixels met een constante RGB-waarde. Het wordt aangebracht met het masker schaduwen.

🔗hooglichten toename

Dit komt overeen met de ASC CDL helling en valt terug op het vermenigvuldigen van de gemaskeerde pixels met een constante RGB-waarde. Het wordt aangebracht met het masker hooglichten.

🔗globale kracht

Dit komt overeen met de ASC CDL power en valt terug op het toepassen van een constante RGB-exponent. Het is niet gemaskeerd en moet worden genormaliseerd, aangezien de power-functie een ander gedrag heeft boven en onder 1 en we ons in een onbegrensde pijplijn bevinden waar wit doorgaans groter is dan 1. De normalisatieparameter is beschikbaar in de [maskers](# maskers-tab) tabblad onder wit draaipunt.

🔗maskers tab

Dit tabblad definieert hulpbesturingselementen voor de vorige tabbladen. Maskeer-besturingselementen vereisen doorgaans geen aanpassingen door de gebruiker, aangezien de standaardinstellingen zijn gekalibreerd om aan de meeste behoeften te voldoen en voldoen aan de normale, door de scene-gerefereerde pixel pijplijn verwachtingen. U hoeft deze instellingen alleen in specifieke scenario’s te wijzigen.

🔗luminantiebereik

De grafieken tonen de dekking (op de y-as) van de 3 luminantiemaskers ten opzichte van de pixelluminantie (op de x-as). De donkerste curve vertegenwoordigt het schaduwen-masker, de helderste vertegenwoordigt het hooglichten-masker en de derde curve vertegenwoordigt het middentonen-masker.

Alleen de maskers schaduwen en hooglichten kunnen direct worden bestuurd – het masker middentonen wordt indirect berekend op basis van de andere en fungeert als een aanpassingsvariabele.

schaduwen afname
Regel de zachtheid of hardheid van de overgang van volledig dekkend (100%) naar volledig transparant (0%) voor het schaduwmasker.
masker midden-grijs steunpunt
Stel de luminantiewaarde in waarbij alle drie de maskers een dekking van 50% hebben. In de praktijk wordt dit gebruikt om te definiëren hoe het beeld wordt opgedeeld in schaduwen en hooglichten.
hooglichten afname
Regel de zachtheid of hardheid van de overgang van volledig dekkend (100%) naar volledig transparant (0%) voor het hooglichtenmasker.

Voor elk van deze instellingen geeft een maskerknop, rechts van de schuifregelaar, het juiste masker (schaduwen, middentonen, hooglichten) weer, over elkaar heen gelegd als een dambord. Het nog steeds zichtbare gebied van de afbeelding (niet verborgen door het masker) is het gebied dat wordt beïnvloed door de schuifregelaars voor schaduwen, middentonen en hooglichten op de andere tabbladen.

Alle maskervoorbeelden geven de uitvoer van de module weer, inclusief eventuele kleurwijzigingen, zodat je ze ook tijdens het bewerken kunt activeren om alleen het betreffende deel van de afbeelding te zien.

Luminantiemaskers worden berekend aan de ingang van de module, wat betekent dat ze ongevoelig zijn voor eventuele wijzigingen in de helderheid die in de module worden aangebracht.

🔗drempels

wit draaipunt
Stel de witpuntluminantie in EV in. Dit wordt gebruikt om de kracht-instelling op het tabblad 4manieren te normaliseren. Scherm-gerefereerde implementaties van kracht-functies gaan ervan uit dat wit 100% is, waardoor normalisatie niet meer nodig is. Voor scene-gerefereerde doeleinden moet hiermee rekening worden gehouden.

The picker to the right of the slider automatically sets the white fulcrum to the maximum luminance from the selected region, which should be sufficient in most cases.

contrast grijs steunpunt
Stel het steunpunt in voor de contrast-instelling op het tabblad overkoepelend. Dit komt overeen met de luminantiewaarde die ongewijzigd blijft door de contrastaanpassing. Deze instelling komt meestal overeen met de midden-grijs lineaire waarde. Als u de aanbevelingen voor scene-gerefereerd werkvolgorde aanhoud en de globale helderheid vroeg in de pijplijn hebt ingesteld met behulp van de belichting-module, zou de juiste waarde normaal rond de 18-20% moeten zijn.

The picker to the right of the slider automatically sets the contrast gray fulcrum to the average luminance from the selected region. This relies on the assumption that the average luminance is usually close to middle-gray, which is not true if you have specular highlights or primary light sources in the frame, or for low/high-key images.

🔗verzadiging formule

Weet dat deze instelling eigenlijk niet toepasselijk is voor de masker tab (omdat deze technisch gezien niet is gerelateerd aan maskers) maar wordt hier geplaatst, omdat het niet bedoeld is om regelmatig te worden gebruikt en in de geest van het besparen van schermruimte. Twee opties zijn voorzien:

JzAzBz (2021)
Deze mode is de originele verzadiging algoritme. Het maakt gebruik van de JzAzBz uniforme kleur ruimte (UCS) om de verzadiging berekenen. Deze kleur ruimte is niet bedoeld voor kleur veranderingen en zijn helderheid houd geen rekening met het Helmholtz-Kohlrausch effect, wat zegt dat kleurrijke kleuren lijken helderder dan neutrale of bijna neutrale kleuren (grijs en pastel) hebben dezelfde luminantie. Het heeft ook last van minder zacht gedrag in de buurt van zwart, met kleuren die te donker zijn gemaakt.
darktable UCS (2022)
De uniforme kleurruimte van darktable is vanaf de grond af ontworpen, gebruik makend van een psychoperceptueel gemeten dataset speciaal voor het manipuleren van kleuren (verzadiging) in deze module. De kleurruimte houd rekening met de Helmholtz-Kohlrausch effect en heeft een ingebouwde gamma mapping formule die nauwkeuriger en efficiënter is als wat met JzAzBz bereikt kan worden. Het geeft een zachter gedrag weer, wat een meer egale verzadiging aanpassing geeft over de hele lichtheid bereik.

🔗instellingen voor maskervoorbeeld

Deze instellingen zijn van toepassing op de maskervoorbeelden die worden weergegeven door op de maskerknoppen in de sectie luminantiebereiken te klikken. Deze instellingen worden globaal opgeslagen en worden dus toegepast op alle volgende afbeeldingen, tenzij ze worden gewijzigd.

dambord kleur 1 en 2
stel de twee kleuren in voor de onderlaag van het achtergronddambordmasker. Je kan ze instellen op de kleuren van de tegenstander van de huidige afbeelding om de leesbaarheid te bevorderen.
dambord maat
Stel de breedte van de dambordcellen in pixels in (aangepast volgens de DPI-instelling van het scherm).

🔗FAQ

🔗verzadiging of chroma?

Zoals beschreven in de sectie dimensies van kleur gaan verzadiging en chroma een verschillende richting uit in het (helderheid, chroma) vlak. Bovendien gebruikt de chroma van kleurenbalans RGB een door de scene-gerefereerde lineaire ruimte, terwijl de verzadiging een perceptuele ruimte gebruikt, die de kleur opnieuw schaalt voor een gelijkmatige afstand.

In de praktijk moet je de chroma-instelling gebruiken als je de scene-lineariteit van de lichtemissie wilt behouden en/of de luminantie ongewijzigd wilt houden. Deze veranderingen kunnen echter sommige tinten sterker beïnvloeden dan andere, omdat de kleurruimte niet volledig perceptueel geschaald is.

Verzadiging komt dichter bij het effect van het mengen van witte verf met een basiskleur. Het verminderen van de verzadiging van rood zal het degraderen tot roze, terwijl het verminderen van de chroma zal degraderen tot een grijze tint bij dezelfde helderheid. Verzadiging is misschien een meer intuïtieve manier om met kleur om te gaan, vanwege de connectie met schilderen.

Het kiezen van het een of het ander is meestal een kwestie van beslissen waar op de (helderheid, chroma) grafiek je jouw kleuren wilt pushen, en waar ze moeten beginnen. Om pastelkleuren te bereiken, is verzadiging de beste keuze. Om laserachtige kleuren (bijna monochromatisch) te bereiken, met het risico synthetisch te lijken, is chroma de juiste keuze.

🔗wat is het verband met lift/gamma/toename?

Het lift/gamma/gain-algoritme vertrouwt op een scherm-gerefereerde kleurruimte, aangezien het een begrensd en symmetrisch dynamisch bereik aanneemt, met witpunt op 100% en grijs op 50%. Als zodanig is het gewoon onbruikbaar in een scene-gerefereerde ruimte. Het enige incompatibele onderdeel is echter de lift. De gamma is precies de ASC CDL kracht, en de toename is precies de ASC CDL slope.

De kleurenbalans RGB-module heeft gewoon twee hellingen in plaats van één: de toename, toegepast op de hooglichten die door een masker uit het hele beeld zijn geëxtraheerd, en de lift, op dezelfde manier toegepast, maar op de schaduwen.

🔗contrast wijzigen

Terwijl kleurenbalans RGB meestal over kleur gaat (andere modules behandelen het globale contrast op een manier die de kleurkwaliteit behoudt), is luminantie net zo goed een onderdeel van kleur als tint of chroma, en het moet hier ook worden behandeld, omdat de perceptie van verzadiging afhankelijk is van ben ermee bezig. Als je bijvoorbeeld rood in roze wilt veranderen, zal het verminderen van de chroma het grijs maken, dus je moet ook de luminantie verhogen.

Er zijn verschillende manieren om het contrast in kleurenbalans RGB te wijzigen, ofwel lokaal (met maskers) of globaal (zonder):

  • in de overkoepelend tab, gebruik de contrast instelling (mogelijk naast het contrast grijs steunpunt in de maskers tab). Houd er rekening mee dat dit het witpunt verhoogt en daardoor het dynamische bereik van het beeld vergroot, waardoor filmisch instellingen later in de pijplijn kunnen vervallen.

  • in perceptuele verzadigingsgradatie, verzadiging van hoge lichten en verzadiging van schaduwen om een luminantiecontrastversterking te produceren,

  • in perceptuele schitteringsgradatie, voeg schittering toe in de hooglichten en verwijder schittering in de schaduwen om een luminantiecontrastversterking te produceren,

  • stel in het tabblad 4 manieren de schaduwen lift luminantie in op negatieve waarden en de hooglichten luminantie op positieve waarden, wat ook een luminantiecontrastversterking oplevert.

Het verschil tussen deze methoden is hoe het effect wordt gewogen ten opzichte van de input van de module. je wordt geadviseerd om de meeste luminantiecontrastaanpassingen in de filmisch en toon equalizer-modules uit te voeren en vervolgens de laatste wijzigingen aan te brengen in kleurenbalans RGB terwijl u de kleuren onderzoekt.

🔗interne verwerking

Het volgende is de interne volgorde van bewerkingen binnen de module:

  1. Transformeer van pijplijn RGB naar Kirk/Filmlight Ych-ruimte,

  2. Tintverschuiving toepassen bij constante chroma en constante luminantie,

  3. Bereken luminantiemaskers met Y,

  4. Pas de instellingen voor lineaire chroma en levendigheid toe met constante tint en luminantie,

  5. Transformeren naar Kirk/Filmlight RGB-ruimte,

  6. Pas de 4 manieren instellingen toe (behalve luminantievermogen),

  7. Transformeren naar Kirk/Filmlight Yrg-ruimte,

  8. Pas _luminantiekracht en contrast op Y toe,

  9. Transformeren naar JzAzBz-ruimte,

  10. Pas de instellingen voor perceptuele verzadiging en perceptuele schittering toe,

  11. Knip zacht de chroma met behulp van pijplijn RGB-gamma met constante tint en helderheid,

  12. Transformeer terug naar pijplijn RGB.

🔗waarschuwingen

Als je de globale chroma instelt op -100%, krijg je geen echt monochroom beeld, zoals gebruikelijk is bij andere algoritmen. De reden hiervoor is dat de gebruikte RGB-ruimte een D65-witpunt heeft dat is gedefinieerd in CIE LMS 2006-ruimte, terwijl darktable een witpunt gebruikt dat is gedefinieerd in CIE XYZ 1931-ruimte, en er is geen exacte conversie tussen deze ruimtes. Het resultaat is dus een licht getint zwart-wit beeld. Als het jouw bedoeling is om een echt zwart-witbeeld te krijgen met behulp van het luminantiekanaal, biedt de kleurkalibratie-module een Z&W: op luminantie gebaseerde voorinstelling die precies hetzelfde doet, maar zonder de witpuntafwijking.

Deze module heeft zijn gamma-mapping (tegen pijplijn-RGB) permanent ingeschakeld. Dit betekent dat als jouw originele afbeelding om te beginnen een aantal grotendeels buiten het gamma vallende kleuren bevat, het inschakelen van kleurenbalans RGB zonder specifieke instelling de kleuren enigszins zal veranderen. Dit is waarschijnlijk het beste.

De maximaal toegestane verzadiging in de werk-RGB-ruimte van de pijplijn wordt vastgelegd voor elke tint bij het initialiseren van de module en wordt later in een LUT (opzoektabel) opgeslagen om prestaties te besparen. Als het werkprofiel later wordt gewijzigd, wordt kleurenbalans RGB niet op de hoogte gebracht, wat betekent dat het de in het cachegeheugen opgeslagen tint/verzadiging-LUT niet zal bijwerken. Om een LUT-update te forceren, kan je eenvoudig elke instelling in de kleurenbalans RGB-module wijzigen en vervolgens weer wijzigen. Het wordt niet aanbevolen om de werk-RGB-ruimte halverwege een bewerkingssessie te wijzigen, omdat dit kan leiden tot onverwachte chroma- en tintveranderingen.

Om prestatieredenen worden de niet-lineaire conversies van en naar de werkende RGB-ruimte omzeild, wat betekent dat de interne colorimetrie verkeerd zal zijn bij het gebruik van niet-lineaire kleurruimten. Merk op dat er geen reden is om niet-lineaire spaties als werkende RGB te gebruiken, omdat ze het mengen van alfa zonder enig voordeel uitdagender maken.


  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