Задание 7: объём графики и звука
Учимся быстро считать «вес» картинки и звукового файла по их параметрам и аккуратно переводить биты в килобайты и мегабайты.
Информационный объём мультимедиа = число элементарных отсчётов, умноженное на число бит, кодирующих один отсчёт. Для растра отсчёт — пиксель, для звука — измерение амплитуды.
Задание №7 ЕГЭ — расчёт объёма графического или звукового файла. Оно опирается на пройденный материал про кодирование изображений и звука, но требует уверенно работать с формулами и кратными единицами. Главная мысль одна: любой такой объём — это «сколько кусочков» умножить на «сколько бит на кусочек». Если держать эту мысль в голове, не приходится заучивать отдельные формулы для картинок, для звука и для текста — все они оказываются одной и той же идеей в разных одеждах.
Почему вообще нужен такой расчёт? На практике от объёма зависит, поместится ли файл в память, как долго он будет грузиться по сети и сколько места займёт архив фотографий или подкаст. В экзамене же проверяют не зубрёжку, а понимание: умеете ли вы связать физические параметры записи (разрешение, число цветов, частоту, разрядность) с числом битов и грамотно перевести результат в привычные килобайты и мегабайты. Разберём оба типа объектов по очереди и на конкретных числах.
Растровое изображение: глубина цвета
Растровая (точечная) картинка хранится как прямоугольная сетка пикселей. Каждый пиксель — это маленький квадратик одного цвета; вместе они и складываются в изображение. Чтобы посчитать «вес» такой картинки, нужны всего две величины: сколько в ней пикселей и сколько бит уходит на запись цвета одного пикселя.
Картинка разбита на сетку пикселей $N$ штук (ширина × высота). Каждый пиксель кодируется $i$ битами — это глубина цвета. Объём:
$$I = N \cdot i$$
Глубина цвета связана с числом доступных цветов $K$ соотношением $K = 2^{i}$, откуда $i = \log_2 K$. Логика тут ровно та же, что у мощности алфавита: каждый бит удваивает число различимых вариантов, поэтому $i$ бит дают $2^i$ цветов. Запомните частые значения: 1 бит — 2 цвета, 4 бита — 16 цветов, 8 бит — 256 цветов, 16 бит — 65536, 24 бита (True Color) — около 16,7 млн цветов. В условии обычно дают либо палитру (число цветов $K$) и тогда сначала находят $i$, либо сразу глубину цвета в битах — отличать одно от другого критично.
Задача 1
Изображение $1024 \times 512$ пикселей, палитра из 256 цветов. Найти объём в килобайтах.
Шаг 1. Глубина цвета: $i = \log_2 256 = 8$ бит.
Шаг 2. Число пикселей: $N = 1024 \cdot 512 = 524288$.
Шаг 3. Объём в битах: $I = 524288 \cdot 8 = 4194304$ бит.
Шаг 4. Перевод: $4194304 / 8 = 524288$ байт; $524288 / 1024 = 512$ Кбайт.
Аккуратный приём — считать в степенях двойки: $1024 = 2^{10}$, $512 = 2^9$, $i = 2^3$ бит $= 2^0$ байт. Тогда объём в Кбайтах: $2^{10} \cdot 2^{9} \cdot 2^{0} / 2^{10} = 2^{9} = 512$ Кбайт — без громоздких умножений. Этот трюк экономит уйму времени на экзамене: пока сосед перемножает шестизначные числа в столбик и ошибается, вы складываете показатели степеней в уме. Поэтому привыкайте раскладывать размеры и глубину цвета в степени двойки сразу, как только увидели условие.
Звук: частота, разрядность, каналы
Звук в природе — непрерывная волна давления воздуха. Чтобы записать его в файл, волну оцифровывают: много раз в секунду измеряют её мгновенную громкость и каждое измерение записывают целым числом. Чем чаще измеряем и чем больше бит на одно измерение — тем точнее звук и тем больше файл. Отсюда и берутся параметры записи. Аналоговый звук оцифровывают: $f$ раз в секунду измеряют амплитуду (частота дискретизации, Гц) и каждое измерение кодируют $b$ битами (глубина/разрядность). Если каналов $c$ (1 — моно, 2 — стерео), а длительность $t$ секунд, то:
$$I = f \cdot b \cdot c \cdot t$$
Задача 2
Стереозапись длительностью 1 минута, частота дискретизации 48 кГц, разрядность 16 бит. Найти объём в мегабайтах.
Шаг 1. Переведём всё в базовые единицы: $f = 48000$ Гц, $b = 16$ бит, $c = 2$, $t = 60$ с.
Шаг 2. Объём в битах: $I = 48000 \cdot 16 \cdot 2 \cdot 60 = 92160000$ бит.
Шаг 3. В байтах: $92160000 / 8 = 11520000$ байт.
Шаг 4. В мегабайтах: $11520000 / 1024 / 1024 \approx 10{,}99$ Мбайт, то есть примерно $11$ Мбайт.
# Проверяем расчёт объёма звука и переводим в мегабайты.
f = 48000 # частота дискретизации, Гц
b = 16 # разрядность, бит
c = 2 # каналы (стерео)
t = 60 # длительность, с
bits = f * b * c * t
bytes_ = bits // 8
kb = bytes_ / 1024
mb = kb / 1024
print('Бит:', bits)
print('Байт:', bytes_)
print('Мбайт:', round(mb, 2))Вывод:
Бит: 92160000 Байт: 11520000 Мбайт: 10.99
Обратные задачи
Задача 3
Файл несжатого моно-звука занимает 2 580 000 байт. Длительность записи — 30 секунд, разрядность — 16 бит. Найдите частоту дискретизации.
Из формулы $I = f \cdot b \cdot c \cdot t$ выражаем $f = I / (b \cdot c \cdot t)$. Объём в битах: $2580000 \cdot 8 = 20640000$ бит. Тогда $f = 20640000 / (16 \cdot 1 \cdot 30) = 20640000 / 480 = 43000$ Гц $= 43$ кГц.
Задача 4 (выбор разрядности)
Изображение $640 \times 480$ должно занять не более 150 Кбайт без сжатия. Какую наибольшую глубину цвета можно выбрать?
Лимит в битах: $150 \cdot 1024 \cdot 8 = 1228800$ бит. Число пикселей: $640 \cdot 480 = 307200$. Тогда $i \le 1228800 / 307200 = 4$ бита. Значит максимум 4 бита на пиксель (16 цветов).
Как это работает
Все формулы — частный случай алфавитного подхода: «информационный объём = количество элементов × информационный вес одного элемента». Для текста элемент — символ, вес — $\log_2 M$ по мощности алфавита $M$. Для растра элемент — пиксель, вес — глубина цвета. Для звука элемент — отсчёт амплитуды, а число отсчётов само раскладывается как $f \cdot t$ (отсчётов в секунду умножить на секунды), да ещё на число каналов.
Ключ к безошибочному ответу — единицы. В ЕГЭ переводы только степенями двойки:
$$1\,\text{байт} = 8\,\text{бит}, \quad 1\,\text{Кбайт} = 2^{10}\,\text{байт}, \quad 1\,\text{Мбайт} = 2^{20}\,\text{байт}$$
| Параметр | Растровое изображение | Цифровой звук |
|---|---|---|
| Элемент | пиксель | отсчёт амплитуды |
| Сколько элементов | $N$ = ширина · высота | $f \cdot t$ (на каждый канал) |
| Бит на элемент | $i = \log_2 K$ (глубина цвета) | $b$ (разрядность) |
| Объём | $I = N \cdot i$ | $I = f \cdot b \cdot c \cdot t$ |
Частые ошибки
- Делят на 1000 вместо 1024. В задачах ЕГЭ Кбайт = 1024 байта, Мбайт = 1024 Кбайта. Десятичные приставки тут не используют.
- Забывают про каналы. Для стерео объём вдвое больше моно — множитель $c = 2$ обязателен.
- Путают частоту в кГц и Гц. 48 кГц — это 48000 измерений в секунду; перед умножением переводите в Гц.
- Берут число цветов вместо глубины цвета. В формулу идёт $i = \log_2 K$ бит, а не само $K$.
- Смешивают биты и байты. Объём по формулам выходит в битах — не забудьте разделить на 8, прежде чем переводить в Кбайты.
Итоги
- Растр: $I = N \cdot i$, где $N$ — число пикселей, $i = \log_2 K$ — глубина цвета.
- Звук: $I = f \cdot b \cdot c \cdot t$ — частота, разрядность, каналы, время.
- Считайте в степенях двойки: это убирает большинство арифметических ошибок при переводе единиц.
- Обратные задачи решаются выражением нужной величины из той же формулы.
- Главный контроль — единицы измерения: бит → байт (÷8) → Кбайт (÷1024) → Мбайт (÷1024).