10(b)-Lesson №19

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

Для кодирования звука используются два метода: оцифровка и инструментальное кодирование.

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

Звук — это колебания среды (воздуха, воды). С помощью микрофона звук преобразуется в аналоговый электрический сигнал, который в любой момент времени может принимать любое значение в некотором интервале. Этот сигнал можно подать на вход звуковой карты, где специальное устройство — аналого-цифровой преобразователь (АЦП) — преобразует его в цифровой код. Процессор компьютера может затем обработать этот код по некоторому алгоритму, сохранить в файле и т. д. (рис. 2.27).

Рис. 2.27

Для проигрывания звука через наушники или звуковые колонки (это аналоговые устройства!), цифровой код из памяти компьютера (например, из файла) передаётся звуковой карте, где с помощью цифро-аналогового преобразователя (ЦАП) преобразуется в аналоговый сигнал, поступающий на устройство вывода звука.

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

Рис. 2.28, а

Число Т называется интервалом дискретизации, а обратная ему величина f = 1 /Т — частотой дискретизации. Частота дискретизации измеряется в герцах (Гц) и килогерцах (кГц). Чем больше частота дискретизации, тем точнее мы записываем сигнал, тем меньше информации теряем. Однако при этом возрастает количество отсчётов, т. е. информационный объём закодированного звука. Для кодирования звука в компьютерах чаще всего используются частоты дискретизации 8 кГц (минимальное качество, достаточное для распознавания речи), 11 кГц, 22 кГц, 44,1 кГц (звуковые компакт-диски), 48 кГц (фильмы в формате DVD), а также 96 кГц и 192 кГц (высококачественный звук в формате DVD-audio).

Кроме дискретизации по времени в АЦП происходит и дискретизация по уровню (квантование): измеренные значения сигнала записываются в памяти как целые числа. На рис. 2.28, б весь диапазон значений сигнала разбит на 8 = 23 одинаковых полос, что соответствует 3-битному кодированию. Все значения, попавшие в одну полосу, получают одинаковые коды.

Разрядность кодирования (глубина кодирования) — это число бит, используемое для хранения одного отсчёта.

Недорогие звуковые карты имеют разрядность 16-18 бит, большинство современных — 24 бита, что позволяет использовать 224 = 16777216 различных уровней.

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

I = f • i • t • k,

где f — частота квантования, i — разрядность кодирования, t — время и k — число каналов, которые записываются одновременно.

Для стереофонической записи (когда отдельно записываются левый и правый каналы) нужно принять к = 2, а для квадро-фонического звука (запись четырёх каналов одновременно) — к = 4.

Например, если используется 16-разрядное кодирование с частотой 44 кГц, то за 1 с выполняется 44 000 измерений сигнала, и каждое из измеренных значений занимает 16 бит (2 байта). Поэтому за 1 секунду накапливается f • i = 44000 • 2 = 88000 байт данных, а за 1 минуту

f • i • t = 88000 • 60 = 5 280000 байт * 5 Мбайт.

Если записывается стереозвук, это число нужно удвоить, а при записи квадрофонического звука — умножить на четыре.

При проигрывании звука приходится решать сложную задачу — восстанавливать аналоговый сигнал по его дискретным значениям, взятым с некоторой частой /. С точки зрения математики, любой сигнал можно представить в виде суммы очень большого числа колебаний разных частот (гармоник). Если выбрать частоту дискретизации f больше, чем удвоенная частота самой быстрой гармоники, то теоретически по отдельным отсчётам можно точно восстановить исходный аналоговый сигнал. Этот результат известен в радиотехнике как теорема Котельникова-Шеннона.

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

Однако средний человек слышит только звуки с частотами от 16 Гц до 20 кГц, поэтому все частоты выше 20 кГц можно «потерять» практически без ухудшения качества звука (человек не почувствует разницу!). Удвоив эту частоту (по теореме Котельникова-Шеннона), получаем оптимальную частоту дискретизации около 40 кГц, которая обеспечивает наилучшее качество, различимое на слух. Поэтому при высококачественном цифровом кодировании звука на компакт-дисках и в видеофильмах чаще всего используют частоты 44,1 кГц и 48 кГц. Более низкие частоты дискретизации применяют тогда, когда важно всячески уменьшать объём звуковых данных (например, для трансляции радиопередач через Интернет), даже ценой ухудшения качества.

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

С помощью оцифровки можно закодировать любой звук, который принимает микрофон. Однако при оцифровке звука всегда есть потеря информации (из-за дискретизации). Кроме того, звуковые файлы имеют, как правило, большой размер, поэтому в большинстве современных форматов используется сжатие. Программа, которая выполняет сжатие звуковых данных, называется кодеком (от англ, coder/decoder — кодировщик/декодировщик).

Среди форматов оцифрованных звуковых файлов наиболее известны форматы:

WAV (англ. Waveform Audio File Format, файлы с расширением wav);

MP3 (файлы с расширением mp3);

ААС (англ. Advanced Audio Coding, файлы с расширениями aac, mp4, m4а и др.);

WMA (англ. Windows Media Audio, файлы с расширением wma);

Ogg Vorbis (файлы с расширением ogg) — открытый формат, не требующий оплаты лицензии.

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

Для кодирования инструментальных мелодий нередко используется стандарт MIDI (англ. Musical Instrument Digital Interface — цифровой интерфейс музыкальных инструментов). В отличие от оцифрованного звука в таком формате хранятся последовательность нот, коды инструментов (можно использовать 128 мелодических и 47 ударных инструментов), громкость, тембр, время затухания каждой ноты и т. д. Фактически это программа, предназначенная для проигрывания звуковой картой, в памяти которой хранятся образцы звуков реальных инструментов (волновые таблицы, англ, wave tables).

Современные звуковые карты поддерживают многоканальный звук, т. е. в звуковом файле может храниться несколько «дорожек», которые проигрываются одновременно. Таким образом, получается полифония — многоголосие, возможность проигрывать одновременно несколько нот. Количество голосов для современных звуковых карт может достигать 1024.

Звук, закодированный с помощью стандарта MIDI, хранится в файлах с расширением mid. Для проигрывания MIDI-файла используют синтезаторы — электронные устройства, имитирующие звук реальных инструментов. Простейший синтезатор — звуковая карта компьютера.

Главные достоинства инструментального кодирования:

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

Однако произвольный звук (например, человеческий голос) в таком формате закодировать невозможно. Кроме того, производители сами выбирают образцы звуков (так называемые сэмплы, от англ, samples — образцы), которые записываются в память звуковой карты (нет единого стандарта). Поэтому звучание MIDI-файла может немного отличаться на разной аппаратуре.

Выполнить домашнюю работу

Выполнить классную работу