Кодирование графической информации
Растровое кодирование изображений, глубина цвета, палитра, расчёт объёма графического файла по разрешению и глубине цвета.
В этой статье вы сможете узнать:
- как растровое изображение хранится в виде сетки пикселей и кода цвета каждого пикселя;
- как связаны между собой глубина цвета и количество цветов в палитре изображения;
- как рассчитать информационный объём растрового изображения.
Растровое кодирование изображения
Растровое изображение представляет собой сетку из отдельных точек — пикселей. Каждому пикселю соответствует свой цвет, закодированный определённым числом бит. Информация о размере изображения (ширина и высота в пикселях) и коде цвета каждого пикселя полностью описывает картинку.
Глубина цвета и количество цветов палитры
Глубина цвета — это количество бит, отведённых на кодирование цвета одного пикселя. Максимальное количество цветов , которое можно закодировать при данной глубине цвета, связано с ней формулой Хартли:
Пример. При глубине цвета 8 бит максимальное количество цветов палитры:
Пример. Изображение использует палитру из 16 цветов. Какова глубина цвета?
Если количество цветов палитры не является степенью двойки, глубину цвета, как и в задачах на измерение информации, находят округлением вверх до ближайшего целого.
Модель RGB и глубина цвета для цветных изображений
В модели RGB цвет каждого пикселя складывается из интенсивностей трёх базовых составляющих — красной (Red), зелёной (Green) и синей (Blue). Если на каждую составляющую отводится бит, то общая глубина цвета пикселя составляет:
Пример. В модели RGB на каждую составляющую отводится 8 бит (стандарт True Color). Какова общая глубина цвета и сколько всего цветов можно закодировать?
Расчёт объёма растрового изображения
Информационный объём изображения вычисляется как произведение общего числа пикселей на глубину цвета одного пикселя:
где — ширина изображения в пикселях, — высота в пикселях, — глубина цвета в битах.
Пример. Изображение имеет размер пикселей и глубину цвета 24 бита. Найдите объём изображения в байтах.
Как изменение разрешения влияет на количество пикселей
Общее число пикселей изображения равно произведению ширины и высоты: . Если увеличить хотя бы один из этих параметров, число пикселей растёт пропорционально этому параметру, а если увеличиваются оба измерения — число пикселей растёт пропорционально произведению коэффициентов их увеличения.
Увеличение только одной стороны. Если ширину увеличить в раз, а высоту оставить прежней, число пикселей тоже увеличится ровно в раз:
Пропорциональное увеличение обеих сторон. Если и ширину, и высоту увеличить в раз (сохранив пропорции изображения), число пикселей увеличится в раз, а не в раз:
Пример. Разрешение изображения увеличили с до (обе стороны выросли вдвое). Во сколько раз увеличилось число пикселей?
Было: пикселей.
Стало: пикселей.
Ответ: число пикселей увеличилось в 4 раза (то есть в раз, так как каждая сторона выросла в 2 раза).
Поскольку объём изображения при неизменной глубине цвета прямо пропорционален числу пикселей (), увеличение обеих сторон вдвое увеличивает не только число пикселей, но и объём файла в 4 раза — это частая причина ошибки, когда учащиеся ожидают увеличения объёма только в 2 раза.
Что такое PPI и DPI
PPI (pixels per inch, «пикселей на дюйм») — это характеристика цифрового изображения, показывающая, сколько пикселей приходится на один линейный дюйм при отображении или печати изображения. PPI связывает разрешение изображения в пикселях с его физическим размером:
Как PPI влияет на количество пикселей. Если физический размер изображения (в дюймах) остаётся неизменным, то количество пикселей прямо пропорционально плотности PPI: чем выше PPI, тем больше пикселей нужно, чтобы заполнить ту же самую площадь.
Пример. Изображение размером 4×3 дюйма нужно подготовить для печати сначала при плотности 100 PPI, а затем при плотности 300 PPI. Сколько пикселей потребуется в каждом случае?
При 100 PPI: , , всего пикселей.
При 300 PPI: , , всего пикселей.
Плотность выросла в 3 раза (с 100 до 300 PPI), а количество пикселей выросло в 9 раз () — поскольку пиксели заполняют двумерную площадь, число пикселей растёт пропорционально квадрату отношения плотностей.
Поскольку объём файла при неизменной глубине цвета прямо пропорционален числу пикселей, увеличение PPI при сохранении физического размера изображения увеличивает не только чёткость картинки, но и объём файла — причём в квадратичной, а не линейной зависимости от изменения плотности.
DPI (dots per inch, «точек на дюйм») — характеристика печатающего устройства (принтера, сканера), показывающая, сколько физических точек краски или сканирования оно способно разместить на одном дюйме. В отличие от PPI, которая описывает само цифровое изображение и его пиксельную сетку, DPI — это техническая характеристика устройства вывода или ввода изображения; на практике эти термины часто используют как взаимозаменяемые, но в задачах ЕГЭ важно различать: PPI — параметр изображения, DPI — параметр устройства.
Определение параметров изображения по его объёму
Если известен общий объём файла и один из параметров (например, разрешение или глубина цвета), можно найти недостающую величину, разделив известный объём на произведение остальных параметров.
Пример. Файл изображения занимает 256 Кбайт, разрешение изображения пикселей. Найдите глубину цвета.
Переводим объём в биты: бита.
Находим глубину цвета: бит.
Ответ: глубина цвета составляет 8 бит.
Алгоритм решения задач на кодирование изображений
- Определите, что дано в задаче: разрешение (ширина и высота в пикселях), глубина цвета, количество цветов палитры или общий объём файла.
- Если дано количество цветов палитры, а нужна глубина цвета — используйте формулу (округляя вверх, если не степень двойки).
- Если нужно найти общий объём изображения — перемножьте ширину, высоту и глубину цвета: .
- Если дан общий объём и нужно найти одну из неизвестных величин — разделите объём (в тех же единицах измерения) на произведение остальных известных величин.
- Не забывайте переводить биты в байты (делением на 8) и байты в килобайты/мегабайты (делением на 1024) при необходимости.
Примеры решения
Пример 1. Изображение размером пикселей закодировано с глубиной цвета 16 бит. Найдите объём изображения в Кбайтах.
Ответ: 1536 Кбайт.
Пример 2. Палитра изображения содержит 64 цвета. Изображение имеет размер пикселей. Найдите объём изображения в байтах.
Находим глубину цвета: бит.
Находим объём: бит байт.
Ответ: 22 500 байт.
Пример 3. Объём несжатого изображения составляет 256 Кбайт, глубина цвета — 8 бит, ширина — 256 пикселей. Найдите высоту изображения.
Переводим объём в биты: бита.
Находим общее число пикселей: .
Находим высоту: .
Ответ: высота изображения — 1024 пикселя.
Часто задаваемые вопросы
Почему глубина цвета для модели RGB True Color равна именно 24 битам? Потому что в этой модели цвет пикселя складывается из трёх составляющих (красная, зелёная, синяя), и на каждую из них по стандарту True Color отводится 8 бит — в сумме получается бита, что позволяет закодировать более 16 миллионов различных оттенков.
Что делать, если количество цветов палитры не является степенью двойки? Нужно округлить значение вверх до ближайшего целого числа бит — так же, как при определении числа бит на символ алфавита в задачах на измерение информации, поскольку глубина цвета физически не может быть нецелым числом бит.
Как влияет разрешение изображения на его объём при неизменной глубине цвета? Объём растрового изображения прямо пропорционален произведению ширины и высоты (общему числу пикселей) — при увеличении любого из этих параметров вдвое объём изображения тоже увеличивается вдвое, если глубина цвета остаётся прежней.
Учитывает ли формула сжатие изображения (например, в формате JPEG)? Нет, эта формула рассчитывает объём несжатого растрового изображения — реальные файлы в форматах со сжатием (JPEG, PNG) обычно занимают меньше места за счёт алгоритмов сжатия, которые не учитываются в базовой формуле, применяемой в задачах ЕГЭ.
Похожие темы для изучения
- Кодирование и измерение информации
- Кодирование текстовой информации
- Кодирование звуковой информации
- Системы счисления: перевод чисел между системами
Задачи для самостоятельного решения
- Изображение размером пикселей имеет глубину цвета 8 бит. Найдите объём изображения в Кбайтах.
- Палитра изображения содержит 32 цвета. Найдите глубину цвета.
- Изображение занимает 2 Мбайта, глубина цвета — 16 бит. Сколько всего пикселей в изображении?
- Изображение размером пикселей закодировано в модели RGB True Color. Найдите объём изображения в байтах.
- Найдите максимальное количество цветов, которое можно закодировать при глубине цвета 10 бит.
- Объясните, почему увеличение глубины цвета с 8 до 16 бит не увеличивает объём изображения ровно в 16 раз.
- Изображение имеет разрешение пикселей и плотность 300 PPI. Найдите его физический размер в дюймах при печати.
- Объясните, чем PPI отличается от DPI и почему увеличение PPI не меняет объём файла изображения.