RGB
RGB: три значения, нормализованные в диапазоне [0.0,1.0], которые имеют значение интенсивности цветовых компонентов Red Green Blue; эта интенсивность подразумевается как линейная, не ?
Нет.Значения RGB являются бессмысленными числами, если не определена их связь с конкретным пространством / кодировкой.Они могут быть линейными, гамма-кодированными или лог-кодированными, или использовать составную кривую передачи, такую как спецификации Rec709 и sRGB.
Кроме того, они относятся к своим основным цветам и белой точке, как определено в цветовом пространстве, например,, # 00FF00 в sRGB - это цвет, отличный от # 00FF00 в DCI-P3.
Чтобы определить способ отображения значения пикселя RGB, вам нужен не только триплет RGB, но и его цветовое пространство.предназначен для, который должен включать в себя первичные координаты, белую точку и кривую передачи.
sRGB - это стандартное "стандартное" цветовое пространство RGB для Интернета и вычислений общего назначения.Это относится к Rec709, стандартному цветовому пространству для HDTV.
ГАММА, иначе ПЕРЕДАЧА ПЕРЕДАЧИ
Гамма.Насколько я понимаю, гамма - это функция, которая отображает цветовые компоненты RGB на другое значение.
Гамма изображения использует нелинейность человеческого восприятия, чтобы наилучшим образом использовать ограниченный размер данных.8 бит на канал изображения.Человеческий глаз более чувствителен к изменениям в более темных цветах, поэтому для определения более темных цветов в гамма-кодированном изображении используется больше битов.
Перед цифровым гамма также использовалась в системе вещания NTSC, которая подавляла видимоешум в сигнале, аналогично тому, как гамма изображения предотвращает появление «полосатых» артефактов на 8-битном изображении на канал.
Сначала я определю гамма-диаграмму.Как я мог это определить?(аналитически или с использованием справочных таблиц)
Гамма CURVE .Гамма-кривая sRGB легко доступна.Вот ссылка Википедии для перехода от sRGB к линейному.Вы также можете использовать «упрощенный» метод, который просто использует кривую степени 2.2:
linearVideo = sRGBvideo^2.2
и упрощенное обратное, чтобы вернуться к sRGB:
sRGBvideo = linearVideo^0.4545
Использование упрощенной версии приведет к появлению незначительных гамма-ошибок. Рекомендуется использовать «правильную» кривую для критических операций или в тех случаях, когда изображение будет многократно повторяться.
Есть еще однавопрос.Если гамма устройства отличается от «стандартной» версии 2.2, как мне «накапливать» различные гамма-коррекции?Я не знаю, ясно ли это: в случае, когда значения RGB изображения уже исправлены для монитора со значением гаммы 2,2, но у монитора есть гамма значения 2,8, как исправить гамму?
2,8 ???Что это за монитор?PAL?Это необычно - хотя в спецификации PAL сказано, что 2.8 не «практичен».Мониторы обычно составляют от 2,3 до 2,5 в зависимости от того, как они настроены.Когда вы настраиваете уровень черного и контраст (уровень белого), вы по сути настраиваете воспринимаемую гамму в соответствии с условиями просмотра (комнатное освещение).
Только FYI, в то время как sRGB "сигнал" имеет закодированную гамму 1/2.2, монитор обычно добавляет показатель степени около 1,1
. Для Rec709 кодированный сигнал имеет эффективную гамму около 1 / 1,9 иша, но монитор в эталонной среде просмотра составляет около 2,4
* 1056.* В обоих случаях имеется преднамеренное усиление гаммы системы.
Если вы хотели закодировать изображение с гаммой для дисплея 2,8, и вы не хотели усиления усиления гаммы системы, то показатель степени равен 1 / 2,8
«Самая высокая» гамма в общем использовании для цифрового кино (а также Rec2020), на уровне 2.6. Для тех из вас, кто думает PAL и 2.8, я рекомендую вам прочитать Пойнтон на эту тему:ЧТЕНИЕ
Часто задаваемые вопросы по гамме Чарльза Пойнтона легко читаются и полностью описывают эти проблемы и почему они важны в конвейере изображений. Также прочитайте его FAQ по цвету по той же ссылке.
Несколько слов о линейной и sRGB
Работа с изображениями в линейном рабочем пространстве, как правило, идеальна, поскольку она не только упрощает математику, но и излучает свет в реальном мире. Свет в мире работает линейно (аддитивно). Но если вы работаете в линейном режиме, вам нужна адекватная битовая глубина, а 8 бит недостаточно.
Человеческое восприятие НЕ линейно. Гамма-кодирование изображения использует преимущества нелинейности, чтобы максимально использовать 8-битные контейнеры изображения. Когда вы переводите в линейный режим, вам нужно больше битов. 12 бит на канал считается минимумом, но 16-битное число с плавающей запятой - это минимальный «рекомендуемый метод» для линейных рабочих пространств
Если используются текстуры в среде линейного рендеринга, эти текстуры необходимо преобразовать в линейное пространство (и часто более глубокую битовую глубину). Хотя добавленные биты увеличивают пропускную способность данных, упрощенная математика часто позволяет ускорить вычисления.
sRGB - это пространство DISPLAY REFERRED, оно предназначено для ЦЕЛЕЙ DISPLAY и для хранения изображений в компактном состоянии «готовность к отображению». Черный - это 0, а белый - 255, а кривая передачи близка к 1 / 2.2
.
sRGB основан на Rec709 (HDTV) и использует идентичные основные цвета и точку белого. Но кривая передачи и кодировка данных разные. Rec709 предназначен для отображения на более высоком гамма-мониторе в затемненной гостиной и кодирует черный в 16 и белый в 235.