Цвет — это тема, на которую многие говорить стесняются, переживают, у кого-то она вызывает неловкость... но, как бы ни хотелось, обойти ее нельзя: так или иначе с цветом приходится работать, а, значит, о нем надо говорить!
Вообще на тему цвета есть огромное количество материалов в сети, но общую информацию для целостности всего материала в журнале, я не могу не разместить. Сразу оговорюсь, что намеренно буду упрощать многие моменты и опускать кучу деталей, но по возможности так, чтобы общая картина была минимально искаженная. В тексте будет много ссылок для тех, кто захочет копнуть глубже, но для общего понимания, надеюсь, будет достаточно самой статьи.
Цвет в природе
Сейчас мы поговорим немного о физике. Тема, на самом деле, непростая, если лезть вглубь (например, даже сейчас у ученых есть разные точки зрения на такую, казалось бы, простую вещь как механизм отражения света — когда речь идет о рассмотрении явления на уровне взаимодействия электронов и фотонов), поэтому я сознательно буду упрощать описание многих процессов, так как этот журнал, все-таки, не о физике. Но и полностью избежать ее тут не получится.
Откуда есть пошел цвет
Давайте с самого начала. Цвет — это ощущение, которое испытывает человек, когда волны определенного диапазона попадают на рецепторы в его глазу. Волны эти генерирует т. н. источник света. И уже здесь возникает первый нюанс: воспринимаемый цвет — штука субъективная: как одному +15°C «нормально», а другому — «холодрыга». Поэтому сразу определимся, что, говоря про цвет (в природе), мы имеем ввиду именно волновой состав электромагнитного излучения оптического диапазона, поступающего в зрительный орган или на плёнку/матрицу съёмочной камеры. Это уже что-то измеримое и объективное.
Наш мир пронизан электромагнитным излучением. Человеческий глаз способен воспринимать только очень узкий диапазон его частот из всего спектра — он называется оптическим (видимым) диапазоном. Каждая отдельная частота излучения из этого диапазона ощущается нами как отдельный цвет (оттенок). А амплитуда волны — яркость.
Возможно, здесь вам сможет помочь аналогия со звуком — звук как волну большинство людей видели гораздо чаще, чем свет. Тогда частота колебаний звуковой волны — высота тона — есть аналог оттенка цвета; а амплитуда — громкость — яркость. Или представьте себе волны и рябь на воде.
Цвет свечения
Получить электромагнитное излучение строго одной частоты на практике почти невозможно. Устройство, которое ближе всего к тому, чтобы генерировать свет одной-единственной частоты — это лазер. Все другие источники света генерируют широкий диапазон частот в видимом спектре. Волны с этими частотами излучаются одновременно, формируя комплексное излучение «смешанного цвета». В этом диапазоне, конечно, есть преобладающие по амплитуде частоты, а есть менее интенсивные, поэтому свечение может быть «красноватым», «голубоватым», «желтоватым» и т. п.
И здесь уже мы приходим к более точному определению понятия цвета — это амплитудно-частотная характеристика электромагнитного излучения видимого спектра (или по-научному — спектральная плотность излучения).
Другими словами: излучения каких частот (оттенков) испускаются, и какова амплитуда (интенсивность) каждого из них. Состав и мощность составляющих, так сказать.
Единственный источник естественного света, Солнце, излучает огромный спектр электромагнитных частот, как видно на иллюстрации выше. И мы имеем счастье какую-то часть этого излучения видеть (ощущать, воспринимать). Амплитуда этого излучения на всем видимом спектре практически одинаковая. И вот такое излучение, когда присутствует весь спектр частот и они имеют (почти) равную интенсивность (амплитуду), мы называем белым светом.
Кстати, возвращаясь к звуковой аналогии: сравните с понятием «белый шум» — это когда звуковые колебания всех слышимых частот звучат одновременно с одинаковой интенсивностью.
Отраженный, поглощенный свет и прозрачность
Если со светом понятно, то что же такое цвет какого-либо объекта? Строго говоря, «цветов объектов» как таковых не существует. Спелая клубника не красная «сама по себе», лист офисной бумаги не «белый», а чернозем не имеет «темно-серого оттенка» в привычном нам смысле.
Все, что мы ощущаем органами зрения — электромагнитное излучение. Любой предмет «виден» нам потому, что излучение из излучателей (источников света) отразилось от поверхности предмета, и уже отраженное предметом излучение попало на сетчатку нашего глаза.
И вот отражение света от предмета и создает для нас тот самый цвет. Это происходит, потому что отражается не весь свет. Вещество, из которого состоит объект, одни волны излучения поглощает, а другие — отражает. Так клетки веществ, образующих кожуру и мякоть спелой клубники, преимущественно отражают излучение красного диапазона, а остальное в основном поглощают, поэтому, созерцая отраженный ягодой свет только красных частот, мы и ощущаем клубнику как красную. Лист офисной бумаги отражает излучение почти всего спектра, поэтому кажется нам белым, а почва на огороде большую часть всего излучения поглощает (примерно равномерно) и от того кажется нам темно-серой. А срез древесины имеет «рисунок», потому что волокна неоднородны и отражают-поглощают свет по-разному.
Отраженный объектом свет — это цвет объекта.
И, опять же, это правда, но, правда, не вся. Дело в том, что иногда свет возвращается: проникнув на некоторую глубину в вещество, световое излучение может «найти выход обратно». Посмотрите на горящую в темноте свечу: воск рядом с огнем как бы светится изнутри. И это не отраженный свет. В частично-прозрачных телах свет может распространяться внутри вещества и, многократно меняя направление, выходить не в точке падения. При этом излучения одного спектра гасятся сильнее, чем другого, и это свечение может приобретать оттенок, соответствующий оставшемуся на выходе излучению.
В 3D-графике такой эффект называют подповехрхностное рассеивание (SubSurface Scattering или SSS) — подробнее об этом мы поговорим в другой раз.
Соответственно, это свечение смешивается с отраженным излучением, формируя итоговый цвет поверхности объекта.
И здесь мы плавно переходим к прозрачности. Когда видимое излучение попадает в среду другой плотности (например, из воздуха в вещество объекта), эта новая среда оказывает своего рода сопротивление излучению. Если входящее излучение, «протиснувшись» сквозь вещество, выходит с другой стороны объекта, то мы воспринимаем объект как частично-прозрачный.
При этом излучение разных частот может в разном количестве поглощаться объектом, и тогда свет, успешно вышедший из объекта, будет иметь тот или иной окрас. Цветное стекло или светофильтры как раз работают по такому принципу: они пропускают излучение одного спектра и задерживают (поглощают, отражают) другой спектр.
Таким образом цвет прозрачного объекта — это амплитуды и частоты излучения (прямого и отраженного), прошедшего сквозь данный объект.
Стоит также отметить, что, когда свет начинает распространяться в веществе (точнее, переходит из одной среды в другую, как говорят физики), он в той или иной степени будет отклоняться от начальной траектории. Такое изменение траектории веществом объекта называют преломлением света. А степень такого преломления — показателем или коэффициентом преломления.
Субтрактивная модель цвета
Как можно было заметить, в природе все цвета (за исключением цветов непосредственных источников света) образуются за счет того, что какая-то часть исходного светового излучения (от Солнца или других источников света) в той или иной степени поглощается (aka ослабляется). Оставшееся излучение и дает нам тот самый «цвет объекта», который мы ощущаем.
Другими словами, вычитая из видимого спектра электромагнитного излучения часть этого излучения, мы получаем различные цвета. Этот принцип и лежит в основе субтрактивной модели цвета (to subtract — вычитать).
Широкий спектр веществ естественного и искусственного происхождения, эффективно поглощающих излучения определенного спектра, называются «пигментами» (или «красящими веществами»).
Биологические пигменты придают цвета тканям всех живых существ, а также вместе с искусственными могут использоваться для модификации цвета веществ, производимых человеком.
Слышали про CMYK? Вот это оно самое. Точнее, модель, выявленная и используемая людьми. Три основных пигмента — голубой (Cyan), пурпурный (Magenta) и желтый (Yellow), смешиваясь в разных пропорциях, позволяют получить любой отраженный цвет, поглощая необходимые спектры излучения в нужном количестве. В типографии к этим цветам добавляется чистый черный (blacK или Key color).
На этом наш вводный увлекательный курс в физику света и цвета в реальном мире завершается, и мы переходим к основной теме статьи — цветам, с которыми приходится работать на мониторе.
Цвет на мониторе
С цветами на мониторе (дисплее смартфона, телевизоре) в целом все гораздо проще: любой дисплей сам по себе является источником света.
Аддитивная модель цвета
Когда мы, например, смотрим на изображение в печатном издании, то видим картинку именно потому, что краска, нанесённая на белую бумагу, на различных ее участках по-разному отражает свет от солнца или настольной лампы, а оставшееся отраженное излучение формирует у наблюдателя ощущение цветного изображения. Дисплей же, напротив, сам является источником излучения.
Его поверхность разделена на прямоугольники одинакового размера, пиксели, каждый из которых может генерировать любой отдельный цвет. Для такой генерации используется т. н. аддитивная цветовая модель: выяснилось, что, если смешать (сложить — to add, additive model) излучения трех узких частотных диапазонов, соответствующих красному, зеленому и синему цветам, то итоговое излучение будет казаться белым. А если варьировать интенсивность (амплитуду) этих излучений, то можно получить любой другой оттенок спектра.
Почему именно эти три цвета? Все дело в человеческом зрении — у нас на сетчатке есть три вида рецепторов-колбочек, которые особо остро реагируют на определенные частоты, формируя наше цветное зрение. Мозг объединяет эти данные, генерируя суммарное ощущение как «ви́дение цвета».
Кодирование цвета и разрядность
Для того, чтобы как-то однозначно идентифицировать цвет, не прибегая к амплитудам и частотам излучений, было решено записывать значение цвета в виде численного обозначения интенсивности каждого из основных цветов.
Таким образом, сами цвета, красный, зеленый и синий стали своего рода псевдонимами для излучений: ~610 нм для красного, ~549 нм для зеленого и ~460 нм для синего в цветовой модели sRGB (о том, что такое цветовая модель, мы поговорим ниже). А амплитуда задаётся простым условным числом в рамках выбранной разрядности.
Чтобы обозначить интенсивность цвета, нужно было выбрать какую-то шкалу (например, от 1 до 10) и обозначать, что у нас, скажем, 2 красного, 5 зеленого и 9 синего — для простоты: 2r5g9b; или, еще проще: 2,5,9, если мы всегда знаем порядок следования цветов.
Цветные мониторы компьютеров стали активно появляться в конце 80-х, и шкалу для кодирования цвета стал определять физический способ хранения данных — сначала цвет одного пикселя записывался в 1 байт (то есть, 8 бит, — отсюда и название «восьмибитный»). Самым распространённым представлением цвета было 8×8×4 (R3G3B2). Информация об интенсивности красного цвета записывалась в последние 3 бита (число от 0 до 7), зеленого — во вторые 3 бита, а в первые 2 бита помещалась интенсивность синего (число от 0 до 3). Такое пренебрежение детализацией синего обуславливалось относительно низкой чувствительностью человеческого глаза к этому спектру излучения. Этот способ позволял за кодировать 256 разных цветов.
Позже для каждого цвета стали отводить целый байт и количество градаций красного, зеленого и синего выросло до 256 оттенков — это назвали разрядностью 8 бит/цвет. Наиболее часто запись цвета в таком формате можно увидеть с использованием 16-ричной системы счисления (HEX). Например, 04d2a9 — это 4 красного, 210 зелёного и 169 синего (по шкале 0..255). Такая запись удобна (каждые 2 символа по очереди кодируют каждый цвет) и используется практическически всеми графическими приложениями, а также в Web. Таким образом количество цветов выросло до 16,7 миллионов (т. н. True Color) — и такое количество цветов могут показывать мониторы с VA или IPS матрицами. Этого в большинстве случаев достаточно для человеческого глаза, но недостаточно для профессиональной работы с цветом, так как может приводить к эффектам, вроде постеризации.
Как это может проявляться? Например, у нас есть участок изображения красного цвета, где интенсивность красного меняется в значениях 140-142 (три градации цвета). Мы делаем цветокоррекцию, «растягивая» диапазон цветов на значения 130-150. Но исходных градаций красного было всего три (140, 141 и 142). Соответственно, в новом диапазоне от 130 до 150 новых оттенков не появится, и фактическое разрешение цвета только ухудшится (потому что новые цвета не появились, а остальной диапазон уменьшился, ведь мы по-прежнему имеем в своем распоряжении всего 256 градаций).
Тогда появилось 16-битное и 32-битное представление каждого оттенка цвета: соответственно, информация о каждом канале записывалась в 2 или 4 байта.
И вот что еще: во многих форматах файлов и программах композитинга цвет пикселя представлен не тремя, а 4-мя каналами: кроме красного, зеленого и синего есть еще альфа-канал, или канал (не)прозрачности, обозначаемый буквой A. Оттенок этого четвертого канала сообщает насколько этот конкретный пиксель непрозрачен. Прозрачность может использоваться по-разному: в композитинге или при выводе на web-странице она будет влиять на результат наложения изображений одно на другое, при обычном просмотре или выводе на печать может игнорироваться, или заполняться каким-то цветом (например, черным или белым).
Так что цвет на компьютере можно полностью описать комбинацией значений 4-х «цветов»: RGBA по первым буквом наименований каналов. Таким образом, цвет, закодированный 4-мя 8-битными числами будет иметь разрядность 32 бита, 4-мя 16-битными, соответственно, 64 бита и в случае, если каждый цвет кодируется числом, занимающим 32 бита, — 256 бит.
Здесь стоит отметить, что чаще используется имено обозначения разрядности на один канал: например, обозначение “16 bpc” — это “16 bits per channel”. В русском языке обычно просто говорят «8 бит» или «32 бита», имея ввиду, конечно, «8 бит на цвет» и «32 бита на цвет» соответственно.
К слову, высококачественные дисплеи, в том числе для профессиональной работы с цветом поддерживают разрядность 10 бит на цвет вместо 8, что значительно расширяет возможности воспроизведения оттенков (1024 оттенка на цвет, 1 триллион цветов).
Цвет из природы в цифровом представлении
Мы рассмотрели цвет в реальной жизни и способ представления цвета на экранах электронных устройств. Теперь нужно разобраться, как соотносятся длины и амплитуды электромагнитого излучения и числовые значения яркости компонент покселей на мониторах. Решить эту совсем не простую задачу, помогли такие изобретения умных дядек как цветовые пространства (Color Space) и цветовые модели (Color Model).
Цветовая модель — это способ описания цвета набором чисел (например, выше мы это делали, используя модель RGB; есть и другие).
Цветовое пространство — это все возможные цвета, которые можно задать данной цветовой моделью.
Основа — модель CIE XYZ и xyY
В 1931 году ученые провели серию экспериментов и вычислили зависимость реакции каждого из трех видов рецепторов-колбочек от длины волны. Получился такой график (выше в статье вы уже видели похожую диаграмму — то была модель LMS, иллюстрирующая эту зависимость, но не ставшая мастер-моделью):
Не вдаваясь в математику и максимально упрощая, можно сказать, что цветовое пространство XYZ описывало весь спектр видимого излучения по трем координатам, основанным на нашей физиологии: интенсивности воспринимаемого красного, зеленого и синего цвета. Эти координаты можно представить в виде трехмерной диаграммы, где каждая ось X, Y и Z будет представлять интенсивность (яркость) соответствующего цвета; а точки в пространстве — аддитивное смешение этих трех компонент. Такая диаграмма будет включать только положительные полуоси, так как интенсивность излучения не может быть отрицательным числом.
А теперь немного магии, или, как говорят ученые, оптимизаций модели — внимательно «следите за руками»: мы можем (правда, можем) взять некоторую плоскость и рассечь ей этот куб. Например, мы можем взять точки с координатой (1) на каждой оси и построить через них плоскость, которой отсечем половину куба, получив вот такую пирамиду.
Если мы будем эту плоскость двигать вдоль перпендикуляра, то получится следующая картина. Обратите внимание, что фактически сдвиг этой плоскости создает изменение яркости цветов, оказывающихся на самом сечении, сохраняя все доступные на данном сечении цвета.
Таким образом получается, что диаграмма сечения через точки (1, 0, 0), (0, 1, 0) и (0, 0, 1) дает нам весь спектр возможных оттенков цвета (цветность, chromaticity), если к этому добавить интенсивность (яркость), то получим весь возможный спектр цветов.
Остается еще один момент: на диаграммах значения от 0 до 1 по каждой оси — условные, но пропорциональные, одинаково отражающие изменения каждого из трех цветов. А человеческое зрение воспринимает эти диапазоны с разной степенью чувтсвительности (см. самый первый график XYZ в этом параграфе). К тому же зрение человека адаптивно — при слишком высокой, или слишком низкой интенсивности излучения чувствительность колбочек будет соответственно понижаться или повышаться, как бы масштабируя значения по этим осям (причем, не равномерно — самое время вспомнить ту самую историю с синим/белым платьем).
«XYZ-куб» (как мы его тут называем) показывает все цвета, которые могут быть получены при минимальной и максимальной интенсивности рассматриваемых частот. Но загвоздка в том, что не все эти комбинации человек способен увидеть — некоторые подмножества комбинаций просто невозможно ощутить.
Например, человек никогда не сможет увидеть «чистый красный» цвет потому, что невозможно получить отклик только красных колбочек без задействования синих и желто-зеленых (каким бы слабым этот отклик ни был). А наше восприятие к тому же будет еще и «нормализовывать» (адаптировать) это цветовое ощущение в сторону комфортного диапазона.
Все это приводит к тому, что реальный диапазон ощущаемых (видимых) человеком цветов несколько у́же, чем изображают наши диаграммы-кубы. Если убрать из диаграммы цвета, которые человек не может увидеть, то получится следующая фигура. А ее в свою очередь можно привести к двумерному представлению, если и разделить яркостную и цветовую составляющие.
Результирующую диаграмму, думаю, многие читатели так или иначе хотя бы раз встречали. Она называется хроматическая диаграма xy, а цветовое пространство, которая она описывает — пространство xyY. (Вторая Y указывает, что к хроматическим координатам x и y добавляется еще значение яркости Y). Эта диаграмма описывает все существующие цвета, которые может увидеть человек.
На самом деле ее контур открытый, а замыкающая линия, соединяющая частоты 380–700 — условная, называется «линией пурпуров».
Другие модели цвета
Модель XYZ является мастер-моделью, на основе которой строятся и другие цветовые схемы. Современные редакторы изображений поддерживают сразу несколько моделей (Color Mode), которые в той или иной ситуации могут быть удобнее других.
Цветовой круг является адаптацией хроматической xy-диаграммы с равномерным распределением частот по окружности. Цветовой круг не учитывает «светлоты» и насыщенности оттенков.
HSV или HSB / HSL — популярная цветовая модель, производная от цветового круга и основанная на разделении значений тона (Hue, угол, обозначающий оттенок), насыщенности (Saturation, расстояние от центра) и значение (Value, высота на диаграме) или яркость / светлота (Brightness / Lightness).
Lab (или CIELAB) — еще одна популярная производная от XYZ модель, в которой светлота (Lightness) полностью отделена от цветности (a и b). Цветность определяется координатами a (зеленый–красный) и b (голубой–желтый) в двумерном пространстве.
YUV и YCbCr — модель, используемая при передаче цвета в компонентном видео или фотографии: например, в Lightroom есть такие слайдеры как температура (temperature) и оттенок (tint) — вот это оно самое. Эта модель, как и предыдущая, отделяет яркость Y от цветовых компонент U/Cb и V/Cr.
Цветовая температура
В последней рассмотренной модели выше я упомнянул такое нередко использующееся описание цвета как «температура». Для моделей UYV это, можно сказать, условное обозначение, но вообще, например, способ задать цвет источника света через температуру существует во многих движках визуализации (Render Engine) в компьютерной графике.
С точки зрения физики, цветовая температура — это температура (в Кельвинах), при которой абсолютно черное тело (то есть, объект, не отражающий никакое излучение) будет излучать свечение с преобладанием определенных частот.
В реальной жизни цветовая температура используется, например, для того, чтобы охарактеризовать спектральный состав излучения лампочек (наверняка, вы встречали обозначения, вроде 4000 °K или 6500 °K).
Интересно, что красное свечение принято называть «теплым», хотя его температура невысока (например, раскаленный металл, свеча или костер имеют красноватое свечение), а когда оттенки близятся к белому и синему, говорят о «холодных цветах», хотя это объекты с более высокой температурой (свет Солнца, или металл можно «раскалить до бела», то есть, максимально нагреть).
На хроматической диаграмме цветовая температура указывается кривой. Цветовая температура белого (дневного) цвета считается около 6500 °K.
Если при работе с изображениями вас просят сделать картинку «похолоднее» или «потеплее», то это означает, что в первом случае надо сместить цвета в сторону синих оттенков, а во втором — в сторону оранжево-красных.
Представление цвета на мониторе
Мы уже многое обсудили и вот добрались до самого главного: цвета, который мы видим на экране, и с которым имеем дело в программах обработки изображений.
Такой разный RGB
С мониторами есть такая загвоздка: они не могут воспроизводить все цвета, которые доступны человеческому восприятию.
Еще раз: математическая модель XYZ способна описать диапазон цветов, который шире, чем человеческое восприятие цвета, а само наше восприятие цвета пока что шире, чем могут воспроизводить различные дисплеи.
Причем, разные мониторы имеют разные возможности по воспроизведению цветов. К этому добавляются разные камеры и сканирующие устройства, которые (сюрприз!) имеют разные возможности по захвату цветов. И все эти различия надо было как-то свести к единому знаменателю, стандартизировать. Тогда другие умные дядьки придумали цветовые пространства (Color Space, опять) и управление цветом (Color Management).
Цветовое пространство, Color Space — в данном контексте описывает диапазон цветов, который может воспроизводить или захватывать то или иное устройство.
Вы наверняка слышали про sRGB (от Standard RGB) — это стандарт, описывающий диапазон цветов, которые может воспроизводить цветной монитор, принтер и web-браузер. Это цветовое пространство получило широкое распространение, относительно узкий диапазон цветов можно было кодировать с разрядностью 8 бит/цвет. Но именно относительно небольшой диапазон цветов, описываемый этим пространством, потребовал создания более совершенных стандартов, вроде Adobe RGB и ProPhoto RGB, которые поддерживали гораздо большее количество цветов видимого спектра по сравнению с sRGB.
Диапазон описываемых цветов стало принято обозначать многоугольником на хроматической xy-диаграмме (для систем RGB это треугольник, углы которого обозначают «чистые» красный, зеленый и синий цвета для данного пространства). Цвета, лежащие внутри самой хроматической диаграммы может ощутить человек, а те из них, которые помещаются в многоугольник того или иного цветового пространства, могут быть этим пространством описаны. На диаграмме ниже приведено сравнение нескольких цветовых пространств: например, можно наглядно увидеть насколько больше цветов описывает ProPhoto RGB в сравнении с sRGB.
Хорошая новость заключается в том, что одно цветовое пространство всегда можно преобразовать в другое при помощи математических операций. Такое преобразование называется управлением цветом (Color Management).
Управление цветом реализуется как на уровне операционной системы, так и на уровне приложений. Камеры, сканеры, мониторы, принтеры — все эти устройства работают в различных цветовых пространствах, и, чтобы обеспечить одинаковое отображение цветов на них, необходимо выполнять такие преобразования постоянно.
Для более точных преобразований была придумана ещё такая штука как цветовые профили (Color Profile) — это, определенная для устройства или файла изображения, таблица соответствий его цветов цветам стандартной модели Lab (реже, XYZ). Эти профили могут встраиваться в файлы изображений или поставляться в виде отдельных файлов вместе с устройством.
Таким образом, имея, скажем, цветовые профили файла и принтера, можно пересчитать сначала цвета файла в пространстве Lab, а затем уже их обратно пересчитать в соответствующие цвета для принтера.
Яркость / светлота
Все это прекрасно, конечно, но двумерная диаграмма описывает только цвета, а как быть с яркостью? Ведь яркости тоже не все поддерживаются теми или иными устройствами или цветовыми системами, не говоря уже о том, что различия в яркости мы тоже воспринимаем по-разному. И здесь появляется такое понятие как гамма.
Человеческий глаз лучше замечает перепады яркости низкой интенсивности, чем высокой (мы лучше различаем незначительные изменения в яркости в тенях, чем на ярко освещенных участках). Наше ощущение света логарифмично: если в темной комнате зажечь одну свечу, то сразу станет довольно светло; если зажечь вторую, то станет (примерно) в два раза светлее. Но, чтобы стало светлее еще в два раза, потребуется зажечь уже 8 свечей. (С монитором та же история, когда он светит нам в глаза своими картинками)
Для камеры же количество света, попадающее на матрицу, всегда определяется количеством фотонов в единицу времени — если вместо одной свечи загорелись две, то камера и «увидит» в 2 раза больше фотонов. Собственно, такие данные она честно и запишет в сырые (RAW) данные с матрицы.
Чтобы разобраться со всем этим, придумали гамма-коррекцию — это искажения яркости изображения для его корректного отображения и/или обработки.
Еще немного технических деталей: когда изображение записывается в графический файл, чтобы сохранить темные оттенки, для них выделяется больше числовых градаций, чем для светлых оттенков — можно сказать, что такое преобразование называется гаммой изображения. Перед тем, как произвести любую работу с файлом, к нему применяется гамма-коррекция, по сути, обратное преобразование, которое должно вернуть изображение в линейное представление для последующей обработки (которую удобнее делать именно в линейном цветовом пространстве) или вывода на печать или монитор. При выводе на монитор, опять же, может быть применена гамма-коррекция, но уже на уровне управления цветом операционной системы и/или конкретного устройства отображения.
Гамма выражается числом (математической степенью). Для цветовых пространств Adobe RGB и sRGB стандартное значение гаммы равно 2,2.
Страшные обозначения, вроде ACES, LUT, Rec.709
Когда мы на мониторе смотрим на изображение, то, скорее всего, это sRGB-монитор монитор. Камера же (или системы рендеринга), скорее всего, выдадут вам материал в другом цветовом пространстве. Чтобы «правильно» увидеть такое изображение на своем мониторе, нужны преобразования. Также те или иные изменения будут еще и во время пост-обработки изображения... то есть, все становится довольно запутанно.
Дальше — больше, представим, что у нас исходники сняты на разные камеры (каждая со своим цветовым пространством), а графика рендерится разными движками, которые также выдают материал в разных пространствах. Если вы работаете в одиночку, или небольшой командой с хорошей коммуникацией, в принципе, все преобразования можно сделать вручную (и это, кстати, не «правильно» или «не правильно» — если вам это подходит, то все ок). Но, если проект большой, на нем задействовано несколько команд, скорее всего, согласовать такие «ручные» настройки будет практически нереально.
И вот, чтобы это решить, придумали ACES (Academy Color Encoding System) — это инструмент управления цветом, стандартизирующий преобразования исходного цветового пространства в выходное пространство с промежуточным этапом для пост-обработки. ACES поддерживает широкий спектр камер и дисплеев и предоставляет удобный интерфейс для таких преобразований.
ACES предлагает цветовые пространства ACEScc/ACEScct (слегка отличаются работой с темными тонами), к которым приводятся все исходные материалы. Их обработка производится в этих цветовых пространствах, а затем результат выводится в том, которое необходимо в соответствии с задачей.
Одно из самых распространенных цветовых пространств, в которые может переводиться итоговое изображение — Rec.709. Это цветовое пространство было разработано для видео высокой четкости, оно почти идентично sRGB. В подавляющем большинстве случаев для видео на выходе вам нужно будет именно Rec.709. Если вы сняли видео на смартфон или бюджетную DSLR-камеру, скорее всего, оно также будет в цветовом пространстве sRGB / Rec.709.
Для более точного приведения цветов различных камер к определенному стандарту, были разработаны т. н. «таблицы поиска» (LookUp Tables, или, сокращенно, LUT). Это таблицы соответствий чисел, что-то вроде простого шифра: когда вместо вычисляемых формул просто записывается, например, что 5 в исходных данных — это 7 в итоговых, а 180 в исходных — это 220 в результате. Если значений между ними нет, то они интерполируются.
Применительно к цвету, это будет таблица соответствия цветов. С помощью таких таблиц можно описывать и трансформацию цвета между пространствами (фактически, могут использоваться как цветовые профили устройств), и цветокоррекцию — такую таблицу можно сохранить себе, чтобы повторно использовать эти настройки. Преимущество LUT'ов в том, что они универсальны и поддерживаются большинством программ, работающих с цветом. В сети есть большие библиотеки разных таблиц, позволяющих получить те или иные эффекты цветовой обработки изображений.
Заключение
Я тут понял, что есть еще такое количество тонкостей и нюансов, о которых можно было бы рассказывать полотнами текста, множества цветовых пространств и способов управления цветом, которые также используются в работе, но, пожалуй, для данной статьи достаточно. Если эта тема вам интересна, предлагаю прогуляться по ссылкам в тексте за более полной информацией. Также приведу здесь несколько интересных ссылок, которые не упоминались в статье:
- и последнее, но прям-таки великое: Chris Brejon — CG Cinematography. Здесь целая книга, первые две главы которой посвящены цвету.
Здесь, конечно, почти ни слова не сказано о практической работе с цветом, но это тема уже для следующей статьи.
Как обычно, если у вас остались вопросы, появились замечания или предложения, пишите в комментариях — прочитаю, учту, отреагирую. Подписывайтесь на этот журнал, канал в Телеграме и/или мой личный канал в Телеге, где не только про VFx, рассказывайте вашим знакомым — вдруг подобный материал будет кому-нибудь еще интересен и/или полезен.
Всего хорошего!