Understanding Cell Structure and VOBUs in VOB Files
This article explains the purpose and functionality of cells and Video Object Units (VOBUs) within a DVD Video Object (VOB) file. It breaks down the structural hierarchy of DVD-Video streams, explaining how cells organize presentation timing and chapters, how VOBUs act as the granular containers for multiplexed media, and how navigation packs bind them together to enable smooth playback, user seeking, and interactive branching.
The Structural Hierarchy of VOB Files
In the DVD-Video specification, MPEG-2 program streams are stored inside VOB files. To manage playback logically rather than just sequentially, the format uses a hierarchical structure consisting of Titles, Program Chains (PGCs), Programs, Cells, and Video Object Units (VOBUs).
A Cell is the smallest presentation unit accessible by the DVD player's high-level navigation system, while a VOBU is the smallest physical container unit within the stream itself. A Cell consists of an ordered sequence of contiguous VOBUs, and each VOBU contains the actual multiplexed audio, video, sub-picture, and navigation packets.
The Purpose of a Cell
Cells serve as the bridge between DVD authoring logic and the raw media stream. Their primary functions include:
- Chapter and Scene Division: Each chapter or scene boundary on a DVD is defined by the start of a new Cell. By referencing a specific Cell ID, the DVD menu can immediately instruct the player to start playback at that exact scene.
- Interactive Branching: Seamless branching—used in multi-angle scenes, director's cuts, or parental controls—relies on alternating between different Cells without interrupting audio or video decoding.
- Playback Sequencing: Program Chains (PGCs) do not contain raw video; instead, they contain lists of instructions pointing to specific Cells. This allows the same physical media in a VOB file to be reordered or reused across different playback paths without duplicating video data.
The Role of the VOBU Within the Cell
While a Cell defines what to play, the VOBU defines how the hardware player decodes and navigates that segment. A VOBU typically corresponds to about 0.4 to 1.0 second of playback time, usually matching one Group of Pictures (GOP) in MPEG-2 video.
Every VOBU begins with a specialized data packet called the Navigation Pack (NV_PCK), which contains:
- Presentation Control Information (PCI): Manages real-time display settings, highlight information for menus, and angle changes.
- Data Search Information (DSI): Stores exact byte offsets and playback timings for trick-play modes (fast-forward, rewind) and relative addresses to preceding and succeeding VOBUs within the same Cell.
How Cells and VOBUs Interact
The VOBU embeds the identity of its parent Cell within its Navigation Pack via the VOB ID and Cell ID fields. This metadata fulfills several critical operational purposes:
- Boundary Recognition: The player reads the Cell ID in the VOBU to confirm it is still inside the intended scene. When the Cell ID changes, the player evaluates the PGC instructions to determine the next action (such as loading a menu, jumping to another Cell, or executing a VM command).
- Precise Scrubbing and Seeking: Because video is compressed across multiple frames (inter-frame compression), a player cannot jump arbitrarily to any byte. The DSI within the VOBU maps out the GOP start points within the boundaries of the active Cell, enabling smooth fast-forward and rewind operations.
- Audio and Subtitle Synchronization: Cells establish the presentation time stamps (PTS) baseline, allowing the player to synchronize multiplexed audio and sub-picture streams at the start of each new playback segment.