📋 Условие
Производится двухканальная (стерео) звукозапись с частотой дискретизации 44 кГц. Запись длится 5 минут 25 секунд, её результаты записываются в файл без сжатия данных.
🔍 Подробное решение
Производится двухканальная (стерео) звукозапись с частотой дискретизации 44 кГц. Запись длится 5 минут 25 секунд, её результаты записываются в файл без сжатия данных, причём каждый сигнал кодируется минимально возможным и одинаковым количеством бит. Информационный объём полученного файла без учёта заголовка не превышает 82 Мбайт. Определите максимальную битовую глубину кодирования звука.
Решение:
Шаг 1: Переводим все единицы к одной системе счисления.
- 82 Мбайт = 82 × 2²⁰ байт = 82 × 2²³ бит
- 44 кГц = 44 000 Гц
- 5 мин 25 сек = 5 × 60 + 25 = 325 секунд
Шаг 2: Записываем формулу информационного объёма:
I = 2 × f × t × d
- 2 — два канала (стерео)
- f = 44000 Гц
- t = 325 с
- d — битовая глубина (искомое)
Шаг 3: Выражаем d:
d = 82 × 2²³ / (2 × 44000 × 325)
d = 82 × 8388608 / 28600000
d ≈ 24.05
Шаг 4: Округляем вниз до целого числа.
Ответ: 24
Решение:
Шаг 1: Переводим все единицы к одной системе счисления.
- 82 Мбайт = 82 × 2²⁰ байт = 82 × 2²³ бит
- 44 кГц = 44 000 Гц
- 5 мин 25 сек = 5 × 60 + 25 = 325 секунд
Шаг 2: Записываем формулу информационного объёма:
I = 2 × f × t × d
- 2 — два канала (стерео)
- f = 44000 Гц
- t = 325 с
- d — битовая глубина (искомое)
Шаг 3: Выражаем d:
d = 82 × 2²³ / (2 × 44000 × 325)
d = 82 × 8388608 / 28600000
d ≈ 24.05
Шаг 4: Округляем вниз до целого числа.
Ответ: 24
📚 Теория
Кодирование звука и изображений. Формулы объёма данных, дискретизация.
🐍 Шаблон Python
Python
# ===== ЗВУК =====
# I = d * k * t * i
# d = частота дискретизации, В ГЕРЦАХ
# i = разрешение (бит)
# k = каналы (2-стерео, 1-моно, 4-квадро)
# t = время в СЕКУНДАХ
I = 967 * 1024 * 1024 * 8 # объём в битах
t = I / (4 * 8 * 96000) # находим время
t = t // 60 # переводим в минуты
print(t) # ответ 44 🐍 Альтернативный способ
Способ 2
# ===== ИЗОБРАЖЕНИЯ =====
# ЧАЩЕ ВСЕГО округление в МЕНЬШУЮ сторону!
N = 2 ** i # N - кол-во цветов, i - вес 1 пикселя
I = k * i # I - объём, k - кол-во пикселей
# Пример 1: прибор фиксации нарушений
k = 1280 * 1024
n = 1024
i = 10
I = (k * i * 220)
V = 12582912
t = I / V
print(t) # 229
# Пример 2: модем
V = 65536
k = 1024 * 768
i = 3
I = k * i
t = I / V
print(t) # 288
# Пример 3: сжатое изображение
x = (170 / 100) * 135
i = (170 * 135 * 2**13) / (100 * 640 * 256)
i = 11 # округляем в меньшую
n = 2048