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

02.12.2022


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

Принципы оцифровки звука

Цифровой звук — аналоговый звуковой сигнал, представленный посредством дискретных численных значений его амплитуды.

Оцифровка звука — технология осуществления замеров амплитуды звукового сигнала с определенным временным шагом и последующей записи полученных значений в численном виде. Другое название оцифровки звука — аналогово-цифровое преобразование звука.

Оцифровка звука включает в себя два процесса:

  • процесс дискретизации (осуществление выборки) сигнала по времени;
  • процесс квантования по амплитуде.

Дискретизация по времени

Процесс дискретизации по времени — процесс получения значений сигнала, который преобразуется с определенным временным шагом — шагом дискретизации . Количество замеров величины сигнала, осуществляемых в единицу времени, называют частотой дискретизации или частотой выборки, или частотой семплирования (от англ. «sampling» — «выборка»). Чем меньше шаг дискретизации, тем выше частота дискретизации и тем более точное представление о сигнале нами будет получено.

Это подтверждается теоремой Котельникова (в зарубежной литературе встречается как теорема Найквиста — Шеннона). Согласно ей, аналоговый сигнал с ограниченным спектром точно описуем дискретной последовательностью значений его амплитуды, если эти значения берутся с частотой, как минимум вдвое превышающей наивысшую частоту спектра сигнала. То есть, аналоговый сигнал, в котором находится частота спектра равная Fm, может быть точно представлен последовательностью дискретных значений амплитуды, если для частоты дискретизации Fd выполняется: Fd>2Fm.

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

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

Линейное (однородное) квантование амплитуды

Отведём для записи одного значения амплитуды сигнала в памяти компьютера N бит. Значит, с помощью одного N -битного слова можно описать 2N разных положений. Пусть амплитуда оцифровываемого сигнала колеблется в пределах от −1 до 1 некоторых условных единиц. Представим этот диапазон изменения амплитуды — динамический диапазон сигнала — в виде 2N −1 равных промежутков, разделив его на 2N уровней — квантов. Теперь для записи каждого отдельного значения амплитуды его необходимо округлить до ближайшего уровня квантования. Этот процесс носит название квантования по амплитуде. Квантование по амплитуде — процесс замены реальных значений амплитуды сигнала значениями, приближенными с некоторой точностью. Каждый из 2 N возможных уровней называется уровнем квантования, а расстояние между двумя ближайшими уровнями квантования называется шагом квантования. Если амплитудная шкала разбита на уровни линейно, квантование называют линейным (однородным).

Точность округления зависит от выбранного количества (2N) уровней квантования, которое, в свою очередь, зависит от количества бит (N), отведенных для записи значения амплитуды. Число N называют разрядностью квантования (подразумевая количество разрядов, то есть бит, в каждом слове), а полученные в результате округления значений амплитуды числа — отсчетами, или семплами (от англ. «sample» — «замер»). Принимается, что погрешности квантования, являющиеся результатом квантования с разрядностью 16 бит, остаются для слушателя почти незаметными.

Этот способ оцифровки сигнала — дискретизация сигнала во времени в совокупности с методом однородного квантования — называется импульсно-кодовой модуляцией (англ. Pulse Code Modulation — PCM). Оцифрованный сигнал в виде набора последовательных значений амплитуды уже можно сохранить в памяти компьютера. В случае, когда записываются абсолютные значения амплитуды, такой формат записи называется PCM. Стандартный аудио компакт-диск (CD-DA), применяющийся с начала 1980-х годов, хранит информацию в формате PCM с частотой дискретизации 44,1 кГц и разрядностью квантования 16 бит.

Другие способы оцифровки

  • Способ неоднородного квантования предусматривает разбиение амплитудной шкалы на уровни по логарифмическому закону. Такой способ квантования называют логарифмическим квантованием. При использовании логарифмической амплитудной шкалы, в области слабой амплитуды оказывается большее число уровней квантования, чем в области сильной амплитуды (при этом общее число уровней квантования остается таким же, как и в случае однородного квантования). Аналогово-цифровое преобразование, основанное на применении метода неоднородного квантования, называется неоднородной импульсно-кодовой модуляцией — неоднородной ИКМ (Nonuniform PCM).
  • Альтернативным способом аналогово-цифрового преобразования является разностная импульсно-кодовая модуляция — разностная ИКМ (англ. «Differential PCM») — в случае разностной ИКМ квантованию подвергают не саму амплитуду, а относительные значения величины амплитуды. В полной аналогии с ИКМ, разностная ИКМ может сочетаться с использованием как однородного, так и неоднородного методов квантования. Разностное кодирование имеет много разных вариантов.

Аналогово-цифровые преобразователи (АЦП)

Вышеописанный процесс оцифровки звука выполняется аналогово-цифровыми преобразователями (АЦП). Это преобразование включает в себя следующие операции:

  • Ограничение полосы частот производится при помощи фильтра нижних частот для подавления спектральных компонент, частота которых превышает половину частоты дискретизации.
  • Дискретизацию во времени, то есть замену непрерывного аналогового сигнала последовательностью его значений в дискретные моменты времени — отсчетов. Эта задача решается путём использования специальной схемы на входе АЦП — устройства выборки-хранения.
  • Квантование по уровню представляет собой замену величины отсчета сигнала ближайшим значением из набора фиксированных величин — уровней квантования.
  • Кодирование или оцифровку, в результате которого значение каждого квантованного отсчета представляется в виде числа, соответствующего порядковому номеру уровня квантования.
  • Делается это следующим образом: непрерывный аналоговый сигнал «режется» на участки, с частотой дискретизации, получается цифровой дискретный сигнал, который проходит процесс квантования с определенной разрядностью, а затем кодируется, то есть заменяется последовательностью кодовых символов. Для записи звука в полосе частот 20 Гц — 20 кГц, требуется частота дискретизации от 44,1 кГц и выше. Для получения качественной записи достаточно разрядности 16 бит, однако для расширения динамического диапазона и повышения качества звукозаписи используется разрядность 24 и 32 бита.

    Кодирование оцифрованного звука перед его записью на носитель

    Для хранения цифрового звука существует много различных способов. Оцифрованный звук являет собой набор значений амплитуды сигнала, взятых через определенные промежутки времени.

    • Блок оцифрованной аудио информации можно записать в файл без изменений, то есть последовательностью чисел — значений амплитуды. В этом случае существуют два способа хранения информации.
      • Первый — PCM — способ цифрового кодирования сигнала при помощи записи абсолютных значений амплитуд.
      • Второй — ADPCM (Adaptive Delta PCM — адаптивная относительная импульсно-кодовая модуляция) — запись значений сигнала не в абсолютных, а в относительных изменениях амплитуд (приращениях).
    • Можно сжать данные так, чтобы они занимали меньший объем памяти, нежели в исходном состоянии. Тут тоже есть два способа.
      • Кодирование данных без потерь — способ кодирования аудио, который позволяет осуществлять стопроцентное восстановление данных из сжатого потока. К нему прибегают в тех случаях, когда сохранение оригинального качества данных особо значимо. Существующие сегодня алгоритмы кодирования без потерь позволяют сократить занимаемый данными объем на 20—50 %, но при этом обеспечить стопроцентное восстановление оригинальных данных из полученных после сжатия.
      • Кодирование данных с потерями. Здесь цель — добиться схожести звучания восстановленного сигнала с оригиналом при как можно меньшем размере сжатого файла. Это достигается путём использования алгоритмов, «упрощающих» оригинальный сигнал (удаляющих из него «несущественные», неразличимые на слух детали). Это приводит к тому, что декодированный сигнал перестает быть идентичным оригиналу, а является лишь «похоже звучащим». Методов сжатия, а также программ, реализующих эти методы, существует много. В среднем, коэффициент сжатия, обеспечиваемый такими кодерами, находится в пределах 10--14 (раз). В основе всех lossy-кодеров лежит использование так называемой психоакустической модели. Она занимается этим самым «упрощением» оригинального сигнала. Степень сжатия оригинального сигнала зависит от степени его «упрощения» — сильное сжатие достигается путём «воинственного упрощения» (когда кодером игнорируются множественные нюансы). Такое сжатие приводит к сильной потере качества, поскольку удалению могут подлежать не только незаметные, но и значимые детали звучания.

    Терминология

    • кодер — программа (или устройство), реализующая определенный алгоритм кодирования данных (например, архиватор, или кодер MP 3), которая в качестве ввода принимает исходную информацию, а в качестве вывода возвращает закодированную информацию в определенном формате.
    • декодер — программа (или устройство), реализующая обратное преобразование закодированного сигнала в декодированный.
    • кодек — программный или аппаратный блок, предназначенный для кодирования/декодирования данных.

    Некоторые форматы оцифровки звука в сравнении

    Полный цикл преобразования звука: от оцифровки до воспроизведения у потребителя

    Полный цикл преобразования звука: от оцифровки до воспроизведения

    Помехоустойчивое и канальное кодирование

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

    Канальное кодирование служит для согласования цифровых сигналов с параметрами канала передачи (записи/воспроизведения). К полезному сигналу добавляются вспомогательные данные, которые облегчают последующее декодирование. Это могут быть сигналы временного кода, служебные сигналы, сигналы синхронизации.

    В устройствах воспроизведения цифровых сигналов канальный декодер выделяет из общего потока данных тактовые сигналы и преобразует поступивший канальный сигнал в цифровой поток данных. После коррекции ошибок сигнал поступает в ЦАП.

    Принцип действия ЦАП

    Цифровой сигнал, полученный с декодера, преобразовывается в аналоговый. Это преобразование происходит следующим образом:

  • Декодер ЦАП преобразует последовательность чисел в дискретный квантованный сигнал
  • Путём сглаживания во временной области из дискретных отсчетов вырабатывается непрерывный во времени сигнал
  • Окончательное восстановление сигнала производится путём подавления побочных спектров в аналоговом фильтре нижних частот
  • Параметры, влияющие на качество звука при его прохождении по полному циклу

    Основными параметрами, влияющими на качество звука при этом являются:

    • Разрядность АЦП и ЦАП.
    • Частота дискретизации АЦП и ЦАП.
    • Джиттер АЦП и ЦАП
    • Передискретизация

    Также немаловажными остаются параметры аналогового тракта цифровых устройств кодирования и декодирования:

    • Отношение сигнал/шум
    • Коэффициент нелинейных искажений
    • Интермодуляционные искажения
    • Неравномерность амплитудно-частотной характеристики
    • Взаимопроникновение каналов
    • Динамический диапазон

    Методы кодирования

    Существуют различные методы кодирования звуковой информации двоичным кодом, среди которых выделяют два основных направления: метод FM и метод Wave-Table.

    Метод FM (Frequency Modulation) основан на том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых будет представлять собой правильную синусоиду, а это значит, что его можно описать кодом. Процесс разложения звуковых сигналов в гармонические ряды и их представление в виде дискретных цифровых сигналов происходит в специальных устройствах, которые называют «аналогово-цифровые преобразователи» (АЦП).

    Таблично-волновой метод (Wave-Table) основан на том, что в заранее подготовленных таблицах хранятся образцы звуков окружающего мира, музыкальных инструментов и т. д. Числовые коды выражают высоту тона, продолжительность и интенсивность звука и прочие параметры, характеризующие особенности звука. Поскольку в качестве образцов используются «реальные» звуки, качество звука, полученного в результате синтеза, получается очень высоким и приближается к качеству звучания реальных музыкальных инструментов.