DVD Menu Buttons and Subpicture Streams in VOBs
Interactive DVD menus rely on the multiplexed architecture of a Video Object (VOB) file to present responsive, visually dynamic navigation. While the background visual and audio are rendered as standard MPEG-2 video and digital audio tracks, interactive buttons depend on a synchronized subpicture stream combined with navigation data. This article explains how the subpicture stream functions as a graphical overlay, how Navigation Packs define button coordinates, and how color-switching mechanisms create the illusion of interactive button states like selection and activation.
The Role of the Subpicture Stream in Menus
In a DVD menu VOB, the background video stream provides the underlying artwork, animations, and static button text or icons. The subpicture stream acts as an overlay positioned directly on top of this background video.
Rather than rendering full-color graphics, the subpicture stream is a run-length encoded, 2-bit bitmap. This 2-bit depth restricts the subpicture to four distinct pixel types:
- Background: Typically set to fully transparent so the underlying MPEG-2 video remains visible.
- Pattern (Foreground): Defines the primary shape of the button highlight (such as an outline, arrow, or text overlay).
- Emphasis 1: Used for antialiasing, borders, or secondary accent colors on the button highlight.
- Emphasis 2: Used for additional contrast, shadows, or outer borders.
Button Mapping via Navigation Packs (NV_PCK)
The subpicture bitmap itself contains no logical programming; it only holds graphical pixels. The interactive intelligence is embedded in the Presentation Control Information (PCI) buffers within the Navigation Packs (NV_PCK) multiplexed alongside the video and subpicture packets.
Within the PCI packet lies the Highlight Information (HLI) table, which defines:
- Button Boundaries: Rectangular coordinates (X and Y offsets) that delineate the interactive zones on the screen. Up to 36 buttons can be mapped for standard 4:3 menus, or up to 18 for 16:9 widescreen menus.
- Navigation Links: Data specifying which button is selected next when the user presses the Up, Down, Left, or Right directional keys on a remote control.
- Command Execution: Specific VMGI/VTSM instructions
(such as
JumpTTorLinkPGCN) triggered when a button is confirmed.
Handling States: Normal, Selected, and Activated
A menu button exists in one of three states:
- Normal: The default state when the button is inactive.
- Selected: The state when the user navigates onto the button using directional arrows.
- Activated: The momentary state triggered when the user presses "Enter" or "OK."
The subpicture graphic is drawn across the entire frame, covering all buttons simultaneously. The DVD player displays different states not by redrawing the graphic, but by altering the palette mapping within the button's defined bounding box.
The HLI specifies distinct Color Lookup Table (CLUT) mappings and transparency (alpha) values for the "Selected" and "Activated" states:
- In the Normal state, the subpicture pixels over a button are generally mapped to 100% transparency, making the overlay invisible and revealing the background video artwork underneath.
- In the Selected state, the DVD player instantly swaps the color and alpha indices for that button's bounding box, making the subpicture highlight visible (e.g., turning a transparent outline into a solid yellow border).
- In the Activated state, a third color and alpha mapping is applied briefly (e.g., turning the border blue) before executing the button's navigation command.
Efficiency and Synchronization
By delegating interactivity to the subpicture and PCI streams, the DVD-Video standard eliminates the latency of loading new video frames when a user navigates a menu. The hardware simply modifies color and transparency registers on an existing 2-bit overlay, enabling immediate visual feedback while the background video loops seamlessly beneath it.