How AC-3 DRC Metadata Works in VOB Files

This article explains how Dynamic Range Compression (DRC) metadata functions within Dolby Digital (AC-3) audio tracks encapsulated inside DVD Video Object (VOB) files. It details how DRC parameters are encoded into AC-3 audio frames, how the VOB container transports this data, and the mechanism decoders use to apply non-destructive, real-time volume management during playback.

The Role of the VOB Container

A VOB file is based on the MPEG-2 Program Stream format, designed to interleave video, audio, and sub-picture streams into a single synchronized file. Inside a VOB container, AC-3 audio streams are assigned to Private Stream 1 with specific sub-stream IDs (typically ranging from 0x80 to 0x87).

The VOB container treats the AC-3 elementary stream as payload data within Packetized Elementary Stream (PES) packets. It does not parse, modify, or process the internal AC-3 audio data. Instead, the container merely delivers the AC-3 frames to the audio decoder alongside Presentation Time Stamps (PTS) to maintain audio-video synchronization.

AC-3 Frame Architecture and DRC Metadata

An AC-3 stream consists of individual frames, each representing 1,536 audio samples divided across six discrete audio blocks (AB0 through AB5). Each frame contains three primary sections:

  1. Synchronization Information (syncinfo): Establishes frame boundaries and sample rate.
  2. Bit Stream Information (BSI): Contains stream configuration data and global metadata, such as dialog normalization (dialnorm).
  3. Audio Blocks (AB0–AB5): Contain the transform coefficients and block-specific metadata, which include dynamic range compression values.

DRC operates via two specific metadata parameters embedded in the AC-3 bitstream: dynrng (Dynamic Range) and compr (Heavy Compression).

Non-Destructive Operation

The defining characteristic of DRC metadata in AC-3 is that it is entirely non-destructive. During the authoring process, the audio encoder analyzes the original dynamic range of the master mix and calculates the necessary attenuation (cuts) and amplification (boosts) relative to the dialog level defined by dialnorm.

Instead of altering the actual audio samples, the encoder writes these calculated gain adjustments into the dynrng and compr bit fields. The underlying audio waveform remains at full dynamic range inside the stream.

Decoding and Playback Processing

When a playback system (such as a DVD player or software media player) reads a VOB file, the demultiplexer extracts the AC-3 packets and routes them to the AC-3 decoder. The decoder executes the DRC instructions using the following operational flow:

  1. Extraction: The decoder unpackages the frame, reads dialnorm, and parses the dynrng or compr bytes.
  2. Profile Selection: Depending on user settings and output connections, the decoder selects either Line Mode (which utilizes dynrng and provides moderate compression suitable for high-end consumer gear) or RF Mode (which utilizes compr to eliminate clipping on low-headroom outputs).
  3. User Scaling: Most decoders offer user-facing DRC controls (such as "Night Mode" or a dynamic range percentage slider). The decoder scales the metadata values linearly between 0% (full dynamic range, metadata ignored) and 100% (full compression applied).
  4. Gain Application: The decoded frequency-domain coefficients are converted back to time-domain PCM samples. The decoder applies the calculated gain factors to these samples prior to digital-to-analog conversion or multi-channel PCM output. Loud transient peaks are attenuated, and quiet sounds are boosted, keeping dialogue clear without requiring constant manual volume adjustments.