Что лучше mp3 или opus
Фавориты сжатия с потерями: кто же лучше на битрейте 192 кбит/с?
Это наверное самый логичный шаг после обкатывания и отладки новой методики тестирования: взять кодеки с потерями, которые все считают одними из лучших, и посмотреть, кто кого? В сегодняшнее тестирование попали:
Могу сказать, что ради интереса я поверхностно прогнал старичков faac и nero для кодирования в AAC LC. Можно сказать, faac сдался сразу же, на частотах выше 6 кГц он вёл себя на порядок хуже конкурентов. А вот nero удивил, сухие цифры говорят, что он и по сей день прекрасен на частотах до 9500 Гц и даже вполне в паритете с современным Opus! Но, начиная с 13 кГц nero полностью проваливается и сдаёт все позиции конкурентам. Эти два кодека я всё же решил убрать из результатов тестирования. Вероятно, я сделаю обзор на них позже.
В будущем я также думаю сделать обзор, насколько в действительности модификация aoTuV улучшает качество оригинального кодека Ogg Vorbis.
Но давайте продолжим, кто же из 4 перечисленных претендентов на лучший кодек сможет отстоять своё звание?
Параметры исследования
Командные строки запуска кодеков:
Apple AAC LC afconvert
Ogg Vorbis libvorbis 1.3.6 aoTuV b6.03
Opus 1.3.1
LAME 3.100
Битрейты были подобраны так, чтобы размеры итоговых файлов были примерно одинаковыми: в диапазоне от 11.4 до 11.8 МБ. Оригинал был сжат более чем в 7 раз.
Результаты
Давайте начнём с самого интересного, анализа вносимых искажений. Не могу сказать, что нам открывается что-то поразительное, но, тем не менее, картина весьма занятная.
Искажения
Apple AAC LC называют одним из лучших потребительских AAC кодеков на сегодняшний день. И действительно, он прекрасно держится и проигрывает только технологичному Opus. Но у нас будет ещё одна важная рубрика, посмотрим, как он поведёт себя дальше. Говоря более детально, он хорошо себя показывает на частотах до 3.5 кГц, и до самого потолка, можно сказать, держится наравне с Ogg Vorbis, то слегка выигрывая, то проигрывая.
Ogg Vorbis уже довольно старый формат и на диапазоне самых важных, на мой взгляд, частот от 1 кГц до 4.3 кГц проигрывает всем в степени искажений. Тем не менее, на высоких частотах от 7кГц он с лёгкостью обходит другой ещё более почтенный кодек LAME.
LAME обладает одной из самых низких степеней искажений до 3.5 кГц, затем постепенно сдаёт позиции и проваливается на частотах 6 кГц и выше. Кодек, история которого начинается больше 20 лет назад даже сегодня показывает вполне достойные результаты.
Opus наконец выглядит безусловным фаворитом этой рубрики. Я думаю, вы тоже заметили, что я опускаю рассмотрение искажений на низких частотах, где этот кодек выглядит хуже всех, но, учитывая логарифмическую шкалу и порядки искажений в сотые доли процента, не стоит так сильно упирать на этот момент. Тем не менее, стоит отметить, Opus действительно ведёт себя заметно хуже других кодеков на частотах до 1 кГц, но это примерно 0.04% у других и 0.08% у Opus. Это достаточно низкие показатели в абсолютных величинах. На частотах выше, вплоть до 14 кГц, этому кодеку нет равных, он идёт с большим отрывом, затем ненадолго сравнивается с Apple AAC и снова уходит в отрыв на сверх-высоких частотах выше 16.5 кГц. Стоит сказать, что этот кодек меньше всего «зарезает» сверхвысокие частоты, хотя для среднестатистического человека с обычными наушниками эти частоты уже почти не слышимы.
Скорость кодирования
В этой рубрике кодировщик Ogg Vorbis работал в эмуляторе Wine, поэтому не будем брать в рассмотрение его слабый результат. Могу сказать, что без эмулятора кодировщики Ogg Vorbis весьма и весьма быстрые.
Кодеки отсортированы по скорости декодирования по возрастанию. Тем самым мне хотелось сделать акцент на бытовое применение кодека, так как зачастую именно с этой процедурой сталкиваются потребительские устройства вроде плееров и смартфонов.
Что ж, несмотря на всю свою технологичность, очевидно, что декодирование музыки в формате Opus будет требовать гораздо больших вычислительных ресурсов. Если сравнить с кодеком AAC Apple, то эта разница просто феноменальна и достигает 7 раз!
Что же касается декодеров Ogg Vorbis и LAME, они показывают себя наравне. Хм, здесь очень интересно, насколько оптимальный декодировщик встроен в Spotify, потому что, если результаты их плеера сравнимы с полученными выше, то Apple Music, вероятно, окажется намного более долгоиграющим на одном заряде. Стоит учитывать, что при тестировании использовались оригинальные и референсные декодеры, которые в других реализациях могут показать гораздо более высокие результаты. Впрочем, то же самое можно сказать и про Opus.
Итоги
Очень сложно вынести окончательный вердикт, так как, с одной стороны, Opus и правда справляется со своей задачей намного лучше конкурентов. Но, с другой, он выглядит очень требовательным к ресурсам. Учитывая всё, я думаю, что готов объявить результаты:
Надеюсь, исследование вышло интересным и позволит вам принять правильное решение в выборе подходящего кодека. До новых встреч в новых исследованиях!
Кодирование аудио с потерями: рекомендации по выбору кодера и параметров
Эволюция кодирования аудио
На подходе 2018-й год, а это значит, что с момента появления первого MP3 кодировщика прошла уже почти четверть века (на данный момент даже истёк срок действия патента). Но то что большинство из нас до сих пор продолжает слушать музыку в формате MP3, вовсе не значит, что прогресс всё это время топтался на месте. И это касается не только развития алгоритма кодирования MP3, но и эволюции кодирования аудио с потерями вообще — в виде новых, более совершенных кодеков, действительно позволяющих получить лучшее качество при меньшем размере. Такие форматы, как OGG Vorbis, AAC, WMA, Musepack, давно оставили позади устаревший MP3 с его многочисленными ограничениями и недостатками.
Благодаря стремительному росту объема носителей данных всё большую распространённость обретает кодирование без потерь (lossless), но надо признать, что далеко не все на сегодняшний день успели разжиться парочкой жестких дисков на десяток терабайт, и картами Micro SDHC на сотни ГБ. Ещё одним (пожалуй, решающим) аргументом в пользу кодирования с потерями становится возможность потокового вещания в сети и быстрого обмена музыкой в интернете — не у всех и не всегда под рукой есть 100-мегабитный доступ в интернет.
Итак, возвращаясь к lossy, констатирую: MP3 устарел, и ему определенно созрела замена. Однако, как быть пользователю непосвященному, но желающему добиться максимально качественного звучания с минимальными затратами объемов памяти? Ведь альтернативных кодеков довольно много: Apple продвигает с помощью своего iTunes Store формат AAC (Advanced Audio Coding — позиционируется как преемник MP3), Microsoft — свой собственный лицензируемый WMA (Windows Media Audio), Xiph.Org предлагает нам свободный кодек OGG Vorbis. Кроме того, всё большую распространённость приобретает новый высокотехнологичный формат Opus (например, его уже давно используют сервисы IP-телефонии — Dischord, TeamSpeak и другие). Также не забываем о всё еще не сдающем свои позиции (с 2009-го года) новаторском формате Musepack. Так который из этих кодеков выбрать?
Однозначного ответа на этот вопрос нет — и именно поэтому я пишу эту статью.
Как определиться?
Выбор того или иного кодека зависит от конкретной задачи. А именно:
Таким образом алгоритм примерно следующий:
Подробнее о наших героях
Развитие методов сжатия данных и психоакустики постепенно приводило к тому, что стандарт МР3 стал «тесным» для реализации новых идей в кодировании аудио. В результате, к 1997 году институтом Фраунгофера (Fraunhofer IIS), который в начале 90-х создал МР3, а также компаниями Dolby, AT&T, Sony и Nokia был разработан новый метод компрессии аудио Advanced Audio Coding (AAC), вошедший в стандарты MPEG-2 и MPEG-4. Основными отличиями от стандарта МР3 стали:
Благодаря этим особенностям, стандарт AAC способен достигать более гибкого и эффективного — а значит, и более качественного кодирования звука. В результате широкого распространения формата МР3, непритязательности большинства слушателей к качеству и определёных патентных ограничений, стандарт AAC до сих пор не приобрел сравнимой с МР3 популярности. Тем не менее, AAC является основным форматом в популярном интернет-магазине iTunes Store, плеерах iPod, iTunes, телефоне iPhone, игровых приставках PlayStation 3, Nintendo Wii и в цифровом радиовещании DAB+/DRM (Digital Radio Mondiale сейчас также включает поддержку Opus).
OGG Vorbis
Ogg Vorbis — более новый универсальный формат аудиокомпрессии, официально вышедший летом 2002 года. Психоакустическая модель, используемая в Ogg Vorbis, по принципам действия близка к МР3 и иже с ними, но и только — математическая обработка и практическая реализация этой модели в корне отличаются, что позволяет авторам объявить свой формат совершенно независимым от всех предшественников.
Главное неоспоримое преимущество формата Ogg Vorbis — это его полная открытость и свободность. Более того, в нём использована более новая и качественная психоакустическая модель, из-за чего соотношение битрейт/качество значительно лучше, чем у предшественников.
В формате имеется большое количество достоинств. Например, формат Ogg Vorbis не ограничивает пользователя только двумя аудиоканалами (стерео — левый и правый). Он поддерживает до 225 отдельных каналов с частотой дискретизации до 192 кГц и разрядностью до 32 бит (чего ранее не позволял ни один формат сжатия с потерями), поэтому Ogg Vorbis великолепно подходит для кодирования 6-канального звука DVD-Audio. К тому же, формат OGG Vorbis — sample accurate. Это гарантирует, что звуковые данные перед кодированием и после декодирования не будут иметь смещений или дополнительных/потерянных сэмплов относительно друг друга. Это легко оценить, когда вы кодируете non-stop музыку (когда один трек постепенно входит в другой) — в итоге сохранится целостность звука.
Возможностью потокового вещания сейчас никого не удивишь, но у этого формата она заложена с самых основ. Это дает формату достаточно полезный побочный эффект: в одном файле можно хранить несколько композиций с собственными тегами. При загрузке такого файла в плеер должны отобразиться все композиции, будто их загрузили из нескольких различных файлов.
Отдельно стоит упомянуть достаточно гибкую систему тегов. Заголовок тегов легко расширяется и позволяет включать тексты любой длины и сложности (например, текст песни), перемежающиеся изображениями (например, фотография обложки альбома). Текстовые теги хранятся в UTF-8, что позволяет писать хоть на всех языках одновременно и исключает возможные проблемы с кодировками. Это значительно удобнее различных ухищрений вроде ID3 тегов.
Ogg Vorbis по умолчанию использует переменный битрейт, при этом значения последнего не ограничены какими-то жесткими рамками и он может варьироваться даже на 1 кбит/с. При этом форматом не ограничен и максимальный битрейт, при максимальных настройках кодирования он может достигать 400—700 кбит/с. Такой же гибкостью обладает частота дискретизации — пользователям предоставляется любой выбор в пределах от 2000 Гц до 192000 Гц.
Ogg Vorbis был разработан сообществом Xiph.Org для того, чтобы заменить все платные запатентованные аудиоформаты. Ogg Vorbis довольно скоро получил полную поддержку на всех известных платформах (Windows, Linux, MacOS, Andoroid и др.), а также большое количество аппаратных реализаций.
Windows Media Audio — лицензируемый формат файла, разработанный компанией Microsoft для хранения и трансляции аудиоинформации.
Изначально формат WMA рекламировался как альтернатива MP3, но на сегодняшний день Microsoft противопоставляет ему формат AAC. Номинально формат WMA характеризуется хорошей способностью сжатия, что позволяет ему «обходить» формат MP3 и конкурировать по параметрам с форматами Ogg Vorbis и AAC. Но, как было показано независимыми тестами, а также субъективной оценкой, качество форматов всё-таки не является эквивалентным, а преимущество — даже перед MP3 — однозначным, как это утверждала компания Microsoft.
Musepack
MusePack (mpp, mp+, mpc, MPEG+) — нелицензируемый формат файла для хранения аудиоинформации, распространяемый по GNU General Public License.
Качество кодирования MPC на высоких битрейтах (160 Кбит/с и выше) заметно (если не сказать значительно) выше качества, обеспечиваемого MP3.
Opus — последнее слово в области lossy кодирования аудио. Сочетает в себе новейшие разработки — низколатентный кодек CELT от Xiph.Org и ориентированный на речь кодек SILK, разработанный Skype. Оба эти кодера в значительной степени модифицированы и благодаря этому очень эффективно взаимодействуют. Opus может не только незаметно переключаться между реализациями SILK и CELT, но также и работать в гибридном режиме — когда SILK кодирует диапазон до 8 кГц с линейным предсказанием, а CELT — всё что выше, с использованием МДКП.
Изначально Opus разрабатывался как кодер с очень низкой задержкой (в среднем 22.5 мс) и хорошей устойчивостью к потерям, предназначенный для онлайн трансляций и перформансов. Однако, благодаря основательному подходу разработчиков, Opus оказался достойным соперником для других кодеков и в области сжатия аудио для хранения.
На сегодня независимые тесты показывают однозначное превосходство Opus над всеми другими форматами в районе 64 и 96 кбит/с. Отдельные субъективные тесты также подтверждают превосходство кодека и на более высоких битрейтах (вплоть до 200 кбит/с, обеспечивающих абсолютную прозрачность — киллер-семплы не обнаружены до сих пор).
Opus отличается наиболее совершенной на сегодня психоакустической моделью и непревзойдённой гибкостью битрейта (от 1 до 256 кбит/с на канал, с приращением ±0.4 кбит/с). На сегодня он имеет довольно широкую и постоянно растущую программную поддержку (в частности, уже поддерживается некоторыми плеерами для Android OS).
Подбор формата, кодера и параметров
Теперь непосредственно к сути дела.
Чтобы облегчить вам выбор, я хотел бы поделиться своим опытом, полученным в ходе многочисленных сравнений, прослушиваний, а также на основе анализа результатов открытых слуховых тестов. Ниже я расскажу о наиболее подходящих для каждого отдельного случая кодерах, а также о правильном выборе параметров. Для конвертирования рекомендую использовать foobar2000 (подробно настройка конвертера описана здесь), собственно параметры указаны как раз для него. Кроме того, для foobar2000 есть большое количество полезных DSP, которые могут нам пригодиться для предварительной обработки аудио.
Для тех же, кто собирается конвертировать через консоль или другую программу: переменную %s (или знак «-») надо заменить на имя файла-источника (или аналогичную переменную), а %d — на имя выходного файла.
Обратите внимание, что для каждого диапазона битрейта указаны возможные варианты форматов: первый — самый приоритетный. Если же ваш плеер не поддерживает первый вариант — обратите внимание на следующий, и т. д. Также должен сразу сказать, что кодек WMA (в силу его закрытости и заброшенности разработчиком) особым качеством не отличается, но всё же в большинстве случаев лучше, чем MP3. Учитывая, что некоторые устройства из альтернатив поддерживают только WMA, я буду давать рекомендации для каждого из пяти описанных здесь форматов, включая Windows Media Audio.
Насчет битрейтов: надо понимать, что оптимальным режимом кодирования является т. н. True VBR, т. е. режим с целевым качеством, а не битрейтом. В идеале результатом является трек с переменным битрейтом, но постоянным качеством (не приравнивайте эти два понятия — более сложным фрагментам трека для поддержания качества нужно больше бит). Таким образом битрейт на выходе трудно предсказуем. Потому значения битрейтов ниже указаны только как примерные, по возможности — средние для большого количества композиций различной сложности.
Сверхнизкие битрейты (
Этот диапазон подходит для кодирования аудиокниг:
1) Это как раз один из случаев, для которых разрабатывался Opus:
2) Если поддержки Opus нет, то вот подобранная мною комбинация настроек Nero AAC:
при этом материал должен быть предварительно преобразован в моно и ресемплирован до частоты 22050 Гц (желательно, ресемплером SoX). На выходе получим обычное Low Complexity AAC с битрейтом около 25 кбит/с.
Для музыки в этом диапазоне тоже есть варианты:
1) Nero AAC. Тут никаких преобразований не нужно:
На выходе — High Efficiency AAC v2 (с параметрическим стерео и синтезом ВЧ),
35 кбит/с. Прекрасный вариант для интернет-радио и низкой пропускной способностью канала. Только тут надо не забывать, что декодер в плеере должен поддерживать HE-AACv2, иначе получите полное отсутствие ВЧ и монофонию.
2) Opus — довольно приличное звучание с полным и естественным (без синтеза, как у AAC) частотным диапазоном и стереопанорамой (благодаря чему он может звучать лучше на некоторых композициях).
3) OGG Vorbis AoTuV — чуть более сильные искажения, чем у Opus и частотный диапазон, обрезанный до 13 кГц. Командная строка:
Полученные таким образом файлы должны быть полностью совместимы со стандартными декодерами OGG Vorbis. Битрейт — аналогичный, около 35 кбит/с.
4) WMA 10 Pro. Для таких случаев у Microsoft тоже есть что-то наподобие SBR (синтез ВЧ), звучит не так плохо, как могло бы. Правда битрейт чуть выходит за рамки — 48 кбит/с.
Учтите, что старые (особенно «железные») декодеры не поддерживают WMA 10. Для такого случая можно использовать WMA 9.2 (кодер тот же), правда, его качество на низких битрейтах значительно хуже.
Низкий битрейт,
1) Opus — однозначный лидер на 64 кбит/с.
Обеспечивает натуральное кодирование как частотного диапазона, так и стереопанорамы, с вполне приемлемым уровнем искажений.
На выходе имеем HE-AAC (с SBR, но без Parametric Stereo).
3) OGG Vorbis AoTuV — хоть и оказался довольно далеко от QAAC, но всё же:
4) И на всякий случай WMA 10 Pro:
Для старых декодеров — WMA 9 Standard:
Чуть выше,
1) Как показали тесты, лучше всего с этим битрейтом справляется кодер Opus:
Стандарт де-факто, 128 кбит/с
Многие утверждают, что для MP3 128 кбит/с — «пограничный битрейт», с которого начинается неотличимое от оригинала качество, однако на самом деле это справедливо только для несложного материала (с не слишком широкой стереопанорамой, низким уровнем ВЧ и без транзиентов). Реально же, для подавляющего большинства треков, этот порог находится где-то около 200 кбит/с, причём новые форматы дают на этом битрейте более стабильное качество.
Современным кодерам эту планку в 128 кбит/с удалось занизить чуть ли не в два раза (опять же, по заявлениям разработчиков). Но, тем не менее, если у вас более-менее приличная акустика (или наушники), на сложных фрагментах разницу можно уловить и при 128 кбит/с.
Для старых декодеров — WMA 9 Standard:
В этом диапазоне разница межу кодерами AAC и Vorbis практически сходит на нет. Но здесь уже на сцену выходит Musepack. Как раз на этих битрейтах начинает проявляться его преимущество (за счет принципиально другого алгоритма сжатия). Что касается соперничества Musepack с Opus — в данном диапазоне битрейтов они находятся примерно на одном уровне качества. Однако в пользу Opus говорит его увеличивающаяся программная поддержка и перспективы дальнейшей разработки.
Порог прозрачности:
При этом битрейте практически все кодеры дают прозрачный для большинства слушателей звук. И именно этот диапазон является оптимальным в плане размер/качество.
Кстати, возвращаясь к MP3 (LAME): как я уже говорил, в этом районе (VBR V2) у него также находится определённый порого прозрачности, но у LAME MP3 очень большие проблемы с пре-эхом (искажения, предшествующие резким всплескам сигнала), а на слух часто ощущается Noise Shaping (шумы от ошибок квантования таким образом переносятся в высокочастотную область).
У таких же кодеков, как Vorbis, AAC и MPC, на этом пороге начинается четкая прорисовка в композициях даже фоновых шумов. Для Opus это порог абсолютной прозрачности, для которого я пока не смог найти киллер-семплов.
WMA 9 Standard, максимальный битрейт воспринимаемый старыми декодерами:
Разумный максимум:
Должен обратить ваше внимание: после
225 кбит/с повышение битрейта чаще всего уже не дает слышимого прироста качества, а размер файлов, естественно увеличивается. Но всё же, для особенно сложных композиций (и хорошей аппаратуры/ушей) существуют более высокие настройки качества. На этих битрейтах для таких кодеров как Musepack, Vorbis и Opus мне даже не удалось найти киллер-семплов (проблемные семплы, на которых явно проявляются недостатки алгоритма кодирования). Итак:
Опережая ваши вопросы: да, для некоторых из этих кодеров существуют и более высокие настройки качества, но дальнейшее их повышение уже не имеет никакого смысла. Разве что вам действительно не важен объем занимаемой музыкой памяти, а поддержкой lossless ваше устройство не располагает.
Информация от спонсора
Shift+7: доступные ответы на ваши вопросы. На нашем сайте вы сможете узнать, как сделать правильный выбор фотоаппарата. В статье рассматривается несколько вариантов бюджета, а также важнейшие характеристики, на которые следует обращать внимание.
Opus и MP3: вместо или вместе?
В Сети все чаще можно встретить упоминание нового аудиокодека под названием Opus. Уже достоверно известно, что в скором времени он будет применен в очередной версии Skype, а в дальнейшем может даже вытеснить из употребления формат MP3. То есть Opus предельно универсален – он в равной степени успешно кодирует человеческий голос для передачи посредством VoIP и компрессировать музыку, создавая небольшие, но качественно звучащие аудиофайлы. То есть выполняет, по сути, противоположные задачи.
Два десятка лет назад появление кодека MP3 стало настоящей революцией в сфере хранения и передачи звука. Формат аудиофайлов MP3 быстро стал стандартом для Сети, а в дальнейшем был реализован в самых разных компьютерных устройствах – от смартфонов и портативных медиаплееров до DVD-плееров, наручных часов и прочей бытовой электроники.
Но в чем секрет долголетия MP3? Ведь мы понимаем: компрессия звука при помощи MP3 – это кодирование с потерями. То есть неизбежное ухудшение качества звука. Однако практика показала: слух у большинства людей не настолько «музыкальный», чтобы почувствовать искажения, возникающие при компрессии. Особенно если выставлен «щадящий» битрейт – 128 кбит/с или выше.
В формате MP3 используется алгоритм сжатия с потерями, разработанный для существенного уменьшения размера данных, необходимых для воспроизведения записи и обеспечения качества воспроизведения звука очень близкого к оригинальному (по мнению большинства слушателей), хотя, конечно, меломаны говорят о заметном различии. Однако при создании MP3 со средним битрейтом 128 кбит/с в результате получается файл, размер которого составляет примерно 1/11 от оригинального файла с CD-Audio. Именно этот факт открыл музыке в формате MP3 дорогу в Сеть.
Конечно, для привычного MP3 давно созданы альтернативы – FLAC, APE и другие алгоритмы компрессии аудиоданных с возможностью идентичного восстановления волновой формы после декодирования. Однако тут приходится учитывать, что форматы кодирования звука с потерями (тот же MP3 и его аналоги) используются не только для обмена музыкой в Сети и хранения ее на компьютере, но и для передачи голоса через Интернет. И в этой сфере главный козырь MP3 и других алгоритмов сжатия с потерями – максимально эффективное использование каналов передачи данных.
Дело в том, что разработчики любой программы (или онлайн-сервиса) для IP-телефонии стараются обеспечить внятную передачу речи для как можно большего числа абонентов – ведь те же Скайп-конференции невероятно популярны. Соответственно, качество звука уходит на второй план – вполне достаточно «телефонного» качества, которое, безусловно, бесконечно далеко от требований для музыки.
Зато в случае с VoIP-программами принципиально важна возможность декодирования звукового потока в реальном времени – иначе обмен информацией между собеседниками окажется затруднительным. То есть любое использование алгоритмов сжатия без потерь приводило бы к заметным задержкам во времени, что сделало бы невозможным всякое интерактивное общение.
Однако же и MP3 не совершенен и не так уж пригоден для общения через VoIP. Низкий битрейт «съедает» детали звука, одновременно наделяя его целым набором неприятных артефактов – призвуками, свистом и звоном, разного рода искажениями. Также при использовании MP3 в IP-телефонии могут случаться заметные временные задержки из-за необходимости дополнительной буферизации данных.
Во многом именно поэтому, к примеру, в Skype используются кодеки SILK (8-24 кГц), G.729 (8 кГц) и G.711 (ранее использовались также ILBC и ISAC). Благодаря им при достаточной скорости интернет-соединения (30-60 кбит/с) в большинстве случаев качество звука сопоставимо с качеством обычной телефонной связи, а при хороших условиях соединения заметно лучше. Но кодеки Skype, в отличие от MP3, совершенно непригодны для хранения и передачи музыки.
Одним словом, в какой-то момент оказался востребован универсальный кодек, который бы мог одинаково хорошо «утаптывать» как музыку для хранения на ПК и передачи по Сети, так и человеческую речь для VoIP-сервисов.
В латыни слово «Opus» означает «работа» или «дело». В нашем обзоре Opus (ранее известный под рабочим названием Harmony) – это аудиокодек с потерями, разработанный сообществом Internet Engineering Task Force (IETF) специально для применения в приложениях реального времени в Интернете. Является открытым форматом, стандартизованным в RFC 6716, a эталонная реализация распространяется под лицензией BSD. Все известные патенты, под которые попадает кодек Opus, доступны под лицензией royalty-free. Формат битового потока был зафиксирован 8 января 2012 года.
Основное преимущество данного кодека – низкая задержка кодирования (от 2,5 мс до 60 мс, настраиваемо), более высокая компрессия аудиоданных, поддержка многоканального звука (до 255 каналов). Первой поддержку Opus обеспечила компания Mozilla в своих программах Firefox и Thunderbird – с 15-й версии обоих продуктов. Позднее было объявлено, что Skype перейдет на Opus в одной из ближайших версий.
Основные параметры Opus:
— дискретизация от 8 до 48 кГц;
— битрейт от 6 до 510 кбит/с;
— поддержка режимов постоянного и переменного битрейта;
— задержка кодирования от 2,5 до 60 мс, настраиваемо.
По мнению большинства специалистов в области цифрового звука, существующий сейчас в альфа-версии 1.1 открытый кодек Opus избавлен он наиболее серьезных недостатков MP3, но при этом его разработчикам удалось сохранить и приумножить все достоинства кодека-«ветерана».
В числе разработчиков нового алгоритма сжатия звука – несколько очень известных специалистов, в числе которых: Жан-Марк Валин (Xiph.Org, Octasic, Mozilla Corporation), Коэн Вос (Skype) и Тимоти Б. Терриберри (Xiph.Org, Mozilla Corporation). Значительную поддержку при разработке и тестировании кодека оказала корпорация Google, что вполне понятно: интернет-гигант заинтересован в Opus, так как развивает ряд собственных проектов в области IP-телефонии – от мессенджера Google Talk и сервиса Google Voice до VoIP-функционала в устройствах линейки Google Nexus и мобильной ОС Android.
Такой серьезный подход и состав разработчиков позволил создать кодек, структура которого позволяет эффективно справляться со звуковыми артефактами. В частности, для этого используется многоступенчатая архитектура обработки аудиосигнала. Но главное – в движке кодека Opus в равной мере использованы два независимых стандарта – они предложены, соответственно, Xiph.Org Foundation и Skype Technologies. В результате новый кодек оказался гибридным решением, которое сочетает в себе технологии кодеков CELT (Constrained Energy Lapped Transform) и SILK, уже знакомый нам по реализации связи в Skype. Поступивший сигнал кодируется SILK или CELT избирательно.
Как несложно догадаться, движок SILK используется для компрессии голоса, то есть, по сути, почти всегда в тех случаях, когда требуется эффективно использовать пропускную способность канала связи. В данном случае кодек начинает обработку аудиосигнала с того, что анализирует его на предмет наличия человеческой речи. Голосовые составляющие отделяются от прочих звуков, после чего кодек производит анализ частотной характеристики звука, понижая уровень дискретизации для данных, содержащих голосовую информацию, то есть для речи. Далее Opus исследует присутствующие шумы и оптимизирует сигнал для определенного битрейта.
На следующем этапе кодек преобразует сигнал с помощью фильтра предварительной очистки – напомню, все это происходит в режиме реального времени! Используя речевые кадры, модуль предсказания частоты аудиосигнала вносит изменения в последующие кадры, после чего частотное квантование нормирует частоты человеческой речи.
На третьем этапе обработки звука из сформированного сигнала устраняются искажения, которые неизбежно возникают при недостаточно высоком битрейте. После этого подключается модуль формирования шума квантования, который снижает шумы внутри рабочей полосы, вытесняя их за пределы рабочего диапазона.
Ну и на заключительном, четвертом этапе интервального кодирования SILK работает с дискретными величинами, которые могут принимать ограниченное число значений, – производится покадровый вывод сигнала.
Если же Opus приходится кодировать аудиоданные с высоким качеством, такие как музыка, то в дело вступает модуль CELT. Механизм его работы похож на принцип работы большинства кодеков с потерями – он завязан на дискретные косинусные преобразования, а также на «оптимизацию» звука. Ее суть состоит в том, что из сигнала удаляются составляющие, которые не несут полезной нагрузки для слуха человека, – до кодирования он их или не слышит, или слышит с большим трудом.
В программах, в которых предусмотрено управление настройками кодирования, новый кодек предлагает пользователю выбрать режим сжатия – речь или музыку. Эта настройка и определяет приоритет того или иного алгоритма кодирования Opus.
Как я уже указывал, Opus поддерживает частоты дискретизации от 8 до 48 кГц, а кодирование звука возможно в диапазоне битрейта от 6 до 510 кбит/с. Длительность кадров варьируется от 2,5 до 20 мс. Кодек осуществляет кодирование в режимах моно и стерео, используя технологию постоянного и переменного битрейта, а также поддерживает компрессию до 255 каналов.
Благодаря своей гибридной структуре Opus получил универсальность, которая позволила этому кодеку на невысоком битрейте обойти по качеству и параметрам задержки своих главных конкурентов – Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC. Результаты разнообразных тестов показывают, что аудиосигнал, декодированный при помощи Opus, в большинстве случаев наиболее полно восстанавливает исходную картину звука – на разных битрейтах и на разной частоте.
Специалисты также отмечают стабильность работы нового кодека в разных условиях, что оказывается особенно важным при передаче данных в беспроводных сетях. Opus обладает гибким алгоритмом адаптации к изменению пропускной способности канала связи, поэтому качество звука остается неизменным, а сам кодек частично компенсирует потери, обеспечивая трансляцию без сбоев.
Резюме: перспективы Opus
Хотя сейчас мы имеем дело еще только с альфа-версией кодека, специалисты уже пророчат Opus большое будущее. Низкий уровень искажений, а также минимальные по сравнению с конкурирующими алгоритмами временные задержки – все это делает Opus идеальным для использования в сфере IP-телефонии и трансляции речи через Сеть.
Уже объявлено, что поддержка Opus появится в следующих версиях альтернативной прошивки для портативных аудиоустройств Rockbox. Это означает, что пользователи смогут слушать музыку и аудиокниги на плеерах iPod, Archos и прочих. На портативных устройствах под управлением Android также можно будет слушать аудио через Rockbox, установив соответствующее приложение RaaA (Rockbox as an Application).
Конечно, без проблем также не обойдется – у Opus имеются достаточно сильные конкуренты. Сам же кодек (напомню, речь еще идет об альфа-версии) еще не избавился от всех багов. В конце концов, он только в сентябре 2012-го смог пройти сертификацию в IETF (Internet Engineering Task Force) как стандарт аудиокодека для использования в Интернете.
Впереди же, как принято в IT-индустрии, – многочисленные патентные претензии и судебные иски. Одна из причин – тот факт, что Opus изначально имеет статус royalty-free, то есть за его использование не нужно платить никаких отчислений правообладателям. Понятно, что многим конкурентам невыгодно появление на рынке такого продукта.
И в самом деле: компании Qualcomm и Huawei уже заявили о том, что новая разработка нарушает принадлежащие им патенты. В ответ разработчики Opus публично заявили, что они не нарушили авторских прав и более того – они ожидали появления подобных претензий и готовы отстаивать свою правоту. Впрочем, если юридическую поддержку группе разработчиков Opus обеспечит Google, за будущее кодека можно будет не беспокоиться.
Другой вопрос – какую долю рынка в конце концов займет Opus? Формат МР3 все же слишком популярен, чтобы пользователи легко от него отказались. Вряд ли кто-то возьмется переводить свою домашнюю коллекцию музыки из МР3 в Opus только из-за малоощутимого улучшения качества звука.
Другое дело – разработчики решений для VoIP и производители разнообразных гаджетов. Последние обеспечат аппаратную поддержку Opus, ведь основные показатели у нового кодека столь хорошие, что в скором времени наверняка можно ожидать появления новой технологии в беспроводных наушниках и портативных плеерах.
На официальном сайте Opus сказано буквально следующее: «Кодек может использоваться для любых целей, за исключением Lossless-сохранения (для этого используйте FLAC) и за исключением кодирования с ультранизким битрейтом (для этого используйте codec2)».