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

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Глубина цвета
См. также

Глубина́ цве́та (ка́чество цветопереда́чи, би́тность изображе́ния, цветовое разреше́ние) — термин компьютерной графики, означающий количество бит (объём памяти), используемое для хранения и представления цвета при кодировании, либо одного пикселя растровой графики или видеоизображения (выражается единицей бит на пиксел (англ. bits per pixel, bpp)), либо для каждого цвета составляющего один пиксель (определяется как бит на компонент, бит на канал, бит на цвет (англ. bits per component, bits per channel, bits per color все три сокращенно bpc)). Для стандартов потребительского видео битовая глубина определяет количество бит, используемых для каждого цветового компонента.[1][2]

Монохромные изображения

[править | править код]

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

Индексированные цвета и палитры

[править | править код]
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) различных цветов. Такая глубина цвета иногда используется в простых устройствах с цветными дисплеями (например, в мобильных телефонах).

18-битный «реальный» цвет

[править | править код]

18-битный «реальный» цвет кодируется 6 битами (по 64 возможных значений) для каждой из R, G и B-составляющих, что позволяет представить ((64×64×64 = 262 144 комбинации) различных цветов. Такая глубина цвета используется в специальных режимах HAM8 на компьютерах Amiga с AGA чипсетом, при этом кодирование цветов осуществляется в 8 битах планарной графики. 6 бит для основных 64 цветов и 2 бита для индикации смещения цвета в нужный диапазон.

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.
  • Большинство современных ЖК-дисплеев отображают 18-битный цвет (64×64×64 = 262 144 комбинации), но благодаря дизерингу разница с TrueColor-дисплеями на глаз незначительна.
24-битное изображение

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

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

24-битный «реальный» цвет + альфа-канал (32bpp)

[править | править код]

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

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

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

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

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 году[4].

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

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

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

Телевизионный цвет

[править | править код]
Аддитивное смешение цветов

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

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

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

Примечания

[править | править код]
  1. Gary J. Sullivan, Jens-Rainer Ohm, Woo-Jin Han, Thomas Wiegand. Overview of the High Efficiency Video Coding (HEVC) Standard (англ.). Дата обращения: 21 ноября 2020. Архивировано 8 января 2020 года.
  2. Jens-Rainer Ohm, Gary J. Sullivan, Heiko Schwarz, Thiow Keng Tan, Thomas Wiegand. Comparison of the Coding Efficiency of Video Coding Standards—Including High Efficiency Video Coding (HEVC) (англ.). Дата обращения: 21 ноября 2020. Архивировано 11 августа 2013 года.
  3. 1 2 3 Rich Franzen, Color Spaces Архивная копия от 17 марта 2016 на Wayback Machine, 1998—2010 (англ.)
  4. HDMI :: Resources :: Knowledge Base. Дата обращения: 7 марта 2016. Архивировано из оригинала 10 июля 2009 года.
  5. An Inside Look at DisplayPort v1.2. Дата обращения: 7 марта 2016. Архивировано 8 марта 2016 года.
  6. VESA veröffentlicht DisplayPort 1.3. Дата обращения: 7 марта 2016. Архивировано 4 марта 2016 года.
  7. Windows 7 High Color Support. Дата обращения: 7 марта 2016. Архивировано 21 февраля 2009 года.
  8. Mark Hachman (2006-06-12). "HDMI Upgraded To Support 'Deep Color'" (англ.). ExtremeTech. Архивировано 22 июля 2015. Дата обращения: 19 июля 2015.
  9. Том Копин (Kramer USA), Сергей Дмитренко. Глубокие цветные проблемы 28—29. журнал Mediavision (май 2013). Дата обращения: 19 июля 2015. Архивировано 21 июля 2015 года.
  10. Hutchison, David C. Wider color gamuts on DLP display systems through BrilliantColor technology (англ.) // Digital TV DesignLine : journal. — 2006. — 5 April. Архивировано 28 сентября 2007 года.
  11. ATI Launches The 1GB FireGL V7350 Video Card. Дата обращения: 6 марта 2016. Архивировано 30 июля 2017 года.