links

Some notes on Hybrids: Navigation issues and Gapless playback

Navigation issues

In this page, I investigate navigation between audio and video zones and playback issues. All test DVDs used to derive the following statements were made with Hplex then compared with same-content discs built with commercial software. To implement zone-to-zone navigation, Hplex-made AUDIO_PP.IFO and AUDIO_TS.IFO were modified with a hex editor, according to the specifications released in the new tables.

At this stage, it does not appear essential to try to uncover the structure of menu navigation, as navigation between zones does not depend on AUDIO_TS.VOB being present or not. It suffices to use the direct access keys of the remote control unit in the following way:

To jump from audio group X to video titleset Y, with N audio groups, strike Stop if playing audio, 
then number Y-N key, then Enter. The reverse is also OK from video zone to audio zone.		   
 
It is necessary to press Stop if playing, otherwise the key number will set the player jumping to the same-group title of the key number.
This property holds true whether the fourth sector is left or not in the ISO structure, with or without a VOB menu. This interesting result shows that the relative pointers in AUDIO_TS.IFO are all that is required for a smart player to navigate with direct access keys.

Further findings and unsolved navigation issues.

Virtual machine (VM) commands seem to be partly identical in both zones, with possible differences.
In AUDIO_TS.IFO, just as it does in VIDEO_TS.IFO, VM command 300600XX (Jump to first-play PGC in video zone) forces the player to get to the VOB menu, thereby making other code written further down in the IFO file non-operational.
This trick was used to show that the fourth sector of AUDIO_TS.IFO was necessary to define the links further encoded in the VOB buttons, when an on-screen menu is generated.



A note on Gapless playback

A nagging issue with some DVD-players is the gap that sometimes is felt between audio tracks.
Why gaps?
A common feature of both audio zone and video zone is the ban on direct jumps from a title in the title domain to another title. To get from one title to another, the player must go through a part of system space, accessible with special virtual machine commands. Two consecutive operations must be handled in disc zones that may be far from each other. Hence, navigating between titles is time-consuming. Supposing now the player does not store as permanently as it should all system space data, it may be necessary to loop back and read again the information available in system space to direct the playback to the right new track.
In support of this hypothesis is the fact that some DVD-Audio/Video players exhibit quite the same behaviour in audio zone and video zone.
What is to be done?

The gapless playback performed by some commercial software appears to be a presentational trick that takes advantage of the DVD-Video/DVD-Audio system symmetry and blurs the distinction between titles and chapters (in video parlance), i.e. between titles and tracks in audio zone.
Gapless tracks do not have the same hierarchical nature as non-gapless tracks. The former are chapters (or even lower entities in the hierarchy) of the same title (confusingly labelled tracks) while the latter are fully-fledged one-chapter titles.
Gapless tracks are merged on disc and actually just constitute one single title-like entity in AOBs.

The length in PTS ticks reported for two consecutive gapless tracks is the (rounded) sum of the two PTS tick figures in AUDIO_TS.IFO. The two tracks are thus considered as just one in AUDIO_TS.IFO. Further, the gapless technique can only be used for tracks with the same audio characteristics, which points to their being merged in some way to a common audio stream, just like chapters in a video title.

I now tentatively conjecture that:

  1. tracks are actually audio titles, comparable to video titles;

  2. gapless tracks are audio chapters, comparable to video chapters or part-of-titles;

  3. audio titles may comprise several audio chapters on condition that they have the same audio attributes;

  4. the gaps felt with some players correspond to jumps from one title to another . Arguably, this is due to the fact that a pointer must be read on each chapter that is a title entry -- some video players exhibit the same behaviour;

  5. gaps are not felt between chapters that are not title entries, hence between so-called gapless tracks


With this in mind, how does a DVD player reconstruct the appropriate information as to the right number of tracks when gapless playback is enforced ?
One apparently fixed variable is made use of to reconstruct the information. Remember we saw that the second byte for each audio track table is normally 01. However, with gapless tracks of two chapters, the code is 02. With three, it is 03. There is reason to believe DVD players reconstruct the adequate information and indicate the chapter number, not just the audio title number.

An even stronger argument in favour of the conjecture comes from closer examination of AUDIO_PP.IFO . This simple audio manager lists all chapters, and makes no difference between gapless and non-gapless chapters. It also lists the PTS ticks of chapters, not just titles, in consecutive order. It also lists the absolute pointers to the corresponding AOBs. Now, by combining this information with the data given in AUDIO_TS.IFO, it is possible for a smart DVD player to tell, for each chapter, in which title it is situated (AUDIO_TS.IFO) and what is the chapter's rank in the whole paying list and in the current title.

Lastly, in each ATS_XX_0.IFO file resides the required information to precisely reconstruct the title/chapter hierarchy. This part of the study still remains to be developped. The above conjecture should be tested further, in particular by closer examination of AOB streams. It does seem to be fairly easy to implement in prospective versions of dvda-author.

Conclusion
A navigable DVD-H should be fairly easy to produce in later versions of Hplex, if the adequate information in the ifo file tables is encoded in the iso output of mkisofs. A C patch against dvda-author could be considered to this effect.
Further, gapless playback does seem to be implementable with little extra effort.