Задание 7. Кодирование и декодирование информации. Передача звуковых файлов. Хранение текстовых документов, изображений и звуковых файлов
Этот тип заданий относится к базовому уровню, и его цель – проверить наше умение определять объём памяти, необходимый для хранения графической и звуковой информации. Прежде чем приступить к разбору решений, давайте рассмотрим основные теоретические сведения, которые помогут лучше понять задачу и успешно её выполнить.
Для расчёта объёма информации, необходимого для хранения изображения, используется формула для объёма информации графического файла:
I = K x i
где:
I — объём информации изображения (в битах);
K — общее количество пикселей в изображении (зависит от ширины и высоты изображения);
i — глубина цвета (количество бит, выделяемых на один пиксель).
Эти параметры помогают определить, сколько памяти потребуется для хранения изображения с заданными характеристиками.
Для определения количества цветов, которое может быть закодировано с заданной глубиной цвета, используется формула для расчёта количества цветов:
N=2^i
где:
N — количество возможных цветов;
i — глубина цвета в битах.
Эта формула полезна для расчёта возможного количества цветов, которые может содержать изображение.
Кодирование звуковых файлов требует учёта таких параметров, как частота дискретизации, глубина кодирования, количество каналов записи и длительность записи. Для вычисления объёма звукового файла используется формула:
I = v × i × k × t
где:
I — объём информации звукового файла (в битах);
v — частота дискретизации (количество отсчётов в секунду, измеряется в Герцах);
i — глубина кодирования (количество бит на каждый отсчёт);
k — количество каналов записи (например, один для моно, два для стерео);
t — длительность записи (в секундах).
Чем выше частота дискретизации, глубина кодирования и количество каналов, тем качественнее, но объёмнее будет звуковой файл.
При расчёте времени передачи данных по сети используется формула для передачи данных по сети Интернет:
V = k × t
где:
V — объём информации, передаваемой через сеть;
q — скорость передачи данных (в битах в секунду);
t — время передачи (в секундах).
Эта формула позволяет определить, сколько времени потребуется для передачи файла через сеть при заданной скорости передачи.
Архивация служит для уменьшения объёма файла с целью его последующей передачи или хранения. В задачах часто спрашивают: «Какой способ передачи будет быстрее — с архивацией или без неё?»
На первый взгляд, кажется, что чем меньше вес файла, тем быстрее он будет передан (после архивации). Однако не всё так просто, ведь на процесс архивации и последующей разархивации тоже требуется время. Поэтому для нахождения оптимального решения нужно рассчитать оба варианта и выбрать наиболее эффективный.
Для удобства приведена таблица с основными единицами измерения объёма данных:
Единица измерения |
Обозначение |
Эквивалент в меньших единицах |
Бит |
бит |
- |
Байт |
Б |
8 бит |
Килобайт |
КБ |
1024 Б |
Мегабайт |
МБ |
1024 КБ |
Гигабайт |
ГБ |
1024 МБ |
Терабайт |
ТБ |
1024 ГБ |
Также для быстрого и эффективного решения этой задачи важно хорошо знать степени двойки. Вот таблица степеней двойки до 15-й степени:
Степень |
Значение |
20 |
1 |
21 |
2 |
22 |
4 |
23 |
8 |
24 |
16 |
25 |
32 |
26 |
64 |
27 |
128 |
28 |
256 |
29 |
512 |
210 |
1024 |
211 |
2048 |
212 |
4096 |
213 |
8192 |
214 |
16384 |
215 |
32768 |
Перейдём к примеру решения прототипов задач:
Разберём задачу №7 ЕГЭ 2025 из демоверсии ФИПИ:
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 1024×768 пикселей, используя палитру из 4096 цветов. Снимки сохраняются в памяти камеры, группируются в пакеты по несколько штук, а затем передаются в центр обработки информации со скоростью передачи данных 1 310 720 бит/с.
Каково максимальное возможное количество снимков в одном пакете, если на передачу одного пакета отводится не более 300 секунд?
В ответе запишите целое число.
Для всех прототипов этого задания способ решения будет один – аналитический:
- Выпишем условия нашей задачи:
- N = 4096 = 2^i, значит i = 12 (глубина цвета в битах, то есть вес одного пикселя в битах);
- K = 1024 * 768 = 786432 (общее количество пикселей в изображении);
- v = 1310720 бит/c (скорость передачи данных);
- t <= 300 c (время передачи одного пакета).
- Теперь мы можем найти вес одной фотографии: K * i = 786432 * 12 = 9437184; сколько таких фотографий в пакете нам не известно, тогда мы можем обозначить это количество за X. Вес одного пакета в таком случае будет 9437184 * X бит.
- Время передачи одного пакета равна частному веса этого пакета и скорости передачи данных, то есть получается неравенство: t <= (9437184 * X) / v; 300 >= (9437184 * X) / 1310720, тогда 300 >= 7,2X. Чтобы получить ответ, нам просто остаётся решить это неравенство: X <= 41,66666. Так как количество снимков в одном пакете не может быть дробным, то наш ответ 41.
Ответ: 41
Дальше разберём задание из досрочной волны 2024-го года:
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 2764 на 1793 пикселей, используя палитру из 7026 цветов. Снимки сохраняются в памяти камеры, группируются в пакеты по 148 штук, затем передаются в центр обработки информации со скоростью передачи данных 18 349 566 бит/с. Сколько секунд требуется для передачи одного полного пакета фотографий? В ответе запишите только целую часть полученного числа.
Решение:
- Выпишем условия нашей задачи:
- Размер фотографии: 2764 * 1793 пикселей
- Палитра содержит 7026 цветов, что соответствует глубине цвета i. Важный момент: поскольку N = 7026 = 2^i, то i = 13, то есть мы округляем число до большей степени двойки, потому что если мы возьмем i = 12, N будет равно 4096 (получится меньше цветов, чем нам нужно по условию).
- Общее количество пикселей в изображении: K = 2764 * 1793 = 4952452 пикселя.
- Количество фотографий в пакете: 148.
- Скорость передачи данных: v = 18349566 бит/с.
- Находим объём данных для одной фотографии: I(фото) = K * i = 4952452 * 13 = 64381876 бит.
- Находим объём данных для одного пакета: I(пакет) = I(фото) * 148 = 64381876 * 148 = 9528533848 бит.
- Вычисляем время передачи одного пакета: t = I(пакет) / v = 9528533848 / 18349566 = 519,278431… Но по условию нас просят записать только целую часть, то есть мы просто откидываем дробную и пишем ответ.
Ответ: 519
Посмотрим основную волну 07.06.2024:
Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 1024×960 пикселей, используя палитру из 8192 цветов. Снимки сохраняются в памяти камеры, группируются в пакеты по несколько штук, затем передаются в центр обработки информации со скоростью передачи данных 1 474 560 бит/с. Каково максимальное возможное число снимков в одном пакете, если на передачу одного пакета отводится не более 280 секунд?
В ответе запишите целое число.
Решение:
- Выпишем условия задачи:
- Размер фотографии: 1024 * 960 пикселей.
- Палитра содержит 8192 цветов, что соответствует глубине цвета i. Так как N = 8192= 2^13, принимаем i = 13 бит на пиксель.
- Общее количество пикселей в изображении: K = 1024 * 960=983040 пикселей.
- Скорость передачи данных: v = 1474560 бит/с.
- Максимальное время передачи пакета: t ≤ 280 секунд.
- Находим объём данных для одной фотографии: I (фото) = K * i = 983040 * 13 = 12779520 бит
- Определяем объём данных для пакета из X фотографий и время передачи: I (пакет) = I (фото) * X = 12779520 * X. Время передачи одного пакета:
\(t=\frac{I}{\upsilon }=\frac{12779520\times X}{1474560} \)
- Подставляем условие ограничения времени t ≤ 280:
\(280\geq \frac{12779520\times X}{1474560}\)
Упростим это выражение:
\(280\geq8.6667\times X\)
\(X\leq \frac{280}{8.6667}\approx 32.3\)
Округляем до целого числа, так как количество снимков в пакете должно быть целым.
Получаем X = 32
Ответ: 32
Теперь давайте разберём задание №7 из варианта досрочной волны 2023:
Пользователь записал голосовое сообщение. Сообщение представляет собой стерео аудиофайл со следующими параметрами: глубина кодирования — 24 бит, частота дискретизации 16000 отсчётов в секунду, время записи — 90 с. Данное сообщение было отправлено по Сети со скоростью 64 000 бит/с. Сколько секунд будет передаваться голосовое сообщение?
Решение:
- Выпишем условия задачи:
- Глубина кодирования i = 24 бит.
- Частота дискретизации v = 16000 отсчётов в секунду.
- Время записи t = 90 секунд.
- Количество каналов записи k = 2 (стерео).
- Скорость передачи данных q = 64000 бит/с.
- Находим объём данных для голосового сообщения: используем формулу для объёма информации звукового файла:
\(I=\upsilon \times i\times k\times t\)
Подставляем значения:
\(I=16000 \times 24\times 2\times 90=69120000\) бит
- Вычисляем время передачи голосового сообщения:
используем формулу для времени передачи:
\(T=\frac{I}{q}\)
Подставляем значения:
\(T=\frac{69120000}{64000}=1080\) секунд
Ответ: 1080
Решим задачу из основной волны(II) 2023-го года:
Производилась четырёхканальная (квадро) звукозапись с частотой дискретизации 192 кГц и 16-битным разрешением. В результате был получен файл размером 967 Мбайт, без учёта размера заголовка и без сжатия данных. Определите длительность звукозаписи (в минутах). В качестве ответа укажите ближайшее к полученному времени записи целое число.
Решение:
- Выпишем условия задачи:
- Частота дискретизации v = 192 кГц = 192000 Гц
- Разрешение (глубина кодирования) i = 16 бит
- Количество каналов записи k = 4 (квадро)
- Размер файла I = 967 Мбайт = 967 * 1024 *1024 * 8=8100245504967 = 8100245504 бит
- Находим длительность записи t: используем формулу для объёма информации звукового файла:
\(I=\upsilon \times i\times k\times t\)
\(t=\frac{I}{\upsilon \times i\times k}\)
Подставляем значения:
\(t=\frac{8100245504}{192000\times 16\times 4}\)
\(t=\frac{8100245504}{12288000}\approx 659.8\) секунд
- Переводим время в минуты, округляя до ближайшего целого (просят по условию):
\(t=\frac{659.8}{60}\approx 11\) минут
Ответ: 11
Дальше разберём прототип из варианта основной волны(III) этого же года:
Производилась двухканальная (стерео) звукозапись с частотой дискретизации 48 кГц и 24-битным разрешением. В результате получен файл размером 288 Мбайт без учёта размера заголовка и без сжатия данных. Определите длительность звукозаписи (в минутах). В качестве ответа укажите ближайшее к полученному времени записи целое число.
Решение:
- Выпишем условия задачи:
- Частота дискретизации v = 48 кГц = 48000 Гц
- Разрешение (глубина кодирования) i = 24 бит
- Количество каналов записи k = 2 (стерео)
- Размер файла I = 288 Мбайт = 288 * 1024 * 1024 * 8 = 2415919104288 бит.
- Находим длительность записи t: используем формулу для объёма информации звукового файла:
\(I=\upsilon \times i\times k\times t\)
\(t=\frac{I}{\upsilon \times i\times k}\)
Подставляем значения:
\(t=\frac{2415919104}{48000\times 24\times 2}\)
\(t=\frac{2415919104}{2304000}\approx 1048\) секунд
- Переводим время в минуты:
\(t=\frac{1048}{60}\approx 17.47\) минут
Округляем до ближайшего целого числа: 17 минут.
Ответ: 17
Теперь посмотрим задания на архивацию данных (вариант с основной волны 2022-го года):
Для хранения сжатого произвольного растрового изображения размером 640 на 256 пикселей отведено 170 Кбайт памяти без учёта размера заголовка файла. Файл оригинального изображения больше сжатого на 35%. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
- Выпишем условия задачи:
- Размер изображения: 640 * 256 = 163840 пикселей
- Объём памяти для сжатого изображения: 170 Кбайт = 170 * 1024 * 8 = 1392640 бит
- Файл оригинального изображения больше сжатого на 35%, то есть сжатое изображение составляет 65% от исходного
- Для кодирования цвета каждого пикселя используется одинаковое количество бит
- Находим объём исходного (несжатого) изображения:
Если сжатое изображение составляет 65% от исходного, то объём исходного изображения I(исх) можно найти по формуле:
\(I=\frac{1392640}{0.65}\)
- Количество бит на пиксель i можно найти, разделив объём исходного изображения на количество пикселей: (1392640 / 0,65) / 163840 = 13 битов на пиксель (округляем вниз)
- Максимальное количество цветов N можно определить по формуле:
\(N=2^{i}\)
Подставляем значение i = 13:
\(N=2^{13}=8192\)
Ответ: 8192
Ну и напоследок решим аналогичную задачу с досрочной волны этого же года:
Для хранения произвольного сжатого растрового изображения размером 486×720 пикселей отведено 80 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. После сохранения информации о пикселях изображение сжимается. Размер итогового файла после сжатия на 15% меньше исходного. Какое максимальное количество цветов можно использовать в изображении?
В ответе запишите только число.
Решение:
- Выпишем условия задачи:
- Размер изображения: 486 * 720
- Объём памяти для сжатого изображения: 80 Кбайт = 80 * 1024 * 8 = 655360 бит
- После сжатия размер изображения стал на 15% меньше исходного, т.е. сжатое изображение составляет 85% от исходного.
- Для кодирования цвета каждого пикселя используется одинаковое количество бит
- Находим объём исходного (несжатого) изображения:
так как сжатое изображение составляет 85% от исходного, объём исходного изображения I(исх) можно найти по формуле:
\(I=\frac{655360}{0.85}\)
- Вычисляем количество бит на один пиксель: общее количество пикселей в изображении:
\(K=486\times 720=349920\)пикселей
Тогда количество бит на пиксель i можно найти, разделив объём исходного изображения на количество пикселей: (655360 / 0,85) / 349920 = 2 бита на пиксель (округляем вниз)
- Максимальное количество цветов N определяется по формуле:
\(N=2^{i}\)
Подставляем значение i = 2:
\(N=2^{2}=4\)
Ответ: 4
Задание 7 ЕГЭ по информатике — это базовая задача, направленная на проверку умения определять объём памяти, необходимый для хранения и передачи текстовой, графической и звуковой информации. Все рассмотренные нами прототипы задач показывают, что подход к решению достаточно однообразен. Основная задача — внимательно читать условия, понимать параметры и использовать подходящие формулы для расчётов.
Важно помнить, что в задачах на кодирование графической информации часто требуется определить глубину цвета и количество цветов в изображении. Задачи на кодирование звуковых файлов требуют учёта частоты дискретизации, глубины кодирования, количества каналов и времени записи. При решении задач на передачу данных по сети необходимо учитывать скорость передачи и объём данных. В задачах на архивацию стоит учитывать разницу в объёме исходного и сжатого файлов и время, затраченное на сжатие и передачу.
Чтобы решить такие задачи эффективно, важно:
- Точно выписывать данные задачи и понимать, какие формулы нужно использовать.
- Проверять результаты на логичность — анализ полученного ответа позволяет убедиться, что он соответствует условиям.
- Использовать аналитический подход. Это помогает лучше понять задачу и выбрать оптимальный метод решения.
- Знать степени двойки. и уметь ими пользоваться — это существенно упрощает расчёты, особенно при работе с глубиной цвета и количеством цветов.
Запомните, что все рассматриваемые задачи требуют внимания к условиям и тщательного анализа исходных данных.
Удачи на экзамене!