Кодировка цветов при глубине цвета 24 бита что это
Компьютерная грамотность с Надеждой
Заполняем пробелы – расширяем горизонты!
Кодирование цветовой информации
В статье «Кодирование текстовой информации» объясняется, что один байт позволяет закодировать 256 различных значений и эта кодировка будет однозначно восприниматься компьютером.
В число этих значений входят, как мы помним из этой статьи, русские и английские буквы (как заглавные, так и прописные), знаки препинания и специальные символы.
Давайте теперь посмотрим с точки зрения компьютерной грамотности, как обстоит дело с кодированием цвета.
Понятно, что если использовать один байт, то можно закодировать 256 различных цветов. Для рисованных изображений таких как, например, в мультфильмах «Ну, погоди!», «Карлсон, который живет на крыше» этого вполне хватит. Но маловато будет для качественных изображений живой природы и им подобных. Человеческий глаз вполне может различать десятки миллионов цветовых оттенков.
Поэтому одного байта для кодирования цвета явно недостаточно. Возьмем два байта. Тогда получится, что двумя байтами можно закодировать 256×256=65536 различных цветов. Это ближе к тому, что мы видим на фотографиях и в журналах, но до таких цветов, как в живой природе, еще далеко.
Теперь давайте попробуем для кодирования цвета одной точки взять 3 байта (то есть 24 бита). Тогда количество возможных цветов увеличится еще: 256x256x256=16.777.216 (примерно 16,5 миллионов). Результат получается по качеству, сравнимый с живой природой.
Любой цвет можно представить в виде комбинации трех основных цветов: красного, зеленого и синего (цветовые составляющие). Способ разделения цвета на составляющие компоненты называется цветовой моделью. Ниже мы рассмотрим две цветовых модели: RGB и CMYK.
Цветовая модель RGB
При кодировании цвета точки с помощью трех байтов получается, что первый байт является красной составляющей, второй байт – зеленой, а третий – синей составляющей. Чем больше значение байта цветовой составляющей (в пределах от 0 до 255), тем ярче будет цвет.
Белый цвет. Точка белого цвета имеет все цветовые составляющие, и они имеют полную яркость: R (red – красный) = 255, G (green зеленый) = 255, B (blue – синий) = 255. Такая кодировка сокращенно называется по первым буквам спектра – RGB. Красный, синий и зеленый цвета удобны при воспроизведении цветов на мониторах компьютеров. Они устроены таким образом, что воспроизводят цвета путем «перемешивания» именно этих составляющих.
Цветовая модель CMYK
Несколько иначе кодируются цвета при распечатке картинок и текстов на цветном принтере. В принтерах технологически удобнее использовать другие цветовые составляющие. Это – составляющие, которые получаются при смешении красного с синим (лиловый), красного с зеленым (желтый) и синего с зеленым (голубой).
Таким образом, в цветных принтерах для воспроизводства всех 16 млн. цветов применяются 3 цветных картриджа: голубой – Cyan, лиловый – Magenta и желтый – Yellow. Для печати всех оттенков серого цвета часто применяется также черный (Black) картридж, в таких принтерах число картриджей составляет 4. Такая цветовая модель называется CMYK. Чтобы Black не путать с Blue из модели RGB, из слова Black берется последняя буква, входящая в название CMYK тоже последней.
Соответственно, при печати цветных изображений и текстов цвета перекодируются из кодировки «красный-зеленый-синий» в кодировку «голубой-магента-желтый». Эти операции выполняют драйверы (системные программы), обслуживающие цветные принтеры, а также некоторые прикладные профессиональные программы.
Следует отметить, что при нарушениях в настройках указанных драйверов или прикладных программ цвета при печати могут отличаться от цветов, которые мы видим на экране монитора. Это исправляется путем включения автоматических настроек или путем тщательной ручной настройки драйверов.
Практическое задание описано в статье “Смотрим на кодировку цвета”.
Источник
Глубина цвета — Color depth
Глубина цвета
1-битный монохромный
8-битная шкала серого
8-битный цвет
15- или 16-битный цвет (высокий цвет)
24-битный цвет (истинный цвет)
30-, 36- или 48-битный цвет (глубокий цвет)
Связанный
Индексированный цвет
Палитра
Цветовая модель RGB
Интернет-безопасный цвет
Глубинацвета или глубинацвета (см. Различия в написании ), также известная как битовая глубина , — это либо количество битов, используемых для обозначения цвета одного пикселя в растровом изображении или буфере кадра видео , либо количество бит, используемых для каждого цвета. составляющая одного пикселя. Для стандартов потребительского видео битовая глубина определяет количество бит, используемых для каждого цветового компонента. При ссылке на пиксель понятие может быть определено как бит на пиксель (bpp). При обращении к компоненту цвета концепция может быть определена как бит на компонент , бит на канал , бит на цвет (все три сокращенно bpc), а также бит на компонент пикселя , бит на канал цвета или бит на выборку (бит / с).
Глубина цвета — это только один аспект цветового представления, выражающий точность, с которой может быть выражено количество каждого основного цвета; другой аспект — насколько широкий диапазон цветов может быть выражен ( гамма ). Определение как точности цвета, так и гаммы достигается с помощью спецификации кодирования цвета, которая присваивает значение цифрового кода месту в цветовом пространстве .
Количество битов разрешенной интенсивности в цветовом канале также известно как радиометрическое разрешение , особенно в контексте спутниковых изображений .
Содержание
Сравнение
Одно и то же изображение с пятью разной глубиной цвета, показывающее результирующий (сжатый) размер файла. 8 и меньше используют адаптивную палитру, поэтому качество может быть лучше, чем могут обеспечить некоторые системы.
Индексированный цвет
При относительно низкой глубине цвета сохраненное значение обычно представляет собой число, представляющее индекс цветовой карты или палитры (форма векторного квантования ). Цвета, доступные в самой палитре, могут фиксироваться аппаратно или изменяться программным обеспечением. Изменяемые палитры иногда называют псевдоцвет палитрами.
Старые графические чипы, особенно те, которые используются в домашних компьютерах и игровых консолях , часто имеют возможность использовать различную палитру для спрайтов и плиток , чтобы увеличить максимальное количество одновременно отображаемых цветов, минимизируя использование тогда дорогой памяти (и пропускная способность). Например, в ZX Spectrum изображение хранится в двухцветном формате, но эти два цвета могут быть определены отдельно для каждого прямоугольного блока размером 8 × 8 пикселей.
Сама палитра имеет глубину цвета (количество бит на запись). В то время как лучшие системы VGA предлагали только 18-битную (262 144 цвета) палитру, из которой можно было выбирать цвета, все цветное видеооборудование Macintosh предлагало 24-битную (16 миллионов цветов) палитру. 24-битные палитры в значительной степени универсальны для любого современного оборудования или файлового формата, использующего их.
Если вместо этого цвет может быть напрямую определен из значений пикселей, это «прямой цвет». Палитры редко использовались для глубины, превышающей 12 бит на пиксель, поскольку память, потребляемая палитрой, превышала бы необходимую память для прямого цвета на каждом пикселе.
Список общих глубин
1-битный цвет
2 цвета, часто черный и белый (или любой другой цвет люминофора CRT ) прямой цвет. Иногда 1 означал черный, а 0 — белый, что противоречит современным стандартам. Большинство первых графических дисплеев были этого типа, система X Window была разработана для таких дисплеев, и это предполагалось для компьютера 3M . Первые Macintosh , Atari ST высокого разрешения. В конце 80-х были профессиональные дисплеи с разрешением до 300 точек на дюйм (как у современного лазерного принтера), но цветные оказались более популярными.
2-битный цвет
4 цвета, обычно из набора фиксированных палитр. CGA , серая шкала раннего NeXTstation , цвет Макинтоши, Atari ST разрешение среднего.
3-битный цвет
8 цветов, почти всегда все комбинации интенсивного красного, зеленого и синего. Многие ранние домашние компьютеры с телевизорами, включая ZX Spectrum и BBC Micro .
4-битный цвет
16 цветов, обычно из набора фиксированных палитр. Используется EGA и стандартом VGA с наименьшим общим знаменателем для более высокого разрешения, цветных Macintosh, Atari ST с низким разрешением, Commodore 64 , Amstrad CPC .
5-битный цвет
32 цвета из программируемой палитры, используемой чипсетом Original Amiga .
8-битный цвет
256 цветов, обычно из полностью программируемой палитры. Самые ранние цветные рабочие станции Unix, VGA с низким разрешением, Super VGA , цветные Macintosh, Atari TT , чипсет Amiga AGA , Falcon030 , Acorn Archimedes . И X, и Windows предоставили сложные системы, позволяющие каждой программе выбирать свою собственную палитру, что часто приводило к неправильным цветам в любом окне, кроме окна с фокусом.
В некоторых системах цветовой куб помещался в палитру для системы прямого цвета (и поэтому все программы использовали одну и ту же палитру). Обычно было предоставлено меньше уровней синего, чем других, поскольку нормальный человеческий глаз менее чувствителен к синему компоненту, чем к красному или зеленому (две трети глазных рецепторов обрабатывают более длинные волны). Популярные размеры были:
6 × 6 × 6 ( веб-безопасные цвета ), оставляя 40 цветов для серой рампы или вводов программируемой палитры.
8 × 8 × 4. 3 бита R и G, 2 бита B, правильное значение может быть вычислено из цвета без использования умножения. Используется, в частности, в серии компьютеров MSX2 с начала до середины 1990-х годов.
куб 6 × 7 × 6, оставляя 4 цвета для программируемой палитры или оттенков серого.
куб 6 × 8 × 5, оставляя 16 цветов для программируемой палитры или оттенков серого.
12-битный цвет
4096 цветов, обычно из полностью программируемой палитры (хотя часто задавался цветовой куб 16 × 16 × 16). Некоторые системы Silicon Graphics, системы Color NeXTstation и системы Amiga в режиме HAM .
Высокий цвет (15/16 бит)
В системах с высокой цветопередачей для каждого пикселя хранится два байта (16 бит). Чаще всего каждому компоненту (R, G и B) назначается 5 бит плюс один неиспользуемый бит (или используется для канала маски или для переключения на индексированный цвет); это позволяет представить 32 768 цветов. Однако альтернативное назначение, которое переназначает неиспользуемый бит каналу G, позволяет представить 65 536 цветов, но без прозрачности. Эта глубина цвета иногда используется в небольших устройствах с цветным дисплеем, таких как мобильные телефоны, и иногда считается достаточной для отображения фотографических изображений. Иногда используется 4 бита на цвет плюс 4 бита для альфа, что дает 4096 цветов.
Термин «высокий цвет» недавно использовался для обозначения глубины цвета более 24 бит.
18-битный
Почти все наименее дорогие ЖК-дисплеи (например, типичные витые нематические типы) обеспечивают 18-битный цвет (64 × 64 × 64 = 262144 комбинации) для достижения более быстрого перехода цвета и используют либо дизеринг, либо управление частотой кадров для приблизительно 24-битного истинный цвет на пиксель или полностью выбросить 6 бит информации о цвете. Более дорогие ЖК-дисплеи (обычно IPS ) могут отображать глубину цвета 24 бита или больше.
Истинный цвет (24 бита)
24 бита почти всегда используют по 8 бит для R, G и B. По состоянию на 2018 год 24-битная глубина цвета используется практически на каждом компьютере и дисплее телефона и в подавляющем большинстве форматов хранения изображений . Почти во всех случаях 32 бита на пиксель цвету назначается 24 бита, а оставшиеся 8 являются альфа-каналом или не используются.
2 24 дает 16 777 216 цветовых вариаций. Человеческий глаз может различать до десяти миллионов цветов, а поскольку гамма дисплея меньше, чем диапазон человеческого зрения, это означает, что он должен охватывать этот диапазон с большей детализацией, чем может быть воспринято. Однако дисплеи не распределяют цвета равномерно в пространстве человеческого восприятия, поэтому люди могут видеть изменения между некоторыми соседними цветами как цветовую полосу . Монохроматические изображения устанавливают для всех трех каналов одно и то же значение, в результате получается только 256 различных цветов и, следовательно, потенциально более заметные полосы, поскольку средний человеческий глаз может различать только около 30 оттенков серого. Некоторое программное обеспечение пытается смешать уровень серого в цветовых каналах, чтобы увеличить его, хотя в современном программном обеспечении это чаще используется для субпиксельного рендеринга для увеличения пространственного разрешения на ЖК-экранах, где цвета имеют немного разные положения.
Стандарты DVD-Video и Blu-ray Disc поддерживают битовую глубину 8 бит на цвет в YCbCr с субдискретизацией цветности 4: 2: 0 . YCbCr может быть преобразован без потерь в RGB.
Системы Macintosh относятся к 24-битному цвету как к «миллионам цветов». Термин истинный цвет иногда используется для обозначения того, что в этой статье называется прямым цветом . Он также часто используется для обозначения глубины цвета, большей или равной 24.
Глубокий цвет (30 бит)
Глубокий цвет состоит из миллиарда или более цветов. 2 30 составляет примерно 1,073 миллиарда. Обычно это 10 бит красного, зеленого и синего цветов. Если добавляется альфа-канал того же размера, то каждый пиксель занимает 40 бит.
Некоторые более ранние системы помещали три 10-битных канала в 32-битное слово , при этом 2 бита не использовались (или использовались как 4-уровневый альфа-канал); формат файла Cineon , например, использовал это. Некоторые системы SGI имели 10-разрядные (или более) цифро-аналоговые преобразователи для видеосигнала и могли быть настроены для интерпретации данных, хранящихся таким образом, для отображения. Файлы BMP определяют это как один из своих форматов, и Microsoft называет его «HiColor» .
Видеокарты с 10 битами на компонент начали поступать на рынок в конце 1990-х годов. Ранним примером была карта Radius ThunderPower для Macintosh, которая включала расширения для плагинов QuickDraw и Adobe Photoshop для поддержки редактирования 30-битных изображений. Некоторые производители называют свою 24-битную глубину цвета панелями FRC 30-битными панелями; однако дисплеи с истинно глубоким цветом имеют глубину цвета 10 или более бит без FRC.
Спецификация HDMI 1.3 определяет битовую глубину 30 бит (а также глубины 36 и 48 бит). В связи с этим видеокарты Nvidia Quadro, произведенные после 2006 года, поддерживают 30-битную глубину цвета и карты Pascal или более поздних версий GeForce и Titan в сочетании со Studio Driver, как и некоторые модели серии Radeon HD 5900, такие как HD 5970. ATI FireGL V7350 видеокарта поддерживает 40- и 64-битных пикселей (30 и 48 бит глубины цвета с альфа — каналом).
Спецификация DisplayPort также поддерживает глубину цвета более 24 битов на пиксель в версии 1.3 через VESA Display Stream Compression , которое использует алгоритм с малой задержкой без визуальных потерь, основанный на прогнозирующем цветовом пространстве DPCM и YCoCg-R, и позволяет увеличить разрешение и глубину цвета, а также снизить энергопотребление. потребление «.
На WinHEC 2008 Microsoft объявила, что в Windows 7 будет поддерживаться глубина цвета 30 бит и 48 бит , а также широкая цветовая гамма scRGB .
Высокоэффективное кодирование видео (HEVC или H.265) определяет профиль Main 10, который позволяет использовать 8 или 10 бит на выборку с субдискретизацией цветности 4: 2: 0 . Профиль Main 10 был добавлен на собрании HEVC в октябре 2012 года на основе предложения JCTVC-K0109, в котором предлагалось добавить 10-битный профиль в HEVC для потребительских приложений. В предложении говорилось, что это должно было позволить улучшить качество видео и поддержать Рек. Цветовое пространство 2020, которое будет использоваться UHDTV . Вторая версия HEVC имеет пять профилей, которые обеспечивают разрядность от 8 до 16 бит на выборку.
С 2020 года некоторые смартфоны начали использовать 30-битную глубину цвета, например OnePlus 8 Pro , Oppo Find X2 и Find X2 Pro, Sony Xperia 1 II , Xiaomi Mi 10 Ultra , Motorola Edge + , ROG Phone 3 и Sharp Aquos Zero. 2.
36-битный
Использование 12 бит на канал цвета дает 36 бит, примерно 68,71 миллиарда цветов. Если добавить альфа-канал того же размера, то будет 48 бит на пиксель.
48 бит
Использование 16 бит на цветовой канал дает 48 бит, примерно 281,5 триллиона цветов. Если добавляется альфа-канал того же размера, то на пиксель приходится 64 бита.
Программное обеспечение для редактирования изображений, такое как Photoshop, довольно рано начало использовать 16 бит на канал, чтобы уменьшить квантование промежуточных результатов (то есть, если операцию разделить на 4, а затем умножить на 4, она потеряет нижние 2 бита 8-битных данных. , но при использовании 16 битов 8-битные данные не теряются). Кроме того, цифровые камеры могли воспроизводить 10 или 12 бит на канал в своих необработанных данных; поскольку 16 бит — это наименьшая адресуемая единица большего размера, чем это, ее использование позволит манипулировать необработанными данными.
Высокий динамический диапазон и широкая гамма
Некоторые системы начали использовать эти биты для чисел вне диапазона 0–1, а не для увеличения разрешения. Цифры больше 1 означают, что цвета ярче, чем может отображать дисплей, как при визуализации с расширенным динамическим диапазоном (HDRI). Отрицательные числа могут увеличить цветовую гамму, чтобы охватить все возможные цвета, а также для хранения результатов операций фильтрации с отрицательными коэффициентами фильтра. Pixar Изображение Компьютер используется 12 бит для хранения чисел в диапазоне [-1.5,2.5), с 2 — мя битами для целой части и 10 для фракции. Система визуализации Cineon использовала 10-битные профессиональные видеодисплеи с видеооборудованием, настроенным таким образом, чтобы значение 95 было черным, а 685 — белым. Усиленный сигнал сокращал срок службы ЭЛТ.
Линейное цветовое пространство и плавающая точка
Больше битов также способствовало хранению света в виде линейных значений, где число напрямую соответствует количеству излучаемого света. Линейные уровни значительно упрощают расчет света (в контексте компьютерной графики). Однако линейный цвет приводит к непропорционально большему количеству образцов около белого и меньшему количеству около черного, поэтому качество 16-битного линейного цвета примерно равно 12-битному sRGB .
Числа с плавающей запятой могут представлять линейные уровни освещенности с полулогарифмическим интервалом между выборками. Представления с плавающей запятой также допускают значительно большие динамические диапазоны, а также отрицательные значения. Большинство систем сначала поддерживали одинарную точность 32 бита на канал , что намного превышало точность, требуемую для большинства приложений. В 1999 году Industrial Light & Magic выпустила открытый стандартный формат файлов изображений OpenEXR, который поддерживал 16-битные на канал числа с плавающей запятой половинной точности . При значениях, близких к 1,0, значения с плавающей запятой половинной точности имеют точность только 11-разрядного целого числа, что заставляет некоторых профессионалов в области графики отвергать половинную точность в ситуациях, когда расширенный динамический диапазон не требуется.
Более трех праймериз
Практически все телевизионные дисплеи и дисплеи компьютеров формируют изображения, меняя интенсивность всего трех основных цветов : красного, зеленого и синего. Например, ярко-желтый цвет образуется примерно равным вкладом красного и зеленого без синего вклада.
Дополнительные основные цвета могут расширить цветовую гамму дисплея, поскольку она больше не ограничивается формой треугольника в цветовом пространстве CIE 1931 . Последние технологии, такие как BrilliantColor от Texas Instruments , дополняют типичные красный, зеленый и синий каналы тремя другими основными цветами: голубым, пурпурным и желтым. Mitsubishi и Samsung , в частности, используют эту технологию в некоторых телевизорах для расширения диапазона отображаемых цветов. Sharp Aquos линия телевизоров представила Quattron технологию, которая дополняет обычные компоненты RGB пикселя с желтыми субпикселями. Однако форматы и носители, поддерживающие эти расширенные основные цвета, встречаются крайне редко.
Для хранения и работы с изображениями можно использовать «воображаемые» основные цвета, которые физически невозможны, так что треугольник охватывает гораздо большую гамму, поэтому человеческий глаз еще не знает, приводит ли более трех основных цветов к разнице. доказано, поскольку люди в первую очередь являются трихроматами , хотя тетрахроматы существуют.