How DVD Motion Menus Highlight Selected Buttons

DVD motion menus highlight active buttons by combining an underlying MPEG-2 motion video with a separate subpicture overlay layer, driven in real time by the DVD player's navigation engine. Rather than altering the video stream itself, the player reads button coordinates and color-mapping rules stored in Presentation Control Information (PCI) packets inside the VOB file. When a user selects a button, the player dynamically applies specified color and transparency values from a Color Look-Up Table (CLUT) to the subpicture layer within that button's defined bounding box, rendering the highlight seamlessly over the playing video.

The Multiplexed Streams in a VOB

A DVD Video Object (VOB) file is an MPEG-2 Program Stream containing multiplexed elements: video, audio, subpicture data, and private navigation streams. In a motion menu, the visual background and any unhighlighted button artwork are typically encoded directly into the main MPEG-2 video stream.

Because re-encoding the video for every possible button state would consume excessive disc space, the DVD specification isolates interactivity into two additional components:

The Role of the Subpicture Overlay

The subpicture stream contains run-length encoded (RLE) bitmaps with a bit depth of only 2 bits per pixel. This allows a subpicture frame to store up to four distinct pixel values: typically designated as background, pattern, emphasis 1, and emphasis 2.

In a menu context, these four values represent the shapes, underlines, borders, or text masks that constitute the button highlights. Under normal circumstances, this subpicture layer is set to fully transparent so the moving background video remains completely visible.

Button Definitions via PCI Packets

Inside every NAV pack resides a Presentation Control Information (PCI) packet. The PCI packet includes the Presentation Control Information Highlight General Information (PCI_HLI) table, which governs menu interactivity.

The PCI_HLI defines:

The Color Look-Up Table (CLUT)

The colors used for button highlights are not stored as direct RGB or YUV values within the subpicture itself. Instead, the disc's IFO file defines a 16-color Palette or Color Look-Up Table (CLUT).

The PCI packet dictates which color from this 16-color palette maps to each of the four pixel types in the subpicture bitmap, along with a contrast value ranging from 0 (completely transparent) to 15 (fully opaque).

The Real-Time Rendering Process

When a DVD player loads a motion menu VOBU:

  1. Decoding: The player continuously decodes the MPEG-2 video stream and routes it to the display buffer, providing the moving background.
  2. Overlay Mapping: The player aligns the 2-bit subpicture bitmap over the video frame.
  3. State Evaluation: The player tracks which button index currently holds focus. For unselected buttons, contrast levels are typically set to 0, leaving those regions invisible.
  4. Highlight Application: For the bounding box assigned to the Selected button, the hardware graphics chip switches the color and contrast mapping of the subpicture pixels to the "Selected" state defined in the PCI packet.
  5. Compositing: The graphics processor blends the subpicture highlight over the running video frame according to the defined opacity levels.

If the user presses an arrow key on the remote, the DVD player immediately updates its internal state register, shifts the active bounding box to the adjacent button coordinates, and changes the overlay rendering in real time without interrupting the continuous playback of the background video.