Вычисление размера файла звукозаписи

В задачах на кодирование звука нужно уметь определять размер файла звукозаписи. Основная идея такова.

1. Сначала нужно подсчитать, сколько раз мы измеряли давление воздуха на микрофон, то есть количество отсчетов.

2. На втором шаге мы определяем, сколько битов мы будем записывать для каждого отсчета, то есть глубину кодирования в битах на отсчет

3. Перемножив отсчеты на количество битов на отсчет, получаем сколько всего битов мы запишем, а потом переводим биты в мегабайты.

Тренируем каждый шаг отдельно.

1. Сколько было отсчетов?

a. Чтобы сосчитать количество отсчетов, нужно знать:              

i. Сколько раз в секунду мы производили измерения, то есть частоту дискретизации в Герцах

ii. Сколько секунд мы производили измерения, то есть время звучания в секундах

iii. Сколько микрофонов участвовало в работе. В режиме моно – 1 канал, в режиме стерео – 2 канала, в режиме квадро – 4 канала.

b. Все эти числа нужно перемножить и получить общее количество отсчетов. Поскольку числа могут быть одинаковыми, нужно при перемножении обязательно записывать размерность каждой величины. Размерность [Герц ], обозначающую разы в секунду, лучше записывать как [отсчет/с], отсчетов в секунду. Результат лучше оставить в виде произведения, поскольку потом мы будем его округлять до ближайшей степени двойки.

c. Разбираем пример. Музыкальный фрагмент продолжительностью 1 минута 4 секунды записывали в моно режиме с частотой дискретизации 22,05 КГц. Сколько было отсчетов?
22050 [отс/с] × 64 [c] × 1 канал = 22050 × 64 [отс]

d. Для тренировки заполните таблицу:

Режим Частота дискретизации Время звучания Количество отсчетов (с указанием размерности каждой величины)
Моно 44,1 КГц 10 с  
Стерео 11,025 КГц 8 с  
Квадро 22,05 КГц 32 с  
Моно 48 КГц 2 мин 8 с  
Стерео 32 КГц 3 мин 12 с  
Квадро 96 КГц 1 мин 4 с  

 

2. Сколько битов на отсчет?

a. Для записи измеренных значений мы всегда ограничиваем количество значащих цифр. Например, записано два миллиона цифр, а сколько это чисел? Может быть, всего два числа по миллиону цифр в каждом, а может быть, миллион чисел по две цифры. Поэтому при оцифровке звука мы задаемся определенным количеством двоичных цифр – битов на каждый отсчет. Связь между количеством различаемых уровней и глубиной кодирования (бит/отсчет) выражается так: количество уровней получается возведением двойки в степень глубины кодирования.

b. Если на каждый отсчет выделить по 4 бита, то мы будем различать 24=16 уровней давления. А если на каждый отсчет выделить по 8 битов, то уже 28=256 уровней. Обычные звуковые карты поддерживают глубину кодирования 16 бит/отсчет и позволяют различать до 216=65 536 уровней, а высококачественные – до 24 бит/отсчет, что соответствует 224= 16 777 216 уровней. Иногда в условии задачи задается сразу глубина кодирования (разрешение) в битах на отсчет, а иногда – количество различаемых уровней, тогда нужно взять соответствующую степень двойки.

c. Для тренировки заполните таблицу

Глубина кодирования (разрешение) бит/отсчет Количество различаемых уровней
4  
8  
16  
  64
  128

3. Перевод битов в мебибайты

a. Получив информационный объем в битах в виде произведения довольно больших чисел, нужно перейти от битов к мебибайтам. Если делать это поэтапно, то сначала нужно перейти от битов к байтам. Для этого количество битов поделить на 8, потому что в байте 8 битов. Потом для перевода байтов в килобайты нужно поделить на 210=1024, а для перевода килобайтов в мегабайты – еще раз поделить на 210=1024. В итоге, чтобы биты перевести в мегабайты, нужно количество битов поделить на 8×1024×1024=23×210×210 = 223.

b. Для оценки объема в мебибайтах не обязательно производить вычисления точно, тем более, что калькулятором на экзамене по информатике пользоваться запрещено. Для приблизительного вычисления применяют округление до степеней двойки:

i. 1000 ≈ 1024 = 210

ii. 53=125 ≈ 128 = 27

iii. 3×5=15 ≈ 16 = 24

iv. 60 ≈ 64 = 26

v. 112=121 ≈ 128=27

vi. 32×7=63 ≈ 64=26

c. Пример. Вычисляем приблизительный объем файла в мебибайтах. Звукозапись в стерео режиме, частота дискретизации 32КГц, длительность звукозаписи 3 минуты 12 секунд, при оцифровке различают 64 уровня.
Решение Ответ: 9 Мбайт.




Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: