Ask A Question
 
Adnan
Junior Boarder
Blog Posts: 0
Forum Posts: 35
Rating: 0ApplaudCriticize
Posted 1 Year, 10 Months ago #1
Just wondering how menus on DVDs work. My *current* understanding is something like this...

Each menu 'screen' is associated with a number of states, which are numbered. Typing in a number will select that state. Also, pressing the direction buttons will change the state to another.

Each state is associated with a particular image [which is how buttons are done...]. Sometimes, several states may share the same image. Animated menus are done by multiple-angle audio-video streams.

Pressing the select button [or in some cases, moving to a particular state] will cause the DVD player to do what that button's supposed to do, which *could* be to move to an actual main vid file, or could be to jump to another menu [with or without first playing a seperate vid file; this is how they do transitions].

Is this more-or-less accurate? Also, how are selections remembered [as for, for example, language/angle selections]? Any details missing?
Answer
Bronze Boarder
001a
Blog Posts: 0
Forum Posts: 43
Rating: 0ApplaudCriticize
Posted 1 Year, 10 Months ago #2
Umm, not exactly... However, note that my understanding is based not on reading the actual DVD specification, but only on publicly available information (mostly the DVD FAQ and the book 'DVD Demystified', and what people who *have* read the specification have occasionally let slip out in forums I read. And of course, experimenting with normal DVD players and DVD discs, and drawing my own conclusions.

First, you need to understand that a DVD is actually a computer program written for a certain CPU, whose operation codes, registers and so on is defined by the DVD Video specification. The CPU is quite high level: it supports instructions as 'play MPEG stream from address A', 'select subpicture stream N', and so on. A DVD player is an implementation of that CPU (typically done as a software emulator).

The virtual CPU has 16 general purpose registers, 24 system registers, and only instruction memory (which is the DVD disc). The system registers control the DVD player, or give information about the player. For example, one register contains the region number of the player. And if I remember correctly, the selection of video angle, audio stream and subpicture stream is implemented by such system registers; you load the number of the angle, audio stream or subpicture stream into a special register. The 16 general purpose registers is the only storage available.

Each menu is a single MPEG stream, containing video, and optionally audio. It may be an MPEG still image, which is how static menues are done. Each menu also defines up to 36 numbered buttons. For each button there is a definition of what happens when you press Up, Down, Left, Right or Select when on that button; for the direction controls, that is either 'Move to button N', *or* 'Jump to code at ADDRESS', and for the Select button I think it can only be 'Jump to code at ADDRESS'. Each button is also associated with a rectangular area on the screen. There is also a subpicture for the menu, which is important.

The disc basically tells the player 'here's the MPEG stream you should play, here are the button definitions you should use, this is the button you should start with, and this is the subpicture for the menu; go play it!' The player then follows the button movements the user does via the remote control, and keeps track of which button is currently selected. When the user does something that is defined to jump to some code, it does so. That code could store something in a system register (like what video angle, audio stream or subpicture stream to use), store something in a general purpose register, play an MPEG stream, and/or display a new menu (another menu, or the same menu).

The highlighting of the buttons is done with the subpicture defined for the menu. The DVD player clips the subpicture to the area defined for the currently selected button, and displays that on top of the menu video. When the user uses the directional controls on the remote to select another button, the player changes the clipping to the area for the new button.

The clipping area is also used by players running on a personal computer, to determine what button the user means to press when clicking on a specific point with the mouse.

Since subpictures can only have four colours, the highlighting of buttons is rather limited in what effects can be achieved. Some DVD discs wants to do better. For example, the Battle Athletes Victory discs from Pioneer have a super-deformed character from the show to indicate which button is currently selected, and that character moves from button to button as the user press Up, Down, Left and Right on the remote control. This is implemented by binding a piece of code to the directional buttons, which jumps to *another* menu, which has a slightly different still image (the figure is at another position, and sometimes another pose), but is otherwise identical. You might notice that moving between the different buttons is rather slow on those discs, because the player actually has to load and display a new menu when just moving around. Some players also indicates when they are working; e.g, my Panasonic player has a picture of a sort of pie-sliced disc on its display, which rotates when it is working (as opposed to pausing on a still image), and you can see that it rotates when you move between the buttons on the BAV disc, but on discs that don't do this, it is still.
Answer

Spread the Word!

Four out of five users would recommend us to a friend. Shouldn't you?
Link to Us    Tell a Friend

Related Posts:

The Content on this site is provided for general information purposes only. Your use of the Content, or any part thereof, is made solely at Your own risk and responsibility. By entering this site you declare you read and agreed to its Terms, Rules & Privacy.
Copyright © 2006 - 2010 The Naruto Gang