8. Cell Architecture
Modern DVD players use advanced firmware and control software to provide smooth
playback of high-quality video and audio contents present on today DVD-Video discs.
DVD-Video contents are organized as contiguous addressable chunks of data, known as
program stream. In order to play back the contents recorded on a DVD disc, the DVD
player firmware includes two major components: a presentation engine and a
navigation engine. The presentation engine uses information in the presentation
data stream from the disc to know how to display its contents. The navigation engine
uses the information in the navigation data stream from the disc to provide
interactivity for the user interface, display menus, and to support random access
and conditional branching, etc. via a standard set of player instructions known as
DVD virtual commands.
A typical DVD program stream contains four packetized elementary streams (commonly
abbreviated or known as PES): video, audio, sub-picture, and navigation. The
navigation data stream contains the presentation control information (PCI), and
data search information (DSI). A data stream can be as short as a few thousand bytes
as in the case of a sub-picture stream, or as long as many gigabytes as in the case
of a long movie. Similar to CD-ROM media, data stream is stored in individual
segment on a DVD disc called sector.
Each sector contains a total of 2064 bytes of
raw data including a header area, user data area, and error detection code. The
header area contains manufacturing and encryption information (used by the Contents
Scrambling System, CSS). The usable 2048-byte data size is fixed and located between
the sector header and the Error Detection Code (EDC). The EDC area contains
information to help the DVD player make its best guess to correct or read from the
data area if its contents are damaged. The data area holds the packetized elementary
streams which make up the DVD contents. This area is known as a logical sector or a
logical block address (LBA).
Logical sectors are recorded continuously on the DVD
disc. A typical cell can span from one to many logical sectors. Data stored in a
video, audio, sub-picture, or navigation stream in a sector have to be packetized.
It is a standard process in the MPEG world to slice the elementary stream to be
Packetized Elementary Stream (PES). However, this process creates a bit of
complexity in the DVD format.
A cell is comprised of one or more Video Object Units (VOBU). Each VOBU consists of
0.4 second to 1 second of playback time. All VOBUs belong to the same cell have the
same VOB Id (from 1 to 65,535) and Cell Id (from 1 to 255). Each VOBU begins with a
navigation pack (N) and is followed by one or more structures which contain
video (V), audio (A), sub-picture (S), and other data in a packetized, time-division multiplexed
fashion. The order of video, audio, and sub-picture stream in a VOBU is arbitrary.
However, a VOBU is not required to contain any data other than the navigation pack (N),
and thus the content within a VOBU may be shorter than the playback time of the VOBU itself.
It is possible to include still frames displayed for an arbitrary length of time at
arbitrary points within the video playback. Details on the data structures of PCI
and DSI are discussed in section 15 and 16 of the
Unofficial DVD specifications 2.2 ebook