VOB DTS Audio Sub-Stream ID Range Explained
This article examines the specific sub-stream identification architecture used for Digital Theater Systems (DTS) audio tracks within DVD Video Object (VOB) containers. In DVD-Video authoring, non-MPEG audio formats rely on private stream headers to differentiate multiple channels and encoding types. Readers will learn the precise hexadecimal sub-stream ID range assigned to DTS audio, how it operates within MPEG-2 Program Streams, and how it compares to other co-existing audio formats.
The DTS Sub-Stream ID Range
In a standard VOB container, the sub-stream ID range reserved for DTS
audio streams is 0x88 to 0x8F
(hexadecimal), corresponding to decimal values 136 through 143.
This 8-value range allows a single DVD title to multiplex up to eight distinct DTS audio streams. Each stream can carry different language tracks, audio configurations, or commentary tracks encoded in the DTS format.
How Sub-Stream Addressing Works in VOB Files
VOB files are based on the MPEG-2 Program Stream (MPEG-PS) specification. Under this specification, standard stream IDs are assigned for video and native MPEG-1/MPEG-2 audio:
- MPEG Video tracks use stream IDs ranging from
0xE0to0xEF. - MPEG Audio tracks use stream IDs ranging from
0xC0to0xDF.
Because formats such as DTS, AC-3 (Dolby Digital), and uncompressed
LPCM were not defined in the original MPEG-2 core standard, the DVD
specification routes them through a single generic container track known
as Private Stream 1, designated by stream ID
0xBD.
When a demuxer or media player encounters a packet marked with
0xBD, it inspects the first byte of the PES (Packetized
Elementary Stream) payload. This byte acts as the sub-stream ID,
directing the demuxer to the appropriate decoder:
0x80–0x87: AC-3 (Dolby Digital) Audio (up to 8 streams)0x88–0x8F: DTS Audio (up to 8 streams)0x98–0x9F: SDDS Audio (Sony Dynamic Digital Sound, up to 8 streams)0xA0–0xA7: LPCM Audio (up to 8 streams)0x20–0x3F: Sub-picture / Subtitle streams (up to 32 streams)
Structure of a DTS Audio Packet
When audio is demuxed from stream 0xBD:
- Sub-Stream Identifier: The first byte contains the
ID (for example,
0x88for DTS stream 0,0x89for DTS stream 1). - Frame Header / Audio Packet Data: Following the
sub-stream identifier and any format-specific header offsets, the raw
DTS elementary stream payload begins, characterized by the DTS
synchronization word (
0x7FFE8001for standard 16-bit core streams).
Demuxing utilities and media players use the
0x88–0x8F identifier to route the compressed
data directly to the DTS decoder or pass it unchanged over S/PDIF or
HDMI via bitstream pass-through.