Незнайка
Вся теория
Теория· 7 мин чтения

Кодирование звуковой информации

Дискретизация звука, частота дискретизации и глубина кодирования, расчёт объёма звукового файла по этим параметрам.

В этой статье вы сможете узнать:

  • как непрерывный звуковой сигнал превращается в последовательность чисел при дискретизации;
  • что такое частота дискретизации и глубина кодирования звука;
  • как рассчитать информационный объём звукового файла.

Дискретизация звука

Звук в природе представляет собой непрерывную звуковую волну. Чтобы сохранить звук в цифровом виде, аналоговый сигнал измеряют (сэмплируют) через равные промежутки времени, а каждое измеренное значение амплитуды округляют до ближайшего из фиксированного набора уровней и записывают числом — этот процесс называется дискретизацией.

Частота дискретизации

Частота дискретизации ff — это количество измерений сигнала, производимых за одну секунду, измеряется в герцах (Гц) или килогерцах (кГц):

f=число измеренийвремя в секундахf = \dfrac{\text{число измерений}}{\text{время в секундах}}

Стандартная частота дискретизации для звука CD-качества составляет 44 100 Гц (44,1 кГц), то есть сигнал измеряется 44 100 раз в секунду.

Глубина кодирования звука

Глубина кодирования ii — это количество бит, отведённых на запись одного измеренного значения амплитуды сигнала. Максимальное число различимых уровней громкости NN связано с глубиной кодирования формулой Хартли:

N=2iN = 2^i

Пример. При глубине кодирования 16 бит количество различимых уровней амплитуды:

N=216=65 536N = 2^{16} = 65\,536

Расчёт объёма монофонического звукового файла

Информационный объём звукозаписи вычисляется умножением частоты дискретизации на глубину кодирования и на длительность записи в секундах:

I=f⋅i⋅tI = f \cdot i \cdot t

где ff — частота дискретизации (измерений в секунду), ii — глубина кодирования (бит на измерение), tt — длительность записи (в секундах).

Пример. Найдите объём монофонической записи длительностью 10 секунд при частоте дискретизации 22 050 Гц и глубине кодирования 8 бит.

I=22 050⋅8⋅10=1 764 000 бит=220 500 байт≈215,3 КбайтI = 22\,050 \cdot 8 \cdot 10 = 1\,764\,000 \text{ бит} = 220\,500 \text{ байт} \approx 215{,}3 \text{ Кбайт}

Учёт количества каналов звука (моно, стерео, квадро)

Информация записывается независимо для каждого канала звука, поэтому общий объём файла прямо пропорционален их количеству kk:

I=f⋅i⋅t⋅kI = f \cdot i \cdot t \cdot k

где kk — количество каналов записи:

моно — k=1k=1, один канал звука;

стерео — k=2k=2, два независимых канала (левый и правый), объём вдвое больше моно при тех же параметрах;

квадро — k=4k=4, четыре независимых канала (например, для объёмного звучания), объём вчетверо больше моно при тех же параметрах.

Такая же логика распространяется и на многоканальный звук с большим числом каналов (например, 5.1 или 7.1) — объём файла всегда растёт пропорционально числу независимых каналов записи.

Пример. Найдите объём стереофонической записи длительностью 5 секунд при частоте дискретизации 44 100 Гц и глубине кодирования 16 бит.

I=44 100⋅16⋅5⋅2=7 056 000 бит=882 000 байт≈861,3 КбайтI = 44\,100 \cdot 16 \cdot 5 \cdot 2 = 7\,056\,000 \text{ бит} = 882\,000 \text{ байт} \approx 861{,}3 \text{ Кбайт}

Определение параметров записи по объёму файла

Если известен общий объём файла и часть параметров, недостающий параметр можно найти делением объёма (в соответствующих единицах) на произведение остальных известных величин.

Пример. Файл монофонической записи занимает 1 Мбайт, частота дискретизации — 8000 Гц, глубина кодирования — 8 бит. Найдите длительность записи.

Переводим объём в биты: 1⋅1024⋅1024⋅8=8 388 6081 \cdot 1024 \cdot 1024 \cdot 8 = 8\,388\,608 бит.

t=If⋅i=8 388 6088000⋅8=8 388 60864 000=131,072 секундыt = \dfrac{I}{f \cdot i} = \dfrac{8\,388\,608}{8000 \cdot 8} = \dfrac{8\,388\,608}{64\,000} = 131{,}072 \text{ секунды}

Ответ: приблизительно 131 секунда.

Алгоритм решения задач на кодирование звука

  1. Определите, что дано в задаче: частота дискретизации, глубина кодирования, длительность записи, количество каналов или общий объём файла.
  2. Если нужно найти количество уровней амплитуды по глубине кодирования — используйте формулу Хартли N=2iN = 2^i (округляя ii вверх, если NN не степень двойки).
  3. Для расчёта общего объёма записи перемножьте частоту дискретизации, глубину кодирования, длительность в секундах и количество каналов: I=f⋅i⋅t⋅kI = f \cdot i \cdot t \cdot k.
  4. Если дан общий объём и нужно найти один из параметров — разделите объём (переведённый в биты) на произведение остальных известных величин.
  5. Переведите итоговый результат в нужные единицы измерения (биты, байты, килобайты), используя коэффициент 8 для бит-байт и 1024 для байт-килобайт.

Примеры решения

Пример 1. Найдите объём монофонической звукозаписи длительностью 3 минуты при частоте дискретизации 16 000 Гц и глубине кодирования 8 бит.

Переводим время в секунды: 3⋅60=1803 \cdot 60 = 180 секунд.

I=16 000⋅8⋅180=23 040 000 бит=2 880 000 байт≈2812,5 КбайтI = 16\,000 \cdot 8 \cdot 180 = 23\,040\,000 \text{ бит} = 2\,880\,000 \text{ байт} \approx 2812{,}5 \text{ Кбайт}

Ответ: примерно 2812,5 Кбайт.

Пример 2. Стереофоническая запись длится 4 секунды, частота дискретизации 11 025 Гц, глубина кодирования 16 бит. Найдите объём в байтах.

I=11 025⋅16⋅4⋅2=1 411 200 бит=176 400 байтI = 11\,025 \cdot 16 \cdot 4 \cdot 2 = 1\,411\,200 \text{ бит} = 176\,400 \text{ байт}

Ответ: 176 400 байт.

Пример 3. Объём монофонической записи составляет 128 Кбайт, длительность — 8 секунд, глубина кодирования — 8 бит. Найдите частоту дискретизации.

Переводим объём в биты: 128⋅1024⋅8=1 048 576128 \cdot 1024 \cdot 8 = 1\,048\,576 бит.

f=Ii⋅t=1 048 5768⋅8=1 048 57664=16 384 Гцf = \dfrac{I}{i \cdot t} = \dfrac{1\,048\,576}{8 \cdot 8} = \dfrac{1\,048\,576}{64} = 16\,384 \text{ Гц}

Ответ: 16 384 Гц.

Часто задаваемые вопросы

Почему частота дискретизации CD-качества равна именно 44 100 Гц? Это значение выбрано с запасом более чем вдвое превышающим верхнюю границу диапазона слышимых человеком частот (примерно 20 000 Гц), что соответствует теореме Котельникова (Найквиста—Шеннона): частота дискретизации должна как минимум вдвое превышать максимальную частоту сигнала, чтобы его можно было точно восстановить.

Как глубина кодирования звука влияет на качество записи? Чем больше бит отводится на одно измерение амплитуды, тем больше уровней громкости можно различить и тем точнее цифровая запись передаёт исходный аналоговый сигнал — но при этом растёт и информационный объём файла, поэтому глубина кодирования выбирается как компромисс между качеством и размером файла.

Почему стереозапись занимает вдвое больше места, чем монозапись с теми же параметрами? Потому что в стереозаписи хранятся два независимых потока данных — для левого и правого каналов, и каждый из них кодируется по тем же правилам (частота дискретизации, глубина кодирования), что и монофонический сигнал, поэтому общий объём удваивается.

Можно ли применить формулу объёма звука к любому аудиоформату? Формула I=f⋅i⋅t⋅kI = f \cdot i \cdot t \cdot k рассчитывает объём несжатого звукового сигнала (аналогично формату WAV) — реальные сжатые форматы (MP3, AAC) используют алгоритмы сжатия, уменьшающие итоговый объём файла, что не учитывается в этой базовой формуле.

Похожие темы для изучения

  • Кодирование и измерение информации
  • Кодирование текстовой информации
  • Кодирование графической информации
  • Системы счисления: перевод чисел между системами

Задачи для самостоятельного решения

  1. Найдите объём монофонической записи длительностью 20 секунд при частоте дискретизации 8000 Гц и глубине кодирования 8 бит.
  2. Стереозапись длится 10 секунд при частоте дискретизации 22 050 Гц и глубине кодирования 16 бит. Найдите объём в байтах.
  3. Объём монофонического файла составляет 64 Кбайт, частота дискретизации — 8000 Гц, глубина кодирования — 8 бит. Найдите длительность записи.
  4. Сколько уровней громкости можно закодировать при глубине кодирования 12 бит?
  5. Сравните объём одной и той же монозаписи длительностью 5 секунд при глубине кодирования 8 бит и 16 бит (частота дискретизации 44 100 Гц в обоих случаях).
  6. Найдите объём квадрофонической записи (4 канала) длительностью 6 секунд при частоте дискретизации 8000 Гц и глубине кодирования 8 бит.
  7. Объясните, почему для точной оцифровки сигнала с максимальной частотой 15 000 Гц частота дискретизации должна быть не менее 30 000 Гц.