Конспект урока по информатике на тему "Формирование цвета в системах цветопередачи RGB, CMYK и HSB (Палитры цветов в системах цветопередачи RGB, CMYK и HSB)" (9 класс). История цветовой модели RGB Основными красками в системе цветопередачи cmyk являются

Посмотрите вокруг, что вы видите? Вы видите предметы, стол, стул, солнце или море. Задумывались ли вы, каким образом все это многообразие воспринимается? Свет – это электромагнитное излучение, это волна, которая распространяется в пространстве, так же как и звук и другие волны, которые мы не ощущаем.

В процессе восприятия и обработки участвуют две стороны, предмет, на который мы смотрим и собственно человеческий глаз, а также мозг, обрабатывающий информацию, полученную через глаза.

Давайте разберем, как же мы видим цвет. В сетчатке человеческого глаза находятся рецепторы колбочки и палочки. Всего в глазу располагается около 130 миллионов палочек и 7 миллионов колбочек. Распределение рецепторов на сетчатке неравномерно: в области желтого пятна преобладают колбочки, а палочек очень мало; к периферии сетчатки, наоборот, число колбочек быстро уменьшается и остаются одни только палочки. Колбочки, отвечают за восприятие цвета, палочки в свою очередь за сумеречное зрение. Например, ночью вы не видите цвета, вы видите все серым, потому что работают палочки, а днем работают и колбочки и палочки.

За счет чего работают зрительные рецепторы? Пигмент Родопсин разлагается под действием света в палочках, в колбочках эту роль выполняет пигмент Йодопсин.

Цветовые модели

Цветовая модель - это система представления широкого диапазона цветов и основе ограниченного числа доступных красок в полиграфии или цветовых каналов в мониторах).

По принципу действия все цветовые модели разделяются на четыре класса: аддитивные, субтрактивные, перцепционные и колориметрические, хотя последние часто относят к перцепционным моделям. Рассмотрим их подробнее.

Аддитивная цветовая модель (RGB)

Давайте разберем природу цвета, отталкиваясь от физиологии зрения. Различают три типа «колбочек», проявляющих наибольшую чувствительность к трем основным цветам видимого спектра:

· красно-оранжевому (600 – 700 нм);

· зеленому (500 – 600 нм);

· синему (400 – 500 нм).

Таким образом, для восприятия любого цвета, наш мозг смешивает эти три цвета, учитывая еще один параметр - интенсивность

Рассматриваемый класс цветовых моделей представлен единственной моделью, получившей распространение на практике. В основе этой модели лежит тот факт, что большинство цветов видимого спектра можно получить путем смешения трех цветов, называемых первичными. Этими цветами являются красный (Red), зеленый (Green) и синий (Blue) , a модель, соответственно, получила название RGB. Когда все три компоненты принимают максимальное значение, получается яркий белый цвет. Одинаковые нулевые значения образуют абсолютно черный цвет (точнее, отсутствие света), а одинаковые ненулевые значения соответствуют шкале серого цвета. Сочетания компонент, где их значения не равны, образуют соответствующий цветовой тон. При этом попарное смешение первичных цветов образует вторичные цвета: голубой (Cyan), пурпурный (Magenta) и желтый (Yellow). Первичные и вторичные цвета относятся к базовым цветам.

Математически цветовую модель RGB удобнее всего представлять в виде куба. В этом случае каждому цвету однозначно можно сопоставить точку внутри куба, соответствующую значениям координат X (Red), Y (Green) и Z (Blue). Тогда направление вектора, исходящего из начала координат, однозначно определяет цветность, а его модуль выражает яркость. Несмотря на простоту и наглядность цветовой модели RGB, она имеет два существенных недостатка: аппаратная зависимость (например, использование различных люминофоров и его элементарное старение в мониторах) и ограниченный цветовой охват (невозможность получения всех цветов видимого спектра).

Субтрактивные цветовые модели (CMY и CMYK)

Как формируется цвет предмета? Ответ прост, дневной свет, попадая на предмет частично поглощается, а частично отражается, вот этот отраженный спектр и видит наш глаз. Видимыми являются волны, лежащие в диапазоне от 760 до 380 миллимикрон. Ниже на рисунке представлено соответствие цвета и его длины волны.

С этой точки зрения, белым является такой цвет, который отражает полностью падающий на него свет, а черным – который поглощает весь свет.

Для описания отраженного от объекта цвета используется субтрактивная цветовая модель. Субтрактивные цвета, в отличие от аддитивных, получаются путем поглощения (вычитания - subtract) одного из первичных цветов из белого цвета, что соответствует физике процессов поглощения и отражения света от поверхности объекта:

Белый - красный = голубой;

Белый - зеленый = пурпурный;

Белый - синий = желтый.

Таким образом, для описания этих процессов используется модель CMY, в которой используется три основных субтрактивных цвета, а именно голубой (Cyan), пурпурный (Magenta) и желтый (Yellow).

В результате при смешении двух субтрактивных красок результирующий цвет затемняется (положено больше краски - поглощено больше света). Смешивание равных значений трех компонент дает оттенки серого цвета. Белый цвет получается при отсутствии всех цветов (отсутствии краски), тогда как их присутствие в полном объеме теоретически дает черный цвет. Однако в реальном технологическом процессе получение черного цвета путем смешения трех основных (вторичных) цветов на бумаге не эффективно. И на это имеется две причины. Во-первых, практически невозможно создать идеально чистые пурпурные, голубые и желтые краски. В результате при смешении этих цветов получается не чистый черный цвет, а грязно-коричневый. Во-вторых, неэкономный расход красок на создание черного цвета и это при том, что любые цветные краски дороже обычных черных.

Как следствие, на практике широкое распространение получила иная субтрактивная цветовая модель, называемая CMYK и использующая дополнительную, четвертую, черную краску. Заметим, что в названии модели используется буква К (последняя буква в слове BlaK (черный) ), чтобы избежать путаницы, т.к. с буквы В в английском языке начинается и слово Blue (синий). Хотя иногда букву К трактуют как первую букву в слове Key (ключ, ключевой), т.к. эта краска является главной в процессе цветной печати и последней наносится на бумагу.

Цветовая модель CMYK имеет те же ограничения, что и RGB-модель - аппаратная зависимость и ограниченный цветовой диапазон. Причем она даже более аппаратно-зависима и цветовой диапазон еще уже, чем у RGB-модели, т.к. цветные красители имеют худшие характеристики по сравнению с люминофором в мониторах. Например, она не может воспроизводить яркие насыщенные цвета, а также ряд специфических цветов, таких как металлический и золотистый.

Об экранных цветах, которые невозможно воссоздать при печати, говорят, что они лежат вне цветового охвата модели CMYK. Для предотвращения таких ситуаций обычно используют комплекс специальных мер, включающий выявление и исключение (заменой близким) несоответствующих цветов еще на этапе создания и редактирования изображений или расширением цветового охвата модели путем добавления новых или плашечных цветов (плашечными называются цвета или краски, созданные с помощью специальных технологий и на основе использования для каждого цвета уникальных красителей или чернил). Например, к краскам CMYK добавляются еще зеленая и оранжевая краски (шестицветная печать), что позволяет существенно расширить диапазон воспроизводимых цветов. Еще один способ, возможно, наиболее эффективный, заключается в использовании систем управления цветом - CMS (color management system).

Перцепционные цветовые модели (HSB и другие)

Для устранения аппаратной зависимости, присутствующей в аддитивных и субтрактивных цветовых моделях, были разработаны ряд перцепционных (интуитивных) цветовых моделей, в основу которых положено раздельное восприятие цветности и
яркости света, как воспринимает свет глаз человека. Прототипом большинства цветовых моделей, использующих эту идею, является HSV-модель, на основе которой позже появились HSB, HSL и другие модели. Общим для них является то, что цвет в них задается не в виде смеси трех основных цветов, а путем задания двух компонентов (например, в модели HSB это цветовой тон - Hue, и насыщенность - Saturation). Третий параметр во всех этих моделях различными способами задает яркость изображения и обозначается как В (Brightness - в модели HSB), L (Lightness - в HSL) или V (Value - в HSV).

Модель HSB или ее ближайший аналог - HSL - представлены в большинстве современных графических редакторов. И именно модель HSB, также представленная в Photoshop, наиболее точно соответствует способу восприятия цветов человеческим глазом (из уже рассмотренных моделей), и ее мы рассмофим более подробно.

Под цветовым тоном (Н - Hue) понимается свет с доминирующей длиной волны и для его описания обычно используется, собственно, название цвета, например, синий или желтый. В графической интерпретации этой модели каждый цвет занимает определенное место на окружности и описывается углом в диапазоне 0—60. В положении 0 находится красный цвет, 120 - зеленый цвет, 240 - синий (это первичные цвета). Вторичные цвета находятся между ними. Дополнительные цвета находятся на диаметрально противоположных сторонах цветового круга. При их смешении образуется черный цвет (при печати красками) или белый (при излучении на мониторе). Это максимально контрастные цвета и действуют они на глаз раздражающе.

Цвета, равноотстоящие друг от друга, образуют триады, дающие гармоничное сочетание цветов и насыщенную оттенками палитру. Однако понятие цветового тона не дает полного описания цвета. Кроме доминирующей длины волны, в формировании цвета участвуют и другие длины волн. Соотношение между основной, доминирующей длиной волны и всеми остальными длинами волн, образующими "серые вкрапления", называется насыщенностью. Его значение изменяется от 0 % (серый цвет) в центре круга до 100 % (полностью насыщенный) на окружности.

Третий параметр - яркость - никоим образом не влияет на цветность, но от нее зависит, как сильно цвет будет восприниматься глазом, т.е. яркость характеризует интенсивность, с которой энергия света воздействует на рецепторы глаза. При нулевой яркости мы не увидим ничего, и любой цвет будет восприниматься как черный, а максимальная яркость вызывает ощущение ослепительно белого цвета. Величина яркости также измеряется в процентах от 0е (черный) до 100 (белый). Данная компонента является нелинейной, что соответствует природе глаза.

Модель HSB носит абстрактный характер, т.к. ее компоненты на практике измерить невозможно. Чаще всего компоненты модели получают путем математического пересчета измеренных значений RGB-модели. Как следствие, в наследство от RGB-модели она получает и ограниченное цветовое пространство. Кроме того, яркость и цветовой тон не являются полностью независимыми параметрами, т.к. значительное изменение яркости влияет на изменение цветового тона, что приводит к нежелательным эффектам в виде цветовых отливов (сдвигов). Вместе с тем HSB-модель обладает двумя важными преимуществами: большей аппаратной независимостью (по сравнению с двумя предыдущими моделями) и более простым и интуитивно понятным механизмом управления цветом.

Доброго времени суток, дорогие читатели, знакомые, посетители, мимопроходящие личности и прочие странные существа! Сегодня мы поговорим о немного специфической, но несомненно важной вещи для любого пользователя, а именно о такой штуке: представление цвета в компьютере.

Как ни крути, но рано или поздно все столкнутся с практической необходимостью понимания, что такое цветовая модель, да и просто сие знание полезно с точки зрения расширения кругозора и осознания - что и как работает в компьютере и из чего он состоит как с программной, так и с физической точки зрения.

Что такое цветовая модель

В общем виде цветовая модель - это некоторая абстрактная вещь, в которой цвет представляется в виде совокупности чисел. И каждая такая модель имеет свои особенности и недостатки. По сути, это как с языком, например, если цвет - это слово "дом", то на разных языках оно будет писаться и звучать по-разному, но при этом смысл слова везде будет одинаковый. Так же и с цветом.

Мы рассмотрим самые основные модели. Их 5 . Как правило, используется одновременно несколько различных моделей, т.к. некоторые удобнее всего использовать в визуальном виде, а другие в численном.

RGB

Это самая распространенная модель представления цвета. В ней любой цвет рассматривается как оттенки трех основных (или базовых) цветов: красный (Red) , зеленый (Green) и синий (Blue). При этом существует два вида этой модели: восьмибитное представление, где цвет задается числами от 0 до 255 (например, цвет будет соответствовать синему, а - желтому), и шестнадцатибитное , которое чаще всего используется в графических редакторах и html , где цвет задается числами от 0 до ff (зеленый - #00ff00 , синий - #0000ff , желтый - #ffff00 ).

Разница представлений в том, что в восьмибитном виде для каждого базового цвета используется отдельная шкала, а в шестнадцатибитном уже сразу вводится цвет. Иными словами, восьмибитное представление - три шкалы с каждым основным цветов, шестнадцатибитное - одна шкала с тремя цветами.

Особенность этой модели в том, что здесь новый цвет получается путем добавления оттенков основных цветов, т.е. "смешивания".

На картинке выше видно, как цвета смешиваются друг с другом, образуя новые цвета (желтый - , пурпурный - , голубой - и белый ).

При этом эта модель чаще всего используется именно в численном виде, а не в визуальном (когда цвет задается вводом его значения в соотв. поля, а не выбирается мышкой). Для визуальной настройки цвета используются другие модели. Потому что визуально модель RGB представляет собой трехмерный кубик, который, как Вы видите на картинке выше, не очень удобно использовать:)

Так что это самая распространенная модель у веб-дизайнеров (передаем пламенный привет css ) и программистов.

Недостаток этой модели в том, что она зависит от аппаратной части, иными словами, одна и та же картинка будет неодинаково выглядеть на разных мониторах (ибо в мониторах используется так называемый люминофор - вещество, которое преобразовывает поглощаемую им энергию в световое излучение, а посему в зависимости от качества этого вещества будут определяться базовые цвета) .

CMYK

Это тоже очень распространенная модель, но многие о ней могли вообще ничего не слышать:)

А всё из-за того, что она используется исключительно для печати. Она расшифровывается как Cyan, Magenta, Yellow, Black (или Key Color ), т.е. Голубой, Пурпурный, Желтый и Черный (или ключевой цвет ).

Использование этой модели на печати обусловлено тем, что смешивать по три оттенка для каждого нового цвета слишком затратно и грязно, т.к. когда на бумагу сначала наносится один цвет, потом поверх него другой и затем поверх них третий цвет, во-первых, бумага сильно намокает (если струйная печать), во-вторых, совсем не факт, что получится именно тот оттенок, что Вы хотели. Да, физика она такая:)

Наиболее внимательные могли заметить, что на картинке присутствуют три цвета, а черный получается путем смешивания этих трех. Так, стало быть, зачем его вынесли отдельно? Опять же причина в том, что, во-первых, смешивать три цвета это затратно с точки зрения использования тонера (спец. порошок для картриджа от принтера, который используется вместо чернил в лазерных принтерах), во-вторых, бумага сильно мокнет, что увеличивает время просушки, в-третьих, цвета в действительности могут не смешаться должным образом, а быть более блеклыми, например. Картинка ниже показывает эту модель в реальности

Таким образом, получится скорее не черный, а грязно-серый или грязно-коричневый.

Поэтому (и не только) ввели еще черный цвет, чтобы не пачкать бумагу, не тратиться на тонеры и вообще жить было проще:)

Очень наглядно иллюстрирует всю суть следующая анимация (открывается по клику, вес около 14 Mb ):

Цвет в этой модели задается числами от 0 до 100 , где эти числа часто называют "частями" или "порциями" выбранного цвета. Например, цвет "хаки" получается путем смешивания 30 частей голубой краски, 45 - пурпурной, 80 - желтой и 5 - черной, т.е. цвет хаки будет .

Трудности этой модели заключаются в том, что в суровых реалиях (или в реальных суровиях) цвет зависит не столько от числовых данных, сколько от характеристики бумаги, краски в тонере, способе нанесения этой краски и т.п. Так что числовые значения будут однозначно определять цвет на мониторе, но они не покажут реальной картины на бумаге.

HSV (HSB) и HSL

Эти две цветовые модели я объединил, т.к. они схожи по своему принципу.

Трехмерная реализация HSL (слева) и HSV (справа) моделей представлена в виде цилиндра ниже, но на практике в ПО (программном обеспечении) не используется, ибо.. ибо трехмерная:)

HSV (или HSB) означает Hue, Saturation, Value (еще может именоваться Brightness ), где:

  • Hue - цветовой тон, т.е. оттенок цвета.
  • Saturation - насыщенность. Чем выше этот параметр, тем "чище" будет цвет, а чем ниже, тем ближе он будет к серому.
  • Value (Brightness ) - значение (яркость) цвета. Чем выше значение, тем ярче будет цвет (но не белее). А чем ниже, тем темнее (0% - черный)

HSL - Hue, Saturation, Lightness

  • Hue - Вы уже знаете
  • Saturation - аналогично
  • Lightness - это светлота цвета (не путать с яркостью) . Чем выше параметр, тем светлее цвет (100% - белый), а чем ниже, тем темнее (0% - черный).

Более распространенная модель - HSV , она часто используется вместе с моделью RGB , где HSV показана в визуальном виде, а числовые значения задаются в RGB . :

Здесь RGB- модель обведена красным и значения оттенков задаются числами от 0 до 255 , либо сразу можно указать цвет в шестнадцатеричном виде. А синим обведена HSV модель (визуальная часть в левом прямоугольнике, числовая - в правом ). Также часто можно указать непрозрачность (так называемый альфа-канал ).

Такая модель чаще всего используется в простой (или непрофессиональной) обработке изображений, т.к. при помощи неё удобно регулировать основные параметры фотографий, не прибегая к куче различных фильтров или отдельных настроек.
Например во всеми любимом (или проклинаемом) фотошопе присутствуют обе модели, только одна из них находится в редакторе выбора цвета, а другая - в окне настроек Hue/Saturation

Здесь красным показа RGB- модель, синим - HSB , зеленым - CMYK и голубым Lab (о ней чуть позже), что видно на картинке:)
А HSL- модель находится в таком вот окошке:

Недостаток HSB- модели в том, что она также зависит от аппаратной части. Она просто не соответствуют восприятию человеческого глаза, т.к. оный воспринимает цвета с разной яркостью (например, синий воспринимается нами более темным, чем красный), а в этой модели у всех цветов одинаковая яркость. У HSL аналогичные проблемы:)

Таких недостатков хотели избежать, поэтому одна небезызвестная компания CIE (Международная комиссия по освещению - Commission Internationale de l"Eclairage ) придумала новую модель, призванную не зависеть от аппаратной части. И назвали её Lab (нет, это не сокращение от Laboratory ).

Lab или L,a,b

Эта модель является одной из стандартных, хотя и малоизвестна рядовому пользователю.

Расшифровывается она следующим образом:

  • L - Luminance - освещенность (это совокупность яркости и интенсивности)
  • a - один из компонентов цвета, меняется от зеленого до красного
  • b - второй из компонентов цвета, меняется от синего до желтого

На рисунке показаны диапазоны компонент a и b для освещенности 25% (слева) и 75% (справа)

Яркость в этой модели отделяется от цветов, поэтому при помощи неё удобно регулировать контраст, резкость и другие светопоказатели, не трогая при этом цвета:)

Однако эта модель совсем неочевидная для использования и ею довольно трудно пользоваться на практике. Поэтому её используют в основном в обработке изображений и для конвертации оных из одной цветовой модели в другую без потерь (да, это единственная модель, которая делает это без потерь), обычным же смертным страждущим пользователям достаточно, как правило, HSL и HSV плюс фильтры.

Ну и в качестве примера работы модели HSV, HSL и Lab вот картинка из Википедии (кликабельно)

На сим всё ;)

Послесловие

Такие вот пироги. Надеюсь, Вам понравилось и Вы этим когда-нибудь воспользуетесь, ну или хотя бы примете к сведению и будете знать, что к чему и почему.

Как и всегда будем рады Вашим дополнениям, вопросам, благодарностям, критике и всему такому прочему. Пишите комментарии;)

P.S. За существование оной статьи отдельное спасибо другу проекта и члену нашей команды под ником “barn4k“.

Прежде чем мы перейдем непосредственно к описанию цветовых моделей компьютерной графики, давайте немного обсудим основные понятия ЦВЕТА. А на видео вы сможете посмотреть где найти и как поменять цветовую модель в фотошопе.

  • Как мы воспринимаем цвет?

Прежде чем мы перейдем к цветовым палитрам CMYK и RGB, давайте разберемся с тем, как мы воспринимаем цвет. Мы можем видеть предметы только потому, что они излучают или отражают электромагнитное излучение, то есть СВЕТ.

В зависимости от длины волны СВЕТА мы видим тот или иной ЦВЕТ.

Длина волны измеряется в нанометрах.

  • Каким длинам волн соответствуют 7 цветов радуги?

СВЕТ можно разделить на 2 категории:

  1. Излучаемый свет это свет, выходящий из источника, например, Солнца, лампочки или экрана монитора.
  2. Отраженный свет это свет, “отскочивший” от поверхности объекта. Когда мы смотрим на какой-либо предмет, не являющийся источником света, мы видим именно отраженный цвет.


Монитор излучает свет, поэтому такой способ получения цвета называют системой аддитивных цветов. Бумага – отражает свет, поэтому полученный таким образов цвет можно описать при помощи системы субтрактивных цветов.

  • Цветовая модель RGB

Это субтрактивная цветовая модель, которая использует в своем составе три основных цвета:

Красный (Red)

Зеленый (Green)

Синий (Blue)

Её название происходит от первых букв английских названий цветов. Смешивая эти цвета, мы можем получить практически любой оттенок.

RGB используют мониторы, телефоны, и даже фотоаппараты, поэтому для компьютерной графики, предназначенной для использования на вышеперечисленных устройствах, нужно использовать именно цветовой режим RGB.

  • Как смешиваются основные цвета RGB


Cиний + красный = пурпурный

Зелёный+ красный= жёлтый

Зелёный + синий = циановый

При смешении всех трёх цветовых компонентов мы получаем белый цвет.

  • Основные цвета палитры RGB

Основные цвета в RGB это: Красный, Синий, Зеленый


  • Дополнительные цвета палитры RGB

Дополнительные цвета получаются при смешивании двух соседних основных цветов.

К ним относятся: Пурпурный, Голубой, Желтый


  • Противоположные цвета палитры RGB

При смешивании противоположных цветов получается белый цвет, т.к. составляющими противоположного цвета являются два недостающих цвета (например, Красный + Голубой (синий + зеленый)).

Смешивание 2-х противоположных цветов, это по сути то же самое, что смешивание 3-х основных. В обоих случаях получится белый. Это важно знать каждому, кто всерьез занимается цветовой коррекции.


  • Цветовая модель CMYK

Голубой (cyan)

Пурпурный (magenta)

Желтый (yellow)

Черный (Keycolor)

Cубтрактивная схема формирования цвета, используемая прежде всего в полиграфии . Эта система, в отличие от RGB, используется для печати, поэтому если вы приносите макет в полиграфию, вас, как правило просят предоставлять его именно с использованием цветового режима CMYK.

  • Как смешиваются цвета CMYK

Голубой + пурпурный = синий цвет, пурпурный + желтый = ярко-красный, желтый + голубой = зеленый.

Голубой, пурпурный и желтый образуют грязно-коричневый цвет. Черный делает любой цвет более темным, отсутствие красителя дает белый.


Cyan – Голубой, Magenta – Пурпурный, Yellow – Желтый;



Палитры цветов в системах цветопередачи R G B , C M Y K и HSB



Как человек воспринимает цвет?

Человек воспринимает свет с помощью цветовых рецепторов (колбочек), находящихся на сетчатке глаза.

Колбочки чувствительны к красному, зеленому и синему цветам (базовые цвета).


Сумма красного, зеленого и синего цветов воспринимается человеком как белый .

Их отсутствие - как черный , а различные их сочетания - как многочисленные оттенки цветов .


Исходя из особенностей физиологии восприятия цвета, с экрана монитора человек лучше всего воспринимает цвет как сумму излучения трех базовых цветов: красный, зеленый, синий.

Такая система цветопередачи называется RGB, по первым буквам английских названий цветов (Red , Green , Blue).


Цвет из палитры можно определить с помощью формулы:

Color = R + G + B

R, G, B – базовые цвета, которые принимают значения от 0 до 255

Так при глубине цвета в 24 бита на кодирование каждого из базовых цветов выделяется по 8 бит, тогда для каждого из цветов возможны N=2 8 =256 уровней интенсивности.


Формирование цвета в R G B

Цвет

Формирование цвета

255 + 255 + 255

Пурпурный

В системе RGB палитра цветов формируется путем сложения базовых цветов: красного, зеленого и синего.



Пурпурный

Система CMYK в отличие от RGB , основана на восприятии не излучаемого, а отражаемого света.

Так, нанесенная на бумагу голубая краска поглощает красный цвет и отражает зеленый и синий цвета.

Цвета палитры можно определить с помощью формулы:

Color = C + M + Y

C, M и Y – цвета палитры, которые принимают значения от 0 % до 100%


Формирование цвета в C M Y K

Цвет

Формирование цвета

С + M +Y = - G - B – R

Y +C = - R - B

В системе цветопередачи CMYK палитра цветов формируется путем наложения голубой, пурпурной, желтой и черной красок.


  • Hue (оттенок цвета)
  • Saturation (насыщенность)
  • Brightness (яркость)

Палитры цветов в системах цветопередачи R G B , C M Y K и HSB

Я собираюсь совершить экскурс в историю науки о человеческом восприятии, которая привела к созданию современных видеостандартов. Также я попытаюсь объяснить часто используемую терминологию. Кроме того, я вкратце расскажу, почему типичный процесс создания игры со временем будет всё больше и больше напоминать процесс, используемый в киноиндустрии.

Пионеры исследований цветовосприятия

Сегодня мы знаем, что сетчатка человеческого глаза содержит три разных типа фоторецепторных клеток, называемых колбочками. Каждый из трёх типов колбочек содержит белок из семейства белков опсинов, который поглощает свет в различных частях спектра:

Поглощение света опсинами

Колбочки соответствуют красной, зелёной и синей частям спектра и часто называются длинными (L), средними (M) и короткими (S) согласно длинам волн, к которым они наиболее чувствительны.

Одной из первых научных работ о взаимодействии света и сетчатки был трактат «Hypothesis Concerning Light and Colors» Исаака Ньютона, написанный между 1670-1675 гг. У Ньютона была теория, что свет с различными длинами волн приводил к резонансу сетчатки с теми же частотами; эти колебания затем передавались через оптический нерв в «сенсориум».


«Лучи света, падая на дно глаза, возбуждают колебания в сетчатке, которые распространяются по волокнам оптических нервов в мозг, создавая чувство зрения. Разные типы лучей создают колебания разной силы, которые согласно своей силе возбуждают ощущения разных цветов…»

Больше чем через сотню лет Томас Юнг пришёл к выводу, что так как частота резонанса - это свойство, зависящее от системы, то чтобы поглотить свет всех частот, в сетчатке должно быть бесконечное количество разных резонансных систем. Юнг посчитал это маловероятным, и рассудил, что количество ограничено одной системой для красного, жёлтого и синего. Эти цвета традиционно использовались в субтрактивном смешивании красок. По его собственным словам :

Поскольку по причинам, указанным Ньютоном, возможно, что движение сетчатки имеет скорее колебательную, чем волновую природу, частота колебаний должна зависеть от строения её вещества. Так как почти невозможно полагать, что каждая чувствительная точка сетчатки содержит бесконечное количество частиц, каждая из которых способна колебаться в идеальном согласии с любой возможной волной, становится необходимым предположить, что количество ограничено, например, тремя основными цветами: красным, жёлтым и синим…
Предположение Юнга относительно сетчатки было неверным, но он сделал правильный вывод: в глазе существует конечное количество типов клеток.

В 1850 году Герман Гельмгольц первым получил экспериментальное доказательство теории Юнга. Гельмгольц попросил испытуемого сопоставить цвета различных образцов источников света, регулируя яркость нескольких монохромных источников света. Он пришёл к выводу, что для сопоставления всех образцов необходимо и достаточно трёх источников света: в красной, зелёной и синей части спектра.

Рождение современной колориметрии

Перенесёмся в начало 1930-х. К тому времени научное сообщество имело достаточно хорошее представление о внутренней работе глаза. (Хотя потребовалось ещё 20 лет, чтобы Джорджу Уолду удалось экспериментально подтвердить присутствие и функции родопсинов в колбочках сетчатки. Это открытие привело его к Нобелевской премии по медицине в 1967 году.) Commission Internationale de L"Eclairage (Меж­ду­на­род­ная комиссия по освещению), CIE, поставила задачу по созданию исчерпывающей количественной оценки восприятия цвета человеком. Количественная оценка была основана на экспериментальных данных, собранных Уильямом Дэвидом Райтом и Джоном Гилдом при параметрах, схожих с выбранными впервые Германом Гельмгольцем. Базовыми настройками были выбраны 435,8 нм для синего цвета, 546,1 нм для зелёного и 700 нм для красного.


Экспериментальная установка Джона Гилда, три ручки регулируют основные цвета

Из-за значительного наложения чувствительности колбочек M и L невозможно было сопоставить некоторые длины волн с сине-зелёной частью спектра. Для «сопоставления» этих цветов в качестве точки отсчёта нужно было добавить немного основного красного цвета:

Если мы на мгновение представим, что все основные цвета вносят отрицательный вклад, то уравнение можно переписать так:

Результатом экспериментов стала таблица RGB-триад для каждой длины волны, что отображалось на графике следующим образом:


Функции сопоставления цветов RGB по CIE 1931

Разумеется, цвета с отрицательным красным компонентом невозможно отобразить с помощью основных цветов CIE.

Теперь мы можем найти трихромные коэффициенты для света распределения спектральной интенсивности S как следующее внутреннее произведение:

Может казаться очевидным, что чувствительность к различным длинам волн можно проинтегрировать таким образом, но на самом деле она зависит от физической чувствительности глаза, линейной по отношению к чувствительности к длинам волн. Это было эмпирически подтверждено в 1853 году Германом Грассманом, и представленные выше интегралы в современной формулировке известны нам как закон Грассмана.

Термин «цветовое пространство» возник потому, что основные цвета (красный, зелёный и синий) можно считать базисом векторного пространства. В этом пространстве различные цвета, воспринимаемые человеком, представлены лучами, исходящими из источника. Современное определение векторного пространства введено в 1888 году Джузеппе Пеано, но более чем за 30 лет до этого Джеймс Клерк Максвелл уже использовал только зародившиеся теории того, что позже стало линейной алгеброй, для формального описания трихроматической цветовой системы.

CIE решила, что для упрощения вычислений будет более удобно работать с цветовым пространством, в которой коэффициенты основных цветов всегда положительны. Три новых основных цвета выражались в координатах цветового пространства RGB следующим образом:

Этот новый набор основных цветов невозможно реализовать в физическом мире. Это просто математический инструмент, упрощающий работу с цветовым пространством. Кроме того, чтобы коэффициенты основных цветов всегда были положительными, новое пространство скомпоновано таким образом, что коэффициент цвета Y соответствует воспринимаемой яркости. Этот компонент известен как яркость CIE (подробнее о ней можно почитать в замечательной статье Color FAQ Чарльза Пойнтона (Charles Poynton)).

Чтобы упростить визуализацию итогового цветового пространства, мы выполним последнее преобразование. Разделив каждый компонент на сумму компонентов мы получим безразмерную величину цвета, не зависящую от его яркости:

Координаты x и y известны как координаты цветности, и вместе с яркостью Y CIE они составляют цветовое пространство xyY CIE. Если мы расположим на графике координаты цветности всех цветов с заданной яркостью, у нас получится следующая диаграмма, которая вам наверно знакома:


Диаграмма xyY CIE 1931

И последнее, что нужно узнать - что считается белым цветом цветового пространства. В такой системе отображения белый цвет - это координаты x и y цвета, которые получаются, когда все коэффициенты основных цветов RGB равны между собой.

С течением времени появилось несколько новых цветовых пространств, которые в различных аспектах вносили улучшения в пространства CIE 1931. Несмотря на это, система xyY CIE остаётся самым популярным цветовым пространством, описывающим свойства устройств отображения.

Передаточные функции

Прежде чем рассматривать видеостандарты, необходимо ввести и объяснить ещё две концепции.

Оптико-электронная передаточная функция

Оптико-электронная передаточная функция (optical-electronic transfer function, OETF) определяет то, как линейный свет, фиксируемый устройством (камерой) должен кодироваться в сигнале, т.е. это функция формы:

Раньше V был аналоговым сигналом, но сейчас, разумеется, он имеет цифровое кодирование. Обычно разработчики игр редко сталкиваются с OETF. Один из примеров, в котором функция будет важна: необходимость сочетания в игре видеозаписи с компьютерной графикой. В этом случае необходимо знать, с какой OETF было записано видео, чтобы восстановить линейный свет и правильно смешать его с компьютерным изображением.

Электронно-оптическая передаточная функция

Электронно-оптическая передаточная функция (electronic-optical transfer, EOTF) выполняет противоположную OETF задачу, т.е. она определяет, как сигнал будет преобразован в линейный свет:

Эта функция более важна для разработчиков игр, потому что она определяет, как созданный ими контент будет отображаться экранах телевизоров и мониторов пользователей.

Отношение между EOTF и OETF

Понятия EOTF и OETF хоть и взаимосвязаны, но служат разным целям. OETF нужна для представления захваченной сцены, из которого мы потом можем реконструировать исходное линейное освещение (это представление концептуально является буфером кадра HDR (High Dynamic Range) обычной игры). Что происходит на этапах производства обычного фильма:
  • Захват данных сцены
  • Инвертирование OETF для восстановления значений линейного освещения
  • Цветокоррекция
  • Мастеринг под различные целевые форматы (DCI-P3, Rec. 709, HDR10, Dolby Vision и т.д.):
    • Уменьшение динамического диапазона материала для соответствия динамическому диапазону целевого формата (тональная компрессия)
    • Преобразование в цветовой пространство целевого формата
    • Инвертирование EOTF для материала (при использовании EOTF в устройстве отображения изображение восстанавливается как нужно).
Подробное обсуждение этого техпроцесса не войдёт в нашу статью, но я рекомендую изучить подробное формализованное описание рабочего процесса ACES (Academy Color Encoding System).

До текущего момента стандартный техпроцесс игры выглядел следующим образом:

  • Рендеринг
  • Буфер кадра HDR
  • Тональная коррекция
  • Инвертирование EOTF для предполагаемого устройства отображения (обычно sRGB)
  • Цветокоррекция
В большинстве игровых движков используется метод цветокоррекции, популяризованный презентацией Нэти Хофмана (Naty Hoffman) «Color Enhancement for Videogames» с Siggraph 2010. Этот метод был практичен, когда использовался только целевой SDR (Standard Dynamic Range), и он позволял использовать для цветокоррекции ПО, уже установленное на компьютерах большинства художников, например Adobe Photoshop.


Стандартный рабочий процесс цветокоррекции SDR (изображение принадлежит Джонатану Блоу (Jonathan Blow))

После внедрения HDR большинство игр начало двигаться к техпроцессу, похожему на используемый в производстве фильмов. Даже при отсутствии HDR схожий с кинематографическим техпроцесс позволял оптимизировать работу. Выполнение цветокоррекции в HDR означает, что у вас есть целый динамический диапазон сцены. Кроме того, становятся возможными некоторые эффекты, которые раньше были недоступны.

Теперь мы готовы рассмотреть различные стандарты, используемые в настоящее время для описания форматов телевизоров.

Видеостандарты

Rec. 709

Большинство стандартов, относящихся к вещанию видеосигналов, выпущено Меж­ду­на­род­ным союзом элект­рос­вя­зи (International Telecommunication Union, ITU), органом ООН, в основном занимающимся информационными технологиями.

Рекомендация ITU-R BT.709 , которую чаще называют Rec. 709 - это стандарт, описывающий свойства HDTV. Первая версия стандарта была выпущена в 1990 году, последняя - в июне 2015 года. В стандарте описываются такие параметры, как соотношения сторон, разрешения, частота кадров. С этими характеристиками знакомо большинство людей, поэтому я не буду рассматривать их и сосредоточусь на разделах стандарта, касающихся воспроизведения цвета и яркости.

В стандарте подробно описана цветность, ограниченная цветовым пространством xyY CIE. Красный, зелёный и синий источники освещения соответствующего стандарту дисплея должны быть выбраны таким образом, чтобы их отдельные координаты цветности были следующими:

Их относительная интенсивность должна быть настроена таким образом, чтобы белая точка имела цветность

(Эта белая точка также известна как CIE Standard Illuminant D65 и аналогична захвату координат цветности распределения спектральной интенсивности обычного дневного освещения.)

Свойства цветности можно визуально представить следующим образом:


Охват Rec. 709

Область схемы цветности, ограниченная треугольником, созданным основными цветами заданной системы отображения, называется охватом.

Теперь мы переходим к части стандарта, посвящённой яркости, и здесь всё становится немного сложнее. В стандарте указано, что «Общая оптико-электронная передаточная характеристика в источнике» равна:

Здесь есть две проблемы:

  1. Не существует спецификации о том, чему соответствует физическая яркость L = 1
  2. Несмотря на то, что это стандарт вещания видео, в нём не указана EOTF
Так получилось исторически, потому что считалось, что устройство отображения, т.е. телевизор потребителя и есть EOTF. На практике это осуществлялось корректировкой диапазона захваченной яркости в вышеприведённой OETF, чтобы изображение выглядело хорошо на эталонном мониторе со следующей EOTF:

Где L = 1 соответствует яркость примерно 100 кд / м² (единицу кд / м² в этой отрасли называют «нит»). Это подтверждается ITU в последних версиях стандарта следующим комментарием:

В стандартной производственной практике функция кодирования источников изображения регулируется таким образом, чтобы конечное изображение имело требуемый вид, соответствующий видимому на эталонном мониторе. В качестве эталонной принимается функция декодирования из Рекомендации ITU-R BT.1886. Эталонная среда просмотра указана в Рекомендации ITU-R BT.2035.
Rec. 1886 - это результат работ по документации характеристик ЭЛТ-мониторов (стандарт опубликован в 2011 году), т.е. является формализацией существующей практики.


Кладбище слонов ЭЛТ

Нелинейность яркости как функции приложенного напряжения привела к тому, как физически устроены ЭЛТ-мониторы. По чистой случайности эта нелинейность (очень) приблизительно является инвертированной нелинейностью восприятия яркости человеком. Когда мы перешли к цифровому представлению сигналов, это привело к удачному эффекту равномерного распределения ошибки дискретизации по всему диапазону яркости.

Rec. 709 рассчитана на использование 8-битного или 10-битного кодирования. В большинстве контента используется 8-битное кодирование. Для него в стандарте указано, что распределение диапазона яркости сигнала должно распределяться в кодах 16-235.

HDR10

Что касается HDR-видео, то в нём есть два основных соперника: Dolby Vision и HDR10. В этой статье я сосредоточусь на HDR10, потому что это открытый стандарт, который быстрее стал популярным. Этот стандарт выбран для Xbox One S и PS4.

Мы снова начнём с рассмотрения используемой в HDR10 части цветности цветового пространства, определённой в Рекомендации ITU-R BT.2020 (UHDTV). В ней указаны следующие координаты цветности основных цветов:

И снова в качестве белой точки используется D65. При визуализации на схеме xy Rec. 2020 выглядит следующим образом:


Охват Rec. 2020

Очевидно заметно, что охват этого цветового пространства значительно больше, чем у Rec. 709.

Теперь мы переходим к разделу стандарта о яркости, и здесь снова всё становится более интересным. В своей кандидатской диссертации 1999 года “Contrast sensitivity of the human eye and its effect on image quality” («Контрастная чувствительность человеческого глаза и её влияние на качество изображения») Питер Бартен представил немного пугающее уравнение:

(Многие переменные этого уравнения сами по себе являются сложными уравнениями, например, яркость скрывается внутри уравнений, вычисляющих E и M).

Уравнение определяет, насколько чувствителен глаз к изменению контрастности при различной яркости, а различные параметры определяют условия просмотра и некоторые свойства наблюдателя. «Минимальная различаемая разница» (Just Noticeable Difference, JND) обратна уравнению Бартена, поэтому для дискретизации EOTF, чтобы избавиться от привязки к условиям просмотра, должно быть верно следующее:

Общество инженеров кино и телевидения (Society of Motion Picture and Television Engineers, SMPTE) решило, что уравнение Бартена будет хорошей основой для новой EOTF. Результатом стало то, что мы сейчас называем SMPTE ST 2084 или Perceptual Quantizer (PQ).

PQ был создан выбором консервативных значений для параметров уравнения Бартена, т.е. ожидаемых типичных условий просмотра потребителем. Позже PQ был определён как дискретизация, которая при заданном диапазоне яркости и количестве сэмплов наиболее точно соответствует уравнению Бартена с выбранными параметрами.

Дискретизированные значения EOTF можно найти с помощью следующей рекуррентной формулы нахождения k < 1 . Последним значением дискретизации будет являться необходимая максимальная яркость:

Для максимальной яркости в 10 000 нит с использованием 12-битной дискретизации (которая используется в Dolby Vision) результат выглядит следующим образом:


EOTF PQ

Как можно заметить, дискретизация не занимает весь диапазон яркости.

В стандарте HDR10 тоже используется EOTF PQ, но с 10-битной дискретизацией. Этого недостаточно, чтобы оставаться ниже порога Бартена в диапазоне яркости в 10 000 нит, но стандарт позволяет встраивать в сигнал метаданные для динамической регуляции пиковой яркости. Вот как 10-битная дискретизация PQ выглядит для разных диапазонов яркости:


Разные EOTF HDR10

Но даже так яркость немного выше порога Бартена. Однако ситуация не настолько плоха, как это может показаться из графика, потому что:

  1. Кривая логарифмическая, поэтому относительная погрешность на самом деле не так велика
  2. Не стоит забывать, что параметры, взятые для создания порога Бартена, выбраны консервативно.
На момент написания статьи телевизоры с HDR10, представленные на рынке, обычно имеют пиковую яркость 1000-1500 нит, и для них достаточно 10 бит. Стоит также заметить, что изготовители телевизоров могут сами решать, что им делать с яркостями выше диапазона, который они могут отображать. Некоторые придерживаются подхода с жёсткой обрезкой, другие - с более мягкой.

Вот пример того, как выглядит 8-битная дискретизация Rec. 709 с пиковой яркостью 100 нит:


EOTF Rec. 709 (16-235)

Как можно видеть, мы намного выше порога Бартена, и, что важно, даже самые неразборчивые покупатели будут настраивать свои телевизоры на значительно большие 100 нит пиковые яркости (обычно на 250-400 нит), что поднимет кривую Rec. 709 ещё выше.

В заключение

Одно из самых больших различий между Rec. 709 и HDR в том, что яркость последнего указывается в абсолютных значениях. Теоретически это означает, что контент, предназначенный для HDR, будет выглядеть одинаково на всех совместимых телевизорах. По крайней мере, до их пиковой яркости.

Существует популярное заблуждение, что HDR-контент в целом будет ярче, но в общем случае это не так. HDR-фильмы чаще всего будут изготавливаться таким образом, чтобы средний уровень яркости изображения был тем же, что и для Rec. 709, но так, чтобы самые яркие участки изображения были более яркими и детальными, а значит, средние тона и тени будут более тёмными. В сочетании с абсолютными значениями яркости HDR это означает, что для оптимального просмотра HDR нужны хорошие условия: при ярком освещении зрачок сужается, а значит, детали на тёмных участках изображения будет сложнее разглядеть.