Информация и кодирование
Задание 7 ЕГЭ по информатике: объём изображений и звука — разбор и примеры
Седьмое задание проверяет, умеете ли вы оценивать информационный объём графических и звуковых файлов. Обычно описано устройство — камера, сканер, диктофон, система видеонаблюдения, — которое создаёт файлы с заданными параметрами, и нужно найти размер файла, количество цветов в палитре, число снимков, которое поместится в отведённый объём, или длительность записи.
Вычисления простые, но в них много множителей и единиц измерения, поэтому выигрывает тот, кто работает аккуратно и считает в степенях двойки.
Что проверяет задание
- знание формулы объёма растрового изображения без сжатия: I = W · H · i, где W × H — размер в пикселях, i — глубина цвета (бит на пиксель);
- связь глубины цвета с количеством цветов: N ≤ 2^i, то есть i — наименьшее целое, при котором 2^i не меньше N;
- формулу объёма звука без сжатия: I = k · f · i · t, где k — число каналов (1 — моно, 2 — стерео), f — частота дискретизации (Гц), i — разрядность (бит), t — время (с);
- перевод единиц: 1 байт = 8 бит, 1 Кбайт = 1024 байта, 1 Мбайт = 1024 Кбайт.
Типичные формулировки
- «Какое наибольшее количество цветов можно использовать в палитре?» — по известному объёму находим i, затем N = 2^i.
- «Сколько изображений поместится в пакет объёмом … Мбайт?» — делим объём пакета на объём одного снимка и берём целую часть.
- «Определите длительность записи / размер файла» для звука, иногда с повторной записью при других параметрах: «во сколько раз изменится объём».
- Задачи с передачей по каналу: время = объём / скорость, где скорость дана в битах в секунду.
- Дополнительные данные: к каждому файлу добавляется служебная информация (заголовок) фиксированного размера.
Пошаговый метод
- Выпишите все параметры с единицами измерения. Отдельно отметьте, что известно и что нужно найти.
- Найдите глубину цвета или разрядность. Если дано число цветов N, то i = ⌈log₂ N⌉: для 1000 цветов i = 10, потому что 2^9 = 512 < 1000 ≤ 1024 = 2^10.
- Запишите формулу объёма и подставьте числа, по возможности раскладывая их на степени двойки: 1024 = 2^10, 768 = 3 · 2^8, 48 000 = 375 · 2^7. Так деление на 8 и на 1024 делается в уме.
- Переведите единицы в те, что требуются в ответе.
- Округлите правильно. Количество снимков — вниз (последний неполный не поместится), необходимую глубину цвета — вверх, длительность — как указано в условии.
Разбор примера 1: изображения
Камера делает снимки размером 1024 × 768 пикселей. Для кодирования используется палитра из 1000 цветов, коды пикселей записываются без сжатия и без служебной информации, каждый пиксель кодируется одинаковым минимально возможным числом бит. Снимки объединяются в пакеты, объём одного пакета не может превышать 30 Мбайт. Какое наибольшее число снимков может содержать пакет?
Шаг 1. Глубина цвета. 1000 цветов требуют i = 10 бит, так как 2^10 = 1024 ≥ 1000, а 2^9 = 512 меньше.
Шаг 2. Объём снимка. 1024 · 768 · 10 бит = 7 864 320 бит = 983 040 байт = 960 Кбайт. В степенях двойки: 2^10 · 3 · 2^8 · 10 / 2^3 / 2^10 = 960 Кбайт.
Шаг 3. Количество снимков. 30 Мбайт = 30 · 1024 = 30 720 Кбайт. 30 720 / 960 = 32.
Ответ: 32.
Разбор примера 2: звук
Музыкальный фрагмент записан в формате стерео с частотой дискретизации 32 000 Гц и разрешением 16 бит, сжатие не используется. Размер полученного файла — 15 000 Кбайт. Определите длительность записи в минутах.
Шаг 1. Объём одной секунды. 2 канала · 32 000 · 16 бит = 1 024 000 бит = 128 000 байт = 125 Кбайт.
Шаг 2. Длительность. 15 000 / 125 = 120 секунд, то есть 2 минуты.
Ответ: 2.
Проверка на Python
На экзамене удобно проверить арифметику в интерпретаторе: целочисленное деление // сразу даёт нужное округление вниз.
import math
# пример 1
bits = math.ceil(math.log2(1000)) # 10 бит на пиксель
image = 1024 * 768 * bits # бит в одном снимке
print(30 * 1024 * 1024 * 8 // image) # 32
# пример 2
per_second = 2 * 32000 * 16 // 8 # байт в секунду
print(15000 * 1024 // per_second // 60) # 2Вместо math.ceil(math.log2(N)) можно использовать надёжный вариант без дробных чисел: (N - 1).bit_length() для N ≥ 2.
Как изменяется объём
Частая разновидность — повторная запись или пересъёмка с изменёнными параметрами. Объём пропорционален каждому множителю формулы: если частоту увеличить в 2 раза, разрядность — в 1,5 раза, а время уменьшить в 3 раза, объём изменится в 2 · 1,5 / 3 = 1 раз, то есть не изменится. Не пересчитывайте объём заново — перемножьте коэффициенты.
Передача по каналу связи
Если файл передаётся по сети, время передачи равно объёму, делённому на скорость канала. Скорость почти всегда указана в битах в секунду, а объём — в байтах или Кбайтах, поэтому не забудьте умножить объём на 8. Например, файл размером 960 Кбайт по каналу 2^20 бит/с передаётся за 960 · 1024 · 8 / 2^20 = 7,5 секунды. Если в условии дополнительно говорится о сжатии, сначала найдите объём после сжатия, а затем время передачи, учитывая и время на упаковку и распаковку, если оно задано.
Частые ошибки
- Берут число цветов вместо глубины цвета. В формулу объёма входит i (биты на пиксель), а не N.
- Путают Кбайт и тысячу байт. В задачах ЕГЭ 1 Кбайт = 1024 байта, а частота 32 000 Гц — именно тридцать две тысячи.
- Забывают про количество каналов: стерео — два канала, квадро — четыре.
- Округляют число снимков вверх. Если получилось 32,7, в пакет помещается 32 снимка.
- Не учитывают служебную информацию, если она указана в условии: её объём прибавляется к каждому файлу.
Потренируйтесь
Решите задачи на изображения, звук и передачу данных: задания № 7 в банке. Связанная теория — в статье «Количество информации: текст, изображение, звук». Далее — задание 8: комбинаторика.