Enlightening the Newbies


In the beginning, a few words about the DVDs:

DVD is more than a movie. Much more. It is nice to use the DVD-format to distribute movies, with a few menus for audio-, subtitle- and chapter-selection, and some extra material, but it is by far not everything one can do with the DVD-standard.

DVD-standard provides not only connections between menus and videos, it also includes a command set, its own programming language, which makes it possible to create applications you can execute in a DVD-player just like you would do it in a computer. The capabilities are limited, you can not analyse astronomical data to search for extraterrestrial life using a DVD-player, but you still can accomplish a lot of nice things, which you would not consider possible at first. Trust me, I know what Iīm saying :-)


STRUCTURE OF A DVD

The physical structure of a DVD is quite simple, there are just 3 different kinds of files; VOBs, IFOs and BUPs. VOBs contain the movie (video, audio and subtitles) and the menus. IFOs are informations and instructions, for the DVD-player, what to do with the disc. BUPs are just a backup of the IFOs, for the case they get damaged.

The logical structure in these files is a bit different, it consists of one so-called Video-Manager (VMG), and of up to 99 Video Title Sets (VTS), see following table:

VIDEO_TS.BUP
VIDEO_TS.IFO
VIDEO_TS.VOB *
Video Manager (VMG)
VTS_01_0.BUP
VTS_01_0.IFO
VTS_01_0.VOB *
VTS_01_1.VOB
Video Title Set (VTS) 1
VTS_02_0.BUP
VTS_02_0.IFO
VTS_02_0.VOB *
VTS_02_1.VOB
VTS_02_2.VOB
VTS_02_3.VOB
Video Title Set
(VTS) 2
VTS_03_0.BUP
VTS_03_0.IFO
VTS_03_0.VOB *
VTS_03_1.VOB
VTS 3
*   Menu-VOBs, do not have to be present on every DVD
(more about them later)

As you can see, the Video Manager (VMG) is located in the VIDEO_TS.xxx files, where "xxx" stands for BUP, IFO or VOB, and the Video Title Sets (VTS) are stored in the VTS_yy_z.xxx files, "yy" is a number between 1 and 99, and "z" is a number from 0 to 9.

So, there can be up to 10 VOB-files for each Video Title Set (VTS). The file-system used for Video-DVDs is the UDF/ISO-9660-Bridge, which limits the maximum size of a file to 1 Gigabyte. But this is not a problem, because all DVD-Player have a buffer, which makes it possible to jump from one VOB-file to the next one without a delay.

The VIDEO_TS.VOB and the VTS_yy_0.VOB ("0er"-VOBs) are reserved for the video-content of the System-Menus, thereafter not all of them have to be present, if some of these Menus do not exist on the DVD, or if their content is stored in the movie-files. Some of the older DVD-Player seem not to recognize such DVDs, therefore there are small "dummy"-VOBs on many DVDs, which contain only a single black frame.

One further drawback, when the System-Menus are not stored in VOBs intended for them, is that the "Resume"-function (to spring from the movie in a Menu, and then keep watching the movie from the same spot) does not work in this case.


LOGICAL STRUCTURE

In order to allow all these advanced features mentioned before, DVDs have a unique logical structure, which provides the basis for the navigation on the disc. At the top of this structure, thereīs the Video-Manager (VMG). It is made of up to 99 VTSs (Video Title Set), each VTS is made of up to 99 Titles, and each Title is made of up to 999 PGCs (Programm Chains).

A PGC can be the whole movie, a short video-clip, a slide-show or just a single still picture. PGCs are divided in Programms and Cells, but most of the navigation is done on the PGC-level and itīs them who contain the command tables.

Let us take a closer look:

Image 1: logical structure of a DVD


VIDEO MANAGER

Every DVD has a "Video Manager"(VMG), stored in the VIDEO_TS.xxx files, as the top level in the logical hierarchy of a DVD. The VMG contains the information about the content of the disc; how many "Video Title Sets" (VTS) are present and what do they consist of. Things like the video-format, number of languages with their audio- and subtitle-attributes, which menus are present and such details are stored there. Usually, the main menu (Title-Menu) is located in the Video Manager, also the company logo, copyright warning and other introductory stuff, although their actual content may reside in a Video Title Set as well.

An important part of the Video Manager is the "First Play PGC" (FP), which determines what is played first, after inserting the disc in a DVD-player. Iīll write more about it later in the text, when I explain what PGCs (Program Chains) are.

All the menus in the Video Manager are organized in so called "Language-Units" (LU), which have their own role in the logical structure of a DVD. There can be up to 99 LUs, and each one can have up to 999 Menu-PGCs (same as the Titles).


VIDEO TITLE SETS

The division of a DVD in several Video Title Sets allows contents with different resolution, aspect ratio and also different audio-format to be stored on the same disc. It also allows separate menus for audio, subtitles and chapters for each VTS.

Every Video Title Set consists of one or more Titles, and every Title consists of one or more "Program Chains" (PGC), which consist of Programs and Cells. Cells are parts of the actual video-content, stored in the VOB-files, together with audio-, subpicture- and navigation- streams. A Cell is the point where logical structure meets the physical data on a DVD.

A Video Title Set also contains the Language-Units (LU), which are intended to hold the menus for this particular VTS. All of the "system-menus" (root-, audio-, subtitle-, chapter- and angle-menu) should be put in there, otherwise the "resume"-function will not work. VTS-LUs (with their Menu-PGCs) are stored in VTS_XX_0.VOB ("0-er VOBs").

A Menu-PGC can also be "empty", what means it has no own video-content (0 programs and 0 cells), but it still has an own command-table. Such empty PGCs are often called "dummy-PGCs" and they are often used for advanced navigation and interaction on a DVD.


PROGRAM CHAINS

A Program Chain is the most important part of the DVD-structure, when it comes to navigation. It is the smallest independent logical unit on a disc. A Program, which is often used as a chapter in a movie, is smaller than a PGC, but it can not have its own commands. Cells can have own commands, but only one per Cell, and they need to be referenced separately.

Itīs PGCs where the Command Tables are located. A Command Table consists of up to 3 different kinds of commands; Pre-commands, Post-commands and Cell-commands (explained on the next page). Not all kinds of commands have to be present in a Command Table, in most cases there is only 1 Post-command, and not every PGC has to have a Command Table. There is a maximum of 128 commands for a single Command Table, but if you need more than that in one PGC, you can create a "dummy-PGC" (with its own Command Table) and then link to it with the last command.


DVD-LANGUAGE

Well, commands usually belong to a programming language, like fortran, basic, C++, pascal or delphi, but I have never seen an official name for the "DVD-language". Anyway, it is a kind of a basic-dialect with some assembler in it.

All the commands are used either for directing the playback, by jumping or linking to a specific part of the disc, or for setting a value in a memory register. Both kinds of commands can be made conditional, which means they only get executed if certain conditions are given (mostly when a certain register is compared with a specific value). Iīll give some examples later.

So, when you put a DVD in a player, it gets the basic info from the disc (video-standard, aspect ratio, language, audio-format etc.) and stores them in its System-register (explained later). Then it looks for the "First play PGC" in the VIDEO_TS.IFO (just like the "command.com" for a DOS-PC) and starts with executing the instructions in its command table, usually jumping to Title 1. This means it goes to the first PGC in Title 1 and executes its commands and so on.

But, you can also make a DVD which does a lot more than just play an intro, bring up the menu (for the audio and subtitles, and chapture selection and a few extra features) and then play the movie.   How ?   Just keep on reading.

© 2003 Josef Braunstein