Глубина цвета: кодирование графической информации
Цифровое изображение - это прямоугольная таблица пикселей, и каждый пиксель хранит цвет в виде числа. Глубина цвета (разрядность) определяет, сколько бит отводится на этот код: чем больше бит, тем богаче палитра и тем больше весит файл. Именно это понятие лежит в основе задач на кодирование графической информации в курсе информатики. Передвиньте ползунки калькулятора ниже - он сразу покажет число различимых оттенков и объём несжатого файла для любого сочетания глубины и разрешения.
Что такое глубина цвета и как её считать
Глубина цвета - это число бит, которое выделяется на хранение цвета одного пикселя. Обозначают её (бит/пиксель, бит/пкс, или англ. bpp - bits per pixel). Число различимых цветов при глубине выражается простой степенью двойки:
При получаем - только чёрный и белый. При - уже оттенков. При - (более 16 миллионов) цветов, что соответствует стандарту True Colour.
Интуиция простая: каждый дополнительный бит удваивает число доступных комбинаций. Именно поэтому разница между 8 и 24 битами выглядит так разительно: прирост в 16 бит даёт кратное увеличение палитры.
Формула объёма растрового изображения
Несжатое растровое изображение хранит цвет каждого пикселя без потерь. Объём такого файла в битах:
где - ширина в пикселях, - высота, - глубина цвета (бит/пиксель). Перевод в байты:
Пример: фотография Full HD (1920 × 1080 пикселей) при глубине 24 бит:
Это несжатый BMP. Реальный JPEG сжимается в 10-20 раз, но для оценки объёма данных, которые компьютер обрабатывает в памяти, нужна именно формула выше.

Стандарты глубины цвета
Практически все встречающиеся в задачах значения - дискретная лестница степеней двойки. Разберём каждое.
1 бит - монохром. цвета: пиксель либо включён, либо выключен. Применяется в факсах, сканерах документов и QR-кодах. Файл маленький, но информация о цвете полностью отсутствует.
4 бита - 16 цветов. Палитра видеоадаптеров EGA/CGA эпохи DOS. Хватало для текстовых интерфейсов и примитивных игр. Сегодня практически не используется.
8 бит - 256 цветов. Стандарт формата GIF и PNG-8. При умном выборе 256 оттенков из всей палитры («адаптивная палитра») результат выглядит удовлетворительно для простой графики - иконок, логотипов, анимаций. Для фотографий заметны «полосы» из-за ограниченного числа оттенков.
16 бит - High Colour. оттенков. Широко применялось на мобильных экранах и мониторах 2000-х. Чаще всего реализуется в схеме RGB565: 5 бит красного, 6 зелёного (глаз чувствительнее), 5 синего. Заметного постеризации нет, но в деликатных градиентах (небо, кожа) проявляются ступеньки.
24 бита - True Colour. По 8 бит на каждый канал: красный (R), зелёный (G), синий (B). - больше, чем различает глаз. Это стандарт JPEG, PNG-24, BMP и практически любого современного монитора. Именно с этой глубиной связано большинство задач по кодированию графики.
32 бита - True Colour + альфа. К трём RGB-каналам добавляется восьмибитный альфа-канал (прозрачность). Итого бит на пиксель. Стандарт PNG с прозрачностью, форматов интерфейсов и веб-графики. Число видимых цветов то же, что при 24 битах, но каждый может быть полупрозрачным.
48 бит - Deep Colour. По 16 бит на канал. Используется в профессиональной цветокоррекции, RAW-форматах камер и медицинской визуализации, где важно не потерять детали при постобработке. В задачах ЕГЭ/ОГЭ почти не встречается, но полезно знать как «потолок».
Цветовые модели и их связь с глубиной
Глубина цвета неотделима от цветовой модели - способа описать цвет числовым кодом.
RGB (Red, Green, Blue) - аддитивная модель для экранов. Три канала по 8 бит дают 24 бит/пиксель. Значение (255, 0, 0) - чистый красный, (0, 0, 0) - чёрный, (255, 255, 255) - белый.
CMYK (Cyan, Magenta, Yellow, Key/Black) - субтрактивная модель для печати. Четыре канала, обычно по 8 бит каждый, итого 32 бит. Заметьте: 32-битный CMYK и 32-битный RGBA - разные схемы хранения, одно не заменяет другое.
Оттенки серого (Grayscale). Один канал, как правило 8 бит, уровней яркости. Объём вдвое меньше, чем у 16-битного High Colour, при сопоставимой «глубине».
Индексированная палитра. При 8-битной глубине каждый пиксель хранит не RGB-тройку, а индекс в таблице из 256 цветов. Таблица прилагается к файлу и занимает байт - пренебрежимо мало. Это позволяет хранить изображение компактнее, чем в 24-битном RGB.
Как глубина влияет на качество и сжатие
Увеличение глубины с 8 до 24 бит в три раза увеличивает несжатый объём, но визуально устраняет «постеризацию» - ступенчатые переходы в градиентах. Для фотографий 24 бита - необходимый минимум; иначе портреты и пейзажи выглядят как рисунки из MS Paint.
Алгоритмы сжатия реагируют на глубину по-разному. Lossless (PNG, BMP RLE) сжимают тем лучше, чем однороднее цвета в соседних пикселях. При 24 битах соседние пиксели близки, но не идентичны - степень сжатия умеренная (2-4 раза). Lossy (JPEG) работает с блоками 8×8 пикселей через DCT-преобразование: он «не замечает» разницу между 24 и 32 битами, поскольку выбрасывает высокочастотные детали ещё до квантования.
На практике это значит: для скриншота интерфейса (плоские заливки) 8-битный PNG даст файл размером с 24-битный JPEG. Для фотографии природы - наоборот: JPEG при quality 80 втрое компактнее PNG-24, и потери незаметны.
Разрядность видеопамяти и видеокарт
Глубина цвета тесно связана с видеопамятью. Видеокарта держит текущий кадр в кадровом буфере (framebuffer). Объём буфера зависит именно от разрешения экрана и глубины цвета по той же формуле. Для монитора 1920 × 1080 при 32 битах буфер занимает ровно байт, то есть около 8 МБ. Современные видеокарты с 8 ГБ видеопамяти могут одновременно держать сотни таких буферов для нужд рендеринга, обработки теней и постэффектов.
Отдельный случай - двойная буферизация (double buffering): пока один кадр выводится на экран, следующий рисуется в скрытом буфере. Это удваивает требование к видеопамяти под кадровые буферы, но полностью устраняет мерцание и разрыв картинки (tearing).
Решение типовых задач ЕГЭ и ОГЭ
Задачи на кодирование графики в ЕГЭ решаются по одной из двух логических цепочек.
Цепочка 1 - от числа цветов к глубине:
- Дано: цветов. Найти бит/пиксель.
- . Если не степень двойки - округляем вверх: минимальное целое такое, что .
Цепочка 2 - от разрешения и глубины к объёму:
- Дано: пикселей, бит/пиксель. Найти .
- . Перевести через 1024 (не 1000!) в КБ, МБ, ГБ.
Типичный вариант: «Монитор имеет разрешение 800 × 600 пикселей. Какой минимальный объём видеопамяти нужен при глубине 32 бит?»
Ближайший стандартный объём - 2 МБ.
Частые ошибки
- Перевод через 1000 вместо 1024. В информатике 1 КБ = 1024 байт, 1 МБ = 1024 КБ. Перевод через 1000 занижает ответ примерно на 7 % на каждом шаге.
- Путаница бит и байт. Формула даёт биты. Деление на 8 - обязательный шаг для получения байт.
- 32 бита = 32-битный цвет. Иногда смешивают с «32-битной архитектурой» или «32-битным числом» - это разные вещи. В контексте графики 32 бит/пиксель = 4 байта на пиксель.
- Сжатый файл vs. объём в памяти. JPEG-файл весит 500 КБ, но при открытии разворачивается в RAM как 24-битный BMP - тогда и нужна расчётная формула.
- Палитра считается отдельно. При 8-битном индексированном PNG добавляйте к объёму пикселей ещё 768 байт таблицы цветов - в большинстве задач это пренебрежимо, но проверяющий может спросить.
FAQ
Почему именно 8 бит на канал стали стандартом для True Colour? Человеческий глаз различает примерно 100 уровней яркости по каждому измерению. 256 уровней (8 бит) перекрывают этот диапазон с запасом. Увеличение до 16 бит/канал важно не для отображения, а для промежуточных вычислений при цветокоррекции - иначе накапливаются ошибки округления.
Что такое HDR и при чём здесь глубина цвета? HDR (High Dynamic Range) требует не просто больше оттенков, но и расширенный диапазон яркости (за пределы sRGB). Обычно это 10 или 12 бит/канал вместо 8 - отсюда форматы HDR10 (30 бит/пиксель) и HDR12. Итоговый файл занимает примерно на 25-50 % больше, чем 24-битный аналог.
Почему GIF ограничен 256 цветами? Формат GIF создавался в 1987 году под ограничения видеокарт того времени. Разработчики зафиксировали 8-битную палитру, и этот лимит намертво вошёл в стандарт. Из-за него GIF непригоден для фотографий, зато его 256 цветов достаточно для анимаций с плоской цветовой схемой.
Коротко
Глубина цвета бит/пиксель определяет число различимых оттенков по формуле и напрямую влияет на объём файла байт. Практические стандарты: 1 бит (монохром), 8 бит (256 цветов, GIF/PNG-8), 16 бит (High Colour), 24 бита (True Colour, PNG/JPEG), 32 бита (True Colour + альфа). В задачах ЕГЭ обычно нужно найти либо , либо объём несжатого изображения - калькулятор выше помогает проверить расчёт мгновенно.
Читайте также

Цветовая модель RGB: как кодируется один пиксель
Цветовая модель RGB простыми словами: как пиксель кодируется тремя каналами R, G, B, сколько бит уходит на пиксель, как считать число цветов и переводить цвет в HEX-код.

Абстрактный класс и интерфейс: в чём отличие
Абстрактный класс и интерфейс: чем отличаются в ООП, когда наследовать поведение, а когда задавать контракт, как выбрать на примерах Java, C# и Python.

Алгоритм AdaBoost: как слабые классификаторы дают сильный
Алгоритм AdaBoost простыми словами: адаптивный бустинг, перевзвешивание объектов, формула веса классификатора, итоговый ансамбль и разбор шага на примере с формулами.