OGG vs. WMA

Обзор возможностей перспективного формата сжатия звука OGG в сравнении с WMA.

Если верить заявлениям Microsoft, в новой, восьмой версии формат WMA (Windows Media Audio) должен обрести второе дыхание. Тем временем появился новый формат OGG (Ogg Vorbis), который и вовсе является частью проекта полностью открытой мультимедийной системы [1]. Идея-фикс этого проекта — вытеснить все существующие платные аудиоформаты: MP3, VQF и AAC 1.

За легальное коммерческое использование методов сжатия трех последних форматов рано или поздно придется платить (лишь энтузиасты Lame со своим модифицированным МР3 умудряются перехитрить владельца патента Fraunhofer IIS). Об АC3 и DTS и говорить нечего: без солидного стартового капитала на лицензирование начинающему разработчику софта не раскрутиться ни в жизнь. Сравните с OGG: абсолютная законная бесплатность, доступность исходного кода (!) и «беспатентность». Уж не станут ли эти три кита тем, что превратит дерзкий формат в народный российский? И какова «обратная сторона» бесплатного сыра?

Дабы не тратить время попусту, советую скачать OGG-плагин к WinAmp, а также самостоятельный drag&drop кодировщик [2], чтобы лично опробовать новичка в деле (на момент написания статьи плагин и кодер были доступны в версии 1.0 beta4).

Итак, сегодня под прицелом WMA 8 и OGG, стандарты, которые роднят, помимо бирок бета-версий, еще и клановые претензии на глобальную аудио- и видеомультимедийность.

«Про это»

При сравнении качества сжатого с потерями звука следует учитывать два обстоятельства.

Поскольку сжатие основано на удалении частотных компонентов, не воспринимаемых органами слуха человека, достоверным критерием сравнения остается лишь прослушивание экспертами «вслепую» разного музыкального материала (в случае разнобоя мнений заключения экспертов обрабатываются статистически).

С другой стороны, музыка столь многообразна, а в исследованиях восприятия звука столько белых пятен, что эксперты экспертами, но слушать-то нам, а не экспертам с их hi-end-аппаратурой и идеальными условиями для прослушивания. Например, «золотая» акустика экспертизы заведомо подчеркнет и выделит все нюансы-различия сжатого звука. Но расслышит ли их разночинный народ на малобюджетной акустике?

Нюансы

Прислушаться к мнению экспертов было бы разумным. А вот дальше очень полезно прибегнуть к бесстрастным объективным оценкам сравнения. Без грамотного спектрального анализа тут не обойтись. Ясно, необходим анализ декодированного звука как в частотной, так и во временной области. Для этого целесообразно использовать спектрограмму, или, в терминах линейной алгебры, матрицу, каждый столбец которой представляет собой отдельный спектр. Однако вычисляемый через быстрое преобразование Фурье амплитудно-частотный спектр — это всего лишь математическая «модель», грубо говоря, абстракция. Вычисленный спектр будет всегда отличаться от истинного. Тем не менее, если спектры вычислены с правильным наложением окон по всей длине тестовой записи, картинка спектрограммы будет адекватно отражать реальное положение вещей.

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

Немного секретов

Как избавиться от шумов аудиокарты, если отсутствует декодер, который раскручивает сжатый звук в исходный, например формата WAV? Очень просто, достаточно прибегнуть к «виртуальному аудиокабелю» (Virtual Audio Cable), который виртуально соединит выход плейера (фактически декодирующего сжатый звук) со входом записывающей программы «рекодера». Тогда запись декодированного звука будет производиться напрямую, минуя аудиокарту (драйвер виртуального кабеля устанавливается, даже если саунд-карта отсутствует) 2.

Технические подробности

Начнем с OGG. Во-первых, любая из платформ: Unix/Linux, Windows, Macintosh, BeOS, OS/2. Во-вторых, битрейт на любой вкус: от 16 до 128+ кбит/с на канал (в текущей бета версии от 128 до 350 кбит/с суммарно). В-третьих, 16+ бит и потенциально до 255 параллельных каналов (ого-го-го!). В-четвертых, частота дискретизации оригинала 44,1-48 кГц — тут до 96 кГц было бы неплохо дотянуть, но это, думаю, не является принципиальной проблемой. Перед упаковкой в частотной области используется популярное MDCT-преобразование, но ведутся эксперименты и с WavеLet. Ставка делается исключительно на кодирование с переменным битрейтом (VBR).

На фоне OGG в общем-то уже известные характеристики WMA выглядят вчерашним днем. Особо страждущие могут почерпнуть сведения о грамотно разрекламированных достоинствах (и не менее грамотно скрытых недостатках) из документов, подобных [3].

Первые впечатления

fish…

Кодировщик OGG насторожил неотключаемой мультипликацией с пучеглазым «карасем», шрифтом, не влезшим в окошечко, и легкомысленным «термометром» объема переработанного оригинала (см. рис. 1). Отсутствие настроек как таковых — либо признак того, что все силы брошены на доводку, либо концепция типа «все делается на автомате», — пока остается гадать.

Кодировщик WMA от автора «виндов» запускается только из DOS. С параметрами особо не поиграешься, зато при желании можно и видео сжать. Упражнения с весьма некороткой командной строкой навеяли тоску по Нортону.

В деле кодер WMA повел себя заметно шустрее. Чуть ли не в три раза быстрее, чем OGG. Причем варьирование задаваемой величины битрейта ОGG не встряхнуло, получалось где-то в три раза медленнее, чем МР3. Неужто «карась» ресурсы пожрал? Очевидно, это плата за VBR и… предвестник хорошего качества. Природу не обманешь, и, скорее всего, за быстрое кодирование придется чем-то расплачиваться.

Анализ

Давайте взглянем на спектрограммы для битрейта 128 кбит/с, полученные по специальному тестовому сигналу. OGG дал картину, очень близкую к оригиналу, лишь чуть подзавалив частоты выше 18 кГц, поэтому исходная спектрограмма не приводится. WMA начал шалить с частот выше 8 кГц, размазывая частотные компоненты, и своевольничать на частотах выше ~15 кГц, оставляя лишь самые «громкие» гармоники, а выше 20 кГц пообрезал все напрочь. Надо отдать должное, в плане динамики во времени у WMA грубых искажений не наблюдается.

На других тестовых сигналах претенденты на лавры шли практически вровень, аккуратно обрабатывая чистые тона и фазовые эффекты. Казусы у WMA всплыли на звуках морского прибоя. Появился крайне неприятный и отчетливо слышимый (даже на весьма скромной акустике) синтетический присвист. Запутавшись в шуме ударяющей о берег волны и звуках катящейся гальки, WMA пытался воссоздать реальные частотные компоненты, особенно выше 12 кГц (см. спектральные компоненты), путем генерации искусственных компонентов. OGG сохранил оригинальный звук без вранья, но потерял утонченность, без которой закрывай не закрывай глаза, а будешь слышать назойливое звучание акустических систем, но не музыку волн. Безусловно, от битрейта 128 кбит/с нельзя ожидать большего.

На 256 кбит/с OGG безукоризненно воссоздал все пиковые частотные компоненты на самом разнообразном материале.

Коэффициент сжатия3

Что ж, OGG переиграл WMA и здесь (см. таблицу), на 2-30% в зависимости от типа музыки. Любопытен тот факт, что по сжимающей способности OGG ни разу не уступил МР3. Не спасло МР3 и задействование адаптивного сжатия VBR1 (Lame v.1.12, engine 3.86): попсовый OGG-файл при 128 кбит/с оказался в 1,5 раза короче.


Коэффициент сжатия для 128 кбит/сOGGWMA
Тестовый сигнал (см. спектрограммы)7,145,09
Melody Alto F7 (sample of Sonic Foundry Inc.)6,044,91
Church орган (один аккорд)6,865,08
Шум моря (стерео)9,929,79
Линда «Ляп…» (фазовые эффекты, стерео)11,9810,39

Заключение

WMA проиграл по всем абсолютным показателям, за исключением продолжительности кодирования. С точки зрения показателей относительных, не удивлюсь, если многие из нас при прослушивании не обнаружат разницы между WMA и OGG (и МР3 впридачу) на избранных композициях при битрейте 128 кбит/с, особенно если акустика имеет «завал» выше 15 кГц.

МР3 получил достойного спарринг-партнера в лице прогрессирующего OGG. Задайте 256 кбит/с и получите «конфетку» даже при воспроизведении на hi-fi-акустике.

Российские программеры! Даешь «OGG’изацию» страны!!!

P. S. Гигант «плавки» звука Sonic Foundry [4] мгновенно сориентировался и реализовал экспорт/импорт формата OGG в SoundForge версии 5.0 (замечу, стоимостью под полштуки баксов).

 


1 — Плох тот солдат, который не мечтает стать генералом. [обратно к тексту]
2 — Замечу, что даже 24-битная брэндовая звуковая карта шумит (около –100 дБ FS), правда, шум этот стабильный и практически не заметен на слух: шумы усилителя оказываются мощнее. Смесь завышенного шума со свистками отдельных гармоник встречается на отдельных экземплярах весьма недешевых карт (видать, брачок к нам изрядно проникает). Особенно склонны пошуметь «звуковухи», встроенные в материнские платы. Тут встречается не просто равномерный по частоте шум, а разукрашенный до неприличия и мощный до удивления (SNR 50 дБ). Самое коварное, что шумы саунд-карты, например, по левому-правому каналам или с разных входов (CD-in, Aux-in, Line-in и т. п.) могут различаться настолько, что становятся заметны даже на «плохоговорителях». Кроме того, вполне сносная «звуковуха» может нахватать всевозможных шумов, включая импульсные, из-за электромагнитных наводок от неблагополучных «соседей» по системному блоку. [обратно к тексту]
3 — Отношение размеров файлов. [обратно к тексту]