Role of NV_PCK When Jumping VOB Title Segments
This article explains the critical role of the Navigation Pack (NV_PCK) when a DVD player jumps to a new title segment inside a Video Object (VOB) file. It details how the NV_PCK functions as the foundational control header for Video Object Units (VOBUs), how its internal data structures—Presentation Control Information (PCI) and Data Search Information (DSI)—guide the decoder, and how it ensures precise timing, buffer management, and stream synchronization during playback transitions.
The Foundation of the NV_PCK
In the DVD-Video specification, a VOB stream consists of sequential multiplexed packs of 2,048 bytes each. The fundamental operational unit is the Video Object Unit (VOBU), which typically holds 0.4 to 1.0 seconds of presentation material beginning with a closed or open Group of Pictures (GOP).
Every VOBU must begin with an NV_PCK (Navigation Pack). When a playback system jumps to a new title, chapter, or cell segment, it targets the start sector of the corresponding VOBU. The NV_PCK at this boundary acts as the master control block that informs the hardware or software decoder how to parse, time, and present the incoming data.
Presentation Control Information (PCI)
The NV_PCK contains a specialized data packet known as the
Presentation Control Information (PCI) buffer (sub-stream ID
0x00). During a title segment jump, the PCI performs
several immediate configurations:
- Presentation Timing Synchronization: The PCI defines the Presentation Time Stamp (PTS) reference for the first video frame in the VOBU. When jumping between distinct titles, the system time clock (STC) often discontinues; the PCI provides the exact baseline to resynchronize audio, sub-picture, and video streams.
- Stream Attribute Validation: It verifies active audio streams, sub-picture tracks, and display modes (such as 16:9 anamorphic versus 4:3 letterbox) intended for the target segment.
- Angle and Interleaving Management: If the title segment jump involves a multi-angle scene, the PCI specifies the angle block properties and flags non-seamless or seamless angle switches.
- Interactive Highlights (HLI): If the new segment includes menu controls or interactive buttons, the PCI contains the Highlight Information (HLI), defining button coordinates, colors, and activation states instantly upon arrival.
Data Search Information (DSI)
Alongside the PCI, the NV_PCK houses the Data Search Information
(DSI) packet (sub-stream ID 0x01). The DSI is dedicated to
playback control, navigation offsets, and buffer flow:
- Navigational Pointers (VOBU_SRI): The DSI contains
the Search Information table (
VOBU_SRI), which lists relative sector offsets to previous and forward VOBUs. Upon landing on the new segment, the player instantly obtains the forward and backward navigation maps required for trick-play modes (fast-forward, rewind, and smooth scanning). - Seamless Playback Information (SML_PBI): When jumping to a title segment designated for seamless branching, the DSI contains end addresses for interleaved units and defines the exact sector where audio and video streams terminate, preventing buffer underruns.
- VOB Unit Addressing: It confirms the current VOBU's
start address (
NV_PCK_SCR) and termination address, allowing the demultiplexer to calculate transfer rates and verify that the seek operation landed on the correct sector boundary.
Decoder Buffer Management During a Jump
When jumping to an arbitrary title segment within a VOB, the decoder cannot assume stream continuity. The incoming NV_PCK commands the decoder hardware to execute specific state changes:
- Buffer Flushing: Unless marked as a seamless branch, the presence of the new NV_PCK signals the track buffer, video buffer (VBV), and audio buffer to clear residual data from the prior title segment.
- System Clock Reference (SCR) Alignment: The pack header of the NV_PCK carries a new SCR value. The decoder reloads its internal master clock to match this SCR, ensuring that subsequent elementary audio and video packs decode at the designated presentation times without stutter or pitch distortion.
- Decoupling Dependency: By reading the NV_PCK immediately preceding an I-frame, the decoder establishes an independent decode point, discarding dependencies on previous reference frames from the preceding title.