Opus Interactive Audio Codec
Opus est un format ouvert de compression audio avec pertes, libre de redevances et normalisé par l'Internet Engineering Task Force (IETF), conçu pour encoder 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[3] - [4]. 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[5] - [6].
Développé par | Xiph.org |
---|---|
Première version | |
Dernière version | 1.4 ()[2] |
Écrit en | C89 |
Environnement | Multiplate-forme |
Type | Format audio, reference implementation |
Licence | Licence BSD 3 clauses |
Site web | opus-codec.org/downloads/ |
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[3].
L'implémentation de référence s'appelle libopus.
Historique
Opus était appelé à l'origine Harmony[7].
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é.
Technique
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[10]. 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[11], 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[12] - [13] - [14].
Licence et brevets
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[15]. Petite incongruité dans les spécifications de l'IETF : on retrouve le code qui fait référence directement dans la spécification[16]. 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[17]. 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[18]: Fondation Xiph.org (4)[19], Broadcom (3)[20] - [21] - [22], Skype Technologies (Microsoft) (11)[23], Qualcomm (12)[24], Huawei Technologies (2)[25] - [26].
La fondation Xiph.org, Broadcom et Microsoft ont autorisé une utilisation ouverte sans redevance à l'IETF pour le codec Opus[27]. 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[28]. 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[27]. La licence d'Opus est révoquée rétroactivement pour toute entité qui tenterait d'intenter un procès pour violation de brevet[27].
Comparaison de qualité et temps de latence
Prise en charge
- SteamOS utilise Opus ou Vorbis pour le streaming
- Le protocole Tox utilise Opus pour la transmission audio.
VoIP
- En février 2013, TeamSpeak 3.0.10 a ajouté le codec Opus [29].
- En Mumble 1.2.4 a ajouté le codec Opus [30] - [31].
- Le logiciel client Jami anciennement SFLPhone puis Ring, a intégré le codec Opus (SIP et IAX2).
- En Jitsi 2.0 ajoute le VP8 et Opus parmi les codecs pris en charge[32] - [33].
- Le logiciel SIP csipsimple l'a intégré [34]
- Skype: bien que les développeurs de Skype ont participé à l'élaboration[35] 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[36].
- Discord l'utilise également pour son système de VoIP.
Navigateurs Web
- En , Mozilla a intégré Opus dans les versions 15 de Firefox et de Thunderbird, ainsi que dans la version 2.12 de SeaMonkey[37] - [38] - [39].
- En , la version 25 des navigateurs Chromium et Google Chrome gère le codec Opus, mais uniquement à travers la balise
<audio>
. Depuis la version 33, sortie en , le codec Opus est également géré via la balise<video>
[40]. - À la suite de sa transition vers une base Chromium en , la version 15 du navigateur Opera intègre la gestion du codec Opus via la balise
<audio>
, puis via la balise<video>
dans sa version 20 qui est basée sur Chromium 33[41] - [42]. - Microsoft Edge propose la gestion du codec Opus depuis la version 14, publiée en [43]. Internet Explorer ne gère pas le codec Opus.
- En , la version 11 de Safari[44] ajoute la gestion du codec pour iOS et pour macOS Ă partir de la version High Sierra.
- En , la version 62 de Google Chrome pour Android gère à son tour le codec Opus selon le site anglophone caniuse[45].
Systèmes d'exploitation
- La version 7 de Debian GNU/Linux intègre par défaut les bibliothèques 'libopus' et 'opus-tools'.
- 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.
- Le système pour mobiles Android le prend en charge à partir de sa version 5[49].
Composants de logiciels multimédia
Lecteurs multimédias
- VLC : le décodage est possible depuis la version 2.0.4 [54].
- foobar2000 intègre le format natif depuis la version 1.1.14 beta[55]
- Media Player (Windows 11)
Liens externes
- « Opus Codec », sur opus-codec.org (consulté le )
- RFC 6716
- "Opus un format audio meilleur que le mp3", article du journal Le Monde daté du 29/11/2012
Références
- (en) « Definition of the Opus Audio Codec », Request for comments no 6716, .
- d">Jean-Marc Valin (d), « [opus] Opus 1.4 is out », (consulté le )
- « Opus Codec », Opus, Xiph.org Foundation (consulté le )
- Peter Bright, « Newly standardized Opus audio codec fills every role from online chat to music », Ars Technica, (consulté le )
- Jean-Marc Valin, Koen Vos et Jan Skoglund, « Summary of Opus listening test results », Internet Engineering Task Force, (consulté le )
- Kamedo2, « Results of the public multiformat listening test »,
- (en) « Harmony became Opus », (consulté le )
- « Blog Stéphane Bortzmeyer: RFC 6716: Definition of the Opus Audio Codec », sur www.bortzmeyer.org (consulté le )
- (en) Terriberry, Tim et Vos, Koen, « Definition of the Opus Audio Codec », sur tools.ietf.org (consulté le )
- The innovation in Opus fuses SILK for voice with Xiph.Org's CELT codec for music
- « Comparison – Opus Codec », sur opus-codec.org (consulté le )
- http://opus-codec.org/comparison/GoogleTest1.pdf
- http://opus-codec.org/comparison/GoogleTest2.pdf
- http://research.nokia.com/files/public/%5B16%5D_InterSpeech2011_Voice_Quality_Characterization_of_IETF_Opus_Codec.pdf
- https://www.rfc-editor.org/rfc/rfc6716.txt
- et c'est elle qui fait autorité
- « License – Opus Codec », sur www.opus-codec.org (consulté le )
- (en) « IPR search », sur datatracker.ietf.org (consulté le )
- (en) « IPR Details - Xiph.Org Foundation's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le )
- (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 )
- (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 )
- (en) « IPR Details - Broadcom Corporation's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le )
- (en) « IPR Details - Skype Limited's Statement about IPR related to draft-ietf-codec-opus-07 », sur datatracker.ietf.org (consulté le )
- (en) « IPR Details - Qualcomm Incorporated's Statement about IPR related to draft-ietf-codec-opus-05 », sur datatracker.ietf.org (consulté le )
- (en) « IPR Details - Huawei Technologies Co.,Ltd's Statement about IPR related to draft-ietf-codec-opus-11 », sur datatracker.ietf.org (consulté le )
- (en) « IPR Details - Huawei Technologies Co.,Ltd's Statement about IPR related to draft-ietf-codec-opus-11 », sur datatracker.ietf.org (consulté le )
- « License – Opus Codec », sur www.opus-codec.org (consulté le )
- (en) « IPR Details - Microsoft Corporation's Statement about IPR related to draft-ietf-codec-opus-10 », sur datatracker.ietf.org (consulté le )
- (en) « 1.2.4 - Mumble Wiki », sur mumble.sourceforge.net (consulté le )
- (en) « 1.2.4 - Mumble Wiki », sur mumble.sourceforge.net (consulté le )
- « Jitsi 2.0 est sorti - LinuxFr.org », sur linuxfr.org (consulté le )
- « jitsi.org/index.php/GSOC/Wideb… »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?).
- (en) « Google Code Archive - Long-term storage for Google Code Project Hosting. », sur code.google.com (consulté le )
- (en) « Blogs / Skype », sur skype.com (consulté le ).
- dépend de libopus : https://gnunet.org/dependencies
- (en-US) « Firefox Notes - Desktop », sur www.mozilla.org (consulté le )
- (en) « 674225 - support the Opus voice codec in <audio> and <video> elements », sur bugzilla.mozilla.org (consulté le )
- « Formats Media supportés par les éléments HTML audio et vidéo », sur developer.mozilla.org
- (en) « Chrome Platform Status », sur www.chromestatus.com (consulté le )
- (en) « Opera 15 Changlog », sur opera.com,
- (en) « Opera 20 Changlog », sur opera.com,
- (en) « WebM, VP9 and Opus Support in Microsoft Edge », sur windows.com,
- (en) « Announcing WebRTC and Media Capture »,
- (en-US) « Can I use Opus », sur caniuse.com (consulté le )
- Rücker Thomas, « [Icecast] Icecast 2.4 beta release », tue jul 17 15:13:22 pdt 2012 (consulté le )
- « https://github.com/krad-radio/krad_radio »(Archive.org • Wikiwix • Archive.is • Google • Que faire ?)
- « Airtime 2.4 l'automate de diffusion pour radio et webradio est disponible - LinuxFr.org », sur linuxfr.org (consulté le )
- (en) « MediaFormat | Android Developers », sur Android Developers (consulté le )
- « GStreamer: news », sur gstreamer.freedesktop.org (consulté le )
- « #1343 ([PATCH] Xiph/IETF Opus decoder using libopus.) – FFmpeg », sur ffmpeg.org (consulté le )
- « Project List - Patchwork », sur patches.libav.org (consulté le )
- « Cube 2: Sauerbraten, FFmpeg 1.1 - LinuxFr.org », sur linuxfr.org (consulté le )
- 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
- « foobar2000 v1.1.14 beta », sur www.hydrogenaudio.org (consulté le )