Opus (кодек)

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск
Opus

Opus logo2.svg

Расширение

.opus

MIME-тип

audio/opus[1] audio/ogg [2]

Разработчик

рабочая группа IETF по кодекам

Последний выпуск

1.1.3 / 15 июля 2016[3]

Тип формата

аудиоформат

Содержится в

Ogg, Matroska, WebM

Расширен из

SILK, CELT

Стандарт(ы)

RFC 6716[4]

Открытый формат?

Да

Сайт

opus-codec.org[5]

Opus (ранее Harmony) — аудиокодек для сжатия с потерями, разработанный сообществом Internet Engineering Task Force (IETF) специально для применения в приложениях реального времени в Интернете[6] . Является открытым форматом, стандартизованным в RFC 6716, a эталонная реализация распространяется под трёхчастной лицензией BSD. Все известные патенты, под которые подпадает новый кодек Opus, доступны под лицензией royalty-free[6].

Основное преимущество данного кодека — низкая задержка кодирования (от 2,5 до 60 мс, настраиваемо), более сильное сжатие аудиоданных, поддержка многоканального звука (до 255 каналов).

Формат битового потока был зафиксирован 8 января 2012 года.

Поддерживается в разработанных Mozilla программах Firefox и Thunderbird с 15 версии[7]. Также Opus используется в Skype[8].

Основные возможности[править | править вики-текст]

Основные возможности Opus:

  • Возможна дискретизация от 8 до 48 кГц[9];
  • Битрейт от 6 до 510 кбит/с[10];
  • Поддерживаются режимы постоянного и переменного битрейта;
  • Задержка кодирования от 2,5 до 60 мс, настраиваемо;
  • Существуют реализации, использующие арифметику либо с фиксированной запятой, либо с плавающей запятой;
  • Многие параметры (практически, все, за исключением частоты дискретизации и числа каналов) можно менять «на лету», без переинициализации и, следовательно, прерывания потока;
  • При потере блока (например, при передаче посредством UDP) возможна попытка восстановления сигнала.
  • Не является обязательной синхронизация настройки частоты дискретизации между кодером и декодером. Рекомендуется настраивать частоту дискретизации при декодировании исходя из вычислительной мощности[11].

Opus продемонстрировал высокое качество[12] на битрейте 64 кбит/с по сравнению с Apple HE-AAC, Nero HE-AAC, Vorbis и AAC LC.[13]

Частота дискретизации[править | править вики-текст]

Поддерживаемые частоты дискретизации были определены в RFC 6716RFC:[4]

Сокращение Полоса пропускания звука, кГц Эффективная частота дискретизации, кГц
NB (narrowband) 4 8
MB (medium-band) 6 12
WB (wideband) 8 16
SWB (super-wideband) 12 24
FB (fullband) 20[14] 48

Контейнеры[править | править вики-текст]

Звуковые данные кодека могут быть упакованы в контейнер Ogg. Содержимое такого Ogg Opus потока должно быть определено как audio/ogg; codecs=opus с рекомендованным расширением файла .opus.[2] Поддержка упаковки в контейнеры Matroska была реализована в MKVToolNix.[15] Opus также является зарегистрированным форматом MPEG-TS[16] и контейнеров MP4[17].

Ключевые особенности[править | править вики-текст]

Сравнение с аналогами[править | править вики-текст]

В 2011 году Яном Скёглундом из Google были проведены две серии тестов[18][19], в ходе которых было проведено сравнение кодирования и декодирования в Opus на основе оценки группы экспертов и неподготовленных слушателей. По его выводам, для стерео-музыки Opus при 64 кбит/20 мс, 80 кбит/10 мс и 128 кбит/5 мс дает такое же качество, как MP3 96 кбит, AAC-LC 64 кбит и лучшее качество, чем G.719 64 кбит.

История появления[править | править вики-текст]

4 февраля 2013 года была анонсирована новость[20] о сеансе видеосвязи напрямую между браузерами Mozilla Firefox Nightly и Google Chrome Beta 25. Этот сеанс анонсировал поддержку обоими браузерами стандарта WebRTC, на основе которого и был совершен сеанс. Соединение осуществлялось с помощью дополнения RTCPeerConnection. Для передачи звука и видео используются свободные кодеки Opus и VP8, для шифрования — DTLS-SRTP, для поддержки NAT — ICE.

Использование[править | править вики-текст]

Черновик стандарта WebRTC «WebRTC Audio Codec and Processing Requirements» от 15 октября 2013 года содержит требование поддержки клиентами форматов Opus и G.711[21][22].

Аудиоформат Opus поддерживают такие приложения, как PotPlayer, GStreamer, FFMpeg, foobar2000, K-Lite Codec Pack, LAVfilters и VLC player (начиная с 2.0.4). Анонсированы работы по поддержке Opus в голосовом чате Mumble и прошивке для аудиоплееров Rockbox.

Патентные претензии[править | править вики-текст]

Компании Huawei и Qualcomm предъявили[23][24] претензии о нарушении собственных патентов, которые затем были отвергнуты как несостоятельные[25].

Примечания[править | править вики-текст]

  1. Network Working Group. RTP Payload Format and File Storage Format for Opus Speech and Audio Codec. Opus codec. IETF (July 4, 2011). Проверено 26 октября 2011. Архивировано из первоисточника 29 сентября 2012.
  2. 1 2 Ogg Encapsulation for the Opus Audio Codec. IETF (28 апреля 2015). Проверено 30 июня 2015.
  3. Opus Codec
  4. 1 2 Definition of the Opus Audio Codec (11 сентября 2012). Проверено 21 июня 2014.
  5. Valin J., Vos K., Terriberry T. B. Definition of the Opus Audio Codec Internet Engineering Task Force.
  6. 1 2 Newly standardized Opus audio codec fills every role from online chat to music | Ars Technica
  7. Media formats supported by the HTML audio and video elements — MDN
  8. Skype переходит на аудиокодек Opus с «кристально чистым звуком»
  9. Opus Codec. opus-codec.org. — «Sampling rates from 8 kHz (narrowband) to 48 kHz (fullband)»  Проверено 12 марта 2016.
  10. Opus Codec. opus-codec.org. — «Bitrates from 6 kb/s to 510 kb/s»  Проверено 12 марта 2016.
  11. OpusFAQ — XiphWiki
  12. Raymond Chen et al. Opus Testing. IETF 80
  13. Maxwell, Greg 64kbit/sec stereo multiformat listening test - unofficial results page. Xiph.org Foundation (2011). Проверено 19 июня 2011. Архивировано из первоисточника 29 сентября 2012.
  14. Несмотря на то, что Теорема Котельникова лимитирует полосу пропускания половиной частоты дискретизации, Opus не кодирует аудио выше чем 20 кГц, общепринятым порогом человеческого восприятия звука.
  15. Bunkus, Moritz MKVToolNix v6.4.0 released. Список рассылки Matroska users (16 сентября 2013). Проверено 24 декабря 2013.
  16. SMPTE Registration Authority, LLC Registrations
  17. The 'MP4' Registration Authority
  18. https://www.opus-codec.org/comparison/GoogleTest1.pdf
  19. https://www.opus-codec.org/comparison/GoogleTest2.pdf
  20. Hello Chrome, it’s Firefox calling!
  21. draft-ietf-rtcweb-audio-08
  22. Google proposes VP8 and Opus for WebRTC standard
  23. IPR Details — Qualcomm Incorporated’s Statement about IPR related to draft-ietf-codec-opus-05
  24. IPR Details — Huawei Technologies Co.,Ltd’s Statement about IPR related to draft-ietf-codec-opus-11
  25. It’s Opus, it rocks and now it’s an audio codec standard!

Ссылки[править | править вики-текст]