How DVD Menu Button Overlays Work in Menu VOBs
Interactive DVD menus achieve functional buttons and highlight effects by multiplexing an MPEG-2 video stream, a 2-bit subpicture stream, and Presentation Control Information (PCI) within a single menu Video Object (VOB). Rather than rendering completely new video frames whenever a user navigates between choices, the DVD player blends a lightweight graphical subpicture layer over the background video according to coordinates and color look-up instructions stored in the menu's navigation metadata.
The Component Streams in a Menu VOB
A standard menu VOB contains three interdependent data elements that work together to display interactive interfaces:
- The MPEG-2 Video Stream: Provides the visual background. This can be a static single-frame I-frame (still menu) or a continuous motion video loop (motion menu). The background video typically contains the rendered text, button frames, and artwork.
- The Subpicture Stream: A run-length encoded (RLE), 2-bit bitmap layer that runs parallel to the video. Because each pixel is defined by only 2 bits, it can represent only four values (typically designated as Background, Pattern, Emphasis 1, and Emphasis 2). This layer outlines the visual shapes of the highlights, underlines, or bounding boxes.
- The Navigation Pack (PCI): Embedded within the VOB alongside the audio/video packs, the Presentation Control Information (PCI) contains a dedicated data structure called the Highlight Information (HLI) table. The HLI defines the interactive functionality, button coordinates, color mapping, and user action triggers.
Spatial Mapping via Highlight Information (HLI)
The DVD author defines rectangular zones for up to 36 buttons per menu (or 18 buttons for 16:9 widescreen formats). In the HLI table, each button is assigned an absolute coordinate bounding box defined by \(X\)-start, \(Y\)-start, \(X\)-end, and \(Y\)-end values relative to the 720×480 (NTSC) or 720×576 (PAL) pixel grid.
The player only applies highlight effects within these specific rectangular boundaries. Any subpicture pixels outside the currently active button's bounding box remain unaffected or adhere to default transparency rules.
Button States and Color Palette Mapping
The HLI controls the appearance of a button across three distinct states:
- Normal: The default, unselected state. Usually, all subpicture pixels in this state are set to 100% transparent so only the underlying MPEG-2 video background is visible.
- Selected: The state when a user navigates to a button using direction keys.
- Activated: The momentary state when a user presses the "Enter" or "OK" key.
For both the "Selected" and "Activated" states, the HLI specifies a color and contrast scheme. The DVD format provides a 16-color palette (Color Look-Up Table or CLUT) stored in the IFO file. The HLI maps the subpicture's four 2-bit pixel values to any color in this 16-color palette, along with an alpha channel (contrast) value ranging from 0 (completely transparent) to 15 (completely opaque).
Real-Time Hardware Compositing
When a user interacts with a menu, the DVD player performs real-time hardware compositing rather than accessing new video data:
Decoding: The player continuously decodes the MPEG-2 video frame and the corresponding subpicture frame into memory buffers.
State Evaluation: The player's navigation engine tracks which button index is currently selected.
Palette Transformation: The hardware compositor reads the HLI entry for the active button. Within that button's bounding coordinates, it converts the 2-bit subpicture pixels into their assigned RGB/YUV colors and alpha values.
Alpha Blending: The compositor overlays the colored subpicture pixels onto the decoded MPEG-2 video pixels using standard alpha blending formulas:
\[\text{Output Pixel} = (\text{Subpicture Pixel} \times \alpha) + (\text{Video Pixel} \times (1 - \alpha))\]
Output: The composite image is sent to the display.
When a directional key is pressed, the player instantly changes the active button index, swaps the active bounding box, re-applies transparency to the previously selected zone, and renders the highlight inside the new coordinates. Because this logic is handled entirely by hardware blending via the HLI instructions, navigation remains instantaneous and independent of video frame rates.