Forced Subtitles in DVD VOB Subpictures Explained

This article provides an overview of forced subtitles in digital video and details the low-level technical mechanism used to flag them within DVD Video VOB subpicture streams. It covers the functional purpose of forced subtitles, the architecture of the DVD Subpicture Unit (SPU), and the specific display control commands that instruct hardware and software players to render dialogue overlays unconditionally.

What Is a Forced Subtitle?

A forced subtitle—often referred to as a forced narrative—is a subtitle track or single subtitle event designed to display regardless of whether the viewer has explicitly enabled subtitles in their media player.

Forced subtitles are used when translation or textual context is critical to the narrative for an audience listening to the primary audio track. Typical use cases include:

Unlike standard subtitles, which transcribe all spoken dialogue for the deaf or hard of hearing (SDH) or offer full-length language translations, forced subtitles appear only intermittently to preserve narrative comprehension.

The DVD VOB Subpicture Architecture

In the DVD-Video specification, subtitles are not stored as plain text. Instead, they are stored as run-length encoded (RLE) 2-bit (4-color) bitmap overlays contained within the MPEG-2 Program Stream (.VOB files). These graphic streams are designated as Subpicture Streams and occupy Private Stream 1 (sub-stream IDs 0x20 through 0x3F).

Each distinct display event is packaged as a Sub-Picture Unit (SPU). An SPU consists of three main components:

  1. SPU Header: Contains metadata such as the total size of the SPU and the starting address of the control commands.
  2. Pixel Data: The compressed bitmap graphic that contains the visual rendering of the text or graphics.
  3. Sub-Picture Display Control Sequence Table (SP_DCSQT): A list of timestamped execution blocks (SP_DCSQ) containing command codes that dictate when and how the player must render, move, colorize, and stop displaying the pixel data.

How Forced Subtitles Are Flagged in the SPU

DVD-Video supports two different approaches for handling forced subtitles: utilizing a dedicated forced-only subpicture stream, or embedding forced items within a standard subpicture stream. When embedded within a standard stream containing regular dialogue, the player uses a specific byte flag inside the control sequence table to distinguish forced elements from standard ones.

Within each SPU, the display behavior is determined by the control commands in the SP_DCSQ block. The activation of the bitmap display relies on one of two primary 1-byte command tokens:

A standard SP_DCSQ entry contains:

  1. An execution start time (offset from the SPU start presentation timestamp).
  2. The address offset to the next SP_DCSQ.
  3. One or more control commands, beginning with the display command (0x00 or 0x01), followed by color mapping (0x03), transparency/contrast settings (0x04), screen coordinates (0x05), and pixel data offsets (0x06), terminated by an end command (0xFF).

Player Interpretation and Behavior

When parsing a VOB stream, the playback system reads the SPU's SP_DCSQ. If it reads the 0x00 (FSTA_DSP) opcode:

  1. The player checks its system parameter registers (SPRM), specifically SPRM 2 (Subpicture stream number and display state).
  2. Regardless of whether bit 6 of SPRM 2 (the display flag) is set to 0 (disabled) or 1 (enabled), the FSTA_DSP command forces the decoder to draw the frame into the video mixing buffer.
  3. The display persists until the control table reaches a termination command (0x02 / STP_DSP - Stop Display) at the designated time offset.

By using the 0x00 command code directly at the SPU level, DVD authors avoid having to create entirely separate streams for native and non-native dialogue, allowing standard and forced elements to coexist within a single subpicture track.