Ответ: Разрядность мониторов и регулировка цветовой температуры.
aspirin сказал(а):
Цитата из технических характеристик одной видеократы, выпуска 2006 года:
- High Dynamic Range (HDR) rendering with 8-bit, 10-bit & 16-bit per RGB color component support;
- Full 10-bit precision display pipeline;
- Advanced support for 8-bit, 10-bit, and 16-bit per RGB color component.
Э-э-э… а с чего вы вообще взяли, что эти свойства относятся к LUT/DAC? По-моему, тут речь явно про 3D-рендеринг: ключевые слова «HDR», «pipeline», «support for 8/10/16-bit RGB». Впрочем, перепутать не мудрено, ибо составители спецификаций сами ничего не смыслят в своей продукции, а потому валят всё вперемешку, пытаясь заговорить зубы потребителю, — вот каждый и видит в этих словах то, что хочет увидеть.
Готовый растр, который уходит на устройство, вполне может быть 16-битный, и каждая из этих градаций будет тем самым «краскоуказанием».
Может, конечно, но вряд ли, даже если под словом «готовый растр» понимать сплюснутую полнотонную картинку, а не полутоновый низкоуровневый образ для подачи на печатающую головку.
Можно внедрить 10/12-битную LUT в мониторе, чтобы повысить стоимость и спрос. Но имеет право на жизнь любой способ, начиная от изобретения 10-битного DVI.
Право-то имеет, но преимуществ — никаких. Увеличение разрядности LUT однозначно проще и дешевле расширения канала между устройствами. Да, стоимость увеличивается по-любому, но в случае с LUT это преимущественно маркетологическая игра, нежели вопрос себестоимости железа. И уж будьте уверены, 10-битный DVI вам станут втюхивать намного дороже и намного «престижнее», нежели 10-битный LUT можно достать прямо сейчас.
Внутренний LUT монитора в 80% случаев прямолинеен.
Давайте не будем делать столь смелых предположений. Ещё неизвестно, каким образом производители добиваются нужной передаточной характеристики.
LUT любой видеократы не занижается до 50 %, если правильно выставлена яркость. Мониторный LUT может занижать значения 100% до 30–50 % лишь для того, чтобы достигнуть заданной величины.
Если речь об управлении яркостью белой точки, то её обычно контролируют за счёт интенсивности подсветки. А если имеется в виду поканальная коррекция для достижения нужной цветовой температуры, то разве видеокарта поступает не точно так же? И вообще, из всего перечисленного я так и не увидел ни одного аргумента в пользу того, что видеокарта выполняет табличную коррекцию чем-то лучше монитора. Просто на видеокарту повешено меньше функций — вот и кажется, что она вносит меньшее искажение.
Что при этом происходит с градациями, лучше я умолчу.
Сужение эффективного диапазона в два раза равносильно потере 1 бита. Да, плохо, но не смертельно. Согласно вышеупомянутому расчёту, максимальная разница между соседними градациями может увеличиваться с 0,5–1,5 до 1–3 dE76. Но это максимум, а среднее значение находится в районе 1 dE76. Коли уж пипл хавает 6-битные экраны, мне это не представляется чем-то из ряда вон.
Каким образом монитор должен согласовыватся с программным обеспечением на машине?
Подставлять другие профили, когда это надо, менять белую точку, если это надо, и т.д?
Вы что там, каждые пять минут профиль меняете? Если нужно «[THREAD=37682]показать заказчику обалденную картинку[/THREAD]», то можно и через видеокарту действовать — тут не до шашечек. В конце концов, если вы потрудились выбрать другой профиль и активировать другую гамма-коррекцию, то не сломаетесь и от варианта «поменять профиль + нажать кнопку на мониторе» (в монитор-то ведь тоже можно сохранить несколько калибровок). Но, раз уж речь идёт о полностью автоматическом управлении, то и режим монитора будет переключаться программно — так, как это прямо сейчас делается по DDC/CI. Возможно даже, что появится механизм обратной связи: как нынче распознаётся портретный режим, так в будущем будет сам собой выбираться нужный профиль.
lygun сказал(а):
Если у нас матрица воспринимает только 8 бит, то совершенно пофиг, что у нас находится на пути от 8-битного софта к 8-битной матрице. Хоть 8-битные LUT видеоплаты, хоть 16-битные LUT монитора. Сухой остаток преобразований один: одномерная таблица из 256 строк, в каждой из которых находится 8-битное значение.
Вся соль — в этих самых значениях, составляющих таблицу коррекции. Очевидно, что если на входе и на выходе равное количество возможных значений (256), то любая коррекция приводит к потере отдельных градаций: одни значения повторяются несколько раз, другие вовсе не представлены. Вопрос в том, сколько именно градаций мы теряем. Естественно, чем больше возможных мест для подобных потерь, тем выше ожидаемое количество потерь. Если же мы ограничимся всего одной LUT, да ещё сделаем её высокоразрядной, то сведём к минимуму все потери, в том числе вызванные применением внутренних настроек монитора.
Так что собственная 12-битная LUT — вовсе не блажь. Другое дело, если мы не имеем к ней доступа (из-за отсутствия DDC/CI или из-за импотенции программистов), и продолжаем калибровать через видеокарту. Но даже в таком случае предполагаемое число потерь меньше, чем в обычном мониторе с 8-битной таблицей.
Программирование LUT монитора по DDC было бы полезной вещью, но я ни разу не слышал о такой возможности даже по отношению к Apple Cinema Display. А какие есть признаки того, что это возможно для любого монитора (или хотя бы многих)?
Ну как же! Любой уважающий себя профессиональный монитор это позволяет — даже такой «ширпотреб» как Неки. Другое дело, где взять софт, ибо фирменный может быть дорог и ограничен, а то и попросту [THREAD=35527]непотребен[/THREAD], тогда как популярные сторонние пакеты не очень-то к такому приучены.
aspirin сказал(а):
Не понял энтузиазма по поводу програмирования LUT монитора. Основной задачей калибровки считается линеаризация и характеризация устройства. Результат может нас устраивать или не устраивать, но этап характеризации устройства мы всё равно будем выполнять на уровне программного обеспечения.
Если ровный градиент от 0 до 255 на выходе превращается в 0, 1, 1, 3, 4, 7, …, 250, 255, то воспринимаемый глазами результат нам может не понравиться даже с самым точным профилем. Даже при единственной коррекции в LUT монитора мы не избавимся от потерь совсем, но хотя бы сможем свести их к минимуму, если разрядность таблицы будет достаточно высокой.