Opus Interactive Audio Codec

Un article de Wikipédia, l'encyclopédie libre.
Aller à : Navigation, rechercher
Opus
Image illustrative de l'article Opus Interactive Audio Codec

Extension .opus
Type MIME audio/opus[1]
Développé par Groupe de travail IETF codec
Type de format Audio
Contenu par Ogg, Matroska
Extension du SILK, CELT
Standard(s) Oui, RFC 6716[2]
Spécification Format ouvert
libopus
Développeur Xiph.org
Première version 26 août 2012
Dernière version 1.0.1 (26 septembre 2012)
Écrit en C89
Environnement Multiplate-forme
Type Format audio, reference implementation
Licence 3-clause BSD license
Site web opus-codec.org/downloads/

Opus (à l'origine Harmony[3]) est un format ouvert de compression audio avec pertes, libre de redevances, développé par l'Internet Engineering Task Force (IETF) dans le but d'être utilisé par des applications interactives sur Internet[4].

Opus est la proposition, en format standard, acceptée dans la compétition codec de l'IETF pour un "nouvel Internet à large bande audio", actuellement en développement par le groupe de travail IETF codec. Il est basé sur deux propositions standards, initialement séparées, de la Fondation Xiph.org et Skype Technologies : respectivement le codec CELT, à faible temps de latence, et le codec SILK, orienté sur la communication à distance.

Ses principaux développeurs sont Jean-Marc Valin (Xiph.org, Octasic, Mozilla Corporation), Koen Vos (Skype Technologies) et Timothy B. Terriberry (Mozilla Corporation). Raymond Chen (Broadcom), Gregory Maxwell (Xiph.org) et Christopher Montgomery (Xiph.org), entre autres, ont également participé.

Sommaire

Historique [modifier]

L'IETF a validé ce standard le 10 septembre 2012[5][6].

Technique [modifier]

Comparaison de la plage de latence en fonction du débit binaire pour différents formats.
La qualité en fonction du débit binaire pour différents formats.

Ce codec utilise deux algorithmes : celui utilisé dans SILK (créé par Skype), qui est plus orienté sur la voix humaine, et celui utilisé dans CELT (créé par la fondation Xiph.org ), plus orienté sur la musique[7]. Opus choisit celui est le plus adapté en fonction de la bande passante et du son qu'il doit transmettre. Il peut utiliser les deux algorithmes de manière simultanée. De manière plus précise, Opus utilise soit la prédiction linéaire et la transformation en cosinus discrète pour encoder le flux audio.

Selon ses concepteurs[8], ce codec est très adapté à Internet, où la question de la bande passante est cruciale, notamment pour les téléphones mobiles ou les utilisateurs ayant un faible débit de connexion. Google et Nokia ont fait des études qui confirmeraient ces affirmations[9][10][11].

Licence et brevets [modifier]

Opus étant un standard de l'IETF, il est publié sous licence BSD. Le texte descriptif peut donc être diffusé, réutilisé, modifié si et seulement il est marqué comme venant de l'IETF, avec un moyen de retrouver la documentation[12]. Petite incongruité dans les spécifications de l'IETF : on retrouve le code qui fait référence directement dans la spécification[13]. Ce code est publié sous licence BSD et une bibliothèque logicielle a été publiée par la fondation Xiph.org. Mozilla a proposé des fichiers binaires, servant à l'encodage ou au décodage, pour les environnement Mac OSX et Windows.

Tout utilisateur du codec Opus ne peut engager de contentieux envers tout autre utilisateur d'Opus sur la technologie couverte par le brevet[14].

L'IETF demande, lors de la création d'une norme, si ses membres possèdent des brevets touchant le standard en création. Pour le codec Opus, plusieurs entreprises ont déposé des brevets[15]: Fondation Xiph.org (4)[16], Broadcom (3)[17][18][19], Skype Technologies (11)[20], Qualcomm (12)[21], Huawei Technologies (2)[22][23].

Tous les propriétaires de ces brevets ont autorisé une utilisation ouverte sans redevance à l'IETF pour le codec Opus. L'autorisation s'étend aux brevets qui découleraient des premiers. Skype ayant été racheté par Microsoft entre temps, ce dernier a autorisé l'emploi des brevets venant de Skype Technologies[24]. Certains brevets sont aussi enregistrés auprès d'autres office de brevets.

Prise en charge [modifier]

VoIP [modifier]

  • Teamspeak 3.0.10 devrait ajouter le codec Opus [25].
  • Mumble 1.2.4 devrait ajouter le codec Opus [26].
  • Le logiciel client SFLphone ( SIP et IAX2) travaille sur l'intégration du codec[27].
  • Jitsi 2.0 ajoute le VP8 et Opus parmi les codecs pris en charge[28] [29].
  • Le logiciel SIP csipsimple l'a intégré [30]
  • Skype: bien que les développeurs de Skype ont participé à l'élaboration[31] de ce codec (qui repose sur un algorithme utilisé dans SILK), il n'y a pour l'instant aucune date de l'utilisation de ce code dans Skype.

Interface Web et navigateurs [modifier]

Flux de diffusion audio [modifier]

Systèmes d'exploitation [modifier]

  • Le système GNU/Linux Debian, dans sa prochaine version stable appelé Wheezy, devrait avoir les bibliothèques libopus et opus-tool installées par défaut[42].
  • Windows : grâce aux logiciels filtres DC-Bass Source Mod et LAV Filters, DirectShow devrait disposer de jeux de codecs permettant au système d'exploitation Windows de prendre en charge ce codec[43][44].

Briques pour logiciels multimédia [modifier]

  • La brique GStreamer intègre le codec Opus dans gst-plugins-bad 0.10.36 en février 2012 [45].
  • Pour libavcodec (de FFmpeg ou Libav), il existe des rustines pour utilisation de la bibliothèque libopus[46][47]. La version 1.1 de FFmpeg lit opus avec une bibliothèque associée par défaut[48]

Intégration dans les firmwares [modifier]

Lecteurs multimédia [modifier]

  • VLC : le décodage est possible depuis la version 2.0.4 [51].
  • foobar2000 intègre le format natif depuis la version 1.1.14 beta[52].
  • firefox : permet de lire les fichiers .opus

Liens externes [modifier]

Références [modifier]

  1. (en) Network Working Group, « RTP Payload Format and File Storage Format for Opus Speech and Audio Codec », Opus codec, IETF, July 4, 2011. Consulté le October 26, 2011
  2. (en) Request for Comments no 6716.
  3. (en) Harmony became Opus, 2010-10-15. Consulté le 2011-06-19
  4. (en) Skype Limited's Statement about IPR related to draft-ietf-codec-opus-07, IETF, July 23, 2011. Consulté le October 26, 2011
  5. http://www.bortzmeyer.org/6716.html
  6. https://tools.ietf.org/html/rfc6716
  7. The innovation in Opus fuses SILK for voice with Xiph.Org's CELT codec for music
  8. http://opus-codec.org/comparison/
  9. http://opus-codec.org/comparison/GoogleTest1.pdf
  10. http://opus-codec.org/comparison/GoogleTest2.pdf
  11. http://research.nokia.com/files/public/%5B16%5D_InterSpeech2011_Voice_Quality_Characterization_of_IETF_Opus_Codec.pdf
  12. https://www.rfc-editor.org/rfc/rfc6716.txt
  13. et c'est elle qui fait autorité
  14. You may not do these things if you engage in Opus-related patent litigation against any user of Opus
  15. https://datatracker.ietf.org/ipr/search/?option=rfc_search&rfc_search=6716
  16. https://datatracker.ietf.org/ipr/1524/
  17. https://datatracker.ietf.org/ipr/1445/
  18. https://datatracker.ietf.org/ipr/1447/
  19. https://datatracker.ietf.org/ipr/1526/
  20. https://datatracker.ietf.org/ipr/1602/
  21. https://datatracker.ietf.org/ipr/1520/
  22. https://datatracker.ietf.org/ipr/1712/
  23. https://datatracker.ietf.org/ipr/1741/
  24. https://datatracker.ietf.org/ipr/1670/
  25. [1]
  26. Next generation audio codec
  27. Implement opus
  28. http://linuxfr.org/news/jitsi-2-0-est-sorti
  29. https://jitsi.org/index.php/GSOC/WidebandCodecs
  30. https://code.google.com/p/csipsimple/
  31. http://blogs.skype.com/en/2012/09/skype_and_a_new_audio_codec.html
  32. https://www.ietf.org/mail-archive/web/rtcweb/current/msg04953.html
  33. https://www.mozilla.org/en-US/firefox/15.0/releasenotes/
  34. https://bugzilla.mozilla.org/show_bug.cgi?id=674225
  35. https://developer.mozilla.org/en-US/docs/Media_formats_supported_by_the_audio_and_video_elements#Ogg_Opus
  36. http://my.opera.com/community/forums/topic.dml?id=1491802
  37. https://code.google.com/p/chromium/issues/detail?id=104241
  38. http://www.html5audio.org/2012/07/safari-6-arrives-bringing-web-audio-api-to-apples-browser.html
  39. https://developer.apple.com/technologies/safari/html5.html
  40. http://lists.xiph.org/pipermail/icecast/2012-July/012237.html
  41. https://github.com/krad-radio/krad_radio
  42. http://packages.debian.org/wheezy/opus-tools
  43. http://reino.degeelebosch.nl/dc-bsm/main.htm
  44. https://code.google.com/p/lavfilters/
  45. http://gstreamer.freedesktop.org/news/#2012-02-21T14:00:00Z
  46. http://ffmpeg.org/trac/ffmpeg/ticket/1343
  47. http://patches.libav.org/patch/24558/
  48. http://linuxfr.org/news/cube-2-sauerbraten-ffmpeg-1-1
  49. http://www.rockbox.org/mail/archive/rockbox-dev-archive-2012-08/0007.shtml
  50. http://www.rockbox.org/wiki/RockboxAsAnApplication2010
  51. http://www.clubic.com/telecharger/logiciel-lecteur-multimedia/vlc-media-player/actualite-517267-vlc-2-4-opus-blu-ray-youtube.html VLC: Add support for decoding new audio format: Opus
  52. http://www.hydrogenaudio.org/forums/?showtopic=96057