Opus audio: high level bitstream overview with Virinext Bitstream Analyzer - PowerPoint PPT Presentation

About This Presentation
Title:

Opus audio: high level bitstream overview with Virinext Bitstream Analyzer

Description:

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. The Opus codec supports both constant and variable bitrate encoding and a wide range of bitrates from 6 kbit/s to 510 kbit/s. It allows for flexible frame sizes from 2.5 ms to 60 ms and supports five sampling rates spanning from 8 kHz to 48 kHz. Opus can have up to 255 audio channels and provides channel coupling, enhancing its versatility and adaptability to different audio scenarios. One of the key advantages of Opus is low latency, allowing for smooth and responsive audio transmission in interactive applications. This is valuable for real-time communication such as online gaming or videoconferencing. This presentation provides a high level overview of Opus audio bitstream syntax. – PowerPoint PPT presentation

Number of Views:1
Date added: 28 March 2024
Slides: 14
Provided by: virinext
Tags:

less

Transcript and Presenter's Notes

Title: Opus audio: high level bitstream overview with Virinext Bitstream Analyzer


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
Write a Comment
User Comments (0)
About PowerShow.com