Opus est un format ouvert de compression audio avec pertes, sans redevances et normalisé par l'Internet Engineering Task Force (IETF), conçu pour coder efficacement la voix et plus largement l'audio dans un format unique, tout en ayant une latence suffisamment faible pour la communication en temps réel et une complexité suffisamment faible pour les processeurs embarqués peu puissants[2],[3]. Opus remplace Vorbis et Speex pour les nouvelles applications et différents tests d'écoute en aveugle l'ont jugé supérieur à tous les autres formats audio à tous les débits, y compris MP3, AAC et HE-AAC[4],[5].

Opus
Caractéristiques
Extension
.opusVoir et modifier les données sur Wikidata
Type MIME
audio/oggVoir et modifier les données sur Wikidata
PUID
Développé par
Groupe de travail IETF codec
Version initiale
Type de format
Audio
Contenu par
Basé sur
Norme
Oui, RFC 6716[1]
Spécification
Site web

Opus combine l'algorithme SILK et l'algorithme à faible temps de latence CELT, passant de l'un à l'autre ou les combinant pour une efficacité maximale[2].

L'implémentation de référence s'appelle libopus.

Historique

modifier

Opus était appelé à l'origine Harmony[6].

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é.

L'IETF a validé cette norme le 10 septembre 2012[7],[8].

Technique

modifier

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[9]. Opus choisit le plus adapté en fonction de la bande passante et du son qu'il doit transmettre. Il peut utiliser les deux de manière simultanée. De manière plus précise, Opus utilise soit la prédiction linéaire (SILK) soit la transformation en cosinus discrète (CELT) pour compresser le flux audio.

Selon ses concepteurs[10], 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[11],[12],[13].

Licence et brevets

modifier

Opus étant une norme de l'IETF, il est publié sous licence BSD. Le texte descriptif peut donc être diffusé, réutilisé, modifié si et seulement s'il est marqué comme venant de l'IETF, avec un moyen de retrouver la documentation[14]. Petite incongruité dans les spécifications de l'IETF : on retrouve le code qui fait référence directement dans la spécification[15]. 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 au codage ou au décodage, pour les environnements 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[16]. NB : ce genre de brevet est un brevet logiciel, valable uniquement aux États-Unis.

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

La fondation Xiph.org, Broadcom et Microsoft ont autorisé une utilisation ouverte sans redevance à l'IETF pour le codec Opus[26]. L'autorisation s'étend aux brevets qui découleraient des premiers. Skype ayant été racheté par Microsoft entretemps, ce dernier a autorisé l'emploi des brevets venant de Skype Technologies[27]. Certains brevets sont aussi enregistrés auprès d'autres offices de brevets. D'après le conseil légal de la fondation Xiph.org, les brevets de Qualcomm, Huawei, France Telecom et Ericsson ne s'appliquent pas à Opus[26]. La licence d'Opus est révoquée rétroactivement pour toute entité qui voudrait intenter un procès pour violation de brevet[26].

Comparaison de qualité et temps de latence

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

Prise en charge

modifier

VoIP

modifier
  • En février 2013, TeamSpeak 3.0.10 a ajouté le codec Opus [28].
  • En juin 2013 Mumble 1.2.4 a ajouté le codec Opus [29],[30].
  • Le logiciel client Jami anciennement SFLPhone puis Ring, a intégré le codec Opus (SIP et IAX2).
  • En mars 2013 Jitsi 2.0 ajoute le VP8 et Opus parmi les codecs pris en charge[31],[32].
  • Le logiciel SIP csipsimple l'a intégré [33]
  • Skype: bien que les développeurs de Skype ont participé à l'élaboration[34] 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 codec dans Skype.
  • GNUnet l’utilise pour son système de VoIP[35].
  • Discord l'utilise également pour son système de VoIP.

Navigateurs Web

modifier

Flux de diffusion audio

modifier

Systèmes d'exploitation

modifier
  • La version 7 de Debian GNU/Linux intègre par défaut[réf. nécessaire] les bibliothèques 'libopus' et 'opus-tools'.
  • Windows : grâce aux logiciels filtres DC-Bass Source Mod et LAV Filters[réf. nécessaire], DirectShow devrait disposer de jeux de codecs permettant au système d'exploitation Windows de prendre en charge ce codec.
  • Le système pour mobiles Android le prend en charge à partir de sa version 5[48].

Composants de logiciels multimédia

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

Intégration dans les firmwares

modifier

Lecteurs multimédias

modifier

Liens externes

modifier
  • « Opus Codec », sur opus-codec.org (consulté le 15 avril 2023)
  • RFC 6716
  • "Opus un format audio meilleur que le mp3", article du journal Le Monde daté du 29/11/2012 [2]

Références

modifier
  1. (en) « Definition of the Opus Audio Codec », Request for comments no 6716, septembre 2012
  2. a et b « Opus Codec », Opus, Xiph.org Foundation (consulté le 31 juillet 2012)
  3. Peter Bright, « Newly standardized Opus audio codec fills every role from online chat to music », Ars Technica, 12 septembre 2012 (consulté le 28 mai 2014)
  4. Jean-Marc Valin, Koen Vos et Jan Skoglund, « Summary of Opus listening test results », Internet Engineering Task Force, 17 mai 2013 (consulté le 30 juin 2015)
  5. Kamedo2, « Results of the public multiformat listening test », juillet 2014
  6. (en) « Harmony became Opus », 15 octobre 2010 (consulté le 19 juin 2011)
  7. « Blog Stéphane Bortzmeyer: RFC 6716: Definition of the Opus Audio Codec », sur www.bortzmeyer.org (consulté le 3 mai 2018)
  8. (en) Terriberry, Tim et Vos, Koen, « Definition of the Opus Audio Codec », sur tools.ietf.org (consulté le 3 mai 2018)
  9. The innovation in Opus fuses SILK for voice with Xiph.Org's CELT codec for music
  10. « Comparison – Opus Codec », sur opus-codec.org (consulté le 3 mai 2018)
  11. http://opus-codec.org/comparison/GoogleTest1.pdf
  12. http://opus-codec.org/comparison/GoogleTest2.pdf
  13. http://research.nokia.com/files/public/%5B16%5D_InterSpeech2011_Voice_Quality_Characterization_of_IETF_Opus_Codec.pdf
  14. https://www.rfc-editor.org/rfc/rfc6716.txt
  15. et c'est elle qui fait autorité
  16. « License – Opus Codec », sur www.opus-codec.org (consulté le 3 mai 2018)
  17. (en) « IPR search », sur datatracker.ietf.org (consulté le 3 mai 2018)
  18. (en) « IPR Details - Xiph.Org Foundation's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  19. (en) « IPR Details - Broadcom Corporation's Statement about IPR related to draft-ietf-codec-opus-00 and draft-ietf-codec-description-00 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  20. (en) « IPR Details - Broadcom Corporation's Statement about IPR related to draft-ietf-codec-opus-00 and draft-ietf-codec-description-00 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  21. (en) « IPR Details - Broadcom Corporation's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  22. (en) « IPR Details - Skype Limited's Statement about IPR related to draft-ietf-codec-opus-07 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  23. (en) « IPR Details - Qualcomm Incorporated's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  24. (en) « IPR Details - Huawei Technologies Co.,Ltd's Statement about IPR related to draft-ietf-codec-opus-11 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  25. (en) « IPR Details - Huawei Technologies Co.,Ltd's Statement about IPR related to draft-ietf-codec-opus-11 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  26. a b et c « License – Opus Codec », sur www.opus-codec.org (consulté le 15 mai 2018)
  27. (en) « IPR Details - Microsoft Corporation's Statement about IPR related to draft-ietf-codec-opus-10 », sur datatracker.ietf.org (consulté le 3 mai 2018)
  28. [1]
  29. (en) « 1.2.4 - Mumble Wiki », sur mumble.sourceforge.net (consulté le 3 mai 2018)
  30. (en) « 1.2.4 - Mumble Wiki », sur mumble.sourceforge.net (consulté le 3 mai 2018)
  31. « Jitsi 2.0 est sorti - LinuxFr.org », sur linuxfr.org (consulté le 3 mai 2018)
  32. « jitsi.org/index.php/GSOC/Wideb… »(Archive.orgWikiwixGoogleQue faire ?).
  33. (en) « Google Code Archive - Long-term storage for Google Code Project Hosting. », sur code.google.com (consulté le 3 mai 2018)
  34. (en) « Blogs / Skype », sur skype.com (consulté le 4 septembre 2020).
  35. dépend de libopus : https://gnunet.org/dependencies
  36. (en-US) « Firefox Notes - Desktop », sur www.mozilla.org (consulté le 3 mai 2018)
  37. (en) « 674225 - support the Opus voice codec in <audio> and <video> elements », sur bugzilla.mozilla.org (consulté le 3 mai 2018)
  38. « Formats Media supportés par les éléments HTML audio et vidéo », sur developer.mozilla.org
  39. (en) « Chrome Platform Status », sur www.chromestatus.com (consulté le 3 mai 2018)
  40. (en) « Opera 15 Changlog », sur opera.com, 2 juillet 2013
  41. (en) « Opera 20 Changlog », sur opera.com, 4 mars 2014
  42. (en) « WebM, VP9 and Opus Support in Microsoft Edge », sur windows.com, 18 avril 2016
  43. (en) « Announcing WebRTC and Media Capture », 7 juin 2017
  44. (en-US) « Can I use Opus », sur caniuse.com (consulté le 3 mai 2018)
  45. Rücker Thomas, « [Icecast] Icecast 2.4 beta release », tue jul 17 15:13:22 pdt 2012 (consulté le 3 mai 2018)
  46. « https://github.com/krad-radio/krad_radio »(Archive.orgWikiwixGoogleQue faire ?)
  47. « Airtime 2.4 l'automate de diffusion pour radio et webradio est disponible - LinuxFr.org », sur linuxfr.org (consulté le 3 mai 2018)
  48. (en) « MediaFormat  |  Android Developers », sur Android Developers (consulté le 3 mai 2018)
  49. « GStreamer: news », sur gstreamer.freedesktop.org (consulté le 3 mai 2018)
  50. « #1343 ([PATCH] Xiph/IETF Opus decoder using libopus.) – FFmpeg », sur ffmpeg.org (consulté le 3 mai 2018)
  51. « Project List - Patchwork », sur patches.libav.org (consulté le 3 mai 2018)
  52. « Cube 2: Sauerbraten, FFmpeg 1.1 - LinuxFr.org », sur linuxfr.org (consulté le 3 mai 2018)
  53. 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
  54. « foobar2000 v1.1.14 beta », sur www.hydrogenaudio.org (consulté le 3 mai 2018)

📚 Artikel Terkait di Wikipedia

Spectroscopie infrarouge à transformée de Fourier

(lumière absorbée en fonction de la longueur d'onde). Ce procédé requiert un algorithme commun, la transformation de Fourier, qui donne son nom à cette technique

Cristallographie aux rayons X

produits très différents pouvant avoir des signatures très proches), un algorithme automatisé ne peut pas prendre seul la décision. C'est en dernier ressort

Ingénierie de l'intelligence artificielle

déterminer l'algorithme d'apprentissage automatique le plus adapté, y compris les paradigmes d'apprentissage profond. Une fois un algorithme choisi, l'optimiser

Dynamique sonore

sonore effective. Les sources synthétiques, produisant des sons à partir d'algorithmes mathématiques, ont exactement la dynamique du matériel électronique

Martin Newell (informatique)

Sutherland, Robert F. Sproull et Robert A. Schumacker, « A characterization of ten hidden-surface algorithms », Computing Surveys, vol. 6, no 1,‎ 1974, p. 1–55

Problème de couverture par ensembles

couverture par ensembles (Set Cover problem en anglais) est un problème d'algorithmique particulièrement important car c'est l'un des 21 problèmes NP-complets

Graphe d'intervalles

Eftihia Cayanis, Janie Weiss, Susan Kistler et Philip E. Bourne, « An algorithm based on graph theory for the assembly of contigs in physical mapping

Jorge Nocedal

« Nonlinear Optimization: The Interplay Between Mathematical Characterizations and Algorithms ». Il est nommé chercheur hautement citée de l'ISI en 2004