Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Лекции по ЦО АВС.doc
Скачиваний:
69
Добавлен:
07.09.2019
Размер:
5.86 Mб
Скачать

3.11 OggVorbis

OggVorbis - это совершенно новый универсальный формат аудио- компрессии вышедший летом 2000 года. Этот самый молодой формат из всех конкурентов МР3 разработан группой Xiphophorus и является частью из мультимедиа проекта OggSquish.

OggVorbis принадлежит к тому же типу форматов аудиосжатия, что и МР3, AAC, VQF, PAC, QDesign AIFF и WMA, то есть к форматам сдатия с потерями. Психоакустическая модель, используемая в OggVorbis по принципам действия близка к МР3, но и только - математическая обработка и практическая реализация этой модели в корне отличается, что позволяет авторам объявить свой формат совершенно независимым от всех предшественников.

Главное неоспоримое преимущество формата OggVorbis - это его полная открытость и бесплатность. OggVorbis создается в рамках проекта GNU и полностью подчиняется GNU GPL (генеральная публичная лицензия). А это означает, что формат совершенно открыт для коммерческого и некоммерческого использования, его коды можно модифицировать безо всяких ограничений, группа разработчиков оставляет за собой лишь право утверждать новые спецификации формата. Некоторые ограничения конечно все же есть, они определены в GNU GPL. Согласно правилам GNU GPL можно делать любые изменения в коде программы, но при этом получившийся программный продукт так же должен подчиняться уложениям GNU GPL. Правда, Xiphophorus все еще имеет возможность закрыть этот открытый формат и сделать его полностью коммерческим, ведь GNU - это чисто добровольная концепция. Но по заявлениям разработчиков, они этого делать не собираются. Выгоды от доступного, свободного от лицензий формата перевешивают выгоды получения денег за лицензии на его использование - именно так считают создатели OggVorbis и в качестве примера указывают на МР3. Разве достигла бы такого размаха индустрия МР3, если бы сам формат не стал бы бесплатен для конечных пользователей? Ну а Xiphophorus собирается пойти еще дальше и сделать формат бесплатным не только для пользователей, но и разработчиков программного обеспечения и железа. Создатели формата не требуют никаких лицензионных плат за любое использование спецификации OggVorbis. Сторонние разработчики вполне свободны создавать и продавать (или отдавать) свои собственные кодеры и декодеры использующие спецификацию OggVorbis. Но если используются программные продукты созданные именно Xiphophorus, например, кодек в виде DLL библиотеки или SDK-комплекты OggVorbis, в составе коммерческих разработок, необходимо будет за них заплатить. Бесплатно только для некоммерческих проектов подчиняющихся GNU GPL, то есть распространяющихся свободно и вместе с исходными кодами. Подобный подход заранее определяет мультиплатформенность OggVorbis.

Помимо бесплатности, OggVorbis, как спецификация, обладает так же еще целым рядом неоспоримых достоинств. Так, вехняя планка частоты выборки составляет не 44 КГц, как у всех форматов, а 48 КГц, что безусловно более близко к живой музыку по сравнению с CD. Кроме того, число каналов не ограничено двумя как обычно - моно и стерео, а достигает 255! Представьте себе акустическую систему из 255 динамиков! Поистине формат сделан с запасом. А ведь наступит когда-нибудь время, когда 48 КГц и 255 каналов станут нормой для компьютерного музыкального центра, а не экзотикой как сейчас.

OggVorbis использует математическую психоакустическую модель отличную от МР3, и это сказывается на звучании. МР3 и OggVorbis трудно сравнивать, но в целом звучание OggVorbis гораздо лучше.

При кодировании кодеки OggVorbis используют VBR (variable bitrate), подобно некоторым МР3 кодекам, что позволяет существенно уменьшить размер композиции, при незначительной потере качества.

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

OggVorbis, так же как и МР3, изначально разрабатывался как сетевой потоковый формат. Это свойство является очень важным, особенно учитывая мультиплатформенную направленность формата OggVorbis. Интернет-радиостанция использующая низкобитрейтные версии OggVorbis сможет вещать сразу на всех платформах, тогда как такая же радиостанция, использующая для передачи WMA (в виде ASF) будет ограничена только пользователями Windows.

Формат OggVorbis прочился разработчиками (впрочем, как и все форматы рассмотренные ранее) в преемники МР3. И для этого есть все основания. OggVorbis содержит не только все те компоненты, которые обеспечили популярность МР3 в более превосходной форме: отличное качество, малый размер, бесплатность для конечного пользователя, потоковость, но и ряд преимуществ, которых у МР3 нет: бесплатность для разработчиков, отсутствие лицензионных платежей, более высокая частота выборки и значительно большее число поддерживаемых каналов.

Именно благодаря открытости формата об OggVorbis удалось узнать то, что не удавалось для всех других форматов (разве что, кроме Мр3) - как он работает. Все остальные конкуренты МР3 тщательно скрывают внутренние алгоритмы компрессии, и лишь OggVorbis выставляет их напоказ.

На первом этапе кодирования, композиция временно разбивается на блоки таким образом, чтобы их было целое число. Размер блоков варьируется. Далее в ход вступают алгоритмы анализа. Кодер анализирует содержимое аудиокомпозиции с целью добиться ее максимально компактного представления. При анализе происходит сепарация блоков входящего аудиопотока на индивидуальные и повторяющиеся. Это разделение необходимо при кодировании с использованием VBR - переменного bitrate. Соответственно индивидуальные и повторяющиеся блоки будут кодироваться с разными bitrate.

Далее идет анализ содержимого блоков на предмет выявления нужных и ненужных частот и тонов, то есть вступает в ход психоакустическая модель. OggVorbis, как и МР3, это формат с потерями. Качество формата во многом зависит от того, насколько серьезны эти потери, и насколько удачно их можно замаскировать. Психоакустическая модель OggVorbis практически не режет высокие частоты, вернее, режет, но верхняя планка поднята достаточно высоко, чтобы удовлетворить даже самый изысканный слух. Итак, верхние частоты не трогают, но уменьшать композицию надо. За счет чего?

В OggVorbis главный акцент сделан на анализе маскирующего влияния сигналов звучащих одновременно. Эта часть сделана гораздо более изощренно и эффективно чем у МР3. В ходе анализа находятся сильные сигналы и сигналы, которые маскируются этими сигналами, то есть находятся в своеобразной звуковой "тени". Затем рассчитывается среднее время оглушение для каждого из маскируемых сигналов. Все сигналы, лежащие в области звуковой "тени" и попадающие в расчетное время оглушения помечаются на удаление. Конечно, всегда найдутся люди не вписывающиеся в среднестатистическое большинство. У них эффект оглушения может проходить быстрее, чем за рассчитанное кодеком время и может ощущаться отсутствие определенных частот и сигналов.

На следующей стадии происходит удаление информации, которую алгоритмы анализа признали излишней. Оставшуюся информацию сжимают алгоритмами Хафмана и подвергают векторному квантованию в соответствии с установленным bitrate.

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

Но вернемся к кодированию аудиофайла. После стадий анализа, удаления избыточной информации и собственно кодирования происходит преобразование уже конечной информации в потоковый формат bitstream OggSqish. Подобно тому, как ASF является форматом пересылки данных для всего семейства Windows Media, так и bitstream OggSquish является единым форматом пересылки потока данных для всего мультимедиа семейства OggSquish.

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

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

3.12 WMA

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

Если кодек MP3 был изначально стандартизован на предмет разрешенных значений битрейтов и других основных параметров, то WMA изменялся параллельно своему развитию. На сегодняшний день существует несколько версий кодека WMA: v1, v2, v7, v8 и v9. Версия 7 отличается от младших собратьев поддержкой битрейтов до 192 Кбит/с (в отличие от цифры 164 Кбит/с для v1 и v2), несколько худшим качеством кодирования и иной структурой данных. v8 отличается от всех предыдущих явно переработанной психоакустической моделью кодека, за счет чего качество кодирования сильно возросло. Так, при 96 Кбит/с WMA v8.0 на не сильно требовательных к качеству композициях (поп-музыка, например) почти не отличим от MP3 при 128 Кбит/с, хотя, опять же, все зависит от конкретной композиции и аппаратуры, на которой осуществляется прослушивание. Девятая версия WMA является логическим продолжением восьмой версии. Разработчики говорят о повышении качества кодирования в среднем на 20 процентов по сравнению с WMA v8. В версии 9 применена новая технология Fast Streaming, призванная сильно сократить время буферизации WMA -потока, передаваемого через Интернет конечному пользователю. Помимо этого, WMA 9 является, фактически, пакетом кодеков и включает кроме привычного lossy-кодера, также и lossless кодер (кодер без потерь), а также специальный речевой кодер.

Судя по проведенным тестам, а также по параметрам кодеров WMA , механизм работы кодека в целом очень похож на механизм MP 3 – то же покадровое сжатие с применением предположительно тех же приемов обработки входного сигнала.

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