Беспотерьные кодеры
Сегодня существует множество кодеров аудио данных, основанных на идее кодирования с потерями. Вот только некоторые из
них: MPEG-1 Layer 3 (всем известный как MP3), Windows Media Audio ( WMA), Ogg Vorbis ( OGG), MusePack ( MPC), MPEG-2/4 AAC
и другие. Давайте чуть подробнее остановимся на их рассмотрении.
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.
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), возможность редактирования
содержимого файлов и поддержку техники «масштабируемых битрейтов» - возможности изменения битрейта аудио потока без необходимости
его декодирования.
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 остается малоизвестным, хотя и незаслуженно.
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.
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 -кодирования должно там,
где ему место. Совершенно очевидно, что кодированию с потерями ввиду самой его сути не место, например, в студийной звукозаписи.
При этом совершенно нелогично отказываться от его использования, например, в телефонии. Таким образом, очень важно уметь
правильно пользоваться имеющимся под рукой инструментарием и, образно говоря, не использовать кувалду при огранке алмазов,
равно как и пинцет на каменоломне.
Послесловие
Вопросы, подобные часто задаваемому «пользоваться или не пользоваться lossy -кодерами?» не дают спокойно спать многим,
как аудио любителям, так и профессионалам. Какой lossy -кодер использовать, пользоваться ли вообще lossy -кодерами или применять
исключительно беспотерьное сжатие, с какими параметрами проводить оцифровку сигнала – эт о и многое другое рано или подно
спрашивает себя каждый, кто в той или иной форме сталкивается со звукообработкой или звукозаписью. Ни один из подобных вопросов
не имеет однозначного ответа, все диктуется соображениями целесообразности и применимости. Панацеи не существует, и поэтому
каждый конкретный практический случай имеет свои строго индивидуальные решения.
Вообще, вопросы целесообразности и применимости технологий цифрового звука и методов его обработки являются тонкими и
сложными. Даже тема использования цифрового звука как такового до сих пор является камнем преткновения, и каждый на этот
счет имеет свое собственное мнение. Так, например, многие аудиофилы считают, что цифровая форма является неудачным способом
представления звуковых сигналов и предпочитают аналоговую аудио аппаратуру цифровой. С другой стороны, даже лампочку Эдисона
многие его современники высмеивали и относились к изобретению скептично, что уж говорить про столь сложную область, какой
является область цифровых сигналов.
Пожалуй, важнее всего понять, что имеет свои положительные и отрицательные стороны, и эти стороны могут меняться местами
в зависимости от постановки каждой конкретной задачи. На сегодня совершенно очевидно лишь одно – цифровые технологии находятся
лишь в начале своего пути, и нам еще только предстоит понять, что значит их повсеместное внедрение совместно с миниатюризацией,
наращиванием вычислительных мощностей и объемов памяти. Совершенно ясно, что цифровые технологии очень скоро завоюют новые,
еще не захваченные рубежи, и что от повсеместного применения этих технологий никуда не деться. Опасаться этого процесса можно,
но сопротивляться ему бесполезно. Что же касается цифрового звука – части цифровой революции – то здесь все только начинается.
Что в этой области уже сегодня получил потребитель? Очень компактные цифровые аудио проигрыватели, высококачественную мобильную
и Интернет-телефонию, домашние кинотеатры с объемным звучанием. А, ведь это далеко не все из того, что может быть сделано.
Технологии распознавание звука и, в частности, речи до сих пор находятся только в начале своего пути; технологии синтеза
звука также еще далеко не на вершине своих возможностей. Только представьте себе, как развитие этих технологий может повлиять
на окружающий нас мир! Все это лишь укрепляет мысли о том, что путь не близок, и что самое интересное нам еще только предстоит
увидеть.
Примечания
В этом смысле можно провести аналогию с распространением света. Скорость распространения света также не зависит от частоты.
В противном случае, если бы, например, красный свет двигался быстрее синего, то вспышка белого света выглядела бы сначала
красной, затем белой и, наконец, синей.
С дифракцией звука мы сталкиваемся в повседневной жизни постоянно. Если бы дифракции звука не существовало, то мы были
бы совершенно неспособными слышать, например, музыку, звучащую за углом дома, а также разговор за закрытой дверью.
Так, например, звук камертона длится достаточно продолжительное время, однако является тихим. В то же время, звук камертона,
установленного на резонаторный ящик, в виду появления резонанса оказывается намного более громким, однако гораздо менее продолжительным.
Децибел - это относительная логарифмическая величина (десятая часть Белла), используемая во множестве
научных дисциплин ( - десятичный логарифм отношения некоторой величины X к
ее эталонному значению Z - называется Беллом, в честь изобретателя телефона А. Белла). Эта величина численно характеризует
отношение двух других физических величин. Таким образом децибел является инструментом сравнения. При измерении (оценке) амплитуды,
в качестве эталонного значения Z выбирают амплитуду неслышимого сигнала.
В отношении понятия «тон» удобно применять две его производные: понятие «частота тона» - как физическая характеристика
раздражителя слуха и понятие «высота тона» - как характеристика ощущения. Иначе говоря, высота тона - это субъективная характеристика
ощущения физической частоты тона.
Гармоникой или обертоном называется частотная составляющая, кратная частоте основного
тона. Гармоники нумеруются начиная с основного тона, а обертоны – с первой кратной составляющей.
«Стереофония» – донесение до слушателя звучания, несущего информацию об источниках звука, расположенных на плоскости.
Слово «стереофония» происходит от греческого «stereos» - « объемный», «пространственный».
Позволим себе здесь это допущение, поскольку в любом случае пределы колебаний амплитуды можно привести к описанным. Например,
в случае если колебания напряжения в электрической цепи находятся в пределах от 0 до 5 вольт, то этот диапазон колебаний
может быть приведен к нужному нам диапазону от -1 до 1 путем деления каждого измеренного значения амплитуды на 2.5 и вычитания
1.
Существует два общепринятых псевдологарифмических закона, используемых при построении неоднородного квантователя. Их
обозначают как A - law и - law .
Кодирование информации – представление информации в определенной системе кодовых символов и их структур.
Шифрование, а также уплотнение (сжатие) информации являются частными случаями кодирования. Кодер (англ.
« coder») – это программный или аппаратный блок, предназначенный для кодирования данных. Кодек (от англ.
“ codec” – “ CODer / DEcoder”) - программный или аппаратный блок, предназначенный для кодирования и декодирования данных.
В основе механизмов работы таких методов сжатия лежат так называемые «жадные» алгоритмы, основанные на статистическом
анализе данных (наиболее известные алгоритмы: Huffman, PPM). Большинство этих алгоритмов создано еще 30-40 лет назад, сегодня
они лишь модифицируются и оптимизируются.
Битрейт – количество данных в единицу времени звучания. Например, битрейт для формата [ИКМ / 44.1 КГц / 16 бит / стерео]
составляет 44100 * 16 * 2 = ~1411 Кбит/с.
Часть [1]
[2]
[3]
[4]
[5]
[6]
|