How Seamless Multi-Angle DVD VOB Switching Works
Seamless multi-angle playback allows a viewer to switch camera angles instantaneously during video playback without experiencing buffering, stutter, or desynchronization of audio. This article explains the technical mechanism behind this process on DVD-Video, detailing how video streams are interleaved into discrete units, how navigation packs guide the hardware reader, and how decoder buffers maintain uninterrupted presentation during angle transitions.
The Interleaved Unit (ILVU) Architecture
Standard DVD storage cannot support jumping between distant physical sectors on a disc fast enough to maintain real-time playback. To solve this, multi-angle scenes are authored as interleaved blocks.
Instead of storing each camera angle as a continuous, separate file, the video streams are chopped into small segments called Interleaved Units (ILVUs). These units are typically between 0.5 to 1 second long (equivalent to one or two Groups of Pictures, or GOPs). The disc physically stores these chunks sequentially by alternating the angles:
- ILVU A1 (Angle 1, Time 00:00–00:01)
- ILVU A2 (Angle 2, Time 00:00–00:01)
- ILVU A3 (Angle 3, Time 00:00–00:01)
- ILVU B1 (Angle 1, Time 00:01–00:02)
- ILVU B2 (Angle 2, Time 00:01–00:02)
- ILVU B3 (Angle 3, Time 00:01–00:02)
Every angle shares the exact same audio and subpicture streams to prevent any break in sound or subtitles when switching perspectives.
Navigation Packs and DSI Pointers
Every Video Object Unit (VOBU) within an ILVU begins with a
Navigation Pack (NV_PCK). This packet contains Data Search
Information (DSI), which acts as an address book for the
DVD player's optical pickup.
Within the DSI is a specific data structure known as Seamless
Multi-Angle Information (SML_AGLI). The
SML_AGLI table contains the exact physical sector addresses
of the next ILVU for every available angle. For example, while
the player is reading ILVU A1, the SML_AGLI table provides
the target sector addresses for:
- The next chunk of the current angle (ILVU B1)
- The next chunk of alternate angles (ILVU B2, ILVU B3, etc.)
When a viewer presses the angle button on a remote control, the
player does not jump immediately mid-frame. Instead, it registers the
request and reads the target address for the selected angle from the
current ILVU's SML_AGLI table. Once the current ILVU
finishes reading, the drive head jumps directly to the start sector of
the designated angle's next ILVU.
Buffer Management and Track Buffering
Because the optical pickup must physically skip over the interleaved sectors of the non-selected angles, it temporarily ceases reading data from the disc.
To hide this mechanical seek latency, the DVD player relies on an internal track buffer (a FIFO cache). The optical drive spins faster than the video's presentation rate (typically 1x–2x overspeed), reading data into the track buffer faster than it is consumed by the MPEG-2 decoder.
When an angle jump occurs:
- The read head travels over the unwanted ILVUs to land on the chosen angle's next ILVU.
- During this jump time (up to several hundred milliseconds), the MPEG-2 decoder continues pulling data uninterrupted from the track buffer.
- The read head reaches the target sector and resumes filling the buffer before it empties.
Video Stream Synchronization: Closed GOPs and PTS
To make the transition visually seamless, each ILVU must be independently decodable:
- Closed GOPs: Every ILVU begins with an MPEG-2 I-frame (Intra-coded frame) and must be authored as a "Closed GOP." This ensures that P-frames and B-frames inside the new angle do not reference frames from the previously playing angle.
- Matched Presentation Time Stamps (PTS): The starting PTS of ILVU B1, B2, and B3 are identical. When switching from ILVU A1 to ILVU B2, the decoder seamlessly matches the exact timestamp of the incoming video with the continuous audio stream, preventing frame drops or synchronization drift.