True color количество цветов

См. также

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

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

Содержание

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

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

  • 1-битная шкала яркости (2 1 = 2 ступени ): бинарное изображение, используется при выводе на чёрно-белый принтер (оттенки серого при этом имитируются с помощью дизеринга); также использовалась в графическом режиме видеоадаптера Hercules Graphics Card
  • 2-битная шкала яркости (2 2 = 4 ступени ): видеорежим NeXTstation
  • 8-битная шкала яркости (2 8 = 256 ступеней ): достаточна для адекватного представления чёрно-белых фотографий
  • 16-битная шкала яркости (2 16 = 65 536 ступеней ): используется в астрофотографии для получения изображений с большим динамическим диапазоном, а также при сложной обработке с целью избежать накопления ошибок округления

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

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

  • 1-битный цвет (2 1 = 2 цвета): бинарный цвет, чаще всего представляется чёрным и белым цветами (или чёрным и зелёным)
  • 2-битный цвет (2 2 = 4 цвета): CGA, БК.
  • 3-битный цвет (2 3 = 8 цветов): множество устаревших персональных компьютеров с TV-выходом
  • 4-битный цвет (2 4 = 16 цветов): известен как EGA и в меньшей степени как VGA-стандарт с высоким разрешением
  • 5-битный цвет (2 5 = 32 цвета): Original Amiga chipset
  • 6-битный цвет (2 6 = 64 цвета): Original Amiga chipset
  • 8-битный цвет (2 8 = 256 цветов): устаревшие Unix-рабочие станции, VGA низкого разрешения, Super VGA, AGA (стоит заметить что тот же VGA-режим, так называемый X-Mode, за счет технологии установки палитры позволял отобразить 256 цветов из цветового набора 262 144 цветов)
  • 12-битный цвет (2 12 = 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 для синей, то есть 2 5 = 32 возможных значения каждого цвета, которые дают 32 768 (32×32×32) возможных цвета.
  • 16-битный цвет использует 5 бит для представления красной составляющей, 5 для синей, но 6 бит (2 6 = 64 возможных значения) для представления зелёной, так как человеческий глаз более чувствителен к зелёной составляющей. Таким образом получаются 65 536 (32×64×32) цветов. 16-битный цвет упоминается как «тысячи цветов» ( thousands of colors ) в системах Macintosh.
  • Большинство современных ЖК-дисплеев отображают 18-битный цвет (64×64×64 = 262 144 комбинации), но благодаря дизерингу разница с TrueColor-дисплеями на глаз незначительна.

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

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

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

24-битный «реальный» цвет + Альфа канал (32bpp) [ править | править код ]

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

Читайте также:  Как начать торговать криптовалютой с нуля

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

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

Также 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 используют упомянутую технологию в некоторых телевизионных системах.

Читайте также:  Ati mobility radeon hd 5650 madison

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

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

24-битный цвет или True Color (от англ. истинный цвет) – это метод использования не меньше 24-битов на пиксель изображения. Это дает возможность отобразить большое количество цветов и оттенков. Цвет представляется, используя 256 уровней для каждого из трёх компонентов модели RGB: красного (R), зеленого (G) и синего (B), что в результате дает (2 24 ) = 16 777 216 цветов.

Существуют системы, в которых на представление цвета выделяется больше чем 8 бит на канал, например SGI, их также обычно называют True Color. В фотоаппаратах, которые обладают разрешающей способностью более 8 бит на канал (часто 12, иногда до 22), «полноцветное» изображение хранится в форме сырых данных (формат Raw).

См. также

24-битный цвет (являющийся подмножеством [1] [2] TrueColor англ. «истинный цвет» ) в компьютерной графике — метод представления и хранения изображения, позволяющий отобразить большое количество цветов, полутонов и оттенков. Цвет представляется с использованием 256 уровней для каждой из трёх компонент модели RGB: красного(R), зелёного(G) и синего(B), что в результате даёт 16 777 216 (2 24 ) различных цветов.

Обычно при кодировании пикселя на каждый из каналов (красный, зелёный, синий каналы) отводится по одному байту; четвёртый байт (если используется) обычно отводится либо для хранения данных альфа-канала, либо просто игнорируется [3] . Такое выравнивание до четырёх байт оптимально подходит для 32-битной архитектуры. Использование 24-битной адресации требует реализации умножения на 3, что составляет бо́льшую вычислительную нагрузку, чем умножение на 4, которое может быть реализовано с помощью сдвига.

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

Количество бит при оцифровке сигнала [ править | править код ]

Не следует путать количество бит при оцифровке сигнала (сканером или цифровой камерой) и количество бит при хранении и выводе на экран.

Цвет с 256 уровнями на канал хранится в гамма-корректированом виде, в то время как с пикселей камеры оцифровывается сигнал в линейном виде. Он обычно и хранится в сырых данных камеры в формате Raw.