Может ли 10-битное соединение монитора сохранить все тона в 8-битных градиентах sRGB на мониторе с широкой гаммой?

Этот вопрос касается управления цветом и использования более высокой глубины цвета, 10 бит на канал (всего 30 бит, что дает 1,07 миллиарда цветов или 1024 оттенка серого, иногда называемых «глубоким цветом») по сравнению по стандарту 8 бит на канал (всего 24 бита, 16,7 млн. цветов, 256 оттенков серого, иногда называемых «истинным цветом»). Не путайте с «32-битным цветом», который обычно относится к стандартному 8-битному цвету с дополнительным каналом («альфа-каналом») для прозрачности (используется для достижения таких эффектов, как полупрозрачные окна и т. Д.).

Можно предположить, что имеется следующее:

1: монитор с широкой гаммой, поддерживающий 10-битный вход. Кроме того, можно предположить, что монитор был откалиброван по своей собственной гамме и что был создан цветовой профиль ICC.

2: графическая карта, которая поддерживает 10-битный выход (и подключена к монитору через DisplayPort).

3: Драйверы для видеокарты, поддерживающие 10-битный вывод.

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

Например: если изображение содержит пиксель, который является чисто красным в 8 битах (255,0,0), соответствующее значение в 10 битах будет (1023,0,0). Однако, поскольку монитор имеет большее цветовое пространство, чем sRGB, отправка сигнала (1023,0,0) на монитор приведет к слишком насыщенному красному цвету. Следовательно, в соответствии с цветовым профилем ICC сигнал будет преобразован в другое значение с меньшей насыщенностью красным, например (987,0,0). Поскольку между 0 и 987 осталось еще много уровней, все 256 значений (0-255) для красного в цветовом пространстве sRGB файла могут быть однозначно сопоставлены с 10-разрядными значениями с цветокоррекцией в собственном цветовом пространстве монитора.

Однако, если преобразование было выполнено в 8 битах, (255,0,0) было бы преобразовано в (246,0,0), и теперь было бы только 247 доступных уровней для красного канала вместо 256, ухудшение качества отображаемого изображения.

Мой вопрос: как это работает в Ubuntu? Допустим, я использую Firefox (который учитывает цвета и использует цветовые профили ICC). Получу ли я 10-битную обработку, сохраняя при этом все уровни 8-битной картинки? Как обстоят дела с другими приложениями, особенно с фотоприложениями, такими как Shotwell, Rawtherapee, Darktable, RawStudio, Photivo и т. Д.?

Отличается ли Ubuntu от других операционных систем (Linux и других) в этом отношении?

6
задан 14 April 2013 в 22:14

3 ответа

"Мудрый бит, не должно быть проблемы, представляете ли Вы в 8 или 10, но существует основная проблема с Linux так или иначе с битовыми глубинами. В Linux к сожалению, нет никакого программного обеспечения фронтенда, которое позволяет Вам изменять битовую глубину. ЕДИНСТВЕННЫЙ способ изменить битовую глубину в Linux, должен скомпилировать Ваши видеодрайверы для вызова 10 битов за канал для интерфейсов, вместо 8".

На самом деле Драйверы Nvidia GeForce поддерживали 10 битов за канал в Linux некоторое время теперь. Конечно, Вы испытываете необходимость в дисплее с поддержкой цвета 10 битов за канал, подключенной через DisplayPort к Вашей видеокарте для него для работы.

Напротив, с Windows только Драйверы Nvidia для их Карт Quadro позволяют цвет 10 битов за канал. Но, большинство приложений не работает с ним (так как сам рабочий стол Windows составляет 8 битов за канал, и трудно реализовать цвет 10 битов за канал со стороны экрана как, Вы видели бы с приложением редактирования изображение. Но, Photoshop имеет 10 битов за канал, работающих в Windows с помощью или AMD карты Firepro или карт Nvidia Quadrо с CS6. С Photoshop CC я видел сообщения о проблемах с картами Firepro все же.

В основном Windows требует "Pro", чтобы карты (AMD Firepro или Nvidia Quadrо) получили ту функцию (цвет 10 битов за канал с приложениями, которые поддерживают его), поскольку драйверы для Карт AMD Radeon и карт Nvidia GeForce не поддерживают 10 битов за канал буферы OpenGL, используемые приложениями как Photoshop. Посмотрите эту страницу для некоторой информации об этом от Nvidia:

http://nvidia.custhelp.com/app/answers/detail/a_id/3011

Но, интересно, Nvidia, Собственные драйверы Linux для Карт GeForce действительно поддерживают 10 битов за канал буферы OpenGL, если у Вас есть карта с DisplayPort и Дисплеем, который поддерживает 10 битов за канал. Они добавили 10 битов за канал (иначе, 30 битов) цветная поддержка их драйверам Linux, начинающимся 295.20. Вот старая статья Phoronix, упоминая это:

http://www.phoronix.com/scan.php?page=news_item&px=MTA1NzM

Если Вы переходите к Панели управления X-сервера Nvidia в Linux и смотрите при Настройках Дисплея, необходимо видеть выбор Глубины цвета, если обнаруженный монитор способен к 10 битам за канал и соединенный Портом Дисплея. Вы будете видеть выбор на 30 битов, отмеченный как Экспериментальный там. Или, можно просто выбрать X Экранов 0 (по сравнению с обнаруженным дисплеем) и видеть выбор глубины цвета тот путь (где он принимает значение по умолчанию к 24 битам, но будет иметь 30 битов в наличии в выпадающем списке). Конечно, Вы не хотите выбирать тот выбор, если у Вас нет истинных 30 битов (10 битов за канал) настройка оборудования (карта с DispayPort с монитором, подключенным к нему с истинными 10 битами за канал, окрашивают панель).

4
ответ дан 14 April 2013 в 22:14

В этом есть несколько серьезных проблем, о которых я расскажу позже.

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

Немного мудрее, не должно быть проблем с рендерингом в 8 или 10, но в любом случае есть серьезная проблема с linux с битовой глубиной. В Linux, к сожалению, нет интерфейсного программного обеспечения, которое позволяло бы изменять битовую глубину. Единственный способ изменить битовую глубину в linux - это скомпилировать ваши видеодрайверы для вызова 10 бит на канал для ваших интерфейсов вместо 8.

0
ответ дан 14 April 2013 в 22:14

Гм ...

Windows поддерживает вывод не менее 16 бит / с по сравнению с Windows 7. Пост, в котором говорится о том, что 10-битные драйверы NVidia не работают в Windows, поскольку ОС ограничена 8 бит / с, ОЧЕНЬ, ОЧЕНЬ НЕВЕРНО. ]

Эта информация была доступна с 2008 года на WinHEC, когда она была впервые анонсирована и продемонстрирована для Windows 7 и использовалась в производстве на Windows 7 в 2009 году, когда она была выпущена с драйверами ATI и NVidia, предлагающими поддержку не менее 10 бит / с. (Источники: Wiki, MSDN, WinHEC и т. Д.)

Многие специалисты используют 30-битные и 48-битные дисплеи с Windows 7/8/10, которые не сглаживают / понижают выборку цвета из ОС до дисплей. (Источники: Wiki, MSDN, Adobe, Autodesk, RenderMan и т. Д.)

Дополнительное примечание: OS X недавно добавила поддержку 10-битного цвета для OS X 10.11 (2015), что, к сожалению, очень поздно, особенно когда Apple требуя использования их новой структуры GPU, чтобы даже использовать его.

0
ответ дан 14 April 2013 в 22:14

Другие вопросы по тегам:

Похожие вопросы: