Глубина цвета

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Глубина цвета

битовое изображение
8-битная шкала серого

8-битный цвет
15/16-bit: HighColor
24-bit: TrueColor
30/36/48-bit: DeepColor

См. также

Цветовая модель RGB
Цветовая модель CMYK
Цветовая палитра
Видимое излучение

Цвета в Web (Цвета HTML)

Глубина́ цве́та (ка́чество цветопереда́чи, би́тность изображе́ния) — термин компьютерной графики, означающий количество бит (объём памяти), используемое для хранения и представления цвета при кодировании одного пикселя растровой графики или видеоизображения.

Часто выражается единицей бит на пиксел (англ. bits per pixel, bpp).

Монохромные изображения[править | править вики-текст]

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

Индексированные цвета и палитры[править | править вики-текст]

4-битное изображение
8-битное изображение

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

  • 1-битный цвет (21 = 2 цвета): бинарный цвет, чаще всего представляется чёрным и белым цветами (или чёрным и зелёным)
  • 2-битный цвет (22 = 4 цвета): CGA
  • 3-битный цвет (23 = 8 цветов): множество устаревших персональных компьютеров с TV-выходом
  • 4-битный цвет (24 = 16 цветов): известен как EGA и в меньшей степени как VGA-стандарт с высоким разрешением
  • 5-битный цвет (25 = 32 цвета): Original Amiga chipset
  • 6-битный цвет (26 = 64 цвета): Original Amiga chipset
  • 8-битный цвет (28 = 256 цветов): устаревшие Unix-рабочие станции, VGA низкого разрешения, Super VGA, AGA (стоит заметить что тот же VGA-режим, так называемый X-Mode, за счет технологии установки палитры позволял отобразить 256 цветов из цветового набора 262 144 цветов)
  • 12-битный цвет (212 = 4096 цветов): некоторые Silicon Graphics и Color NeXTstation системы. Отдельного упоминания заслуживает уникальный режим HAM оригинальных персональных компьютеров Amiga. В этом видеорежиме компьютер Amiga на экране мог отобразить до 4096 цветов, при этом один пиксель изображения кодировался только шестью битами.

«Реальные» цвета (TrueColor)[править | править вики-текст]

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

8-битный «реальный» цвет[править | править вики-текст]

Сильно ограниченная, однако «реальная» цветовая схема, в которой по три бита (по восемь возможных значений) для красной (R) и зелёной (G) составляющих, и два оставшихся бита на пиксель для кодирования синей (B) составляющей (четыре возможных значения), позволяют представить 256 (8×8×4) различных цвета. Нормальный человеческий глаз менее чувствителен к синей составляющей, чем к красной и зелёной, поэтому синяя составляющая представляется одним битом меньше. Такая схема использовалась в MSX2-серии компьютеров в 1990-х годах.

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

12-битный «реальный» цвет[править | править вики-текст]

12-битный «реальный» цвет кодируется 4 битами (по 16 возможных значений) для каждой из R, G и B-составляющих, что позволяет представить 4096 (16×16×16) различных цветов. Такая глубина цвета иногда используется в простых устройствах с цветными дисплеями (например, в мобильных телефонах).

HighColor[править | править вики-текст]

HighColor или HiColor разработан для представления оттенков «реальной жизни», то есть наиболее удобно воспринимаемый человеческим глазом. Такой цвет кодируется 15 или 16 битами:

  • 15-битный цвет использует 5 бит для представления красной составляющей, 5 для зелёной и 5 для синей, то есть 25 = 32 возможных значения каждого цвета, которые дают 32 768 (32×32×32) возможных цвета.
  • 16-битный цвет использует 5 бит для представления красной составляющей, 5 для синей, но 6 бит (26 = 64 возможных значения) для представления зелёной, так как человеческий глаз более чувствителен к зелёной составляющей. Таким образом получаются 65 536 (32×64×32) цветов. 16-битный цвет упоминается как «тысячи цветов» (thousands of colors) в системах Macintosh.
  • Большинство современных LCD-дисплеев отображают 18-битный цвет (64×64×64 = 262 144 комбинации), но благодаря дизерингу разница с TrueColor-дисплеями на глаз незначительна.

TrueColor[править | править вики-текст]

24-битное изображение

TrueColor (от англ. true color — «истинный/настоящий цвет») приближен к цветам «реального мира», предоставляя 16,7 млн различных цветов. Такой цвет наиболее приятен для восприятия человеческим глазом различных фотографий, для обработки изображений.

  • 24-битный TrueColor-цвет использует по 8 бит для представления красной, синей и зелёной составляющих. Кодируется 28 = 256 различных вариантов представления цвета для каждого канала, или всего 16 777 216 цветов (256×256×256). 24-битный цвет упоминается как «миллионы цветов» (millions of colors) в системах Macintosh.

32-битный «реальный» цвет[править | править вики-текст]

«32-битный цвет» — это пример неправильного употребления термина при описании глубины цвета. Заблуждением является то, что 32-битный цвет позволяет представить 232 = 4 294 967 296 различных оттенков[1].

В реальности 32-битный цвет является 24-битным (TrueColor) с дополнительным 8-битным каналом, который либо заполнен нулями (не влияет на цвет), либо представляет собой альфа-канал, который задаёт прозрачность изображения для каждого пикселя — то есть существует 16 777 216 оттенков цветов и 256 градаций прозрачности[1].

Причиной, по которой используют «пустой» канал, является стремление оптимизировать работу с видеопамятью, которая у большинства современных[когда?] компьютеров имеет 32-битную адресацию и 32-битную шину данных[источник не указан 138 дней].

Также 32-битным является представление цвета в системе CMYK (по 8 бит отводятся на голубой, пурпурный, жёлтый и чёрный цвета)[1].

Deep Color (30/36/48 бит)[править | править вики-текст]

В конце 1990-х годов некоторые high-end графические системы, например SGI, начали использовать более 8 бит на канал - например, 12 или 16 бит. Программы профессионального редактирования изображений стали сохранять по 16 бит на канал, предоставляя «защиту» от накапливания ошибок округления, погрешностей при вычислении в условиях ограниченной разрядной сетки чисел.

Для дальнейшего расширения динамического диапазона изображений были созданы различные модели. Например High Dynamic Range Imaging (HDRI), использует числа с плавающей запятой и позволяет наиболее аккуратно описывать в изображениях интенсивный свет и глубокие тени в одном и том же цветовом пространстве. Различные модели описывают такие диапазоны, применяя более 32 бит на канал. Можно отметить созданный Industrial Light & Magic на рубеже XX и XXI веков формат OpenEXR, использующий 16-битные (половинной точности) числа с плавающей запятой, которые позволяют представить цветовые оттенки лучше, чем 16-битные целые числа. Предполагается, что такие схемы представления цвета заменят стандартные схемы, как только аппаратное обеспечение сможет с достаточной скоростью и эффективностью поддерживать новые форматы.

Поддержка в индустрии[править | править вики-текст]

Поддержка Deep Color (30, 36, или 48 бит) была добавлена в аппаратный интерфейс передачи цифрового видеосигнала HDMI 1.3 в 2006 году[2].

Стандарт DisplayPort поддерживает глубину цвета более 24 бит[3][4].

В Windows 7 есть поддержка цветов с глубиной от 30 до 48 бит[5].

При этом типичные ЖК-дисплеи были способны отображать пиксели с глубиной не более 24 бит, а форматы 36 и 48 бит позволяют кодировать больше цветов, чем способен различать человеческий глаз[6][7].

Телевизионный цвет[править | править вики-текст]

Аддитивное смешение цветов

Множество современных телевизоров и компьютерных дисплеев отображают изображения варьируя интенсивностью трёх основных цветов: синий, зелёный и красный. Яркий жёлтый, например, является композицией одинаковых по интенсивности красной и зелёной составляющих без добавления синей компоненты. Однако это только приближение, которое не даёт в действительности яркий жёлтый цвет. Именно поэтому последние технологии, как например Texas Instruments BrilliantColor расширяют типовые красные, зелёные и синие каналы новыми: голубым (сине-зелёным), пурпурным и жёлтым цветами[8]. Mitsubishi и Samsung используют упомянутую технологию в некоторых телевизионных системах.

Подразумевая использование 8-битных каналов 6-цветные изображения кодируются 48-битными цветами.

ATI FireGL V7350 видеоадаптеры поддерживают 40- и 64-битные цвета[9].

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. 1 2 3 Rich Franzen, Color Spaces, 1998—2010  (англ.)
  2. HDMI :: Resources :: Knowledge Base
  3. An Inside Look at DisplayPort v1.2
  4. VESA veröffentlicht DisplayPort 1.3
  5. Windows 7 High Color Support
  6. Mark Hachman. HDMI Upgraded To Support ‘Deep Color’ (англ.), ExtremeTech (June 12, 2006). Проверено 19 июля 2015.
  7. Том Копин (Kramer USA), Сергей Дмитренко. Глубокие цветные проблемы (mv13deep-hdmi-ru) 28-29. журнал Mediavision (Май 2013). Проверено 19 июля 2015.
  8. Hutchison, David C. (2006-04-05). «Wider color gamuts on DLP display systems through BrilliantColor technology». Digital TV DesignLine. Проверено 2007-08-16.
  9. ATI Launches The 1GB FireGL V7350 Video Card

Ссылки[править | править вики-текст]