Definition of the Opus Audio Codec
RFC 6716
Document | Type |
RFC - Proposed Standard
(September 2012; Errata)
Updated by RFC 8251
|
|
---|---|---|---|
Authors | Jean-Marc Valin , Koen Vos , Tim Terriberry | ||
Last updated | 2020-01-21 | ||
Replaces | draft-ietf-codec-harmony | ||
Stream | IETF | ||
Formats | plain text html pdf htmlized with errata bibtex | ||
Reviews | |||
Stream | WG state | Submitted to IESG for Publication | |
Document shepherd | Jonathan Rosenberg | ||
Shepherd write-up | Show (last changed 2012-05-21) | ||
IESG | IESG state | RFC 6716 (Proposed Standard) | |
Consensus Boilerplate | Unknown | ||
Telechat date | |||
Responsible AD | Robert Sparks | ||
IESG note | Jonathan Rosenberg (jdrosen@jdrosen.net) is the document shepherd. | ||
Send notices to | (None) |
Internet Engineering Task Force (IETF) JM. Valin Request for Comments: 6716 Mozilla Corporation Category: Standards Track K. Vos ISSN: 2070-1721 Skype Technologies S.A. T. Terriberry Mozilla Corporation September 2012 Definition of the Opus Audio Codec Abstract This document defines the Opus interactive speech and audio codec. Opus is designed to handle a wide range of interactive audio applications, including Voice over IP, videoconferencing, in-game chat, and even live, distributed music performances. It scales from low bitrate narrowband speech at 6 kbit/s to very high quality stereo music at 510 kbit/s. Opus uses both Linear Prediction (LP) and the Modified Discrete Cosine Transform (MDCT) to achieve good compression of both speech and music. Status of This Memo This is an Internet Standards Track document. This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741. Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6716. Valin, et al. Standards Track [Page 1] RFC 6716 Interactive Audio Codec September 2012 Copyright Notice Copyright (c) 2012 IETF Trust and the persons identified as the document authors. All rights reserved. This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. The licenses granted by the IETF Trust to this RFC under Section 3.c of the Trust Legal Provisions shall also include the right to extract text from Sections 1 through 8 and Appendix A and Appendix B of this RFC and create derivative works from these extracts, and to copy, publish, display and distribute such derivative works in any medium and for any purpose, provided that no such derivative work shall be presented, displayed or published in a manner that states or implies that it is part of this RFC or any other IETF Document. Table of Contents 1. Introduction ....................................................5 1.1. Notation and Conventions ...................................6 2. Opus Codec Overview .............................................8 2.1. Control Parameters ........................................10 2.1.1. Bitrate ............................................10 2.1.2. Number of Channels (Mono/Stereo) ...................11 2.1.3. Audio Bandwidth ....................................11 2.1.4. Frame Duration .....................................11 2.1.5. Complexity .........................................11 2.1.6. Packet Loss Resilience .............................12 2.1.7. Forward Error Correction (FEC) .....................12 2.1.8. Constant/Variable Bitrate ..........................12 2.1.9. Discontinuous Transmission (DTX) ...................13 3. Internal Framing ...............................................13 3.1. The TOC Byte ..............................................13 3.2. Frame Packing .............................................16 3.2.1. Frame Length Coding ................................16 3.2.2. Code 0: One Frame in the Packet ....................16 3.2.3. Code 1: Two Frames in the Packet, Each with Equal Compressed Size ..............................17 3.2.4. Code 2: Two Frames in the Packet, with Different Compressed Sizes .........................17 Valin, et al. Standards Track [Page 2] RFC 6716 Interactive Audio Codec September 2012 3.2.5. Code 3: A Signaled Number of Frames in the Packet ..18 3.3. Examples ..................................................21Show full document text