Chapter 6

PROFESSIONAL DVD AUTHORING

Figure 6.1 shows a functional block diagram of a Professional DVD-Video Production environment, which as you can see includes many different components. The primary differences between professional and mid-range systems are the quality of the individual components and a multi-workstation design that allows professional systems to be used for many tasks at once.

Professional DVD-Video production systems generally have a number of different computer workstations, each designed to perform a specific step in the DVD production process. These systems also include a number of professional video and audio playback and monitoring devices so that the quality of the multimedia elements can be checked at each step of the production process.

Typically each video and audio playback device is synchronized through the use of a black burst signal generator or some other form of house sync that provides a consistent reference signal to all devices. Digital or analog video is fed from each playback device to an MPEG encoding workstation through a digital video noise reduction (DVNR) unit. Some professional facilities use a DVNR that is part of their MPEG encoder, while other have a standalone DVNR. The DVNR is used to eliminate noise from the video signal prior to MPEG compression. It can also be used to soften the video by removing high frequency components, thus making it easier to compress the video at low bit rates without visible digital artifacts. Digital or Analog audio signals are sent to either a Dolby Digital or DTS encoder, or to an Audio workstation. Some professional facilities use stand-alone Dolby Digital and DTS encoders, while others have software encoders that run in an Audio Workstation. The Audio Workstation is also used to create new surround sound mixes for the audio streams, to sweeten the audio, or to make sure that all audio elements have the same levels throughout a DVD title.

image

Figure 6.1  Professional DVD-Video Authoring System Block Diagram

Compressed video and audio data are sent to the DVD-Video authoring system via a highspeed network. This network can be fiber, 100 MBit, or faster Ethernet. In some cases the compressed video and audio files can be stored on network hard drives, but this will generally lead to slower network performance during the production process. A separate graphics workstation is used to generate menu background and overlay images, as well as any subpictures required for a DVD title. These image files are also transferred to the DVD-Video authoring system via a high-speed network connection.

The DVD-Video authoring workstation includes enough local hard drive storage to support the development of many different DVD titles at the same time, as well as output devices to create DLT tapes and DVD-R discs. Professional video and audio monitoring equipment is connected to the DVD-Video authoring workstation so that video and audio quality can be checked during the authoring process. At least one QA/QC workstation is also connected via the high-speed network, and is used to verify the overall quality of a completed DVD title. DVD disc images can be sent over the network for testing off the local hard drive of the QA/QC workstation. The QA/QC workstation should also have a number of consumer DVD-Video players with DVD-R or DVD Check-Discs capability for quality testing. Video and audio monitoring equipment is connected to both the QA/QC workstation and the DVDVideo players to allow playback of DVD titles in an environment that mimics the typical consumer home entertainment system.

Many professional DVD-Video production systems will include a file server for storage and archival of the vast amounts of data created by a DVD production facility. The server keeps a backup copy of all media files used on a DVD title until the project has been completed and approved for replication or distribution. Backup copies can be stored on large hard drives connected to the server, internal RAID drives, or even on rewriteable optical media such as DVD-RAM or DVD-RW. Once a project has been completed all of the media assets, graphics, and the DVD disc scenario files are archived to backup media such as tape, DVD-R, or DVD-RAM. Ideally backup copies of every DVD project should be maintained locally so they can be quickly retrieved if required, as well as off-site so that the data is protected from loss by damage to the primary backup copy.

In a professional production environment care must be taken to ensure that titles can be produced with both a high level of quality and a high level of efficiency. The use of individual workstations to perform each major step of the DVD production process is key to meeting both of these goals. In general high-end MPEG encoders, Digital Video Noise Reduction units, Dolby Digital and DTS encoders, and Audio Workstations are sold as stand-alone units. Thus, the manufacturer can control all of the hardware and software elements that are used in each of these systems, allowing them to configure their products for optimal operation. Many professional DVD-Video authoring systems are also sold as stand-alone items that can be easily integrated into a production environment. Stand-alone units, which can each be connected via a high-speed network, are a key element in a robust and efficient DVD production system design. As a professional DVD production facility grows it will need additional workstations to support a larger workload. With a distributed system design it is relatively easy to add a new MPEG encoder, audio workstation, or DVD-Video authoring workstation to support additional workflow requirements. A distributed system design also makes it easier to upgrade specific equipment items when required. Improvements are constantly being made in MPEG video encoding, DVNR, DVD authoring, and DVD recordable media. Most professional DVD production systems undergo modifications and additions to their hardware and software components on a regular basis. A distributed system design makes it easier to upgrade individual components to improve overall quality or operational efficiency.

Navigation

The major functional difference between mid-range and professional DVD authoring software tools is support for the navigation features of the DVD-Video specification. While all authoring tools offer support for features like the Next, Previous, Up, Down, Left, and Right buttons, only advanced systems allow the DVD title developer to access the built in SPRM and general parameter registers (GPRM), and use them to develop complicated and highly interactive titles.

System Parameter Registers (SPRM)

All DVD-Video players have 24 SPRM registers that hold information about playback of a DVD title as well as user-specified default playback settings. Each SPRM is held in a 16-bit register, which can be accessed by a DVD title during playback. All SPRM registerss can be read, and some can also be written to during title playback. Advanced DVD authoring tools will provide a mechanism for the title developer to read and write to the SPRM registers during the playback of the title. Using SPRM registers, you can develop complex DVD titles.

SPRM 0 — Menu Description Language Code

When DVD menus are created a specific language code can be associated with each menu. Language codes are two bytes of data coded as lower case ASCII characters. DVD-Video uses the language codes defined in ISO-639, which are shown in Table 6.1.

image

image

DVD-Video players generally allow the viewer to specify a default display language for menus. If a DVD title is developed with menus in more than one language, then the player will automatically display the menus that have a language code matching the value set in SPRM 0. In Region 2 (Europe) many players are set at the factory to have a default menu language code of English. This is fine for the United Kingdom, but consumers in the rest of Europe who do not speak English may need to manually change the menu language code for their player. Unfortunately many consumers don’t configure their player’s default menu language setting, so a player’s menu description language code may not be set correctly. So when developing a DVD-Video title with menus in more than one language it is a good idea to provide a menu that allows the user to manually select the menu languages.

SPRM 1 — Audio Stream Number

DVD-Video titles can include up to eight different audio streams (tracks). SPRM 1 stores the current selected audio stream number, with values between 0 and 7. SPRM 1 can also be set to a value of 16, which indicates that no audio stream has been selected. The default value for SPRM 1 is 16. DVD title developers can change the audio stream that is being played back by changing the value of SPRM 1. If the viewer changes audio streams by using the Audio key on the remote control, SPRM 1 will be updated with the new stream number.

In some cases the selected audio stream may not actually be the audio stream that is played back by the player. DVD-Video players use a fairly complicated algorithm to determine which audio stream should be played back at any given time. When more than one audio stream is present in a program chain, the player attempts to determine the correct audio stream to play back based on the value stored in SPRM 1 and the language code and language code extension associated with each audio stream. Within a single title domain, the player will always use SPRM 1 to determine which audio stream should be played. However when switching between different title domains, or between a title domain and the video manager domain, the player may play an audio stream that is different from the value in SPRM 1. Essentially when the player enters a new title domain or the video manager domain it tries to determine the correct audio stream number to play by evaluating the language code and language code extension settings.

image

Figure 6.2  Default Audio Language Code Example

This concept is best illustrated by an example, as shown in Figure 6.2. Let’s assume that we have developed a DVD title with two video title sets (VTS). Each VTS contains a single program chain with three audio streams. In VTS #1 the first audio stream has the language code en (English), the second has the code fr (French) and the third has the code es (Spanish). In VTS #2 the first audio stream has the code en (English), the second has the code fr (French) and the third has the code de (German). Now assume that the viewer has configured their DVD player so that Spanish is their default audio language. When VTS #1 is played the DVD player will see that the user has selected Spanish as their default audio language and the third audio stream will be played. If the user then jumps from VTS #1 to VTS #2 the player will see that no Spanish audio stream is available, and so the first audio stream will be played. The algorithm for audio stream selection says that if no audio stream is found that matches the viewer-selected initial audio language code or audio language code extension, then the lowest numbered audio stream should be played.

SPRM 2 — Subpicture Stream Number

DVD-Video titles can include up to 32 different subpicture streams. SPRM 2 stores the currently selected audio stream number, with valid values of 0–31, 62, and 63. When SPRM 2 has a value of 0–31, subpictures are enabled and the corresponding subpicture stream will be displayed.

When SPRM 2 has the value of 62 (the default value), the display of subpictures is disabled. SPRM 2 can also have a value of 63, which is called the Dummy Stream value. When this occurs the DVD player will try to display the subpicture stream that matches the users default subpicture language setting. If no subpicture streams are available that match the viewers initial subpicture language code or language code extension, the player will display the first subpicture stream.

image

Tips, Tricks & Techniques

Be careful when assigning language codes and language code extensions to audio streams. If your DVD title has more than one VTS, try to assign audio streams with the same language codes to the same stream number across all VTS. The first audio stream should hold the audio that is most likely to be selected by the viewer since this is the stream that will be played if the player can not match the stream language codes with the viewers default audio language code.

DVD title developers can change the subpicture stream that is being displayed by changing the value of SPRM 2. If the viewer changes subpicture streams by using the Subtitle key on the remote control, SPRM 2 will be updated with the new stream number.

SPRM 3 — Angle Number

DVD-Video titles can include up to 9 different video angles. SPRM 3 stores the currently selected video angle number, with values between 1 and 9. The default value for SPRM 3 is 1. If the viewer changes camera angles by using the Angle key on the remote control, SPRM 3 will be updated with the new stream number.

SPRM 4 — Title Number

DVD-Video titles can include up to 99 Titles. SPRM 4 stores the current title number with values between 1 and 99. If the viewer changes titles by using the Title, Menu, or numeric keys on the remote control, SPRM 4 will be updated with the new title number. Whenever SPRM 4 is updated with a new Title number, the values of SPRM 5 and SPRM 6 will also be updated. The default value for SPRM 4 is 1.

SPRM 5 — VTS Title Number

DVD-Video titles can include up to 99 VTS. SPRM 5 stores the current VTS number with values between 1 and 99. If the viewer changes the VTS by using the Title, Menu, or numeric keys on the remote control, SPRM 5 will be updated with the new title number. Whenever SPRM 5 is updated with a new VTS number, the values of SPRM 4 and SPRM 6 will also be updated. The default value for SPRM 5 is based on the value of SPRM 4.

SPRM 6 — Title PGC Number

DVD-Video titles can include up to 999 Program Chains within a title. SPRM 6 stores the current PGC number with values between 1 and 999. If the viewer changes Program Chains by using the Next, Previous, GoUp, or numeric keys on the remote control, SPRM 6 will be updated with the new PGC number. Whenever SPRM 6 is updated with a new PGC number, the values of SPRM 4 and SPRM 5 will also be updated. The default value for SPRM 6 is undefined.

SPRM 7 — Part_of_Title Number

DVD-Video titles can include up to 99 Part_of_Title (scenes) within a PGC. SPRM 7 stores the current Part_of_Title number with values between 1 and 99. If the viewer changes scenes by using the Next, Previous, GoUp, or numeric keys on the remote control, SPRM 7 will be updated with the new Part_of_Title number. The default value for SPRM 7 is 1. Note that SPRM 7 is only valid for One_Sequential_PGC titles

SPRM 8 — Highlighted Button Number

DVD-Video titles can include up to 36 buttons on each menu. SPRM 8 stores the currently highlighted button number. If the viewer changes menu buttons using the Up, Down, Left, Right, or numeric keys on the remote control, SPRM 8 will be updated with the new button highlight number. The default value for SPRM 8 is 1024. The value of SPRM 8 is maintained even when there are no valid buttons. DVD title developers can force a particular menu button to be highlighted by setting SPRM 8 to that button’s number.

Button highlight numbers are stored in the upper half of SPRM 8, thus the values indicating which button should be highlighted are actually the button number multiplied by 1,024. Table 6.2 provides a cross reference for button numbers and SPRM 8 values.

Table 6.2 Button Highlight Cross Reference

image

SPRM 9 — Navigation Timer

SPRM 9 and SPRM 10 are used together to form a navigation timer that passes control to a specific program chain when the timer has expired. SPRM 9 is the navigation timer that can be set to any value between 1 and 65,535 seconds (approximately 18.2 hours). Once SPRM 9 is set to any non-zero value it will be automatically decremented by 1 every second. When SPRM 9 changes from a value of 1 to a value of 0, control automatically passes to the program chain number specified in SPRM 10 and the navigation timer is stopped.

The default value for SPRM 9 is 0, and its value is reset to 0 any time playback control passes into a new Title or Video Title Set. If control passes to the Video Manager domain the navigation timer is frozen at its current value, and the countdown will be restarted when control returns to the title domain. If the viewer presses the Pause key on the remote control, the navigation timer is also paused and will be automatically restarted when playback is resumed.

image

Tips, Tricks & Techniques

The navigation timer (SPRM 9) is very accurate on the vast majority of DVD-Video players. Setting SPRM 9 to a value of 60 will result in control automatically passing to the specified program chain exactly 60 seconds later. Performance of the navigation timer on DVD-ROM enabled computers is not as reliable, and depends on the specific hardware or software DVD decoder used by the system. In many cases the navigation timer will be off by ten percent or more on personal computer systems. If the use of an accurate navigation timer is critical to the operation of your DVD title, its best to tell the viewer to use a DVD-Video player, rather than a DVD-ROM PC for playback.

SPRM 10 — PGC Pointer for Navigation Timer

SPRM 10 works in conjunction with SPRM 9 to form a navigation timer that passes control to a specific program chain when the timer has expired. SPRM 10 holds the number of the program chain that will be jumped to when the navigation timer expires. The program chain must be within the current Title domain. The default value for SPRM 10 is undefined.

SPRM 11 — Player Audio Mixing Mode for Karaoke

Many DVD-Video players support Karaoke features, in which audio channels 2, 3, and 4 can be mixed into channels 0 and 1. SPRM 11 is used to indicate the capabilities of the DVD-Video player with regard to audio mixing for Karaoke. SPRM 11 is defined as a 16-bit binary number with specific bits indicating the mixing characteristics for specific audio channels. If the bit is set to 0, mixing is not supported; if the bit is set to 1, the corresponding mixing mode is supported. The bit assignments are as follows.

Bit 0 – Reserved

Bit 1 – Reserved

Bit 2 – Audio Channel 2 mixed into Audio Channel 0 Flag

Bit 3 – Audio Channel 3 mixed into Audio Channel 0 Flag

Bit 4 – Audio Channel 4 mixed into Audio Channel 0 Flag

Bit 5 – Reserved

Bit 6 – Reserved

Bit 7 – Reserved

Bit 8 – Reserved

Bit 9 – Reserved

Bit 10 – Audio Channel 2 mixed into Audio Channel 1 Flag

Bit 11 – Audio Channel 3 mixed into Audio Channel 1 Flag

Bit 12 – Audio Channel 4 mixed into Audio Channel 1 Flag

Bit 13 – Reserved

Bit 14 – Reserved

Bit 15 – Reserved

The default value for SPRM 11 is 0. The viewer can’t change SPRM 11. When the value of SPRM 11 is changed as a result of a DVD-Video navigation command, the audio mixing mode for Karaoke is immediately changed. SPRM 11 is only valid when the Karaoke capability flag (SPRM 15) is set and the current audio stream has been defined as Karaoke data.

SPRM 12 — Country Code for Parental Management

SPRM 12 holds the country code value for parental management features of DVD-Video titles. The DVD-Video specification requires that SPRM 12 hold a two-digit alphabetical country code as defined by ISO-3166 (Alpha 2). Valid country codes for SPRM 12 are shown in Table 6.3. The default value for SPRM 12 is “not specified”, which is a value of 65,535.

Table 6.3 Valid Parental Management Country Codes

image

image

image

image

SPRM 13 — Parental Level

SPRM 13 holds the parental level value associated with the parental management country code defined in SPRM 12. Each country has its own unique movie rating levels. These are translated to one of eight possible rating levels (1–8) supported by the DVD-Video specification. SPRM 13 can also have a value of 16, which means “not specified”. The default value for SPRM 13 is undefined.

SPRM 14 — Video Aspect Ratio & Display Mode Configuration

SPRM 14 is used to hold the initial display aspect ratio and current display mode data for the DVD-Video player. The initial display aspect ratio data is stored in bits 10 and 11 of SPRM 14, while the current display mode data is stored in bits 8 and 9. SPRM 14 can be manually set by the viewer through the built in user interface of the DVD-Video player. The value stored in SPRM 14 can be read by a DVD-Video title using appropriate navigation commands. Possible values for the initial display aspect ratio and current display mode parameters are shown in Table 6.4

Table 6.4 Initial Aspect Ratio and Current Display Ratio Settings – SPRM 14

Initial Aspect Ratio Bit 11 Bit 10
4:3 Aspect Ratio 0 0
Not Specified 0 1
Reserved 1 0
16:9 Aspect Ratio 1 1
Current Display Mode Bit 9 Bit 8
Normal (4:3) or Wide (16:9) 0 0
Pan/Scan 0 1
Letterbox 1 0
Reserved 1 1

SPRM 15 — Player Audio Capabilities

SPRM 15 is used to hold the DVD player audio playback capabilities data. Information about the player’s ability to play back AC3, DTS, MPEG, SDDS, and Linear PCM audio in normal and Karaoke modes is held in SPRM 15. Some of this information is set by the player manufacturer when the player is built, and other values are entered by the viewer through the built in user interface of the DVD-Video player. SPRM 15 is a 16-bit binary number, in which each bit is used as a flag to indicate support for a specific audio playback mode. If an audio playback mode is supported, the corresponding bit of SRPM 15 will be set to a 1; if the audio mode is not supported, the bit will be set to 0. The audio mode flags and their corresponding bit positions within SPRM 15 are shown in Table 6.5.

Table 6.5 Audio Capabilities Flags

SPRM 15 Bit # Audio Mode Support Flag
0 Reserved
1 Reserved
2 SDDS Karaoke
3 DTS Audio
4 MPEG Karaoke
5 MPEG Karaoke (always set to 0)
6 Dolby Digital Karaoke
7 Linear PCM Karaoke
8 Reserved
9 Reserved
10 SDDS Audio
11 DTS Audio
12 MPEG Audio
13 MPEG Audio (always set to 0)
14 Dolby Digital Audio
15 Reserved

SPRM 16 — Initial Audio Language Code

SPRM 16 is used to hold the initial audio language code, which can be configured by the viewer via the DVD-Video players built in user interface. Initial audio language codes for DVD-Video are defined in ISO-639, which are shown in Table 6.1. The default initial audio language code is “not specified”, which has a value of 65,535.

SPRM 17 — Initial Audio Language Code Extension

SPRM 17 is used to hold the initial audio language code extension, which can be configured by the viewer via the DVD-Video players built in user interface. Initial audio language codes are 8-bit values stored in the lower byte of SPRM 17. Valid values for SPRM 17 are shown in Table 6.6. The default initial audio language code is “not specified”, which has a value of 0.

Table 6.6 Initial Audio Language Code Extensions

SPRM 17 Audio Language Code Extensions
0 Not Specified
1 Normal Captions
2 Audio for Visually Impaired
3 Director’s Comments 1
4 Director’s Comments 2
5–112 Reserved
113–255 Provider Defined

SPRM 18 — Initial Subpicture Language Code

SPRM 18 is used to hold the initial subpicture language code, which can be configured by the viewer via the DVD-Video players built in user interface. Initial subpicture language codes for DVD-Video are defined in ISO-639, which are shown in Table 6.1. The default initial subpicture language code is “not specified”, which has a value of 65,535.

SPRM 19 — Initial Subpicture Language Code Extension

SPRM 19 is used to hold the initial subpicture language code extension, which can be configured by the viewer via the DVD-Video player’s built in user interface. Initial subpicture language codes are 8-bit values stored in the lower byte of SPRM 19. Valid values for SPRM 19 are shown in Table 6.7. The default initial subpicture language code is “not specified”, which has a value of 0.

Table 6.7 Subpicture Audio Language Code Extensions

SPRM 19 Subpicture Language Code Extensions
0 Not Specified
1 Caption with Normal Size Characters
2 Caption with Larger Size Characters
3 Caption for Children
4 Reserved
5 Closed Caption with Normal Size Characters
6 Closed Caption with Larger Size Characters
7 Closed Caption for Children
8 Reserved
9 Forced Caption
10 Reserved
11 Reserved
12 Reserved
13 Director’s Comments with Normal Size Characters
14 Director’s Comments with Larger Size Characters
15 Director’s Comments for Children
16–112 Reserved
113–255 Provider Defined

SPRM 20 — Player Region Code

SPRM 20 holds the region code data for the DVD-Video player. Region code information is stored in the lower byte of SPRM 20. When a DVD title is inserted into the player the region code setting of the title is compared to the region code setting of the player. If the player and title region codes match, the title can be played; if not, the player will display an error message.

Code-free, or “chipped”, players are quite common throughout the world, particularly in Europe. A code-free player is one that has been modified to enable playback of all region-coded titles on the player, regardless of what regions the title was designed to support. Recently some major motion picture studios have been implementing additional logic in their DVD-Video titles that checks the value of SPRM 20. If more than one region is enabled, or if the value of SPRM 20 changes to match the region coding of the disc, then the logic has been designed to prevent playback of the title on that player. There are already DVD-Video players on the market that are designed to defeat this “software region code verification” logic.

SPRM 21, 22 & 23 – Reserved

SPRM registers 21, 22, and 23 are reserved for future use.

General Parameter Registers (GPRM)

The DVD-Video specification requires that all DVD-Video players include 16 GPRM registers that can be used by the DVD title author to control the presentation and playback of a DVDVideo title. GPRM registers are 16-bits in length and can be configured in either a register mode or a counter mode. In register mode the GPRM can be used to store and retrieve any 16-bit data value. In counter mode the GPRM will increase its stored value by 1 every second. Each GPRM is placed in register mode and set to 0 when any of the following conditions occur:

•   initial insertion of a DVD-Video disc into the player;

•   execution of Title Play, PTT Play and Time Play commands from all domains or from a Stop State; or

•   execution of a Menu Call from the Stop State.

Values stored in each GPRM register are not changed when a title goes from one domain to another, thus a GPRM register can be used to store system-wide data, acting as variables that can be accessed from all domains within the title.

Navigation Command Areas

Navigation commands are used to develop complex or highly interactive DVD-Video titles. Essentially all DVD-Video players include a limited function microprocessor that can read and write to the SPRM and GPRM registers and can execute a small number of commands. Navigation commands can be stored in four different areas of a DVD-Video title. These area include the following.

Button Command Area Navigation commands can be associated with menu buttons and executed whenever the viewer activates the button. Only a single navigation command can be associated with a menu button.

Pre Command Area Single and compound navigation commands can be associated with a program chain and will be executed immediately before the contents of the program chain are accessed. Up to 128 different navigation commands can be included in the Pre command area of a PGC.

Post Command Area Single and compound navigation commands can be associated with a program chain and will be executed immediately after the contents of the program chain are accessed. Up to 128 different navigation commands can be included in the Post command area of a PGC.

Cell Command Area Single navigation commands can be associated with a Cell and will be executed when the Cell contents are accessed. Only a single navigation command can be associated with a Cell.

Every professional DVD-Video authoring tool that supports the use of Button, Pre, Post, and Cell commands has a slightly different syntax for how these commands are identified within the authoring tool. Some authoring tools, such as Scenarist, provide support for all of the navigation commands and access to all SPRM and GPRM registers. Other tools, such as Apple DVD Studio Pro, provide support for most of the navigation commands, access to all SPRM registers, and access to a limited number of GPRM registers. Authoring tools may also use a proprietary scripting language to implement navigation commands, rather than providing access to the specific commands called out by the DVD-Video specification. Thus it is not possible to provide specific instructions on how to implement navigation commands for all of the professional DVD-Video authoring systems currently available. Within this chapter I’ll provide examples of navigation commands, using a Scenarist NT Professional system.

Instruction Groups

Navigation commands for DVD-Video titles are broken down into six basic instruction groups.

•   The GoTo instruction group includes commands that can be used to change the execution order of other navigation commands in the Pre command and Post command areas. GoTo instruction group commands can’t be used in the Button command area or the Cell command area.

•   The Link instruction group includes navigation commands that transfer control within the current domain, and can be included in the Pre, Post, Button, and Cell command areas.

•   The Jump instruction group includes navigation commands that transfer control outside the current domain, and can be used in the Pre, Post, Button, and Cell command areas.

•   The Compare instruction group includes navigation commands that allow comparison operations between SPRM and GPRM registers and static values. Compare instruction group commands can be included in the Pre, Post, Button, or Cell command areas. Compare instruction group commands are always used in conjunction with commands from other instruction groups to form a compound command.

•   The SetSystem instruction group includes commands used to set SPRM and GPRM register modes and values, and can be used in the Pre, Post, Button, and Cell command areas.

•   The Set instruction group includes commands to perform simple arithmetic and logic operations on GPRM registers, and can be used in the Pre, Post, Button, and Cell command areas.

Commands from each instruction group, with the exception of Compare, can be executed individually or in combination with commands from other instruction groups. Up to three commands can be combined and executed together.

GoTo Group

Navigation commands in the GoTo group are used to change the execution order of navigation commands within the same command area as the GoTo group command. GoTo commands may be used in the Pre and Post command areas of any PGC in any domain. GoTo commands include the following.

GoTo Pass control to another navigation command in the same command area.

Break Terminate the execution of navigation commands in the Pre or Post command areas. If a Break command is encountered in a Pre command area the player will terminate the execution of any remaining Pre commands, and then start to display the content stored in the PGC. If a Break command is encountered in a Post command area the player will terminate the execution of any remaining Post commands and then proceed to the next PGC.

Nop This is a no operation command, which essentially does nothing. In general the use of the Nop command should be avoided since many DVD-Video players interpret a Nop command as a Stop command.

SetTmpPML Temporarily changes the parental management level of the player. This command may be necessary if there are no Titles on the disc matching the parental management level specified by SPRM 13. In this case using the SetTmpPML command can allow the viewer to change the player’s parental management level in order to play the title that is in the player.

Link Group

The Link group includes navigation commands for starting playback at a specific point within the current domain. Link commands may be used in any Pre, Post, Button, and Cell command area. Link commands include the following.

LinkPGCN Jumps directly to a specific program chain within the current domain. The DVD player immediately stops displaying the current program chain, skips over any additional navigation commands within the same command area, and jumps directly to the program chain specified in the navigation command.

LinkPTTN Jumps directly to a specific Part_of_Title within the current Domain. The DVD player immediately stops displaying the current program chain, skips over any additional navigation commands within the same command area, and jumps directly to the Part_of_Title specified in the navigation command. The LinkPTTN command can also include an optional parameter to set the Highlight Button. This is useful when jumping to a menu and you want to highlight a specific button on the target menu.

LinkPGN Jumps directly to a specific program within the current domain. The DVD player immediately stops displaying the current program chain, skips over any additional navigation commands within the same command area, and jumps directly to the program specified in the navigation command. The LinkPGN command can also include an optional parameter to set the Highlight Button.

LinkCN Jumps directly to a specific Cell within the current domain. The DVD player immediately stops displaying the current program chain, skips over any additional navigation commands within the same command area, and jumps directly to the Cell specified in the navigation command. The LinkCN command can also include an optional parameter to set the Highlight Button.

LinkSIns Jumps directly to a specific part of the current domain. LinkSIns commands can only be stored in the Button and Cell command areas. There are 13 different LinkSIns commands that can be used. These are as follows.

LinkNoLink Transfers the value stored in SPRM 8 into the current Highlight Button value, but does not transfer control to a different part of the current domain.

LinkTopC Jumps directly to the start of the current Cell. The current Highlight Button number may also be set at the same time.

LinkNextC Jumps directly to the start of the next Cell. The current Highlight Button number may also be set at the same time.

LinkPrevC Jumps directly to the start of the previous Cell. The current Highlight Button number may also be set at the same time.

LinkTopPG Jumps directly to the start of the current program. The current Highlight Button number may also be set at the same time.

LinkNextPG Jumps directly to the start of the next program. The current Highlight Button number may also be set at the same time.

LinkPrevPG Jumps directly to the start of the previous program. The current Highlight Button number may also be set at the same time.

LinkTopPGC Jumps directly to the start of the current program chain. The current Highlight Button number may also be set at the same time.

LinkNextPGC Jumps directly to the start of the next program chain. The current Highlight Button number may also be set at the same time.

LinkPrevPGC Jumps directly to the start of the previous program chain. The current Highlight Button number may also be set at the same time.

LinkGoUpPGC Jumps directly to the start of the program chain defined by the GoUp link. The current Highlight Button number may also be set at the same time.

LinkTailPGC Jumps directly to the Post command area of the current program chain. The current Highlight Button number may also be set at the same time.

RSM Resumes the presentation of a Title that has been interrupted by either the CallSS function or by the Menu_Call user operation.

Jump Group

The Jump group includes navigation commands for starting playback at a specific point outside the current domain, as illustrated in Figure 6.3. Jump commands may be used in any Pre, Post, Button, and Cell command area. Jump commands include the following.

Exit Stops playback of the title and clears the information used for the RSM command. In general the use of the Exit command should be avoided since the player will enter the Stop state, clear the GPRM registers, and clear the resume information.

JumpTT Jumps directly to a specific Title. The player immediately stops the presentation of the current program chain, clears the resume data and navigation timer, resets the audio and subpicture streams if required, and then starts the presentation of the specified Title.

JumpVTS_TT Jumps directly to a specific Title within the current VTS. The player immediately stops the presentation of the current program chain, clears the resume data and navigation timer, resets the audio and subpicture streams if required, and then starts the presentation of the specified Title.

JumpVTS_PTT Jumps directly to a specific Part_of_Title within the current VTS. The player immediately stops the presentation of the current program chain, clears the resume data and navigation timer, resets the audio and subpicture streams if required, and then starts the presentation of the specified Part_of_Title.

JumpSS Jumps directly to a specific program chain within the First Play, Video Manager, or Video Title Set Manager domains. The player immediately stops the presentation of the current program chain, stops the countdown of the navigation timer, stops the count up of any GPRM registers in counter mode, and then starts the presentation of the specified program chain. The current values of the navigation timer and all GPRM registers are left unchanged.

CallSS Jumps directly to a specific program chain within the First Play, Video Manager, or Video Title Set Manager Domains. The player immediately stops the presentation of the current program chain, stops the countdown of the navigation timer, stops the count up of any GPRM registers in counter mode, and then starts the presentation of the specified program chain. The current values of the navigation timer and all GPRM registers are left unchanged, and the Cell Number, first navigation pack address of the current Cell, PGC playback control status, Video Title Set Number, and SPRM registers 4–8 are also saved.

image

Figure 6.3  Jump Command Example

Compare Group

The Compare Group includes navigation commands for comparing two values. The first value is stored in one of the GPRM registers. The second value can be stored in a SPRM or GPRM register, or it can be a number between 0 and 65,535. Compare commands may be used in any Pre, Post, Button, and Cell command area. When a Compare command is encountered the player will execute the specified comparison. If the result of the compare is true, the remaining portions of the compound navigation command will be executed; if false, the player will skip to the next navigation command in the current command area, if it exists. Compare commands include the following.

BC Performs a Bitwise Compare. Any GPRM can be compared to another GPRM, any SPRM, or any fixed value between 0 and 65,535. A Bitwise Compare is the equivalent of the logical And between the two values. If the result of the Bitwise Compare operation is non-zero then the remaining portions of the compound navigation command will be executed.

EQ (Equal To) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the two values are equal, the remaining portions of the compound navigation command will be executed.

NE (Not Equal To) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the two values are not equal, the remaining portions of the compound navigation command will be executed.

GE (Greater Than or Equal To) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the first value is greater than or equal to the second value, the remaining portions of the compound navigation command will be executed.

GT (Greater Than) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the first value is greater than the second value, the remaining portions of the compound navigation command will be executed.

LE (Less Than or Equal To) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the first value is less than or equal to the second value, the remaining portions of the compound navigation command will be executed.

LT (Less Than) Compares any GPRM to another GPRM, SPRM, or a fixed value between 0 and 65,535. If the first value is less than the second value, the remaining portions of the compound navigation command will be executed.

Figure 6.4 shows how compare commands can be used to jump directly to a specific chapter (or scene) within a program chain. In this example GPRM0 is used to hold the desired chapter number. Three Pre commands are used to compare GPRM0 to specific values (2, 3, and 4) and if the comparison is true the player will jump directly to the appropriate chapter. If GPRM0 is not equal to 2, 3, or 4, the first chapter will be played.

image

Figure 6.4  Compare Command Example

SetSystem Group

The SetSystem group includes navigation commands to set the values of various SPRM registers and to define the modes of GPRM registers. SetSystem commands may be used in any Pre, Post, Button, and Cell command area. SetSystem commands include the following.

SetSTN Sets the current audio, subpicture, and video angle streams. Streams can either be set to a specific value or to a value stored in a GPRM register. Values for audio streams must be between 0 and 7. Values for subpicture streams must be between 0 and 31, or 63. Values for video camera angles must be between 1 and 9. The SetSTN command can only be executed in the Video Title Set Manager and Title domains.

SetNVTMR Sets an initial value for the Navigation Timer and to assign the target Title and program chain that is to be jumped to when the Navigation Timer expires. The Navigation Timer will automatically be decremented by one every second, and when it changes from 1 to 0 control will automatically pass to the location specified in the SetNVTMR command.

SetGPRMMD Changes the operational mode of a GPRM register. Valid operational modes for GPRM registers are register mode and counter mode.

SetAMXMD Changes the audio mixing mode for Karaoke audio.

SetHL_BTNN Changes the Highlight button number. The Highlight button can either be set to a specific value or to a value stored in a GPRM register. Valid values for the Highlight button are between 1 and 36 if set to a specific value. If the Highlight button is set to the contents of a GPRM register, that register should contain values between 1024 and 36,864 in multiples of 1,024 as described in Table 6.2.

Figure 6.5 provides an example of how to use the SetSystem commands. In this example the Root Menu PGC of VTS 1 contains a Chapter Selection Menu with five buttons. Buttons 1–4 are used to jump directly to Chapters 1–4, while button 5 is used to return to the Title Menu. Pre commands are used to set the Menu Highlight button to match the last chapter that was played, so that if the viewer presses the Menu key in the middle of playback the Chapter Selection Menu will be displayed and the button associated with the chapter they were watching will be highlighted.

Set Group

The Set commands are used to perform arithmetic or logical operations on two values and to assign the result to a GPRM register. The first value can be any GPRM register. The second value can be any GPRM or SPRM register, or it can be a number between 0 and 65,535. Set commands can be included in any Pre, Post, Button, or Cell command area. Set commands include the following.

Mov (Move) Assigns a value to a GPRM. The target GPRM is set equal to the contents of a source GPRM, SPRM, or a specific value between 0 and 65,535.

image

Figure 6.5  SetSystem Command Example

Swp (Swap) Swaps the values stored in two GPRMs. The value stored in the source GPRM will be stored in the target GPRM, and the value stored in the target GPRM will be stored in the source GPRM. This command can’t be used if either GPRM is in counter mode.

Add Adds the first and second values and stores the result in the first GPRM. This command can’t be used if the target GPRM is in counter mode.

Sub (Subtract) Subtracts the second value from the first value and stores the result in the first GPRM. This command can’t be used if the target GPRM is in counter mode.

Mul (Multiply) Multiplies the first and second values and stores the result in the first GPRM. This command can’t be used if the target GPRM is in counter mode.

Div (Divide) Divides the first and second values and stores the result in the first GPRM. This command can’t be used if the target GPRM is in counter mode. The second value can’t be 0.

Mod (Modulo) Finds the remainder when the first value is divided by the second value, and stores the result in the first GPRM. This command can’t be used if the target GPRM is in counter mode. The second value can’t be 0.

Rnd (Random) Assigns a random number between 1 and x to the target GPRM. The value of x can either be stored in another GPRM or it can be provided as a fixed number between 0 and 65,535. This command can’t be used if the target GPRM is in counter mode.

And (Logical And) Performs a Bitwise Product (And) between the first and second values and stores the result in the target GPRM. This command can’t be used if the target GPRM is in counter mode.

Or (Logical Or) Performs a Bitwise Sum (Or) between the first and second values and stores the result in the target GPRM. This command can’t be used if the target GPRM is in counter mode.

Xor (Logical Exclusive Or) Performs a Bitwise Exclusive (Or) between the first and second values and store the result in the target GPRM. This command can’t be used if the target GPRM is in counter mode.

Figure 6.6 shows an example of how to use Set Group commands. In this example a “random playback” mode is created so that the program chains in VTS1 can be played back in a random order endlessly. The random value is compared to the current chapter number so that the same chapter will not be played back twice in a row. After each chapter has been played control returns to the random number generator PGC to select the next chapter to play.

image

Figure 6.6  Set Command Example

Navigation Error Conditions

In some cases it is possible to cause an error condition through the execution of a navigation command. The DVD-Video specification requires the player to perform the following actions when an error condition occurs.

Divide by Zero If a navigation command attempts to divide a GPRM by zero, then the target GPRM will be set to 65,535.

Overflow If a navigation command results in an overflow, then the target GPRM will be set to 65,535. If the overflow occurred while a GPRM was in counter mode, then the target GPRM will be set to 0.

Underflow If a navigation command results in an underflow, then the target GPRM will be set to 0.

Invalid Values When an invalid value or an invalid Cell, Program, Program Chain, Title, or Title Set is defined for a navigation command, the player may not work correctly.

Invalid Instructions When a navigation command is executed in an invalid command area, the player may not work correctly.

Navigation Command Examples

Using DVD-Video navigation commands requires an understanding of simple computer programming techniques. Essentially the set of DVD-Video navigation commands are an “assembly language” that allows you to instruct the DVD-Video player to perform a set of operations, and to read and write to a small number of memory locations (SPRM and GPRM registers). While many people are comfortable with programming computers, relatively few people still write software in low-level languages such as assembly. Today most programmers use a high-level language like C++ or Java to develop their applications.

High-level programming languages support more complex logical constructs than the DVD-Video navigation commands allow. For example Java has a Switch command that evaluates a system variable and executes a section of code based on the value of the variable. If the variable has ten possible values, there would be ten different sections of code that can be executed. When Switch is called, only a single section of code will be executed based on the value of the variable when Switch was initially called. Switch is a handy way to write code to perform a number of different operations based on the value of a system variable.

When you develop complex or highly interactive DVD-Video titles you will want to use high-level programming commands like SWITCH, IF THEN ELSE, WHILE, and FOR. When developing an educational title that includes an interactive test with scoring, it would be nice to use a SWITCH statement to evaluate the score the viewer received on the test, and then branch to an appropriate section of the title. If they scored 90 percent or better then they can go on to the next section of the title. If they scored between 70 percent and 90 percent you may want to have them review the material covered and then take the test again. If the viewer scored less than 70 percent you may want to require them to go through a remedial learning process to cover the material in more detail. While it is possible to implement this type of advanced logic in a DVD-Video title, it requires several navigation commands organized to perform the desired result. In the following sections I will show how you can use the available DVD-Video navigation commands to perform high-level programming functions.

If you don’t understand these examples, or you find it difficult to use DVD-Video navigation commands to implement the interactive features you need in your titles, you have a few options. One option is to purchase a professional DVD authoring tool that provides a scripting language, which implements high-level programming statements for you. Authoring tools such as Spruce DVD Maestro and Apple DVD Studio Pro have internal scripting languages that allow you to add interactive features. In general scripting languages are much easier to use for people who do not have a programming background. An alternative is to hire a DVD title developer who is comfortable with the DVD-Video navigation commands and can implement the interactive features you require for your title.

Dummy PGC

DVD-Video titles have four basic domains, the First Play domain, the Video Manager domain, the Video Title Set Manager domain, and the Title domain. Using DVD navigation commands it is not always possible to transition directly from one domain to another domain. For example you can’t use the Jump or Link commands to go from a program chain in one Title to a program chain in another Title.

Using dummy program chains is an excellent technique to transition from one domain to another within a DVD title. A dummy program chain is simply a program chain that does not include media elements that will ever be presented to the viewer. The First Play PGC, which is used to provide a starting location for a DVD title, is in effect a dummy PGC, since the First Play PGC does not include media elements for presentation. In general, a dummy PGC will include Pre commands that instruct the DVD-Video player to jump to a specific location within the DVD title.

Another use of a Dummy PGC is to execute additional navigation commands when a menu button is pressed. Navigation commands in the Button Highlight area are limited to a single command. If you need to execute more than one command when a button is pressed, you can accomplish this by having the button link to a dummy PGC. You can then use the Pre command area of the dummy PGC to execute up to 128 additional navigation commands. A Dummy PGC can be used in the Video Manager, Video Title Set Manager, and Title domains. It is a good idea to actually store a still image or static menu background in each Dummy PGC. Program chains that include some media content have more flexibility when it comes to executing navigation commands than program chains that are empty. Figure 6.7 shows how a Dummy PGC can be used to transition between two different Title domains.

image

Figure 6.7  Using a Dummy PGC to Transition Between Title Domains

FOR

A FOR statement executes a series of commands a specific number of times. Generally a FOR statement includes a counter variable (and initial value), an increment value, an ending value, and a block of code to be executed. A traditional computer program FOR statement looks something like this.

image

In this example Statement 1 and Statement 2 will be executed 100 times. After each time Statement 2 is executed the counter variable I will be incremented by 1. When I becomes greater than 100, the FOR statement execution will stop. The following code shows how a FOR statement can be implemented using DVD-Video navigation commands. In this example GPRM0 will be used as the counter variable.

Command # Navigation Command // Comments
1 Mov GPRM0, 0 // Initialize counter variable
2 if (GPRM0 >= 100) GoTo 7 // 100 is FOR loop end value
3 Nop // Statement 1
4 Nop // Statement 2
5 Add GRPM0, 1 // Increment counter
6 GoTo 3 // Return to top of FOR loop
7 Break // End of FOR Statement

IF

The IF statement executes a block of code if a test is true. Generally an IF statement includes a statement that can be either true or false, and a block of code. A traditional computer program IF statement looks something like this.

image

In this example Statement 1 and Statement 2 will be executed if the variable counter is less than or equal to 10 at the moment the IF statement is executed. If counter is greater than 10, Statement 1 and Statement 2 will not be executed. The following code shows how an IF statement can be implemented using DVD-Video navigation commands. In this example GPRM0 will be used as the counter variable. You should note that I have reversed the test in the DVD navigation command IF statement, as it is easier to implement the high-level IF statement using negative logic. For this example, I have used Nop commands as place holders for Statement 1 and Statement 2.

Command # Navigation Command // Comments
1 if (GPRM0 > 10) GoTo 4 // Compare “counter” to 10
2 Nop // Statement 1
3 Nop // Statement 2
4 Break // End of IF Statement

IF THEN ELSE

The IF THEN ELSE statement executes one block of code if a statement is true, or a second block of code if the statement is false. Generally an IF THEN ELSE statement includes a statement that can be either true or false, and two blocks of code. A traditional computer program IF THEN ELSE statement looks something like this.

image

In this example Statement 1 and Statement 2 will be executed if the variable counter is less than or equal to 10 when the IF statement is executed. If counter is greater than 10, Statement 3 and Statement 4 will be executed. The following code shows how an IF THEN ELSE statement can be implemented using DVD-Video navigation commands. In this example GPRM0 will be used as the counter variable.

Command # Navigation Command // Comments
1 if (GPRM0 > 10) GoTo 5 // Compare “counter” to 10
2 Nop // Statement 1
3 Nop // Statement 2
4 Break // End of IF block
5 Nop // Statement 3
7 Nop // Statement 4
8 Break // End of ELSE block

Navigation Timer

The DVD-Video Navigation Timer is roughly equivalent to a software timer interrupt in a personal computer. You can set up the Navigation Timer with any value between 1 and 65,535 seconds. While the DVD title is being played back the Navigation Timer is decremented once every second. When the Navigation Timer changes from 1 to 0 the DVD-Video player will automatically jump directly to the program chain specified in the initial Navigation Timer command. The Navigation Timer has a number of potential uses in a DVD-Video title.

For example if you are developing an educational title that includes a testing section, you may want to limit the amount of time that the viewer has to answer all the questions. The Navigation Timer works only in the Title domain, so you should set up the Navigation Timer using a Pre command in the Entry PGC of the Title. Figure 6.8 shows an example of how to use the Navigation Timer. In this example when the viewer has been playing the Title for one hour control will automatically pass to the designated program chain, which will tell the user that their time is up.

image

Figure 6.8  Navigation Timer Example

SWITCH

The SWITCH statement includes different blocks of code that are each executed when a variable has a specific value. Generally a SWITCH statement includes a statement or variable that can assume a range of values, blocks of code for each value range, and a default block of code to execute if the variable does not match any specific values. A traditional computer program SWITCH statement looks something like the following.

image

image

In the previous example variable is evaluated when the SWITCH statement is initially called. If variable has a value of 1, Statement 1 and Statement 2 will be executed. If variable has a value of 2, Statement 3 and Statement 4 will be executed. If variable has a value of 3, Statement 5 and Statement 6 are executed. If “variable” has any other value than 1, 2, or 3, Statement 7 and Statement 8 are executed. The following code shows how a SWITCH statement can be implemented using DVD-Video navigation commands. In this example GPRM0 will be used as the variable.

Command # Navigation Command // Comments
1 if (GPRM0 = 1) GoTo 7 // Case “1” Test
2 if (GPRM0 = 2) GoTo 8 // Case “2” Test
3 if (GPRM0 = 3) GoTo 11 // Case “3” Test
4 Nop // Statement 7
5 Nop // Statement 8
6 Break // End Default Case
7 Nop // Statement 1
8 Nop // Statement 2
9 Break // End Case 1
10 Nop // Statement 3
11 Nop // Statement 4
12 Break // End Case 2
13 Nop // Statement 5
14 Nop // Statement 6
15 Break // End Case 3

WHILE

The WHILE statement executes one block of code repeatedly until a statement is false. Generally a WHILE statement includes a statement that can be either true or false and one block of code. A traditional computer program WHILE statement looks something like this.

image

In this example Statement 1 and Statement 2 will be executed if counter is less than or equal to 10 at the moment that the IF statement is executed. If counter is greater than 10, the WHILE function will be ended. In general at least one of the statements inside the WHILE loop will directly impact at least one of the variables used to determine when to stop execution of the block of code. The following code shows how a WHILE statement can be implemented using DVD-Video navigation commands. In this example GPRM0 will be used as the counter variable. In this example GPRM0 has been placed in counter mode so that it will automatically increase by one every second.

Command # Navigation Command // Comments
1 SetGPRMMD GPRM0, 0, 1 // Set GPRM0 in Counter Mode
2 Nop // Statement 1
3 Nop // Statement 2
4 If(GPRM0 <= 10) GoTo 2 // End WHILE

User Operations (UOP)

The DVD-Video specification defines a number of different User Operations (UOP). UOP are performed by pressing one or more buttons on the DVD-Video player remote control, or by clicking on a specific button in a PC DVD-Video navigation graphical users interface. All UOP can be enabled or disabled by the DVD-Video title author, and these properties can be changed during the playback of the title. For example on Hollywood titles it is common practice to disable all UOP during the playback of the FBI warning segment. Once this segment has been played UOP are enabled. Thus the viewer is prevented from jumping out of the FBI warning segment, but after that segment has been played the viewer can use the remote control to jump directly to the disc menus, use the fast forward function, or jump directly to any chapter in the title. The following UOP are defined for DVD-Video.

Title_Play(Title_Number) Plays a specific title indicated by a Title_Number between 1 and 99.

PTT_Play(Title_Number, PTT_Number) Plays a specific chapter from a specific Title indicated by the Title_Number and PTT_Number between 1 and 999. PTT_Play is an optional feature and may not be supported by all DVD-Video players.

Time_Play(Title_Number, Time) Starts playback at a specific time code within a specific title, indicated by the Title_Number and Time (hours, minutes, seconds, frames). Time_Play is an optional feature and may not be supported by all DVD-Video players.

Stop Stops playback of the DVD-Video title.

GoUp Jumps from the current program chain to a new one defined by the GoUp link associated with the current program chain.

Time_Search(Time) Starts playback at a specific time code within the current title, indicated by the Time (hours, minutes, seconds, frames). This user operation is only allowed for one-sequential-PGC titles. Time_Search is an optional feature and may not be supported by all DVD-Video players.

PTT_Search(PTT_Number) Starts play at a specific chapter number within the current title, indicated by a PTT_Number between 1 and 999. PTT_Search is an optional feature and may not be supported by all DVD-Video players.

PrevPG_Search Starts play from the beginning of the previous program.

TopPG_Search Starts play from the start of the current program. TopPG_Search is an optional feature and may not be supported by all DVD-Video players.

NextPG_Search Starts play from the beginning of the Next program.

Forward_Scan(Speed) Changes the speed of playback to values faster or slower than the normal speed. Forward_Scan is an optional feature and may not be supported by all DVD-Video players.

Backward_Scan(Speed) Changes the speed and reverses the direction of playback. Backward_Scan is an optional feature and may not be supported by all DVD-Video players.

Menu_Call(Menu_ID) Jumps directly to the menu specified by Menu_ID. Valid Menu_ID values are Title, Root, Audio, Subpicture, Angle, and PTT. Menu_Call is an optional feature for Audio, Subpicture, Angle, and PTT menus, and may not be supported by all DVD-Video players.

Resume Returns from the Video Manager or Video Title Set menu domains to the Title domain, and resumes playback at the last playback point.

Upper_Button_Select Moves from the current button on a menu to the button defined by the Up link.

Lower_Button_Select Moves from the current button on a menu to the button defined by the Down link.

Left_Button_Select Moves from the current button on a menu to the button defined by the Left link.

Right_Button_Select Moves from the current button on a menu to the button defined by the Right link.

Button_Activate Executes the navigation command associated with the current button.

Button_Select_&_Activate(Button_Number) Jumps directly to the specified button and then executes the navigation command associated with it. Button_Select_&_Activate is an optional feature and may not be supported by all DVD-Video players.

Still_Off Releases the player from an infinite display of a VOBU, PGC, or Cell Still Image.

Pause_On Pauses playback of the title. Pause_On is an optional feature and may not be supported by all DVD-Video players.

Pause_Off Resumes playback of a paused title. Pause_Off is an optional feature and may not be supported by all DVD-Video players.

Menu_Language_Select(Language_Code) Selects a specific language for menus indicated by the Language_Code.

Audio_Stream_Change(Audio_Stream_Number) Changes the current audio stream to a new one indicated by the Audio_Stream_Number.

Subpicture_Stream_Change(Subpicture_Stream_Number) Changes the current subpicture stream to a new one indicated by the Subpicture_Stream_Number.

Angle_Change(Angle_Number) Changes the current video angle to a new one specified by the Angle_Number.

Parental_Level_Select(Parental_Level) Changes the current Parental Level to a new one specified by Parental_Level. Parental_Level_Select is an optional feature and may not be supported by all DVD-Video players.

Parental_Country_Select(Country_Code) Changes the current Parental Level Country Code to a new one specified by Country_Code. Parental_Country_Select is an optional feature and may not be supported by all DVD-Video players.

Karaoke_Audio_Presentation_Mode_Change(Mode) Changes the current Karaoke mode to a new one specified by Mode. Karaoke_Audio_Presentation_Mode_Change is an optional feature and may not be supported by all DVD-Video players.

Video_Presentation_Mode_Change(Mode) Changes the current video presentation mode to a new one specified by Mode.

User Operations are enabled or disabled by setting 25 different UOP flags. Most UOP flags are used to enable or disable a single operation, however some flags are used to enable or disable a group of operations. User Operations can be enabled or disabled at three different levels of a DVD-Video title. Some flags can be set only within the Video Manager domain, while others can be set only within a Title domain. The flags that can be set in a Title domain can be set at the program chain and program levels. In some cases it is possible to have a conflict between the flags set in the Video Manager domain and the settings in the Title domain. To permit a UOP, the UOP permission flag must be set in both the Video Manager and Title domains; within the Title domain the UOP must be permitted at both the PGC and program levels. Table 6.8 shows the flags supported by DVD-Video players, the UOP with which they are associated, and the levels at which the flags may be set.

Table 6.8 DVD-Video User Operation Flags & Associate Operations

image

image

Dual Layer Issues

Dual layer, or DVD-9, discs are very popular for publishing DVD titles that include a large amount of content. In general professional DVD authoring systems will allow you to develop dual layer titles, while few entry-level and only some mid-range authoring systems support dual layer titles. There are two basic methods of developing a dual layer titles: Parallel track and Opposite track, as shown in Figure 6.9.

image

Figure 6.9  Parallel Track and Opposite Track Dual Layer Operation

In a parallel track dual layer title each data layer is independent,. When a DVD-Video player or DVD-ROM drive is instructed to change data layers there will be a noticeable pause in the playback of content. Most DVD-Video players take about 0.5 seconds to refocus the laser to read a different layer. If the laser also has to be repositioned, a layer transition can take 1 second or more. Parallel track DVD titles are generally used on DVD-ROM projects or on DVDVideo projects in which there are more than one distinct program stored on the disc that do not need to be played back in a seamless fashion. When developing a parallel track dual layer disc the only thing you need to do is specify the location of the layer break, and make sure that the total amount of data stored on either layer is less than 4,269,998,080 bytes. For Parallel track dual layer titles there are no requirements on how large, or small each layer needs to be.

Opposite track dual layer titles are designed for the playback of content that requires a seamless transition between one layer and the next. Thus a movie that is too long to fit on a single layer, single sided disc (DVD-5) can be broken up into two pieces and stored on a dual layer (DVD-9) disc. When the player reaches the end of Layer 0 it will automatically refocus to start reading data from Layer 1 and continue playback of the content in an uninterrupted fashion. Because a seamless transition is needed between the two layers, there are some additional requirements for dual layer titles. Most importantly, the amount of data stored on Layer 0 must be larger than the amount on Layer 1 so that the laser won’t have to be repositioned when it changes layers, but will only have to refocus. As with parallel track dual layer titles, there is a limit of 4,269,998,080 bytes that can be stored on either layer. Opposite track dual layer discs are played starting from the inner data-ring using Layer 0. When the player reaches the last data byte on Layer 0, which will be near the outer edge of the disc, it refocuses the laser to Layer 1 and starts reading data in the reverse direction, from the outer to inside edges of the data on the disc. Opposite track dual layer discs are also called Reverse Spiral Dual Layer (RSDL) discs.

Here are a few guidelines on where to position the layer change so that it will not be visible to the viewer.

1.   Ideally the layer change should be positioned so that it occurs when the video is black and the audio is silent. Thus even if a DVD-Video player freezes for a short time during the layer break, it will not be noticeable to the viewer.

2.   When developing an Opposite Track dual layer title you want to include as much data as possible on Layer 0. Since Layer 0 must be larger than Layer 1, you will not be able to store any data on the portion of Layer 1 that is beyond the last data sector of Data 0. Thus if Layer 0 is too small you may not be able to fit everything on the disc since you will have unusable space on both Layer 0, and Layer 1.

3.   Many older DVD-Video players have a limited amount of buffer storage, which means that these players will “freeze” on layer changes that may be perfectly acceptable on newer players. Since you can’t control the make and model of DVD player used to play the title, you should design for the worst case. Its a good idea to test the layer break on your dual layer titles on an older player to make sure it works correctly.

4.   If you can’t locate the layer change during a fade to black, you should choose a scene in which the video is as static as possible. A layer change during the middle of a high action scene will be noticeable on most DVD players. If the layer change has to occur during a non-black video sequence, there are some tricks you can use to minimize the visibility to the viewer. One technique is to lower the data rate of the compressed video stream a second or two before the layer change. Keep the video data rate low until a second or two after the layer change. Lowering the video data rate before the layer change will allow the internal buffer in the DVD-Video player to store the maximum amount of video frames and thus give the player more time to actually perform the layer change before it runs out of data to display. Keeping the data rate low just after the layer change will allow the player to load new frames quickly so that it can resume video playback as soon as possible.

5.   Last, but not least, you need to plan for the layer break before you start encoding the video and audio elements or authoring the title. Once you decide where the layer break will be, you can perform the bit budget calculations discussed in Chapter 3 on each layer. When you perform the bit budget calculations for a dual layer disc don’t forget that the maximum data storage on either layer of a dual layer disc is about ten percent less than the amount that can be stored on a single layer disc.

Multiple Angle Video Issues

A common misperception is that the total data rate of a multiple angle video stream can’t exceed the maximum data rate for a single video stream, which is 9.8 Mbps. This however is not true; in fact multiple angle video streams can each have data rates as high as 8 Mbps, although in some cases maximum data rates can be restricted to 7 Mbps to ensure seamless branching between different video angles. Most professional DVD authoring tools support multiple camera angles and will provide a warning if the data rate of any video angle stream exceeds the maximum amount. There are a number of other restrictions that apply to multiple camera angles including the following.

•   The audio streams must be the same format for all video angles in a specific segment.

•   The subpicture streams must be the same format for all video angles in a specific segment.

•   Each video angle must have the same number of GOPs.

•   The number of audio packets must be the same for each video angle.

•   The number of subpicture packets must be the same for each video angle.

•   The Highlight information, with the exception of button commands, must be the same for each video angle.

•   The individual data rates for each video angle must be close enough so that the maximum distance between data sectors of individual video angles is no more than 20,000 sectors and takes no more than 0.31 seconds.

image

Tips, Tricks & Techniques

A good rule of thumb for developing multiple video angle titles is to use constant bit rate compression for all angles, with a bit rate less than or equal to 7.0 Mbps. Each video angle should be the same number of frames and the audio, subpicture, and highlight information associated with each video angle should also be the same length and format.

Subpicture Issues

All DVD-Video players must support up to 32 subpicture streams. In theory it is possible to update a subpicture stream 30 times per second, and there are some DVD-Video players that will support this rate. However many DVD-Video players will not work properly when presented with one or more subpicture streams that are updated at a rate of 30 frames per second.

Subpicture images are stored as run-length coded bit maps, and can have resolutions as large as 720· 480 for NTSC titles and 720· 576 for PAL titles. It is possible to generate a subpicture image that is so complicated it can’t be compressed to fit into the maximum space allocated for a single subpicture. This will only happen when you are generating subpictures that fill the entire screen and have a fair amount of detail.

Subpicture images must stay within the traditional video-safe areas for NTSC and PAL television signals. In general a subpicture image should contain no critical information within ten percent of the edges of the image.

Several advanced features can be used with subpictures such as fade in and out, scroll up and down, and movement of the subpicture display location. Some professional DVD authoring systems do not support these advanced features, and there are also many entry-level DVD-Video players that can’t play back subpictures using these advanced features. Hopefully this is an area in which the DVD authoring tools and players will improve over the next few years.

image

Tips, Tricks & Techniques

A good rule of thumb for subpicture streams is to update them no faster than twice a second. Subpicture streams with new images that occur only twice per second will work on the vast majority of DVD-Video players.

Educational Title Issues

Educational titles have some unique requirements that must be addressed during the DVDVideo authoring process. Many educational titles are designed to work with the Pioneer V7300 or V7400 players. These are industrial-strength DVD-Video players that have been designed with mouse, RS-232, and bar code interfaces needed for educational or industrial applications. The Pioneer players provide a number of features that can be used by educators to develop customized presentations using DVD-Video titles. These customized presentations may include the playback of short segments of video stored on the DVD-Video disc, with a requirement for frame-accurate access to any frame of video. The primary command and control mechanism for the bar code interface to the Pioneer V7300/7400 players is based on an interface that Pioneer designed for their line of industrial laser disc players. This bar code interface provides educators with the ability to enter specific frames as in and out points for a playback sequence, or they can jump directly to any title or chapter stored on the disc. There are a few restrictions to the DVD-Video authoring process that must be accommodated if the title is to be played back using a Pioneer V7300/7400 player with a bar code interface. These restrictions include the following.

All content should be stored in one-sequential-PGC titles. The Pioneer players require time code information in order to provide frame-accurate in and out points. Only one-sequential-PGC titles will have the timetable information included on the DVD-Video to support this frame-accurate feature.

Dummy PGCs should be used in the Video Manager and Video Title Set Manager domains. These Dummy PGCs should include Pre commands that direct the DVD-Video player to jump back into a Title domain. The bar code interface of the Pioneer V7300/7400 players will not work when the player is in either the Video Manager or Video Title Set Manager domains. Essentially this means that you need to design the DVD title so that all of the menus are stored as program chains within one or more titles, rather than storing them in their traditional Video Manager or Video Title Set Manager locations. Dummy PGCs can be used to allow the viewer to press the Title and Menu buttons, but when these buttons are pushed control will pass through the Dummy PGC to a program chain within a Title domain. This somewhat backwards method of authoring a DVD title will ensure that the bar code interface can be used from any point within the DVD-Video title.

DVD-Video Player Compatibility Issues

The DVD-Video specification is an extremely complex document that leaves many details subject to interpretation. This has led to compatibility problems between some DVD-Video players and some DVD-Video titles. In general the vast majority of DVD-Video players will be able to play simple or basic DVD-Video titles. These titles usually have all of the content stored in a one-sequential-PGC title, with a single video stream, a single audio stream, and a limited number of subpicture streams. Simple titles generally include fewer than 20 menu screens in a single language. If you want to avoid player compatibility problems, you need to design your DVD title to be as simple as possible.

For many professional developers, designing a simple DVD title is not going to be good enough. Many title developers want to use advanced features such as multiple video angles, multiple audio tracks, menus in several different languages, slide shows, and DVD navigation commands to implement a highly interactive title. Professional DVD title developers need to know about compatibility problems with DVD-Video players and how they can be avoided.

No list of player compatibility problems can possibly include every problem on every player. New players are released every quarter. As DVD developers push the limits of their authoring tools and the specification, new compatibility problems are found on a routine basis. The best advice I can give you on this subject is to design your titles to avoid the known compatibility issues, and then test the final disc image on as many DVD-Video players as possible before you commit to the production run. In general compatibility problems are more likely to occur on cheaper players, so you should make sure you include at least a few low-end players in your compatibility matrix tests. A number of DVD testing facilities can help you with testing a title on a large number of DVD players. Facilities such as Intellikey Labs, Testronic Labs, and the various DVD Forum Verification Labs have in excess of 100 DVD-Video players in their test matrix configurations. Full contact information for each of these companies is provided in Chapter 10. If you are developing a complex DVD title that may have widespread distribution among consumers, it is a good idea to have it tested by one of these facilities.

Audio Compatibility Issues

There are a number of known compatibility issues with audio playback, including the following.

Audio Format Transitions Some Dolby Digital and DTS receivers take several seconds to detect and react to a change in the format of the audio signal from a DVD-Video player. In some cases the receiver will not play the audio after the format has been changed, while in other cases the viewer will not hear the first few seconds of sound. The solution to this problem is to minimize the number of times the title automatically changes audio modes. You may also want to add a dummy PGC with a few seconds of silent audio in the new format to give the receiver time to sync up to the new format. For example, to transition between a menu with Dolby Digital 2.0 audio and the main program with Dolby Digital 5.1 audio, you can transition through the dummy PGC (with 5.1 audio).

Audio Language Definitions Some DVD players will fail to play an audio stream if the stream’s language code is different from the language code specified in the Video Manager or Video Title Set Manager domains. The solution to this problem is to make sure the audio language codes used in a Video Title Set are the same as the language codes used in the Video Manager and Video Title Set Manager domains.

Changing Audio Streams Some DVD players will not allow you to change the audio stream number to a value that is higher than the number of streams in the current domain. There are several possible solutions to this problem. When you are in the same domain as the content, you can change the audio stream number. You can include Pre commands that set the audio stream number each time you enter a new domain. You could also add dummy audio tracks so that each domain in the title includes the same number of audio streams.

Dolby Digital Audio Some DVD players will fail to play an audio stream when the last byte of audio data has a hex value of 0· 0b77 in the last audio pack of a cell. This is a valid value for audio data and it can occur in a valid audio stream. While there is no way to predict when this problem will occur, the solution is to change the audio slightly and re-encode it so the last data value is not 0· 0b77.

Slide Show Audio Some DVD players will fail to play an audio stream in a slide show if the audio data is not present at the start of the slide show. The solution to this problem is to make sure that the audio stream has valid data throughout the entire slide show. If necessary you may need to add silent audio to the portions of the slide show that do not have active audio data.

Disc Structure Compatibility Issues

There are a number of known compatibility issues with DVD disc structures, including the following.

One-Second Cell Some DVD players will fail to play a title that includes a cell that is less than one second long, except for menus.

More than 128 PGC in Video Manager or Video Title Set Manager Domains Some DVD players will fail when they try to play a title that has more than 128 program chains in any individual language section of the Video Manager or Video Title Set Manager domains.

More than 243 PGC in VTS Some DVD players will fail to play a title that has more than 243 program chains in a single VTS.

Three-Second Tracks Some DVD players will fail to play a title that includes a track that is less than three seconds long.

More than 38 Files in the Root Directory Some DVD players will fail to play a title that has more than 38 files in the root directory of the disc. This can only occur with hybrid DVD titles that include both DVD-Video and DVD-ROM data. If you have more than 38 files in the root directory you should consider moving some DVD-ROM files to their own directory on the disc.

More than 511 PTT in VTS Some DVD players will fail to play a title that has more than 511 PTT (chapters) within a single VTS.

More than 75 Cells in a Program Chain Some DVD players will fail when the try to play a title with more than 75 cells in a single program chain.

Forced Activation Button Some DVD players will fail when they encounter a title that uses forced activation buttons.

Disc Image Size Some DVD players will fail when they try to play a title that has more than 2,293,760 sectors for a single layer disc or more than 2,097,152 sectors for a dual layer disc. Make sure the size of any individual layer of a disc is approximately 24 Mb less than the maximum capacity called out by the DVD-Video specification.

Repeated Cells Some DVD players will go into an infinite loop condition if a cell is repeated within a program chain. This can happen when you use the same track or scene in a program chain more than once.

Video Manager Domain & No Language Some DVD players will fail when they try to play a title that includes program chains with video or slide show content in the Video Manager domain, but there is no language defined in the Video Manager. In general you should define a menu language if you include any program chains in the Video Manager domain.

DVD-R Compatibility Issues

Many consumer DVD-Video players can’t read DVD-R discs. Table 6.9 provides a list of DVD-Video players and the results of DVD-R compatibility tests. DVD-Video player models are released every quarter, and vendors occasionally change player firmware during a units manufacturing life. Please visit http://www.dvdtoday.com for an updated DVD-R compatibility list.

Table 6.9 DVD-R Compatibility

DVD-Video Vendor DVD-R Capable Models DVD-R Incapable Models
Aiwa XDDV290 XDD370
Apex AD660 AD500A
  AD703 AD600A
Denon DVD3000 DVD1500
  DVD3300  
  DVM3700  
Emerson DVD2000  
Go! Video   DVS3000
    DVR5000
Harmon Kardon DVD5  
Hitachi   GD3000
    GD5000
    GVD305
JVC XV511BK XV501
  XV723 XV523
  XVD55 XV1000
  XVM567 XVD701
Kenwood   DV402
    DV403
KLH   DVD1000
Konka KD1800U1  
Magnavox DVD711/171  
Memorex   MVD2026
Mitsubishi DD6000 DD2000
    DD3000
    DD4001
Oritron DVD100  
  DVD200  
  DVD600  
Panasonic DVDA7 DVDA110
  DVDA10 DVDA120
  DVDA100 DVDCV50
  DVDA300  
  DVDA310  
  DVDL10D  
  DVDL110  
  DVDL50D  
  DVDT2000  
  DVDCV50  
  DVDRV20  
  DVDRV30  
  DVDRV55  
  DVDK520  
  CT27DC50  
Pioneer DVC503  
  DV414  
  DV301  
  DV333  
  DV434  
  DVD-V7100  
  DVD-V7200  
  DVD-V7300  
  DVD-V7400  
  Elite05  
  Elite DVF07  
  DV500  
  DV505  
  DV525  
  DV606D  
  DVL700  
  PDVLC10  
Philips   DVD701
    DVD711
    DVD170
    DVD400
    DVD405
    DVD751
    DVD825AT
    DVD850
    DVD950
Proscan P8610P  
  P8680Z  
Raite RDP715  
RCA RC5200 RC5910
  RC5220P  
  RC5215P  
Sampo   DVE520
Samsung DVD511 DVD839
  DVD611 DVD709/XAA
  DVD905 DVD739
    DVDC600
Sharp DV750U  
  DVL70U  
SMC DVD330S  
Sony DAVS300 DVPS3000TP
  DVPC600 DVPS7000
  DVPC650D DVPS3000
  DVPC660 PVDV30
  DVPC670D  
  DVPCX850D  
  DVPCX860  
  DVPCX870D  
  DVPS300  
  DVPS330  
  DVPS350  
  DVPS360  
  DVPS500  
  DVPS530D  
  DVPS520  
  DVPS550D  
  DVPS560D  
  DVPS570D  
  DVP660  
  DVP670D  
  DVP680  
  DVPS7700  
  DVPS9000ES  
  PlayStation 2  
Technics A10D  
Toshiba SD1200 SD2006
  SD1600 SD2107U
  SD2150 SD2108U
  SD2200 SD2109
  SD2300 SD3006
  SD3205 SD3107
  SD4205 SD3109
  SD6200 SD5109
    SD6109C
    SD9000
Tredex TX8303  
X-Wave   B171-L9
Yamaha DVDC996 DVDC900
  DVDS700  
  DVDS796  
Zenith DVC2200 IQDVD2300
  DVC2250  
  DVC2515  

Menu Compatibility Issues

There are a number of known compatibility issues with menus, including the following.

Menu Language Definitions Some DVD players will fail to display a menu highlight stream if the stream’s language code is different from the language code specified in the Video Manager or Video Title Set Manager domains.

Multiple Menu Languages Some DVD players will fail to play a title that includes more than one menu language in the Video Manager or Video Title Set Manager domains. One solution to this problem is to place each language’s menus in their own title domain and use a dummy PGC in the Video Manager to branch to the appropriate menu language title domain.

Navigation Command Compatibility Issues

There are a number of known compatibility issues with navigation commands, including the following.

Post Command in Last Cell Some DVD players will not execute a Post command in the last cell of a PGC if the cells are connected seamlessly and the PGC resides in the Video Manager or Video Title Set Manager domains. The solution to this problem is to either use single-cell PGCs in the Video Manager and Video Title Set Manager domains, or to use the Link-TailPGC navigation command in each cell of the PGC.

Random Number Generation Some DVD players will generate the same number when the RND (Random) command is executed more than once within a single PGC. You should only use the RND command once within the Pre or Post command areas of a PGC.

Reset Navigation Timer Some DVD players will fail to play a title correctly if the Navigation Timer is reset. When the timer is reset, control could pass to the PGC specified as the target for when the Navigation Timer expires. When using the Navigation Timer you should specify a dummy PGC as the target of the Navigation Timer when the reset is performed. The dummy PGC should link to the same location as the PGC that is to be executed after the reset, so that even if the reset fails to work correctly, control will pass to the correct PGC.

Slide Show Compatibility Issues

There are a number of known compatibility issues with slide shows, including the following.

Fast Forward during Slide Show Some DVD players will not work correctly when using the fast forward feature during a slide show. Using fast forward may cause the player to display each slide in the slide show for a fraction of a second, rather than for a 2· , 4· , or 8· period as required. There is no solution to this problem other than to avoid using slide shows entirely.

Slide Show with Audio Some DVD players will not play an audio track that is part of a slide show. The only way to solve this problem is to avoid using audio tracks in slide shows.

Subpicture Compatibility Issues

There are a number of known compatibility issues with subpicture streams, including the following.

Disable Subpicture Some DVD players will not turn off the subpicture stream if the current stream number is set to 63 (which is the default). The solution to this problem is to change the subpicture stream number to something other than 63 before you turn it off.

Forced Subpicture Display Some DVD players can’t display forced subpictures if the subpicture stream number is set from 0–31 and the subpicture stream is turned off. The solution to this problem is to set the subpicture stream number to 63 whenever subpictures are turned off.

SPRM 2 = 62 Some DVD players will display the subpicture stream that has the same language code as the DVD players setup menu default language when SPRM 2 is set equal to 62. The solution to this problem is to avoid setting SPRM 2 equal to 62.

Subpicture Displayed across Track Boundaries Some DVD players will display a subpicture across a track boundary if the last subpicture in the track ends fewer than two seconds before the end of that track. The solution to this problem is to make sure that the final subpicture in a track ends at least two seconds before the end of the track.

Video Compatibility Issues

There are a number of known compatibility issues with video streams, including the following.

Half D1 MPEG-2 Video Resolution Some DVD players can’t correctly display video encoded at Half D1 MPEG-2 resolutions (352· 480 for NTSC and 352· 576 for PAL).

High Bit Rate Video Some DVD players will not play a title correctly that includes video streams with the maximum video bit rate of 9.8 Mbps. A good rule of thumb is to use video with bit rates that are less than 9.0 Mbps.

Last Video Frame Some DVD players will not play the last frame of video if there is no padding packet at the end of the video stream. This can happen on rare occasions when the last video packet is the same length as the other video packets in the video object. The solution to this problem is to re-encode the video or still image so that it will have a different number of bytes and thus require a padding packet at the end of the stream.

Jacket Pictures

Jacket pictures are a rather obscure feature of the DVD-Video specification that allows you to associate one or more still images with a DVD-Video volume. A DVD-Video volume is a single side of a DVD-Video disc. DVD-5 and DVD-9 discs have one volume. DVD-10, DVD-14, and DVD-18 discs have two volumes. With the intrduction of multi-disc players the use of jacket pictures has become more popular because it allows the viewer to see a graphical display of images associated with each disc inserted in their multi-disc player.

Jacket picture images are stored in the Jacket_P directory, which must be in the root directory of a DVD-Video disc. Up to six files can be included in the Jacket_P directory, three for NTSC displays and three for PAL displays. Jacket pictures are stored as MPEG-2 video streams, and the images must be in a 4:3 aspect ratio. Table 6.10 provides the required image resolutions for the various jacket pictures.

Table 6.10 Jacket Picture Resolutions

Jacket Picture Description Image Size File Name
Large Jacket Picture for NTSC 720· 480 J00_5L.mp2
Medium Jacket Picture for NTSC 176· 112 J00_5M.mp2
Small Jacket Picture for NTSC 96· 64 J00_5S.mp2
Large Jacket Picture for PAL 720· 576 J00_6L.mp2
Medium Jacket Picture for PAL 176· 144 J00_6M.mp2
Small Jacket Picture for PAL 96· 80 J00_6S.mp2

If any jacket pictures are provided for either NTSC or PAL formats, all three sizes of jacket pictures for that format must be provided. It is not necessary to provide PAL jacket picture for NTSC titles, or to provide NTSC jacket pictures for PAL titles, but you can do so if you want. Not all professional DVD authoring systems support the use of jacket pictures, however it may be possible to use jacket pictures even if they are not supported by your authoring system. Most professional authoring systems will allow you to include DVD-ROM content on a disc image in addition to the DVD-Video data. If you can create the required jacket image pictures outside of your authoring tool, give them the correct file names, and then include them on the disc image as DVD-ROM data in the Jacket_P directory, then you can include this feature on your DVD title.

..................Content has been hidden....................

You can't read the all page of ebook, please click here login for view all page.
Reset