На Горох
Информатика, 10 класс

§ 16. Кодирование графической информации

"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.

Объяснение темы В оглавлении: § 16. Кодирование графической информации

Кратко о теме

Растровое изображение хранится как сетка пикселей, а цвет каждого пикселя задаётся двоичным кодом. Количество пикселей зависит от разрешения, а число бит на один пиксель — от глубины цвета. Эти параметры определяют, насколько детальным и цветным может быть изображение и сколько места займут несжатые данные. Понимая их связь, можно оценивать объём графического файла и выбирать подходящие настройки изображения.

Объяснение темы

Текст подготовлен нейронной сетью по теме параграфа и не заменяет учебник — важные факты и формулировки сверяйте с ним.

Определения и обозначения

Растровое изображение — изображение, представленное прямоугольной сеткой пикселей, каждому из которых соответствует код цвета. Такая модель подходит для фотографий и других изображений с множеством оттенков. Представление в виде сетки позволяет хранить и обрабатывать изображение в компьютере.

Пиксель — минимальный элемент растрового изображения, для которого кодируется цвет. Слово образовано от английского picture element — «элемент изображения». Понимание пикселя помогает объяснить, из каких частей состоит растр и почему при увеличении картинки становятся видны квадратики.

Глубина цвета — число бит, отведённых для кодирования цвета одного пикселя. Если глубина равна i битам, можно задать до 2^i различных цветов. Этот параметр нужен, чтобы оценить цветовые возможности изображения и количество данных для хранения каждого пикселя.

Разрешение изображения — количество пикселей по горизонтали и вертикали, например 800 × 600. Первое число показывает ширину, второе — высоту растра. Чтобы найти общее число пикселей, значения перемножают: 800 × 600 = 480 000.

Как это устроено

При создании растрового изображения его представляют как сетку: каждая ячейка получает цвет, а компьютер сохраняет соответствующие коды. Это похоже на мозаику, где общий рисунок складывается из множества маленьких элементов. При увеличении масштаба размер ячеек на экране растёт, поэтому глаз начинает различать отдельные пиксели, а контуры могут выглядеть ступенчатыми.

Глубина цвета связана с числом двоичных комбинаций, которые можно составить из отведённых битов. Один бит даёт 2 варианта, два бита — 4, три — 8; в общем случае при глубине i доступно до 2^i кодов. Поэтому увеличение глубины позволяет представить больше оттенков, но требует больше бит для каждого пикселя.

Код цвета хранится в двоичном виде. При прямом кодировании он непосредственно задаёт цвет, а при использовании палитры число в коде указывает на запись с нужным цветом в таблице. Палитра позволяет хранить изображение с ограниченным набором цветов: пикселю достаточно записать номер, а не полное описание оттенка. Например, при двух битах можно задать четыре номера цветов.

Чтобы оценить объём несжатого растра, сначала находят число пикселей: ширину умножают на высоту. Затем это число умножают на глубину цвета, получая объём в битах: V = ширина × высота × глубина цвета. Поскольку в одном байте 8 бит, результат в битах делят на 8, чтобы получить байты; если ответ не целый, на хранение может понадобиться округление вверх.

Полученное значение описывает только несжатые данные пикселей и не обязательно совпадает с размером готового файла. Алгоритм сжатия может уменьшить объём, например используя повторяющиеся участки или закономерности изображения. Кроме того, файл может содержать заголовок, сведения о цветах и другие служебные данные, поэтому его итоговый размер зависит от формата и способа сохранения.

Параметры кодирования растрового изображения

ПараметрЧто означаетКак влияет на изображение или объём
РазрешениеШирина и высота растра в пикселяхОпределяет число пикселей и детализацию изображения
Глубина цветаЧисло бит для кода одного пикселяВлияет на объём данных и точность передачи оттенков
Число возможных цветовКоличество различных цветов, доступных при заданной глубинеПри i битах равно максимум 2^i
Число пикселейПроизведение ширины на высотуЧем их больше, тем больше кодов нужно хранить
Объём несжатых данныхЧисло пикселей, умноженное на глубину цветаПоказывает объём данных до сжатия, сначала в битах

С помощью таблицы удобно последовательно оценить изображение: сначала определить число пикселей, затем учесть глубину цвета. Так можно найти объём несжатых данных и понять, какие параметры его увеличивают. Расчёт относится к пиксельным данным, а не обязательно к итоговому размеру файла.

Разбор задач

Задача 1

Изображение размером 10 × 8 пикселей кодируется двумя битами на пиксель. Нужно определить число доступных цветов и объём несжатых данных в битах и байтах. Сначала отдельно вычислим число пикселей, а затем применим глубину цвета.

  1. Число цветов при глубине 2 бита: 2² = 4.
  2. Число пикселей: 10 × 8 = 80.
  3. Объём данных: 80 × 2 = 160 бит; в байтах: 160 / 8 = 20 байт.

Ответ: можно закодировать 4 цвета, объём несжатых данных равен 160 бит, или 20 байтам. Проверка проста: 20 байт × 8 = 160 бит.

Задача 2

Растровое изображение размером 640 × 480 пикселей хранится без сжатия с глубиной цвета 24 бита. Требуется найти объём данных в байтах и килобайтах. Сначала определим количество пикселей, после чего посчитаем биты и переведём их в нужные единицы.

  1. Число пикселей: 640 × 480 = 307 200.
  2. Объём в битах: 307 200 × 24 = 7 372 800 бит.
  3. Переводим в байты: 7 372 800 / 8 = 921 600 байт.
  4. При переводе в килобайты делим на 1024: 921 600 / 1024 = 900 КиБ.

Ответ: 921 600 байт, или 900 КиБ. Здесь использовано двоичное соотношение 1 КиБ = 1024 байта; при десятичном подсчёте килобайт результат будет 921,6 кБ.

Задача 3

Изображение 800 × 600 пикселей занимает 480 000 байт без учёта служебной информации. Нужно определить глубину цвета и максимальное число кодируемых цветов. Так как дан объём в байтах, сначала переведём его в биты, а затем выясним, сколько бит приходится на один пиксель.

  1. Число пикселей: 800 × 600 = 480 000.
  2. Переводим размер в биты: 480 000 × 8 = 3 840 000 бит.
  3. Находим глубину: 3 840 000 / 480 000 = 8 бит на пиксель.
  4. Находим число цветов: 2⁸ = 256.

Ответ: глубина цвета равна 8 битам, можно закодировать до 256 цветов. Деление объёма в битах на число пикселей даёт именно число бит на один пиксель.

Типичные ошибки

Иногда глубину цвета принимают за число цветов. Но глубина i — это число бит на пиксель, а число возможных кодов равно 2^i: например, 8 бит дают 256 цветов, а не 8. Чтобы проверить себя, возведите 2 в степень, равную глубине.

При подсчёте пикселей иногда умножают только одно измерение или принимают ширину за общее количество элементов. Число пикселей образует площадь сетки, поэтому нужны оба размера: ширина × высота. Проверьте, что для изображения 10 × 8 получилось 80 пикселей, а не 10 или 8.

Ещё одна ошибка — забыть, что размер в битах и размер в байтах выражены в разных единицах. В одном байте 8 бит, поэтому из битов в байты переходят делением на 8, а не умножением. Для самопроверки умножьте полученные байты на 8 и убедитесь, что вернулись к исходному числу битов.

Расчётный объём несжатых данных не всегда равен размеру файла. Такое равенство предполагает, что учитываются только коды пикселей и нет сжатия; реальные форматы могут добавлять служебные сведения. Сверьте условия задачи: если указано «без сжатия» и «без служебной информации», считайте по формуле, а для реального файла учитывайте эти факторы.

Связь с другими темами

Для расчётов нужны знания о двоичном кодировании: каждый бит может принимать одно из двух значений, а i битов задают до 2^i комбинаций. Также важно уметь переводить единицы информации: 1 байт содержит 8 бит. Без этих правил нельзя правильно вычислить ни число цветов, ни объём графических данных.

Разрешение и глубина цвета помогают выбирать параметры изображения. Более высокое разрешение даёт больше пикселей, а большая глубина позволяет хранить больше оттенков, но оба изменения обычно увеличивают объём несжатых данных. Эти параметры полезно учитывать при сохранении изображений и оценке места для них.

Кодирование растра связано с хранением данных и устройством компьютерных форматов. Формат определяет, как именно записываются пиксели, используется ли палитра и применяется ли сжатие. Поэтому одинаковые по разрешению и глубине изображения могут занимать разное место на диске.

Что запомнить

  • Растровое изображение состоит из пикселей.
  • Цвет каждого пикселя задаётся двоичным кодом.
  • При глубине i бит можно представить до 2^i цветов.
  • Число пикселей изображения равно произведению его ширины и высоты в пикселях.
  • Объём несжатых данных в битах равен числу пикселей, умноженному на глубину цвета.
  • Для перевода битов в байты результат делят на 8.

Частые вопросы по теме

Чем пиксель отличается от точки на экране?

Пиксель — элемент цифрового изображения, которому при кодировании назначают цвет. Точка экрана — физический элемент дисплея, который излучает свет; при выводе изображения пиксель может соответствовать одной или нескольким таким точкам.

Как узнать, сколько цветов можно закодировать при заданной глубине цвета?

Если на цвет одного пикселя отведено i бит, число возможных кодов равно 2^i. Например, при глубине 2 бита доступны 2² = 4 цвета.

Почему увеличение разрешения обычно увеличивает объём файла?

При увеличении ширины или высоты растёт общее число пикселей: его находят умножением ширины на высоту. Если глубина цвета не меняется, для хранения кодов большего числа пикселей требуется больше данных.

Как рассчитать объём несжатого изображения?

Сначала умножьте ширину на высоту и получите число пикселей. Затем умножьте его на глубину цвета в битах на пиксель; чтобы получить байты, разделите результат на 8.

Почему размер файла может быть меньше расчётного объёма несжатых данных?

Расчёт показывает объём самих кодов пикселей без сжатия и дополнительных данных. Сжатие может уменьшить объём, а заголовки и другая служебная информация, наоборот, увеличить размер файла.

Спросить по теме параграфа

§ 16. Кодирование графической информации

Эта же тема в других учебниках

Учебник

Оглавление →
Предмет
Информатика
Класс
10 класс
Учебник
"Информатика (базовый и углублённый уровни) (в 2 частях)", Поляков К.Ю., Еремин Е.А.