Share this story

The IETF has standardized the Opus lossy audio codec as RFC 6716. While most audio codecs aim to solve specific problems—relatively high bit-rate music reproduction such as AAC and MP3, low latency voice reproduction such as Speex and the AMR family—Opus provides a "one size fits all" option which, according to its developers, provides best-in-class quality in almost all applications.

The codec was primarily developed by Mozilla and Xiph.org, with contributions from Skype/Microsoft and Broadcom. Opus weds Xiph.org's low-latency high bitrate music-oriented CELT algorithm to Skype's low bitrate speech-oriented SILK. The codec switches between algorithms depending on the bandwidth available, while boasting real-time latencies across the full bitrate/quality spectrum.

The Opus working group's own quality comparison suggests that, between about 12kbit/s and 128kbit/s at least, Opus boasts better quality than any other codec on the market. It loses out slightly at very low bitrates to the AMR-WB and AMR-NB codecs used by GSM telephones, but these codecs require the payment of royalties.

Enlarge/ Opus spans the entire range from low bitrate narrow band (speech) to high bitrate wideband (music) with low latency across the board.

The CELT portions of the codec are covered by patents from Broadcom and Xiph.org; the SILK portions by patents from Skype/Microsoft and Huawei. However, all the patent holders have committed to making those patents royalty-free now that Opus is an IETF standard. The codec also includes an open source, BSD-licensed implementation.

This freedom from royalties is important for one of Opus' motivating usage scenarios. Opus is likely to be made a mandatory part of the WebRTC ("Web Real Time Communication") specification. WebRTC defines ways for browsers to access webcams and microphones to create audio and video streams suitable for building real-time voice and video calling apps that work without any plugins or extra software.

The group developing WebRTC is keen to avoid the fighting about codecs that surrounded HTML5's <video> element. HTML5 doesn't require any specific codec, and while H.264 is supported by most browsers and arguably has most support from media producers, it's not royalty-free, which in particular is a problem for Mozilla. The organization has considered supporting H.264, at least on mobile devices, as a pragmatic necessity.

The flexibility and quality of the codec means that it may see adoption even beyond this role; the low latencies make it attractive for streaming, but the high quality means that even latency insensitive applications, such as music storage, are a good fit for Opus.