Разрядность мониторов и регулировка цветовой температуры.

  • Автор темы Автор темы lygun
  • Дата начала Дата начала
Статус
Закрыто для дальнейших ответов.
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Ковыряюсь в HP DreamColor LP2480zx — там просто чума.

Из того что удалось понять (вообще, документация составлена необычайно толково, но вечер тяпницы традиционно накладывает ограничения на сообразительность моего и без того не шибко варящего котелка):
  • Подсветка из трёх независимых светодиодов RGB, то есть с истинным аппаратным изменением белой точки. Разрядность управления R/G/B-интенсивностью не указывается, но, думаю, это и не важно. Плюс, такое впечатление, там неявно применяется стабилизация яркости: это не значит, что она действительно стабильна, — это значит, что меняется рывками и волнообразно.
  • ЖК-матрица (IPS) сама по себе управляется 10-битным контроллером.
  • Поддерживается 10-битный входной сигнал через HDMI и DisplayPort. Нечто невнятное упоминается относительно превращения 8-битного сигнала в 10-битный путём дайзеринга: вроде оно возможно, но обычно заблокировано, причём заблокировано якобы не на входном каскаде, а между последней LUT и собственно контроллером матрицы.
  • Термин «последняя LUT» употреблён не случайно: тут их как минимум две. Я пока так и не понял принципа работы в нативном режиме — руководство описывает только схему эмуляции чужого охвата:
    1. Входной сигнал попадает на 12-битную pre-LUT (3 одномерных таблицы по 1024 элемента с разрядностью 12 бит), которая превращает гамма-кодированные значения в линейные. То есть, к примеру, если монитор эмулирует Adobe RGB, и компьютер посылает на него стандартные RGB-данные в расчёте на Adobe RGB, то pre-LUT выполняет гамма-декодирование из 2,2 в 1,0.
    2. Далее происходит матричное преобразование 3×3 из линейных RGB-координат эмулируемого дисплея в родные линейные координаты самого монитора. Здесь тоже используется 12-битное представление.
    3. Наконец линейные значения приобретают необходимую передаточную характеристику с помощью post-LUT. На схеме она изображена, как и pre-LUT, в виде трёх 12-битных таблиц на 1024 элемента каждая. По-моему, что-то тут не стыкуется: ведь ей на вход подаётся 12 бит, а дальше на контроллер ЖК-матрицы должно уходить 10 бит. Возможно, на самом деле там 4096 элементов, которые либо 10-битные, либо 12-битные с игнорируемыми младшими разрядами.
    4. На схеме ещё указана некая гамма-коррекция в контроллере ЖК-матрицы — как «вещь в себе». Возможно, в данном мониторе это чисто технологическая коррекция, то есть не связанная с настройкой изображения из меню. Дело в том, что никакой настройки там не предусмотрено — совсем-совсем. Регулируется только интенсивность и цветовой баланс подсветки, а также уровень чёрного. Впрочем, что-то типа Hue / Saturation всё же настраивается для «телевизионных» сигналов, в том числе поступающих и через HDMI / DisplayPort; но подобная коррекция скорее уж будет выполняться через колориметрию, чем через низкоуровневый контроллер матрицы.
  • Учитывая непонятки с post-LUT, мне не хватило фантазии, чтобы представить себе порядок работы в нативном режиме. То ли там ещё одна LUT имеется для этого случая (когда не требуется колориметрическое преобразование), то ли используется pre-LUT или post-LUT, то ли обе они вместе (просто чтобы согласовать [10-12] с [12-10]).
Но самое главное, что непонятно — зачем же всё-таки нужны эти 10 бит.

Повторю ранее высказанный тезис, что даже с 8-битным представлением, даже при высокой насыщенности цветов из-за применения светодиодной подсветки, разница между соседними градациями не превышает 0,3–0,7 dE76 на интервале 100–255 и составляет максимум 1,0–1,6 dE76 в районе 30-й градации (реальная зрительная различимость в тенях, думаю, ниже; да и многие ли способны заметить менее 2 dE76?). Другое дело, что мы теряем часть доступных градаций при калибровке через видеокарту, которая так или иначе ограничена 8-битным цифровым интерфейсом к монитору. Но опять же, не надо перекладывать с больной головы на здоровую: если нам нужны плавные градиенты после калибровки, то не разрядность интерфейса менять надо, а переносить коррекцию из видеокарты в монитор — что с успехом и делается довольно давно; даром что калибровочный софт не в изобилии.

Здесь, в конкретном мониторе, имеется 12-битная коррекция. Так чего же боле? Какой же смысл тогда несёт 10-битный сигнал от компьютера, если коррекция всё равно выполняется внутри монитора? (Я пока всё ещё не видел фирменную софтину, но, полагаю, она более доделанная, нежели Samsung Natural Color Expert, и поэтому не будет возникать повода браться за «напильник» в виде обычных калибраторов, работающих через LUT видеокарты.)

Ну ладно, допустим, 10-битный интерфейс — это чисто маркетинговый ход, то есть никакой насущной необходимости в нём нет, но производители просто решили надуть мыльный пузырь, чтобы всей индустрией неплохо заработать на всеобщей миграции в «ещё более светлое и улучшенное будущее». Но это тоже не объясняет, что же за сигнал в итоге пойдёт по интерфейсу. Ведь приложения работают с графической средой через 8-битный цвет, и тут вряд ли что-нибудь изменится в обозримом будущем. На самом деле тот же Windows GDI и сейчас позволяет создавать цветные растры с глубиной 9 и 10 бит (монохромные — до 32 бит), но такой формат хранения данных крайне неудобен с точки зрения производительности, и потому его применимость под большим вопросом.

Значит, что остаётся? Видеорежим по-прежнему 8-битный, но на монитор уходят 10-битные данные согласно LUT видеокарты. Такой сценарий реален, если производители мониторов и дальше будут преподносить программирование LUT монитора как некую premium-фичу, производители видеокарт продолжат политику усложнения работы с DDC, а разработчики софта по-прежнему будут пасовать перед трудностями общения с железом. Для этого им надо хорошенько сговориться, потому что при нынешних тенденциях развития электроники и plug&play-технологий эта дорожка выглядит весьма скользкой — добровольно отказываться от воплощения конкурентных преимуществ.



Впрочем, есть ещё одна гипотеза. Возможно, все эти 10-битные заморочки нужны не для компьютера вовсе (хотя видеокарты-то уже начали клепать), а преимущественно для «телевизионных» источников с их не-RGB координатами и устоявшимися привычками выполнять всяческие «улучшайзинги» картинки. Но, как ни крути, это тоже представляется слишком топорным решением: мол, вместо того, чтобы оптимизировать расход топлива в автомобиле, мы просто увеличиваем объём бензобака и ставим двигатель помощнее.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Просто для информации, никаких обобщений не делаю.
Провёл эксперимент по определению, сколько же градаций теряется при hardware-калибровке. Использовался NEC 2690WUXi2, у которого 12-битные LUT, но сама матрица вроде как 8-битовая. LUT монитора был предварительно откалиброван программой SpectraView II под "нативную" гамму 2.2.
Замерялись значения яркости при изменении значений входных сигналов канала G от 0 до 255. Использовался как колориметр, так и спектрофотометр. Каждое значение замерялось по 10 раз и округлялось (спектрофотометр ещё и заново калибровался).
Не знаю как всё это работает в мониторе, но количество потерянных градаций на зелёный канал в худшем случае никак не превышает четырёх (если потерянные градации вообще есть).
Для сравнения, потери градаций на зелёном канале при программной калибровки составили от 11 до 21 в зависимости от использованной программы software-калибровки.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
Для сравнения, потери градаций на зелёном канале при программной калибровки составили от 11 до 21 в зависимости от использованной программы software-калибровки.
в HP на ips может быть даже больше, скажем, 25.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
Для сравнения, потери градаций на зелёном канале при программной калибровки составили от 11 до 21 в зависимости от использованной программы software-калибровки.
Всего то. Что при работе в фотошопе заметить невозможно.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Кстати, по поводу того, что 10…12-битная LUT может спокойно присутствовать даже в обычных мониторах. Я тут натыкался на описание какого-то старого (начало 2000-х) проекционного телевизора — то есть отображающего устройства, пользователям которого, мягко говоря, наплевать на сверхплавность градиентов. Так вот, там как бы между делом сообщалось, что внутренняя обработка цвета идёт в 12 битах, и это не возводилось в ранг чего-то особенного.

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

То есть, мне кажется, акцент производителей на том, что их монитор имеет LUT с разрядностью более 8 бит, на самом деле подчёркивает не столько эту самую разрядность, а просто является косвенным признаком того, что значения внутренней LUT могут программироваться извне по видеоканалу. А сама по себе многобитная LUT вполне может стоять и в обычных мониторах: просто она не доступна, и потому говорить о ней особо нет смысла. Хотя, конечно, маркетологам только дай волю, — они из мухи сделают слона; другое дело, что может быть невыгодно создавать конкуренцию своим же профессиональным продуктам, ибо не все потенциальные покупатели в состоянии понять, чем программируемая LUT отличается от непрограммируемой.


probep сказал(а):
Использовался NEC 2690WUXi2, у которого 12-битные LUT, но сама матрица вроде как 8-битовая. LUT монитора был предварительно откалиброван программой SpectraView II под «нативную» гамму 2,2.
Для пущей чистоты эксперимента, сбросить на дефолтовые значения надо вообще все настройки, начиная с «Яркости» и «Контраста» и заканчивая «Цветовой температурой».

Замерялись значения яркости при изменении значений входных сигналов канала G от 0 до 255. Использовался как колориметр, так и спектрофотометр. Каждое значение замерялось по 10 раз и округлялось (спектрофотометр ещё и заново калибровался).
Не знаю, как насчёт колориметра, а вот спектральный прибор уровня i1Pro для измерений с шагом 1 градация RGB — идея сомнительная, особенно в тенях. Вы посмотрите на свои результаты: небось, разница между усреднёнными значениями соседних градаций может быть ниже разброса показаний для одной градации.

Я тут где-то недавно приводил пример «стабильности» i1Pro: за полчаса показания в чёрной точке спокойно могут убежать с 0,10 до 0,17 кд/м². Даже если выполняете перекалибровку перед каждой серией из 256 патчей, при времени экспозиции 2 секунды на каждую серию уходит по 8,5 минут. Если провести грубую аналогию с моим примером, то «натикать» может 0,0200 кд/м² — на порядок-другой больше, чем разница между градациями 0 и 1 (0,0005) и 1 и 2 (0,0018).

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

Потери градаций на зелёном канале при программной калибровке составили от 11 до 21 в зависимости от использованной программы.
Интересно, по какому критерию считалось, различаются ли соседние градации? Особенно, если даже в результате многократных усреднений получалось, что градация с большим номером имеет меньшую яркость.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Samsonov сказал(а):
Кстати, по поводу того, что 10…12-битная LUT может спокойно присутствовать даже в обычных мониторах....
Не то что может, присутствует давно на уровне LUT, которые отвечают за регулировки, из меню монитора. Например, регулировка белой точки осуществляется за счет одного из LUT монитора.
Естественно, что об этом никто не напишет в описании.
Пользовательский доступ к LUT тоже далеко не панацея. Объяснюсь:
1) никто не знает, кроме производителей, к какому именно програмируемому LUT у монитора есть доступ. Их там много.
2) никто не обещал, что тот разрядность того LUT, который програмируется, именно тот, о котором написано на коробке. 10-12-16 бит, и т.д.
3) никто не обещал, что LUT подвергается полному програмированию, то есть записи любого значения в любую ячейку.
4) проверка значений, которые записаны в LUT монитора, невозможна. Так же как и невозможно ручное перепрограмирование на другое значение.

У LCD достаточно других проблем, которые иногда значительно важнее, чем полное управление LUT, построение каких-то сложных профилей, и т.д. Стабильность, равномерность подсветки, изменение яркости, и т.д.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Сколько градаций теряется при использовании LUT видеокарты, можно узнать без всяких измерений — просто проанализировав содержимое этой таблицы. См. пример в приложенном Excel-файле: туда надо подставить данные, экспортированные из Calibration Tester, и тогда в самой правой группе колонок будет показана статистика, сколько имеется различимых градаций, сколько потеряно (и та же величина в процентах).

По идее, с аппаратной калибровкой всё то же самое — просто надо изыскать какой-то способ считать данные из LUT монитора. Вроде у того же NEC были софтины для загрузки и выгрузки данных.
 

Вложения

Ответ: Разрядность мониторов и регулировка цветовой температуры.

Samsonov сказал(а):
Для пущей чистоты эксперимента, сбросить на дефолтовые значения надо вообще все настройки, начиная с «Яркости» и «Контраста» и заканчивая «Цветовой температурой».
Собственно, так и делалось.
Но надо будет попробовать откалибровать под кривую L* и повторить тест. Если время будет (это всё довольно муторно).

Samsonov сказал(а):
Не знаю, как насчёт колориметра, а вот спектральный прибор уровня i1Pro для измерений с шагом 1 градация RGB — идея сомнительная, особенно в тенях. Вы посмотрите на свои результаты: небось, разница между усреднёнными значениями соседних градаций может быть ниже разброса показаний для одной градации.

Я тут где-то недавно приводил пример «стабильности» i1Pro: за полчаса показания в чёрной точке спокойно могут убежать с 0,10 до 0,17 кд/м². Даже если выполняете перекалибровку перед каждой серией из 256 патчей, при времени экспозиции 2 секунды на каждую серию уходит по 8,5 минут. Если провести грубую аналогию с моим примером, то «натикать» может 0,0200 кд/м² — на порядок-другой больше, чем разница между градациями 0 и 1 (0,0005) и 1 и 2 (0,0018).
Вы правы во всём. Начал мерить i1Pro, усреднял, строил графики и т.д., потом плюнул на эту затею. Дрейф у него дай Боже! Поэтому в основном измерял колориметром Spyder3. Нашёл 4 точки (при малых яркостях), которые давали одинаковые, до третьего знака, значения яркости. Их попытался ещё раз подробнее исследовать i1Pro. Безполезно. Данные можно было трактовать в любую сторону. Поэтому и написал: "количество потерянных градаций на зелёный канал в худшем случае никак не превышает четырёх (если потерянные градации вообще есть)". Но колориметр довольно точно замечает увеличение яркости.
Остальные точки были бесспорными, увеличение G на единицу стабильно приводило к увеличению яркости.

Samsonov сказал(а):
Интересно, по какому критерию считалось, различаются ли соседние градации? Особенно, если даже в результате многократных усреднений получалось, что градация с большим номером имеет меньшую яркость.
Для LUT монитора я писал чуть выше, как измерял.
Для LUT видеокамеры всё мерится очень просто. С помощью Calibration Tester считываем данные из LUT видеокарты и отсекаем значения до 8-битных величин и подсчитываем потери градаций (и количество одинаковых величин тоже). Это действительно работает, проверял колориметром, что если в LUT видеокарты получаются на выходе одинаковые 8-битные величины, то и яркость одинаковая.

Пока писал, Вы уже сами написали про LUT видеокарты.
У НЕКа не нашёл спецификации, как считывать данные из LUT монитора. И ни одна из программ вроде как не считывает из LUT данные. Они могут только сбрачывать данные и перезаписывать.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Кстати о внутренних "закрытых" кишочках мониторов. Действительно мы мало об этом знаем. Если бы не отдельные лица, причастные к этому делу и не удержавчшиеся от выдачи "страшной" тайны, мы, например, вряд ли бы догадались, что у некоторых EIZO топ класса на самом деле схема такая: "the path in the Eizo is "8-14bit3D-8-10bit1D-10", т.е. там и 14-битовая 3D LUT, за которой после 8-битового узкого горла стоят ещё и 10-битовые 1D LUT.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
the path in the Eizo is "8-14bit3D-8-10bit1D-10"
Можно всё то же самое, но с расстановкой пробелов между отдельными блоками? А то вообще не ясно, то ли там 5 каскадов, то ли 2 из них имеют переменную разрядность.

probep сказал(а):
У НЕКа не нашёл спецификации, как считывать данные из LUT монитора. И ни одна из программ вроде как не считывает из LUT данные. Они могут только сбрасывать данные и перезаписывать.
А если попробовать натравить SoftMCCS, и покопаться там? Может, что и выудит; правда, не факт что в читабельном виде.

Считываем данные из LUT видеокарты, отсекаем значения до 8-битных величин и подсчитываем потери градаций.
Ну, не прям уж так и «отсекаем»: 16-битное значение надо поделить на 65'535/255 = 257, а не на 256 (что равносильно сдвигу вправо на 8 бит). То бишь значение 65'280 должно преобразовываться в 254, а не в 255.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
"the path in the Eizo is "8-14bit3D-8-10bit1D-10", т.е. там и 14-битовая 3D LUT, за которой после 8-битового узкого горла стоят ещё и 10-битовые 1D LUT.
ИМХО, и это не вся правда:) У некоторых моделей Нека еще более навороченно.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Samsonov сказал(а):
Можно всё то же самое, но с расстановкой пробелов между отдельными блоками? А то вообще не ясно, то ли там 5 каскадов, то ли 2 из них имеют переменную разрядность.
Я, конечно, могу расставить по-блочно, как я представляю. Там пять блоков. Но это будет уже мое восприятие, а не цитата от Карла Ланга. Хотя из всего высказывания следует именно то, что разговор идёт о пяти блоках. В 2004 году он написал известное письмо, наделавшее много шуму. Если оно на этой конференции не проскакивало и если бы мне модераторы позволили (оно немного длинноватое), я бы его мог привести полностью. В любом случае, оно любопытное до сих пор.

Samsonov сказал(а):
Ну, не прям уж так и «отсекаем»: 16-битное значение надо поделить на 65'535/255 = 257, а не на 256 (что равносильно сдвигу вправо на 8 бит). То бишь значение 65'280 должно преобразовываться в 254, а не в 255.
Честно говоря, это всё тонкости. Я вообще делал не так: переводил числа в шестнадцатиричный формат и отбрасывал последнюю пару символов. Поэтому никаких погрешностей не возникало.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
Я, конечно, могу расставить по-блочно, как я представляю. Там пять блоков. Но это будет уже мое восприятие, а не цитата от Карла Ланга. Хотя из всего высказывания следует именно то, что разговор идёт о пяти блоках. В 2004 году он написал известное письмо, наделавшее много шуму. Если оно на этой конференции не проскакивало и если бы мне модераторы позволили (оно немного длинноватое), я бы его мог привести полностью. В любом случае, оно любопытное до сих пор.
ИМХО, Не вижу смысла. В этой статье есть спорного и "лично от себя", не имеющего отношения к работоспособной калибровке монитора. Eizo как и была ранее, так и осталась, только подешевела сильно, и стала 16 битной местами.
Ваша выкладка на ixbt легко ищется поиском.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Сделал ещё несколько тестов по определению потерь градаций при hardware-калибровке монитора NEC 2690WUXi2. Только в данных случаях поднял яркость белой точки, чтобы отчётливей были видны изменения или постоянство значений яркости между соседними величинами входного сигнала для G-канала. Измерения проводились колориметром, а затем была проведена верификация случайной выборкой.
Тесты делались для разных цветовых температур белой точки и разных гамма.
Не знаю, как уж там устроена электроника этого монитора, но потерь градаций не смог обнаружить.
В прилагаемом файле приведён типичный пример зависимости яркости от величины входного сигнала по G-каналу (в данном случае калибровка делалась по L*-кривой, при 9300K и 160 cd/m2).
 

Вложения

Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
У НЕКа не нашёл спецификации, как считывать данные из LUT монитора. И ни одна из программ вроде как не считывает из LUT данные. Они могут только сбраcывать данные и перезаписывать.
NEC GammaComp (или здесь).

Впрочем, это для любителей ковыряться внутри железок. Hardware calibration из BasicColor делает то же самое. Даже простенький i1Match делает то же самое (если вы разобрались с xml-файлом для вашего монитора и Automatic Monitor Calibration доступен).
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

sabos
Разумеется, я знаю про GammaComp. Другое дело, что эта программа (даже последняя версия 1.3.20) не поддерживает NEC 2690WUXi2, несмотря на указанную якобы поддержку. Об этом было немало ругани на зарубежных форумах. Возможно, что эта программа умеет считывать информацию из LUT монитора - судить об этом не берусь, но в документации однозначно об этом не сказано.
Что касается других программ, а именно SpectraView II, basICColor display, ColorEyes Display Pro, предназначенных для аппаратной и программно-аппаратной калибровки НЕКов, то они, по всем признакам, не считывают информацию из LUT монитора NEC 2690WUXi2, а лишь перезаписывают, ИМХО. Это проявляется хотя бы в том, что при калибровке программы первым делом сбрасывают все настройки монитора (восстанавливают дефолтные) и лишь затем пишут в LUT монитора.
Посмотрел SoftMCCS. Не знаю, наверное масла в голове не хватает, но ничего касательно доступа в LUT монитора я там не нашёл.

В принципе, всё это неважно, поскольку даже если будет программа для считывания LUT монитора, ничем она особенно не поможет. Важно ни что записано в LUT (в конце-концов я это и так вижу при калибровке), а важно что на матрицу подаётся. А здесь, если не известна досканально электроника, замены колориметру не сыскать.
Всё вышеизложенное - ИМХО.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

probep сказал(а):
Возможно, что эта программа умеет считывать информацию из LUT монитора
Умеет.

probep сказал(а):
эта программа (даже последняя версия 1.3.20) не поддерживает NEC 2690WUXi2
Здесь не в курсе, но рискну одно предположение. Для WUXi меняли прошивку, запрещая доступ из сервис-меню к т.н. SV-mode. Видимо изменился в т.ч. протокол доступа к LUT.

probep сказал(а):
они, по всем признакам, не считывают информацию из LUT монитора NEC 2690WUXi2, а лишь перезаписывают.
Верно, и без imho. Им незачем считывать.

probep сказал(а):
Посмотрел SoftMCCS. Не знаю, наверное масла в голове не хватает, но ничего касательно доступа в LUT монитора я там не нашёл..
И здесь за точность не поручусь, по памяти - доступ к LUT есть стандартная VESA-функция, точнее две функции, 75h - Block LUT operation, 74h - Single point LUT operation. Направление (чтение или запись) задается вроде командой 78h - EDID operation direction. И не забывайте, в LUT недоступны крайние точки, "белая" и "черная", ими нужно управлять отдельно, через функции (также стандартные VESA-функции) RGB white и black level. Кроме того, в зависимости от конструкции монитора, возможны еще и backlight level (общий или раздельные для LED-подсветок).

В SoftMCCS есть внутренние темплейты для известных ему моделей, для таких он делает красивый gui. Для всех остальных, увы, учить command-line.
probep сказал(а):
Важно ни что записано в LUT (в конце-концов я это и так вижу при калибровке), а важно что на матрицу подаётся. А здесь, если не известна досканально электроника, замены колориметру не сыскать.
Мы можем обсуждать лишь один LUT из нескольких, встроенных в монитор и участвующих в обработке сигналов. Тот LUT, задача которого - "линеаризация" (в кавычках, потому что задача его приведение функции светимости к некоторому известному виду, например к степенной). Можно еще поговорить про другие одномерные LUT's, например gain control luts, destination gamma lut, хотя доступ к ним уже сильно ограничен (число, а не таблица). Но получить доступ к 3D LUT невозможно, это known-how изготовителя.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Samsonov сказал(а):
Но самое главное, что непонятно — зачем же всё-таки нужны эти 10 бит.
Посмотрите на LUT как на вычислитель. Вычислитель одной функции. Цифровой вычислитель, имеющий ограничения по точности. Пусть наш вычислитель готовит данные "к Грассману", т.е. переводит их из гамма-сжатого вида к линейному, у=x^gamma. Что будет в области малых значений при ограничении разрядности? Верно, одни нули. И "в Грассмана" уйдут нули, и на выходе "Грассмана" будут одни нули. Поэтому поднимем точность наших LUT-вычислителей (обеих, и одномерного "разжимающего", и трехмерного "Грассмана"). Кстати, на выходе "Грассмана" обычно будет "сжимающий", у обратной функции и требования к точности обратные, можно без проблем округлять (т.е. терять разрядность).

Как это относится к "линеаризующему" LUT? В общем виде перед этим LUT может стоять подобная "разжимающая" задача, где необходим запас. В частном случае, когда всё сделано правильно (белая, черная, gain gamma настроены адекватно своими инструментами), "линеаризующему" LUT остается вносить минимальные поправки, там запас точности уже не нужен.
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Причем тут точность? У функции x-квадрат данные увеличиваются.

Эээ... смотря где. А если х меньше единицы? 0.1^2=0.01. Хитрый вопрос — наши числа [0-255] больше единицы или меньше?

Не по теме:
Строгий ответ про точность в вычислениях пропущен для простоты.

Посмотрите внимательно — все числа наши относительные, это доли от белого. Белый — это единица (хотя в видеокарте это записано, как 255). Всё остальное — меньше единицы. Мы говорим — нормируем из [0;255] в [0;1]. Что тогда есть число "1" в видеокарте? 1/255=0,004. А после x-квадрат? Четыре нуля после запятой. Хватит здесь 8-bit? А сколько минимум бит нужно, чтобы сохранить?

Правильный ответ — точность определяется JND. Известно, что color transform можно делать только в энергетически-линейной системе (gamma=1). Для энергетически-линейной системы достаточно 11-bit. Плюс запас на регуляторы всевозможные и улучшайзеры. Здесь имеется ввиду не очевидный пример с управлением яркостью через LUT, в профессиональном мониторе таких проблем нет, там яркость — отдельное преобразование (свой LUT), причем зачастую управление ЦАП или даже подсветкой. Но какой "подниматель насыщенности" и пр. vibrant color встроят даже в профмонитор (что делать, маркетинг), и будут на нем имитировать "99% охвата AdobeRGB".

Для специалистов. Ранее, когда на 3DLUT компенсировали лишь "неГрасcмановость" ЖКИ, эти закрытые преобразования меня не настораживали. Но теперь, когда внутрь монитора встраивают полноценный color transform (с улучшайзерами) — немедленно возникает вопрос "а что с gamut mapping?" При color transform возможно появление отрицательных значений и чисел больше единицы. Как с ними, привычно клипаем? И удивляемся "загогулинам" цвета?
 
Ответ: Разрядность мониторов и регулировка цветовой температуры.

Грассмана CMS делает, а не монитор
Верно, более логично задачи display compensation переложить на CMS софта. Но мы видим, какая здесь ситуация. За 16 лет (11 лет на PC) софт в большинстве своем так и не научился делать адекватный display compensation color transform. Если гора не идет к Магомету, то ...

Впрочем, пусть даже у нас софт нормальный, с хорошим display compensation (такие есть). Стали ли точными аналоговые компоненты в наших железках? Напомню, безупречным (в смысле точности) можно считать лишь цифровую часть видеотракта. Рано или поздно цифру придется преобразовать в аналог (DAC - преобразование цифры в аналог), и для CRT, и для LCD. И уже на этой стадии нас ждут немалые проблемы. Никто серийный DAC калибровать на производстве не станет (хотя встречал в профвидео цапы с поштучной лазерной подгонкой). В серийном недорогом DAC ошибки преобразования могут достигать 50% веса разряда. Как исправить (линеаризовать) такой преобразователь?

Очень просто — нужно взять DAC с избыточностью. Пусть наш тракт 8-bit, а "кривенький" DAC 12-bit (и LUT при нём 12-bit). Тогда каждое из 254 возможных значений (256 минус черный и белый) мы можем преобразовать в аналог с погрешностью не хуже 50/16=3%. Что обошлось нам в лишних 4-bit LUT'a.

Для знакомых с математикой: задачу "линеаризации" можно свести к вышеупомянутому примеру с "разжимающей" функцией у=x^gamma. Самую замысловатую "кривую" нелинейную функцию можно аппроксимировать кусочно, например кусочно-степенной (или сплайном). Для каждого из 255 степов собственная gamma. Для тех степов, где gamma>1 — нужен запас по разрядности, иначе потери. Сказанное относится не только к мониторам, в растрах подобные проблемы и подобные способы борьбы с ними.
 
Статус
Закрыто для дальнейших ответов.