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

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

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

Принципы оцифровки звука[править | править вики-текст]

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

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

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

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

Дискретизация по времени[править | править вики-текст]

Пример представления аналогового сигнала в цифровой форме

Процесс дискретизации по времени — процесс получения значений сигнала, который преобразуется, с определенным временным шагом — шагом дискретизации . Количество замеров величины сигнала, осуществляемых в одну секунду, называют частотой дискретизации или частотой выборки, или частотой семплирования (от англ. « sampling» — «выборка»). Чем меньше шаг дискретизации, тем выше частота дискретизации и тем более точное представление о сигнале нами будет получено.
Это подтверждается теоремой Котельникова (в зарубежной литературе встречается как теорема Шеннона, Shannon). Согласно ей, аналоговый сигнал с ограниченным спектром точно описуем дискретной последовательностью значений его амплитуды, если эти значения берутся с частотой, как минимум вдвое превышающей наивысшую частоту спектра сигнала. То есть, аналоговый сигнал, в котором наивысшая частота спектра равна Fm, может быть точно представлен последовательностью дискретных значений амплитуды, если для частоты дискретизации Fd выполняется: Fd>2Fm.
На практике это означает, что для того, чтобы оцифрованный сигнал содержал информацию о всем диапазоне слышимых частот исходного аналогового сигнала (0 — 20 кГц) необходимо, чтобы выбранное значение частоты дискретизации составляло не менее 40 кГц. Количество замеров амплитуды в секунду называют частотой дискретизации (в случае, если шаг дискретизации постоянен).
Основная трудность оцифровки заключается в невозможности записать измеренные значения сигнала с идеальной точностью.

Линейное (однородное) квантование амплитуды[править | править вики-текст]

Отведём для записи одного значения амплитуды сигнала в памяти компьютера N бит. Значит, с помощью одного N -битного слова можно описать 2N разных положений. Пусть амплитуда оцифровываемого сигнала колеблется в пределах от −1 до 1 некоторых условных единиц. Представим этот диапазон изменения амплитуды — динамический диапазон сигнала — в виде 2N −1 равных промежутков, разделив его на 2N уровней — квантов. Теперь, для записи каждого отдельного значения амплитуды, его необходимо округлить до ближайшего уровня квантования. Этот процесс носит название квантования по амплитуде. Квантование по амплитуде — процесс замены реальных значений амплитуды сигнала значениями, приближенными с некоторой точностью. Каждый из 2 N возможных уровней называется уровнем квантования, а расстояние между двумя ближайшими уровнями квантования называется шагом квантования. Если амплитудная шкала разбита на уровни линейно, квантование называют линейным (однородным).
Точность округления зависит от выбранного количества (2N) уровней квантования, которое, в свою очередь, зависит от количества бит (N), отведенных для записи значения амплитуды. Число N называют разрядностью квантования (подразумевая количество разрядов, то есть бит, в каждом слове), а полученные в результате округления значений амплитуды числа — отсчетами или семплами (от англ. « sample» — «замер»). Принимается, что погрешности квантования, являющиеся результатом квантования с разрядностью 16 бит, остаются для слушателя почти незаметными. Этот способ оцифровки сигнала — дискретизация сигнала во времени в совокупности с методом однородного квантования — называется импульсно-кодовой модуляцией, ИКМ (англ. Pulse Code Modulation — PCM).
Оцифрованный сигнал в виде набора последовательных значений амплитуды уже можно сохранить в памяти компьютера. В случае, когда записываются абсолютные значения амплитуды, такой формат записи называется PCM (Pulse Code Modulation). Стандартный аудио компакт-диск (CD-DA), применяющийся с начала 80-х годов 20-го столетия, хранит информацию в формате PCM с частотой дискретизации 44.1 кГц и разрядностью квантования 16 бит.

Другие способы оцифровки[править | править вики-текст]

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

Цифро-аналоговые преобразователи (ЦАП)[править | править вики-текст]

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

  1. Ограничение полосы частот производится при помощи фильтра нижних частот для подавления спектральных компонент, частота которых превышает половину частоты дискретизации.
  2. Дискретизацию во времени, то есть замену непрерывного аналогового сигнала последовательностью его значений в дискретные моменты времени — отсчетов. Эта задача решается путём использования специальной схемы на входе АЦП — устройства выборки-хранения.
  3. Квантование по уровню представляет собой замену величины отсчета сигнала ближайшим значением из набора фиксированных величин — уровней квантования.
  4. Кодирование или оцифровку, в результате которого значение каждого квантованного отсчета представляется в виде числа, соответствующего порядковому номеру уровня квантования.

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

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

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

  • Блок оцифрованной аудио информации можно записать в файл без изменений, то есть последовательностью чисел - значений амплитуды. В этом случае существуют два способа хранения информации.
    • Первый - PCM (Pulse Code Modulation - импульсно-кодовая модуляция) - способ цифрового кодирования сигнала при помощи записи абсолютных значений амплитуд. (В таком виде записаны данные на всех аудио CD.)
    • Второй - ADPCM (Adaptive Delta PCM - адаптивная относительная импульсно-кодовая модуляция) – запись значений сигнала не в абсолютных, а в относительных изменениях амплитуд (приращениях).
  • Можно сжать данные так, чтобы они занимали меньший объем памяти, нежели в исходном состоянии. Тут тоже есть два способа.
    • Кодирование данных без потерь (lossless coding) - способ кодирования аудио, который позволяет осуществлять стопроцентное восстановление данных из сжатого потока. К нему прибегают в тех случаях, когда сохранение оригинального качества данных особо значимо. Существующие сегодня алгоритмы кодирования без потерь (например, Monkeys Audio) позволяют сократить занимаемый данными объем на 20-50%, но при этом обеспечить стопроцентное восстановление оригинальных данных из полученных после сжатия.
    • Кодирование данных с потерями (lossy coding). Здесь цель - добиться схожести звучания восстановленного сигнала с оригиналом при как можно меньшем размере сжатого файла. Это достигается путем использования алгоритмов, «упрощающих» оригинальный сигнал (удаляющих из него «несущественные», неразличимые на слух детали). Это приводит к тому, что декодированный сигнал перестает быть идентичным оригиналу, а является лишь «похоже звучащим». Методов сжатия, а также программ, реализующих эти методы, существует много. Наиболее известными являются MPEG-1 Layer I,II,III (последним является всем известный MP3), MPEG-2 AAC (advanced audio coding), Ogg Vorbis, Windows Media Audio (WMA), TwinVQ (VQF), MPEGPlus, TAC, и прочие. В среднем, коэффициент сжатия, обеспечиваемый такими кодерами, находится в пределах 10-14 (раз). В основе всех lossy-кодеров лежит использование так называемой психоакустической модели. Она занимается этим самым «упрощением» оригинального сигнала. Степень сжатия оригинального сигнала зависит от степени его «упрощения» - сильное сжатие достигается путем «воинственного упрощения» (когда кодером игнорируются множественные нюансы). Такое сжатие приводит к сильной потере качества, поскольку удалению могут подлежать не только незаметные, но и значимые детали звучания[4].

Терминология[править | править вики-текст]

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

Наиболее распространённые кодеки[править | править вики-текст]

  • MP3 – MPEG-1 Layer 3
  • ОGG – Ogg Vorbis
  • WMA – Windows Media Audio
  • MPC - MusePack
  • AAC – MPEG-2/4 AAC (Advanced Audio Coding)
    • Стандарт MPEG-2 AAC
    • Стандарт MPEG-4 AAC

Некоторые форматы оцифровки звука в сравнении[править | править вики-текст]

Название формата Квантование, бит Частота дискретизации, кГц Число каналов Величина потока данных с диска, кбит/с Степень сжатия/упаковки
CD 16 44,1 2 1411,2 1:1 без потерь
Dolby Digital (AC3) 16-24 48 6 до 640 ~12:1 с потерями
DTS 20-24 48; 96 до 8 до 1536 ~3:1 с потерями
DVD-Audio 16; 20; 24 44,1; 48; 88,2; 96 6 6912 2:1 без потерь
DVD-Audio 16; 20; 24 176,4; 192 2 4608 2:1 без потерь
MP3 плавающий до 48 2 до 320 ~11:1 с потерями
AAC плавающий до 96 до 48 до 529 с потерями
AAC+ (SBR) плавающий до 48 2 до 320 с потерями
Ogg Vorbis до 32 до 192 до 255 до 1000 с потерями
WMA до 24 до 96 до 8 до 768 2:1, есть версия без потерь

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

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

Помехоустойчивое и канальное кодирование[править | править вики-текст]

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

Принцип действия ЦАП[править | править вики-текст]

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

  1. Декодер ЦАП преобразует последовательность чисел в дискретный квантованный сигнал
  2. Путем сглаживания во временной области из дискретных отсчетов вырабатывается непрерывный во времени сигнал
  3. Окончательное восстановление сигнала производится путем подавления побочных спектров в аналоговом фильтре нижних частот

Параметры, влияющие на качество звука при его прохождении по полному циклу[править | править вики-текст]

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

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

Методы кодирования[править | править вики-текст]

Частотная модуляция[править | править вики-текст]

Методы кодирования звука (конечно имеется в виду электрический сигнал, поступающий с микрофона) основаны на том, что теоретически любой сложный звук можно разложить на последовательность простейших гармонических сигналов разных частот, каждый из которых представляет собой синусоиду, называемых спектром исходного сигнала. Задачей кодирования звука, как и другого аналогового сигнала является представление его в форме другого аналогового или цифрового сигнала, более удобного для передачи или хранения в каждом конкретном случае. Реальные источники звука имеют ограниченную ширину спектра, поэтому для кодирования применяют такие методы преобразования, которые преобразуют исходный сигнал в такой, спектр которого наиболее подходит для передачи по выбранному каналу. Представление аналогового сигнала в виде другого аналогового сигнала обычно называется модуляцией, а представление в цифровом виде - кодировкой. Это разделение очень условно. Аналоговый сигнал может быть представлен в виде гармонического сигнала (т.е. синусоиды), параметры которого изменяются в зависимости от значения первоначального сигнала. В том случае, когда с изменением первоначального сигнала изменяется амплитуда синусоиды - мы имеем дело с амплитудной модуляцией (AM). Если в зависимости от значения исходного сигнала изменяются частота или фаза синусоиды - мы имеем дело с частотной модуляцией (FM) или фазовой модуляцией (PM). Амплитудная и частотная модуляция, например, широко используются для передачи звука по радио.Эти виды модуляции, конечно, не являюся разложением исходного сигнала по гармоникам. Развитие цифровой техники и применение компьютерной обработки и хранения информации привело к широкому применению импульсных методов модуляции или кодирования. Такими видами модуляции являются, например, импульсно-кодовая модуляция, при которой значение исходного сигнала через определенные промежутки времени представляется в виде кода. Для получения цифрового кода аналоговой величины применяют специальные устройства — аналогово-цифровые преобразователи (АЦП). Обратное преобразование для воспроизведения звука, закодированного числовым кодом, выполняют цифро-аналоговые преобразователи (ЦАП). Подавляющее большинство "компьютерного звука" является именно записью двоичного кода сигнала, полученнного через небольшие равные промежутки времени, определяемые частотой дискретизации. Для хранения и передачи по каналам связи такой сигнал обычно подвергается сжатию (уменьшениею объема путем отбрасывания ненужной или малозначимой информации). Кроме импульсно-кодовой модуляции для кодирования звука применяют и другие виды цифровой модуляции (широтно-импульсную, частотно импульсную и пр.). Эти виды модуляции иногда применяют для передачи звука по цифровым каналам, но в компьютерной технике их используют редко и в основном как промежуточные для некоторых видов цифровой фильтрации и создания звуковых эффектов.

Таблично-волновой синтез[править | править вики-текст]

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

Примечания[править | править вики-текст]

См. также[править | править вики-текст]