Почти ручное решение
Основные формулы
Изображение:
V=m∙n∙i
V – Объем памяти для хранения растрового изображения, бит
m ∙ n – размер изображения, пиксели
i – глубина кодирования, бит
Максимальное количество цветов в изображении (K) вычисляется формулой:
K=2i,
где i – глубина кодирования.
Звук:
V=(количество каналов)∙ N∙i∙t
N частота дискретизации, Герц,
i – глубина звука, бит
t – время звучания, секунды
Монозапись – 1 канал
Стерео – 2 канала
Квадро – 4 канала
Передача информации:
V=q∙t
V – Объем передаваемого файла, бит
q – пропускная способность (скорость передачи информации), бит/с
t – время передачи, с
Дополнительные условия
Сжатие данных:
`V=(V_(сж.)*100)/(100-p)`
Vсж. – объем сжатого файла , p – количество процентов, на который уменьшается объем , V – полный объем файла
Но это все зависит от того, что нужно принимать за 100%.
Дополнительные биты при кодировании изображения:
i = iцв + iдоп =цв+доп
i – глубина кодирования, бит
iцв цв – биты на хранение цвета, бит
iдоп доп – биты на хранение дополнительной информации, бит
Единицы измерения
1 бит Наименьшая единица измерения информации
1 байт 8 бит 23 бит
1 Кбайт 1024 байт 213 бит
1 Мбайт 1024 Кбайт 223 бит
1 Гбайт 1024 Мбайт 233 бит
В этой линейке не округляем, а просто везде берем целое.
Прототипы с ЕГЭ
Задача №1 Для хранения произвольного растрового изображения размером 128×320 пикселей отведено 40 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Известен размер изображения 128×320 пикселей, его объем 40 Кбайт
V=m∙n∙i, где V – Объем памяти для хранения растрового изображения, бит
m ∙ n – размер изображения, пиксели
i – глубина кодирования, бит
Из этой формулы мы можем найти глубину цвета, т.е. объем одного пикселя в битах. Для этого мы общий объем изображения должны поделить на количество пикселей.
`i=V/m*n`
128х320 - это и есть количество пикселей.
Обратите внимание, что объем изображения в условии дан в Кбайтах. Мы Кбайты умножаем на 1024 (или `2^10`) - получаем байты. А чтобы получить биты, нужно умножить еще на 8 (или `2^3`).
`i=(40*2^10*2^3)/(128*320)=(10*2^2* 2^10*2^3)/(2^7*2^5*10)=2^15/2^12=2^3=8` бит - это глубина цвета
Кол-во цветов `K=2^i=2^8=256`
Ответ: 256
Задача №2.1 Для хранения произвольного сжатого растрового изображения размером 486x720 пикселей отведено 80 Кбайт памяти без учёта размера заголовка файла. Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. После сохранения информации о пискселях изображение сжимается. Размер итогового файла после сжатия на 15% меньше исходного. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Размер итогового файла после сжатия на 15% меньше исходного. Исходный 100%, наш 100-15=85% ⇒
исходный 80*100/85≈94 Кбайт.
Кбайт переводим в биты и находим глубину цвета
`i=V/m*n=94*2^10*2^3/486*720=2,2...` - берем целое 2
Кол-во цветов `K=2^i=2^2=4`
Ответ: 4
Задача №2.2 Для хранения сжатого произвольного растрового изображения размером 640 на 256 пикселей отведено 170 Кбайт памяти без учёта размера заголовка файла. Исходный файл изображения больше, чем сжатый, на 35% (считая размер сжатого файла за 100%). Для кодирования цвета каждого пикселя используется одинаковое количество бит, коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Задача отличается от предыдущей тем, что берется за 100%
170 Кбайт - 100%, исходный файл - 135 % = 229,5 Кбайт
i = 229,5*1024*8/640*256=11,475 , для подсчета цветов берем целое 11
`K =2^11=2048`
Ответ: 2048
Задача №3 Для хранения произвольного растрового изображения размером 1024 на 120 пикселей отведено 210 Кбайт памяти без учёта размера заголовка файла. При кодировании каждого пикселя используется 7 бит для определения степени прозрачности и одинаковое количество бит для указания его цвета. Коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов (без учета степени прозрачности) можно использовать в изображении?
Решение:
Здесь говорится о степени прозрачности изображения и определенном количестве бит, отведенных для её определения. Поскольку изображения бывают многослойными (накладываются друг на друга), заходит речь о степени прозрачности их пикселей. Тогда глубина кодирования включает в себя дополнительный канал на кодирование определенного количества уровней прозрачности каждого пикселя.
В задаче требуется найти количество цветов в изображении, для чего необходимо знать глубину кодирования цвета. Поскольку имеется дополнительная информация об отведенных битах для определения степени прозрачности, становится понятно, что глубина кодирования здесь является составной и состоит из двух частей - глубины кодирования цвета и определенном количество битов, отведенных под определение степени прозрачности. Тогда, решая, получаем:
i = 210*1024*8/(1024*120) = 14.
Поскольку i = i1 + i2, где i1 - глубина кодирования цвета, i2 - количество бит, отведенных под степень прозрачности, соответственно, а из условия задачи i2 = 7, тогда i1 = i - i2 = 14 - 7 = 7 бит. Тогда количество цветов = 2^7 = 128.
Ответ: 128
Задача №4 Для хранения произвольного растрового изображения размером 1024 на 120 пикселей отведено 210 Кбайт памяти без учёта размера заголовка файла. К коду каждого пикселя дописывается 1 бит четности. Полученные таким образом коды пикселей записываются в файл один за другим без промежутков. Какое максимальное количество цветов можно использовать в изображении?
Решение:
Тоже имеем дело с составной глубиной кодирования, где помимо глубины кодирования цвета к коду каждого пикселя дописывается ещё и вторая часть - биты чётности. Биты чётности обычно используются для контроля и проверки того, что передаваемая информация была доставлена точно. Они устанавливаются для каждого кода таким образом, чтобы все коды содержали в себе нечётное или чётное число единиц.
i = 210*1024*8/(1024*120) = 14.
Помним, что i = i1 + i2, где i2 - бит чётности, он по условию = 1.
Отсюда глубина кодирования цвета = i - i2 = 14 - 1 = 13.
А количество цветов = 2^13 = 8192.
Ответ: 8192
Задача №5 Пользователь записал голосовое сообщение. Сообщение представляет собой стерео аудиофайл со следующими параметрами: глубина кодирования – 24 бит, частота дискретизации 16000 отсчётов в секунду, время записи – 90 с. Данное сообщение было отправлено по Сети со скоростью 64 000 бит/c. Сколько секунд будет передаваться голосовое сообщение?
Решение:
Выпишем условия задачи:
Глубина кодирования i = 24 бит.
Частота дискретизации 16000 отсчётов в секунду.
Время записи t = 90 секунд.
Количество каналов записи 2 (стерео).
Скорость передачи данных 64000 бит/с.
Находим объём данных для голосового сообщения, используя формулу для объёма информации звукового файла: V=(количество каналов)∙ N∙i∙t
Подставляем значения:
2*16000*24*90=69120000 бит
Вычисляем время передачи голосового сообщения, используя формулу для времени передачи:
V=q∙t ⇒
t = V/q = 69120000/64000=1080 секунд
Ответ: 1080
Задача №6 Прибор автоматической фиксации нарушений правил дорожного движения делает цветные фотографии размером 1024×768 пикселей, используя палитру из 4096 цветов. Для передачи снимки группируются в пакеты по 256 штук. Определите максимальный размер одного пакета фотографий в Мбайт. В ответе запишите только число.
Решение:
4096 - это 2 в 12й степени, i=12
V=12*1024×768=9437184 бит = 1152 Кбайт - 1 штука, а по условию 256 штук в пакете
1152 * 256 = 294 912 Кбайт, а надо в Мбайтах
294 912 : 1024 = 288 Мбайт
Ответ: 288
Задача №7 Васи есть доступ к Интернет по высокоскоростному одностороннему радиоканалу, обеспечивающему скорость получения им информации 256 Кбит в секунду. У Пети нет скоростного доступа в Интернет, но есть возможность получать информацию от Васи по низкоскоростному телефонному каналу со средней скоростью 32 Кбит в секунду. Петя договорился с Васей, что тот будет скачивать для него данные объемом 5 Мбайт по высокоскоростному каналу и ретранслировать их Пете по низкоскоростному каналу. Компьютер Васи может начать ретрансляцию данных не раньше, чем им будут получены первые 512 Кбайт этих данных. Каков минимально возможный промежуток времени (в секундах), с момента начала скачивания Васей данных, до полного их получения Петей? В ответе укажите только число, слово «секунд» или букву «с» добавлять не нужно.
Решение:
Фактически нужно определить, сколько времени будет передаваться файл объемом 5 Мбайт по каналу со скоростью передачи данных 32 Кбит/с; к этому времени нужно добавить задержку файла у Васи (пока он не получит 512 Кбайт данных по каналу со скоростью 256 Кбит/с).
В первую очередь важно выразить все в единых единицах измерения. Чтобы не ошибиться, можно всегда переводить в биты, но по логике хватит и просто одних и тех же единиц. Пропускная способность в килобитах в с, так что переводим размеры файлов тоже в килобиты
512 Кбайт * 8 = 4096 Кбит - должен скачать Вася, чтобы началась передача Пете
4096 : 256 = 16 с - через 16 секунд компьютер Васи начнет ретрансляцию
5 Мбайт * 1024 * 8 = 40960 Кбит - передается Пете
40960 : 32 = 1280 с - надо для передачи данных Пете
1280 + 16 = 1296 с
Ответ: 1296
Задача №8 Документ объёмом 20 Мбайт можно передать с одного компьютера на другой двумя способами.
А. Сжать архиватором, передать архив по каналу связи, распаковать.
Б. Передать по каналу связи без использования архиватора. Какой способ быстрее и насколько, если:
- средняя скорость передачи данных по каналу связи составляет `2^20` бит в секунду;
- объём сжатого архиватором документа равен 20% исходного;
- время, требуемое на сжатие документа, – 5 секунд, на распаковку – 1 секунда?
В ответе напишите букву А, если быстрее способ А, или Б, если быстрее способ Б. Сразу после буквы напишите число, обозначающее, на сколько секунд один способ быстрее другого. Так, например, если способ Б быстрее способа А на 23 секунды, в ответе нужно написать Б23. Единиц измерения «секунд», «сек.», «с.» к ответу добавлять не нужно.
Решение:
А. Определим сколько времени потратим, если будем передавать сжатый файл по каналу связи. Сжатый файл имеет объём 20% от 20 Мбайт.
20 Мбайт - 100%
х - 20 %
20*20:100=4 Мбайт = `4 * 2^10 * 2^10 * 2^3 = 2^25` бит - объем сжатого файла
Передаваться он будет `2^25 : 2^20 = 2^5` c + 5 с на сжатие, + 1 сек на с на распаковку = 38 c
Б. Определим, сколько потратим времени на целый файл.
20 Мбайт = `20 * 2^10 * 2^10 * 2^3 = 20 * 2^23`бит - несжатый файл
`20 * 2^23 : 2^20 = 20 * 2^3` = 160 с
Сжатый быстрее на 160-38=122 с
Ответ: А122
Задания уровня ЕГЭ
Задача №1 Для хранения сжатого изображения отведено 3 МБайта памяти без учёта размера заголовка файла. Известно, что изображение имеет размер 1600х1200 пикселей и содержит не более 1024 цветов. При этом цвет каждого пикселя кодируется с помощью минимального и одинакового для всех пикселей количества бит. К каждому пикселю добавлено одинаковое количество бит, отвечающих за его прозрачность. После кодирования изображение сжимается, при этом объем дискового пространства, требуемый для хранения файла с несжатым изображением, на 20 % больше, чем объем дискового пространства, требуемый для хранения сжатого изображения. Какое максимальное количество уровней прозрачности может быть у пикселя?
Решение:
1024 цвета, 1024=2^10 ⇒ i=10 глубина кодирования без учета прозрачности, то есть 10 бит на пиксель выделяются под цвет.
Узнаем фактическую глубину прозрачности из размера файла. Сжатое 3 МБайта, нам над несжатое.
3 МБайта - 100%
х - 120 %
х = 3,6 МБайт = (3,6 * 2^23) бит - размер несжатого файла
отсюда i = (3,6 * 2^23)/1600х1200 = 15,7... бит на 1 пиксель, то есть 15 бит. Из них 10 выделяется под цвет
15 - 10 = 5 - под прозрачность.
Тогда уровней прозрачностей может быть максимум `2^5=32`
Ответ: 32
Задача №2 Музыкальный фрагмент записали в формате стерео. Размер полученного файла составил 18 Мбайт. После чего музыкальный фрагмент перевели в формат квадро, при этом уменьшив частоту дискретизации вдвое и увеличив скорость произведения в 1.5 раза. Полученный фрагмент также сохранили в виде файла. Методы сжатия в обоих случаях не применялись. Найдите размер полученного после преобразования файла.
Решение:
...
Ответ: 12
Задача №3 Растровое изображение размером 192 на 960 пикселей сохраняют в памяти компьютера. Каждый пиксель в изображении может иметь один из 2048 цветов. Все цвета представлены с помощью битовых последовательностей одинаковой длины, при этом длина этих последовательностей минимальна.
На сколько процентов необходимо уменьшить полученный файл, чтобы сжатое изображение можно было сохранить в отведенные для хранения 180 Кбайт памяти?
В качестве ответа приведите минимальное целое подходящее число.
Решение:
...
Ответ: 28
Задача №4 Для хранения сжатого аудио файла отведено 25 Мбайт памяти. Известно, что фрагмент кодируется в формате стерео, частотой дискретизации 50 кГц и глубиной кодирования 16 бит. После кодирования звуковых дорожек фрагмент сжимается. Сжатый размер закодированного фрагмента меньше исходного на 25%. К сжатому фрагменту дописывается информация о заголовке и дополнительная информация, суммарно занимающая 40 Кбайт. Укажите максимальную длительность в минутах фрагмента, который сохраняется по приведенному алгоритму?
В ответе запишите только число – целую часть полученного числа.
Решение:
...
Ответ: 2
Задача №5 Стоит задача передать файл размером 500 Мбайт между компьютерами в одной локальной сети. При этом есть два способа:
А) записать файл на USB-накопитель, перенести физически накопитель до приемника, выгрузить файл,
Б) передать по локальной сети со скоростью 10 Мбит/сек.
Известно, что скорость записи и чтения файла через USB составляет 100 Мбит/сек. На перемещение USB-накопителя понадобится 40 секунд.
Какой способ быстрее и на сколько? В ответе запишите сначала букву А или Б – вариант, с помощью которого файл получится передать быстрее, и число – разницу в секундах между этими двумя способами. Разделители между буквой и числом указывать не нужно.
Решение:
...
Ответ: А280
Задача №6 Геннадий создает мультипликационный ролик, где каждый кадр – отдельно отрисованная картинка.
Известно, что каждая картинка имеет разрешение 640х480 пикселей и цветовую палитру в 216 = 65536 цветов. Каждый пиксель кодируется с помощью минимально возможного и одинакового для всех пикселей количества бит. Картинки записываются одна за другой без разделителей и заголовков файла. Частота смены кадров в конечном ролике – 24 кадра/сек. В качестве звукового сопровождения выбран формат стерео с глубиной кодирования 10 бит и частотой дискретизации 40 кГц.
Найдите размер мультфильма в МБайтах, если известно, что его длительность 5 минут. В качестве ответа укажите число – минимальное целое количество Мбайт достаточное для хранения такого файла.
Решение:
...
Ответ: 4248
Задача №7 20 изображений разрешением 1600х1200 пикселей отправили по каналу связи со средней пропускной способностью 223 бит/секунду. Все изображения были приняты приемником не более, чем 10 секунд. Известно, что изображение кодируется, как набор пикселей, каждый из которых закодирован с помощью одинакового и минимально возможного количества бит. Изображения в целях ускорения передачи записаны в памяти подряд, без разделителей и заголовков. Какое максимальное число цветов может быть в палитре?
Решение:
...
Ответ: 4