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