Opus (Audiocodec)

Template: Infobox file format / Maintenance / Magic number is missing

Opus is a data format for lossy audio data compression with special suitability for interactive real-time applications over the Internet.

It is described as an international open standard in RFC 6716. As a basic method, a frequency transformation and Linear Predictive Coding ( LPC) are used. It enables very high quality sound and particularly small delay in transmissions.

  • 2.1 Transformation layer ( CELT )
  • 4.1 Version 1.1
  • 5.1 Format Support

Features

Opus codec has a very low latency in order to cause as little delay ( latency ) for real-time applications in the processing of the signal is typically generated immediately prior to the compressed transmission. Opus works with block lengths from 2.5 to 20 ( 60) ms with dynamic artifact- free change-over between different block lengths. In addition, depending on the mode still 2.5 to 5 ms lookahead. It allows constant and variable bit rates over a very wide range of 6 kbit / s up to 510 kbit / s and the mapping of the entire human hearing range. It can only ever two channels (stereo) coupled. More channels can be represented by (regardless or even possibly coupled in pairs ) multiplexed together in a container file. For receiver-side loudness adjustments, the EBU Recommendation R 128 is supported.

The process is documented open as an open standard and published a reference implementation in the source code. Parts of the process are loaded with software patents, the rights holder unlimited use of their patents approved in the context of the use of codecs including future versions of the standard. Here, however, all reserve the right to use their patents to defend against patent lawsuits from third parties.

Opus is a hybrid method of CELT and a highly modified, incompatible version of SILK. The process knows three modes, two for pure speech signals, and an unspecialized for example music. In the language modes is a mode available in which the entire human hearing range is mapped, wherein the substantially on frequency transform ( MDCT) -based algorithms of CELT for an upper frequency component from 8 kHz, which is essentially on Linear Predictive Coding (LPC ) SILK -based algorithms for the lower are responsible. For low bit rates (useful below about 30 kbit / s), the frequency range can be limited and the CELT layer are omitted. For other signal types, which specializes in voice signals SILK layer can be turned off and only the unspecialized CELT be used. Since version 0.9.2 (March 2011) can be switched on the fly seamlessly between these modes and choose the encoder in the default mode automatically.

Opus data can be packed in Ogg container. The content of such Ogg Opus data streams is then equipped with audio / ogg; codecs = opus specified and for Ogg Opus files the file name extension. opus is recommended. To support the encapsulation of Opus in the Matroska container format is working.

Sound Quality

In comparative listening tests to Opus shows the previously dominant through the use of proprietary spectral band HE-AAC codecs superior quality at low bit rates. At bit rates of 12 kbit / s and below was subject to a version of the codec from mid- February 2011 speech signals AMR codecs GSM, the high mark the state of the art here. For speech signals, the hybrid mode at bit rates between about 20 and 48 kbit / s showed Opus internally think - about the pure MDCT -based and including the pure LPC - based mode. In contrast to other common transformation methods are for Opus strong tonal signals particularly difficult and complex passages, however, relatively sparingly represented.

Technology

Opus is a combined of two different, originally separate process hybrid codec. A transformation layer ( originally CELT ) operates on the basis of the modified discrete cosine transform ( MDCT) and approaches of CELP ( codebook for the excitation, but in the frequency domain). A specialized on speech signals layer ( originally SILK ) based on Linear Predictive Coding ( LPC). The original SILK has been modified and added support for 10 -millisecond blocks among others. The common coding region of the two components of a hybrid data stream has been acquired by CELT. The LPC part works internally with a sampling frequency of 16 kHz. The encoder has a built-in sample rate converter. To compensate for the lower lookahead of CELT signal, this will be delayed accordingly. SILK has a greater algorithmic delay to minimize the costs arising from the transfer logs administrative data in its typical usage scenario. Thus, lower latencies are possible, for example, in the pure CELT mode.

Transformation layer ( CELT )

See also Article CELT, Section Technology

The transformation layer of Opus technically works largely the same as the discontinued stand-alone CELT. However, it was modified for integration with SILK and also further developed. Additions are support for 20 -millisecond blocks and signalisierbare deviations from the established allocation of available bits to the ( Bark ) bands with a so-called "allocation tilt" and a so-called "band boost".

Involved persons and organizations

Opus is recommended by the Internet Engineering Task Force ( IETF) as a Request for Comments (RFC ) 6716 as an international open standard for lossy audio data compression on the internet. He was in the standardization process in the IETF on the codec working group with staff and based initially on separate proposals by the Xiph.Org Foundation and Skype Technologies SA (now Microsoft) develops. Main developers are Jean -Marc Valin ( Xiph.Org, Octasic, Mozilla Corporation), Koen Vos ( Skype) and Timothy B. Terri Berry ( Mozilla Corporation). Furthermore involved were Raymond Chen (Broadcom ), Gregory Maxwell ( Xiph.Org ) and Christopher Montgomery ( Xiph.Org ).

Mozilla pays the lead developer valine in the context of paid employment a salary for his development work on Opus. Also, the browser maker Opera Software, Opus explicitly as a new, open standard. Google Inc. is committed to the establishment of Opus as a license- free standard format on the internet. The Skype division of Microsoft is still actively involved as (co - ) founder of the standardization process at this. Juin - Hwey ( Raymond ) Chen Broadcom contributed a pre-and post-filters for pitch prediction in CELT. Other participants in the standardization process in the IETF were representatives of the Department of Communication Networks at the University of Tübingen or their commercial spin-off company " SoniCon " Polycom and Cisco Systems.

Broadcom and the Xiph.Org Foundation hold patents with respect to CELT, patents Skype / Microsoft are for the SILK part of concern. Alleged claims by Qualcomm and Huawei proved to be inaccurate.

History

The development of the CELT part goes back to considerations for a successor to Vorbis, as his successor, it may also apply to the characteristics here. Furthermore, as a new Opus solves speech codec of the Xiph Foundation whose older Speex voice codec that represents also the predecessor project of the main developer Jean -Marc Valin, with whom he has gained experience with the design of audio codecs. At CELT was worked virtually since November 2007. Developed by Skype in January 2007 SILK - part is the successor of the SVOPC, which should make as in-house development, the company of the external charge licensed solutions iSAC and iLBC independent.

See also Article CELT, section history and products SILK, section history

In March 2009, Skype suggested in the IETF to the development and standardization of a wideband audio codec. Then went nearly a year with long and heated debates about the formation of a corresponding working group. Representatives of various companies that were involved in the standardization of patent loaded competition formats, voiced objections to the inclusion of standardization work for a license-free codec. In particular, there were representatives of the Polycom companies and Ericsson on - the makers and sellers to license G.719 - and of France Telecom, Huawei and Orange Labs (Department of France Telecom ), which were involved in G.718. In February 2010, the Working Group was finally reached yet, even the support of the relevant Study Group 16 of ITU- T was assured.

In July, a first prototype of a hybrid format has been released, the two candidates submitted codec SILK and CELT combined - the original version of Opus. The format was presented in September 2010 at the IETF for standardization. In the meantime, it was a short time as " Harmony " known before it got its present name in October 2010. The bitstream format is fixed provisionally since early February 2011, subject to final changes. At the end of July 2011 was Jean -Marc Valin paid employment at the Mozilla Corporation to work (more) at Opus. In November 2011, was issued the last call of the IETF working group for changes to the bitstream format. On 2 July 2012, the format of the IETF has been accepted. The software was since 8 August at the release candidate stage. The official publication of the final specification and version 1.0 and 1.0.1 of the reference software on 11 September 2012.

Relatively quickly built support for the format in a variety of software. In the same year a number corresponding development versions were available, including from influential and popular as the Firefox web browser, the operating system Debian GNU / Linux and the VLC media player projects.

Version 1.1

Meanwhile, the reference encoder was started on a version 1.1 to work with much better sound quality in an experimental development branch. December 21, 2012 was released after more than a year to develop a first alpha version of the 1.1 series. On 11 July 2013, the beta phase began for version 1.1 and version 1.0.3 was released, which fixes some bugs and takes over the surround - API 1.1 series. The final version 1.1 was released on December 5, 2013.

Version 1.1 of the Referenzkodierers achieved by taking advantage of more opportunities and improved the format Kodierentscheidungen reported to have much better sound quality and efficiency, especially in particularly tonal sequences. It uses to, among other things with a dynamic allocation of the available bit rate between frequency bands ( " dynalloc " - "band boost", "allocation tilt" ) of the potential of the format for variability of the bit rate (VBR) more. He has an unrestricted VBR adjusts the bit rate and aggressive to the complexity of the starting material. The new VBR mode is henceforth also seeks across files to achieve a constant quality and not for each file to ensure the specified target bit rate. The encoder was calibrated to an average of the given target bit rate to approach in a larger amount encoded material with a broad mix of different typical useful signals. Several new analysis steps investigate signal characteristics and inform Kodierentscheidungen. Among other things, the tonality is now targeting increases the bit rate at particularly tonal passages and replaced by a recognition of speech signals automatically between integrated LPC - based speech codec, the MDCT - based coding and the hybrid mode basis of an assessment. Now there is a dynamic bit- allocation to the individual channels by utilizing masking effects between the channels, and there were improvements in quality for the LFE channel surround sound formats having more than two channels. By first initial code optimizations, the overall reference codec now has a much greater speed, especially on ARM devices.

Other new features include the ability predictive recognition of signal characteristics for operational scenarios where delays are not critical, the efficient representation of strongly correlated stereo signals, discarding DC components ( 3- Hz high-pass ), the temporal variation of the bit rate based on the volume and Limiter to prevent hard clipping.

Software

The process is open documented and published the reference implementation as Free Software. The reference implementation ( Opus Audio Tools, opus -tools) from a separate encoder ( " opusenc " ) and decoder ( " opusdec " ) is distributed along with the source code under a BSD - style license. It is written in C and compile for architectures with and without floating point unit. The supplied diagnostic tool "opus info " about Opus files reported detailed technical information, including the accuracy of the bitstream format. It is a fork of ogginfo from the vorbis-tools and therefore available, in contrast to encoder and decoder version 2 of the GPL.

Format Support

There are a variety of support in software for easy file or stream playback, IP telephony and audio streaming, in web browsers, operating systems and more. Important examples:

  • Assistance in playing software can be found in VLC media player, foobar2000, AIMP and others.
  • At VoIP software, there is the popular audio chat programs Mumble and Teamspeak, SIP clients as Phoner / PhonerLite or SFLphone or even the chat client Jitsi.
  • The major web browsers Chrome and Firefox support opus. In addition, Opus support for WebRTC -compatible browser is required.
  • Audio streaming in Opus is possible with software like Icecast and motorcycle radio.

On many platforms support is available:

  • The reference implementation is available for many operating systems and hardware platforms.
  • For Windows, there are corresponding DirectShow filters and
  • In major GNU / Linux operating systems (Debian and derivatives such as Ubuntu, Fedora ), software as the reference implementations and the GStreamer multimedia framework, and libavcodec ( FFmpeg / Libav ) be installed directly from the standard repositories.
  • For the mobile platform Android there are a number of software options for Opus playback.
  • With the alternative Rockbox firmware is support on a range of portable media playback devices (including the iPod series products from Apple and iRiver and Archos devices).
622903
de