Title:
Using the binary system in an interactive DVD title
Kind Code:
A1


Abstract:
A method for simplifying complex operations in an interactive DVD utilizing the Binary System. A developer can combine numerous command sequences into fewer sequences utilizing binary arithmetic and variables in the DVD's command sequences.



Inventors:
Harris, Joseph Grant (Antioch, TN, US)
Application Number:
11/447258
Publication Date:
12/20/2007
Filing Date:
06/06/2006
Primary Class:
Other Classes:
463/43
International Classes:
A63F9/24
View Patent Images:
Related US Applications:



Primary Examiner:
HARVEY, DAVID E
Attorney, Agent or Firm:
Joseph Grant Harris (Antioch, TN, US)
Claims:
What is claimed is:

1. A method for simplifying complex operations in an interactive DVD utilizing binary arithmetic and variables in command sequences.

2. The method according to claim 1, wherein binary arithmetic consists of addition, subtraction, multiplication, or division.

3. The method according to claim 1, wherein the variables comprises of GPRM, SPRM or a constant value.

4. The method according to claim 1, wherein the command sequences consist of a list of commands, both navigational and data, which is scripted to execute in a given sequence.

Description:

FIELD OF THE INVENTION

This invention relates generally to improvements in digital versatile disc systems and, more particularly, to an improved scripting method for digital versatile disc systems.

BACKGROUND OF THE INVENTION

Digital versatile discs (DVDs) are information storage devices used for storing prerecorded audio information, movies and computer software. DVDs use command sequences to control navigation and to store data.

Problem:

In DVD Command Sequences, a compare operation compares the contents of a specified GPRM to another GPRM, SPRM or a constant value. Depending upon the result of the comparison, the command associated with the compare operation is executed or skipped. Compare operations enable the DVD player to perform conditional branching. For example, if the value in GPRM 2 equals the value in SPRM 9, then play title 12.

The following operators can be used in a compare operation. One of the operands must be a GPRM register. The other operand can be a GPRM, a SPRM, or a constant value.

OperatorDescription
&If the result of a logical AND is not equal to zero (true), the
associated command is executed.
==If the contents of the operands are equal, the associated
command is executed.
!=If the contents of the operands are not equal, the associated
command is executed.
>=If the first operand is greater or equal to the second operand,
the associated command is executed.
>If the first operand is greater than the second operand, the
associated command is executed.
<=If the first operand is less or equal to the second operand, the
associated command is executed.
<If the first operand is less than the second operand, the
associated command is executed.

The command sequences are limited to simple comparisons and do not allow for complex, multiple operands. For example, you cannot check to see if one GRPM is greater than another GPRM AND less than yet another GPRM.

The typical solution for this dilemma is to create two scripts, one to check the first operand, and another to check the second operand. Then, link the two scripts together with a JUMP command. This makes creating complex interactive DVD titles unmanageable. Plus, in the DVD specification, you are limited to 128 commands per program chain (PGC).

EXAMPLE

If you were to create a DVD trivia title and wanted to check to see if Player 1 (GP4) was the winner in a 2 player game, you would simply create

Command Sequence1
JUMP TO WinnerPlayer1 IF GP4>GP5
JUMP TO Tie if GP4 = GP5
JUMP TO WinnerPlayer2 IF GP5>GP4

It gets more complicated, however; when you add players. A three player game would be scripted as:

Command Sequence1
JUMP TO CommandSequence2 IF GP4>GP5
JUMP TO CommandSequence3 IF GP5>GP4
JUMP TO CommandSequence4 IF GP6>GP4
Command Sequence2
JUMP TO WinnerPlayer1 IF GP5>GP6
JUMP TO WinnerPlayer3 IF GP4<GP6
Command Sequence3
JUMP TO WinnerPlayer2 IF GP5>GP6
JUMP TO WinnerPlayer3 IF GP5<GP6
Command Sequence4
JUMP TO WinnerPlayer3 IF GP6>GP5
JUMP TO WinnerPlayer2 IF GP5>GP6

This does not even take into account all of the possibilities of ties. For example: Player 1 and 2 may tie for first place, or Player 1 and 3, etc. That means you would have even more scripts to maintain. In a four player game, another layer of sequences would have to be added to account for the extra conditional operand.

Solution:

the variable GP7 if player 2 beat/tie 3 players, add 4 to the variable GP7 if player 3 beat/tie 3 players, and add 8 to the variable of player 4 beat/tie 4 other players.

Then we can check for the 15 possible winner/tie scenarios:

ValueWinner
1Player 1
2Player 2
4Player 3
8Player 4
3Player 1 and Player 2
5Player 1 and Player 3
9Player 1 and Player 4
6Player 2 and Player 3
10Player 2 and Player 4
12Player 3 and Player 4
7Player 1, Player 2, and Player 3
11Player 1, Player 2, and Player 4
13Player 1, Player 3, and Player 4
14Player 2, Player 3, and Player 4
15All Players Win

Using the Binary System

The customary explanation of the binary system draws attention to the progression of the powers of the number two. However, as we analyze the base two system, we see that it actually begins with the number one (1), which breaks with the pattern of the powers of the number two. The pattern established by the progression of the powers of the number two implies that the first integer of the series would be the number two to the power of zero. This would mean that the first integer of the series should be a zero and not the number one. The expression calling the binary system a base two system seems to represent a misnomer. Therefore, the binary system actually reflects the progression of the number one (1) being doubled (duplatio/mediatio). In other words, the binary system is actually the 1, 2, 4, 8, 16, 32, 64 . . . n., series.

By using the Binary System, we can cut all of the command sequences down to one command sequence. You could use this model to create even more player scenarios, but for this example, we will stop at a four-player game.

First, if we total up all of the players that each player tied or beat, in a four player game, the number of the winner(s) should be 3. That is, the total number of players minus 1.

By adding a number from the binary system (1, 2, 4, 8, etc) to a new variable (for this example let's say GP7) for each player whose total winnings equals 3, we will be able to pick the winners. i.e.: Add 1 to the variable GP7 if player 1 beat/tie 3 players; add 2 to Based on the value of GP7 and the chart above, we could use a JUMP command to play the appropriate winner movie or script.

The previous example was a game, but it could have easily been a movie title with sophisticated branching and operands. If you were authoring a DVD that had a multiple combination of language and subtitle tracks and you wanted to play a movie or script if a certain combination of selections were chosen, you could assign each language and subtitle track a number from the Binary System and check for each possible combination in a simple straight forward compare operation.