- FIELD OF THE INVENTION
This is a continuation-in-part of U.S. patent application Ser. No. 10/247,271 filed Sep. 18, 2002.
This invention relates to the field of interactive electronic multimedia devices, and more specifically to a low-cost alternative to dedicated video game devices by leveraging from existing multimedia infrastructure.
The video game industry has developed over recent decades into a rather mature industry in which production costs of a single video game can rival production costs of motion pictures produced by major studios. In addition, growth in the performance of personal computers is currently being driven by the demanding performance requirements of currently available video games played on personal computers. Dedicated game stations are currently more powerful than the most powerful desktop computers available even a few years ago.
- SUMMARY OF THE INVENTION
Of course, commensurate with this processing power is substantial cost. In addition, such games require substantial attention and focus—frequently involving very active use of multiple user input devices while seated at a computer workstation. For some, particularly young children or casual game players, current gaming platforms are too expensive and/or too demanding of focused attention for simple, relaxing play. In short, there appears to be a substantial lack of low-cost alternatives to video game devices currently available.
According to present invention, a simple inexpensive portable computer device executes an interactive computer program such as a computer game and uses standard infrared (IR) remote control signals to cause standard home entertainment equipment to provide output to the user as part of the interactive program. The standard home entertainment equipment can be a standard digital video disk (DVD) player and a digital video disk which is authored to include rich audiovisual content for presentation to the user as directed by the portable computer device. The interactive program is executed by the portable computer device from a memory card device. This memory card device contains both the computer instructions defining the behavior of the interactive program and a layout map of the associated DVD disk such that the portable computer device can select content of the associated DVD disk for presentation to the user.
In response to actions of the user, the portable computer device can emit remote control signals representing button combinations to allow for controlled navigation of the custom authored DVD disk, thus providing a higher level of interactivity than previously attainable with conventional control of DVD players.
As a user input device, the portable computer device includes a touch-sensitive pad. A multi-page book of overlays can be used to customize the functionality of the touch-sensitive pad. The portable computer device includes reed switches behind the touch-sensitive pads and aligned magnets embedded in leaves of the book. Accordingly, proximity of each leaf of the book to the touch-sensitive pad changes a state in a corresponding reed switch such that the portable computer device can determine which page of the book is viewable by the user.
- BRIEF DESCRIPTION OF THE DRAWINGS
The book is reversible and each leaf of the book defines two pages, one on either side of the leaf. The reed switches are arranged so as to properly detect which page—i.e., which side of which leaf—of the book is viewable by the user. Each such page is associated with a context within the interactive program, thereby defining its own functionality of the touch-sensitive pad. Specifically, the interactive program executing within the portable computer device determines which page of the book is viewable to the user and interprets touches of the touch-sensitive pad accordingly.
FIG. 1 is a block diagram illustrating a game control unit, DVD player, television, and associated memory media in accordance with the present invention.
FIG. 2 is a block diagram showing the game control unit of FIG. 1 in greater detail.
FIG. 3 is a block diagram showing organization of data on the memory device of FIG. 1.
FIG. 4 is a logic flow diagram of the initialization of the game control unit of FIG. 2 during game play start-up.
FIG. 5 is a logic flow diagram of game play of a quiz-type game executed by the game control unit of FIG. 2.
FIG. 6 is an illustration of user-interface components of the game control unit of FIG. 2.
FIG. 7 is an illustration of a conventional remote control.
FIG. 8 is a logic flow diagram showing the interpretation of user-generated signals representing a touching of a touch-sensitive pad of the game control unit of FIG. 2 in a given context.
FIG. 9 is an illustration of the game control unit of FIG. 2 and a book of overlay pages each of which provides a context for interpretation of user-generated signals representing touches of the touch-sensitive pad.
- DETAILED DESCRIPTION
FIG. 10 is a logic flow diagram of the processing of user-generated signals representing touches of the touch-sensitive pad, including determination of which of the pages of the book is viewable by the user and an associated context.
In accordance with the present invention, a game control unit 103 (FIG. 1) uses existing multimedia infrastructure such as a conventional DVD player 101 for display of multimedia content in accordance with game logic stored on a memory device 104. As a result, game control unit 103 can be very simple and relatively inexpensive yet, in combination with currently ubiquitous multimedia infrastructure, can provide fairly sophisticated interactive game play with a very rich multimedia experience for the user. Specifically, DVD 106 includes audiovisual clips and other content which represent portions of a multimedia presentation of game play. Collectively, the clips and other content of DVD 106 represent all possible permutations of the multimedia presentation of the game programmed on memory device 104. During execution of the game programmed on memory device 104, game control unit 103 issues remote control signals to DVD player 101 to play specific clips of multimedia content in succession to present a full, multimedia, interactive game play experience to the user. Thus, the full multimedia capabilities of currently available and relatively ubiquitous DVD players and televisions supply the rich, multimedia experience of video games while only at the cost of producing a relatively simple game control unit 103. Such provides a rich video game play experience at a cost substantially below that of currently available game consoles and personal computers.
As described more completely below, game control unit 103 includes a general purpose processor for executing computer instructions stored on memory device 104. Memory device 104 is intended to be a simple and very affordable low memory (approximately 1 megabit) device. However, it should be appreciated that other memory devices can be used to provide computer instruction for game control unit 103. Illustrative examples include ubiquitous flash memory devices such as compact flash cards, smart media cards, memory sticks, multimedia cards, secure digital cards, and USB portable memory “drives” as well as floppy disks, CDROMs in various sizes and shapes, and wireless and wired network connections to other computers. In this illustrative embodiment, memory device 104 is shown to be a smart media card.
Memory device 104 is associated with a separate digital storage medium on which is stored display content associated with a game program stored on memory device 104. Such a digital storage medium is represented by DVD 106 in this illustrative embodiment and memory device 104 can be packaged for distribution along with DVD 106.
Game control unit 103 is shown in greater detail in FIG. 2. CPU 201 is a low-cost, low power consumption, 8-bit processor unit. At power up, CPU 201 performs a standard bootstrap process as defined by read-only memory (ROM) 203. ROM 203 also contains a list of predefined DVD-player IR control codes and a configuration program to re-program the remote unit 103 by an IR receiver 207 using a conventional learning remote process. In an alternative embodiment, game control unit 103 determines to which of a number of predetermined command code sets DVD player 101 is responsive in a manner described in U.S. patent application Ser. No. ______ filed Jan. 19, 2005 by John Kavanagh et al. and entitled “Remote Device Configuration Autiomation.” That description is incorporated herein by reference in its entirety. As described more completely below, game control unit 103 mimics a remote control of DVD player 101 to cause playback of multimedia content on DVD 106 through DVD player 101 to provide a rich multimedia game play experience in accordance with the program stored on memory device 104. Therefore, game control unit 103 is initially configured to use a set of infrared command codes to control operation of DVD player 101. In addition to those described above, conventional universal remote control programming techniques can also be used to configure game control unit 103.
After booting, CPU 201 checks a non-volatile random access memory (NvRAM) module 202 for system patches that are delivered via memory device 104. In this way, memory device 104 can be used as a transport for updates to the operational programming of game control unit 103. Memory device 104 is accessed through a memory card reader 209. New DVD player infrared command code sets and/or new mechanisms for selection of a command code set can also be delivered in this way. In this illustrative embodiment, NvRAM module 202 is a relatively small cache that retains its contents when the power is switched off and is used to store configuration information such as data which identifies the particular model of DVD player 101 or a particular one of the command code sets such that control of DVD player 101 is properly implemented without requiring re-initialization of game control unit 103.
Game control unit 103 also includes random-access memory (RAM) 205 which is volatile RAM in this illustrative embodiment to provide a fast-access workspace for data during operation of game control unit 103. During operation, CPU 201 determines the particular command code set to be used to control DVD player 101 as stored in NvRAM 202 and retrieves that command code set from the ROM 203 and stores the command code set into RAM 205 for faster execution during runtime operations. RAM 205 also serves as a small cache used during program execution. It should be appreciated that the entire functionality of the foregoing description of game control unit 103 can be available as an integrated ASIC solution at a reasonable cost.
Through memory card reader 209, CPU 201 accesses data stored on memory device 104. This data contains code 302 (FIG. 3) and a DVD map 301 which are specific to DVD 106. Code 302 is a computer program which includes computer instructions and data which specify a behavior of game control unit 103 (FIG. 2). DVD map 301 is a navigation map specifying hierarchical relationships between various chapters of the multimedia content stored on DVD 106. The organization of multimedia content stored on a DVD is known and is not described in detail herein. Briefly, the multimedia content of a DVD is divided into chapters which are organized hierarchically. Users who have viewed multimedia content of a DVD and have selected episodes or various edits and/or commentary using a DVD remote control have followed the rudimentary logic and hierarchical chapters of multimedia content stored on a DVD.
Game control unit 103 detects insertion of memory device 104 into memory card reader 209 and reads code 302 (FIG. 3) and DVD map 301. CPU 201 (FIG. 2) commences execution of code 302. During such execution, CPU 201 (i) processes signals received by physical manipulation of keyboard 206 by the user, (ii) uses DVD map 301 of memory device 104 to navigate the various chapters of audiovisual content of DVD 106, and (iii) provides game play functionality such as timers, random number generation and scoring.
Game control unit 103 includes a touch-sensitive pad 105. Multi-page, reversible overlays can be used to alter the interpretation of touches of touch-sensitive pad 105 in a manner described more completely below. In an alternative embodiment, touch-sensitive pad 105 is an LCD screen through which additional game play feedback is presented to the user.
Keyboard 206 (FIG. 2) and/or touch-sensitive pad 105 can mimic the main functions of a standard DVD remote control and additionally provides application-specific assignable buttons as well as custom button operation. Keyboard 205 includes buttons 601-614 (FIG. 6).
Keyboard 206 can also provide visual feedback confirmation of user input or as directed by the content under CPU 201 (FIG. 2) control. Such visual feedback can be in the form of buttons 607-613 (FIG. 6) which are individually controllably lighted in accordance with computer instructions executed by CPU 201. Buttons 601-606 can also be lighted in an alternative embodiment. A directional rocker button 614 forms a joy pad and has four (4) directional LEDs to cue individual directions of directional rocker button 614. In addition, a speaker 616 embedded in keyboard 206 can provide audio cues to the user.
The layout of keyboard 206 is also designed to facilitate user-interaction with the displayed content rather than to facilitate navigation of DVD 106 as found on a standard remote control. Specifically, keyboard 206 includes directional rocker button 614 which can be used in a manner similar to a joystick. Alternatively, a number of the buttons of keyboard 206 are arranged to represent directional buttons, namely, up, down, left, and right.
In one embodiment, game control unit 103 includes an infrared (IR) transmitter 107 for transmitting remote control signals to DVD player 101. IR transmitter 107 of game control unit 103 can also be used to receive IR signals from a remote control device to learn the specific remote control signals expected and understood by DVD player 101. Learning remote controls are well known and are not described further herein.
FIG. 3 shows illustrative contents of memory device 104. Data stored on memory device 104 is arranged into two distinct areas in this illustrative embodiment, one for DVD map 301 and the other for program execution code 302, which is sometimes referred to as code 302. DVD map 301 contains data identifying the various multimedia clips stored on DVD 106 and interrelationships therebetween for navigation among the various multimedia clips for playback on DVD player 101.
Organization of content on a DVD comports with a standard implemented by currently available and conventional DVD players such as DVD player 101. Such organization is known and is not described herein except briefly to facilitate understanding and appreciation of the present invention. At the time of authoring of the multimedia content of the DVD, a data set showing the interconnectivity between the various chapters, menus, and buttons of the multimedia content is produced by authoring software according to the format laid down by the DVD Book definitions that all consumer DVD players such as DVD player 101 must adhere to. According to the present invention, only the navigational portion of this file is then saved to memory device 104. As a result, DVD map 301 represents the data navigation map without the actual multimedia content being stored on memory device 104 so that the storage area of DVD map 301 is relatively miniscule. For example, a DVD such as DVD 106 might contain nine gigabytes 9 (GB) of data whereas DVD map 301 can store as little as sixty-four kilobytes (64 kB) or less, i.e., 16,000 times smaller storage space.
Code 302 of memory device 104 contains computer instructions and/or data which collectively define a program for execution by CPU 201 of game control unit 103. Execution of code 302 generally operates as follows: code 302 defines a game, play of which involves user responses to multimedia stimuli presented on television 100 and, in response to the user's response, game control unit 103 transmits remote control signals to cause DVD player 101 to present additional multimedia content to the user for further response. Thus, the content played on DVD player 101 from DVD 106 is selected by game control unit 103 to presented an interactive, integral game experience for the user.
In contrast, a user controlling DVD playback with a conventional remote control directly or indirectly specifies specific content to view. The following example is illustrative of the distinction. Consider that the user is playing a simple quiz game in which the user selects one of multiple choices to answer various questions. In selecting an answer, the user is not specifying to view a brief animation with the message “Correct!” and display of a cumulative score. Instead, the user intends to communicate the she knows which of the choices is the correct answer —and the resulting display is exactly that described above: a brief animation with the message “Correct!” and display of a cumulative score. Code 302 includes logic to determine, according to the particular interaction implemented by memory device 104, which clip of multimedia content of DVD 106 is appropriate for display at a particular state in response to the user's response. Thus, the content to be presented is not directly or indirectly selected by the user but instead selected for the user by code 302. In a preferred embodiment, game control unit 103 can also function as a universal remote control to control DVD player 101 in a conventional manner, especially when memory device 104 is not attached to game control unit 103. In addition, to presenting an integral game experience, code 302 can use multimedia content of DVD 106 as reward animations and/or reward musical selections to reward the user with entertainment for reaching various predetermined milestones.
In this illustrative embodiment, DVD Player 101 is a standard consumer DVD player without any modification whatsoever and can be purchased at retail. All multimedia content in this illustrative embodiment is supplied on standard DVD-compliant discs, which enables presentation of the multimedia content with standard consumer DVD players. It should be appreciated that generally any directly accessible storage medium and player device can be used to store content for playback as part of an interactive experience. According to the present invention, it is game control unit 103 that provides the game logic and interactivity.
As described above, interactive game play through game control unit 103 is effected, at least in part, by directing playback of multimedia clips of DVD 106 by emulation of remote control signals to DVD player 101. Generally, DVD navigation is relative, i.e., where a given navigation command takes one within the content of a DVD depends on the current navigational state of DVD player 101 with respect to DVD 106. For example, given a table of contents for playback, a typical remote control enables the user to navigate up, down, left, and/or right to identify an entry in the table of contents. Generally, a remote control does not provide any mechanism by which a user can directly specify a particular clip of multimedia content of a DVD for playback. Such poses challenging problems for an interactive use of DVD content as described herein. One is initial synchronization of the navigational state of DVD player 101 with game control unit 103 such that DVD player 101 and game control unit 103 agree as to which clip of multimedia content is cued up for DVD player 101. Such is important if game control unit 103 is to cause DVD player 101 to provide an integral multimedia game experience with a high degree of continuity.
Game control unit 103 requires a one-time initialization process in which game control unit 103 is configured to emulate remote control signals understood by a particular brand and model of DVD player. This initialization process is generally the same process by which any universal remote control is initialized prior to use with a specific DVD player. Briefly, such initialization is achieved by matching DVD device 101 with one of the internal codes as supplied in the memory of the remote unit 103 or through the IR receiver on the remote unit 103. In one embodiment, initialization of game control unit 103 is performed in the manner described in U.S. patent application Ser. No.______ filed Jan. 19, 2005 by John Kavanagh et al. and entitled “Remote Device Configuration Automation” (Attorney Docket P-2317) and that description is incorporated herein by reference.
Prior to playing a particular game as defined by data stored on memory device 104 and DVD 106, game control unit 103 synchronizes with DVD player 101 in the manner illustrated in FIG. 4. Such ensures that memory card 104 in game control unit 103 corresponds to the same game as DVD disc 106 in DVD player unit 101. In step 402, the user inserts DVD 106 into DVD player 101. In response, DVD player 101 performs a conventional DVD startup sequence, typically involving display of a welcome presentation and an initial menu from which to select content to play.
Standard DVD navigation requires that a link be present on each menu screen to all content selectable from that menu. This typically takes the form of selectable menu buttons overlaid on a graphical background. Generally, the user navigates the selectable menu buttons using the menu navigation buttons 703 to highlight an intended selection.
According to the present invention, the user is not expected, and generally not permitted, to select specific content of DVD 106. Instead, content of DVD 106 is selected by logic represented by code 302 of memory device 104. In step 404, DVD 106 causes DVD player 101 to display a title menu which includes only a message of “Press Start” or otherwise directing the user to press a specific button of game control unit 103 such as button 609, which is star-shaped. In particular, the appearance of the initial menu as represented on DVD 106 includes only a single visible selection and the selection is associated with the text “Press Start” or the instruction to press a specific button such as button 609. This menu has no visible selectable menu buttons and the disk will remain at this point represented as wait step 406 until the appropriate IR command sequence is received. Accordingly, game control unit 103 expects DVD 106 to be waiting at this menu screen in step 406 when play begins using game control unit 103.
The initial menu of DVD 106 actually includes menu buttons which could be used in a conventional manner to navigate the various clips of multimedia content which are the modules from which the integral gaming experience is crafted by game control unit 103. However, the menu buttons are configured so as to be invisible to the user and only one of the buttons can successfully start play according to the logic of code 302 and corresponding content of DVD 106. For example, the initial menu of DVD 106 can include a grid of three rows by four columns of invisible menu buttons, with focus initially placed on the menu button in the first (left-most) column and the first (top) row. In this example, consider that, to continue game play according to the logic of code 302, the menu button on the second row and third column must be actuated. Actuation of any other menu button of the initial scene of DVD 106 will fail to start game play according to the logic of code 302. Therefore, only a sequence of IR codes representing pressing of a “down” button once and a “right” button twice and lastly a pressing of an “enter” button will continue game play. This sequence is hidden from the user. This sequence also varies from one matching pair of memory device 104 and DVD 106 to another. Therefore, if DVD 106 does not correspond to memory device 104, game control unit 103 will not issue the proper sequence of IR commands and game play will not start. Additional assistance can be provided to the user by authoring DVD 106 to present a message encouraging the user to ensure that the proper memory device is installed in game control unit 103 if any but the one proper menu button is actuated, i.e., if an incorrect sequence of IR commands is received by DVD player 101.
An example of invisible buttons is black menu buttons with black text over a black background positioned so as to not obscure the text “Press Start” in white. In another embodiment, buttons are made invisible by omitting images corresponding to the button from DVD 106. To access any of these invisible menu buttons, the user would have to blindly guess as to locations of menu buttons containing the active menu on the title menu the button and to blindly navigate to the appropriate button using repeated presses on the remote control. Thus, it is unlikely that the user will be able to initiate game play with DVD 106 without game control unit 103. It is possible to manage such cracking of the content of DVD 106 using a process of trial and error, a process which is akin to manually attempting to cracking a secret number password by entering all possible numerical combinations. While it is generally a good idea to thwart attempts to access content of DVD 106 and/or memory device 104 in unauthorized ways, it is more important to avoid inadvertent malfunctions of the integral game experience because a user has inadvertently inserted an incorrect DVD into DVD player 101, i.e., one which does not correspond to memory device 104 inserted in game control unit 103.
Typical remote controls do not include a button shaped like a star like button 609. Thus, use of a star-shaped button helps ensure that the user is using game control unit 103 to control DVD player 101 rather than a conventional remote control that may have been distributed along with DVD player 101. Of course, an initial start-up button can be different than button 609; however, it is preferred that the button be something that is not typically found on remote control devices.
Initialization of game control unit 103 begins with step 422 in which the user inserts memory device 104 into memory card reader 209. ROM 203, or alternatively NvRAM 202, includes instructions and/or data which cause CPU 201 to detect insertion of memory device 104 into memory card reader 209 and to read the contents of memory device 104 upon insertion in step 424. The initial behavior of game control unit 103 upon execution of code 302 is awaiting pressing of the “Start” button by the user in step 426. As described above, the “Start” button can be button 609 or another of the buttons of game control unit 103. The initial display screen of DVD 106 identifies the particular “Start” button, e.g., as button 609, and code 302 is configured to recognize pressing of the same “Start” button.
Code 302 is programmed to display an initial multimedia clip to initiate game play. This clip is presented in response to the user's pressing of the “Start” button. To get to the intended initial clip, code 302 causes game control unit 103 to issue successive remote control signals to DVD player 101 to make a selection from the current, invisible menu displayed by DVD player 101 on television 100. For example, consider that the initial clip is accessible by the sequence described above, namely, pressing a “down” button on a conventional remote control once, a “right” button twice, and pressing an “enter” button. In response to pressing of the “Start” button. by the user, code 302 causes game control device 103 to issue remote control signals emulating one “down” button press, two distinct “right” button presses, and one “enter” button press. Although control is still provided through the IR interface of DVD player 101, game control unit 103 can force the navigation of DVD 106 on the embedded navigation stream data included as a feature consistent with a standard DVD format.
FIG. 5 shows the operation of DVD player 101 in conjunction with game control unit 103. In this example, (i) memory device 104 has been inserted into game control unit 103 and DVD 106 has been inserted in DVD player 101, (ii) DVD 106 and memory device 104 correspond to one another and therefore collectively implement the same game, and (iii) the initiation process of FIG. 4 has completed. In the illustrative example of FIG. 5, the subject game, i.e., the game implemented by memory device 104 and DVD 106, is a quiz-type game in which the user is prompted to answer questions.
In this illustrative quiz-type game, the operation of DVD player 101 under control of game control unit 103 allows the user to answer a number of questions randomly selected from a collection of sixty-four (64) questions. To randomly select a question for presentation to the user, code 302 causes CPU 201 to generate a random number to thereby select a question at random. Then, to present the question to the user, code 302 causes game control unit 104 to send remote control signals causing the selected question to be displayed to the user through television 100. DVD 106 represents the questions as thirty-two (32) respective menu buttons organized in a grid of eight (8) columns by four (4) rows, for example, and those menu buttons are not visible to the user. The remote control signals issued by game control unit 103 to initiate play of the selected question are those that the user would ordinarily use to access the representative clip on DVD 106, e.g., <down> <down> <right> <right> <enter> to initiate playback of the question clip associated with the menu button on the third row down and the third column from the left. The button pressed by the user to answer the question does not specify a clip of DVD 106 to be played but instead represents an answer to the recently viewed question. Code 302 interprets the pressed button as either a correct or incorrect answer and selects content to play in response thereto accordingly.
In this manner, code 302
controls display of content of DVD 106
through DVD player 101
on television 100
to portray a mosaic of audiovisual clips which collectively present a full, continuous, audiovisual experience to the user which is adapted in real time to the interaction of the user with game control device 103
. Thus, game control device 103
is a fully interactive computer device which leverages a full, rich, multimedia user experience of an installed infrastructure of audiovisual equipment. With this configuration in place, the game logic of code 302
can be readily adapted to perform generally any type of game or interactive program. Table A below shows various categories of games that can be configured by appropriate configuration of code 302
and corresponding multimedia content on DVD 106
. Of course, the categories shown in Table A are illustrative only. Other categories can be implemented as well.
|TABLE A |
|Game Type ||Implementation Through Game Control Unit 103 |
|Quiz Games ||The interactivity of game control unit 103 allows for quiz |
| ||games of the “Who Wants to Be a Millionaire” format to be |
| ||easily enabled with TV-quality audiovisual clips, reward |
| ||screens, multiple-choice and true/false questions, and multi- |
| ||player tracking and scoring. |
|Puzzle ||Jigsaws, Sliding Blocks, Discovery, and Reveal type |
|Games ||content can be implemented |
| ||using game control unit 103. |
|Adventure/ ||Streaming video with seamless multiple path switching are |
|Action ||already a capability of DVD playback. Game control unit |
|Games ||103 provides player scoring and feedback. |
|Interactive ||Children's classics and modern blockbusters like Disney |
|Story Games ||and Harry Potter come alive using game control unit 103. |
|Sports ||Game control unit 103 enables games using high-quality |
|Games ||playback. |
FIG. 5 shows the logic of a quiz-type game. In step 502, DVD player 101 displays an initial screen in which the user is prompted to enter a number of players. In step 522, game control unit 103 awaits user input specifying a number of players. Such input can be repeated presses of certain buttons of game control unit 103 to increment and/or decrement the number of players. The number of players can be correspondingly incremented/decremented on television 101 by playing corresponding audiovisual clips and/or displaying still images representing the current number of players. When the number of players is specified by the user, game control unit 103 issues remote control signals according to DVD map 301 to cause a current player number to be displayed by television 100 in step 504. In step 524, game control unit 103, in executing code 302, randomly selects a question for presentation to the current player. Game control unit 302 issues remote control signals to DVD player 101 to cause the selected question to be presented through television 100 in step 506. In this illustrative example game, a timer is also shown in the question. The timer can be shown to count down by successively changing a still image which includes the question with a numerical seconds left indicator such that the superimposed seconds left indicator counts down. Alternatively, a seconds left count-down indicator can be superimposed over an audiovisual clip in which the question is posed, e.g., by a recorded image of a person reading the question as if in a television game show.
In step 526, game control unit 103 awaits input from the user indicating one of a number of possible answers. Such input can indicate such answers as “true” or “false” or, alternatively, as “A,” “B,” “C,” or “D” in a couple of illustrative examples. In this illustrative game example, expiration of the timer is the equivalent of a wrong answer. In step 528, game control unit 103, in executing code 302, determines whether the user input represents a correct response. If so, the current player's score is increased within RAM 205 in step 532. Of course, game control unit 103 can cause content of DVD 106 representing the current player's new score to be displayed on television 100.
If the user's response is incorrect, game control unit 103, in executing code 302, causes content of DVD 106 representing feedback indicating an incorrect response to be displayed on television 100 in step 508. If the incorrect answer is actually a failure to respond before expiration of the timer, an appropriate message as represented in the multimedia content of DVD 106 is displayed in step 510 in response to remote control signals from game control unit 103 so commanding. In this illustrative game, failure to respond in time also causes user selection of the next player in step 530.
A standard DVD player remote control is depicted in FIG. 7
. The DVD Book definition specifies that a standard DVD remote control will include a number of standard buttons for controlling the DVD player. These include the following:
|Buttons ||Function |
|Numeric buttons 0 to 9 ||Enter numerical data such as chapter numbers, |
| ||etc. (buttons 701) |
|MENU ||Display on-screen menu from disc (button 702) |
|Up, Down, Left, ||Select menu buttons (buttons 703) |
|Right, Select |
|Set-up ||Set player parameters e.g. language, audio and |
| ||display aspect ratio (normal or wide-screen) |
| ||(button 704) |
|Play, Pause, Skip, Stop, ||Control playing of video (buttons 705) |
|Fast reverse, |
|Fast forward |
|TITLE ||Title selection where there is more than one |
| ||title on a disc (button 706) |
While game control unit 103, shown in greater detail in FIG. 6, emulates the standard DVD navigation controls of buttons 703 (FIG. 7), game control unit 103 differs significantly in form and therefore function from a standard DVD remote control 700. It should also be appreciated that game control unit 103 differs from a standard DVD remote 700 or a universal remote by the presence of certain clearly defined buttons that present unique functionality to the user.
Game control unit 103 includes a number of custom function buttons—e.g., start button 602, reset button 603, and application-specific buttons 607-611—that provide an example of this extended functionality. For the sake of clarity and ergonomics as well as functionality, certain standard buttons from a DVD remote unit 700 are not mimicked on game control unit 103 or are re-labeled in order to better describe their function when used in the context of game control unit 103. These buttons can provide visual and auditory feedback through a small loudspeaker 616 based either on the user's actions in the form of emulated button-clicks or similar button-confirmation sounds or as audio content and/or prompts to the user in accordance with the programming of code 302.
It should be understood that none of buttons of game control unit 103 directly cause remote control signals to be sent to DVD player 101. Instead, all user input gestures, such as button presses or touching of touch-sensitive pad 105, are processed according to code 302 while executing within game control unit 103. Thus, the following general functions associated with each of the buttons of game control unit 103 is implemented by code 302 and can vary depending upon the specific configuration of code 302.
Power button 601 causes game control unit 103 to be powered-on or powered-off—i.e., toggles the power state of game control unit 103 between an “on” state and an “off” state. Because of the nature of the function of power button 601, the function of power button 601 is not controlled by code 302.
Start button 602 on game control unit 103 signals completion of the custom boot sequence described above, and causes code 302 to navigate DVD player 101 to the chapter menu that has been designated as the root menu at the time of DVD authoring in the manner described above.
Reset button 603 causes restarting of execution of code 302 by game control unit 103 and simultaneously resets DVD player 101 to the start of the custom boot sequence. This has the same effect on DVD player 101 of pressing the “Menu” or “Title” button on standard DVD remote control 700.
Pause button 604 causes playback of an audiovisual chapter of DVD 106 to be suspended until a subsequent press of pause button 604 or, alternatively, a subsequent press of start button 602.
Game control unit 103 includes a next button 605 and a previous button 606. Generally, code 302 responds to pressing of next button 605 by moving to a next part of the game implemented by code 302. For example, in the quiz show game described above, pressing of next button 605 can cause code 302 to skip the current question and proceed to the next question. Conversely, pressing of previous button 605 can cause code 302 to return to the previously presented question.
Application specific buttons 607-611 provide contextual and configurable actions to be assigned by the currently executing program of code 302 on game control unit 103. For example, each button could be assigned a character that would immediately appear to give contextual help in a game, i.e., a hint button in a detective game. It should be noted that each of buttons 607-611 is associated with a respective unique color and a respective unique shape. In this illustrative embodiment, button 607 is associated with a red circle, button 608 is associated with a yellow rectangle, button 609 is associated with a white star, button 610 is associated with a green square, and button 611 is associated with a blue triangle. Visual cues in the audiovisual content of DVD 106 played for the user can correspond to individual ones of buttons 607-611. For example, a red character in the audiovisual clip can correspond to button 607 which is also red such that pressing button 607 causes the red character to perform some action. In an embodiment in which content of code 302 and DVD 106 are modeled after the BBC television show, “Teletubbies,” pressing button 607, which is red, can cause Po, the red Teletubby character, to perform some action. In other embodiments, audiovisual content of DVD 106 can associate the respective shapes of buttons 607-611 which responsive audiovisual clips, e.g., by showing a number of doors labeled with shapes corresponding to those of buttons 607-611.
Directional rocker button 614 is a 4-way rocker switch that emulates an analogue joystick input to enable code 302 to represent a real world device that cannot be controlled by a button, such as a golf club. In this example, game control unit 103 makes decisions based on the input from the player—i.e., how hard to hit the ball—and shows the appropriate video sequence via the DVD player 101. A sufficient number of swing sequences can be either filmed or computer generated and stored on DVD 106 so that the user gets a reasonable representation of their intended action being displayed. This kind of multiple choice outcome mapping requires dozens of outcomes to be depicted and is beyond the specifications of what can be done using only a conventional navigation system of a standard DVD. This system can be adapted to emulate a baseball pitcher throwing a user-selected pitch or the timing and/or aim of a batter's swing, for example.
LEDs 615 are positioned at the top, bottom, left, and right of directional rocker button 614. Similarly, buttons 607-611 are lighted. In some embodiments, buttons 601-606 are also lighted. The lighting of each of LEDs 614 and buttons 601-611 is individually controlled by code 302 using computer instructions implemented by CPU 201. Such lighting can be used to provide feedback regarding pressing of a button. For example, in response to pressing button 607, code 302 causes button 607 to be illuminated briefly to signal to the user that such pressing has been recognized. Other techniques can also be used to provide immediate feedback regarding pressing of buttons of game control unit 103 such as audible sounds played through loudspeaker 616 immediately upon recognition of the pressing of the button. Such sounds are sometimes referred to as key clicks but can generally be any sound playable through loudspeaker 616.
Individual illumination of buttons and/or LEDs of game control unit 103 can also be used to provide clues and/or assistance to the user. In the quiz game example described above, the correct answer can be revealed to the user by illuminating the one of buttons 607-611 which corresponds to the correct answer. For example, if the correct answer to the current question is represented by button 610, code 302 can illuminate button 610 after a predetermined period of time, e.g., 30 seconds, has elapsed. Such allows the user to ponder the respective answer choices and study the correctness of the answer associated with button 610 prior to pressing button 610 to move on to the next question.
Such button lighting cues can also vary from continuous to flashing patterns. In one embodiment, a cue starts as a slow flashing pattern, escalates to a fast flashing pattern, and eventually escalates to continuously illuminated at successive time intervals.
In another example of useful cueing by game control unit 103 in accordance with code 302, the user may be a very young child and may not fully appreciate the interactive quality of game control 103. Consider that the content of DVD 106 shows four television characters, e.g., the known Teletubbies characters, all waving at the user when shown through television 100. Consider also that code 302 is configured to cause a selected one of the Teletubby characters to say “Good bye!” and duck behind a hill when the one of buttons 607-611 with the corresponding color is pressed by the user. Also consider that pressing of button 609, which is white and therefore corresponds to none of the Teletubbies characters, causes all Teletubbies characters to stand up and continue waving to the user—a form of a reset function.
A young user may not understand or appreciate the connection between the pressing of any of buttons 607-611 and the corresponding effect shown in the audiovisual content displayed by television 100. Accordingly, code 302 can be configured to provide hints and/or suggestions to the user after predetermined periods of time of inactivity. For example, after about 15 seconds of inactivity, code 302 can illuminate button 608 to suggest to the user to press button 608. When the user does so, code 302 causes game control unit 103 to issue IR commands causing display of a video clip in which Laa-Laa, the yellow Teletubby character corresponding to the yellow color of button 608, says “Good bye!” and ducks behind a hill. Similar hints/suggestions can be given by code 302 until all characters have ducked behind respective hills. Code 302 can then illuminate button 609 to suggest pressing thereof to bring back all the characters, and play according to code 302 continues.
Thus, code 302 can cause game control unit 103 to cue the user to push a selected one of buttons 602-611 or to rock directional rocker button 614 in a selected direction. In one embodiment, code 302 can also cause game control unit 103 to cue the user to push button 601. However, since button 601 is a power button for game control unit 103, it is preferred that pressing of button 601 remains solely at the user's initiative and discretion.
When touched by the user, touch-sensitive pad 105 reports a sensed touching event to CPU 201. Code 302 can include instructions which trap such events and take action in response thereto. Such events include the fact that touch-sensitive pad 105 is touched and a location of touch-sensitive pad 105 that is touched by the user. The location is specified in a two-dimensional Cartesian coordinate space defined by touch-sensitive pad 105. Events can also include an event type, including touching, cessation of touching, and dragging, for example. Cessation of touching refers to an event in which the user has lifted her finger from touch-sensitive pad 105. Dragging refers to an event in which the user has moved her finger to a new position of touch-sensitive pad 105 while maintaining contact with touch-sensitive pad 105. How game control unit 103 responds to such an event is left to computer instructions of code 302.
Code 302 specifies a number of virtual buttons in touch-sensitive pad 105 by (i) specifying a location of the virtual button in terms of the coordinate space of touch-sensitive pad 105, e.g., as ranges in both horizontal and vertical coordinates, and (ii) specifying an action to take in response to a touching event involving the virtual button. Such virtual buttons and associated actions collectively define a context in which touches of touch-sensitive pad 105 are processed.
Such processing of a touch event is illustrated by logic flow diagram 800 (FIG. 8). In step 802, code 302 determines in which of the defined virtual buttons the touch event occurred. Code 302 makes such a determination by comparison of the location of the touch event to locations at which virtual buttons are defined. In select step 804, code 302 selects processing according to which of the virtual buttons is touched as determined in step 802.
If the first virtual button is touched in the touch event, processing transfers to step 806 in which code 302 performs an action associated with the first virtual button. If the second virtual button is touched in the touch event, processing transfers to step 808 in which code 302 performs an action associated with the second virtual button. If the no virtual button is touched in the touch event, processing transfers to step 810 in which code 302 performs an action disassociated with all virtual buttons, e.g., a default action. While logic flow diagram 800 represents a context which includes only two virtual buttons, it should be appreciated that more or fewer than two virtual buttons can be processed in an analogous manner.
FIG. 9 shows game control unit 103 in a manner illustrating a capacity to change contexts for touch-sensitive pad 105. A book 906 of overlays is attachable to game control unit 103. In particular, book 906 includes a spiral binding 904 which can be placed over hooks 902A-B between shoulders 910A-B. Hooks 902A-B include bulbous ends which slightly deform spiral binding 904 to retain spiral binding 904 on hooks 902A-B with spring tension of spiral binding 904. Shoulders 910A-B act as lateral stops to assist in aligning overlay leaves of book 906 over touch-sensitive pad 105. In addition,. a protuberance 912 in the form of a face of game control unit 103 which is raised relative to touch-sensitive pad 105 also assists in aligning overlay leaves of book 906 on top of touch-sensitive pad 105.
Proper alignment is important for two reasons: (i) proper correlation between printed matter on each overlay page of book 906 and corresponding virtual buttons defined in touch-sensitive pad 105 in a respective virtual button context defined within code 302 for each overlay page and (ii) proper functioning of automatic page-sensing.
Book 906 includes a number of leaves, each of which has two sides. Each side of a leaf of book 906 is a page. As described more completely below, book 906 is reversible.
Each overlay page of book 906 can include printed matter, including text, graphics, images, and/or icons, for example. Aspects and/or features of the printed matter of each page are made interactive by defining one or more virtual buttons of touch-sensitive pad 105 that correspond to the respective aspects and/or features. In the example given above in which the user selects individual Teletubby characters to say “Good bye,” the colors of buttons 607-611 can be replaced with images of the respective Teletubby characters on an overlay page and a context which specifies a respective virtual button on touch-sensitive pad 105 for each of the images. Thus, the user touches an image of a selected Teletubby character on the overlay page with the overlay page positioned over touch-sensitive pad 105 and code 302 detects a touch event associated with the corresponding virtual button defined in the context for that overlay page.
It should be noted that contexts can include more than virtual buttons defined for touch-sensitive pad 105. A context can include different actions associated with other buttons of game control unit 103, namely, buttons 602-611 and joy pad 614. For example, continuing in the example of Teletubby characters, one overlay page of book 906 can show the characters sitting, another overlay page can show them sleeping, and another can show them dancing. With the first page positioned over touch-sensitive pad 105 and viewable by the user, code 302 responds to pressing of button 607, i.e., the red button, by causing playback of an audiovisual clip in which Po, the red Teletubby character, sits. With the second page positioned over touch-sensitive pad 105 and viewable by the user, code 302 responds to pressing of button 607 by causing playback of an audiovisual clip in which Po goes to sleep. With the third page positioned over touch-sensitive pad 105 and viewable by the user, code 302 responds to pressing of button 607 by causing playback of an audiovisual clip in which Po gets up and dances.
Processing by code 302 of page-specific contexts is illustrated by logic flow diagram 1000 (FIG. 10). In step 1002, code 302 determines to which viewable page book 906 (FIG. 9) is turned, i.e., which side of which overlay leaf of book 906 is positioned over touch-sensitive pad 105 and viewable by the user.
To sense overlay leaves of book 906, game control unit 103 includes a number of reed switches 908A-E positioned beneath touch-sensitive pad 105. Each of the overlay leaves of book 906 includes an embedded magnet, e.g., between two plies of the overlay leaf. When an overlay leaf of book 906 is positioned over touch-sensitive pad 105 and positioned within protuberance 912, the embedded magnet of the overlay leaf aligns with, and actuates, a selected one of reed switches 908A-E.
As described above briefly, book 906
is reversible, i.e., can be positioned over touch-sensitive pad 105
in one orientation with spiral binding 904
clipped onto hooks 902
A-B and then flipped 180 degrees and re-positioned over touch-sensitive pad 105
with spiral binding 904
clipped onto hooks 902
A-B in a reversed orientation. Book 906
includes four (4) overlay leaves. The embedded magnet of the first overlay leaf is positioned to align with reed switch 908
A in the first orientation and with reed switch 908
E in the reversed orientation. The embedded magnet of the second overlay leaf is positioned to align with reed switch 908
B in the first orientation and with reed switch 908
D in the reversed orientation. The embedded magnet of the third overlay leaf is positioned to align with reed switch 908
C in both the first and reversed orientations. The embedded magnet of the fourth overlay leaf is positioned to align with reed switch 908
D in the first orientation and with reed switch 908
B in the reversed orientation. Table B below summarizes the states of reed switches 908
A-E in each possible overlay orientation of book 906
|TABLE B |
|Actuated Switches ||Viewable Page |
|908A, 908B, 908C, 908D ||All 4 leaves are over touch-sensitive pad 105; the front of the |
| ||first overlay leaf, i.e., the first page, is on top and viewable by |
| ||the user. |
|908A, 908B, 908C ||Pages 2-4 are over touch-sensitive pad 105; the front of the |
| ||second overlay leaf, i.e., the second page, is on top and |
| ||viewable by the user. |
|908A, 908B ||Pages 3-4 are over touch-sensitive pad 105; the front of the |
| ||third overlay leaf, i.e., the third page, is on top and viewable |
| ||by the user. |
|908A ||The fourth overlay page is over touch-sensitive pad 105; the |
| ||front of the fourth overlay leaf, i.e., the fourth page, is |
| ||viewable by the user. |
|908B, 908C, 908D, 908E ||All 4 pages are over touch-sensitive pad 105 in the reversed |
| ||orientation; the back of the fourth overlay leaf, i.e., the fifth |
| ||page, is on top and viewable by the user. |
|908C, 908D, 908E ||Pages 1-3 are over touch-sensitive pad 105 in the reversed |
| ||orientation; the back of the third overlay leaf, i.e., the sixth |
| ||page, is on top and viewable by the user. |
|908D, 908E ||Pages 1-2 are over touch-sensitive pad 105 in the reversed |
| ||orientation; the back of the second overlay leaf, i.e., the |
| ||seventh page, is on top and viewable by the user. |
|908E ||The first overlay page is over touch-sensitive pad 105 in the |
| ||reversed orientation; the back of the first overlay leaf, i.e., the |
| ||eighth page, is on top and viewable by the user. |
|None ||Book 906 is not positioned over touch-sensitive pad 105. |
To enable this reversibility of book 906, reed switches 908A-E are positioned symmetrically about a center between the left and right edges of protuberance 912. In particular, reed switches 908A and 908E are positioned symmetrically about that center, reed switches 908B and 908D are positioned symmetrically about that center, and reed switch 908C is positioned on that center.
While this illustrative embodiment is described as including four overlay leaves in book 906 and five reed switches 908A-E, it should be noted that book 906 can include more or fewer overlay leaves and game control unit 103 can include more or fewer reed switches. It should also be noted that reed switches 908A-E should at least number one more than the maximum number of overlay leaves supported in a single book such as book 906. For example, to support up to seven overlay leaves in a reversible book such as book 906, eight reed switches should be used. Such provides fourteen viewable overlay pages.
A magnet-and-reed-switch page sensing system such as that used by game control unit 103 is described in more detail in U.S. Pat. No. 6,763,995 to Jin K. Song and that description is incorporated herein by reference.
Returning to logic flow diagram 1000 (FIG. 10), code 302 determines to which viewable page book 906 is turned by sensing reed switches 908A-E and using the states shown in Table B above. In step 1004, code 302 continues processing according to which viewable page of book 906 is on top of touch-sensitive pad 105 and viewable by the user. While book 906 includes eight viewable pages as described above, logic flow diagram 1000 shows processing of only two viewable pages for simplicity and clarity of description. More viewable pages can be processed in an analogous manner.
If code 302 determines that the first page is viewable over touch-sensitive pad 105, code 302 processes virtual buttons and all buttons of game control unit 103 according to a context defined for the first page in step 800A. If code 302 determines that a second page is viewable over touch-sensitive pad 105, code 302 processes virtual buttons and all buttons of game control unit 103 according to a context defined for the second page in step 800B. If code 302 determines that no page is viewable over touch-sensitive pad 105, code 302 processes virtual buttons and all buttons of game control unit 103 according to a default context in step 800C, since book 906 is not positioned over touch-sensitive pad 105.
In this illustrative embodiment, the default context specifies a number of virtual buttons on touch-sensitive pad 105 which emulate buttons on a conventional remote control for DVD player 101. The logic which implements such emulation is preferably stored in NvRAM 202 and/or ROM 203 such that game control unit 103 can operate as a conventional remote control for DVD player 101 in the absence of memory device 104. Touch-sensitive pad 105 is shown in FIG. 6 to include printed matter identifying locations of various virtual buttons which implement such conventional remote control signals as play, pause, stop, fast forward, rewind, up, down, left, right, enter, and numerical digit entry.
The above description is illustrative only and is not limiting. For example, while a separate DVD player and television are shown, other multimedia players can be used—including integrated DVD player/television devices. In addition, while wireless remote control signals are described, wired remote control signals—while not currently popular in public use—can also be used. The present invention is defined solely by the claims which follow and their full range of equivalents.