How NV_PCK Functions in DVD VOB Files
In the DVD-Video standard, a Navigation Pack (NV_PCK) is a mandatory control block positioned at the absolute start of every Video Object Unit (VOBU) within a VOB file. This article explains the technical role of the NV_PCK, breaking down how its specialized data packets—Presentation Control Information (PCI) and Data Search Information (DSI)—govern playback timing, user permissions, non-linear navigation, and trick-play operations like fast-forward and rewind.
The Structure of a VOBU and NV_PCK
A VOB (Video Object) file is divided into VOBUs, which typically represent 0.4 to 1.0 seconds of presentation time and usually contain one Group of Pictures (GOP). Every VOBU must begin with an NV_PCK. Like all DVD standard packs, an NV_PCK is exactly 2,048 bytes (one DVD logical sector).
Unlike the audio, video, or sub-picture packs that follow it, the NV_PCK contains no actual media content. Instead, it serves as the control header for the subsequent packs in that VOBU. It contains two distinct sub-packets: the Presentation Control Information (PCI) buffer and the Data Search Information (DSI) buffer.
Presentation Control Information (PCI)
The PCI packet occupies the first half of the NV_PCK payload and dictates how the VOBU is presented to the viewer in real time. Its primary functions include:
- Presentation Timestamps: It defines the exact start and end presentation times (PTS) for the media contained in the VOBU, ensuring audio and video maintain synchronization relative to the System Clock Reference (SCR).
- User Operation Prohibitions (UOP): The PCI specifies which remote-control actions are blocked during this specific VOBU. For example, it can disable the skip, fast-forward, or menu buttons during mandatory warnings or unskippable logos.
- Angle and Sub-picture Control: If multiple camera angles or dynamic sub-picture streams are used, the PCI tells the player which stream offsets apply to the current segment.
- Highlight Information (HLI): For interactive DVD menus, the PCI stores button coordinates, colors, and activation commands, allowing the player to highlight options when a user navigates with a remote.
Data Search Information (DSI)
The DSI packet occupies the second half of the NV_PCK and provides the physical addressing required for seeking, branching, and trick-play modes. Its primary functions include:
- Fast-Forward and Rewind (Trick Play): The DSI contains a comprehensive list of forward and backward reference pointers (VOBU_SRI). These pointers specify the relative sector offsets to nearby VOBUs (e.g., +1, +2, +4, +8, +16, +32 VOBUs ahead, and corresponding values behind). When a user fast-forwards at 8x speed, the DVD player does not decode every frame; it reads the DSI pointer to jump directly to the target VOBU's NV_PCK, decodes only the I-frame, and repeats the process.
- Seamless Branching: For multi-angle scenes or parental-control cuts, the DSI contains Interleaved Unit (ILVU) navigation flags. This enables the player's optical pickup to jump between alternate video segments on the disc without dropping frames or interrupting audio.
- VOBU Boundaries: It defines the exact end address of the current VOBU and the sector location of the first reference frame (the video I-frame), allowing the player to parse the data stream efficiently.
Operational Lifecycle
When a DVD player reads a VOB stream, it parses the NV_PCK before decoding any visual or auditory data. By reading the NV_PCK first, the player configures its internal registers for the incoming data, locks out prohibited user commands, updates the on-screen display timer, and prepares navigation jump tables for the next sector read. This structure makes random access, trick play, and interactive menu handling possible on hardware with minimal memory and processing capabilities.