EssayAI
Блог
Блог
Математика и алгоритмы

Глубина цвета: кодирование графической информации

11 июня 2026Время чтения: 9 минут
#глубина цвета#кодирование графики#растровое изображение#бит на пиксель#объём файла

Цифровое изображение - это прямоугольная таблица пикселей, и каждый пиксель хранит цвет в виде числа. Глубина цвета (разрядность) определяет, сколько бит отводится на этот код: чем больше бит, тем богаче палитра и тем больше весит файл. Именно это понятие лежит в основе задач на кодирование графической информации в курсе информатики. Передвиньте ползунки калькулятора ниже - он сразу покажет число различимых оттенков и объём несжатого файла для любого сочетания глубины и разрешения.

Что такое глубина цвета и как её считать

Глубина цвета - это число бит, которое выделяется на хранение цвета одного пикселя. Обозначают её nn (бит/пиксель, бит/пкс, или англ. bpp - bits per pixel). Число различимых цветов при глубине nn выражается простой степенью двойки:

N=2nN = 2^n

При n=1n = 1 получаем N=2N = 2 - только чёрный и белый. При n=8n = 8 - уже N=256N = 256 оттенков. При n=24n = 24 - N=16777216N = 16\,777\,216 (более 16 миллионов) цветов, что соответствует стандарту True Colour.

Шкала глубины цвета: при увеличении числа бит от 1 до 24 палитра расширяется от двух тонов до 16 млн оттенков, а столбик объёма файла растёт пропорционально

Интуиция простая: каждый дополнительный бит удваивает число доступных комбинаций. Именно поэтому разница между 8 и 24 битами выглядит так разительно: прирост в 16 бит даёт 216=655362^{16} = 65\,536 кратное увеличение палитры.

Формула объёма растрового изображения

Несжатое растровое изображение хранит цвет каждого пикселя без потерь. Объём такого файла в битах:

Vбит=w×h×n,V_{\text{бит}} = w \times h \times n,

где ww - ширина в пикселях, hh - высота, nn - глубина цвета (бит/пиксель). Перевод в байты:

Vбайт=w×h×n8.V_{\text{байт}} = \frac{w \times h \times n}{8}.

Пример: фотография Full HD (1920 × 1080 пикселей) при глубине 24 бит:

V=1920×1080×248=497664008=6220800 байт5,93 МБ.V = \frac{1920 \times 1080 \times 24}{8} = \frac{49\,766\,400}{8} = 6\,220\,800 \text{ байт} \approx 5{,}93 \text{ МБ}.

Это несжатый BMP. Реальный JPEG сжимается в 10-20 раз, но для оценки объёма данных, которые компьютер обрабатывает в памяти, нужна именно формула выше.

Сравнение объёма несжатого файла при разной глубине цвета: от 1 бит (несколько КБ) до 32 бит (>7 МБ) для Full HD
Сравнение объёма несжатого файла при разной глубине цвета: от 1 бит (несколько КБ) до 32 бит (>7 МБ) для Full HD

Стандарты глубины цвета

Практически все встречающиеся в задачах значения - дискретная лестница степеней двойки. Разберём каждое.

1 бит - монохром. N=2N = 2 цвета: пиксель либо включён, либо выключен. Применяется в факсах, сканерах документов и QR-кодах. Файл маленький, но информация о цвете полностью отсутствует.

4 бита - 16 цветов. Палитра видеоадаптеров EGA/CGA эпохи DOS. Хватало для текстовых интерфейсов и примитивных игр. Сегодня практически не используется.

8 бит - 256 цветов. Стандарт формата GIF и PNG-8. При умном выборе 256 оттенков из всей палитры («адаптивная палитра») результат выглядит удовлетворительно для простой графики - иконок, логотипов, анимаций. Для фотографий заметны «полосы» из-за ограниченного числа оттенков.

16 бит - High Colour. N=65536N = 65\,536 оттенков. Широко применялось на мобильных экранах и мониторах 2000-х. Чаще всего реализуется в схеме RGB565: 5 бит красного, 6 зелёного (глаз чувствительнее), 5 синего. Заметного постеризации нет, но в деликатных градиентах (небо, кожа) проявляются ступеньки.

24 бита - True Colour. По 8 бит на каждый канал: красный (R), зелёный (G), синий (B). N=224=16777216N = 2^{24} = 16\,777\,216 - больше, чем различает глаз. Это стандарт JPEG, PNG-24, BMP и практически любого современного монитора. Именно с этой глубиной связано большинство задач по кодированию графики.

32 бита - True Colour + альфа. К трём RGB-каналам добавляется восьмибитный альфа-канал (прозрачность). Итого 4×8=324 \times 8 = 32 бит на пиксель. Стандарт 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 бит, N=256N = 256 уровней яркости. Объём вдвое меньше, чем у 16-битного High Colour, при сопоставимой «глубине».

Индексированная палитра. При 8-битной глубине каждый пиксель хранит не RGB-тройку, а индекс в таблице из 256 цветов. Таблица прилагается к файлу и занимает 256×3=768256 \times 3 = 768 байт - пренебрежимо мало. Это позволяет хранить изображение компактнее, чем в 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 битах буфер занимает ровно 1920×1080×4=82944001920 \times 1080 \times 4 = 8\,294\,400 байт, то есть около 8 МБ. Современные видеокарты с 8 ГБ видеопамяти могут одновременно держать сотни таких буферов для нужд рендеринга, обработки теней и постэффектов.

Отдельный случай - двойная буферизация (double buffering): пока один кадр выводится на экран, следующий рисуется в скрытом буфере. Это удваивает требование к видеопамяти под кадровые буферы, но полностью устраняет мерцание и разрыв картинки (tearing).

Решение типовых задач ЕГЭ и ОГЭ

Задачи на кодирование графики в ЕГЭ решаются по одной из двух логических цепочек.

Цепочка 1 - от числа цветов к глубине:

  • Дано: NN цветов. Найти nn бит/пиксель.
  • n=log2Nn = \log_2 N. Если NN не степень двойки - округляем вверх: минимальное целое nn такое, что 2nN2^n \ge N.

Цепочка 2 - от разрешения и глубины к объёму:

  • Дано: w×hw \times h пикселей, nn бит/пиксель. Найти VV.
  • Vбайт=w×h×n/8V_{\text{байт}} = w \times h \times n / 8. Перевести через 1024 (не 1000!) в КБ, МБ, ГБ.

Типичный вариант: «Монитор имеет разрешение 800 × 600 пикселей. Какой минимальный объём видеопамяти нужен при глубине 32 бит?»

V=800×600×328=153600008=1920000 байт1,83 МБ.V = \frac{800 \times 600 \times 32}{8} = \frac{15\,360\,000}{8} = 1\,920\,000 \text{ байт} \approx 1{,}83 \text{ МБ}.

Ближайший стандартный объём - 2 МБ.

Частые ошибки

  • Перевод через 1000 вместо 1024. В информатике 1 КБ = 1024 байт, 1 МБ = 1024 КБ. Перевод через 1000 занижает ответ примерно на 7 % на каждом шаге.
  • Путаница бит и байт. Формула V=w×h×nV = w \times h \times n даёт биты. Деление на 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 цветов достаточно для анимаций с плоской цветовой схемой.

Коротко

Глубина цвета nn бит/пиксель определяет число различимых оттенков по формуле N=2nN = 2^n и напрямую влияет на объём файла V=w×h×n/8V = w \times h \times n / 8 байт. Практические стандарты: 1 бит (монохром), 8 бит (256 цветов, GIF/PNG-8), 16 бит (High Colour), 24 бита (True Colour, PNG/JPEG), 32 бита (True Colour + альфа). В задачах ЕГЭ обычно нужно найти либо n=log2Nn = \log_2 N, либо объём несжатого изображения - калькулятор выше помогает проверить расчёт мгновенно.

Доверьте текст нейросети EssayAI

Открыть EssayAI

Бесплатно, на русском языке и без VPN

Читайте также