8-битная цветная графика — это метод хранения информации об изображении в памяти компьютера или в файле изображения, так что каждый пиксель представлен 8 битами (1 байт ). Максимальное количество цветов, которые могут быть отображены в любой момент времени, составляет 256 на пиксель или 2 8 . [1]
Чтобы превратить истинное цветное 24-битное изображение в 8-битное, изображение должно пройти процесс, называемый квантованием цвета. Квантование цвета — это процесс создания цветовой карты для менее плотного изображения из более плотного изображения. [2]
Самая простая форма квантования — просто назначить 3 бита красному, 3 бита зеленому и 2 бита синему, поскольку человеческий глаз менее чувствителен к синему свету. Это создает так называемое 3-3-2 8-битное цветное изображение, организованное как в следующей таблице:
Бит 7 6 5 4 3 2 1 0Данные RRRGGGBB
Этот процесс не является оптимальным. Могут быть различные группировки цветов, которые делают равномерное распределение цветов неэффективным и, вероятно, искажают фактическое изображение. Альтернативный подход заключается в использовании палитры , в которой каждый из 256 возможных индексов указывает на большее цветовое пространство (например, 256 цветов, выбранных из 4096). Поскольку цветовая карта не обязательно должна содержать все цвета, а просто должна точно представлять более плотное цветовое изображение, произвольный цвет может быть назначен каждому из 256 доступных цветовых индексов на карте.
Популярные подходы к созданию этих карт (также известных как палитры) включают алгоритм популярности , который выбирает 256 наиболее распространенных цветов и создает из них карту. Более точный алгоритм медианного разреза сортирует и разделяет цвета, чтобы найти медиану различных цветовых групп, что приводит к более точной окончательной цветовой карте. [3]
Из-за малого объема памяти и, как следствие, более высокой скорости 8-битных цветных изображений, 8-битный цвет был общепринятой основой для разработки компьютерной графики, пока больше памяти и более высокие скорости ЦП не стали легкодоступны потребителям. 8-битный цвет использовался во многих различных приложениях, включая: [4] [ проверка не удалась ]
Стандарт VGA для графического интерфейса использовал переопределяемую 256-цветную (8-битную) цветовую палитру, хотя они выбирались из 18-битной (6 бит на канал RGB, 262 144 цвета) гаммы. [5] [6] [7] [8] Разработанный в 1987 году IBM, интерфейс VGA поддерживал максимальное разрешение 640x480 пикселей. Из-за этого наследия некоторые типы изображений, такие как GIF и TIFF, используют 8-битную систему цветовой палитры для хранения данных.
Несмотря на то, что в настоящее время он устарел для большинства потребительских приложений, 8-битное кодирование цвета все еще может быть полезным в системах визуализации с ограниченной полосой пропускания данных или емкостью памяти. Например, оба марсохода Mars Exploration использовали 8-битный формат оттенков серого для навигационной визуализации. [9]
Из-за природы 8-битной системы большинство изображений имеют разные цветовые карты. Поскольку 8-битный цветной дисплей не может отображать два изображения с разными цветовыми картами одновременно, обычно невозможно отображать два разных 8-битных изображения на одном и том же таком дисплее одновременно. На практике, чтобы избежать этой проблемы, большинство изображений не используют полный диапазон из 256 цветов. Другая проблема возникает при обработке изображений: всякий раз, когда два изображения с разными цветовыми картами добавляются друг к другу, для результирующего изображения необходимо создать новую цветовую карту, что означает необходимость выполнения еще одной операции квантования, что делает результирующее изображение несовершенной версией ожидаемого результата. [1]
В настоящее время большинство графических аппаратных средств работают в 24-битном truecolor или 32-битном truecolor (24-битный truecolor и 8-битный альфа-канал ). Однако некоторые программы удаленного рабочего стола ( Virtual Network Computing , Remote Desktop Protocol ) могут переключаться на 8-битный цвет для экономии полосы пропускания . Благодаря сравнительно низкой стоимости и высокой скорости современных компьютеров, некоторые операции редактирования изображений даже выполняются в необработанном формате с использованием от 12 до 14 бит с каждого пикселя датчика изображения камеры , чтобы избежать снижения качества изображения при редактировании. [10]