Opus (кодек)

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

Opus logo2.svg

Opus logo2.svg

Расширение

.opus

MIME-тип

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

Разработчик

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

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

1.1 / 5 декабря 2013[3]

Тип формата

аудиоформат

Содержится в

Ogg, Matroska

Расширен из

SILK, CELT

Стандарт(ы)

RFC 6716[4]

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

Да

Сайт

opus-codec.org[5]

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

В 2011 году Яном Скёглундом из Google были проведены две серии тестов[16] [17], в ходе которых было проведено сравнение кодирования и декодирования в Opus на основе оценки группы экспертов и неподготовленных слушателей.

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

4 февраля 2013 года была анонсирована новость[18] о сеансе видеосвязи напрямую между браузерами 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[19][20]. Аудиоформат Opus поддерживают GStreamer, FFMpeg, foobar2000, K-Lite Codec Pack, LAVfilters, VLC player(начиная с 2.0.4). Анонсированы работы по поддержке Opus в голосовом чате Mumble и прошивке для аудиоплееров Rockbox.

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

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

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

  • opus-codec.org — официальный сайт Opus (кодек)

[6] [7]

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

  1. Несмотря на то, что Теорема Котельникова лимитирует полосу пропускания половиной частоты дискретизации, Opus не кодирует аудио выше чем 20КГц, общепринятым порогом человеческого восприятия звука.

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

  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 CodecInternet Engineering Task Force. Проверено 25 сентября 2013.
  6. 1 2 Opus Codec. Opus. Xiph.org Foundation. Проверено 20 ноября 2012. Архивировано из первоисточника 24 ноября 2012.
  7. 1 2 Newly standardized Opus audio codec fills every role from online chat to music | Ars Technica
  8. Media formats supported by the HTML audio and video elements — MDN
  9. Skype переходит на аудиокодек Opus с «кристально чистым звуком»
  10. https://wiki.xiph.org/OpusFAQ#How_is_supporting_Opus_different_from_supporting_Speex.2FG.711.2FMP3.3F
  11. Raymond Chen et al. Opus Testing. IETF 80
  12. Maxwell, Greg 64kbit/sec stereo multiformat listening test - unofficial results page. Xiph.org Foundation (2011). Проверено 19 июня 2011. Архивировано из первоисточника 29 сентября 2012.
  13. Bunkus, Moritz MKVToolNix v6.4.0 released. Список рассылки Matroska users (16 сентября 2013). Проверено 24 декабря 2013.
  14. http://www.smpte-ra.org/mpegreg/Opus.html
  15. http://www.mp4ra.org/codecs.html
  16. https://www.opus-codec.org/comparison/GoogleTest1.pdf
  17. https://www.opus-codec.org/comparison/GoogleTest2.pdf
  18. https://hacks.mozilla.org/2013/02/hello-chrome-its-firefox-calling
  19. http://datatracker.ietf.org/doc/draft-ietf-rtcweb-audio/
  20. http://www.h-online.com/open/news/item/Google-proposes-VP8-and-Opus-for-WebRTC-standard-1656527.html
  21. https://datatracker.ietf.org/ipr/1520/
  22. https://datatracker.ietf.org/ipr/1712/
  23. https://hacks.mozilla.org/2012/09/its-opus-it-rocks-and-now-its-an-audio-codec-standard/comment-page-1/#comment-1798071