Вхідні зображення – це файли RGB (наприклад, JPEG або TIFF) або raw дані з камери. Обидва типи зберігають візуальну інформацію як комбінацію основних кольорів (наприклад, червоного, зеленого та синього), які разом описують випромінювання світла, яке слід відтворити дисплеєм.
Наступне зображення ілюструє цю концепцію.
У лівій частині зображення зображено кольорове світло, яке нам потрібно зобразити цифровим способом. Ми можемо використовувати три ідеальні кольорові фільтри, щоб розкласти це світло на три первинні кольори світла з різною інтенсивністю. Для того, щоб відтворити початкове кольорове світло за допомогою нашого ідеального розкладання (як показано в центрі зображення), нам просто потрібно рекомбінувати ці три основних кольори шляхом додавання.
Має бути можливим відтворити оригінальне кольорове світло, взявши набір білих джерел світла з правильною інтенсивністю та спроектувавши їх через фільтри відповідного кольору. Цей експеримент можна провести вдома, використовуючи гелі та регульовані лампи білого кольору. Це приблизно те, що робили старі кольорові дисплеї ЕПТ (електронно-променева трубка), і так працюють відеопроектори.
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.
На екранах світлодіодні лампочки затемняються пропорційно кожній інтенсивності, а випромінювання трьох джерел фізично додаються для реконструкції початкового випромінювання. Цифрові зображення зберігають інтенсивність цих основних джерел у вигляді набору з трьох чисел для кожного пікселя, що зображено на правій стороні вищенаведеного зображення як відтінки сірого.
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.
Нам потрібно не тільки регулювати захоплені інтенсивності, щоб зробити їх підсумовуваними знову, але якщо ми хочемо перекомпонувати оригінальне світло на дисплеї, який не має таких же кольорових фільтрів або первинних кольорів, як і простір, до якого належить наш набір RGB, ці інтенсивності потрібно масштабувати, враховуючи відмінні фільтри на дисплеї. Механізм цього масштабування описаний у колірних профілях, які зазвичай зберігаються у файлах .icc
.
Примітка: Колір не є фізичною властивістю світла – він існує лише в мозку людини, як продукт розкладання випромінювання світла колбочками на сітківці, знову ж дуже схоже в принципі на вищенаведений приклад фільтрації. Значення “RGB” слід розуміти як “випромінювання світла, закодоване на 3 каналах, з’єднаних із 3 основними кольорами”, але самі основні кольори можуть виглядати інакше, ніж те, що люди називали б “червоним”, “зеленим” або “синім”.
Описані тут фільтри є смуговими фільтрами, що перекриваються. Оскільки вони перекриваються, їх підсумовування не збереже енергію оригінального спектра, тому (коротше кажучи) нам потрібно приглушити їх з урахуванням реакції колбочки сітківки ока
Most of Ansel’s actual image processing takes place in a large RGB “working profile” space, with some (mostly older) modules internally working in the CIELab 1976 color space (often just called “Lab”). The final output of the image processing pipeline is once again in an RGB space shaped for either the monitor display or the output file.
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.
Кожен модуль має позицію в конвеєрі, яка повідомляє вам, у якому колірному просторі живе модуль:
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.