Из слона муху: теория
 
09.03.2004
Тарас Бризицкий


 
<< стр. 1
стр. 2
стр. 3 >>

Musepack (MPEG Plus/MPC)

Musepack, возможно, самый недооцененный из аудиокодеков. Первые версии формата (тогда он еще назывался MPEG Plus) появились во времена молодости MP3, когда бесплатных кодировщиков было немного, а существующие не позволяли получать качественные записи. Формат создавался энтузиастами, которые, впрочем, сумели сделать его эталоном качества для современных lossy-кодеков (lossy-compression — сжатие с потерями). Автор кодировщика и декодера — Андри Бушман (Andree Buschmann) — довольно быстро потерял к ним интерес, и дальнейшую доводку продукта взял на себя Франк Клемм (Frank Klemm), представивший миру кодек в его нынешней (Stream Version 7) форме.

В Musepack — основе MP2 — лежит несколько иной принцип кодирования, нежели у многих современных форматов, что позволяет избежать некоторых характерных проблем, в частности преэха (pre-echo, ringing) — артефакта, проявляющегося при кодировании резких четких звуков, таких как звук кастаньет. Причем эхо возникает перед звуком, вызвавшим его. На слух оно воспринимается как «чирканье» или «размывание» звука. В отличие от многих кодеков, созданных для того, чтобы «побить» MP3, Musepack ориентирован на достижение максимально высокого качества, поэтому неудивительно, что он работает в «чистом» VBR-режиме, меняя битрейт в зависимости от сложности сигнала (MP3 в режиме VBR способен использовать лишь ограниченный набор битрейтов из диапазона 32–320 кбит/с). Наиболее распространенными параметрами кодирования музыки в формат Musepack являются --standard и --extreme, создающие файлы со средними битрейтами 170–200 кбит/с (в пределах композиции битрейт нередко доходит и до 600 кбит/с), превосходя при этом MP3, в принципе неспособный прозрачно кодировать некоторые звуки. Многочисленные тесты, проведенные участниками форума Hydrogenaudio, показали, что даже на тех редких сэмплах, когда Musepack ошибался, разница была гораздо меньше, чем при использовании других форматов. Применение же пресетов Extreme, Insane, Braindead и подобных в подавляющем большинстве случаев приводит лишь к трате пространства на жестком диске или «болванке» и может иметь хоть какой-то смысл только при транскодировании, когда заранее нужно обеспечить достаточный «запас прочности».

Кодек неплохо чувствует себя и при снижении доступного потока данных до 128 кбит/с и ниже. Разумеется, в этом случае резко повышается вероятность появления артефактов. В слепом тестировании различных кодеков на битрейтах уровня 128 кбит/с (www.rjamorim.com/test/128extension/results.html ) Musepack успешно конкурировал с такими форматами, как AAC и Vorbis.

Как бы ни был хорош Musepack, он, как и любой кодек, имеет недостатки. Так, в рамках нынешней версии, Stream Version 7, невозможно обеспечить сжатие многоканального звука, а также поддержку некоторых частот дискретизации. Ситуация с выпуском SV8 непонятна. С одной стороны, демонстрационный код SV8 уже имеется, с другой — Musepack находится в подвешенном состоянии уже больше года, до сих пор не имея аппаратной поддержки (единственный flash-плейер с неофициальной поддержкой формата не в счет) и оставаясь своего рода «форматом для избранных».

CBR? VBR? ABR?

На данный момент существуют три основных принципа кодирования аудио/видеоданных. Первый из них состоит в получении максимально возможного качества при заданной ширине потока. Это так называемое CBR (constant bitrate — постоянный битрейт) сжатие. Подавляющее большинство MP3-файлов создается с помощью именно CBR. Недостатки этого метода очевидны: при невысокой сложности кодируемых данных возникает избыток «свободного места», тогда как для сжатия более сложного сигнала ширины потока может не хватить. В результате поток используется неэффективно, что ведет к снижению качества. Тем не менее, если постоянство потока данных важнее качества, например при трансляции в Интернет, такой подход вполне оправдан.

VBR (variable bitrate — переменный битрейт) принципиально отличается от своего предшественника тем, что его задача — получить максимально возможное качество при минимальном объеме данных. В этом случае ширина потока данных динамически меняется в зависимости от сложности сигнала, а потому и объем файла, сжатого по технологии VBR, хуже поддается оценке. Если задаваемым параметром в CBR служит битрейт, то для VBR им является уровень качества, обычно представляемый в виде цифрового значения. К слову, практически любой современный формат аудиосжатия предусматривает возможность работы в режиме VBR.

Промежуточным между CBR и VBR является ABR (average bitrate — средний битрейт). В этом режиме кодировщик пытается использовать достоинства обоих подходов, изменяя ширину потока данных в небольших пределах от среднего заданного значения.

MP3pro

Помните, в старом советском мультике была песенка про то, как «жадность Билла погубила»? Так вот, MP3pro, похоже, пал от жадности своих создателей, враз решивших обогатиться за счет пользователей, клюнувших на рекламу. Конечно, формат жив и, можно сказать, почти здравствует, однако его актуальность тает с каждым днем.

Прежде всего, давайте вспомним, как MP3pro появился… Одним из главных недостатков MP3, с точки зрения некоторых компаний, было резкое падение качества музыки при кодировании на битрейтах ниже 128 кбит/с. Причем «корень зла» крылся в самом формате: тонкая настройка кодировщика могла лишь незначительно улучшить ситуацию. Как раз для работы с низкими битрейтами Coding Technologies совместно с институтом Фраунгофера и разработала формат MP3pro. Весь трюк заключался в применении технологии SBR (spectral band replication), восстанавливающей высокие частоты из MP3-файла и небольшого потока дополнительных данных. Восстановление, разумеется, весьма приблизительное, но как компромисс между «полным мраком» и «чем-то похожим на сносный звук» вполне годилось. Таким образом, MP3pro представлял собой «бутерброд», один «слой» которого — MP3-файл, а другой — дополнительный поток данных, игнорируемый обычными MP3-плейерами. В результате появилась обратная совместимость, то есть MP3pro-файлы могли худо-бедно воспроизводиться любым MP3-плейером, однако использование специального декодера значительно улучшало качество. Так как задача SBR — восстанавливать верхние частоты, MP3-часть имела четкую частоту среза, находящуюся примерно на уровне 10 кГц. Очевидно, что ни о каких высоких частотах в режиме обратной совместимости речи быть не могло.

Вроде бы выход был найден, и MP3 получил возможность довольно эффективно работать даже в недоступной ранее низкобитрейтной области, однако радуясь новому чуду, которому прочили едва ли не роль «убийцы MP3» (сколько их еще будет…), разработчики решили зашибить на нем деньгу, что в конечном счете и погубило формат. Дабы поддать жару, Thompson выпускает бесплатный демонстрационный кодер/плейер, создающий MP3pro-файлы только с битрейтом 64 кбит/с и призванный показать потенциал формата (а еще отличающийся убогим интерфейсом и скудными возможностями). Этим, впрочем, дело и ограничилось, так как из-за не слишком малых лицензионных отчислений разработчики программных и аппаратных плейеров предпочли обойти MP3pro стороной, а едва ли не единственной возможностью для создания файлов этого формата сейчас является установка Music Match Jukebox.

Аппаратная поддержка у MP3pro есть, впрочем небольшая: создатели плейеров не стремятся выбрасывать деньги на ветер. MP3pro-плейеры вроде бы существуют — в виде немногочисленных огромных Jukebox’ов и аппаратных устройств, способных воспроизводить файлы, но актуальность использования формата с каждым днем уменьшается, ведь для тех же целей можно применять OGG Vorbis или AAC, кодировщики и проигрыватели которых нетрудно раздобыть на халяву.

Еще один интересный момент. Файлы формата MP3pro имеют стандартное расширение MP3, что из-за отсутствия универсальных проигрывателей только усугубляет путаницу. Thomson, попытавшись исправить ситуацию, выпустила MP3/MP3pro-плагин к Winamp, способный воспроизводить файлы обоих форматов, однако он оказался столь глючным и малофункциональным (и где только берут таких программистов?!), что использовать его для прослушивания MP3-файлов мог только мазохист.



 
<< стр. 1
стр. 2
стр. 3 >>

<<Из слона муху: практика
Все материалы номера
Микрофишки >>