Сегодня: 16 Декабрь 2017
главная / теория звуковых волн - физика и психофизика звука  / беспотерьные кодеры

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

Сегодня существует множество кодеров аудио данных, основанных на идее кодирования с потерями. Вот только некоторые из них: 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 -кодирования должно там, где ему место. Совершенно очевидно, что кодированию с потерями ввиду самой его сути не место, например, в студийной звукозаписи. При этом совершенно нелогично отказываться от его использования, например, в телефонии. Таким образом, очень важно уметь правильно пользоваться имеющимся под рукой инструментарием и, образно говоря, не использовать кувалду при огранке алмазов, равно как и пинцет на каменоломне. 

ДЛЯ СВЯЗИ:

АВТОРИЗАЦИЯ:
логин:
пароль:
Нажмите для входа

зарегистрироваться
забыл пароль?

СПЕЦАРХИВ:
Email:
Ключ:
 
ЗНАЮ - КАК:


VIP:
© 2005- Design and Programming by InetStar.Ru
Рейтинг@Mail.ru SpyLOG Rambler's Top100