Просунутий модуль, який вводить інструменти грейдингу кольорів з кінематографії в фотографічний конвеєр робочого процесу на основі сцен.

This module is not suitable for beginners with no prior knowledge of color theory, who might want to stick to the global chroma and global vibrance settings until they have a good understanding of the dimensions of color.

Introduction

Грейдинг кольорів є важливою частиною редагування зображень. Він може допомогти усунути небажані обарвлення, а також може надати креативну кольорову гаму, яка додасть атмосфери вашим зображенням. За часів плівкової фотографії більша частина колірної атмосфери отримувалась за допомогою плівкової емульсії та хімічних проявників, причому деякий час проводився під збільшувачем з кольоровими головками. Це споживало дорогі ресурси і було здебільшого зарезервовано для кіноіндустрії, де роботу виконував колорист.

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.

Колористи зазвичай ділять грейдинг кольорів на два окремі етапи:

  1. Primary color-grading aims to fix unwanted color casts and create a neutral starting point,
  2. Secondary color-grading gives the image its final look and atmosphere.

Primary color-grading is best left to the color calibration module, which operates in a physical framework better suited to illuminant correction. color balance, 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.

General principles

The color balance 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 Ansel (notably in the older color balance module).

The color balance module expects a scene-referred linear input and produces a scene-referred RGB output, which may or may not be linear, depending on the module settings (contrast and power will delinearize the output).

At its output, color balance 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.

Module controls

Master tab

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.
глобальний резонанс
Це впливає на вимір кольоровості кольору на всьому зображенні, переважно на кольори з низькою кольоровістю. Це дозволяє збільшити кольоровість нейтральних кольорів, не перебільшуючи і без того барвисті пікселі.
контраст
Цей параметр застосовується до каналу яскравості при незмінному відтінку та кольоровості. Налаштування опорної точки (на вкладці маски в опорна точка контрасту сірого) дозволяє встановити нейтральну точку кривої контрасту:
  • в опорній точці крива контрасту залишає яскравість незмінною,
  • нижче опорної точки крива контрасту зменшує яскравість для позитивних значень контрасту або збільшує її для негативних значень,
  • вище опорної точки крива контрасту збільшує яскравість для позитивних значень контрасту або зменшує її для негативних значень.

Опорна точка за замовчуванням має значення 18,45%, що узгоджується з поточним робочим процесом на основі сцен і має відповідати більшості випадків використання (припускаючи, що загальна яскравість була виправлена відповідно до рекомендацій за допомогою модуля експозиція).

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 contrast slider is best used with masks, e.g. for selective corrections over the foreground or background.

Linear chroma grading

Лінійний грейдинг кольоровості впливає на вимір кольоровості пропорційно введеному значенню при незмінному відтінку та яскравості. Він робить це глобально, з плоским коефіцієнтом (з використанням глобальної кольоровості), а також на кожній з масок тіней, середніх тонів та світлих тонів (визначених на вкладці маски в розділі діапазони яскравості).

Perceptual saturation grading

Перцепційний грейдинг насиченості впливає на виміри як яскравості, так і насиченості у перцепційному просторі, пропорційно введеному значенню, при постійному відтінку. Він робить це глобально, з плоским коефіцієнтом (з використанням глобальної насиченості), а також на кожній з масок тіні, середні тони і світлі тони (визначених на вкладці маски в розділі діапазони яскравості).

Perceptual brilliance grading

Перцепційний грейдинг блискучості впливає як на яскравість, так і на кольоровість у перцептивному просторі, пропорційно введеному значенню, при постійному відтінку та в напрямку, ортогональному насиченості. Його ефект близький до ефекту зміни експозиції, але масштабується перцептивно. Він робить це глобально, з плоским коефіцієнтом (з використанням глобальної насиченості), а також на кожній з масок тіней, середніх тонів і світлих тонів (визначених на вкладці маски в розділі діапазони яскравості).

вкладка “4 діапазони”

Кожне з налаштувань на вкладці “4 діапазони” складається з тих самих трьох компонентів, які визначають колір за допомогою незалежних координат:

  1. luminance,
  2. hue,
  3. chroma.

Введення кольору, як це, визначає зміщення кольору, що застосовується до зображення глобально або в межах заданого діапазону яскравості.

Кожен повзунок відтінків має піпетку кольору, яку можна використовувати для обчислення протилежного кольору у вибраній області. Це корисно для обернення небажаних кольорових обарвлень (наприклад, почервоніння шкіри), оскільки зміщення обарвлення в напрямку протилежного кольору нейтралізує обарвлення.

Global offset

Це еквівалентно зміщенню ASC CDL і зводиться до додавання постійного значення RGB до всіх пікселів, подібно до корекція рівня чорного в модулі експозиція. Цей елемент керування не використовує маскування.

Shadows lift

Це концептуально еквівалентно підйому від підйом/гамма/підсилення, хоча реалізовується інакше і зводиться до множення замаскованих пікселів на постійне значення RGB. Застосовується за допомогою маски тіней.

Highlights gain

Це еквівалентно нахилу ASC CDL і зводиться до множення замаскованих пікселів на постійне значення RGB. Застосовується за допомогою маски світлих тонів.

Global power

Це еквівалентно степеню ASC CDL і зводиться до застосування постійної експоненти RGB. Не маскується і потребує нормалізації, оскільки степенева функція має різну поведінку вище і нижче 1, і ми знаходимося в необмеженому конвеєрі, де білий колір зазвичай перевищує 1. Параметр нормалізації доступний у масках в параметрі поворотна точка білого.

Masks tab

Ця вкладка визначає допоміжні елементи керування для попередніх вкладок. Елементи керування маскуванням, як правило, не потребують будь-яких змін користувача, оскільки за замовчуванням відкалібровані з урахуванням більшості потреб і відповідають нормальним очікуванням щодо конвеєра обробки на основі сцен. Змінювати ці налаштування потрібно лише у певних сценаріях.

Luminance ranges

Графіки показують непрозорість (на осі y) трьох масок яскравості відносно яскравості пікселів (на осі x). Найтемніша крива представляє маску тіней, найяскравіша – маску світлих тонів, а третя крива представляє маску середніх тонів.

Тільки масками тіней та світлих тонів можна керувати безпосередньо – маска середніх тонів обчислюється опосередковано на основі інших і діє як змінна регулювання.

ослаблення тіней
Контролює м’якість або жорсткість переходу від повністю непрозорого (100%) до повністю прозорого (0%) для маски тіней.
опорна точка середнього сірого маски
Встановлює значення яскравості, коли всі три маски мають непрозорість 50%. На практиці це використовується для визначення способу поділу зображення на тіні та світлі тони.
ослаблення світлих тонів
Контролює м’якість або жорсткість переходу від повністю непрозорого (100%) до повністю прозорого (0%) для маски світлих тонів.

Для кожного з цих налаштувань кнопка маски, розташована праворуч від повзунка, відображає відповідну маску (тіні, середні тони, світлі тони), накладену як шахівниця. Ще видима область зображення (не прихована маскою) – це область, на яку впливатимуть повзунки тіней, середніх тонів та світлих тонів на інших вкладках.

Усі попередні перегляди масок показують вихід модуля, включаючи будь-які внесені зміни кольору, тому ви можете також активувати їх під час редагування, щоб бачити лише частину зображення, на яку ви впливаєте.

Маски яскравості обчислюються на вході модуля, це означає, що вони нечутливі до будь-яких змін яскравості, зроблених всередині модуля.

Thresholds

поворотна точка білого
Встановлює яскравість точки білого в EV. Це використовується для нормалізації налаштування показник степеня на вкладці 4 діапазони. Реалізації степеневих функцій в обробці на основі відображення припускають, що білий колір становить 100%, що позбавляє потреби в нормалізації. Але для цілей обробки на основі сцен це потрібно враховувати.

Піпетка кольору праворуч від повзунка автоматично встановлює поворотну точку білого на максимальну яскравість із вибраної області, яка в більшості випадків повинна бути достатньою.

опорна точка контрасту сірого
Встановлює точку опори для параметра контраст на вкладці основні параметри. Це відповідає значенню яскравості, яке залишиться незмінним при регулюванні контрасту. Цей параметр зазвичай відповідає лінійному значенню середньо-сірого. Якщо ви дотримувались рекомендацій щодо робочих процесів на основі сцен і встановлювали загальну яскравість на початку конвеєру, використовуючи модуль експозиція, правильне значення, як правило, має бути близько 18-20%.

Піпетка кольору праворуч від повзунка автоматично встановлює опорну точку контрасту сірого на середню освітленість із вибраної області. Це спирається на припущення, що середня яскравість, як правило, близька до середньо-сірої, що не відповідає дійсності, якщо у вас є дзеркальні відблиски або первинні джерела світла у кадрі, або для зображень у низькому чи високому ключі.

Saturation formula

Зауважте, що цей параметр насправді не підходить для вкладки маски (оскільки він технічно не пов’язаний з масками), але він розміщений тут, оскільки не призначений для регулярного використання та в дусі економії екранного простору. Передбачено два варіанти:

JzAzBz (2021)
Цей режим є оригінальним алгоритмом насиченості. Він використовує однорідний колірний простір JzAzBz для обчислення насиченості. Цей колірний простір не призначений для колірних змін, і його світлість не враховує ефект Гельмгольца-Кольрауша , який стверджує, що барвисті (насиченіші) кольори будуть виглядати яскравіше, ніж нейтральні або майже нейтральні кольори (сірі та пастельні), що мають таку ж яскравість. Він також страждає від негладкої поведінки біля чорного, коли кольори занадто затемнені.
Ansel UCS (2022)
The Ansel Uniform Color Space has been designed from the ground up , using psychoperceptual measurement datasets, for the sole purpose of the color manipulation (saturation) performed by this module. This color space does account for the Helmholtz-Kohlrausch effect  and has a built-in gamut mapping formula that is more accurate and efficient than can be achieved in JzAzBz. It displays a smoother behaviour which makes saturation changes more even across the lightness range.

Mask preview settings

Ці налаштування застосовуються до попереднього перегляду маски, що відображається натисканням кнопок маски в розділі діапазони яскравості. Ці налаштування зберігаються глобально, тому застосовуватимуться до всіх наступних зображень, якщо їх не змінити.

колір шахівниці 1 і 2
Встановити два кольори для шахівниці маски. Ви можете встановити для них протилежні кольори поточного зображення, щоб полегшити розбірливість.
розмір шахівниці
Встановити ширину комірок шахівниці в пікселях (регулюється відповідно до налаштувань DPI дисплея).

Поширені запитання

Saturation or chroma?

As described in the dimensions of color section, saturation and chroma roam the (lightness, chroma) plane in different directions. In addition, the chroma of color balance uses a scene-referred linear space, while the saturation uses a perceptual space, which rescales color for even spacing.

На практиці слід використовувати налаштування кольоровості, якщо ви хочете зберегти лінійність випромінювання світла та/або зберегти яскравість незмінною. Однак ці зміни можуть вплинути на деякі відтінки сильніше, ніж на інші, через те, що кольоровий простір не повністю перцептивно масштабований.

Насиченість ближче до ефекту змішування білої фарби з певним базовим кольором. Зменшення насиченості червоного погіршить його до рожевого, в той час як зменшення його кольоровості погіршить до відтінку сірого при тій же яскравості. Насиченість – це, можливо, більш інтуїтивний спосіб взаємодії з кольором завдяки її зв’язку з живописом.

Вибір того чи іншого – це здебільшого вирішення питання, куди на графіку (світлість, кольоровість) ви хочете посунути свої кольори і з чого вони починаються. Щоб досягти пастельних кольорів, вибирайте насиченість. Щоб досягти “лазерних” кольорів (майже монохромних), ризикуючи виглядати синтетично, вибирайте кольоровість.

What is the connection with lift/gamma/gain?

Алгоритм підйом/гамма/підсилення покладається на кольоровий простір на основі відображення, оскільки він передбачає обмежений та симетричний динамічний діапазон, з точкою білого на 100% та сірого на 50%. Як такий, він просто непридатний для використання у просторі на основі сцен. Однак єдиною несумісною частиною є підйом. Гамма – це саме ASC CDL показник степеня, а підсилення – саме ASC CDL нахил.

The color balance module simply has two slopes instead of one: the gain, applied on the highlights extracted from the whole image by a mask, and the lift, applied similarly but on the shadows.

Changing contrast

While color balance is mostly about color (other modules handle the global contrast in chromaticity-preserving ways) luminance is as much a part of color as hue or chroma, and it needs to be dealt with here too, because the perception of saturation relies on it. If you wish to turn red into pink, for example, reducing its chroma will turn it gray, so you need to increase its luminance as well.

There are several ways to change the contrast in color balance, either locally (with masks) or globally (without):

  • In the master tab, use the contrast setting (possibly alongside the contrast gray fulcrum in the masks tab). Be aware that this will raise the white point and therefore increase the dynamic range of the image, which may void filmic settings later in the pipeline.
  • In perceptual saturation grading, desaturate highlights and resaturate shadows to produce a luminance contrast boost,
  • In perceptual brilliance grading, add brilliance in the highlights and remove brilliance in the shadows to produce to a luminance contrast boost,
  • In the 4 ways tab, set the shadows lift luminance to negative values and the highlights gain luminance to positive values, which also produces a luminance contrast boost.

The difference between these methods is how the effect will be weighted relative to the input of the module. You are advised to do the majority of luminance contrast adjustments in the filmic and tone equalizer modules, and then undertake final changes in color balance while examining the colors.

Internal processing

Далі наведено внутрішній порядок операцій у модулі:

  1. Transform from pipeline RGB to Kirk/Filmlight Ych space,
  2. Apply hue shift at constant chroma and constant luminance,
  3. Compute luminance masks with Y,
  4. Apply the linear chroma and vibrance settings at constant hue and luminance,
  5. Transform to Kirk/Filmlight RGB space,
  6. Apply the 4 ways settings (except luminance power),
  7. Transform to Kirk/Filmlight Yrg space,
  8. Apply luminance power and contrast on Y,
  9. Transform to JzAzBz space,
  10. Apply the perceptual saturation and perceptual brilliance settings,
  11. Soft-clip the chroma using pipeline RGB gamut at constant hue and lightness,
  12. Transform back to pipeline RGB.

Caveats

Setting the global chroma to -100% will not produce a real monochrome image, as is customary with other algorithms. The reason for this is that the RGB space used has a D65 white point defined in CIE LMS 2006 space, while Ansel uses a white point defined in CIE XYZ 1931 space, and there is no exact conversion between these spaces. The result will therefore be a slighly tinted black & white image. If your intent is to get a real black & white image using the luminance channel, the color calibration module offers a B&W : luminance-based preset that does exactly the same thing but without the white-point discrepancy.

This module has its gamut-mapping (against pipeline RGB) permanently enabled. This means that if your original image contains some largely out-of-gamut colors to start with, simply enabling color balance with no particular setting will slightly alter its colors. This is probably for the best.

The maximum saturation allowed in the pipeline working RGB space is recorded for each hue when initializing the module, and is later cached in a LUT (look-up table) to save performance. If the working profile is later changed, color balance is not notified, meaning that it will not update its cached hue/saturation LUT. To force a LUT update, you can simply change any setting in the color balance module, then change it back again. It is not recommended that you change the working RGB space half-way through an editing session, as this could result in unexpected chroma and hue changes.

З міркувань продуктивності нелінійні перетворення з і до робочого простору RGB вимкнені, а це означає, що внутрішня колориметрія буде неправильною при використанні нелінійних колірних просторів. Зауважте, що немає підстав використовувати нелінійні простори як робочі RGB, оскільки вони роблять альфа-змішування більш складним без будь-якої користі.


  1. Richard A. Kirk, Chromaticity coordinates for graphic arts based on CIE 2006 LMS with even spacing of Munsell colours, 2019. ↩︎

  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  ↩︎