Penguin
Note: You are viewing an old revision of this page. View the current version.

A DVD-Video disc is a DVD with specific constraints on its file structure and file contents. It consists mostly of MPEG-2 video files (though apparently MPEG-1 is also allowed), plus additional data defining the navigation menus and possibly other optional extra features (like Karaoke) allowed by the DVD-Video spec.

Directory and File Structure

At the top level of a DVD-Video disc, there are two directories: "AUDIO_TS" and "VIDEO_TS", where the "TS" stands for "titleset". A title set is a set of titles, where a "title" might be the entire movie, or an extra like a documentary about the making of the movie, or an episode of a TV series. The AUDIO_TS directory is only used on DVD-Audio discs, which are quite rare, nevertheless the DVD-Video spec requires it to be present, even though it is empty.

The VIDEO_TS directory is where all the real content of a DVD-Video disc is kept. It contains files with names ending in .IFO, .BUP and .VOB. The .IFO (info) files contain overall information about the titles, including the entry into the menu structure. The .BUP files are backup copies of the .IFO files, supposed to be kept on a physically separated area of the disc to increase reliability. And the .VOB (video object) files are MPEG files containing the actual titles and menus--menus are also MPEG movies, not that different from titles (apart from usually being much shorter).

Each MPEG file is allowed to contain just one video stream, one navigation stream, up to eight audio streams (for soundtracks in different languages), and up to 32 "subpicture" streams. At any moment during playback, the player will be playing one video stream, one audio stream, and possibly one subpicture stream, overlaid on the video stream. And of course processing the navigation stream to decide what to do next.

While an audio stream may have different numbers of channels (e.g. 2-channel stereo, 5.1 surround) and use a couple of different codecs, the sample rate must always be 48kHz.

Subpictures

A subpicture is a generalization of the concept of a subtitle. On a DVD-Video disc, subtitles are not kept in text form: instead, they are stored as a picture, allowing for use of arbitrary fonts, language scripts, writing directions etc. Definition of transparent pixels allows the creation of graphics that overlay any part of the screen, and since the subpicture is stored in a stream just like the video and audio streams, it can animate as the title is playing.

In fact, menu buttons are implemented as subpictures superimposed on top of a video background. There is one subpicture showing all the menu buttons in their default (non-selected) state; another showing them all in their selected state; and a third showing them highlighted (when the user presses the "OK" or "Enter" button on the remote with a menu button selected). The actual area of each button is defined as a rectangle in a field in the .VOB file; this is what selects what portion of the appropriate subpicture to show when a button is in a particular state.

A subpicture holds two bits per pixel, allowing the use of four different colours from a palette of 16 which is defined as part of the menu or title. It is also possible to specify a 4-bit alpha (transparency) value for each of the four chosen colours.

Menus & Titles

Each titleset can have its own set of menus. The files comprising a titleset are named VTS_nn_m.IFO/BUP/VOB, where nn is the titleset number and m is incremented if the .VOB file needs to be broken up into multiple pieces because each file is not allowed to exceed 1GiB in size.

There is also another titleset-like grouping called the "Video Manager" (VMGM), of which there can only be one on the disc. This is kept in the files VIDEO_TS.IFO/BUP/VOB. This is only allowed to contain menus, no titles. It is intended to act as a top-level set of menus for accessing the various titles, though how things are actually linked together is very much up to the people authoring the DVD. There are several ways to achieve the same effect, except that one titleset cannot jump to another, only to menus and titles within the same titleset or in the VMGM.

Commands

There is a standard, very simple VirtualMachine language understood by all DVD-Video players. This is used to implement menus and buttons (using "jump" and "call" commands to link between menus and titles), but is also capable of some more complicated effects. It does not support addressing arbitrary memory or any arithmetic beyond basic 16-bit integers; however, there is a set of 16 general-purpose parameter (GPRM) registers that may be used for any purpose, plus a set of 24 System Parameter (SPRM) registers, predefined to hold such settings as the number of the currently-selected menu button, or the currently-selected audio and subtitle tracks.

Aspect Ratios

DVD-Video caters to a maximum frame resolution of 720*576 (PAL) or 720*480 (NTSC). Certain smaller fractions of these numbers are also allowed for lower-resolution discs. The target screen aspect ratio can be either 4:3 (conventional TVs and older cinema screens) or 16:9 (newer "widescreen" TVs).

You'll notice that the pixel numbers don't match either of these ratios: 720:576 is 5:4, and 720:480 is 3:2. That's because DVD-Video has non-square pixels--the horizontal and vertical pixel densities are not equal. Not only that, but 16:9 widescreen titles do not have any more horizontal pixels than 4:3 ones: instead, the pixels are simply stretched out to the wider screen.

Here endeth the good parts. The evil parts are described in DVDVideoEvils.

See Also