8-битный цвет
8-би́тный цвет в компьютерной графике — это метод хранения информации изображения в памяти компьютера либо в файле изображения, при этом каждый пиксель кодируется одним 8-битным байтом (октетом). Соответственно максимальное количество цветов, которые могут быть отображены одновременно,— 256 (28).
Применение
8-битные видеорежимы появились вместе с ростом объёмов памяти компьютеров. Основное своё распространение получили с конца 80-х, когда появились MSX2 и VGA. В середине 90-х, с появлением доступных 1—2-мегабайтных видеоплат, на рабочих столах ОС 8-битные режимы уступили пальму первенства 16-битным. В играх они продержались несколько дольше из-за высокой скорости — например, StarCraft (1998) работал в режиме 640×480×8 и не замедлялся на компьютерах класса Pentium-100 даже в массовых боях. Вышедший в 2000 году Grand Prix 3 использовал 8-битные режимы в программном рендеринге.
В настоящее время простые мобильные видеочипы работают как минимум с 12-битным цветом; на настольных машинах применяется 24- или 32-битный truecolor. Однако 8-битные GIF и PNG всё ещё широко используются как метод сжатия графики. Некоторые программы удалённого управления (Virtual Network Computing, Remote Desktop Protocol) могут использовать 8-битные цвета для уменьшения требований к пропускной способности.
Форматы 8-битного цвета
В компьютерной графике существуют такие форматы 8-битного цвета:
Индексированный цвет
Наиболее часто используемый формат — палитровый (индексированный). В этом случае из широкого цветового пространства (в VGA — 64³ = 262 144 цветов, на более поздних видеоадаптерах — 256³ = 16 777 216) выбираются любые 256 цветов. Их значения R, G и B хранятся в специальной таблице — палитре. В каждом из пикселей изображения хранится номер цвета в палитре — от 0 до 255.
8-битные графические форматы эффективнее (по сравнению с truecolor-форматами) сжимают картинки, у которых не более 256 различных цветов. Также варьирование количества цветов — один из методов сжатия с потерями.
Большинство 8-битных форматов изображений хранят используемую палитру из 256 цветов вместе с картинкой. Если такое изображение отображается на 8-битном графическом аппаратном обеспечении, палитра загружается в видеоплату. В этом случае цветовые гаммы других изображений на экране пострадают, так как их палитры могут быть несовместимы с вновь загруженной палитрой.
Преимущество индексированных цветов в высоком качестве изображения — широкий цветовой охват сочетается с небольшим расходом памяти. Также на 8-битном аппаратном обеспечении можно делать очень быстрые палитровые спецэффекты, принципиально недостижимые в 16- и 24-битном режиме на компьютерах того времени (начало-середина 90-х годов). Наконец, вместе с одной картинкой можно хранить несколько палитр (получается несколько картинок разных цветов).
Недостатком является то, что если в 8-битном видеорежиме надо отобразить одновременно несколько 8-битных картинок, приходится сводить их к одной общей палитре (при этом страдает качество). Также построение оптимальной палитры для полноцветного изображения может занять много времени. Поэтому в случаях, когда требуется скорость (веб, воспроизведение видео на truecolor-кодеке), применяют чёрно-белые или однородные палитры. Во времена 8-битных видеоплат широко применялись 8-битные кодеки — Smacker, Escape и другие.
Чёрно-белая палитра
Чёрно-белое изображение с 8-битной разрядностью: от чёрного (0) до белого (255) получается 256 градаций серого.
Вместо чёрно-белой шкалы мог быть любой другой цветовой градиент (например, сепия).
Однородные палитры
Другой формат представления 8-битных цветов — это «реальное» описание красной, зелёной и синей составляющей с низкой разрядностью. Такая форма представления цвета в компьютерной графике обычно называется «8-битным TrueColor» или «однородной палитрой» (англ. uniform palette). Вот некоторые из широко употребляемых однородных палитр.
- 8×8×4 (R3G3B2)
- В этой палитре используется 3-битный красный цвет, 3-битный зелёный и 2-битный синий.
Бит 07 06 05 04 03 02 01 00 Данные R R R G G G B B (где R-красная, G-зелёная, B-синяя составляющие)
- Применялась в платформе бытовых компьютеров MSX2. Преимущество: простота аппаратной реализации (R, G и B — битовые поля). Недостаток в низкой разрядности по синему цвету (даже несмотря на то, что люди менее чувствительны к оттенкам синего).
- 6×6×6 (палитра Netscape)
- Безопасная палитра Netscape — палитра, в которой красная, зелёная и синяя компонента принимают значения от 0 до 5 (всего 6³ = 216 цветов). В truecolor «безопасными» являются цвета, у которых все три компоненты принимают значения
00
,33
,66
,99
,CC
илиFF
— например,6633FF
. - Применялась на заре веба — в середине 90-х годов, когда количество пользователей с 256-цветными видеоплатами всё ещё было значительным. Преимущество в простоте запоминания; также системе остаётся достаточно цветов на собственные нужды. Недостаток в том, что 8-битная разрядность используется не полностью, даже с учётом «системных» цветов.
Изредка применяются и другие палитры:
- 6×7×6 = 252 цвета.
- 6×8×5 = 240 цветов.