Базові відомості щодо керування кольорами¶
Огляд¶
Основним питання роботи з керуванням кольорами є забезпечення передбачуваної відповідності кольорів зображення, які було отримано за допомогою фотоапарата або сканера, кольорам справжніх об’єктів зйомки та сканованих зображень; відповідності кольорів, які ви бачите на моніторі, кольорам, які було отримано у результаті зйомки або сканування, та відповідності кольорів надрукованих або оприлюднених у мережі зображень кольорам зображень, створених у результаті цифрової обробки знімків.
Типова робоча процедура із керуванням кольорами полягає в отриманні зображення за допомогою камери чи сканера, показі зображення на моніторі та друці зображення на принтері. Хоча кожен із цих пристроїв може відтворювати кольори за допомогою 8-бітних значень RGB, вони не роблять це абсолютно однаково. Зокрема, значення RGB (200,130,200), ймовірно, відповідатиме різним відтінкам фіолетового на кожному з цих пристроїв. Метою керування кольором є налаштування значень RGB даних зображення під час його переходу від отримання до показу і друку таким чином, щоб підтримувати однакові кольори із підтриманням однаковості у сприйнятті на всіх пристроях.
Керування кольорами працює шляхом характеризації здатності відтворення кольорів (також звану простором кольорів) кожного пристрою (наприклад, фотоапарата, сканера, монітора чи принтера) у тому, що називається профілем ICC. Ці профілі ICC визначено так, щоб їх можна було використовувати для перетворення чисел RGB, які використовуються для представлення певного кольору в одній точці робочого процесу, у відповідні числа RGB для представлення того самого кольору в іншій точці робочого процесу. Керування кольорами за допомогою перетворень ICC показано на наступному рисунку.
Для того, щоб уможливити перетворення з будь-якого простору кольорів у будь-який інший простір кольорів, було вирішено, що всі профілі ICC будуть визначені так, щоб за їх допомогою можна було виконувати перетворення між простором кольорів пристрою та загальним робочим простором кольорів. Таким чином, на схемі показано два перетворення ICC для перетворення даних з камери в дані, придатні до показу на моніторі: одне з фотоапарата у робочий простір і одне з робочого простору на монітор. Таким чином, керування кольорами здебільшого залежить від використання відповідних профілів пристрою для належного перетворення даних зображення під час їхнього передавання від пристрою до пристрою.
Якщо йдеться про керування кольорами, усі хочуть знати, «які кнопки слід натискати, щоб отримати правильні кольори». На жаль, для керування кольорами потрібні добре обґрунтовані даними кроки у процедурі обробки зображень. Метою цього розділу є надання достатніх базових відомостей щодо керування кольорами та посилань на докладніші відомості, щоб ви могли почати робити власні обґрунтовані рішення.
Коли керування кольорами вам не потрібне¶
Якщо ваш спосіб обробки зображень відповідає шістьом переліченим нижче критеріями, вам не потрібно перейматися керуванням кольорами:
Ви працюєте за монітором, який належним чином відкалібровано для простору кольорів sRGB (докладніший опис простору кольорів sRGB наведено у цьому розділі підручника).
Ваш процес обробки зображень починається з файла JPEG, створеного фотоапаратом, який працює у просторі кольорів sRGB.
Ви працюєте лише з простором sRGB під час редагування.
Для вашого принтера потрібні зображення у просторі кольорів sRGB.
Ваш сканер створює зображення у просторі кольорів sRGB.
Іншими джерелами потрібних вам зображень є електронна пошта та інтернет, де sRGB є фактичним стандартом.
Корисні визначення¶
Для кращого розуміння керування кольорами нам слід дати декілька визначень ключових термінів:
Профіль ICC — це набір даних, які характеризують пристрій введення чи виведення кольору або простір кольорів відповідно до стандартів, оприлюднених Interglobal Color Consortium (ICC). Профілі описують атрибути кольорів конкретного пристрою (або вимоги до перегляду зображення), визначаючи прив’язку між вихідним або цільовим простором кольорів пристрою та простором з’єднання профілів (PCS). Цим простором з’єднання кольорів є CIELAB (L*a*b*) або CIEXYZ. Прив’язки можна визначити за допомогою таблиць, до яких застосована інтерполяція, або через ряд параметрів для перетворень.
(У розділі огляду профіль визначено ICC надто спрощено, як прив’язку між простором пристрою і робочим простором, хоча насправді для обох перетворення відбувається до простору з’єднання кольорів. Простір з’єднання кольорів можна розглядати як універсальний простір кольорів. Отже перенесення даних з фотоапарата до монітора насправді може включати 4 перетворення між просторами кольорів: з фотоапарата до PCS, з PCS до робочого простору, з робочого простору до PCS і з PCS до простору монітора. Причини цих додаткових кроків описано нижче.)
Палітра — діапазон кольорів, які можна точно закодувати до зображення або відтворено на пристрої.
Точка білого — набір значень RGB, який слугує для визначення кольору «білий» на зображенні або відбитку.
Виправлення гамми — нелінійна дія, якою користуються для кодування і декодування значень на зображеннях з метою зменшення візуальних дефектів, які спричинено збереженням даних пікселя за допомогою скінченної кількості бітів. Наприклад, зображення закодовано за допомогою гамми рівної приблизно 0,45 і декодовано за допомогою оберненої гамми у 2,2 для показу на більшості комп’ютерних моніторів.
Розібратися можна за допомогою простого прикладу одного такого перетворення. Щоб застосувати виправлення гамми 2,2 до значення даних 212 у 8-бітовому представленні, потрібно розділити значення на 2^8 = 256, щоб перетворити у діапазон від 0 до 1. У цьому випадку 212/256 = 0,828. Потім піднесіть це значення до степеня 2,2, 0,828^2,2 = 0,660. Потім помножте на 256, щоб перетворити результат назад у діапазон від 0 до 255: 0,660 * 256 = 169. Виправлення гамми застосовує той самий алгоритм до кожного кольору у кожному пікселі зображення у режимі реального часу.
Найпростіші простори кольорів можна задати визначенням комбінації палітри, точки білого та гамми.
Перетворити у профіль означає вбудувати новий профіль, але вже зі зміною чисел RGB відповідно до значень RGB — тобто видимих кольорів, яким відповідають трійки чисел RGB, пов’язані з кожним з пікселів зображення, — так, щоб вони були однаковими до і після перетворення з одного простору у інший.
Якщо простори відрізняються лише гаммою, перетворення включає виправлення гамми за допомогою відповідних гамм початкового і кінцевого просторів кольорів. Перетворення кольорів з врахуванням палітри і точок білого математично є складнішими, але заснованими на подібній логіці.
Теоретично, у вас має бути можливість виконати декілька перетворень зображення з одного робочого простору у інший, і хоча всі трійки чисел RGB на зображенні змінюватимуться під час кожного з перетворень, зображення, показане на екрані, має залишатися незмінним. Насправді ж, через помилки округлення під час кожного з перетворень, вже не кажучи про обрізання палітри під час переходів від ширших до вужчих робочих просторів, кожне з перетворень з одного простору у інший призводитиме до втрати якості зображення.
Призначення профілю кольорів змінює значення чисел RGB у зображенні шляхом вбудовування нового профілю без зміни фактичних чисел RGB, пов’язаних з кожним пікселем зображення. Коли ви просто призначаєте новий профіль кольорів, зовнішній вигляд зображення має більш-менш суттєво змінитися (зазвичай у гірший бік, якщо раніше в зображення ненавмисно не було вбудовано неправильний профіль). Єдиним винятком є випадок початкового призначення профілю фотоапарата файлу зображення, який ви отримуєте з програмного забезпечення обробки цифрових негативів. Це виняток, оскільки призначення, імовірно, виправить профіль кольорів для зображення, створеного цим фотоапаратом.
Залежні від пристрою і незалежні від пристрою профілі: профіль фотоапарата, профіль сканера, профіль вашого монітора та профіль кольорів вашого принтера є залежними від пристроїв профілями*. Ці профіль працюють лише для окремих пристроїв, для яких їх було створено шляхом профілювання. Профілі робочих просторів і простір з’єднання профілів є незалежними від пристроїв. Після того, як файл зображення буде перетворено за допомогою Lcms на незалежний від пристрою робочий простір, більше не матиме значення, за допомогою якого саме пристрою було створено зображення. Але, тільки-но ви вирішите, що ваше зображення слід показати або надрукувати, параметри використаного пристрою (монітора, принтера) матимуть велике значення, а для показу чи друку знадобиться залежний від пристрою профіль.
Наближений файл цифрового негатива не є файлом цифрового негатива. З певних причин цей простий факт призводить до багатьох непорозумінь. Після того як файл цифрового негатива було наближено програмним забезпеченням з обробки цифрових негативів і виведено до файла TIFF або JPEG, початковий файл цифрового негатива, звичайно ж, залишиться файлом цифрового негатива, але наближений файл буде лише файлом зображення. Цей файл вже не буде файлом цифрового негатива.
Слово лінійне має два пов’язаних між собою визначення, які легко сплутати. «Лінійне» може означати, що тональність зображення відповідає тональності початкових об’єктів під час фотографування і її не було змінено застосуванням S-кривої (кривої насиченості) або іншого способу зміни локальної і глобальної тональності. Крім того, це може означати, що крива перетворення гами простору кольорів є лінійною. Зображення може бути «лінійним» у межах одного з цих означень, обох означень або жодного з означень. Зображення цифрового негатива, створене за допомогою libraw, є лінійним у межах обох означень. Те саме зображення, створене за допомогою програми для обробки цифрових негативів від Canon, не буде лінійним за жодного з означень.
Визначення HDR (високий динамічний діапазон) та LDR (низький динамічний діапазон) не пов’язано з бітовою глибиною кольорів зображення. Ці визначення стосуються загального динамічного діапазону, що вкривається кольорами зображення. Звичайне зображення з низьким динамічним діапазоном, який вкриває, скажімо, всього лише 5 «інтервалів» (посередній сучасний фотоапарат з легкістю може дати 8 або 9 інтервалів), можна зберегти як 8-, 16-, 32- або навіть 64-бітове зображення, залежно від вашого програмного забезпечення, але динамічний діапазон зображення таким чином підвищити не можна. Зміниться лише кількість окремих кроків від найяскравішого до найтемнішого тонів на зображенні. І навпаки, кадр з 22 інтервалами (що значно перевищує можливості зорієнтованих на споживача цифрових фотоапаратів, якщо не використовувати декілька експозицій) можна зберегти як 8- або 16-бітове зображення, але отримане зображення значно постраждає внаслідок утворення смуг (тобто спостерігатиметься значна смугастість у будь-якому тональному діапазоні, який може одномоментно показувати типовий монітор) через відносно невелику кількість доступних дискретних тональних кроків від найсвітлішого до найтемнішого тонів зображення.
Зображення JPEG, створені у фотоапараті, не потребують профілю фотоапарата. Всі зображення JPEG (або TIFF), отримані безпосередньо за допомогою фотоапарата (навіть створені фотоапаратами типу «навів і клацнув», які не дозволяють зберігати зображення цифрових негативів), починають своє життя у фотоапараті як файл цифрового негатива, створений аналогово-цифровим перетворювачем фотоапарата. Якщо ви зберігаєте ваші зображення у форматі JPEG, інструмент обробки у самому фотоапараті наблизить файл цифрового негатива, призначить профіль фотоапарата, перетворить отримані числа RGB у робочий простір (зазвичай, sRGB, але іноді ви можете вибрати AdobeRGB, все залежить від фотоапарата), виконає стискання JPEG і збереже файл JPEG на картці фотоапарата. Отже, для файлів JPEG (або TIFF) з вашого фотоапарата не потрібно призначати профіль фотоапарата, який потім буде перетворено у робочий простір. Кольори файлів JPEG з фотоапарата вже перебувають у робочому просторі.
Простір з’єднання кольорів¶
Припустімо, що Libraw створить 16-бітне зображення TIFF із файла RAW, створеного певним фотоапаратом (марки та моделі). Тоді постає запитання: що насправді означає кожна конкретна трійка значень RGB, призначена кожному пікселю зображення, з точки зору якогось абсолютного стандарту, який посилається на якогось ідеального спостерігача? І чи можна взагалі визначити ідеального спостерігача? Чи реальні люди бачать однакові кольори, коли дивляться на світ?
У 1931 році Міжнародний консорціум кольорів (ICC) вирішив скласти карту та математично описати всі кольори, видимі реальним людям у реальному світі. Вони зробили це, показавши групі людей цілу купу кольорів, попросивши їх сказати, коли цей колір збігається з іншим. Це тестування було ускладнене тим фактом, що два кольори, які візуально збігаються, можуть бути отримані різними комбінаціями довжин хвиль. Сприйняття кольору людиною залежить від того факту, що ми маємо три типи колбочкоподібних рецепторів з максимальною чутливістю до світла на довжинах хвиль приблизно 430, 540 і 570 нм, але зі значним перекриттям чутливості між різними типами колбочок. Одним із наслідків того, як ми бачимо колір, є те, що багато різних комбінацій різних довжин хвиль світла виглядатимуть як один колір.
Зрештою, ICC було створено простір кольорів CIE-XYZ, який математично описує і моделює усі кольори, які видимі ідеальній людині-спостерігачу. Термін ідеальний у цьому випадку означає, що моделювання засновано на середньому відгуку багатьох осіб.
На практиці цей простір кольорів, який охоплює людське сприйняття, не є профілем кольорів у звичайному розумінні цього слова. Скоріше він надає еталонний простір для опису всіх кольорів. Системи керування кольором зазвичай використовують простір кольорів CIE-XYZ як простір з’єднання профілів (PCS) для перетворення значень кольорів RGB з одного простору кольорів в інший. Наприклад, профіль фотоапарата потрібен, щоб точно охарактеризувати або описати реакцію пікселів певного фотоапарата на світло, що потрапляє в фотоапарат, щоб ці кольори можна було показати у робочому просторі. Профілі камери ICC працюють шляхом початкового перетворення значення RGB в абсолютний простір з’єднання профілів, часто на основі CIE-XYZ, а потім із простору з’єднання профілів до вибраного робочого простору.
CIE-XYZ не є єдиним PCS. Іншим поширеним простором з’єднання профілів є CIE-Lab, який було математично виведено з простору CIE-XYZ Метою створення CIE-Lab було досягнення «відчуттєвої однорідності», тобто реалізації формули «однакові зміни у значенні кольору мають призводити до таких самих однакових змін у візуальному сприйнятті» (цитата зі статті у Вікіпедії).
Три координати простору CIE-Lab відповідають освітленості (lightness) кольору (L = 0 дає чорний колір, а L = 100 відповідає розсіяному білому; дзеркально білий може мати вищі значення), розташуванню кольору між червоним/малиновим і зеленим (a, від’ємні значення відповідають зеленішим кольорам, а додатні — червонішим) і розташуванню кольору між жовтим і синім (b, від’ємні значення відповідають синішим кольорам, а додатні — жовтішим).
Програмне забезпечення, яке використовується у digiKam для перенесення даних з профілю фотоапарата до простору з’єднання профілів і з простору з’єднання профілів до вибраного вами робочого простору і, нарешті, до вибраного вами простору виведення (для друку або, можливо, показу на моніторі), засновано на Lcms (рушії Little Color Management).
Що б там не було, Lcms виконує точніші перетворення за комерційний рушій перетворення кольорів Adobe. Більше того, перетворення цифрових негативів у digiKam засновано на декодуванні пропрієтарного файла цифрового негатива, яке виконує Libraw. Ця бібліотека є чудовим компонентом з відкритим кодом — без нього єдиним виходом було б використання звичайного для windows/mac комерційного закритого програмного забезпечення, яке постачається разом з цифровими фотоапаратами. Алгоритми наближення libraw (їх не слід плутати з декодуванням файла цифрового негатива у закритому форматі, про яке ми згадували раніше), які є частиною digiKam, за їх належного використання, дають результати, які не поступаються або переважають результати комерційного програмного забезпечення з закритим кодом.
Таким чином, усі перетворення керування кольорами здійснюються до та з просторів з’єднання профілів, які визначені палітрою кольорів, яка точно відповідає людському сприйняттю. Простір з’єднання профілів використовується всередині процесу перетворення, і ви ніколи не побачите дані у просторі з’єднання профілів. Але ви можете уявляти Простір з’єднання профілів як Універсальний перекладач між усіма іншими профілями кольорів.
Зв’язки між просторами кольорів¶
Робочий процес, який використовується для обробки типового зображення і слідує шляхом подорожі даних з файла цифрового негатива фотоапарата до остаточного результату, складається з таких кроків:
У Lcms використовується профіль фотоапарата, який ще називають вхідним профілем, для перетворення наближених чисел RGB, створених за допомогою libraw, які мають значення лише для вашого фотоапарата (його параметрів виробника та моделі), на інший набір чисел RGB, який має значення лише у просторі з’єднання профілів (PCS).
Lcms перетворює числові трійки RGB простору з’єднання кольорів на відповідні числа у вибраному вами робочому просторі так, щоб ви змогли редагувати зображення. І знову ж таки, ці числа у робочому просторі мають значення лише відносно певного робочого простору. Однаковому, з точки зору спостерігача, червоному кольору у різних робочих просторах відповідають різні трійки чисел RGB. Якщо ви призначите неправильний профіль, зображення виглядатиме неправильно. Лише трохи неправильно чи дуже неправильно, залежить від відмінностей між двома профілями.
Під час редагування вашого зображення у вибраному робочому просторі, lcms має перетворювати всі числа RGB робочого простору у простір з’єднання профілів, а потім знову у належні числа RGB, які уможливлять найточніший показ образу вашого зображення у процесі редагування на вашому моніторі (вашому пристрої показу). Це перетворення для показу виконується на льоту: ви навіть не помічаєте, коли воно відбувається, якщо всі дії виконуються належним чином.
Коли вас задовольнять результати редагування і зображення, і ви готові будете поділитися ним зі світом, lcms перетворить числа робочого простору RGB у простір PCS, а потім знову у простір кольорів принтера за допомогою характерної комбінації параметрів вашого принтера/паперу (якщо ви плануєте друк зображення) або у sRGB (якщо ви плануєте показ зображення у мережі або надсилання його електронною поштою друзям або, можливо, створення показу слайдів на моніторах, відмінних від вашого).
Проба кольорів є способом попереднього перегляду на екрані (моніторі) результатів, яких слід очікувати від виводу на інший пристрій, типово, принтер. Проба кольорів продемонструє вам відмінності, яких слід очікувати, до створення остаточного відбитка (без витрати дорогого чорнила). Таким чином, ви зможете покращити параметри відтворення без зайвих витрат часу та грошей. Щоб дізнатися про це більше, ознайомтеся із відповідним розділом цього підручника.
Звичайно, перетворення кольорів не є ідеальним, особливо при перетворенні між просторами з різними палітрами. Відтворення кольорів — це спосіб обробки палітри у разі, якщо простір кольорів призначення не може вмістити всю поточну палітру кольорів. Щоб дізнатися про це більше, ознайомтеся із відповідним розділом цього підручника.
Тепер, коли ви побачили схему того, як керування кольорами використовується для перетворення даних з фотоапарата у робочий простір (для редагування), а потім для показу або друку, має бути зрозуміло, що керування кольорами — це застосування правильних профілів для пристроїв, які ви використовуєте, а також вибір правильних просторів кольорів для редагування та зберігання зображень. Тож де взяти профілі та як вибрати робочий простір? Це предмет обговорення у наступних розділів.