3. Цифровые аудио сигналы


Компьютер – это цифровое устройство, то есть электронное устройство, в котором рабочим сигналом является дискретный сигнал. Сегодняшние компьютеры оперируют дискретными сигналами, несущими двоичные значения, условно обозначаемые как «да» и «нет» (на электрическом уровне: 0 вольт и V вольт, для некоторого ненулевого значения V). С помощью одного двоичного сигнала за один шаг можно передать информацию об одном из всего двух положений: 0 («да») или 1 («нет»). С помощью N двоичных сигналов за один шаг можно передать информацию об одном из 2 N положений (2 N – это число комбинаций нулей и единиц для N сигналов). Взаимодействие всех составляющих компьютер блоков происходит путем обмена и обработки одним или одновременно несколькими двоичными сигналами. Все – коды управления, а также сама обрабатываемая информация – все представляется в компьютере в виде чисел. По этой причине и аудио сигналы в цифровой аппаратуре представляют в виде чисел.

Итак, каким же образом можно описать аналоговый аудио сигнал в цифровой форме? Реальный аудио сигнал – это сложное по форме колебание, некая сложная зависимость амплитуды звуковой волны от времени. Преобразование аналогового звукового сигнала в цифровой вид называется аналогово-цифровым преобразованием или оцифровкой. Процесс такого преобразования заключается в:


  • осуществлении замеров величины амплитуды аналогового сигнала с некоторым временным шагом - дискретизация;
  • последующей записи полученных значений амплитуды в численном виде – квантование.

3.1 Дискретизация


Процесс дискретизации по времени - это процесс получения мгновенных значений преобразуемого аналогового сигнала с определенным временным шагом, называемым шагом дискретизации (см. рис. 7).



1.png


Количество осуществляемых в одну секунду замеров величины сигнала называют частотой дискретизации или частотой выборки, или частотой сэмплирования (от англ. « sampling» – «выборка»). Очевидно, что чем меньше шаг дискретизации, тем выше частота дискретизации (то есть, тем чаще регистрируются значения амплитуды), и, значит, тем более точное представление о сигнале мы получаем. Это рассуждение подтверждается доказанной теоремой, теоремой Котельникова (в зарубежной литературе встречается как теорема Шеннона, Shannon). Согласно этой теореме, аналоговый сигнал с ограниченным спектром может быть точно описан дискретной последовательностью значений его амплитуды, если эти значения следуют с частотой, как минимум вдвое превышающей наивысшую частоту спектра. Иначе говоря, аналоговый сигнал, в котором частота наивысшей составляющей спектра равна F m, может быть точно описан последовательностью дискретных значений амплитуды, если для частоты дискретизации F d выполняется:
2.gif

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

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


3.2 Линейное (однородное) квантование


Допустим, что для записи одного значения амплитуды сигнала в памяти компьютера мы отводим N бит. Соответственно, с помощью одного N -битного слова (слово – последовательность N бит) можно описать 2 N разных положений. Допустим теперь, что амплитуда оцифровываемого сигнала колеблется в пределах от -1 до 1 некоторых условных единиц. Заметим, что измеренным значениям амплитуды ничто не мешает быть дробными (например, -0.126 или 0.997). Представим этот диапазон изменения амплитуды - динамический диапазон сигнала - в виде 2 N -1 равных промежутков, разделив его на 2 N уровней - квантов (произведя таким образом однородное, линейное разбиение амплитудной шкалы). Теперь, для записи каждого отдельного значения амплитуды, его необходимо округлить до ближайшего уровня квантования. Этот процесс называется квантованием по амплитуде. Говоря более формальным языком, квантование по амплитуде – это процесс замены реальных (измеренных) значений амплитуды сигнала значениями, приближенными с некоторой точностью. Каждый из 2 N возможных уровней называется уровнем квантования,а расстояние между двумя ближайшими уровнями квантования называется шагом квантования. В случае линейного разбиения амплитудной шкалы на уровни, квантование называют линейным (однородным) . На рис. 8 представлен пример такого квантования.


3.png


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

Очевидно, что точность округления зависит от выбранного количества (2 N) уровней квантования, которое, в свою очередь, зависит от количества бит ( N), отведенных для записи значения амплитуды. Чем больше уровней квантования и чем ближе они друг к другу (а, для некоторого фиксированного диапазона изменения амплитуды расстояние между уровнями квантования обратно пропорционально их количеству), тем на меньшую величину приходится округлять измеренные значения амплитуды, и, таким образом, тем меньше получаемая погрешность квантования. Число N называют разрядностью квантования (подразумевая количество разрядов, то есть бит, в каждом слове), а полученные в результате округления значений амплитуды числа – отсчетами или сэмплами (от англ. “ sample” – “замер”).Считается, что погрешность квантования, являющаяся результатом квантования с разрядностью 16 бит, остаются для слушателя почти незаметными.

Описанный способ оцифровки сигнала - дискретизация сигнала во времени в совокупности с методом однородного квантования - называется импульсно-кодовой модуляцией, ИКМ (англ. Pulse Code ModulationPCM). Стандартный аудио компакт-диск ( CD- DA), применяющийся с начала 80-х годов 20-го столетия, хранит информацию в формате PCM, с частотой дискретизации 44.1 кГц и разрядностью квантования 16 бит.


3.3 Сложности связанные с оцифровкой


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

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

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

Надо сказать, что уровень шума квантования также зависит и от формы самого сигнала. В идеальном случае, ошибка при округлении значений сигнала является случайной и, значит, спектр шума квантования оказывается равномерным. В реальности, однако, этого не происходит. Форма реальных звуковых сигналов является в определенной степени не случайной, а, значит, и ошибка квантования тоже является не случайной. В этом случае спектр шума квантования оказывается не равномерным и концентрируется в какой-то определенной области, что отрицательно сказывается на звучании цифрового сигнала. Существует несколько способов борьбы с этим явлением. Так, нежелательную концентрацию шума квантования в некоторой частотной области можно нейтрализовать путем подмешивания к исходному аналоговому сигналу некоторого слабого по мощности псевдослучайного шума. Этот шум минимизирует степень зависимости ошибок округления от формы преобразуемого сигнала, что хорошо рассеивает спектр шума квантования и делает его равномерным. Таким образом, описанный прием (называемый дизерингом, от англ. « dithering» – «дрожание») как бы подменяет нежелательный шум квантования искусственно подмешанным псевдослучайным шумом. При этом подмешанный псевдослучайный шум оказывается менее заметным на слух, чем тот шум квантования, какой получился бы без применения дизеринга. Еще один прием борьбы с уровнем шума квантования называется формовкой шума (от англ. “ noise shaping”). Идея приема заключается в преднамеренном изменении формы исходного аналогового сигнала специальным образом, чтобы последующее квантование привело к появлению шума квантования, основная энергия которого расположилась бы в наименее заметных на слух частотных областях. Формирование шума с таким спектром достигают путем использования фильтра, моделирующего кривую равной громкости (об этой кривой мы говорили выше).

Импульсный сигнал, получаемый в результате аналогово-цифрового преобразования, из-за несовершенности преобразующих устройств имеет некоторые изъяны. Эти изъяны выражаются в случайных отклонениях длительностей прямоугольных импульсов от номинальной величины шага дискретизации, а также в неабсолютной крутизне фронтов импульсов. Говоря иначе, осуществление выборки сигнала при оцифровке происходит не через абсолютно равные промежутки времени, а с некоторыми случайными отклонениями от номинала, при этом результирующий импульсный сигнал вдобавок имеет неидеальную прямоугольную форму. Если, скажем, дискретизация проводится с частотой 44.1 кГц, то отсчеты берутся не точно каждые
4.gif

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

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


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


Рассматривать все существующие способы оцифровки мы не будем, поскольку это потребовало бы от нас серьезного углубления в тему. Тем не менее, некоторые способы все же стоят пусть и беглого упоминания.

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

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


3.5 Кодирование цифровых аудио сигналов


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

Оцифрованный аудио сигнал «в чистом виде» (например, в форме одной из рассмотренных выше вариаций ИКМ) является достаточно точной, но не самой компактной формой записи исходного аналогового сигнала.

Посудите сами. Ч тобы получить полную информацию об оригинальном аналоговом сигнале в частотной полосе от 0 до 20 кГц (в слышимом диапазоне частот), аналоговый сигнал необходимо дискретизовать с частотой не менее 40 кГц. Так, стандарт CD - DA (стандарт записи данных на привычных для всех аудио компакт-дисках) устанавливает следующие параметры кодирования: двух- или одноканальная запись в формате ИКМ с частотой дискретизации 44.1 кГц и разрядностью квантования 16 бит. Один час музыки в таком формате занимает объем около 600 Мб (60 минут * 60 секунд * 2 канала * 44100 отсчетов в секунду * 2 байта на отсчет = около 605 Мб). Учитывая, что, например, музыкальная коллекция рядового любителя музыки вполне может насчитывать 5000 треков средней продолжительностью около 3 минут каждый, объем памяти, требуемый для ее хранения в исходном цифровом виде, оказывается очень внушительным. Поэтому хранение относительно больших объемов аудио данных, гарантирующее достаточно хорошее качество звучания, требует применения разных «ухищрений», позволяющих уплотнить данные.

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

1. Сжатие данных без потерь (англ. « lossless coding») - это способ кодирования (уплотнения) цифровой аудио информации, позволяющий осуществлять стопроцентное восстановление исходных данных из сжатого потока (под понятием «исходные данные» здесь подразумевается исходный вид оцифрованных аудио данных). К такому способу уплотнения данных прибегают в случаях, когда требуется абсолютное, стопроцентное сохранение качества оригинального звучания аудио данных. Существующие сегодня алгоритмы беспотерьного сжатия позволяют сократить занимаемый данными объем на 20-50% и при этом гарантировать стопроцентное восстановление исходного цифрового материала из сжатых данных. Механизмы работы подобных кодеров сходны с механизмами работы архиваторов общих данных, таких, как, например, ZIP или RAR, но при этом адаптированы специально для сжатия аудио данных. Беспотерьное кодирование , хотя и идеально с точки зрения сохранности качества аудио материалов, но оказывается неспособным обеспечить высокий уровень компрессии.

2. Существует другой, более современный путь уплотнения данных. Это так называемое сжатие данных с потерями (англ. « lossy coding»).Цель такого кодирования заключается в достижении любыми путями максимально высокого коэффициента компрессии данных при сохранении качества их звучания на приемлемом уровне. В основе идеи кодирования с потерями лежит два простых основополагающих соображения:


  • исходные цифровые аудио данные избыточны – они содержат много лишней, бесполезной для слуха информации, которую можно удалить, тем самым, повысив коэффициент компрессии;
  • требования к качеству звучания аудио материала могут быть разными и зависят от конкретных целей и сфер использования.
Кодирование с потерями потому и называется «с потерями», что приводит к утрате некоторой части аудио информации. Такое кодирование приводит к тому, что декодированный сигнал при воспроизведении звучит похоже на оригинальный, но фактически перестает быть ему идентичным. В основе большинства методов кодирования с потерями лежит использование психоакустических свойств слуховой системы человека, а также различных хитростей, связанных с переквантованием и передискретизацией сигнала. В частотности, в процессе компрессии аудио данные анализируются кодером на предмет выявления различных деталей звучания, которыми можно пренебречь. Замаскированные частоты, неслышимые и слабослышимые детали звучания – всем этим можно пожертвовать с целью достижения более высокого значения коэффициента компрессии. Там, где в звучании важна лишь разборчивость (например, в телефонии, где наличие частот выше 4 кГц не является необходимым), аудио информация в процессе кодирования подвергается серьезному «упрощению», что вкупе с использованием «умных» квантователей и удачных «жадных» алгоритмов компрессии данных позволяет достичь высочайших степеней компрессии (1 : 50 и выше). Там, где качеству звучания предъявляются более высокие требования (например, в портативных и бытовых аудио устройствах), аудио материалы подвергают более щадящему кодированию. Надо отметить, что степень агрессивности кодера по отношению к деталям звучания может регулироваться (эта способность, впрочем, зависит от конкретной реализации). В среднем, современные кодеры даже при столь высокой степени компрессии, как 1 : 10 позволяют обеспечить отличное звучание, качество которого средним слушателем на средней аппаратуре оценивается как равное качеству звучания исходных аудио данных.


3.6 Беспотерьные кодеры


Сегодня существует множество кодеров аудио данных, основанных на идее кодирования с потерями. Вот только некоторые из них: MPEG-1 Layer 3 (всем известный как MP3), Windows Media Audio ( WMA), Ogg Vorbis ( OGG), MusePack ( MPC), MPEG-2/4 AAC и другие. Давайте чуть подробнее остановимся на их рассмотрении.


3.6.1 MPEG-1 Layer 3



Известный сегодня фактически каждому пользователю компьютера под незамысловатой маркой « MP3» кодек MPEG-1 Layer 3 – это наиболее старый из всех распространенных на сегодня lossy-кодеков. Своим названием он обязан группе MPEG, которая занималась его разработкой и которая продолжает разрабатывать новые аудио и видео кодеки. О ней стоит упомянуть отдельно.

MPEG расшифровывается как «Moving Picture Coding Experts Group», дословно – «группа экспертов по кодированию подвижных изображений». Группа MPEG ведет свою историю с января 1988 года и занимается разработкой различных алгоритмов и стандартов кодирования аудио и видео информации. В собраниях MPEG принимают участие несколько сотен специалистов из более чем двухсот крупных и мелких компаний. При этом большая часть участников MPEG - это специалисты, занятые в тех или иных научных и академических учреждениях. На сегодняшний день группой MPEG разработаны следующие стандарты:




  • MPEG-1 (принят в ноябре 1992 г.) - стандарт кодирования, хранения и декодирования подвижных изображений и аудио информации;
  • MPEG-2 (принят в ноябре 1994 г.) - стандарт кодирования данных для цифрового телевещания;
  • MPEG-4 - стандарт для мультимедиа приложений (в его разработке еще далеко не поставлена точка);
  • MPEG-7 - универсализованный стандарт работы с мультимедиа информацией, предназначенный для обработки, компоновки и управления мультимедиа информацией.


Стандарт MPEG-1 представляет собой, по сути, целый комплект аудио и видео стандартов. Согласно стандартам ISO ( International Standards Organization), аудио часть MPEG-1 включает в себя три алгоритма различных уровней сложности: Layer 1 (уровень 1), Layer 2 (уровень 2) и Layer 3 (уровень 3, называемый большинством просто « MP 3»). Общая структура процесса кодирования одинакова для всех уровней MPEG-1 . Вместе с тем, несмотря на схожесть уровней в общем подходе к кодированию, уровни различаются по целевому использованию и задействованным в кодировании внутренним механизмам. Для каждого уровня определен свой формат записи выходного потока данных и, соответственно, свой алгоритм декодирования. Алгоритмы MPEG-1 основаны в целом на изученных свойствах восприятия звуковых сигналов слуховым аппаратом человека – о них мы упоминали выше.

Процедура кодирования аудио информации, вкратце, представляет собой следующий процесс. В начале кодирования входной цифровой аудио поток в формате PCM с помощью цифровых фильтров разделяется на несколько частотных полос. Дальнейший процесс зависит от Layer ' a .

В случае Layer 3 (то есть, в случае MP 3) в каждой полосе сигнал раскладывается на частотные составляющие спектра (применяется косинусное преобразование - MDCT , частный случай преобразования Фурье) в результате чего получается набор коэффициентов разложения. Вся дальнейшая обработка сигнала нацелена на максимально возможное упрощение сигнала с целью достижения наиболее эффективного переквантования этих коэффициентов и их записи. Спектр входного сигнала очищается от заведомо неслышных составляющих - низкочастотных шумов и наивысших гармоник. На следующем этапе производится психоакустический анализ кодируемого аудио материала в диапазоне слышимых частот. Вышеописанные процессы преобразования позволяют исключить из исходного аудио материала больше половины информации. На заключительном этапе кодирования производится сжатие уже готового потока данных с использованием упрощенного аналога алгоритма Хаффмана ( Huffman).

В случае сжатия данных с использованием Layer 2 идея упрощения сигнала остается той же, однако переквантованию подвергаются не коэффициенты MDCT , а отсчеты амплитудного сигнала в каждой частотной полосе. Здесь нужно отметить, что в соответствии с приблизительно аналогичной схемой кодирования работают и некоторые другие lossy -кодеки.

Комплект MPEG-1 предусмотрен для кодирования аудио сигналов, оцифрованных с частотой дискретизации 32, 44.1 и 48 КГц. Три упомянутых выше уровня MPEG-1 различаются свой целевой направленностью, механизмами кодирования и, таким образом, обеспечивают различные степени сжатия. Так, например, аудио данные в формате [ИКМ / 44.1 кГц / 16 бит / стерео], Layer 1 позволяет сохранить без особо ощутимых потерь качества при скорости потока (битрейте) 384 Кбит/с, что составляет 4-х кратный выигрыш в занимаемом данными объеме; Layer 2 обеспечивает субъективно такое же качество при 192 - 224 Кбит/с, а Layer III ( MP 3) - при 128-160. Нельзя говорить о выигрыше или проигрыше одного уровня перед другим, так как каждый уровень разработан для достижения своей собственной цели. Например, преимущество Layer 3 заключается в том, что фактически он позволяет сжимать информацию в 8-12 раз (в зависимости от битрейта) без сильно ощутимых потерь качества исходного звучания. При этом, однако, обеспечиваемая им скорость компрессии является самой низкой среди всех уровней. Layer 2 потенциально способен обеспечить более высокое качество кодирования в виду более «легкой» внутренней обработки сигнала в процессе преобразования. В то же время, Layer 2 не позволяет достичь таких высоких степеней компрессии, какие достигаются при использовании Layer 3.


3.6.2 Ogg Vorbis


Одной из негативных сторон кодека MP3 ( MPEG-1 Layer 3) являлась и является его коммерческая основа, заключающаяся как минимум в том, что каждый производитель, создающий новый программный или аппаратный MP3-кодер, обязан платить отчисления изобретателям кодека. Эта ситуация не могла не вызывать недовольство среди пользователей и разработчиков. Так появились независимые разработки в области компрессии аудио.

Кодек Ogg Vorbis вышел в свет в июне 2000 года. Он является частью проекта Ogg Squish, нацеленного на создание полностью открытой системы мультимедиа. Разработчиком проекта является группа, именующаяся Xiphophorus. В основе Ogg Vorbis лежат те же идеи, что и в основе MPEG-1 Layer II, при этом Ogg Vorbis использует свои собственные оригинальные математические алгоритмы, а также собственную психоакустическую модель, что освобождает его разработчиков от необходимости выплачивать какие-то лицензионные отчисления или производить иные выплаты сторонним фирмам-производителям. Кодек Ogg Vorbi s, будучи созданным позже MPEG-1, является несколько более развитым. Он рассчитан на сжатие данных на всех возможных битрейтах без ограничений, от 8 Кбит/с до 512 Кбит/с. Кодер позволяет хранить внутри файлов-контейнеров подробные комментарии об исполнителе и названии композиции, а также предусматривает возможность кодирования нескольких каналов аудио (более двух, теоретически до 255), возможность редактирования содержимого файлов и поддержку техники «масштабируемых битрейтов» - возможности изменения битрейта аудио потока без необходимости его декодирования.


3.6.3 MusePak


Естественно, Ogg Vorbis является не единственной некоммерческой разработкой такого рода. Энтузиасты продолжали и продолжают делать попытки создания альтернативных качественных аудио кодеков.

Кодек MPEGplus (MPEG+), переименованный позднее в MusePack из-за проблем, которые появились у автора кодека в связи с тем, что название последнего содержало в себе аббревиатуру "MPEG", - это еще один некоммерческий lossy-кодек. MusePack создан «в домашних условиях» и разрабатывался(ется) в основном двумя людьми: Andre Buschmann и Frank Klemm. MusePak, также как и Ogg Vorbis, базируется на идеях MPEG-1 Layer II. В отличие от Ogg Vorbis , кодек MusePak переживает сегодня не самые лучшие времена – в то время, как Ogg Vorbis получает все более и более широкое распространение (как среди пользователей, так и среди производителей), MusePak остается малоизвестным, хотя и незаслуженно.


3.6.4 Windows Media Audio


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

Кодек Windows Media Audio (сокращенно WMA) является сегодня собственной разработкой компании Microsoft и успешно ею продвигается. Изначально, кодек WMA разрабатывался фирмой Voxware и имел название Voxware Audio Codec, однако впоследствии компания забросила его доработку, остановившись на v4.0. Разработки Voxware были выкуплены компанией Microsoft, серьезно доработаны и представлены общественности в виде аудио кодека под названием Windows Media Audio (сокращенно WMA).

Если кодек MP3 был изначально стандартизован на предмет разрешенных значений битрейтов и других основных параметров, то WMA изменялся параллельно своему становлению и развитию. На сегодняшний день существует несколько версий кодека WMA: v1, v2, v7, v8 и v9. Внутреннее устройство и механизмы кодирования кодека держатся компанией Microsoft в секрете, однако, опираясь на результаты некоторых тестов, можно предположить, что идеи, легшие в основу WMA, не сильно отличаются от идей, на которых базируются методы MPEG-1.


3.6.5. MPEG-2/4 AAC


Группа MPEG, конечно, не удовлетворилась разработкой аудио кодека, включенного в стандарт MPEG-1. Исследования в области кодирования аудио продолжались и вылились в создание новых стандартов кодирования аудио от MPEG.

Общий стандарт MPEG-2 разрабатывался специально для кодирования телевизионных сигналов. В апреле 1997 комплект MPEG-2 получил «продолжение» в виде алгоритма MPEG-2 AAC ( MPEG-2 Advanced Audio Coding – продвинутое аудио кодирование). Стандарт MPEG-2 AAC стал результатом кооперации усилий института Fraunhofer, а также компаний Sony, NEC и Dolby, и является технологическим приемником MPEG-1, при этом намного более развитым. Поскольку между опубликованием MPEG -2 AAC и его стандартизацией прошло достаточно много времени, свет увидели несколько разновидностей этого алгоритма от независимых коммерческих и некоммерческих разработчиков: Homeboy AAC , AT & T a 2 b AAC, Astrid/ Quartex AAC, Liquifier AAC, FAAC ( Freeware Audio Coder), Mayah AAC и PsyTEL AAC. Почти все приведенные разновидности алгоритма AAC не являются совместимыми между собой.

Так же, как и в комплекте аудио стандартов MPEG-1, в основе алгоритма AAC лежит психоакустический анализ сигнала. Вместе с тем, алгоритм AAC имеет в своем механизме множество дополнений, направленных на улучшение качества выходного аудио сигнала. В частности, используется другой тип преобразований, улучшены методы шумовой обработки, модернизирован метод записи выходного бит-потока и т.д. Следует отметить, что кодек AAC не является обратно совместимым с уровнями MPEG-1, а значит, аудио материалы в формате MPEG-2 AAC не могут быть декодированы с помощью декодера MPEG-1.

MPEG-2 AAC предусматривает три различных профиля (или, в терминологии MPEG-1, «уровня») кодирования: Main, LC ( Low Complexity) и SSR ( Scalable Sampling Rate). В зависимости от того, какой профиль используется для кодирования, изменяется время кодирования, размер получаемого цифрового потока и качество его звучания. Наивысшее качество звучания (при самой низкой скорости компрессии и декомпрессии) обеспечивает основной профиль Main. Это связано с тем, что профиль Main включает в себя все механизмы анализа и обработки входного потока. Профили LC и SSR являются упрощенными, но при этом более скоростными.

Спустя несколько лет после стандартизации MPEG-2, свет увидел новый комплект стандартов, комплект MPEG-4 . По обыкновению, стандарт MPEG-4, помимо прочего, описывает и методы кодирования аудио. Эти методы объединены под общим названием MPEG-4 AAC.

В качестве средств компрессии аудио в MPEG-4 используется целый комплекс стандартов аудио кодирования: улучшенный и доработанный алгоритм MPEG-2 AAC, алгоритм TwinVQ, а также алгоритмы кодирования речи HVXC ( Harmonic Vector eXcitation Coding) и CELP ( Code Excited Linear Predictive). Можно сказать, что в целом, стандарт MPEG-4 является логическим продолжением MPEG-2 AAC. MPEG-4 AAC стандартизует следующие типы объектов (именно так называются профили или уровни в MPEG-4 AAC):


  • MPEG-4 AAC LC (Low Complexity)
  • MPEG-4 AAC Main
  • MPEG-4 AAC SSR (Scalable Sampling Rate)
  • MPEG-4 AAC LTP (Long Term Prediction)
  • MPEG-4 Version 2
  • MPEG-4 Version 3 ( включая HE-AAC)
Как видно, первые три позаимствованы у MPEG-2 AAC, четвертый же является новшеством. LTP основан на методах предсказания сигнала и является более сложным и более ресурсоемким алгоритмом, нежели остальные. Version 2 и Version 3 - это пакеты механизмов, расширяющих основной инструментарий кодирования стандарта MPEG-4 AAC . Основным нововведением в стандарт MPEG-4, введенным Version 3, является стандартизация в мая 2003 года алгоритма HE-AAC (High Efficiency AAC – высокоэффективный AAC ), известного также под именем aacPlus.

Расширение AAC под именем aacPlus было анонсировано компанией Coding Tech nologies 9 октября 2002 года. aacPlus основан на использовании технологии SBR (Spectral Band Replication). Технология SBR предназначена для улучшения качества передачи верхнего частотного диапазона. Идея технологии и предпосылки к ее созданию состоят вот в чем. Дело в том, что кодеки, использующие психоакустическую модель, как показывает практика, имеют один общий недостаток: все они обеспечивают довольно хорошее качество звучания во всем диапазоне слышимых частот, но только до битрейта 128-112 Кбит/с. Компрессия на более низких битрейтах приводит к очень заметной деградации качества звучания, что заставляет разработчиков кодеков при использовании низких битрейтов принудительно ограничивать кодируемый диапазон частот. Технология SBR является попыткой устранить этот досадный недостаток за счет сохранения ограниченной информации о верхней полосе частотного спектра сигнала в процессе кодирования и последующего искусственного синтеза (воссоздания) верхних частот в процессе декодирования. Технология хоть и является очень искусственным методом решения проблемы, но, тем не менее, оказывает благотворное влияние на восприятие закодированных таким образом аудио материалов.

Надо сказать, что «комплектация» MPEG -4 новыми подстандартами и дополнениями продолжается, так что список механизмов и инструментарий кодирования MPEG -4 может постепенно расширяться. Кроме того, нужно заметить, что не все стандартизованные в MPEG -4 методы кодирования нашли отражение в реально существующих аппаратных или программных продуктах. Это связано с тем, что многое из описанного в MPEG -4 стандартизует способы обмена информации, но не сами способы кодирования. Многие идеи кодирования (в особенности, это касается компрессии видео) требуют даже по сегодняшним меркам гигантских вычислительных способностей, так что до полной реализации всего предусмотренного в MPEG -4 еще далеко.



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


4. Послесловие


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

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

Пожалуй, важнее всего понять, что имеет свои положительные и отрицательные стороны, и эти стороны могут меняться местами в зависимости от постановки каждой конкретной задачи. На сегодня совершенно очевидно лишь одно – цифровые технологии находятся лишь в начале своего пути, и нам еще только предстоит понять, что значит их повсеместное внедрение совместно с миниатюризацией, наращиванием вычислительных мощностей и объемов памяти. Совершенно ясно, что цифровые технологии очень скоро завоюют новые, еще не захваченные рубежи, и что от повсеместного применения этих технологий никуда не деться. Опасаться этого процесса можно, но сопротивляться ему бесполезно. Что же касается цифрового звука – части цифровой революции – то здесь все только начинается. Что в этой области уже сегодня получил потребитель? Очень компактные цифровые аудио проигрыватели, высококачественную мобильную и Интернет-телефонию, домашние кинотеатры с объемным звучанием. А, ведь это далеко не все из того, что может быть сделано. Технологии распознавание звука и, в частности, речи до сих пор находятся только в начале своего пути; технологии синтеза звука также еще далеко не на вершине своих возможностей. Только представьте себе, как развитие этих технологий может повлиять на окружающий нас мир! Все это лишь укрепляет мысли о том, что путь не близок, и что самое интересное нам еще только предстоит увидеть.



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



Примечания


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

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

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



Децибел - это относительная логарифмическая величина (десятая часть Белла), используемая во множестве научных дисциплин (
5.gif

- десятичный логарифм отношения некоторой величины X к ее эталонному значению Z - называется Беллом, в честь изобретателя телефона А. Белла). Эта величина численно характеризует отношение двух других физических величин. Таким образом децибел является инструментом сравнения. При измерении (оценке) амплитуды, в качестве эталонного значения Z выбирают амплитуду неслышимого сигнала.

В отношении понятия «тон» удобно применять две его производные: понятие «частота тона» - как физическая характеристика раздражителя слуха и понятие «высота тона» - как характеристика ощущения. Иначе говоря, высота тона - это субъективная характеристика ощущения физической частоты тона.

Гармоникой или обертоном называется частотная составляющая, кратная частоте основного тона. Гармоники нумеруются начиная с основного тона, а обертоны – с первой кратной составляющей.

«Стереофония» – донесение до слушателя звучания, несущего информацию об источниках звука, расположенных на плоскости. Слово «стереофония» происходит от греческого «stereos» - « объемный», «пространственный».

Позволим себе здесь это допущение, поскольку в любом случае пределы колебаний амплитуды можно привести к описанным. Например, в случае если колебания напряжения в электрической цепи находятся в пределах от 0 до 5 вольт, то этот диапазон колебаний может быть приведен к нужному нам диапазону от -1 до 1 путем деления каждого измеренного значения амплитуды на 2.5 и вычитания 1.

Существует два общепринятых псевдологарифмических закона, используемых при построении неоднородного квантователя. Их обозначают как A - law и
6.gif

- law .

Кодирование информации – представление информации в определенной системе кодовых символов и их структур. Шифрование, а также уплотнение (сжатие) информации являются частными случаями кодирования. Кодер (англ. « coder») – это программный или аппаратный блок, предназначенный для кодирования данных. Кодек (от англ. “ codec” – “ CODer / DEcoder”) - программный или аппаратный блок, предназначенный для кодирования и декодирования данных.

В основе механизмов работы таких методов сжатия лежат так называемые «жадные» алгоритмы, основанные на статистическом анализе данных (наиболее известные алгоритмы: Huffman, PPM). Большинство этих алгоритмов создано еще 30-40 лет назад, сегодня они лишь модифицируются и оптимизируются.

Битрейт – количество данных в единицу времени звучания. Например, битрейт для формата [ИКМ / 44.1 КГц / 16 бит / стерео] составляет 44100 * 16 * 2 = ~1411 Кбит/с.