Ошибка базы данных WordPress: [Table './meandr_base/anzpz_usermeta' is marked as crashed and last (automatic?) repair failed]
SELECT user_id, meta_key, meta_value FROM anzpz_usermeta WHERE user_id IN (1) ORDER BY umeta_id ASC

0

Кодеки звука МР3 и другие

В статье рассматриваются принципы цифрового сжатия звука, а также достоинства и недостатки широко распространенных кодеков звука.

Цифровые форматы хранения звука, как и цифровые устройства воспроизведения звука, закодированного различными кодеками, давно прочно вошли в нашу жизнь. Однако многие радиолюбители не очень точно понимают, что же представляет собою сжатый звук, и за счет чего происходит его сжатие. В среде радиолюбителей-меломанов ходит множество легенд:

«Звук, сжатый в формат. wav (.mp3 и т.д.), на хорошем оборудовании будет звучать лучше, чем звук в несжатом формате. flac»;

« Объем файла .mp3 получается меньше, потому что при кодировании срезают ВЧ, но их и так никто не слышит» и т.д. и т.п.

Поэтому в статье будут рассмотрены:

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

Особенности звука

Акустический звуковой сигнал преобразуется в электрические колебания посредством микрофонов различных типов: электромагнитных, электретных и т.д. Указанные микрофоны представляют собой аналоговые устройства. У микрофона выходной сигнал принимает произвольное по амплитуде состояние (в его рабочем диапазоне выходных сигналов) в любой произвольный момент времени. Таким образом, исходный аудио сигнал в электрической форме всегда аналоговый.

Пол своей природе, звук это акустическая волна, которая может быть предоставлена в виде суммы синусоидальных колебаний с различной частотой и амплитудой с использованием разложения в ряд Фурье. Для характеристики интенсивности звука (его громкости) используется измерение его амплитуды, которая выражается в децибелах (дБ). Ухо человека способно различать звуки с громкостью от 10-15 дБ до 120 дыб. Выше 120 дБ наступает болевой порог слуха.

Важно также, что человек слышит звук в определенном частотном диапазоне: 16 Гц…20-22 кГц (для молодых людей в возрасте 16-25 лет). С возрастом человек перестает слышать верхнюю часть звукового диапазона. На рис.1 приведена осциллограмма типичного музыкального фрагмента.

Важно также отметить, что инфранизкие звуки (ниже 16 Гц) и ультразвук (выше 22 кГц), присутствующее в музыкальном произведении, человек не слышит, но такие колебания в составе музыкального произведения могут, суммируясь/вычитаясь с колебаниями других частот, давать результирующие колебания лежащее в звуковом диапазоне. Поэтому важно, чтобы УМЗЗЧ тракта звуковоспроизведения имел полосу пропускания не уже 100 кГц.

Отметим, что АЧХ звуковой волны, как правило, далеко не линейна – она имеет подъем на низких частотах и заметный спад на высоких.

Кроме громкости, частоты и длительности звук характеризуется еще и тембром. Особенно это важно при рассмотрении звука музыкальных инструментов, поскольку при игре на них появляются дополнительные музыкальные колебания – обертоны. Так, например, струнный инструмент производит звук не только за счет колебаний струны целиком, но и за счет колебаний ее отдельных частей, которые и производят обертоны.1Как видим, звук, вообще, и звук музыкальных инструментов в частности – это довольно сложное природное явление, для корректной оцифровки которого надо учитывать и сохранять в конечном цифровом файле большое количество параметров.

Преобразование аналогового звука в цифровую форму

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

На рис.2 показан способ представления непрерывного сигнала путем дискретизации по времени. Разумеется, чем больше будет таких временных отрезков (а их длительность будет меньше), т.е. чаще будут браться «выборки» амплитуды звука, тем точнее будет перевод звука в цифровой вид. Увеличения интервала между выборками (периода дискретизации ТД на рис.2) сужает частотный диапазон оцифрованного сигнала, а увеличение шага квантования приводит к искажениям формы оцифрованного сигнала. На рис. 3 показано, что независимо от величины шага квантования (т. е. разницы в уровне сигнала составляющей 1 бит выходного цифрового кода) будут иметь место искажение формы выходного сигнала на величину ошибки квантования, которая будут различной для каждого отсчета входного аналогового сигнала.2 3Таким образом, абсолютно точно перевести аналоговый сигнал в цифровую форму невозможно, а для обеспечения большей точности оцифровки, период дискретизации и шаг квантования необходимо уменьшать.

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

  • фильтра низких часто (ФНЧ);
  • амплитудно-импульсного преобразователя (АИП);
  • генератора тактовых импульсов (ГТИ);
  • кодера.

4Устройство (рис. 4, б) работает следующим образом. Аналоговый сигнал проходит через ФЫНЧ, где из него удаляются ВЧ шумы и его спектр сокращается до требуемого уровня. Затем сигнал поступает на устройство выборки и хранения (АИМ), где осуществляются его выборки по времени. После этого дискретный по времени сигнал поступает на амплитудный дискретизатор, где его преобразуют в промежуточный цифровой код. Затем кодер преобразует сигнал в цифровой код требуемого формата.

Качество процесса дискретизации характеризуется двумя параметрами:

  • частотой дискретизации;
  • шагом квантования.

Например, для музыкальных audioCD – дисков используется частота дискретизации 44,1 кГц, и сигнал представляется по амплитуде 16-разрядным кодом. Т. е. количество отсчетов сигнала по амплитуде составляет 216=65536, т. е. весь диапазон сигнала разбивается на 65536 дискретных уровней.

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

В приведенном примере для audioCD, частота дискретизации 44,1 кГц означает, что выборки происходят с временным интервалом Тд=1с/44100=22,7 мкс. Т.е. изменения в музыкальном сигнале длительностью менее этой величины в конечном цифровом коде учитываться не будут.

Надо отчетливо понимать, что любая дискретизация аналогового сигнала приводит к потере части имеющейся в нем информации и к неизбежному искажению сигнала, полученного в цифровой форме.

В соответствии с теоремой Котельникова, для того чтобы корректно преобразовать сигнал в цифровую форму, частота дискретизации должна быть как минимум вдвое выше максимальной частоты в спектре входного сигала. Т.е. при частоте дискретизации 44,1 кГц максимальная частота входного сигала, которая будет присутствовать в цифровом коде, теоретически составляет 22,05 кГц. Реально входной ФНЧ при записи audioCD ограничивает ее на уровне 20…21 кГц. Как видим audioCD содержит цифровую информацию, весьма далекую от исходного музыкального произведения.

Отметим также следующий момент. Звучание многих музыкальных инструментов характеризуется быстроменяющейся временной и динамической структурой, что вызвано наличием в спектре их звучания ультразвука или быстрой атакой в их звучании, реверберацией помещения, и т.п. Так, труба может изменять свое звучание на 110…1200дБ всего за 10…15 мкс. Т.е. ее звучание, при записи на audioCD, будет сильно искажено.

Исследования человеческого слуха показали, что ухо различает изменение звука длительностью всего лишь 0,2…0,5 мкс (в зависимости от возраста испытуемого). Т.е. для оцифровки звукового сигнала нужна частота дискретизации 2…5 МГц. В то же время в современных цифровых кодерах частота дискретизации выше 384 кГц не используется. Поэтому не удивляйтесь, что даже на самой дорогой цифровой аудиоаппаратуре музыка звучит не так, как в концертном зале.

 

Воспроизведение цифровых записей

При воспроизведении звука, записанного в цифровом формате, сигнал перетерпевает процесс обработки, обратный описанному выше его преобразованию в цифровой формат. Отметим, что надеяться на то, что самостоятельно оцифрованный на компьютере аналоговой звуковой сигнал, например, с с виниловых пластинок будет звучать лучше, чем музыка с готовых оцифрованных записей, не стоит. К счастью, все орехи цифровых записей хорошо заметны только на качественном аудиооборудовании: высокоточном ЦАП, качественном УМЗЧ, хорошей многополосной акустике. При этом все это должен работать не в малогабаритной городской квартире, а в зале для прослушивания. Тем не менее, дефекты звучания стандартного audioCD-диска хорошо заметны доже при прослушивании на аппаратуре среднего класса в городской квартире.

 

Размер цифрового файла

Звук в цифровой форме можно хранить на любом цифровом носителе, как в сжатом, так и в несжатом виде. Уже упомянутый ранее стандарт audioCD, а также последовавший за ним стандарт superaudioCD не предусматривали сжатия звуковых данных. В то же время такие аудиофайлы получались слишком объемными – на стандартном audioCD объемом 700 Мб можно было разместить всего лишь 12-16 музыкальных треков продолжительностью 3…5 мин каждый. Также неудобно обмениваться столь объемными, но коротко звучащими файлами и по сети Интернет. В итоге возникли различные форматы сжатия аудиоданных.

Различают 2 типа сжатия цифровых аудиотреков:

  • Без потерь качества;
  • С потерями исходного качества сигнала.

 

Сжатие без потерь

Оно основано на принципе сокращения избыточности «цифрового» звука. Такие алгоритмы позволяют более компактно «разместить» аудиоданные в файле и уменьшить его размер на 15…20%. Таким образом, разницы в звучании несжатых аудиофайлов и сжатых без потерь быть не может (разумеется, при правильном декодировании сжатых файлов).

 

«Лишняя» звуковая информация

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

Существует также частотное маскирование, например, человек не слышит своего собеседника рядом с работающим перфоратором или отбойным молотком. Т.е. низкие частоты маскируют средние и высокие. Характерно, что обратного эффекта не: высокие частоты не могут маскировать низкие. Поэтому в алгоритмах сжатия без потерь часто используют ФНЧ, которые убирают из спектра высокие частоты.

Например, стандартный трек audioCD, записанный в формате PCMс битрейтом 1411,2 кбит/с объемом 110 Мб, может быть преобразован в файл формата MP3 с битрейтом 128 кбит/с объемом 10 Мб. При этом среднестатистический слушатель на аппаратуре среднего качества не заметит разницы в их звучание.

 

Различия в спектрах сигналов

В связи с изложенным выше, рассмотрим отличие в спектрах файла PCMи файла MP3, полученного из этого же файла PCM. На рис.5 видно, что спектр файла PCM имеет монотонный спад до частоты 22 кГц. Это связано с тем, что для его создания использовалась частота дискретизации 44,1 кГц, и верхняя частота сигнала в таком файле будет 44,1/2=22 кГц.1На рис.6 виден спад на частоте 16 кГц и выше. Т.е. имеется четкая полоса подавления сигнала – выше 16 кГц и полоса пропускания – до 16 кГц. Таким образом, кодек срезал полосу частот 16…222 кГц, исходя из того, что в какой-то определенный момент времени он «решил», что эти частоты не будут слушателем восприняты.2 Битрейт

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

Ранее рассмотренный трек audioCD, записанный в формате РСМ, имеет максимальную частоту 22 кГц и объем 110 Мб, а полученный из него MP3 трек с максимальной частотой 16 кГц имеет объем 10 Мб. Т.е. объемы файлов отличаются в 11 раз соответственно, и битрейт при передаче MP3 файла будет в 11 раз меньше – 1411,2/11 = 128 кбит/с.

Таким образом, оказывается, что при сжатии аудиосигналов с потерями битрейт может выступать как косвенная характеристика: чем битрейт выше, тем лучше качество звучания. В то же время при сжатии без потерь качества битрейт также уменьшается, по сравнению с исходным, однако в данном случае это ничего не говорит об ухудшении качества звучания.

 

Принципы построения кодеков звука со сжатием

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

  • частотное маскирование, вследствие которого человек не в состоянии различить звуки с близкими частотами;
  • частотная кривая слуха будет различна для звука разной интенсивности;
  • в присутствие громкого сигнала кривая слуха для тихих сигналов поднимается выше и становится более линейной;
  • маскировка слабого звука сильным длится 5…10 мс до его начала (явление предмаскировки) и 50…200 мс после его прекращения (рис.7);3
  • имеется 25 частотных полос, так называемых, критических полос, в которых действует маскирование;
  • ширина критической полосы зависит от частоты, на НЧ она составляет 100 Гц и мене, а на частоте 2 кГц – 300 Гц, в области ВЧ – 4 кГц и более.

Рассмотрим всё это подробнее.

Метод совмещенного стерео.

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

Психоакустическая модель

«Очищает» выходной сигнал от звуков, заведомо не слышных для человека. При этом сжатие сигнала происходит с тщательным сохранением звуков, хорошо различимых человеком. Однако в связи с тем, что особенности слуха человека до конца eщe не изучены, то общепринятых методик в этой области пока нет. Поэтому алгоритм сжатия строится на основе пробных прослушиваний и сравнения аудиофайлов, сжатых разными способами, группами экспертов. Грубо говоря, алгоритм выбирается «методом тыка». Большинство таких алгоритмов основано на высокой предсказуемости такого сигнала, как человеческий голос.

Уровень шума

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

Разделение диапазона звуковых частот на полосы.

При этом каждая полоса обрабатывается отдельно. Аудиокодек выделяет самый громкий звук в каждой полосе и определяет приемлемый уровень шума в этой полосе. Часто учитывается также уровень звука в соседних полосах, поскольку громкий звук в одной полосе может создать маскирующий эффект в соседних.
Алгоритм сжатия Хаффмана 
Этот алгоритм позволяет увеличить степень сжатия для однородных сигналов, которые не достаточно сильно сжимаются с помощью описанных выше методов.
Всё описанное выше позволяет сжать объем аудиофайла в 10 и более раз. Как правило, при кодировании задается требуемый уровень сжатия, а аудиокодек уже сам определяет величину потери качества исходного файла.

 

Кодек звука MP3

Его более точное название MPEG-1/2/2.5 Laуег 3. Т.е. третий тип формата кодирования звука в стандарте сжатия телевизионного сигнала MPEG. На данный момент этот формат поддерживается практически всеми типами современных мультимедиа устройств.
Как уже отмечалось ранее, в формате МРЗ используется алгоритм сжатия с конечным файлом, имеющим, как правило, битрейт 128 кбит/с, что позволяет получить файл с объемом в 10 раз меньше исходного. При этом утверждается, что потери качества, в этом случае, будут практически не
различимы для большинства людей.
Чтобы лучше понять недостатки и достоинства этого кодека, вспомним, как он был разработан. МРЗ создан группой университета Эрланген-Нюрнберг и группой института Фраунгофера (рис.8) в сотрудничестве с компаниями AT&T Bell Labs и Thomson в 1994 г.

1Тестирование работы кодека проводилось на небольшом количестве популярных в то время музыкальных композициях. Причем основной тестовой песней была песня Сюзанны Веги «Tom’s Diner». Разумеется, это не могло способствовать оптимальной работе кодека с широким диапазоном камерной, инструментальной или хард-рок музыки.

Основная идея

Сводится к тому, что для уменьшения битрейта и объема конечного файла из аудиозаписи удаляется та звуковая информация, которую, согласно психоакустической модели, полученной путем экспертных оценок, человеческое ухо не воспринимает, или её воспринимают не все люди. Битрейт конечного файла может составлять от 8 до 320 кбит/с, при том, что, как уже отмечалось ранее, битрейт диска формата AudioCD с несжатым аудио равен 1411,2 кбит/с.

Качество MP3 записей

На заре становления формате бытовало мнение, что запись с битрейтом 128 кбит/с имеет достаточное качество, чтобы большинство людей заменили такими записями AudioCD. Однако это не так. Прежде всего, «стандарт» битрейта 128 кбит/с был установлен в то время, когда качество работы звуковых карт и компьютерных колонок было куда хуже, чем сейчас.
Кроме того, качество звучания конечного МРЗ файла зависит не только от битрейта, но и от используемого кодека (для данного формата их насчитывается около десятка), поскольку как таковой стандарт МРЗ не устанавливает алгоритм кодирования, а только описывает способ представления цифровых данных.
В формате МРЗ предусмотрено получение
файлов с битрейтом 3 типов:
• CBR (Constant Bitrate — постоянный битрейт);
• VBR (Variable Bitrate — переменный битрейт);
• ABR (Average Bitrate — усредненный битрейт).
В последних двух режимах можно получить качество воспроизведения кодированного файла куда лучше, чем в режиме CBR, и в некоторых случаях сравнимое со звучанием AudioCD. Тем более, что в последнее время для записей МР3 чаще всего используется битрейт не ниже 256 кбит/с как наиболее приемлемый для большинства слушателей сжатого аудио.
На рис.9 показано окно обработки аудио популярного видеоредактора Virtual Dub в режиме выбора кодека Lame MP3. В нём можно выбрать частоту дискретизации, битрейт, режим сжатия CBR или ABR, работа в моно или стерео режиме. В крайней правой колонке указан битрейт в кбайтах/с.

2Всё же, в настоящее время, многие меломаны предпочитают «сжимать» аудио с максимальным для МРЗ битрейтом 320 кбит/с или пользоваться
форматом.flас со средним битрейтом 1000кбит/с. Здесь всё зависит от качества исходного аудиофайла, имеющейся в наличии аудиоаппаратуры и
слушателя (тем, кому «медведь на ухо наступил», и битрейта 128 кбит/с более чем достаточно).
А меломаны и сторонники аппаратуры Hi-End продолжают утверждать, что им не составит труда отличить сжатый аудиофайл с любым битрейтом от несжатого.

Версии формата МРЗ
Их имеется три для алгоритмов сжатия MPEG-1, MPEG-2 и MPEG-2.5. Они отличаются допустимым диапазоном битрейта и частотами дискретизации;
• для MPEG-1 Layer 3: 32…320 кбит/с при частотах дискретизации 32 кГц, 44,1 кГц и 48 кГц;
• для MPEG-2 Layer 3: 16…160 кбит/с при частотах дискретизации 16 кГц, 22,050 кГц и 24 кГц;
• для MPEG-2.5 Layer 3: 8…160 кбит/с при частотах дискретизации 8 кГц и 11,025 кГц.

Типы битрейта

Как уже отмечалось, алгоритм МРЗ предусматривает 3 типа битрейта: CBR, VBR и ABR. Рассмотрим их:
   CBR — этот постоянный битрейт, задается пользователем и не изменяется при кодировании аудиофайла. При этом каждой 1 с музыки соответствует, например, 128 кбит, независимо от того, вокал это, оркестр или пауза. Такой подход плох для записи музыки на диск, поскольку при нем и
нельзя увеличить битрейт на сложном отрезке аудиофайла и уменьшить на простом (паузе). Чтобы увеличить качество записи при таком режиме работы, надо увеличивать битрейт, например, до 320 кбит/с, что чревато значительным увеличением объема конечного файла.
VBR— битрейт изменяется кодеком в зависимости от сложности кодируемого аудиоматериала и заданного общего объема файла. При этом пауза кодируется минимальным битрейтом. Диапазон изменения битрейта также задается пользователем. Это наилучший режим кодирования для по-
лучения МРЗ файлов, так как позволяет получить лучшее качество звучания для разнородного аудиоматериала по сравнению с режимом CBR. Разумеется, объем выходного файла будет меньше за счёт фрагментов, не требующих высокого битрейта. Однако этот метод имеет недостатки:
• более тихие фрагменты считаются «незначительной звуковой информацией и кодируются с использованием низкого битрейта. Т.е. при прослушивании аудиозаписи на средней и большой громкости звук таких фрагментов будет искажен;
• сложно предсказать объем конечного файла, что важно, когда на диск надо поместить определенное количество аудиотреков.
Разработчики новых версий кодеков МРЗ борются с этими недостатками.
АВR -это гибрид VBR и CBR, т.е. битрейт задается пользователем, а программа изменяет его, подгоняя под заданный. Минимально и максимально допустимый битрейт используется редко из опасений не обеспечить заданный общий битрейт файла. В итоге качество полученного файла лучше, чем у СВR, но хуже, чем у VВR. При этом такой режим позволяет задавать битрейт любой величины от 8 до 320 кбит/с (в CBR это число должно быть кратно 16) и точно вычислять размер конечного файла.
На рис. 10 показано окно кодека МРЗ аудиоредактора Audiograbber в режиме с постоянным битрейтом, а на рис.11 — с переменным.

12

Работа с двухканальным звуком

   Формат МРЗ работает как со стереозвуком, так и с двухканальными звуковыми сигналами. Поэтому в нём предусмотрено 4 режима работы:
Стерео. Это двухканальное кодирование одного и того же музыкального произведения. Каналы кодируются независимо друг от друга, но для
уменьшения общего битрейта (повышения качества) биты между каналами могут распределяться неравномерно.
Двухканальный. В этом случае обрабатываются два независимых канала, например звуковое сопровождение кинофильма на разных языках. При этом заданный битрейт, например, 128 кбит/с делится между каналами поровну, т.e. по 64 кбит/с на каждый канал.
Объединенный стерео (Joint Stereo). В этом
случае левый и правый каналы звука преобразуются в иx сумку (L+R) и paзность (L-R). Оказывается, что для большинства музыкальных файлов громкость и динамический диапазон канала (L-R) получается намного меньше канала (L+R). Таким образом, можно экономить на битрейте в канале (L-R) и уменьшить общий битрейт файла или, наоборот, улучшить качество его звучания при том же битрейте, отводя каналу (L+R) большую часть битрейта.
Такой режим не очень хорош для записей с очень разным звуковым содержимым каждого канала, гак как стирает разницу между ними. Поэтому в современных кодеках используется переключение между режимами в зависимости от входного сигнала.
Моно. При этом два канала смешиваются в один, который кодируется и воспроизводится в обоих каналах стереосистемы. Достоинством режима является повышенное качество монозвучания, так как на канал приходится вдвое больше бит, чем в обычном режиме стерео или двухканальном.

 

2. Кодек OGG (Ogg Vorbis)

Это набирающий все большую популярность стандарт цифрового сжатия звука. Разработчиком формата Ogg vorbis является организация Xiphophorus.Org (рис.12)

1Этот кодек во многом похож на МРЗ по принципу действия, но использует оригинальный математический алгоритм.
Целью разработки Оgg vorbis была замена им всех других платных запатентованных аудиокодеков. В настоящее время Ogg vorbis имеет полную
поддержку на всех популярных мультимедийных платформах (Microsoft
Windows, GNU/Linux,  Apple Mac OS, PockectPC, Palm, Symbian. DOS. FreBSD, BeOS и др.), а также большое количество аппаратных peaлизаций. Формат Ogg vorbis является частью проекта Ogg, который осуществляется с целью создания полностью открытой системы мультимедиа (рис.13).

1По оценке экспертов, качество звучания аудиофайлов, закодированных в Оgg формате, лучше, чем у кодека МРЗ, но хуже, чем у кодека ААС. В настоящее время Оgg vorbis является одним из самых популярных форматов компрессии звука с потерями. Кодек широко используется в файлообменных сетях и в компьютерных играх для передачи музыкальных произведений, поскольку благодаря использованию более совершенной, чем в МРЗ, психоакустической модели, файлы, закодированные Оgg vorbis, получаются вдвое меньшего объема, чем у МРЗ, при том же качестве звучания.
Кодек не ограничивается работой только с двумя аудиоканалами, как МРЗ, а поддерживает до 255 отдельных каналов с частотой дискретизации до 192 кГц и разрядностью до 32 бит. Ни один другой кодек сжатия с потерями этого не позволяет сделать. Таким образом, Оgg vorbis очень удобен для кодирования многоканального звука для систем пространственного звучания 5.1 или 7.1.

Достоинства кодека:
   • это полностью открытый формат, т.е. его использование является совершенно бесплатным, и использование этого формата не требует никаких
отчислений ни разработчикам, ни поставщикам музыкальных треков, и все исходные коды программ имеются в свободном доступе;
• осуществляется поддержка до 255 каналов;
• кодек работает в широком диапазоне частот дискретизации;
• разрядность выходного кода до 32 бит;
• гибкий режим Joint stereo выполнен гораздо лучше , чем в кодаке MP3;
• использование эффективных алгоритмов переменного битрейта;
• это «sample accurate» кодек, т.е. звуковые данные не будут иметь смещений относительно друг друга, дополнительных или потерянных сэмплов;
• имеется режим «Streamable», т.е. поддержка потокового воспроизведения;
• используется мощная и гибкая психоакустическая модель;
• теги хранятся в Юникоде, а не в национальной кодировке.
Из недостатков кодека можно отметить то, что для работы Оgg voibis требуется производить больший объем вычисления, чем для кодека МРЗ,- это касается как кодирования, так и декодирования аудиофайлов.

Кодек Оgg Vorbis позволяет осуществлять сжатие аудиоданных при битрейтах, задаваемых от 8 кбит/с до 512 кбит/с, а также работать с переменным битрейтом VBR. В процессе сжатия кодек разделяет аудиофайл на фрагменты разной спектральной насыщенности и кодирует каждый из них с подходящим битрейтом.
На рис. 14 показан процесс преобразования аудиофайла, закодированного в МРЗ, в формат Ogg vorbis программой Cool Audio Converter Pro. 1

Особенности кодека Оgg vorbis

Кодек Одд vorbis относится к классу «sample accurate» кодеков. Это значит, что звуковые данные перед кодированием и после декодирования не будут иметь смещений во времени, а также дополнительных или потерянных выборок. Это  важно, если вы кодируете non-stop музыку (когда один трек постепенно переходит в другой) — при работе Оgg vorbis сохранится целостность звука.
Основной режим работы Оgg Vorbis — это использование переменного битрейта, при этом его значения может опускаться даже до 1 кбит/с.
При этом кодек не ограничивает жестко максимальный битрейт, и, для достижения максимального качества выходного файла, он может быть в
диапазоне от 400 кбит/с до 700 кбит/с. Столь же гибко может задаваться и частота дискретизации. Пользователь может выбрать её значение в диапазоне от 2 кГц до 192 кГц.
При разработке кодека изначально была заложена возможность потокового вещания, таким образом, в одном файле можно хранить несколько музыкальных композиций с собственными тегами. Когда такой аудиофайл загружается в плеер, то отображаются все композиции, как будто их загрузили из нескольких различных аудиофайлов.

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

Версии кодека Оgg vorbis

В настоящий момент имеется три версии кодека:
• Ogg Vorbis libvorbis — это его официальная версия;
• Ogg Vorbis aoTuV;
• Ogg Vorbis Lancer.

Рассмотрим их.
Оgg Vorbis aoTuV 
aoTuV — это аббревиатура от Aoyumi’s Tuned Vorbis (разработанный Aoyumi, перенастроенный Vorbis). Это проект, который является неофициальной версией кодека Оgg Vorbis и объединяет в себе библиотеку и кодек формата Оgg Vorbis. Целью его создания было улучшение качества кодирования аудиофайлов, и он основан на исходной версии кодека «libvorbis», созданной
организацией Xiphophorus.Org. Версия aoTuV значительно улучшает качество работы кодека Vorbis, при этом большинство слушателей считают, что aoTuV beta 4 (и более новые версии) достигают прозрачного качества звука при работе с опцией -q 5.

Ряд Интернет-форумов и специалисты рекомендуют версию этого кодека aoTuV Release 1, которая переименована из версии aoTuV beta 4.51. На низких битрейтах (около 80 кбит/с) эта версия обеспечивает очень хорошее качество кодирования при работе с опцией -q 1. Причём ряд экспертов считает, что использование этой опции вполне достаточно для потокового применения кодека. В настоящее время тестируются другие, новые версии этого кодека, в частности aoTuV beta 5, которые должны обеспечить ещё меньший уровень шумов на низких битрейтах, без ухудшения степени сжатия.
На рис.15 показано рабочее окно программы RZ Ogg Vorbis Converter.1
Ogg Vorbis Lancer

Этот кодек создал некто BlackSword в рамках проекта Ogg Vorbis Acceleration, и он представляет собой набор оптимизированных библиотек и утилит для кодека Vorbis.
Последняя версия этого кодека — Lancer 20061110 — основана на проекте кодека aoTuV Release 1, рассмотренного выше. Она включает оптимизированные версии следующих программных продуктов:
•  Oggenc 2.83;
•  OggDropXPd 1.8.9;
•  динамические библиотеки Vorbis (ogg.dll, vorbis.dll, vorbisenc.dll, vorbisfile.dll, libvorbis.dll).
Начиная с версии 20060506, BlackSword выкладывает различные сборки набора Lancer, каждая из которых предназначена для работы на определенной вычислительной платформе, в том числе:
•  сборка SSE — AthlonXP (ядро Barton и более старые), Pentium III;
•  сборка SSE2 — Athlon64, Opteron, Pentium IV;
•  сборка SSE2MT- это многопоточная версия сборки SSE2;
•  сборка SSE3 — Athlon64 Rev E (ядра Venice и San Diego), Pentium IV (ядро Prescott), Core Duo (Solo);
• сборка SSE3MT — многопоточная версия SSE3 для Athlon64 X2, Pentium D, Core Duo (Dual), Core 2 Duo (ядра Conroe и Merom).
Отметим, что многопоточные сборки работают быстрее на процессорах с технологией Hyper-Threading или многоядерных системах. Работа сборки SSE3, по утверждению её разработчика, должна поддерживаться всеми последними моделями компьютерных процессоров.
3. Кодек ААС

AAC (Advanced Audio Codina — усовершенствованное аудиокодирование) представляет собой запатентованный формат кодирования/декодирования аудиофайлов с меньшей потерей качества, чем МРЗ, при одинаковых размерах файлов. Профиль ALAC ААС этого кодека позволяет сжимать цифровые данные без потери качества исходного файла.
Данный формат поддерживается большей частью современного мультимедийного оборудования, в том числе портативного, поскольку он является весьма выгодным по соотношению размер файла/качество звука, тем не мене, в настоящее время он распространён значительно меньше, чем МРЗ и некоторые другие кодеки звука.
Особенности работы кодека ААС сводятся к следующему:
•  производится удаление избыточности в оцифрованном аудиосигнале;
•  не воспринимаемые на слух составляющие сигнала удаляются;
•  полученный сигнал обрабатывается по методу Модифицированное Дискретное Косинусное Преобразование (MDCT) в зависимости от сложности сигнала;
•  в цифровой поток добавляются коды коррекции внутренних ошибок.
Кодек ААС, для обеспечения его универсальности, содержит сложный набор схем компрессии для обеспечения возможности кодирования, как низкокачественной речи, так и высококачественного музыкального произведения.

Характеристики кодека ААС:
•  частота дискретизации от 8 Гц до 96 кГц и количество каналов от 1 до 48;
•  битрейт от 2 кбит/с до 128 кбит/с и выше;
•  для лучшего, чем в МРЗ, кодирования аудиопотока, в котором имеются импульсы сложной формы, используется увеличение размера блока до 2048 пунктов и MDCT.
Особенности работы с блоками:
•  для улучшения эффективности кодирования (уменьшения размера конечного файла), поумол-чанию используется самое большое окно в 2048 пунктов;
•  для лучшего разрешения используется малое окно в 256 пунктов;
•  возможно динамическое переключение длины блоков, используемых для MDCT от 2048 до 256 пунктов.

На рис. 16 показано окно программы Nero 7, а точнее, встроенного в неё программного плеера Nero ShowTime. В этом окне выбран тип создаваемого файла «Nero Digital Audio (HE-AAC)(*.mp4)» и видна кнопка перехода на вкладку с настройками аудиокодека ААС.
2Преимущество кодека ААС по сравнению с кодеком МРЗ
•  частоты дискретизации от 8 Гц до 96 кГц (МРЗ: 8 Гц…48 кГц);
•  до 48 звуковых каналов;
•  более гибкий режим Joint stereo;
•  большая эффективность кодирования, как при постоянном, так и при переменном битрейте.
Таким образом, кодек ААС обеспечивает улучшенное и более стабильное качество звучания, по сравнению с МРЗ, при использовании такого же или меньшего битрейта.
Профили кодека ААС:
•  Low Complexity (AAC-LC);
•  Advanced Lossless Audio Coding (ALAC AAC) -сильная степень сжатия, без математических потерь;
•  Main Profile;
•  High Efficiency ААС (НЕ-ААС);
•  Scalable Sample Rate (SSR);
•  Long Term Prediction (LTP) — он более сложный по алгоритму и более ресурсоёмкий, поэтому он работает качественней, чем все остальные.
Профили перечислены в порядке уменьшения степени сжатия, что, правда, не всегда приводит к улучшению звучания закодированного файла.

4. Кодек Opus
Так называется переименованный кодек CELT OTXiph. CELT расшифровывается как «Constrained Energy Lapped Transform» (в переводе Ограниченная энергия преобразования с перекрытием). Opus — это хорошо масштабируемый, универсальный, аудиокодек, который подходит для любых применений — от высококачественного кодирования музыки с высоким битрейтом до речевых низ-кобитрейтных применений (рис.17). Достоинство кодека Opus в том, что он превзошел практически по всем параметрам все другие аудиокодеки с потерями, включая такие популярные, как МРЗ, Vor-bis и ААС во всех их подвариантах.
3При разработке кодека использовались две идеи, не реализованные в кодеке МРЗ и ему подобных.
Первая идея — это использовании, так называемого, Lapped Transform (в переводе — преобразование с перекрытием) с довольно короткими окнами. Примерно такой же подход используется и в кодеке Vorbis, и в кодеке ААС. Однако в Opus он реализован лучше.
Вторая идея появилась на поздней стадии разработки кодека, в связи с чем она не была реализована в полном объеме. Смысл её в том, что для улучшения субъективного восприятия слушателем звукового произведения важно правильно передать энергию спектра сигнала, даже если конечная спектральная информация передается при этом не совсем верно. Т.е. для того чтобы получить ощущение высококачественного звучания, достаточно точно воспроизвести уровень сигнала в узких спектральных полосах. Особенности кодека:
•  любая частота дискретизации, а не только из ряда заданных значений;
•  битрейт от 6 до 510 кбит/с;
•  кодер и декодер используют арифметику с фиксированной точкой, что уменьшает требования к вычислительным мощностям;
•  работа в режимах моно, стерео;
•  задержка выходного сигнала 5…20 мс;
•  работа как с постоянным, так и с переменным битрейтом;
•  масштабируемый аудиопоток с возможностью изменять его параметры в процессе кодирования;
•  кодек бесплатный, т.е. его использование не требует никаких выплат и никаких лицензионных соглашений.
Все это привело к тому, что в ряде Интернет-браузеров, в частности в Firefox 15, внедрено использование кодека Opus. Этот кодек также рассматривается в качестве одного из кандидатов на роль стандарта такой организацией, как Инженерный совет Интернета (англ. Internet Engineering Task Force, IETF).

5. Кодек FLAC

FLAC (англ. Free Lossless Audio Codec — свободный аудиокодек без потерь) является бесплатным кодеком для сжатия аудиозаписей (рис. 18). В отличие от кодеков с потерями, таких как Ogg Vor-bis, MP3 и др., кодек FLAC не удаляет никакой информации из аудиопотока. Поэтому этот кодек популярен как для создания аудиоархива, так и для прослушивания музыки на высококачественной звуковоспроизводящей аппаратуре. На сегодня формат FLAC поддерживается многими аудиопри-ложениями.
Поток данных кодека FLAC состоит из:
•  строки из четырёх байтов «fLaC»;
•  блока метаданных Stream info;
•  некоторых необязательных блоков метаданных;
•  аудиофреймов.
Таким образом, первые четыре байта идентифицируют поток FLAC, а следующие за ними метаданные содержат информацию о аудиопотоке, а затем идут сжатые аудиоданные.

4VAD — детектор речевой активности

Говоря о цифровых кодеках звука, нельзя обойти стороной такое их частое применение, как телефония. В цифровом телефонном канале кроме передачи собственно аудиоданных используется также передача сигнала наличия речи VAD (Voice Activity Detector, детектор речевой активности). Это наиболее простой классификатор речевого сигнала, который выделяет во входном речевом сигнале активную речь и паузы как между словами, так и между предложениями. При этом фрагменты сигнала, классифицируемые как активная речь, будут кодироваться каким-либо из известных кодеров с битрейтом 4…8 кбит/с {см. рисунок).0
А фрагменты сигнала, определенные как паузы, кодируются и передаются с низкой скоростью — около 0,1—0,2 кбит/с. При телефонном разговоре важно, чтобы в паузах у собеседника не возникало ощущение пропадания связи. Для этого по сигналам VAD на приемной стороне автоматически генерируется, так называемый, «комфортный шум».
Такой подход позволяет уменьшить битрейт до 2.. .4 кбит/с при достаточном качестве синтезируемой речи. В процессе этого кодирования, для особо критичных фрагментов речевого сигнала выделяется большая скорость передачи, для менее важных — меньшая.

Размер блока

Это очень важный параметр для кодирования. При его малом размере, в потоке будет слишком много заголовков фреймов, а это уменьшает уровень сжатия. При большом размере блока кодер не сможет выбрать наиболее эффективную модель сжатия. Правильный выбор размера блока позволяет увеличить уровень сжатия для некоторых типов входных данных, без потери качества. При использовании линейного прогнозирования для аудиопотока с частотой дискретизации 44,1 кГц оптимальный размер блока лежит в диапазоне 2000-6000 выборок сигнала.

Метаданные

FLAC определяет несколько типов блоков метаданных. Блоки метаданных могут иметь любой размер, при этом можно легко добавлять их новые блоки. Декодер FLAC может, при необходимости, пропускать неизвестные ему блоки метаданных. Обязательным является только блок Stream info. В этом блоке содержатся данные о частоте дискретизации, количестве каналов, а также данные, позволяющие декодеру производить настройку буферов.
Другие блоки метаданных предназначены для хранения таблиц точек поиска, резервирования места, хранения списка разметки аудиодисков и тегов, а также содержат данные для конкретных приложений.

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

Аудиоданные

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

Окно загрузки кодека FLAC для использования с популярным плеером «Windows Media Player» показано на рис.19. При этом на ваш компьютер устанавливается кодек Media Foundation FLAC.19

Декорреляция между каналами

Если кодек работает со стереоаудиоданными, то они могут пройти через стадию межканальной декорреляции. В процессе этого стереосигнал преобразуется в средний и разностный сигналы по формулам: средний = (левый + правый)/2; разностный = левый – правый. Важно, что в отличие от joint stereo, такое преобразование не приводит к потерям аудиоинформации. Надо отметить, что такое преобразование, при работе с данными с аудио CD, обычно приводит к значительному увеличению степени сжатия.

Аппроксимация сигнала

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

Кодек FLAC использует два метода аппроксимации:

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

Здесь надо отметить следующее.

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

Во-вторых, параметры для постоянных предикторов могут быть описаны тремя битами, а параметры для модели LPC зависят от количества бит на сэмпл (выборку аудиосигнала) и порядка LPC. Это значит, что размер заголовка фрейма зависит от выбранного метода и порядка и может повлиять на оптимальный размер блока.

Кодирование сигнала ошибки

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

Процедура кодирования Райса сводится к нахождению одного параметра, отвечающего распределению сигнала, который затем используется для составления кодов. Разумеется, что при изменении распределения, будет изменяться и этот оптимальный параметр, поэтому применяется метод, позволяющий пересчитывать его в случае необходимости. Сигнал ошибки может быть разбит на разделы, каждый из которых будет иметь свой параметр Райса. Кодек FLAC позволяет задавать, как именно нужно производить разбиение. В общем случае, сигнал ошибки может быть разбит на 2n раздела.

Составление фреймов

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

  • код синхронизации;
  • CRC заголовка фрейма;
  • номер блока/сэмпла.

В конце фрейма записывается его контрольная сумма, содержащая 16 бит. Если декодер FLAC обнаружит ошибку, то он сгенерирует блок тишины.

6. Кодек Windows Media Audio

Это лицензируемый формат кодирования файла, для хранения и трансляции звука разработанный компанией Microsoft (рис.20) . первоначально формат WMA позиционировался как альтернатива формату MP3, но в настоящее время компания Microsoft противопоставляет WMA также широко распространенному формату ААС, в котором закодированные музыкальные треки в популярном онлайновом музыкальном магазине iTunes.20

По утверждению разработчиков, кодек WMA обладает высокой степенью сжатия, большей, чем у кодека МР3, и почти такой же, как у кодеков ААС и Ogg Vorbis. Но, как известно, все, что делает компания Microsoft, оставляет желать лучшего. Независимые эксперты провели проверки, показавшие, что по итогам тестов и субъективного прослушивания, при одинаковом битрейте, преимущество кодека WMA даже перед МР3 весьма условное, если есть вообще. А утверждение компании Microsoft о том, что при прочих равных условиях файлы, закодированные WMA, звучат не хуже, чем закодированные ААС и Ogg Vorbis, не выдерживает никакой критики. Как обычно, у Microsoft ранние версии кодека имели ряд дефектов. В частности, они весьма нестабильно работали при низком битрейте.

Ещё одним недостатком кодека является низкая устойчивость к ошибкам. Если при кодировании или при передаче файла WMA какая-то его часть повреждается, то его воспроизведение становится невозможным не только после места повреждения, но и за 10…40 с до него. Это особенно неприятно, если учесть, что, например, поврежденный МР3 файл можно прослушивать до самого места повреждения, а затем, «промотав» несколько секунд, прослушивать файл до конца. Более того, в ряде случае ошибки, которые прерывают воспроизведение файла WMA, в файле МР3 малозаметны или незаметны на слух вообще.

Впрочем, компания Microsoft утверждает, что это формат ещё находится на стадии развития и совершенствования, и, возможно, указанные дефекты будут устранены.

Основным недостатком формата WMA является его закрытость – он не поддерживается большинством альтернативных Microsoft платформ. Более того, формат WMA содержит цифровую систему защиты авторских прав (DRM). Это приводит к тому, что защищенный аудиофайл, загруженный из музыкального магазина, можно прослушивать только на том компьютере, на который он была загружен.

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

7. Сравнение различных кодеков

Компания Nokia провела сравнительные испытания различных аудиокодеков с потерями при битрейте от 8 до 125 кбит/с (рис.21). Как видно из рис.21, кодек Opus превосходит все другие кодеки при битрейте более 12 кбит/с. Причем он превосходит как специализированные кодеки для передачи речи с минимальной задержкой при низком битрейде, например, Speex, так и кодеки, разработанные для передачи аудиосигналов со средним и высоким битрейтом.21

Зимой 2012 г., компании Google провела тестирование различных кодеков при работе с музыкальными треками. Сравнивалось звучание оригинальной оцифрованной, но не сжатой фонограммы со звучанием файлов, полученных кодеками: LP 3,5; LP7; ААС – LC64 кбит/с; G.71964 кбит/с; МР3 96 кбит/с; Opus (с битрейтом 64 кбит/с; 80 кбит/с; 128 кбит/с).

Как и ожидалось, наихудшее качество звучания показали «телефонные» кодеки LP 3,5; LP7, работающие с низким битрейтом. Качество звучания аудиофайла, сжатого кодеком G.719, с битрейтом 64 кбит/с и тем более у кодека МР3 с битрейтом 96 кбит/с. Хотя последний результат был ожидаемым – кодек МР3 специально создавался для работы с музыкальными произведениями.

При этом также оказалось, что звучание Opus 128 кбит/с практически такое же, как у оригинальной фонограммы, и гораздо лучше, чем у других кодеков. А при битрейте 64 кбит/с Opus продемонстрировал то же качество звучания, что и МР3 с битрейтом 96 кбит/с.

Важной характеристикой кодека является задержка его выходного сигнала. На рис.22 показана свободная диаграмма задержек разных кодеков (как предназначенных для телефонии, так и для сжатия музыкальных произведений) как функция битрейта.22

Задержка кодека Opus составляет 5…20 мс, независимо от битрейта, и в этом он превзошел все остальные кодеки.

Как видно на рис.22, такие кодеки, как Vorbis, ААС и МР3, не могут использоваться в режиме реального времени из-за значительной задержки их выходного сигнала. Такие кодеки используют для создания архивных записей. Конкуренцию Opus по времени задержки может составить только кодеки, специально разработанные для работы с мобильными телефонами, например, G719, G.729, однако они предназначены для работы только при низких битрейтах и не пригодны для сжатия музыки.

  Автор: Андрей Семенов, г. Киев
Источник: Радиоаматор №5-12, 2014

admin

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *