1 / 13

Opus audio high level format overview with Virinext Bitstream Analyzer

Opus audio was developed by the Xiph.Org Foundation as an open and rayality-free lossy audio compression format and released in 2012. Opus was designed for a broad range of applications including real time communication and videoconferencing. This presentation provides a high level overview of Opus audio bitstream syntax and describes analyzing OPUS files with Virinext Bitstream Analyzer.

Victor140
Download Presentation

Opus audio high level format overview with Virinext Bitstream Analyzer

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Opus audio: high level bitstream overview with Virinext Bitstream Analyzer

  2. Opus audio overview • Opus audio is a lossy audio compression format; • Open and rayality-free • Was developed and released by Xiph.Org Foundation in 2012; • Main advantages of Opus is low delay on encoding and decoding; • Low delay makes Opus a good choice for real-time communication such as online gaming or video conferencing; • We will use Virinext Bitstream Analyzer for analyzing Opus files.

  3. High level Opus bitstream overview At the high level Opus audio is the sequence of packets which contains compressed audio frames

  4. Opus identification header(IDHeader) • Opus codec parameters are stored in the identification header; • The IDHeader starts with the 8 bytes "OpusHead"; • IDHeader packets are commonly stored in the decoder configuration parameters at the container level.

  5. Opus TOC header • Each frame starts with a one byte TOC(table-of-contents) header • TOC header describes the modes and configurations used packet; • The "config" describes which one of 32 possible configurations of operating mode, audio bandwidth, and frame size is used in the packet; • The stereo flag "s" signals mono or stereo is used, where 0 indicates mono and 1 indicates stereo;

  6. Opus TOC header Count code "c" describes the number of frames per packet (codes 0 to 3) as follows: • 0: 1 frame in the packet • 1: 2 frames in the packet, each with equal compressed size • 2: 2 frames in the packet, with different compressed sizes • 3: an arbitrary number of frames in the packet

  7. Opus TOC header

  8. Opus compressed frame After the TOC byte data of compressed frames is stored.

  9. Opus bitstream: sampling rate • "Original input sample rate" field of ID Header describes the sample rate of the input before encoding; • Each packet in the Opus stream can have a different audio bandwidth.; • This field is also used to pass the sample rate of the input stream as metadata. During playback encoded audio, Opus player select the playback sample rate according to the following procedure: • If the hardware supports 48 kHz playback, decode at 48 kHz, • else if the hardware's highest available sample rate is a supported rate, decode at this sample rate, • else if the hardware's highest available sample rate is less than 48 kHz, decode at the next higher supported rate and resample, • else decode at 48 kHz and resample.

  10. Opus bitstream: channels count • Number of output channels is described by the "channel count" field of the ID Header; • This can be different than the number of encoded channels, which can change on packet-by-packet basis and described by the "c" field of the TOC header.

  11. Opus bitstream: channels layout The "channel map" field in ID Header indicates the order and meaning of the encoded channels. There are three mapping families: • Family 0 (RTP mapping): Allowed channel numbers are 1 or 2. For mono, there is one channel (monophonic), and for stereo, there are two channels (left, right); • Family 1 (Vorbis channel order): Allowed channel numbers range from 1 to 8. The meanings of the channels depend on the number of channels and follow the Vorbis mapping specifications; • Family 255 (no defined channel meaning): Allowed channel numbers range from 1 to 255. In this family, the channels are unidentified.

  12. Opus audio analysis with Virinext Bitstream Analyzer Screenshot of PCM-analysis and GOP widgets of Opus audio file opened in Virinext Bitstream Analyzer:

  13. References • Virinext Bitsteam Analyzer - GUI tool for displaying and analyzing coded video and audio streams • Opus audio: high level format overview • Opus homepage • Official Opus file format specification

More Related