Understanding PCI Buffer Data in DVD VOB Files
This article provides an overview of the Presentation Control Information (PCI) stored within DVD Video Object (VOB) files. It details the exact data structures housed inside the PCI buffer, explaining how playback timing, camera angle switching, interactive menu highlights, and recording metadata are organized and utilized by DVD players during real-time media presentation.
The Role of the PCI Buffer
In DVD-Video specifications, a VOB file is partitioned into Video Object Units (VOBUs). Every VOBU begins with a Navigation Pack (NV_PCK), which contains two primary 980-byte control data packets: the Presentation Control Information (PCI) and the Data Search Information (DSI).
While the DSI handles navigation, forward/backward scanning, and seamless branching, the PCI buffer specifically stores real-time presentation control data necessary to display the audio/video content and render user interfaces. The PCI data is structured into four primary sections:
1. PCI General Information (PCI_GI)
The PCI_GI block occupies the initial bytes of the PCI buffer and contains fundamental presentation parameters for the current VOBU:
- NV_PCK_LBN: The Logical Block Number of the navigation pack itself, establishing relative disc positioning.
- VOBU_CAT: VOBU Category flags, which define the operational state (such as whether analog copy protection or display restrictions apply).
- VOBU_UOP_CTL: User Operation Control flags, specifying prohibited user actions during this VOBU (e.g., disabling the pause, skip, or menu buttons).
- VOBU_S_PTM and VOBU_E_PTM: Start and End Presentation Time Stamps defining the exact playback duration of the VOBU based on the DVD system clock (90 kHz reference).
- VOBU_SE_E_PTM: Sequence End Presentation Time Stamp, identifying when playback of an entire sequence ends.
- C_ELTM: Cell Elapsed Time, indicating the exact playback time that has elapsed since the beginning of the current cell.
2. Non-Seamless Angle Information (NSML_AGLI)
This section contains destination addresses required for multi-angle DVD titles where angle switching is non-seamless:
- NSML_AGL_DSTA: Destination addresses pointing to the start of the target VOBU for up to nine distinct camera angles. When a user changes the view angle, the player uses these offsets to quickly jump to the corresponding frame in the alternate video stream.
3. Highlight Information (HLI)
The HLI section manages the interactive menu buttons overlaid on video streams. It dictates how the subpicture layer responds to user input and is subdivided into:
- Highlight General Information (HL_GI): Contains global menu parameters, such as the active status of buttons, starting and ending presentation timestamps for the button display, the selected button number, and color palette definitions.
- Button Color Information Table (BTN_COLIT): Contains color and contrast information for button states (normal, selected, and activated) across different color palettes.
- Button Information Table (BTNIT): Contains explicit
data for up to 36 menu buttons (or 18 in widescreen display modes). Each
button entry includes:
- Rectangular coordinates \((X_1, Y_1)\) to \((X_2, Y_2)\) mapping the button’s physical screen area.
- Neighboring navigation parameters defining which button gains focus when the user presses the Up, Down, Left, or Right directional keys.
- Navigation commands (DVD Virtual Machine bytecode) executed immediately when the button is activated, such as jumping to a specific Title, Program Chain (PGC), or Chapter.
4. Recording Information (RECI)
The RECI block contains International Standard Recording Code (ISRC) metadata and copy control information:
- ISRC Video: Identifies ownership, country, and production year for the video stream.
- ISRC Audio: Specific ISRC identifiers mapped to the corresponding audio streams within the VOBU.
- ISRC Subpicture: Identifies licensing and tracking codes for active subpicture tracks.