Какова цель гамма-коррекции на современных экранах и как она связана с графикой и фотографией?

15

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

Из многих источников, в основном http://www.guillermoluijk.com/article/gamma/index.htm и вопроса # 23026151 в StackOverflow (Нужно ли гамма-коррекцию для окончательного вывода цвета на современном компьютере / мониторе?) , Я ' Мы пришли к выводу, что:

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

Современные экраны , однако, не страдают от потери сигнала, как ЭЛТ. Они также могут демонстрировать некоторые нелинейности, но, учитывая, что входной сигнал чаще всего переносится только 8 битами на канал (256 оттенков), они должны быть в состоянии компенсировать некоторые нелинейности в своей цветопередаче сами, поскольку они, вероятно, способны воспроизведения более 256 оттенков в одном канале. Это будет означать, что гамма-коррекция вместе с sRGB и всеми гамма-скорректированными цветовыми пространствами - это просто наследие эпохи CRT, и ее единственная цель состояла в том, чтобы отображать входной сигнал линейно.

Есть также статьи, утверждающие, что гамма-коррекция здесь, чтобы компенсировать нелинейность человеческого зрения(CambridgeInColour.com - Понимание гамма-коррекции), которое должно приблизительно соответствовать гамма-кривой, поскольку мы способны обнаруживать небольшие различия в более темных оттенках, но не так хорошо с более яркими (яркость точки должна расти экспоненциально, чтобы она выглядеть ярче). Это не то, как датчики камеры записывают сцену. Необработанные данные с датчика получают в линейном RGB и преобразуют в цветовое пространство RGB с гамма-коррекцией (тени поднимаются, а свет затемняются). Гамма-коррекция должна была компенсировать потерю выходного сигнала, поэтому я считаю, что современные экраны просто имитируют поведение ЭЛТ, чтобы отменить гамма-коррекцию и отображать сцену так же, как она была захвачена камерой - грубо говоря, отображая камеру Оттенки 1: 1 на экране. Что ж,

Означает ли это, что каждый оттенок в любом цветовом пространстве RGB должен иметь одинаковые значения RGB во всех остальных пространствах RGB, включая линейный RGB (например, # 010A1F в sRGB точно переводит в # 010A1F в линейном RGB с точки зрения хранения в растровом файле с 8bpc) и только от экрана и графического адаптера они организуют передачу цвета и должна ли какая-либо из сторон выполнять какие-либо дополнительные пересчеты для преобразования изображения в цветовое пространство назначения? Другими словами, изменение цветового пространства в графическом редакторе фактически не имеет ничего общего с самими значениями RGB, только принимает к сведению новое цветовое пространство в метаданных изображения? Я полагаю, что это не так, потому что управление цветом как таковое было бы бесполезным при использовании цифрового графического адаптера / интерфейса экрана - графический адаптер мог просто отправлять простые данные RGB независимо от используемого цветового пространства, поскольку аналоговое усиление (гамма) не было бы применяется к значениям, которые идут по линейной шкале от 0 до 255. Кроме того, гамма различных цветовых профилей была бы одинаковой, если бы не было ошибок округления, или?

Последнее недоразумение, возможно, связано с неправильным пониманием преобразования цветового профиля и таблицей уровней воздействия (первой) в статье http://www.guillermoluijk.com/article/superhdr/index.htm (можно перевести с помощью Переводчик Google). Правильно ли я понимаю, что линейные значения преобразуются с помощью экспоненциальной функции (или обратной гаммы), сужая тональный диапазон в сторону теней и, таким образом, затемняя изображение? Это происходит, если мы сохраним линейный RGB и представим его как изображение с гамма-коррекцией на экране компьютера?

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

Kyselejsyreček
источник
4
Вы можете попытаться сжать этот вопрос. Хотя все еще возможно ответить на него только из названия, я думаю, что редактирование было бы хорошим способом помочь вам понять тему самостоятельно.
JenSCDC
1
Я начинаю работать над ответом, в немалой степени, потому что я осознал, что многое забыл, и ответ на чей-то вопрос - хороший способ переучить его.
JenSCDC
Основная причина - просто обратная совместимость. Вы хотите иметь возможность использовать один и тот же компьютер и одно и то же программное обеспечение со старыми ЭЛТ-мониторами и современными ЖК-мониторами. Программное обеспечение продолжает делать то же самое, что и в прежние времена: оно создает изображения в цветовом пространстве sRGB. Это, конечно, включает в себя обычную гамма-коррекцию. Тогда старые мониторы CRT будут использовать изображения как есть, в то время как современные дисплеи будут в основном «отменять» преобразование из линейного цветового пространства в цветовое пространство sRGB.
Юкка Суомела
И как это относится к фотографии: при наличии правильных инструментов это не так. Гамма-коррекция (и в более общем случае преобразования между различными цветовыми пространствами) происходит автоматически; обычные пользователи не должны видеть его вообще. Это просто техническая составляющая, о которой должны знать компьютерные программисты, но конечным пользователям вообще не нужно об этом знать. (Если, конечно, вы явно не хотите вводить что-то вроде шестнадцатеричных значений цвета в цветовом пространстве sRGB, и в этом случае вы, скорее всего, знаете, что делаете.)
Юкка Суомела,

Ответы:

10

от Чарльза Пойнтона "Реабилитация гамма" :

Заблуждение . Нелинейность ЭЛТ-монитора - это дефект, который необходимо исправить.

Факт: Нелинейность ЭЛТ почти противоположна чувствительности человеческого зрения к легкости. Нелинейность приводит к тому, что отклик ЭЛТ примерно одинаков для восприятия. Эта функция весьма желательна, но не является дефектом.

Заблуждение . Основная цель гамма-коррекции - компенсировать нелинейность ЭЛТ.

Факт: Основная цель гамма-коррекции в видео, настольной графике, допечатной подготовке, JPEG и MPEG состоит в кодировании значений яркости или трехцветного сигнала (пропорциональных интенсивности) в единообразную для восприятия область, чтобы оптимизировать воспринимаемую производительность ограниченного числа бит в каждом компоненте RGB (или CMYK).

остальная часть статьи тоже очень поучительная :)

szulat
источник
Сцена в Природе находится в линейной гамме и должна быть представлена ​​на экране или на бумаге таким же образом, с небольшим увеличением гаммы, чтобы компенсировать вспышку - обычно гамма 1.1 или 1.2.
Илья Борг
1
Докторская диссертация доктора Пойнтона теперь онлайн: poynton.ca/PDFs/Poynton-2018-PhD.pdf . В главах 3 и 4 рассматриваются классические кривые, в главе 8 представлена ​​OETF «Barten Lightness», которая имеет ту же форму, что и кривая Dolby PQ (SMPTE-2084). На верхнем уровне шкалы он плавно превращается из гаммы в кривую логарифма, что мы и ожидали. Вся книга очень поучительна!
Йерун ван Дуйн
7

Рассмотрим этот пример из Кембриджа в цвете :

введите описание изображения здесь

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

Это достигается за счет использования 32 уровней, которые более точно соответствуют человеческому глазу. Другими словами, это форма сжатия. Например, JPEG-файлы могут хранить около 11 остановок динамического диапазона, несмотря на использование только 8 бит на канал.

И, как и любая другая форма сжатия, не имеет значения, если вам не важен размер файла (и более низкая скорость, с которой вы можете читать или записывать файлы большего размера). Теоретически вы можете использовать JPEG-подобный формат, в котором используется линейная гамма, если вы хотите выделить 11 бит для каждого канала, а не 8.

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

Ваддади Картик
источник
7

Я бывший инженер радиовещания, и в настоящее время я работаю в художественных фильмах и на телевидении в качестве редактора и руководителя VFX.

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

Все вакуумные трубки, включая ЭЛТ, имеют различную нелинейность (см. Закон Ленгмюра-Дитя). ЭЛТ могут варьироваться от «гаммы» от 1,5 до 3,5 (при воздействии сигнала напряжения) в зависимости от различных конструктивных различий. Нелинейности были менее важны для монохрома, но стали более критичными для цвета, поэтому NTSC указал гамма сигнала 1 / 2.2. Конструкция ЭЛТ и поддерживающие схемы корректируют фактическую гамму по закону Ленгмюра-Дитя (обычно понимаемому как 1,5, но обычно выше у ЭЛТ из-за ряда факторов) до уровня, соответствующего "гамма" восприятия человека ~ 2,5. Для NTSC предполагалось, что телевизионный приемник имеет гамма-цель ~ 2,4, ** в то время как PAL показывает ~ 2,8

Более высокая гамма в старых стандартах аналогового вещательного сигнала специально предназначена для уменьшения воспринимаемого шума, основанного на нелинейности человеческого восприятия. В этом случае использования преимуществ нелинейности, чтобы скрыть шум, благодаря эффекту «компандирования» гамма-кодирования сигнала. Это довольно академично.

Существует несколько способов, которыми дизайн CRT TV & Monitor мог бы быть изменен для достижения линейности, в отличие от кривой гамма-типа, но гамма-кривая в аналоговом радиовещании уменьшила видимый шум на 30 дБ. Гамма была желательна тогда как сейчас .

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

Гамма - это то, что позволяет sRGB (или Rec709) выглядеть «хорошо», хотя битовая глубина составляет всего 8 бит на канал. Вот пример:

Это изображение в 8-битном sRGB с гамма-предыскажениями (т. Е. Обычное веб-изображение). обычный

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

Гамма обеспечивает БОЛЬШЕ БИТОВ в темных областях для более плавных градиентов и снижения уровня шума.

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

В фильме мы используем линейное в качестве рабочего пространства , но при работе с линейным мы находимся в 32-битной на канал с плавающей точкой . Когда мы обмениваемся файлами линейных изображений, мы используем EXR Half, что составляет 16 бит на канал с плавающей точкой. (И если мы используем 10-битные файлы DPX, данные изображения кодируются с использованием кривой LOG).

НО

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

Большинство «хороших» мониторов имеют всего 8 бит на канал, а многие просто «6-битные внутренние», что означает, что они берут 8 бит на канал и отображают как 6 бит на канал. Как они могут сделать приемлемый образ?

ГАММА!

Мониторы по 10 бит на канал редки и дороги (как мой NEX PA271W). Мой NEC может принимать 10-битный сигнал и использует 14-битную внутреннюю LUT для профилирования. Но 10 битов по-прежнему недостаточно для линейного!

Гамма или некоторая форма кривой preemph / deemph требуется даже для 10 бит. 12 бит - это минимум для разумного линейного показа, и даже это неприемлемо для индустрии художественных фильмов.

Мы используем 12-битные проекторы для DCDM (Digital Cinema) и знаете что? Мало того, что DCDM использует CIE X´Y´Z´, мы также используем гамму проектора 2,6 !!!

DCI был создан для театров и представляет собой собственную закрытую экосистему, не опирающуюся на старые технологии, такие как CRT. Если бы было какое-то «преимущество» в использовании линейного (гамма 1.0) пространства, оно было бы использовано, но это не так.

Линейный НЕ используется в цифровом кино, потому что ADVANTAGE использует гамма-кривую .

Поэтому, пожалуйста, перестаньте говорить, что мы используем гамму только по наследственным причинам, потому что это неверно.

Пожалуйста, прочтите Пойнтон по этому вопросу , поскольку он разъясняет эти вопросы в понятной форме.

Спасибо за чтение.

Сноска: ** В то время как NTSC указано сигнал гамма 1 / 2.2, телевизоры были ожидать иметь гамма 2,4 для системы гамма - усиления. Полезно отметить, что Rec709 (HDTV) и sRGB идентичны, за исключением кривой передачи. И что интересно, Rec709 (через BT1886) задает «физическую гамму дисплея» 2,4 (т.е. гамму самого монитора), а мониторы sRGB обычно устанавливаются на 2,4 или выше (опросы показывают, что большинство пользователей устанавливают их на уровне 2,5 и выше). Но гамма сигнала отличается, ок. 1 / 2,2 для sRGB и приблизительно 1 / 2,0 для Rec709. в обоих случаях имеется системное усиление гаммы, которое преднамеренно основано на ожидаемой среде просмотра.

Myndex
источник
Я всегда удивлялся, почему аудиоиндустрия не использует тот же подход, а вместо этого выбрасывает 16+ бит на сэмпл ...
Зевс
Привет @ Зевс, есть несколько причин (если ты задаешь это как вопрос, я могу дать более глубокий ответ). По сути, даже в 16 или 24 бит аудио потоки имеют гораздо меньшую полосу пропускания, чем видео (в общем), и вычислительно легче обрабатывать. Тем не менее, аудио ДЕЛАЕТ эти типы предварительного выделения и уменьшения выделения во многих случаях (особенно с низкой скоростью передачи битов). И на самом деле слух также является нелинейным (как и все восприятие), но 8-битное аудио «вроде» как 4-битное на канал видео. Помните, что для 8-битного видео используется 24 бит на пиксель, поэтому сравнение с 16-битным аудио - это яблоки / апельсины.
Myndex
Спасибо @Myndex, к сожалению, это было бы не по теме здесь как вопрос. Мне просто любопытно, почему такой предварительный / лишний акцент не использовался для аудио с самого начала, учитывая, что это так же естественно для слуха, как и для зрения. Кстати, я имел в виду 16 бит на канал, конечно (как на CD); линейный 8-битный звук (который формально существует), возможно, более ужасен, чем линейный 8-битный звук из вашего примера (который даже не существует в качестве стандарта). Я понимаю, что компромиссы ниже, но преимущества высоки: потеря половины разрешения каждые 3 дБ кажется безумной ...
Зевс
Я думаю, что есть сайт, связанный с обменом стека, который будет приветствовать аудио вопросы. Независимо от этого: каждый бит в 16-битном аудио равен 6 дБ (напряжению), поэтому общий динамический диапазон составляет 96 дБ. 6 дБ (напряжение) «вдвое» (или наполовину) громче напряжения, но люди склонны воспринимать 10 дБ как буквальную «половину громкости». Pre / De emph используется в аудио с самого начала. Записи имели кривую RIAA, магнитная лента использовала кривую NAB и т. Д. И т. Д. Что вы имеете в виду, теряя половину разрешения каждые 3 дБ ???
Myndex
В линейном цифровом кодировании половина напряжения равна половине цифрового диапазона (по определению), то есть потеря 1 бита разрешения. Это много для чего-то, что воспринимается как «немного мягче» (-6 дБ, это цифра, которую я имел в виду, а не 3). Если мы хотим захватить требуемые ~ 35 дБ как минимум (для речи или оркестра), это уже 6-битная потеря для самых тихих звуков (и даже тогда, если должным образом нормализовано). Я знаю об «аналоговом» акценте (который был немного другим и частотно-зависимым), но я никогда не слышал об одном, используемом для цифровых технологий, поэтому мои вопросы ...
Зевс
3

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

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

Геккон Бой
источник
1

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

Гамма делается только для исправления серьезных потерь ЭЛТ-мониторов. ЭЛТ нелинейный, он показывает яркие тона, но теряет более темные тона. Таким образом, гамма делает темные тона чрезмерно яркими, чтобы, как мы надеемся, они снова стали нормальными (линейными) после потерь ЭЛТ. Тем не менее, ЖК-мониторы являются линейными, и поэтому больше не нуждаются в гамме, но для сохранения совместимости со всеми старыми изображениями RGB в мире все стандарты по-прежнему включают одну и ту же гамму. ЖК-мониторам легко просто декодировать и отбрасывать их. И данные все еще работают на ЭЛТ.

Гамма ни в коем случае не касается человеческого глаза ... кроме того, что мы хотим видеть исправленные линейные исходные данные. Глаз действительно имеет подобный обратный отклик, который является чисто случайным, но человеческий глаз НИКОГДА не видит гамма-данные. Он всегда сначала декодируется (либо с помощью потерь на ЭЛТ, либо с помощью ЖК-чипа), и человеческий глаз снова видит только линейные данные (надеюсь). Так же, как он видел исходную сцену, на исходной сцене тоже не было необходимости в гамме. Глаз не нуждается в помощи. Выйдите на улицу и посмотрите на дерево. Там нет гаммы там. Действительно ли мы воображаем, что наш глаз не может хорошо видеть дерево? :) Подумайте об этом немного больше. Мозг декодирует реакцию глаз, а ЭЛТ или ЖК-дисплей декодирует кодирование данных. Те, кто утверждает, что гамма - это глаза, просто не знают, они просто повторяют неправильные вещи, которые они слышали. Это не сложно услышать, но это очень неправильно. Эти парни должны объяснить, когда и как человеческий глаз может когда-либо видеть ту гамму, которую они считают необходимой. Не может, у него нет шансов.

Гамма не составляет около 8 бит. Данные кодируются, а затем декодируются, и, будем надеяться, будут идентичны, чтобы мы могли видеть точное воспроизведение исходной линейной сцены. Гамма была сделана еще в начале NTSC TV (1940), прежде чем были какие-то биты, но у нас был ЭЛТ. :) Гамма - это только потери ЭЛТ. Чисто и просто. И еще в день ЭЛТ, гамма была крайне необходима.

Данные RGB нормализуются (до значений в 0,1 процента) перед добавлением гаммы, как правило, с показателем степени 1 / 2,2 (приблизительный квадратный корень). 18% - это (0,18 ^ 1 / 2,2) = 0,46, или 46% на гистограмме, или 117 на шкале 0..255. (Люди изображают, что 18% также должны составлять 50%. :) 18% - это 18%, но мы видим почти 50%, только потому, что данные гистограммы имеют гамма-кодировку.) Но обратите внимание, что 0 для любой экспоненты по-прежнему равен 0, а 1 для любой показатель все еще равен 1, поэтому динамический диапазон не увеличивается. И никакого отсечения из-за гаммы тоже, конечные точки не могут двигаться. И, конечно же, потому что данные декодируются до того, как их увидят. Все это (кодирование, затем декодирование) просто не работает. Надеюсь, глаз не изменится. Но в файлах нормализованные данные (представляющие собой ДИАПАЗОН) к показателю степени становятся большим числом, ярче, за исключением того, что ни один глаз не может увидеть их там.

Гамма делается ТОЛЬКО для коррекции отклика ЭЛТ-мониторов.

WayneF
источник
1

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

Гамма-коррекция в основном произошла из-за нелинейности электронной пушки ЭЛТ, которая требовала большего кодирования (т. Е. Применялась гамма-сигнал 45) для отправки однородного выхода (линейного выхода), поскольку характеристики электронной пушки ЭЛТ создают сигнал, как если бы он был декодирован (т. Е. 2,2-гамма Кривая применяется). В дни CRT они кодировали все цифровые данные для обеспечения единообразия просмотра и обмена данными в Интернете, чтобы форматы файлов изображений в основном кодировались с помощью гамма-кривой sRGB, которая очень похожа на гамма-кривую .45455), и это отменило проблему с ЭЛТ-оружием. ,

Теперь, после того как все данные в Интернете были закодированы, и из-за линейного поведения технологии LCD (т.е. входной сигнал = выходные значения) они обнаружили, что уже слишком поздно снова декодировать все цифровые данные после того, как они стали стандартом, поэтому они пришли с логичное решение! и имитировать дефект CRT снова, и они создали ЖК-дисплеи с микросхемой, которая декодирует сигнал (т.е. применяет кривую гаммы 2,2), как унаследованную систему :) в противном случае они должны были бы декодировать все данные в Интернете.

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

А вот и связь с Гаммой и нашими глазами

Данные линейных изображений, полученные с датчиков камеры. RAW Файлы, которые по умолчанию имеют гамму = 1,00 (характер датчика камеры), т. Е. (Без декодирования или кодирования = без коррекции), когда необработанные файлы «отображаются» на мониторе, они становятся темными, «видны только темные» и появляются 10 & 12 бит на канал - большие файлы, но, к сожалению, мы вообще не пользовались этой глубиной, потому что наши глаза не чувствительны к ярким значениям настолько, насколько они слишком чувствительны к темным значениям и могут различить любые незначительные изменения в темноте (и я буду объясни ниже)

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

Таким образом, они обнаружили, что применение гамма-коррекции (например, путем кодирования необработанных данных в некоторый формат, такой как JPEG, с гаммой .45455 sRGB) удачным преобразованием его в 8 бит на канал, что означает меньший размер файла в дополнение к правильному просмотру или отображению значений яркости. is (то есть с помощью записи гаммы .45455 в пиксели) и повторной установки темных и средних тонов) очень согласуется с природой глаза.

Я объясняю это тем, что у палочек в глазах есть способность к ночному зрению и слишком чувствительный характер различения темных значений >> у нас есть около 120 миллионов палочек против 6 или миллионов для клеток колбочек, которые чувствительны к монохроматическим цветам и Длины волн

Я думаю, что это не Кривая Реакции Глаза, которая ответственна за это, и не пытайтесь связать между Гаммой Глаза и Гаммой Монитора любым другим способом, и Пожалуйста, Исправьте меня, если я не прав :). Я изо всех сил пытался понять Гамма-проблемы, чтобы все, что у меня было об этом.

Это одно из лучших упоминаний о гамма-причинах и решениях

http://www.w3.org/TR/PNG-GammaAppendix.html

Ахмад Тантави
источник
0

Вот мой первый набросок ответа - я расскажу подробнее, как позволит время, но я хочу дать ОП своего рода ответы. Комментарии более чем приветствуются.

Вещи о ЭЛТ больше не применяются. Но есть очень хорошая практическая причина продолжать использовать изображения с гамма-кодированием. Использование гамма-кодирования делает редактирование, подобное кривым, «нормальным», потому что глаз не реагирует линейно, чтобы осмотреть создание пространства LAB, чтобы узнать больше.

Для примера посмотрите на этот скриншот:введите описание изображения здесь

Левое изображение - оригинал, среднее изображение - копия в гамме 2.2, а правое изображение - копия в гамме 1.0. Кривая, примененная к каждой копии, видна. Учитывая форму кривой, версия 2.2 или 1.0 выглядит так, как вы ожидаете?

JenSCDC
источник
0

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

Илья Борг
источник
-1

ЖК-мониторы являются «линейными» и сегодня не нуждаются в гамме, но ЭЛТ-мониторы являются нелинейными и по-прежнему нужны. И во всех мировых архивах существующих изображений есть гамма для ЭЛТ, поэтому гораздо проще продолжать добавлять гамму, чем менять все программное обеспечение и устаревать все существующие изображения.

Человеческий глаз абсолютно бесполезен для гаммы. Глаз видит исходную сцену нормально без гаммы. Гамма предназначена ТОЛЬКО для исправления ожидаемых потерь ЭЛТ-мониторов (поэтому мы видим воспроизведение оригинальной сцены). Светодиодные мониторы знают, что нужно просто декодировать гамму и отбрасывать ее, что не составляет особого труда (поскольку человеческий глаз ожидает увидеть точное воспроизведение исходных данных сцены без гаммы, воспроизведение должно выглядеть одинаково). Было бы плохо видеть это как гамма-данные. К счастью, человеческий глаз не имеет никакой возможности увидеть какие-либо гамма-данные. Сайты, говорящие нам, что глаз нуждается в гамме, просто не знают ничего о гамме.

Наши гистограммы, тем не менее, имеют гамма-кодирование, поскольку данные кодируются (по вышеуказанной причине) вплоть до того, как они будут показаны человеческому глазу. Средняя точка наших закодированных данных составляет не 50%, а около 73% в гамма-данных (настройки камеры, такие как баланс белого и контрастность, смещают его немного больше). Если вы недоэкспонируете изображение ровно на одну остановку, точка 255 сместится примерно до 3/4, а НЕ до 50%. Серая карта 18% составляет 18% в линейных данных, но около 46% в гамма-данных. Люди, которые ошибочно полагают, что они должны составлять 50%, могут даже подумать о калибровке своего экспонометра. :) Но глаз никогда не видит гамма-данные, они всегда сначала декодируются, так или иначе. Глаз, мы надеемся, всегда видит точное воспроизведение оригинальной сцены.

Но FWIW, принтеры тоже нуждаются в большей части изменения гаммы. Не значение 2.2, но не слишком далеко от него (из-за точечного усиления и т. Д.). Apple соблюдает мировые стандарты 2.2, но все мы знаем, что ранние компьютеры Mac использовали гамму 1.8. Это НЕ для монитора, они использовали те же мониторы, что и Windows (мониторы взаимозаменяемы). Но тогда Apple продавала лазерные принтеры, а гамма 1.8 была для их принтера. Затем видеооборудование Mac добавило немного больше, чтобы довести его до версии 2.2, которая требовалась для CRT. Сегодня принтеры должны немного снизить его по сравнению с данными, полученными в 2.2, но им все еще нужно много.

Сегодня стандартом является гамма 2.2, так что все существующие в мире данные RGB по-прежнему совместимы.

WayneF
источник
1
Светодиод имеет тип подсветки. Основной причиной гамма-коррекции НЕ является оптимизация для ЭЛТ, даже если это когда-либо было.
Euri Pinhollow