VOBU Closed GOP Requirements for Seamless Branching

This article provides an overview of how a Video Object Unit (VOBU) within a DVD-Video VOB (Video Object) container manages closed Group of Pictures (GOP) requirements to achieve seamless branching. Seamless branching allows playback systems to switch between alternative video sequences—such as multiple storylines, director's cuts, or multi-angle scenes—without latency, dropped frames, or visual artifacts. By strictly regulating GOP headers, temporal reference structures, and buffer parameters at the VOBU boundary, the multiplexer ensures that MPEG-2 decoders can cleanly transition across branch points.

The Role of the VOBU in Stream Navigation

A VOBU is the fundamental delivery and timing unit in a DVD VOB container, typically representing 0.4 to 1.0 second of playback. Every VOBU begins with a Navigation Pack (NV_PCK), containing Presentation Control Information (PCI) and Data Search Information (DSI). Immediately following the NV_PCK is the elementary video stream, which consists of one or more GOPs.

In seamless branching (implemented via Interleaved Video Units, or ILVUs), the playback engine jumps dynamically from the end of one cell to the beginning of another. For this transition to occur without decoding failure, the entry point of the destination stream must be instantly decodable without dependency on previous data.

Closed GOP Implementation at Branch Boundaries

Standard MPEG-2 video streams often use "open GOPs" to increase compression efficiency. In an open GOP, bidirectional predictive frames (B-frames) immediately following the first Intra-frame (I-frame) rely on backward prediction from the final anchor frame (P-frame or I-frame) of the preceding GOP.

Seamless branching strictly prohibits open GOPs at branch entry and exit points:

Buffer Continuity via VBV Management

A closed GOP eliminates cross-GOP prediction dependencies, but seamlessness also requires preventing Video Buffer Verifier (VBV) underflows or overflows:

Synchronization via Navigation Packs (NV_PCK)

The VOBU controls the execution of the branch through its DSI data: