23-10-2023
Глубина́ цве́та (ка́чество цветопереда́чи, би́тность изображе́ния) — термин компьютерной графики, означающий объём памяти в количестве бит, используемых для хранения и представления цвета при кодировании одного пикселя растровой графики или видеоизображения.
Часто выражается единицей бит на пиксел (англ. bits per pixel, bpp).
Содержание |
Возможные варианты представления цветовых палитр:
С увеличением количества бит в представлении цвета, количество отображаемых цветов стало становиться непрактично-большим для цветовых палитр (20-битная глубина цвета требует больше памяти для сохранения цветовой палитры, чем памяти для сохранения самих пикселей изображения). При большой глубине цвета на практике обычно кодируют яркости красной, зелёной и синей составляющих — такое кодирование обычно называют RGB-моделью.
Сильно ограниченная, однако «реальная» цветовая схема, в которой 3 бита (8 возможных значений) для красной (R) и зелёной (G) составляющих, и два оставшихся бита на пиксель для кодирования синей (B) составляющей (4 возможных значения), позволяют представить 256 (8 × 8 × 4) различных цвета. Нормальный человеческий глаз менее чувствителен к синей составляющей, чем к красной и зелёной, поэтому синяя составляющая представляется одним битом меньше. Такая схема использовалась в MSX2-серии компьютеров в 1990-х.
Не следует путать такую схему с 8bpp индексным цветом, который может быть представлен выбором различных цветовых палитр.
12-битный «реальный» цвет кодируется 4 битами (16 возможных значений) для каждой R, G и B-составляющих, что позволяет представить 4096 (16×16×16) различных цветов. Такая глубина цвета иногда используется в простых устройствах с цветными дисплеями (например, в мобильных телефонах).
Highcolor или HiColor разработан для представления оттенков «реальной жизни», то есть наиболее удобно воспринимаемый человеческим глазом. Такой цвет кодируется 15 или 16 битами:
Большинство современных LCD-дисплеев отображают 18-битный цвет (64×64×64 = 262 144 комбинаций), но благодаря технологии dithering разница с truecolor-дисплеями на глаз незначительна.
TrueColor приближен к цветам «реального мира», предоставляя 16,7 миллионов различных цветов. Такой цвет наиболее приятен для восприятия человеческим глазом различных фотографий, для обработки изображений.
«32-битный цвет» — это пример неправильного употребления термина при описании глубины цвета. Заблуждением является то, что 32-битный цвет позволяет представить 2³² = 4 294 967 296 различных оттенка.
В реальности 32-битный цвет является 24-битным (Truecolor) с дополнительным 8-битным каналом, который либо заполнен нулями (не влияет на цвет), либо представляет собой Альфа-канал, который задаёт прозрачность изображения для каждого пикселя.
Причиной, по которой используют «пустой» канал, является стремление оптимизировать работу с видеопамятью, которая у большинства современных компьютеров имеет 32-битную адресацию и 32-битную шину данных.
В конце 1990-х некоторые high-end графические системы, например SGI начали использовать более 8 бит на канал, например 12- или 16-бит. Разумеется такое количество оттенков не является востребованным при отображении цветов, однако программы профессионального редактирования изображений стали сохранять по 16 бит на канал, предоставляя «защиту» от накапливания ошибок округления, погрешностей при вычислении в условиях ограниченной разрядной сетки чисел.
Для дальнейшего расширения динамического диапазона изображений, включая High Dynamic Range Imaging (HDRI), числа с плавающей запятой позволяют описывать в изображениях наиболее аккуратно интенсивный свет и глубокие тени в одном и том же цветовом пространстве. Различные модели описывают такие диапазоны, применяя более 32 бит на канал. Можно отметить новый Industrial Light & Magic (ILM) формат, использующий 16-битные числа с плавающей запятой, которые позволяют представить цветовые оттенки лучше, чем 16-битные целые числа. Предполагается, что такие схемы представления цвета заменят стандартные схемы, как только аппаратное обеспечение сможет с достаточной скоростью и эффективностью поддерживать новые форматы.
Множество современных телевизоров и компьютерных дисплеев отображают изображения варьируя интенсивностью трёх основных цветов: синий, зелёный и красный. Яркий жёлтый, например, является композицией одинаковых по интенсивности красной и зелёной составляющих без добавления синей компоненты. Однако это только приближение, которое не даёт в действительности яркий жёлтый цвет. Именно поэтому последние технологии, как например Texas Instruments BrilliantColor расширяют типовые красные, зелёные и синие каналы новыми: голубым (сине-зелёным), пурпурным и желтым цветами[1]. Mitsubishi и Samsung используют упомянутую технологию в некоторых телевизионных системах.
Подразумевая использование 8-битных каналов 6-цветные изображения кодируются 48-битными цветами.
ATI FireGL V7350 видеоадаптеры поддерживают 40- и 64-битные цвета[2].
Глубина цвета.