Multi-Language Menus via Subpicture Streams in VOB
This article explains how multi-language DVD menus operate within a single Menu Video Object (VOB) file using separate subpicture streams. It details the multiplexing of language-specific graphic overlays on top of a shared video background, how DVD navigation commands automatically switch between these streams based on player language settings, and how interactive button states function across multiple languages without duplicating video assets.
The Architecture of a Multi-Language Menu VOB
In the DVD-Video specification, a Menu VOB is an MPEG-2 Program Stream capable of multiplexing video, audio, and up to 32 subpicture streams. When authoring multi-language menus within a single VOB, the video stream acts as a universal, language-neutral background. This background can be a static image or motion video containing imagery, animations, and non-text graphical elements.
The text labels, menu titles, and interactive button graphics are kept out of the underlying video stream. Instead, each supported language is assigned its own dedicated subpicture stream within the multiplexed VOB (for example, Subpicture Stream 0 for English, Stream 1 for Spanish, and Stream 2 for French).
How Subpictures Create Localized Overlays
Subpicture streams consist of run-length encoded 2-bit bitmap graphics capable of displaying up to four colors simultaneously from a 16-color palette defined in the Video Title Set Information (IFO) file. In a multi-language setup, each subpicture stream contains:
- Static Text Overlays: The visible text for menu options (e.g., "Play Movie", "Scene Selection") rendered in the target language.
- Button Highlights: The visual indicators for the three distinct button states: Normal (unselected), Selected (focused via remote control arrows), and Activated (pressed via the Enter key).
Because the subpicture graphics overlay the video in real time, switching the active subpicture stream instantly changes the entire visible language of the menu while the background video plays uninterrupted.
Automatic and Manual Language Selection
The DVD player determines which subpicture stream to display through DVD navigation commands, using either automatic detection or manual selection.
- Automatic Switching via SPRMs: DVD players store
user preferences in System Parameter Registers (SPRMs). SPRM 0 stores
the user's preferred menu language code (such as "en", "es", or "fr").
During the pre-command phase of the menu domain, conditional navigation
instructions evaluate the value of SPRM 0:
Theif (SPRM 0 == 'es') SetSTN (subpicture = 1) else if (SPRM 0 == 'fr') SetSTN (subpicture = 2) else SetSTN (subpicture = 0)SetSTN(Set System Stream Number) command instructs the player's decoder to demultiplex and display the corresponding subpicture stream. - Manual Switching: If a viewer manually selects a
language on an initial configuration screen, a post-command or button
command updates a General Parameter Register (GPRM) and issues a
SetSTNinstruction before routing the user to the main menu.
Button Coordinate Mapping and PCI Packets
Interactive menu functionality is governed by Presentation Control Information (PCI) packets embedded directly within the VOB's Navigation Packs (NV_PCKs). A single menu cell shares one common set of button coordinate definitions, typically supporting up to 36 rectangular button areas.
Because all subpicture streams in the menu share the same underlying PCI data:
- Each language's text must fit within the identical coordinate boundaries defined for that button number.
- When a button is highlighted or pressed, the player applies the color and contrast settings defined in the PCI packet to the color indices of whichever subpicture stream is currently active.
- The activation command linked to a button (such as jumping to Title 1, Chapter 1) remains consistent regardless of the language displayed.
Efficiency and Limitations
Using separate subpicture streams within a single VOB maximizes disc space efficiency. Instead of encoding multiple large MPEG-2 video backgrounds for each language, the author only stores a single video stream alongside lightweight 2-bit graphic streams.
The primary constraint of this approach is visual design. Because button coordinates are shared across all streams, button layouts must accommodate varying text lengths across languages without altering button positions. Additionally, menu text is limited to the DVD subpicture format's 4-color palette limitations, requiring careful anti-aliasing against the background video.