В чем разница между цветовым пространством и глубиной цвета?

13

Я знаю, что существуют разные типы цветового пространства и что sRGB является наиболее распространенным. Битовая глубина определяет вариации цветового канала, где (я думаю) 8 и / или 16 битов являются наиболее распространенными.

Некоторые могут сказать, что они совершенно разные, а другие могут сказать, что они не являются взаимоисключающими.

Кто-нибудь может объяснить различия? Если вы увеличиваете битовую глубину, почему вы также не увеличиваете цветовое пространство?

BBKING
источник

Ответы:

15

В основном, информация о цвете жизни похожа на коробку шоколадных карандашей ...

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

Думайте о цветовом пространстве как о коробке цветных карандашей разных цветов. Цветовое пространство описывает типы доступных мелков. Подумайте о «смелых цветах», «пастелях» и т. П. Битовая глубина описывает количество мелков.

Вот пример двух разных коробок с карандашами:

crayonboxes

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

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

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

Если вместо. Вы купили одинаковые цветовые диапазоны в наборах по 64 карандаша, между каждым существующим будет три новых карандаша. Нижний набор будет по-прежнему иметь больше опций для синего и зеленого, но из-за новых мелков в верхнем наборе также будет гораздо больше вариантов в этом диапазоне, чем в наборе из 16 мелков. Так как верхний набор также покрывает красный, с достаточным количеством карандашей было бы объективно лучше.

Однако можно представить себе выбор, когда в обеих коробках чего-то не хватает. Немного проще понять, как это может быть, если перейти к более сложной визуализации, здесь реального sRGB (в качестве телевизора или монитора на уровне потребителя) и стандартных чернил "SWOP" CMYK:

CMYK SWOP vs RGB - изображение мной и строки приблизительные

Здесь вы можете видеть, что цветовое пространство CMYK SWOP¹ распространяется дальше на голубые, пурпурные / пурпурные и желтые цвета, которые могут быть представлены в sRGB. Даже если мы добавим больше битов, чтобы различать доступные различимые шаги, цветовое пространство определяет границу . Аналогично, добавление большего количества битов в представление CMYK не помогает представить дальние углы красного, зеленого и синего цветов, покрытые sRGB. (И, конечно, все они - плохое представление гаммы человеческого зрения, представленной внешней формой - если вы когда-нибудь задумывались, почему так сложно получить цифровые фотографии зелени, чтобы выглядеть естественно, это часть истории !)

В реальной жизни, 24-битные цветовые пространства (8 бит на канал), у вас есть 16,8 миллионов цветов для работы. Как правило, это хорошо, и считается, что цветов больше, чем может различить человеческий глаз, но если ваше цветовое пространство действительно велико, у вас может получиться тот же эффект, когда скачок между отдельными цветами в середине больше идеального, и это возможно что это было бы заметно в определенных ситуациях.

Фактически, некоторые «широкие» цветовые пространства, такие как ProPhoto RGB, имеют по краям цвета, которые не соответствуют ничему в человеческом зрении . Это теоретические, «мнимые» цвета, которые заставляют цветовое пространство работать, но эффективно теряются. Когда вы используете такое цветовое пространство с небольшим количеством цветных карандашей (малая глубина в битах), у вас появляется меньше вариантов для действительно полезных цветов, что делает проблему пропуска шагов более проблематичной. Нечто похожее на sRGB не может охватить далеко идущие голубые и зеленые (как отсутствующий красный в приведенном выше наборе), но взамен вы получите более тонкое различие между синим, пурпурным и красным (и зелеными, которые там есть).

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

Другая вещь, на которую стоит обратить внимание, это то, что sRGB разработан не просто для того, чтобы быть достойным соответствием человеческому зрению, но чтобы быть представленным на большинстве потребительских устройств , и это стандартное предположение для дисплея без управления цветом. Это означает, что когда вы используете sRGB, у вас больше шансов, что используемые вами «карандаши» будут соответствовать «карандашам», которые используют устройства ваших зрителей. Вот почему я рекомендую сохранять в sRGB для просмотра и публикации в Интернете.- большая битовая глубина не является широко распространенным вариантом, и большинство людей не имеют возможности поменять наборы мелков на ваш выбор. (Надеюсь, в будущем это станет лучше, но на самом деле это не кажется приоритетом для производителей потребительских устройств. Может быть, когда установится шумиха в 3D и 4K, мы сможем уделять больше внимания «глубокому цвету» - более высокой глубине в битах для потребительские дисплеи.

(Часть этого заимствована из моего предыдущего ответа на вопрос: Как перекрываются цветовые пространства, такие как sRGB и Adobe RGB? )


сноска

1. Этот конкретный пример является упрощенным и содержит реальное представление изображений CMYK и некоторые другие детали; тем не менее, это хороший пример, потому что большинство реальных цветовых пространств спроектированы так, чтобы максимально перекрываться, и это показывает что-то, что имеет несоответствие.

Пожалуйста, прочитайте профиль
источник
OK. Итак, допустим, что верхнее цветовое пространство (верхний ряд мелков) имеет удвоенную битовую глубину нижнего, теоретически оно может охватывать все цвета / оттенки как нижнее? Однако, если оба значения одинаковы по глубине, то нет. Он не может покрывать те же цвета / оттенки. Итак, даже если вы не меняете цветовое пространство, увеличение глубины цвета (цветового пространства) может покрыть те же цвета, что и другое цветовое пространство?
BBking
@BBking Ну, это трехмерная, а не одномерная линия, которую дает пример crayon, но в любом случае вопрос покрытия в основном связан с крайностями. Посмотрите на второй ряд - добавление большего количества битов не добавит красных крайностей. Но если пойти по другому пути, да, из-за того, как я его сконструировал, достаточно больше битов в верхней части заставит его покрыть больше цветов - он будет не совсем таким же, но все равно будет более плавным градиентом. Если вы перейдете к более чем 2 ×, верхний ряд будет надмножеством нижнего.
Пожалуйста, прочитайте профиль
1
Тем не менее, я мог бы построить нижний ряд так, чтобы он расширялся в направлении, которое верхний ряд не покрывает - возможно , что крайние значения не перекрываются, и никакое количество добавляемых битов это не изменит. (См. [Вопрос наложения для большего количества.)
Пожалуйста, прочитайте Профиль
Понимаю. Теперь я не знаю, должен ли я сменить ваш ответ ...: /
BBking
@BBking Хорошо, дайте мне знать, что еще может быть более ясным! :)
Пожалуйста, прочитайте Профиль
11

Глубина в битах и ​​цветовое пространство - это не одно и то же, и они не являются взаимоисключающими. Это разные вещи, которые существуют одновременно. Для особенно простого объяснения:

  • Битовая глубина определяет тонкость, с которой оценивается каждый отдельный цвет .

  • Цветовое пространство определяет степень, в которой эти цвета распределены .

Давайте возьмем sRGB и AdobeRGB в качестве цветовых пространств, а 8-битные и 16-битные цвета в качестве битовых глубин. sRGB - это небольшое цветовое пространство, в то время как AdobeRGB - это большее цветовое пространство. Цветовые пространства, или гаммы, определяют степень, в которой цвета могут быть выбраны из всего диапазона цветов, видимых человеческому глазу (или даже вне этого диапазона, как было бы в случае с ProPhotoRGB или некоторыми из новых 10-битных каналов). Телевизионные гаммы). Если вы отобразите цвет «Чистый зеленый» в sRGB, этот цвет будет действительно чисто зеленым ... однако он может быть не самым точным для восприятия чистого зеленого. Карта того же цвета - «Чистый зеленый» - это AdobeRGB, и хотя численно она такая же зеленая, при сопоставлении в AdobeRGB она более насыщенная и яркая. (Кроме того, сопоставьте тот же цвет в ProPhotoRGB, и он снова будет еще более насыщенным, чем в AdobeRGB ... при условии, конечно,

Теперь немного глубины. Разница между Pure Green в 8-битном и 16-битном составляет 0,255,0 против 0,65535,0. Гораздо большее число используется для описания зеленого канала в чистом зеленом цвете в 16-битном цвете, чем в 8-битном цвете. Если мы введем в среднем зеленый, значение в 8-битном может быть 0,128,0, в то время как в 16-битном это будет 0,32768,0. Тот же цвет, но число различных цветов в классе между Pure Green и Medium Green намного выше с 16-битным цветом. У вас есть 32768 различных уровней зеленого цвета между этими двумя уровнями в 16-битном режиме по сравнению с простым 128 различными уровнями в 8-битном режиме. Допустим, мы выбрали более светлый зеленый, скажем, 0,192,0 в 8-битном. Тот же цвет будет 0,49152,0 в 16-битном. Это увеличение потенциально отличных цветов означает, что градиенты становятся значительно более плавными и более четко очерченными при использовании большей битовой глубины.

Наконец, как битовая глубина и цветовые пространства работают вместе? С узкой гаммой, такой как sRGB, у вас есть ограниченное цветовое пространство, в котором можно отображать различные цвета. С sRGB и 8-битным цветом каждый цвет будет по-настоящему отличаться при прохождении всех зеленых цветов от 0,1,0 до 0,128,0 до 0,255,0. Что произойдет, если у вас есть 16-битное изображение в пространстве sRGB? Численно ваше изображение способно представлять более 280 триллионов различных цветов (16 + 16 + 16 бит - это 48 бит, 2 ^ 48 - 281,5 триллиона). Перцептивно ... когда числовые значения RGB сопоставляются с цветами с ограничением гаммы, значительное количество из этих 280 триллионов цветов в конечном итоге будет сопоставлено с точно такой же "цветовой координатой" в цветовом пространстве. Ваш файл изображения по-прежнему содержит данные о точности цвета, однако, когда он отображается на экране (или выводится на печать),

Если мы перейдем к AdobeRGB, гамма будет расти, это будет большее цветовое пространство и может охватывать большее количество различных цветовых отображений. С 8-битной глубиной цвета вы фактически будете редко отображать эту большую гамму. Технически говоря, гамма способна описать больше цветов, чем позволяет ваша битовая глубина. Ваши ограничивающие факторы теперь поменялись местами ... вместо того, чтобы гамма была ограничительной, битовая глубина ограничивающей. Если мы выберем 16-битный цвет в цветовом пространстве AdobeRGB, у наших 280 триллионов потенциальных цветов будет больше места для ссылки на разные цвета. Вполне вероятно, что несколько цветов по-прежнему будут отображаться с одинаковыми фактическими координатами в пространстве AdobeRGB, однако в этом большем пространстве будет гораздо меньше коллизий, чем с sRGB.

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

Чтобы в полной мере использовать преимущества информации о цвете с высокой глубиной цвета в файле изображения, становятся полезными большие гаммы и одновременно лучшие экраны, которые действительно могут отображать эти гаммы. Чтобы воспроизводить 10, 12 и 16-битные цвета на телевизорах или экранах компьютеров, гаммы, большие, чем AdobeRGB, и даже больше, чем ProPhotoRGB, часто необходимы для полного использования человеческого визуального восприятия. Наши глаза - удивительные устройства, способные к невероятному динамическому диапазону и чрезвычайно широкой цветовой чувствительности. Современные 10-битные экраны с 12-, 14- и 16-битными аппаратными LUT (3D Color Look Up Tables) способны отображать 1,07 миллиарда одновременных цветов, выбранных из 68,7 миллиарда (12 бит), 4,4 триллиона (14 бит) или 281,5 триллиона (16 бит) цветов, которые очень точно описаны в LUT.

Йриста
источник
2
«Разница между Pure Green в 8-битном и 16-битном составляет 0,255,0 против 0,65535,0». Отлично! Это заставило меня понять намного лучше.
BBking
1
Цветовое пространство - это не просто «степень» (гамма); он охватывает всю топологию цветов в пространстве. Рассмотрим не-RGB цветовые пространства, такие как YUV, HSL (часто представляемый в виде цилиндра вместо куба), CMYK (4-мерное пространство) и т. Д.
Джейсон C,
@Jason: термин «экстент» работает для трехмерных пространственных объектов. Это не означает только двумерный экстент, такой как треугольник, наложенный поверх графика полной яркости / насыщенности лабораторного пространства. Экстент означает весь экстент цветового пространства во всех трех измерениях, независимо от фактической формы, которую принимает экстент. Я бы также сказал, что sRGB, AdobeRGB и т. Д. Являются цветовыми пространствами, а RGB, YUV, HSL, CMYK и т. Д. Являются цветовыми моделями, а не цветовыми пространствами. Цветовые пространства являются трехмерными, но обычно они имеют странные формы с бриллиантами, они никогда не бывают цилиндрическими или кубическими.
rista
1
С цифровой точки зрения да. С точки зрения рендеринга, это зависит от цветового пространства. ;)
Йриста
1
Используя примеры цветов Мэтта, он, вероятно, в конечном итоге станет ярко-желтым (255 255,0), так как это наиболее подходящий вариант. Если вы имеете в виду (255,0,0), то он окажется оранжевым. Существуют различные способы рендеринга, которые можно использовать при сопоставлении числовых значений цвета с координатами цветового пространства: Абсолютный, Относительный, Насыщенность, Воспринимаемый. В зависимости от цели, точный цветовой результат («визуализированный» цвет) будет немного (или, может быть, дико, действительно зависит от цветового пространства и профиля ICC) разным.
Йриста
3

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

Вот простая аналогия: вещь о высоте между двумя этажами как цветовое пространство. Это пространство между этажами. Сколько шагов вам нужно, чтобы построить лестницу от нижнего этажа до верхнего? Ответ зависит от размера шага. Это битовая глубина.

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

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

Итай
источник
Я думаю, что я все еще на том же уровне понимания. Ваша строительная аналогия смутила меня еще больше. Если вы сказали, что цветовое пространство - это количество уровней в здании (каждый уровень представляет цвет), тогда как шаги в здании могут быть битовой глубиной. Таким образом, в одном цветовом пространстве вы можете иметь разную глубину цвета. Если в здании используется sRGB с 8-битными шагами, в нем будет меньше деталей цвета, чем в 16-битном шаге sRGB. Однако увеличение битовой глубины увеличивает размер здания. Поэтому меняется (но не сильно) цветовое пространство ??
BBking
2
@BBking: Это не совсем правильно. Эти два не связаны таким образом. Размер здания не нужно менять, если вы перейдете на 16 шагов, потому что вы можете сделать шаги ближе друг к другу, чем когда у вас есть только 8 шагов. Битовая глубина - это близость шагов, а цветовое пространство - это размер здания. Я добавил ответ, который может помочь.
rista
1
Обратите внимание, что цветовое пространство не всегда представляет все возможные цвета, большинство из них этого не делают. Или вы хотели сказать что-то вроде «цветовое пространство X описывает множество возможных цветов в X»?
Френел
2

Давайте попробуем простой пример. Допустим, у нас есть цветовое пространство под названием «радуга». Он содержит цвета радуги, поэтому состоит из красного, оранжевого, желтого, зеленого, синего и фиолетового. Цветовое пространство описывает диапазон цветов, охватываемых гаммой.

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

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

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

Дополнительные биты, чтобы расширить цветовое пространство, которое вы покрываете, дают более точный контроль над цветами в цветовом пространстве или делают некоторую комбинацию из двух.

А. Дж. Хендерсон
источник
1

Простой способ думать о таких вещах состоит в том, что цветовые пространства являются контейнерами. Они содержат значения цвета цветового пространства, для которого они были созданы. Если они являются цветовыми пространствами RGB, значения RGB-0-255 в каждом канале. Если CMYK 0-100 значений.

Эти значения не изменяются, если изменяется объем цветового пространства. Что изменяет громкость цветового пространства, так это значения CIEXYZ, которые определяют это пространство. Цветовое пространство большего объема обычно может содержать более насыщенные цвета. Примером этого является sRGB - небольшое цветовое пространство по объему и ProPhoto - большое цветовое пространство по объему. Открытие изображения sRGB в Photoshop дает ожидаемый результат, но затем назначение профиля ProPhoto ICC резко меняет цвет изображения и делает его более насыщенным, но значения RGB не меняются. Просто их отношение к CIELab. Те значения CIEXYZ, которые определяют объем цветового пространства, преобразуются в CIELab, а затем в пространство назначения.

Битовая глубина - это количество информации о цвете, доступной в пикселе. Это очень хорошо объяснено здесьБолее высокая битовая глубина, применяемая к фотографии и цифровым изображениям, позволяет получить больше информации об изображении в каждом пикселе. Эта более высокая битовая глубина обеспечивает большую настраиваемость при открытии теней или возврате деталей подсветки. Помните, что отображается битовая глубина пикселя, а не захваченная битовая глубина. Помните, что как только биты или цветовое пространство уменьшены, их нельзя расширить. Получение 8-битного изображения до 16-битного не создает больше битов на пиксель, оно просто удваивает биты в 8-битном пикселе. То же самое с цветовыми пространствами. Если изображение было преобразовано в sRGB, и теперь вы хотели бы, чтобы все эти яркие цвета были получены из оригинального изображения, напечатанного на вашем большом принтере гаммы, извините, эти цвета больше не существуют в этом изображении sRGB. Начните заново и визуализируйте эти пиксели в большем цветовом пространстве.

Р Холл
источник