Кодек OPUS

Материал из wiki.sipnet.ru
Перейти к: навигация, поиск

OPUS: Универсальный аудиокодек нового поколения

Попытки создать универсальный аудиокодек предпринимаются давно. Но до последнего момента это приводило лишь к появлению на рынке еще одного продукта, а не универсала, который бы объединял сильные стороны конкурирующих решений. Кроме этого, многие удачные решения распространялись под лицензиями, требующими отчислений – роялти. Ситуация изменилась с появлением OPUS – решения нового поколения, разработанного при поддержке лидеров индустрии и открывающего новые горизонты для IP-телефонии и не только.

Слово "кодек" происходит от пары английских слов "кодер/декодер". Кодеки применяются при передаче, хранении или шифровании данных. Очень часто задачей кодека является уменьшение объема передаваемого трафика (при коммуникациях в режиме реального времени) или размера файла (при хранении данных). При передаче голоса кодеки используются повсеместно. Если канал низкого качества - можно получить приемлемое качество связи, в случае хорошего канала – отличный звук высокого разрешения, при этом объем потребляемого трафика будет существенно ниже, чем при работе с несжатым звуковым материалом. Современные кодеки могут адаптироваться под «ширину» канала в реальном времени.

Актуальной проблемой создателей кодеков для IP-телефонии было требование к скорости кодирования. Это необходимо для сохранения комфорта ведения беседы. Очень хорошим показателем считается время доставки голосовой информации менее 200 мс (0,2 сек). В этом случае комфорт ведения беседы будет таким же, как и у людей, сидящих напротив друг друга. Но за это время информацию нужно кодировать, затем передать абоненту, а после декодировать «обратно». Широко известный архивный аудиокодек MP3, например, обеспечивает задержку более 200 мс без учета времени передачи данных. Для коммуникаций в реальном времени требуются существенно более низкие цифры.

Кодек OPUS

Кодек OPUS, разработанный сообществом IETF, является продуктом нового поколения, созданным специально для IP-телефонии и других задач передачи звука в реальном времени. OPUS представляет собой открытый формат, стандартизованный в RFC 6716 и может быть использован разработчиками бесплатно. Отметим, что участие в стандартизации решения принимали сотрудники Skype и инженеры других ведущих корпораций. Но самое важное – выдающиеся характеристики решения. Переменный битрейт от скромных 6 до внушительных 510 кбит/с, в сочетании с настраиваемой задержкой кодирования от 2,5 до 60 мс. Большинство параметров работы OPUS можно менять без прерывания потока, то есть прямо «на лету». Это особенно полезно в случае работы в публичных беспроводных сетях, а также каналов, одновременно используемых большим количеством пользователей.

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

Opus comparison.png

На приведенном графике можно видеть превосходство OPUS над прочими решениями как по универсальности (от хорошего качества связи в VoIP-приложениях при низком битрейте до передачи потокового HD-стереозвука на широкополосных каналах при использовании одного решения), так и по скорости кодирования сигнала. Красные линие - коммерческие решения с закрытым исходным кодом, синие - бесплатные решения с закрытым кодом, зеленые - свободное ПО). Нельзя не упомянуть и вытекающее из свободного статуса кодека и преимущество по цене. За кодек G.729, бывший ранее "царем горы" на медленных и нестабильных каналах, включая 3G/4G (особенно в России), разработчики должны были отчислять роялти, поэтому во многих приложениях G.729 был доступен за отдельную плату.

Универсальность OPUS обеспечивается его внутренней архитектурой. По сути, решение представляет из себя...два кодека в одной упаковке. Один из них, CELT, является разработкой Xiph.org и применяется для кодирования музыки либо других "сложных" звуков, отличных от голоса. Другой, SILK, представляет собой разработку Skype и применяется для кодирования именно речевого сигнала, выделяя его из общего звукового потока. Первый, естественно, расходует полосу пропускания менее эффективно, но позволяет получить "на другой стороне" почти студийное качество звука. А SILK, напротив, оптимизирован для речи и не требует большой полосы пропускания. Подробнее с техническими аспектами работы OPUS можно ознакомиться на сайте разработчика.

Quality.png

Данный график - сравнение популярных аудиокодеков по качеству звука при различных значениях битрейта. На практике такая картина на графике это означает то, что для восстановления звука с таким же качеством, как и у конкурирующих решений, кодеку OPUS потребуется меньшая полоса пропускания. Обратите внимание – кодек реального времени OPUS опережает «архивный» MP3 по требованию к битрейту при равном качестве!

Подробнее о кодеке OPUS можно ознакомиться в Wikipedia.

Восстановление данных в случае потерь на плохих каналах

Несмотря на то, что качество каналов и проникновение ШПД с каждым годом улучшаются, проблема плохих каналов и сопутствующих потерь при передаче информации в реальном времени, не теряет своей актуальности. Восстановление потерянной информации является одной из приоритетных задач разработчиков кодеков для коммуникаций реального времени в Интернет. Кодек OPUS использует стандартизованную методику FEC (Forward Error correction), применяемую для исправления сбоев и ошибок при передаче данных, путём передачи избыточной служебной информации, на основе которой может быть восстановлена первоначальное содержание посылки.

Производительность на различных архитектурах

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

OPUS в Sippoint и других программных телефонах

Российский программный телефон Sippoint от SIPNET развивается вместе с развитием технологий. И теперь, в новой версии, телефон получил поддержку OPUS - кодека, обеспечивающего недостижимый ранее уровень качества передачи голоса, а также возможностью работы на плохих каналах связи. Для использования кодека OPUS в Sippoint в настройках программы перейдите в раздел Codecs, выберите OPUS и с помощью указанной на скриншоте кнопки переместите кодек на первое место в списке приоритетности.

Opus sippoint.png

Поддержкой OPUS также могут похвастаться иные программные телефоны, в том числе: CounterPath BRIA, CSipSimple и ряд других. По мнению экспертов SIPNET, поддержка кодека со стороны разработчиков VoIP-приложений будет расти.

Заключение: новый стандарт для IP-телефонии

Всё хорошее быстро заканчивается? В случае с кодеками – наоборот. Еще раз вспомним о MP3. Первые кодировщики появились аж в 1994 году, а кодек имеет повсеместное распространение по сей день. У открытого и бесплатного OPUS есть все шансы не только закрепиться в нише кодеков для коммуникаций в реальном времени, но и стать её единоличным властителем - новым и, возможно, единственным стандартом для VoIP. В ближайшем будущем стоит ожидать захвата кодеком господства на большинстве аппаратных устройств. Тому есть несколько причин. Во-первых, это полная бесплатность кодека для разработчиков, он может быть использовать в т.ч. и в коммерческих решениях. Во-вторых, OPUS обеспечивает большую близость к оригиналу против конкурентов на аналогичном канале связи. В-третьих, кодек является абсолютно универсальным. Последнее и самое важное - кодек еще на стадии разработки получил поддержку ключевых игроков индустрии, включая Google, Skype и других корпораций. Фактические, кодек изначально рассматривался в качестве нового стандарта для передачи звука в Интернет. Но каким бы не было будущее кодеков, в одном вы можете быть уверены – SIPNET продолжит использовать в своих разработках только лучшие решения. Следите за выходом новых версий российского программного телефона Sippoint.