CA1285076C - Interactive video composition and presentation systems - Google Patents
Interactive video composition and presentation systemsInfo
- Publication number
- CA1285076C CA1285076C CA000532446A CA532446A CA1285076C CA 1285076 C CA1285076 C CA 1285076C CA 000532446 A CA000532446 A CA 000532446A CA 532446 A CA532446 A CA 532446A CA 1285076 C CA1285076 C CA 1285076C
- Authority
- CA
- Canada
- Prior art keywords
- event
- presentation
- operator
- input
- time
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Classifications
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09B—EDUCATIONAL OR DEMONSTRATION APPLIANCES; APPLIANCES FOR TEACHING, OR COMMUNICATING WITH, THE BLIND, DEAF OR MUTE; MODELS; PLANETARIA; GLOBES; MAPS; DIAGRAMS
- G09B5/00—Electrically-operated educational appliances
- G09B5/06—Electrically-operated educational appliances with both visual and audible presentation of the material to be studied
- G09B5/065—Combinations of audio and video presentations, e.g. videotapes, videodiscs, television systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Abstract
ABSTRACT OF THE DISCLOSURE
A program is disclosed for specifying and executing independent, multi-media tasks along a synchronizing time-line, preferably in the form of a spreadsheet matrix with the event elements making up the rows and the time periods the columns. The media include various pieces of hardware such as touch screens, voice synthesizers, video disk players, and the like.
In designing a presentation, the author types into the matrix indications of which piece of hardware will be operating and for what specified period of time during the presentation. This information is also accessible to all other events in the presentation thereby allowing complex multi-media presentations to be designed by a user who is relatively unsophisticated in using computers.
A program is disclosed for specifying and executing independent, multi-media tasks along a synchronizing time-line, preferably in the form of a spreadsheet matrix with the event elements making up the rows and the time periods the columns. The media include various pieces of hardware such as touch screens, voice synthesizers, video disk players, and the like.
In designing a presentation, the author types into the matrix indications of which piece of hardware will be operating and for what specified period of time during the presentation. This information is also accessible to all other events in the presentation thereby allowing complex multi-media presentations to be designed by a user who is relatively unsophisticated in using computers.
Description
DA9-85-009 ~3~76 INTERACTIVE VIDEO COMPOSITION AND
PRESENTATION SYSTEMS
BACKGROUND OF THE INVENTION
Field of the Invention The present invention generally relates to an information providing system and, more particularly, to an interactive multi-media presentation system and a method for develop:ing the presentation. The invention has broad application in the area of user interactive information systems such as, but not limited to, computer aided education. The invention facilitates the presentation of all manner of information which may be useful in various business contexts including sales, training and the like.
~2~
.~` ,.
DA~-85-009 Description of the Prior Art Interactive video training has become important as an effec~ive technique in the field of computer aided education. A number of input S technologies including keyboard, touch screen and light pen may be used to accept inputs and responses from a student user. Video disks are used to provide visual data in the ~orm of graphics and animation to a display screen and audio signals to a speaker or speakers. ~ voice synthesizer may also be used to provide instructions and provide feedback to the student user on each answerO The programmed course of instruction may be designed to stop at any point to provide additional levels of instruction or ; even to repeat previous instruction as reinforcement depending on the student user's responses. ~j Interactive video training is but one aspect of a broader field of informa~ion presentation.
Much the same techniques may be advantageously applied in other areasO For example, a sales presentation might be composed so that a prospective customer could use the presentation to determine what his needs were and how best to satisfy those needs. There are other areas where, for example, the need exists to provide the general public with information about a particular place or time in history or about an exhibit such as at a National Park or museum. Rather than the typical prerecorded tape which may be activated by an interested party, it would be desirable to provide an information system which the user could tailor to his or her individual interests.
~Z~
Creating the programs for interactive video training courses and, more generally, information presentation systems has been a difficult and time consuming task. In the past, interactive video presentations have been designed manually and then subsequently coded into a computer program by program developers. This process has made such - presentations expensive and limited their number to those appIications for which the cost could be 10 j ust i f ied . ~ -- ''~ ' SUMMARY OF THE INVENTION
It is therefore an object of the subject inventiOn to provide a method for developing a computer aided video presentation which may be practiced by persons who are relatively inexperienced in the use of computers.
It is a further object of the invention to provide a composition system which facilitates the development of an interactive multi-media presentation.
The objec~s of the invention are attained by a program for specifying the execution of -~independent, multi-media tasks along a ~
synchronizing time liner preferably in the form of a spreadsheet matrix with event elements making up the rows and the time periods, the columns. The -media which may be used in the practice of the invention include various pieces of hardware such as touch screens, graphics displays, voice 3~ synthesizers, video disk players, keyboards, and light pens as described above. These devices correspond to the rows of the matrix. The activities of multiple independent devices are ~ ~:8SQ7~
,~ C
synchronized by having the columns of the matrix represent moments in timeO Thus, all activities specified in one column appear to happen simultaneously/ while activities specified in 5 multiple columns appear to happen successively, r moving from left to right in the matrix.
The matrix used in the practice of the invention is similar to the GNATT chart concept ~used in the field of project management to lO schedule the activities of men and machines across - time. --In designing a presentation, the information provider types into a series of matrices indications of which devices will be operating in 15 a desired sequence and ~or a specified period of time. In the context of the invention, each event is a filled-in spreadsheet matri~. Each spreadsheet matrix includes information indicating the next event. The next event may be the next 20 event in sequence or it may be conditional on which input is made by a user. The input may be selected by the user in response to a prompt to choose from among several possible inputs which are presented~ It is also possible, because of 25 the time line in the spreadsheet matrix, to provide a default next event should the user fail to make a choice within a predetermined period of --time. The default next event aoes not need to be one of the events that would have occurred had the 30 user made a selection within the predetermined period of time~ The control in each spreadsheet event is also specifiable in all other events in the presentation, thereby allowing complex multi-media presentations to be designed by a user 35 who is relatively unsophisticated in using C
computers. Thus, a single presentation may comprise hundreds or even thousands of filled-in spreadsheet events.
The program that permits the information provider to compose the presentation is referred to herein as the "composer". Once a presentation has been composed; the user for whom the information i5 intended may use the presentation by means of a second program referred to herein as the "conductor". The conductor is the run time program for the composer. The end user need only have a copy of the composed presentation and the conductor program in order use the system. Only the information provider needs to have both the composer and the conductor programs. Thus, in the context of a host computer with a plurality of terminals, the terminals assigned to the end users would not be ahle to access the composer program but a terminal assigned to the information provider would. In the case of a plurality of Stand alone computers, the composer program does not need to be distributed to the end users. The end users need only receive the composed presentation and the conductor program.
The reason why the author of a presenta~ion requires both the composer and conductor programs is to allow the author to test his presentation during the process of writing it. For exampl~, after having written a sequence of events, the author would run the sequence using the conductor to see whether the information is presented in a manner which is satisfactory to him. If it is not, the author can return to the composer and edit the presentation. The composer supports several editing features including adding and ~28~
., "` ~ ~
deleting events, modifying events by the insertion or removal of columns to place forgotten event elements in the appropriate time sequence or remove superfluous event elements, and to change the sequence in which events are presented.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages of the invention will be better understood from the following aetailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Figure 1 is a representation of a computer display screen showing the initial time-line used to author an event in a presentation according to the subject invention;
Figure 2 is a representation similar to Figure 1 showing a pop-up menu for the video segment of the time-line;
Figure 3 is a representation similar to Figure 1 showing the specification of a video still in the time-line;
Figure 4 is a representation similar to -Figure 1 showing the pop-up graphics menu;
Figure 5 is a representation similar to Figure 4 but showing the fade and wipe pop-up menu selected from the graphics menu;
Figure 6 is a representation similar to Figure 4 but showing the move option pop-up menu partially overlaying the graphics menu;
Figure 7 is a representation similar to Figure 1 showing the pop-up menu for literals;
Figure g is a representation similar to Figure 1 showing the touch screen design option C
pop-up menu;
Figure 9 is a representation similar to Figure 1 showing the line ~5 pop-up menu;
Figure 10 is a representation similar to Figure 9 but showing the line 25 pop-up option menu which lists additional video control options;
Figure 11 is a representation similar to Figure 1 showing the pop-up menu for sound;
Figure 12 is a representation similar to Figure 11 but showing the pop-up word list;
Figure 13 i5 a representation similar to Figure 1 showing the pop-up menu for answer analysis, Figure 14 is a representation similar to Figure 1 showing the pop-up menu for the indicators;
Figure 15 is a representation similar to Figure 1 showing the pop-up menu for video disk loading and unloading; and ~
Figure 16 is a block diagram showing the overall structure of the ~onductor program according to the invention.
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENT OF TH~ INVENTION
As mentioned, two separate computer programs are used to allow the information provider the ability to author information which can be displayed on the screen of a host connected computer terminal or a stand alone computer system. The first of these is the composer program which gives the information provider the ability to author or compose a presentation. A
presentation is the information the end user sees -~35()76 and/or hears at the host connected computer terminal or stand alone computer system. The authoring process consists of the instructor using a time-line to control the media of the presentation. The media can consist of graphic frames, video disk frames and sound.
The second computer program is the run time program which will be referred to as the conductor. The conductor is the application that takes the inormation authored by the information provider using the composer and performs the functions indicated in ~he time-line of each event ; in the course of the presentation. In general, the conductor is the program that resides in the end user's co~puter terminal or stand alone computer system to present the information to the end user.
The author of a presentation has the capability to present to the end user moving video pictures, still video pictures, graphic frames, text~ and sound from either a video disk or a speech synthesizex. With the flexibility of the hardware devicesl it is possible for the author to use media mixing to produce a variety of visual and audio effects. The author can define more than one type of user input. The input can be, for example, touch points on a touch screen display and/or the keyboard. The author can direct a presentation based on the points touched by the user or make decisions based on variable data input from the keyboard.
Preparing a presentation begins by the author deciding what information is to be presented during the presentation. Once the information has been decided upon, the author then determines what ~:85 ~, r a type of media will be used to present the information. All video and sound required may be created and placed on a video disk. A map of what is on the video disk, both video and sound, is made to allow the author to easily locate any video or sound data that may be required at any point in the presenta~ion~ Any graphics that may be needed are made with an all points addressable (APA) or bit mapped frame creator and editor~
Once all the information is available, the author can create an outline of how the presentation is run. This outline can be made using any text editor, and the outline should include information such as what graphics are to be displayed with what video and sound~ Any input allowed and what decisions are to be made based on the input from the end user should also be included. Once this outline is made, it is used during the composer process as a guide for the author. From the outline, the author should be able to fill in the time-line provided durinq the composer process to perform the indicated steps of the presentation.
The hardware required to run the composer and conductor are a microcomputer such as the IBM
Personal Computer (PC~, PC/XT or PC/AT, a vision head, and a video disk player. It is not necessary that the composer and conductor use the same type of PC; however, whichever type of PC is used, it is required to have 512K bytes of memory, an Enhanced Graphics Adaptor (EGA), and a General Purpose Interface Bus (GPIB). The vision head is a hardware device that contains a medium resolution graphics display, a touch screen, two speakers, and a voice synthesizer chip, all of which technology is known in the art. The IBM PCs ~285~
use a keyboard that has ten function keys labeled Fl to F10 and a combination numeric and cursor keypad. The arrow keys on this keypad can be used to position the cursor on ~he display screen;
however, other cursor positioning devices such as a mouse, track ball, joy stick or the like can be used to position the cursor on the screen.
As mentioned, the composer refers to the ~ authoring process which allows the author to create a presentation~ ~here are several steps involved in creating a presentation, and each of these steps corresponds to an option on the composer menu, an example of which is shown below.
l . . .. _ 15 ¦ COMPOSER MENU
; PRESENTATION = VISION
1. AUTHOR PROFILE
PRESENTATION SYSTEMS
BACKGROUND OF THE INVENTION
Field of the Invention The present invention generally relates to an information providing system and, more particularly, to an interactive multi-media presentation system and a method for develop:ing the presentation. The invention has broad application in the area of user interactive information systems such as, but not limited to, computer aided education. The invention facilitates the presentation of all manner of information which may be useful in various business contexts including sales, training and the like.
~2~
.~` ,.
DA~-85-009 Description of the Prior Art Interactive video training has become important as an effec~ive technique in the field of computer aided education. A number of input S technologies including keyboard, touch screen and light pen may be used to accept inputs and responses from a student user. Video disks are used to provide visual data in the ~orm of graphics and animation to a display screen and audio signals to a speaker or speakers. ~ voice synthesizer may also be used to provide instructions and provide feedback to the student user on each answerO The programmed course of instruction may be designed to stop at any point to provide additional levels of instruction or ; even to repeat previous instruction as reinforcement depending on the student user's responses. ~j Interactive video training is but one aspect of a broader field of informa~ion presentation.
Much the same techniques may be advantageously applied in other areasO For example, a sales presentation might be composed so that a prospective customer could use the presentation to determine what his needs were and how best to satisfy those needs. There are other areas where, for example, the need exists to provide the general public with information about a particular place or time in history or about an exhibit such as at a National Park or museum. Rather than the typical prerecorded tape which may be activated by an interested party, it would be desirable to provide an information system which the user could tailor to his or her individual interests.
~Z~
Creating the programs for interactive video training courses and, more generally, information presentation systems has been a difficult and time consuming task. In the past, interactive video presentations have been designed manually and then subsequently coded into a computer program by program developers. This process has made such - presentations expensive and limited their number to those appIications for which the cost could be 10 j ust i f ied . ~ -- ''~ ' SUMMARY OF THE INVENTION
It is therefore an object of the subject inventiOn to provide a method for developing a computer aided video presentation which may be practiced by persons who are relatively inexperienced in the use of computers.
It is a further object of the invention to provide a composition system which facilitates the development of an interactive multi-media presentation.
The objec~s of the invention are attained by a program for specifying the execution of -~independent, multi-media tasks along a ~
synchronizing time liner preferably in the form of a spreadsheet matrix with event elements making up the rows and the time periods, the columns. The -media which may be used in the practice of the invention include various pieces of hardware such as touch screens, graphics displays, voice 3~ synthesizers, video disk players, keyboards, and light pens as described above. These devices correspond to the rows of the matrix. The activities of multiple independent devices are ~ ~:8SQ7~
,~ C
synchronized by having the columns of the matrix represent moments in timeO Thus, all activities specified in one column appear to happen simultaneously/ while activities specified in 5 multiple columns appear to happen successively, r moving from left to right in the matrix.
The matrix used in the practice of the invention is similar to the GNATT chart concept ~used in the field of project management to lO schedule the activities of men and machines across - time. --In designing a presentation, the information provider types into a series of matrices indications of which devices will be operating in 15 a desired sequence and ~or a specified period of time. In the context of the invention, each event is a filled-in spreadsheet matri~. Each spreadsheet matrix includes information indicating the next event. The next event may be the next 20 event in sequence or it may be conditional on which input is made by a user. The input may be selected by the user in response to a prompt to choose from among several possible inputs which are presented~ It is also possible, because of 25 the time line in the spreadsheet matrix, to provide a default next event should the user fail to make a choice within a predetermined period of --time. The default next event aoes not need to be one of the events that would have occurred had the 30 user made a selection within the predetermined period of time~ The control in each spreadsheet event is also specifiable in all other events in the presentation, thereby allowing complex multi-media presentations to be designed by a user 35 who is relatively unsophisticated in using C
computers. Thus, a single presentation may comprise hundreds or even thousands of filled-in spreadsheet events.
The program that permits the information provider to compose the presentation is referred to herein as the "composer". Once a presentation has been composed; the user for whom the information i5 intended may use the presentation by means of a second program referred to herein as the "conductor". The conductor is the run time program for the composer. The end user need only have a copy of the composed presentation and the conductor program in order use the system. Only the information provider needs to have both the composer and the conductor programs. Thus, in the context of a host computer with a plurality of terminals, the terminals assigned to the end users would not be ahle to access the composer program but a terminal assigned to the information provider would. In the case of a plurality of Stand alone computers, the composer program does not need to be distributed to the end users. The end users need only receive the composed presentation and the conductor program.
The reason why the author of a presenta~ion requires both the composer and conductor programs is to allow the author to test his presentation during the process of writing it. For exampl~, after having written a sequence of events, the author would run the sequence using the conductor to see whether the information is presented in a manner which is satisfactory to him. If it is not, the author can return to the composer and edit the presentation. The composer supports several editing features including adding and ~28~
., "` ~ ~
deleting events, modifying events by the insertion or removal of columns to place forgotten event elements in the appropriate time sequence or remove superfluous event elements, and to change the sequence in which events are presented.
BRIEF DESCRIPTION OF THE DRAWINGS
The foregoing and other objects, aspects and advantages of the invention will be better understood from the following aetailed description of a preferred embodiment of the invention with reference to the drawings, in which:
Figure 1 is a representation of a computer display screen showing the initial time-line used to author an event in a presentation according to the subject invention;
Figure 2 is a representation similar to Figure 1 showing a pop-up menu for the video segment of the time-line;
Figure 3 is a representation similar to Figure 1 showing the specification of a video still in the time-line;
Figure 4 is a representation similar to -Figure 1 showing the pop-up graphics menu;
Figure 5 is a representation similar to Figure 4 but showing the fade and wipe pop-up menu selected from the graphics menu;
Figure 6 is a representation similar to Figure 4 but showing the move option pop-up menu partially overlaying the graphics menu;
Figure 7 is a representation similar to Figure 1 showing the pop-up menu for literals;
Figure g is a representation similar to Figure 1 showing the touch screen design option C
pop-up menu;
Figure 9 is a representation similar to Figure 1 showing the line ~5 pop-up menu;
Figure 10 is a representation similar to Figure 9 but showing the line 25 pop-up option menu which lists additional video control options;
Figure 11 is a representation similar to Figure 1 showing the pop-up menu for sound;
Figure 12 is a representation similar to Figure 11 but showing the pop-up word list;
Figure 13 i5 a representation similar to Figure 1 showing the pop-up menu for answer analysis, Figure 14 is a representation similar to Figure 1 showing the pop-up menu for the indicators;
Figure 15 is a representation similar to Figure 1 showing the pop-up menu for video disk loading and unloading; and ~
Figure 16 is a block diagram showing the overall structure of the ~onductor program according to the invention.
DETAILED DESCRIPTION OF THE PREFERRED
EMBODIMENT OF TH~ INVENTION
As mentioned, two separate computer programs are used to allow the information provider the ability to author information which can be displayed on the screen of a host connected computer terminal or a stand alone computer system. The first of these is the composer program which gives the information provider the ability to author or compose a presentation. A
presentation is the information the end user sees -~35()76 and/or hears at the host connected computer terminal or stand alone computer system. The authoring process consists of the instructor using a time-line to control the media of the presentation. The media can consist of graphic frames, video disk frames and sound.
The second computer program is the run time program which will be referred to as the conductor. The conductor is the application that takes the inormation authored by the information provider using the composer and performs the functions indicated in ~he time-line of each event ; in the course of the presentation. In general, the conductor is the program that resides in the end user's co~puter terminal or stand alone computer system to present the information to the end user.
The author of a presentation has the capability to present to the end user moving video pictures, still video pictures, graphic frames, text~ and sound from either a video disk or a speech synthesizex. With the flexibility of the hardware devicesl it is possible for the author to use media mixing to produce a variety of visual and audio effects. The author can define more than one type of user input. The input can be, for example, touch points on a touch screen display and/or the keyboard. The author can direct a presentation based on the points touched by the user or make decisions based on variable data input from the keyboard.
Preparing a presentation begins by the author deciding what information is to be presented during the presentation. Once the information has been decided upon, the author then determines what ~:85 ~, r a type of media will be used to present the information. All video and sound required may be created and placed on a video disk. A map of what is on the video disk, both video and sound, is made to allow the author to easily locate any video or sound data that may be required at any point in the presenta~ion~ Any graphics that may be needed are made with an all points addressable (APA) or bit mapped frame creator and editor~
Once all the information is available, the author can create an outline of how the presentation is run. This outline can be made using any text editor, and the outline should include information such as what graphics are to be displayed with what video and sound~ Any input allowed and what decisions are to be made based on the input from the end user should also be included. Once this outline is made, it is used during the composer process as a guide for the author. From the outline, the author should be able to fill in the time-line provided durinq the composer process to perform the indicated steps of the presentation.
The hardware required to run the composer and conductor are a microcomputer such as the IBM
Personal Computer (PC~, PC/XT or PC/AT, a vision head, and a video disk player. It is not necessary that the composer and conductor use the same type of PC; however, whichever type of PC is used, it is required to have 512K bytes of memory, an Enhanced Graphics Adaptor (EGA), and a General Purpose Interface Bus (GPIB). The vision head is a hardware device that contains a medium resolution graphics display, a touch screen, two speakers, and a voice synthesizer chip, all of which technology is known in the art. The IBM PCs ~285~
use a keyboard that has ten function keys labeled Fl to F10 and a combination numeric and cursor keypad. The arrow keys on this keypad can be used to position the cursor on ~he display screen;
however, other cursor positioning devices such as a mouse, track ball, joy stick or the like can be used to position the cursor on the screen.
As mentioned, the composer refers to the ~ authoring process which allows the author to create a presentation~ ~here are several steps involved in creating a presentation, and each of these steps corresponds to an option on the composer menu, an example of which is shown below.
l . . .. _ 15 ¦ COMPOSER MENU
; PRESENTATION = VISION
1. AUTHOR PROFILE
2. PRESENTATION PROFILE
3. UPDATE OUTLINE
4. AUTHOR an EVENT
5. ERASE an EVENT
6. TEST an EVENT
7. DOCUMENT PRESENTATION
¦ 9. RETURN TO MASTER MENU
¦ SELECT ONE [.l .
As can be seen from the menu, two profiles must be created, the author profile and the presentation profile. These profiles are used by the composer and the conductor to identify information about the author, the equipment being used and the iO7i~
i. ~
11, functions available.
A time-line is used in the authoring process.
The time-line is a type of spreadsheet which controls and synchroni~es graphic frames/ video disks, a touch screen, a voice synthesizer and other hardware connected to the system. One such spreadsheet is required for each event in the presentation. The spreadsheet is arranged in a matrix with event elements making up the rows and the time periods, the columns.
When first beginning the time-line process, the time-line will be empty as shown, for example, in Figure 1 of the drawings. As seen in the menu shown above, the author also has the ability to erase an event and test an event while in the composer program. It is useful to erase an event if the even~ has been authored incorrectly or design changes have been made. When an event is erased, its time line is cleared of all entries.
The author can use the conductor program to test an event without leaving the composer program.
This helps the author to locate any problems while still in the authoring process.
Beginning first with the author profile, this option allows the author to identify informa~ion about the author and the equipment being used.
This information is supplied by the author in a fill-in-the-blanks menu provided for that purpose.
Using a similar fill-in-the-blanks menu, the author can next create or change the presentation profile~ The presentation profile is used to identify information akout the presentation such as the maximum pause time, system color, pause key label, replay key label, continue key label~ help key label, and the like.
~ 285~
After creating the author profile, the presentation profile and the outline, the actual presentation can be authored. This corresponds to option 4 on the composer menu shown above. The presentation to be authored is indicated in the composer menu beside the "Presentation =" field.
The name shown in the example above is "Vision".
The presentation name can be changed by selecting option 1 of the composer menu and changing the "Presentation Name" field in the author profile.
Initially, the outline is displayed with the cursor positioned at the first event. Another event may be selected by moving the cursor using the up and down arrow keys on the computer keyboard. While in the authoring process, pressing function key F7 will list the event names and pressing another function key F8 will display any available help. Pressing function key F10 will end the option and return to the composer menu.
Once the cursor is correctly positioned beside the desired event, pressing function key F2 will begin the authoring process. A screen is displayed showing the outline of the selected event and an empty time-line as shown in Figure 1.
In Figure 1, the outline is shown at the top of the display, and the time-line is shown at the bottom. In the time-line, the rows are event elements and the columns are times. The cursor is positioned on the video segment row at time 0.
The cursor can be moved around the time-line using the four arrow or cursor control keys on the computer keyboard.
~;285~
..
, With specific reference to Figure 1, the time row indicates the length of time, in tenths of seconds, an event element will take to completeO
The total amount of time for an event is displayed in the last non-empty column. The time--line will automatically reflect the time it takes for a video segment to play. The user may alter the time manually using designated keys, except when playing a video segment, but initially the time row is displayed with tenth second increments.
A video segment is a set of consecutive frames on a video disk which display as a moving video picture. To specify a video segment, the starting frame number is enteredO A pop-up window is displayed at the bottom right corner of the ; screen as shown in Figure 2. As indicated by the brackets in Figure 2, the cursor is positioned at the first field in the pop-up window labeled "player" An entry is made in each-~ield and the enter key is pressed. After the enter key is pressed~ the cursor moves to the next field, and after entering a value for the last field, the pop-up window disappears and the cursor is positioned in the next time column of the video segment row. The ending frame number of the video segment must be entered in this column. Once entered, the composer program calculates the time it will take the video segment to play at a predetermined rate. The times in the time row are automatically altered, beginning with the column containing the ending frame number, to reflect the time it will take to play the video segment.
The next row in the time-line is labeled "video stills". A video still is a single frame on a video disk. All that is required to specify ,, . . . . .; . . . , . ~ .. . . .. , . . .. . ,~ ~
~l2~35~)76 a video still is to enter the frame number of a frame from the video disk. This has been done in Figure 3. No pop-up window will appear because a video still displays only video; there is no audio.
Upon pressing the enter key, the cursor is repositioned at the row labeled "graphics".
Graphics frames can be either APA (all points addressable or bit mapped) frames or NAPLPS (North American Presentation Level Protocol Syntax~
frames. The frame name of a graphic frame must be entered. Once entered, a pop-up menu is displayed at the bottom right corner of the screen as shown in Figure 4. Option 1 of the pop-up menu, fade routine, allows the author to select from several different fade and wipe ~echniques. Fades and wipes are transition routines that dictate how a graphic will replace a previous graphic on the screen. They allow for a smooth presentation by eliminating abrup~ changes on the screen. When this option is selected, a menu listing the available fade techniques is displayed at the lower right corner of the screen as shown in Figure 5. Once the fade technique has been chosen, a time value between ~0 and 9 must be entered. This value specifies how fast the fade or wipe will occur. The time value is in tenths of a second from 0 to 100. After selecting a fade or wipe routine and a time value, the graphics menu of Figure 4 is redisplayed to allow another selection.
Option 2 of the graphics pop-up menu of Figure 4, transparent colors, allows the author to specify which color or colors are to be transparent. A video segment or video still can , ,,~. .. .. ~i ~85~:)76 be displayed behind a graphic frame on the display screen. The video shows through the graphic in the areas in which color has been made transparent.
Option 3 of the graphics pop-up menu of Figure 4, move window, allows the author to move the window to a precise position. A pop~up menu is displayed which prompts the author for an upper left row and column and a lower right row and column as shown in Figure 6. Upon entering the values for the rows and columns, the pop-up menu for the move window is removed uncovering the graphics pop-up menu which it overlayed.
Option 4 of the graphics pop-up menu of Figure 4 r examine screen, allows the author to see what the graphic specified in the time-line currently looks like. The graphic is displayed with grid numbers superimposed across the top and down the left side. These numbers are helpful in deciding where to position literals and touch areas on the screen. ~fter examining the graphic, the function key F10 may be pressed to keep the graphic and return to the pop-up graphics menu~
If the graphic is not correct, the func~ion key F3 may be pressed to cancel the current processing and return to the time-line. Option 5, return to time-line, causes the pop-up graphics menu to disappear and the cursor to be positioned on the next row labeled l'literals".
Literals allow the author to display messages on the screen. A literal label is required and may either be created by the author or by pressing function key F4. The labels created by pressing F4 are in the sequence LT1, LT2, etc. After entering a label, a pop-up menu is displayed at ' ~ ~28S076 the lower right corner of the screen as shown in Figure 7. The author is prompted for the screen width and the row and column where the literal should be positioned. A graphics screen is then displayed and the author is prompted to enter the literal. Once the literal is entered, it can be moved around the screen using the arrow or cursor control keys on the keyboard. The color o~ the literal can be changed using the function keys Fl ' lO and F2. When a literal color has been selected, ; it is accepted by pressing function key F9. The background co~or can be changed by pressing function key F4. When a background color has been selected, it is accepted by pressing function key Fl0. The literal processing may be canceled by pressing function key F3. In either case, the time-line is then redisplayed.
The next row on the time-line is labeled "touch". A touch area is an area on,the screen that has been activated to respond to touch. The author has complete flexibility in the size, location and number of touch areas. However, the touch area must always be a rectangle~ In the implemented system, sixty touch areas are '' Z5 supported, ten of which are reserved for system use. A touch label is required and can either be created by the author or by pressing function key F4. F4 generates labels in the sequence TCl, TC2, etc. After entering a label, the author is prompted for the number of touch areas as shown in Figure 8. A graphics screen is then displayed with a blinking cursor. The cursor must be positioned at a point corresponding to the upper left corner of ~he touch area. This is done using the arrow or cursor control keys on the keyboard.
~ ~5(37~ ~
When the cursor is in the correct position~ the enter key is pressed. The author can then enlarge and shrink the area with the cursor control keys.
The down and right arrows enlarge the area and the up and left keys shrink the area. When the touch area is positioned appropriately, the enter key is pressed and a touch area is automatically assigned to the area. The remaining touch areas, if any, are created in ~he same way. When the specified number of touch areas have been creaked, function key Fl0 is pressed to indicate approval of all the defined touch areas. The author is prompted for various kinds of visual or auditory feedback associated with each active area. The author is lS then prompted for a branch event for each touch area. When all branch events have been entered, the author has the option of saving this touch area format to be used with other graphics, and then the time-line is redisplayed. ~
The next row on the time-line in Figure l is labeled "line 25". Line 25 allows the author to specify what user control options are to be displayed at the bottom of the screen; e.g., pause and replay. These options are touch areas that give the end user control oyer the presentation of information. A line 25 label is required and may either be created by the author or by pressing function key F4. F4 generates labels in the sequence BRl, BR2, etc. Once a label is entered, a selection menu is displayed at the lower right corner of the screen as shown in Figure 9. The brackets in the pop-up menu indicate the location of the cursor. It will be noted that a "Y" has been entered in the pause field. This gi~es the user the ability to pause the video. When this ~ 285~7~ ~
option is chosen by the author, a second pop-up menu is displayed as shown in Figure 10~ This pop-up menu lists additional user control options.
For example, the resume option gives the user the ability to resume the video after a pause.
After the detail screen name is entered in the pop-up menu shown in Figure 10, the menu disappears and the cursor is repositioned on the row of the time-line labeled sound~ Sound allows the au~hor to specify words and phrases for the voice synthesizer. A sound label is required and may be created by the author or by pressing function key F4. The labels generated by the F4 key are in the sequence SPl, SP2, etc. A pop-up menu is displayed which prompts the author for the word or words to be spoken. This pop-up menu is shown in Figure llo The author is given the option of reviewing the wora list before entering a word or words in this menu. If the author chooses to review the word list, the author is first prompted to enter a starting letter. The word list, beginning with this letter, is displayed to the right side of the pop-up menu as shown in Figure ~2 which shows words from the-list beginning with the letter "d". The list can be scrolled using the arrow or cursor control keys on the keyboard. A word is selected by positioning the cursor on the word and pressing the enter key.
The word then appears in the "Enter Words to Speak" field of the pop-up menu. If the author decides not to review the word list, the cursor is positioned in the "Enter Words to Speak" field, and the words can be entered through the keyboard.
If a word is entered which is not in the word list, the message "word no~ found" is displayed.
85~76 If the word or phrase is valid, the menu disappears, and the cursor is repositioned on the row labeled keyboard input in the time-line.
Keyboard input allows the author to specify variables and valid user input for these variables. The author is prompted for a variable to be used to match words. It must begin with a "$" if its value is to be alphanumeric or a "%" if its value is to be numeric. A label is required to identify the match word or phrase. The label can be created by the author or by pressing function key F4. The labels generated by the F4 key are in the sequence ANl, AN2, etcO The author is then prompted for the match words or phrases and the appropriate branch event in the case of a match. The pop-up menu for this is shown in Figure 13. Up to five ma~ch words or phrases and branch events are allowed. Pressing the enter key moves the cursor through the fields. The author may also specify an event to branch to if a match was not found. After entering the branch event for the else condition, the pop-up menu disappears/ and the cursor is repositioned on the row labeled indicators in the time-line.
An indicator is a switch that can be set on or off by the author. The indicator can be tested for an on or off position and branching can occur based on the switch settings. There are sixteen switches available to the author. A label is required which can be created by the user or by pressing function key F4. The labels generated by the F4 key are in the sequence SWl, SW2, etc.
After entering a label, a pop-up menu is displayed at the lower right corner of the screen as shown in Figure 14. The set line in the menu allows the . , , ,., , ,, .... ~
35~)7~i C
author to set a swi~ch on or off. To set the switch on! the author replaces the corresponding "X" with a "Y". To set the switch off, the author replaces the corresponding "X" with a "N". The test line in the menu allows the author to test one or more switches. Each switch can be tested for either an on or off position. For each switch to be tested, the corresponding "X" is replaced with a "Y" or "N". The operator line of the menu specifies what operation is to be performed on the switch settings. The value line is to indicate how many of the switches are tested correctly.
Branching to another event is based on the result of the operator and value. The author specifies the event to be performed based on a positive result or a negative result.
The miscellaneous row of the time-line provides other authoring functions which are not defined within any of the other rows. The 2~ functions available on this line are logging and video disk loading and unloading. The ~uthor can specify that each item of an event be recorded into a log file. The author specifies when logging of the event is to start and stop using the log and nolog control words in the miscellaneous line. When log appears in the miscellaneous line, all information about the event is logged until either the end of the event is reached/ a branch to another event occurs, or a nolog appears in the miscellaneous line.
The miscellaneous line also allows for the loading and unloading of the video disk player.
To unload the video disk, the author types the word "unload" in the miscellaneous line. A pop-up menu then appears prompting for the player number 3,507~
and user load prompt as shown in Figure 15, The author specifies which player is to be loaded;
i.e.~ player 1 or player 2. The user prompt field indicates whether the user will be prompted with a standard load screen. If a "Y" is entered, a screen will be displayed showing the user how to load the video disk player. The user must touch the screen before the video disk is actually loaded. If an "N" is entered, the video disk will be loaded without prompting the user. After entering a response to the user prompt field, the ; pop-up menu disappears and the cursor returns to ~; the time~lineO
The process just described is repeated for each event in the presentation; however, it will be understood of course that not every event element will be filled in and, in some cases, only a single event element will be filled in for a given event in the presentation. The author ~ 20 typically proceeds through the outline filling in ; each event time-line until the presentation has been completely composed.
As mentioned, the conductor is the runtime facility for the composer application. What this means is that the once a presenta,tion has been authored, only the conductor is required to run the presentationO In other words, only the author requires both the composer and the conductor applications. The end users need to have only the conductor application in their computer terminal or stand alone computer. The conductor takes the information authored with the time-lines during the authoring process and performs the media mixing indicated by each time-line. The conductor uses the vision head as the interface device for ~ 2~3S~376 input/output to the en~ u~er.
Referring now to Figure 16, there is shown the overall block diagram of the structure of the conductor program. The heart of the program is the time-line controller which interfaces with the device environment sample~ and a logic analyzer.
The logic analyzer interfaces with a read event file module, an event file parser, a command stager, and a staged command dispatcher.
Processing is carried out in ~hese modules while waiting for an external event, such as a user responseV to occur. The following program written in Program Design Language IPDL) describes this processingO
WHILE WAITING ON EXTERNAL EVENT;
DO ONE OF THE FOLLOWING IN PRIORITY ORDER
SEQUENCE
1 WHILE COMMAND QUEUE NON-EMPTY; ;~-UNTIL STAGING BUFFERS FULL
CONVERT COMMAND QUEUE TO STAGED COMMANDS
END UNTIL
WEND
2 WHILE INPUT BUFFER NON-EMPTY;
UNTIL COMMAND QUEUE FULL
PARSE INPUT BUFFER TO COMMAND QUEUE
END UNTIL
WEND
EVENT NAME;
UNTIL INPUT BUFFER FULL
READ EVENT FILE TO INPUT BUFFER
END UNTIL
WEND
ENDDO
c :IL;2~S~)7~ ~
. 23 WEND
PROCESS ENVIRONMENT
IF LOGGING ON, THEN LOG ENVIRONMENT
LOG FI~E NAME = ddmmyyhh.mm IF SYSTEM FUNCTIONS WAITING ON ENVIRONMENT
THEN EXECUTE SYSTEM FUNCTIONS
IF STAGED COMMANDS WAITING ON ENVIRONMENT
THEN DISPATCH STAGED COMMANDS
ELSE IF NON-STAGED COMMANDS WAITING ON
- ENVIRONMENT
THEN STAGE AND DISPATCH COMMANDS
ENDIF
END PROCESS EXTERNAL EVENT
LOOP
The PDL code for reading an event file is as follows:
WHILE MATCH ON EVENT NAME OR NEXT LOGICAL EVENT
NAME;
. 2~ UNTIL INPUT BUFFER FULL
; READ EVENT FILE TO INPUT BUFFER
END UNTIL
WEND
INDEXED BY EVENT NAME
MAINTAIN BUFFER TAIL
MAINTAIN LOGIC FOR EVENT NAME OR NEXT EVENT NAME
COMPLETELY READ OR NOT
- The PDL code for parsing an event file is as follows:
~ 8S~
r WHILE INPUT BUFFER NON-EMPTY;
UNTIL COMMAND QUEUE FULL
PARSE INPUT BVFFER TO COMMAND QUEUE
END UNTIL
WEND
UP TO 20 COMMANDS, LENGTH = 20*3 = 60 BYTES
5where T is the token in hexidecimal and XX is the offset in hexidecimal) 1 TXX COMMAND tYPE = 1 BYTE
2 TXX BYTE oFFSET IN INPUT BUFFER = 2 BYTES
. ~ .
. ...
: 15 . ~--MAINTAIN OUEUE TAIL
MAINTAIN INPUT BUFFER HEAD
The PDL code for staging commands is as followso WHILE COMMAND QUEUE NON-EMPTY;
UNTIL STAGING BUFFERS FULL
CONVERT COMMAND QUEUE TO STAGED COMMANDS ~
END UNTIL
WEND
VIDEODISK STAGER
CONVERT TO PIONEER LOGIC
CONVERT TO PIONEER INVERTED FORMAT
MAINTAIN STAGER TAIL
MAINTAIN DISPATCH LOGIC
SCREEN STAGER
BLOAD TO COMPRESSED BUFFERS (2*32K) AND
DECOMPRESS TO DECOMPRESSED BUFFERS (2*32K) MAINTAIN BUFFER AVAILABLE FLAGS
- -2~
. , . 25 ; MAINTAIN DISPATCH LOGIC
LITERAL STAGER
READ INDEXED LITERAL FILE TO LITERAL BUFFER
MAINTAIN LITERAL BUFFER (5*80 BYTES) MAINTAIN DISPATCH LOGIC
TOUCHSCREEN STAGER
CONVERT TOUCHSCREEN COORDINATES
ONE-LEVEL BUFFER (UP TO 60 TOUCHAREAS) MAINTAIN DISPATCH LOGIC
1~ SPEECH STAGER
BUILD SPEECH STRING
ONE-ELEMENT BUFFER
MAINTAIN DISPATCH LOGIC
ANSWER ANALYSIS STAGER
READ INDEXED ANSWER E~ILE TO MATCH BUFFER
ONE-ELEMENT BUFFER
MAINTAIN DISPATCH LOGIC
~ BRANCH STAGER
: PLACE BRANCH POINTS IN BRANCH BUFFER
ONE-LEVEL BUFFER (UP TO 60 BRANCHEs) MAINTAIN BRANCH LOGIC
. WAITING ON ENVIRONMENT FOR LOGIC ANALYZER
MAINTAIN DISPATCH LOGIC
, The PDL code for the logic analyzer/event logger is as follows:
IF LOGGING ON, THEN LOG ENVIRONMENT
IF ENVIRONMENT TRUE;
IF EXTERNAL PROCESS WAITING ON ENVIRONMEWT
3~ THEN SAVE EXECUTION ENVIRONMENT (SNAPSHOT) EXECUTE EXTERNAL PROCESS
RESUME
IF STAGED COMMANDS WAITING ON ENVIRONMENT
~2~
THEN DISPATCH STAGED COMMANDS
LOGICAL SEQUENCE OF DISPATCH
ELSE IF BRANCH WAITING ON ENVIRONMENT
THEN READ EVENT FILE
CONVERT TO STAGED COMMANDS
DISPATCH STAGED CO~MANDS
ELSE ~IF ENVIRONMENT FALSE), IF TIME ALLOWS
CALL STAGE ROUTINE
ENDIF
ENDIF
The PDL code for the time-line controller is as follows:
SAMPLE ENVIRONMENT
DISCARD DISALLOWED SAMPLES
SET TRUE/FALSE CONDITIONS
CALL LOGIC ANALYZER/EVENT LOGGER
LOOP TO SAMPLE ENVIRONMENT
While the invention has been described in terms of a specific preferred embodiment, tho.se skilled in the art will understand that the invention can be practiced with modi-fications and variations in both software and hardware within the scope of the appended claims. For example, the preferred embodiment of the invention has been described in terms of current technology which includes video disk players. However, it will be understood that the invention is not limited to this particular technology and can support any $~7~
.. ^'' ~ ~
type of video, graphic and audio storage medium whether in digital or analog format.. Further, the source code appendicies for the composer and conductor are included by way of specific illustrative example only, and those skilled in the art will recognize that other and different code could be written to implement the claimed inve~tion.
¦ 9. RETURN TO MASTER MENU
¦ SELECT ONE [.l .
As can be seen from the menu, two profiles must be created, the author profile and the presentation profile. These profiles are used by the composer and the conductor to identify information about the author, the equipment being used and the iO7i~
i. ~
11, functions available.
A time-line is used in the authoring process.
The time-line is a type of spreadsheet which controls and synchroni~es graphic frames/ video disks, a touch screen, a voice synthesizer and other hardware connected to the system. One such spreadsheet is required for each event in the presentation. The spreadsheet is arranged in a matrix with event elements making up the rows and the time periods, the columns.
When first beginning the time-line process, the time-line will be empty as shown, for example, in Figure 1 of the drawings. As seen in the menu shown above, the author also has the ability to erase an event and test an event while in the composer program. It is useful to erase an event if the even~ has been authored incorrectly or design changes have been made. When an event is erased, its time line is cleared of all entries.
The author can use the conductor program to test an event without leaving the composer program.
This helps the author to locate any problems while still in the authoring process.
Beginning first with the author profile, this option allows the author to identify informa~ion about the author and the equipment being used.
This information is supplied by the author in a fill-in-the-blanks menu provided for that purpose.
Using a similar fill-in-the-blanks menu, the author can next create or change the presentation profile~ The presentation profile is used to identify information akout the presentation such as the maximum pause time, system color, pause key label, replay key label, continue key label~ help key label, and the like.
~ 285~
After creating the author profile, the presentation profile and the outline, the actual presentation can be authored. This corresponds to option 4 on the composer menu shown above. The presentation to be authored is indicated in the composer menu beside the "Presentation =" field.
The name shown in the example above is "Vision".
The presentation name can be changed by selecting option 1 of the composer menu and changing the "Presentation Name" field in the author profile.
Initially, the outline is displayed with the cursor positioned at the first event. Another event may be selected by moving the cursor using the up and down arrow keys on the computer keyboard. While in the authoring process, pressing function key F7 will list the event names and pressing another function key F8 will display any available help. Pressing function key F10 will end the option and return to the composer menu.
Once the cursor is correctly positioned beside the desired event, pressing function key F2 will begin the authoring process. A screen is displayed showing the outline of the selected event and an empty time-line as shown in Figure 1.
In Figure 1, the outline is shown at the top of the display, and the time-line is shown at the bottom. In the time-line, the rows are event elements and the columns are times. The cursor is positioned on the video segment row at time 0.
The cursor can be moved around the time-line using the four arrow or cursor control keys on the computer keyboard.
~;285~
..
, With specific reference to Figure 1, the time row indicates the length of time, in tenths of seconds, an event element will take to completeO
The total amount of time for an event is displayed in the last non-empty column. The time--line will automatically reflect the time it takes for a video segment to play. The user may alter the time manually using designated keys, except when playing a video segment, but initially the time row is displayed with tenth second increments.
A video segment is a set of consecutive frames on a video disk which display as a moving video picture. To specify a video segment, the starting frame number is enteredO A pop-up window is displayed at the bottom right corner of the ; screen as shown in Figure 2. As indicated by the brackets in Figure 2, the cursor is positioned at the first field in the pop-up window labeled "player" An entry is made in each-~ield and the enter key is pressed. After the enter key is pressed~ the cursor moves to the next field, and after entering a value for the last field, the pop-up window disappears and the cursor is positioned in the next time column of the video segment row. The ending frame number of the video segment must be entered in this column. Once entered, the composer program calculates the time it will take the video segment to play at a predetermined rate. The times in the time row are automatically altered, beginning with the column containing the ending frame number, to reflect the time it will take to play the video segment.
The next row in the time-line is labeled "video stills". A video still is a single frame on a video disk. All that is required to specify ,, . . . . .; . . . , . ~ .. . . .. , . . .. . ,~ ~
~l2~35~)76 a video still is to enter the frame number of a frame from the video disk. This has been done in Figure 3. No pop-up window will appear because a video still displays only video; there is no audio.
Upon pressing the enter key, the cursor is repositioned at the row labeled "graphics".
Graphics frames can be either APA (all points addressable or bit mapped) frames or NAPLPS (North American Presentation Level Protocol Syntax~
frames. The frame name of a graphic frame must be entered. Once entered, a pop-up menu is displayed at the bottom right corner of the screen as shown in Figure 4. Option 1 of the pop-up menu, fade routine, allows the author to select from several different fade and wipe ~echniques. Fades and wipes are transition routines that dictate how a graphic will replace a previous graphic on the screen. They allow for a smooth presentation by eliminating abrup~ changes on the screen. When this option is selected, a menu listing the available fade techniques is displayed at the lower right corner of the screen as shown in Figure 5. Once the fade technique has been chosen, a time value between ~0 and 9 must be entered. This value specifies how fast the fade or wipe will occur. The time value is in tenths of a second from 0 to 100. After selecting a fade or wipe routine and a time value, the graphics menu of Figure 4 is redisplayed to allow another selection.
Option 2 of the graphics pop-up menu of Figure 4, transparent colors, allows the author to specify which color or colors are to be transparent. A video segment or video still can , ,,~. .. .. ~i ~85~:)76 be displayed behind a graphic frame on the display screen. The video shows through the graphic in the areas in which color has been made transparent.
Option 3 of the graphics pop-up menu of Figure 4, move window, allows the author to move the window to a precise position. A pop~up menu is displayed which prompts the author for an upper left row and column and a lower right row and column as shown in Figure 6. Upon entering the values for the rows and columns, the pop-up menu for the move window is removed uncovering the graphics pop-up menu which it overlayed.
Option 4 of the graphics pop-up menu of Figure 4 r examine screen, allows the author to see what the graphic specified in the time-line currently looks like. The graphic is displayed with grid numbers superimposed across the top and down the left side. These numbers are helpful in deciding where to position literals and touch areas on the screen. ~fter examining the graphic, the function key F10 may be pressed to keep the graphic and return to the pop-up graphics menu~
If the graphic is not correct, the func~ion key F3 may be pressed to cancel the current processing and return to the time-line. Option 5, return to time-line, causes the pop-up graphics menu to disappear and the cursor to be positioned on the next row labeled l'literals".
Literals allow the author to display messages on the screen. A literal label is required and may either be created by the author or by pressing function key F4. The labels created by pressing F4 are in the sequence LT1, LT2, etc. After entering a label, a pop-up menu is displayed at ' ~ ~28S076 the lower right corner of the screen as shown in Figure 7. The author is prompted for the screen width and the row and column where the literal should be positioned. A graphics screen is then displayed and the author is prompted to enter the literal. Once the literal is entered, it can be moved around the screen using the arrow or cursor control keys on the keyboard. The color o~ the literal can be changed using the function keys Fl ' lO and F2. When a literal color has been selected, ; it is accepted by pressing function key F9. The background co~or can be changed by pressing function key F4. When a background color has been selected, it is accepted by pressing function key Fl0. The literal processing may be canceled by pressing function key F3. In either case, the time-line is then redisplayed.
The next row on the time-line is labeled "touch". A touch area is an area on,the screen that has been activated to respond to touch. The author has complete flexibility in the size, location and number of touch areas. However, the touch area must always be a rectangle~ In the implemented system, sixty touch areas are '' Z5 supported, ten of which are reserved for system use. A touch label is required and can either be created by the author or by pressing function key F4. F4 generates labels in the sequence TCl, TC2, etc. After entering a label, the author is prompted for the number of touch areas as shown in Figure 8. A graphics screen is then displayed with a blinking cursor. The cursor must be positioned at a point corresponding to the upper left corner of ~he touch area. This is done using the arrow or cursor control keys on the keyboard.
~ ~5(37~ ~
When the cursor is in the correct position~ the enter key is pressed. The author can then enlarge and shrink the area with the cursor control keys.
The down and right arrows enlarge the area and the up and left keys shrink the area. When the touch area is positioned appropriately, the enter key is pressed and a touch area is automatically assigned to the area. The remaining touch areas, if any, are created in ~he same way. When the specified number of touch areas have been creaked, function key Fl0 is pressed to indicate approval of all the defined touch areas. The author is prompted for various kinds of visual or auditory feedback associated with each active area. The author is lS then prompted for a branch event for each touch area. When all branch events have been entered, the author has the option of saving this touch area format to be used with other graphics, and then the time-line is redisplayed. ~
The next row on the time-line in Figure l is labeled "line 25". Line 25 allows the author to specify what user control options are to be displayed at the bottom of the screen; e.g., pause and replay. These options are touch areas that give the end user control oyer the presentation of information. A line 25 label is required and may either be created by the author or by pressing function key F4. F4 generates labels in the sequence BRl, BR2, etc. Once a label is entered, a selection menu is displayed at the lower right corner of the screen as shown in Figure 9. The brackets in the pop-up menu indicate the location of the cursor. It will be noted that a "Y" has been entered in the pause field. This gi~es the user the ability to pause the video. When this ~ 285~7~ ~
option is chosen by the author, a second pop-up menu is displayed as shown in Figure 10~ This pop-up menu lists additional user control options.
For example, the resume option gives the user the ability to resume the video after a pause.
After the detail screen name is entered in the pop-up menu shown in Figure 10, the menu disappears and the cursor is repositioned on the row of the time-line labeled sound~ Sound allows the au~hor to specify words and phrases for the voice synthesizer. A sound label is required and may be created by the author or by pressing function key F4. The labels generated by the F4 key are in the sequence SPl, SP2, etc. A pop-up menu is displayed which prompts the author for the word or words to be spoken. This pop-up menu is shown in Figure llo The author is given the option of reviewing the wora list before entering a word or words in this menu. If the author chooses to review the word list, the author is first prompted to enter a starting letter. The word list, beginning with this letter, is displayed to the right side of the pop-up menu as shown in Figure ~2 which shows words from the-list beginning with the letter "d". The list can be scrolled using the arrow or cursor control keys on the keyboard. A word is selected by positioning the cursor on the word and pressing the enter key.
The word then appears in the "Enter Words to Speak" field of the pop-up menu. If the author decides not to review the word list, the cursor is positioned in the "Enter Words to Speak" field, and the words can be entered through the keyboard.
If a word is entered which is not in the word list, the message "word no~ found" is displayed.
85~76 If the word or phrase is valid, the menu disappears, and the cursor is repositioned on the row labeled keyboard input in the time-line.
Keyboard input allows the author to specify variables and valid user input for these variables. The author is prompted for a variable to be used to match words. It must begin with a "$" if its value is to be alphanumeric or a "%" if its value is to be numeric. A label is required to identify the match word or phrase. The label can be created by the author or by pressing function key F4. The labels generated by the F4 key are in the sequence ANl, AN2, etcO The author is then prompted for the match words or phrases and the appropriate branch event in the case of a match. The pop-up menu for this is shown in Figure 13. Up to five ma~ch words or phrases and branch events are allowed. Pressing the enter key moves the cursor through the fields. The author may also specify an event to branch to if a match was not found. After entering the branch event for the else condition, the pop-up menu disappears/ and the cursor is repositioned on the row labeled indicators in the time-line.
An indicator is a switch that can be set on or off by the author. The indicator can be tested for an on or off position and branching can occur based on the switch settings. There are sixteen switches available to the author. A label is required which can be created by the user or by pressing function key F4. The labels generated by the F4 key are in the sequence SWl, SW2, etc.
After entering a label, a pop-up menu is displayed at the lower right corner of the screen as shown in Figure 14. The set line in the menu allows the . , , ,., , ,, .... ~
35~)7~i C
author to set a swi~ch on or off. To set the switch on! the author replaces the corresponding "X" with a "Y". To set the switch off, the author replaces the corresponding "X" with a "N". The test line in the menu allows the author to test one or more switches. Each switch can be tested for either an on or off position. For each switch to be tested, the corresponding "X" is replaced with a "Y" or "N". The operator line of the menu specifies what operation is to be performed on the switch settings. The value line is to indicate how many of the switches are tested correctly.
Branching to another event is based on the result of the operator and value. The author specifies the event to be performed based on a positive result or a negative result.
The miscellaneous row of the time-line provides other authoring functions which are not defined within any of the other rows. The 2~ functions available on this line are logging and video disk loading and unloading. The ~uthor can specify that each item of an event be recorded into a log file. The author specifies when logging of the event is to start and stop using the log and nolog control words in the miscellaneous line. When log appears in the miscellaneous line, all information about the event is logged until either the end of the event is reached/ a branch to another event occurs, or a nolog appears in the miscellaneous line.
The miscellaneous line also allows for the loading and unloading of the video disk player.
To unload the video disk, the author types the word "unload" in the miscellaneous line. A pop-up menu then appears prompting for the player number 3,507~
and user load prompt as shown in Figure 15, The author specifies which player is to be loaded;
i.e.~ player 1 or player 2. The user prompt field indicates whether the user will be prompted with a standard load screen. If a "Y" is entered, a screen will be displayed showing the user how to load the video disk player. The user must touch the screen before the video disk is actually loaded. If an "N" is entered, the video disk will be loaded without prompting the user. After entering a response to the user prompt field, the ; pop-up menu disappears and the cursor returns to ~; the time~lineO
The process just described is repeated for each event in the presentation; however, it will be understood of course that not every event element will be filled in and, in some cases, only a single event element will be filled in for a given event in the presentation. The author ~ 20 typically proceeds through the outline filling in ; each event time-line until the presentation has been completely composed.
As mentioned, the conductor is the runtime facility for the composer application. What this means is that the once a presenta,tion has been authored, only the conductor is required to run the presentationO In other words, only the author requires both the composer and the conductor applications. The end users need to have only the conductor application in their computer terminal or stand alone computer. The conductor takes the information authored with the time-lines during the authoring process and performs the media mixing indicated by each time-line. The conductor uses the vision head as the interface device for ~ 2~3S~376 input/output to the en~ u~er.
Referring now to Figure 16, there is shown the overall block diagram of the structure of the conductor program. The heart of the program is the time-line controller which interfaces with the device environment sample~ and a logic analyzer.
The logic analyzer interfaces with a read event file module, an event file parser, a command stager, and a staged command dispatcher.
Processing is carried out in ~hese modules while waiting for an external event, such as a user responseV to occur. The following program written in Program Design Language IPDL) describes this processingO
WHILE WAITING ON EXTERNAL EVENT;
DO ONE OF THE FOLLOWING IN PRIORITY ORDER
SEQUENCE
1 WHILE COMMAND QUEUE NON-EMPTY; ;~-UNTIL STAGING BUFFERS FULL
CONVERT COMMAND QUEUE TO STAGED COMMANDS
END UNTIL
WEND
2 WHILE INPUT BUFFER NON-EMPTY;
UNTIL COMMAND QUEUE FULL
PARSE INPUT BUFFER TO COMMAND QUEUE
END UNTIL
WEND
EVENT NAME;
UNTIL INPUT BUFFER FULL
READ EVENT FILE TO INPUT BUFFER
END UNTIL
WEND
ENDDO
c :IL;2~S~)7~ ~
. 23 WEND
PROCESS ENVIRONMENT
IF LOGGING ON, THEN LOG ENVIRONMENT
LOG FI~E NAME = ddmmyyhh.mm IF SYSTEM FUNCTIONS WAITING ON ENVIRONMENT
THEN EXECUTE SYSTEM FUNCTIONS
IF STAGED COMMANDS WAITING ON ENVIRONMENT
THEN DISPATCH STAGED COMMANDS
ELSE IF NON-STAGED COMMANDS WAITING ON
- ENVIRONMENT
THEN STAGE AND DISPATCH COMMANDS
ENDIF
END PROCESS EXTERNAL EVENT
LOOP
The PDL code for reading an event file is as follows:
WHILE MATCH ON EVENT NAME OR NEXT LOGICAL EVENT
NAME;
. 2~ UNTIL INPUT BUFFER FULL
; READ EVENT FILE TO INPUT BUFFER
END UNTIL
WEND
INDEXED BY EVENT NAME
MAINTAIN BUFFER TAIL
MAINTAIN LOGIC FOR EVENT NAME OR NEXT EVENT NAME
COMPLETELY READ OR NOT
- The PDL code for parsing an event file is as follows:
~ 8S~
r WHILE INPUT BUFFER NON-EMPTY;
UNTIL COMMAND QUEUE FULL
PARSE INPUT BVFFER TO COMMAND QUEUE
END UNTIL
WEND
UP TO 20 COMMANDS, LENGTH = 20*3 = 60 BYTES
5where T is the token in hexidecimal and XX is the offset in hexidecimal) 1 TXX COMMAND tYPE = 1 BYTE
2 TXX BYTE oFFSET IN INPUT BUFFER = 2 BYTES
. ~ .
. ...
: 15 . ~--MAINTAIN OUEUE TAIL
MAINTAIN INPUT BUFFER HEAD
The PDL code for staging commands is as followso WHILE COMMAND QUEUE NON-EMPTY;
UNTIL STAGING BUFFERS FULL
CONVERT COMMAND QUEUE TO STAGED COMMANDS ~
END UNTIL
WEND
VIDEODISK STAGER
CONVERT TO PIONEER LOGIC
CONVERT TO PIONEER INVERTED FORMAT
MAINTAIN STAGER TAIL
MAINTAIN DISPATCH LOGIC
SCREEN STAGER
BLOAD TO COMPRESSED BUFFERS (2*32K) AND
DECOMPRESS TO DECOMPRESSED BUFFERS (2*32K) MAINTAIN BUFFER AVAILABLE FLAGS
- -2~
. , . 25 ; MAINTAIN DISPATCH LOGIC
LITERAL STAGER
READ INDEXED LITERAL FILE TO LITERAL BUFFER
MAINTAIN LITERAL BUFFER (5*80 BYTES) MAINTAIN DISPATCH LOGIC
TOUCHSCREEN STAGER
CONVERT TOUCHSCREEN COORDINATES
ONE-LEVEL BUFFER (UP TO 60 TOUCHAREAS) MAINTAIN DISPATCH LOGIC
1~ SPEECH STAGER
BUILD SPEECH STRING
ONE-ELEMENT BUFFER
MAINTAIN DISPATCH LOGIC
ANSWER ANALYSIS STAGER
READ INDEXED ANSWER E~ILE TO MATCH BUFFER
ONE-ELEMENT BUFFER
MAINTAIN DISPATCH LOGIC
~ BRANCH STAGER
: PLACE BRANCH POINTS IN BRANCH BUFFER
ONE-LEVEL BUFFER (UP TO 60 BRANCHEs) MAINTAIN BRANCH LOGIC
. WAITING ON ENVIRONMENT FOR LOGIC ANALYZER
MAINTAIN DISPATCH LOGIC
, The PDL code for the logic analyzer/event logger is as follows:
IF LOGGING ON, THEN LOG ENVIRONMENT
IF ENVIRONMENT TRUE;
IF EXTERNAL PROCESS WAITING ON ENVIRONMEWT
3~ THEN SAVE EXECUTION ENVIRONMENT (SNAPSHOT) EXECUTE EXTERNAL PROCESS
RESUME
IF STAGED COMMANDS WAITING ON ENVIRONMENT
~2~
THEN DISPATCH STAGED COMMANDS
LOGICAL SEQUENCE OF DISPATCH
ELSE IF BRANCH WAITING ON ENVIRONMENT
THEN READ EVENT FILE
CONVERT TO STAGED COMMANDS
DISPATCH STAGED CO~MANDS
ELSE ~IF ENVIRONMENT FALSE), IF TIME ALLOWS
CALL STAGE ROUTINE
ENDIF
ENDIF
The PDL code for the time-line controller is as follows:
SAMPLE ENVIRONMENT
DISCARD DISALLOWED SAMPLES
SET TRUE/FALSE CONDITIONS
CALL LOGIC ANALYZER/EVENT LOGGER
LOOP TO SAMPLE ENVIRONMENT
While the invention has been described in terms of a specific preferred embodiment, tho.se skilled in the art will understand that the invention can be practiced with modi-fications and variations in both software and hardware within the scope of the appended claims. For example, the preferred embodiment of the invention has been described in terms of current technology which includes video disk players. However, it will be understood that the invention is not limited to this particular technology and can support any $~7~
.. ^'' ~ ~
type of video, graphic and audio storage medium whether in digital or analog format.. Further, the source code appendicies for the composer and conductor are included by way of specific illustrative example only, and those skilled in the art will recognize that other and different code could be written to implement the claimed inve~tion.
Claims (14)
1. An interactive software multi-media presentation composing method for a computer system, said computer system comprising a display monitor and an operator input device, said computer system controlling a plurality of input and output multi-media devices, said software method assisting an operator of the computer system in developing an interactive multi-media presentation for use by a user, said interactive multi-media presentation comprising a plurality of events executed by the computer system and the input and output multi-media devices under the control of said computer system and in response to inputs by said user, said software method comprising the steps of:
providing to the operator on the display monitor for each event in a presentation list of events a set or event elements which may take place during the event and a set of time periods for the event elements, each event element in the list corresponding to an input or output multi-media device controlled by said computer;
said set of event elements and said set of time elements defining a matrix whereby each cell of the matrix represents the operation of one of said multi-media devices during one time period of a plurality of time periods of an event;
prompting the operator to select one or more event elements from the list and to specify a time period for each event element selected;
prompting the operator, for each event, to specify a next event, said next event including a branch event dependent on a user input during said interactive presentation; and generating and storing a representation of each event and the sequence in which events are to be executed by the computer system and the devices under its control, all in response to signals from the operator input device.
providing to the operator on the display monitor for each event in a presentation list of events a set or event elements which may take place during the event and a set of time periods for the event elements, each event element in the list corresponding to an input or output multi-media device controlled by said computer;
said set of event elements and said set of time elements defining a matrix whereby each cell of the matrix represents the operation of one of said multi-media devices during one time period of a plurality of time periods of an event;
prompting the operator to select one or more event elements from the list and to specify a time period for each event element selected;
prompting the operator, for each event, to specify a next event, said next event including a branch event dependent on a user input during said interactive presentation; and generating and storing a representation of each event and the sequence in which events are to be executed by the computer system and the devices under its control, all in response to signals from the operator input device.
2. The software method recited in claim 1 wherein the operator input device is a keyboard and further comprising the step of prompting the operator to specify a word or phrase for comparing with a keyed variable input from said keyboard.
3. The software method recited in claim 1 wherein the operator input device is a touch screen, further comprising the steps of:
prompting the operator to define the size and location of active areas on the touch screen; and prompting the operator to specify a branch event in the presentation for each defined active area.
prompting the operator to define the size and location of active areas on the touch screen; and prompting the operator to specify a branch event in the presentation for each defined active area.
4. The software method recited in claim 3 further including the step of prompting the operator to specify for each defined active area various kinds of visual or auditory feedback to a user of the multi-media presentation.
5. The software method recited in claim 1 wherein the output devices include a video disk player for reading a video disk that stores information to be presented, further comprising the step of prompting the operator to specify an address on the video disk when an event element corresponding to the video disk player is selected by the operator as an event element.
6. The software method recited in claim 1 including the step of displaying to the operator on the display monitor options selectable by the operator of authoring an event, erasing an event, or testing an event.
7. The software method recited in claim 6 wherein the option of authoring an event includes the option of editing an event previously authored, said method com?
prising the step of accepting an operator input editing an event by inserting or removing columns in the matrix.
prising the step of accepting an operator input editing an event by inserting or removing columns in the matrix.
8. The software method recited in claim 6 wherein the operation of authoring an event includes ?9-85-009 the option of editing an event previously authored and a row of the matrix is a time row specifying the time periods of the event elements, said method comprising the step of accepting an operator input to directly edit the time row.
9. The software method recited in claim 6 wherein, when the operator selects the option to test an event, said method comprises the step of running an authored event.
10. A interactive software multi-media composing and presentation method for a computer system, said computer system comprising a display monitor and an operator input device, said computer system controlling a plurality of input and output multi-media devices, said software method assisting an operator in composing a multi-media presentation comprising a plurality of events and presenting to a user a composed interactive presentation using said computer system, said method comprising the steps of:
displaying on the monitor to the operator who composes the multi-media presentation a time-line for each event in the presentation, said time-line being in the form of a matrix formed by said event elements and time periods for operation of said event elements, each event element corresponding to an input or output multi-media device controlled by the computer;
prompting the operator to select one or more event elements and to specify the time period of operation for each event element selected by entering selections in corresponding cells of the matrix;
prompting the operator, for each event, to specify a next event, said next event including a branch event dependent on a user input during said presentation;
generating and storing a representation of each event and the sequence in which events are to be executed in response to signals from an input device; and interactively executing the composed multi-media presentation in response to user inputs by retrieving and reading the stored representations of the events of the presentation according to a sequence in which they are to be executed and activating the input and output multi-media devices as specified in the time-lines for each event.
displaying on the monitor to the operator who composes the multi-media presentation a time-line for each event in the presentation, said time-line being in the form of a matrix formed by said event elements and time periods for operation of said event elements, each event element corresponding to an input or output multi-media device controlled by the computer;
prompting the operator to select one or more event elements and to specify the time period of operation for each event element selected by entering selections in corresponding cells of the matrix;
prompting the operator, for each event, to specify a next event, said next event including a branch event dependent on a user input during said presentation;
generating and storing a representation of each event and the sequence in which events are to be executed in response to signals from an input device; and interactively executing the composed multi-media presentation in response to user inputs by retrieving and reading the stored representations of the events of the presentation according to a sequence in which they are to be executed and activating the input and output multi-media devices as specified in the time-lines for each event.
11. The software method recited in claim 10 wherein the step of executing comprises the steps of:
logically analyzing the time-line for the current event and any operator inputs to determine the next event to he read;
reading the next event; and then performing said step of activating said input and output devices controlled by said computer for the next event.
logically analyzing the time-line for the current event and any operator inputs to determine the next event to he read;
reading the next event; and then performing said step of activating said input and output devices controlled by said computer for the next event.
12. The method recited in claim 11 wherein said step of activating comprises the steps of:
controlling said input and output multi-media devices so that every event element having a selection in cells corresponding a common time period of the matrix appear to occur simultaneously; and controlling said input and output multi-media devices so that event elements having selections in cells corresponding to different time periods of the matrix appear to occur at different times.
controlling said input and output multi-media devices so that every event element having a selection in cells corresponding a common time period of the matrix appear to occur simultaneously; and controlling said input and output multi-media devices so that event elements having selections in cells corresponding to different time periods of the matrix appear to occur at different times.
13. An interactive software multi-media presentation method for presenting on a computer an interactive multi-media presentation composed by filling in a time-lime for each event of a plurality of events making up the presentation, said time-line being in the form of a matrix defined by event elements and time periods for operating of said event elements, said event elements corresponding to input or output multi-media devices which are controlled by said computer, each of said events identifying a next event in the presentation, said method comprising the steps of:
logically analyzing by said computer the time-line corresponding to a current event and any user inputs to determine a next event to be read, said next event including a branch event when specified;
retrieving and reading by said computer the next event; and activating by said computer those input and output multi-media devices corresponding to the current event as specified by the time-line of said next event; and repeating said steps until said presentation is completed.
logically analyzing by said computer the time-line corresponding to a current event and any user inputs to determine a next event to be read, said next event including a branch event when specified;
retrieving and reading by said computer the next event; and activating by said computer those input and output multi-media devices corresponding to the current event as specified by the time-line of said next event; and repeating said steps until said presentation is completed.
14. The method recited in claim 13 wherein said step of activating comprises the steps of:
controlling said input and output multi-media devices so that every event element having entries in cells corresponding a common time period of said matrix appear to occur simultaneously; and controlling said input and output multi-media devices so that event elements having entries in cells corresponding to different time periods of said matrix appear to occur at different times.
controlling said input and output multi-media devices so that every event element having entries in cells corresponding a common time period of said matrix appear to occur simultaneously; and controlling said input and output multi-media devices so that event elements having entries in cells corresponding to different time periods of said matrix appear to occur at different times.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US06/848,171 US4893256A (en) | 1986-04-04 | 1986-04-04 | Interactive video composition and presentation systems |
US848,171 | 1986-04-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA1285076C true CA1285076C (en) | 1991-06-18 |
Family
ID=25302549
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA000532446A Expired - Fee Related CA1285076C (en) | 1986-04-04 | 1987-03-19 | Interactive video composition and presentation systems |
Country Status (5)
Country | Link |
---|---|
US (1) | US4893256A (en) |
EP (1) | EP0239884B1 (en) |
JP (1) | JPH0654469B2 (en) |
CA (1) | CA1285076C (en) |
DE (1) | DE3787553T2 (en) |
Families Citing this family (139)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2633424A1 (en) * | 1988-06-24 | 1989-12-29 | Verin Georges | METHOD AND DEVICE FOR PRODUCING INTERACTIVE SCENARIOS USING AUDIOVISUAL INFORMATION AND MATERIAL FOR IMPLEMENTING THE PROCESS |
AU635176B2 (en) * | 1989-01-11 | 1993-03-11 | David Bohrman | Interactive video control system |
CA1326563C (en) * | 1989-03-15 | 1994-01-25 | Anthony Hoeber | Method and apparatus for selecting and executing defaults in a window based display system |
US5243697A (en) * | 1989-03-15 | 1993-09-07 | Sun Microsystems, Inc. | Method and apparatus for selecting button functions and retaining selected options on a display |
US5276795A (en) * | 1989-03-15 | 1994-01-04 | Sun Microsystems, Inc. | Method and apparatus for selecting and executing defaults in a window based display system |
US5230063A (en) * | 1989-03-15 | 1993-07-20 | Sun Microsystems, Inc. | Method and apparatus for selecting button function and retaining selected optics on a display |
US5119474A (en) * | 1989-06-16 | 1992-06-02 | International Business Machines Corp. | Computer-based, audio/visual creation and presentation system and method |
US5274758A (en) * | 1989-06-16 | 1993-12-28 | International Business Machines | Computer-based, audio/visual creation and presentation system and method |
CA2015215C (en) * | 1989-06-16 | 1994-01-11 | Bradley James Beitel | Computer-based, audio/visual creation and presentation system and method |
CA2016402A1 (en) * | 1989-06-19 | 1990-12-19 | Bradley J. Beitel | Audio editor highlighted display |
US5325478A (en) * | 1989-09-15 | 1994-06-28 | Emtek Health Care Systems, Inc. | Method for displaying information from an information based computer system |
US5247611A (en) * | 1989-09-15 | 1993-09-21 | Emtek Health Care Systems, Inc. | Spreadsheet cell having multiple data fields |
JPH0650460B2 (en) * | 1989-10-17 | 1994-06-29 | アプライド バイオシステムズ インコーポレイテッド | Robot interface |
US7373587B1 (en) * | 1990-06-25 | 2008-05-13 | Barstow David R | Representing sub-events with physical exertion actions |
US5297249A (en) * | 1990-10-31 | 1994-03-22 | International Business Machines Corporation | Hypermedia link marker abstract and search services |
US5204947A (en) * | 1990-10-31 | 1993-04-20 | International Business Machines Corporation | Application independent (open) hypermedia enablement services |
US5148154A (en) * | 1990-12-04 | 1992-09-15 | Sony Corporation Of America | Multi-dimensional user interface |
US5574843A (en) * | 1991-04-26 | 1996-11-12 | Escom Ag | Methods and apparatus providing for a presentation system for multimedia applications |
US5317732A (en) * | 1991-04-26 | 1994-05-31 | Commodore Electronics Limited | System for relocating a multimedia presentation on a different platform by extracting a resource map in order to remap and relocate resources |
US6484189B1 (en) | 1991-04-26 | 2002-11-19 | Amiga Development Llc | Methods and apparatus for a multimedia authoring and presentation system |
US5367621A (en) * | 1991-09-06 | 1994-11-22 | International Business Machines Corporation | Data processing method to provide a generalized link from a reference point in an on-line book to an arbitrary multimedia object which can be dynamically updated |
CA2078714A1 (en) * | 1991-12-20 | 1993-06-21 | Robert A. Pascoe | Automated audio/visual presentation |
JP2892901B2 (en) * | 1992-04-27 | 1999-05-17 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Automation system and method for presentation acquisition, management and playback |
US8821276B2 (en) | 1992-05-22 | 2014-09-02 | Bassilic Technologies Llc | Image integration, mapping and linking system and methodology |
US5553864A (en) | 1992-05-22 | 1996-09-10 | Sitrick; David H. | User image integration into audiovisual presentation system and methodology |
US5539869A (en) * | 1992-09-28 | 1996-07-23 | Ford Motor Company | Method and system for processing and presenting on-line, multimedia information in a tree structure |
US5420801A (en) * | 1992-11-13 | 1995-05-30 | International Business Machines Corporation | System and method for synchronization of multimedia streams |
DE69315969T2 (en) * | 1992-12-15 | 1998-07-30 | Sun Microsystems Inc | Presentation of information in a display system with transparent windows |
US5526480A (en) * | 1992-12-28 | 1996-06-11 | International Business Machines Corporation | Time domain scroll bar for multimedia presentations in a data processing system |
US5455910A (en) * | 1993-01-06 | 1995-10-03 | International Business Machines Corporation | Method and system for creating a synchronized presentation from different types of media presentations |
US5659792A (en) * | 1993-01-15 | 1997-08-19 | Canon Information Systems Research Australia Pty Ltd. | Storyboard system for the simultaneous timing of multiple independent video animation clips |
EP0609030B1 (en) * | 1993-01-26 | 1999-06-09 | Sun Microsystems, Inc. | Method and apparatus for browsing information in a computer database |
US5469540A (en) * | 1993-01-27 | 1995-11-21 | Apple Computer, Inc. | Method and apparatus for generating and displaying multiple simultaneously-active windows |
US5859638A (en) * | 1993-01-27 | 1999-01-12 | Apple Computer, Inc. | Method and apparatus for displaying and scrolling data in a window-based graphic user interface |
US5488685A (en) * | 1993-01-27 | 1996-01-30 | Apple Computer, Inc. | Method and apparatus for providing visual cues in a graphic user interface |
US5550967A (en) * | 1993-01-27 | 1996-08-27 | Apple Computer, Inc. | Method and apparatus for generating and displaying visual cues on a graphic user interface |
US5385475A (en) * | 1993-04-01 | 1995-01-31 | Rauland-Borg | Apparatus and method for generating and presenting an audio visual lesson plan |
US5339393A (en) * | 1993-04-15 | 1994-08-16 | Sony Electronics, Inc. | Graphical user interface for displaying available source material for editing |
US5758180A (en) * | 1993-04-15 | 1998-05-26 | Sony Corporation | Block resizing function for multi-media editing which moves other blocks in response to the resize only as necessary |
US5680639A (en) * | 1993-05-10 | 1997-10-21 | Object Technology Licensing Corp. | Multimedia control system |
US5596696A (en) * | 1993-05-10 | 1997-01-21 | Object Technology Licensing Corp. | Method and apparatus for synchronizing graphical presentations |
WO1994027233A1 (en) * | 1993-05-10 | 1994-11-24 | Taligent, Inc. | Audio synchronization system |
WO1994027234A1 (en) * | 1993-05-10 | 1994-11-24 | Taligent, Inc. | Multimedia synchronization system |
US5530859A (en) * | 1993-05-10 | 1996-06-25 | Taligent, Inc. | System for synchronizing a midi presentation with presentations generated by other multimedia streams by means of clock objects |
EP0626635B1 (en) | 1993-05-24 | 2003-03-05 | Sun Microsystems, Inc. | Improved graphical user interface with method for interfacing to remote devices |
US6239794B1 (en) | 1994-08-31 | 2001-05-29 | E Guide, Inc. | Method and system for simultaneously displaying a television program and information about the program |
US5594509A (en) * | 1993-06-22 | 1997-01-14 | Apple Computer, Inc. | Method and apparatus for audio-visual interface for the display of multiple levels of information on a display |
US5583560A (en) * | 1993-06-22 | 1996-12-10 | Apple Computer, Inc. | Method and apparatus for audio-visual interface for the selective display of listing information on a display |
US5621456A (en) * | 1993-06-22 | 1997-04-15 | Apple Computer, Inc. | Methods and apparatus for audio-visual interface for the display of multiple program categories |
JPH0756754A (en) * | 1993-08-03 | 1995-03-03 | Internatl Business Mach Corp <Ibm> | Apparatus and method for allocation of multimedia group resource |
JP3303543B2 (en) * | 1993-09-27 | 2002-07-22 | インターナショナル・ビジネス・マシーンズ・コーポレーション | How to organize and play multimedia segments, and how to organize and play two or more multimedia stories as hyperstory |
US5515490A (en) * | 1993-11-05 | 1996-05-07 | Xerox Corporation | Method and system for temporally formatting data presentation in time-dependent documents |
US5572649A (en) * | 1993-11-12 | 1996-11-05 | Intel Corporation | Process for dynamically switching between a single top level window and multiple top level windows |
US5544300A (en) * | 1993-11-12 | 1996-08-06 | Intel Corporation | User interface for dynamically converting between a single top level window and multiple top level windows |
US5799325A (en) * | 1993-11-19 | 1998-08-25 | Smartpatents, Inc. | System, method, and computer program product for generating equivalent text files |
US5696963A (en) * | 1993-11-19 | 1997-12-09 | Waverley Holdings, Inc. | System, method and computer program product for searching through an individual document and a group of documents |
US6963920B1 (en) | 1993-11-19 | 2005-11-08 | Rose Blush Software Llc | Intellectual asset protocol for defining data exchange rules and formats for universal intellectual asset documents, and systems, methods, and computer program products related to same |
US6877137B1 (en) | 1998-04-09 | 2005-04-05 | Rose Blush Software Llc | System, method and computer program product for mediating notes and note sub-notes linked or otherwise associated with stored or networked web pages |
US5623681A (en) * | 1993-11-19 | 1997-04-22 | Waverley Holdings, Inc. | Method and apparatus for synchronizing, displaying and manipulating text and image documents |
US5806079A (en) | 1993-11-19 | 1998-09-08 | Smartpatents, Inc. | System, method, and computer program product for using intelligent notes to organize, link, and manipulate disparate data objects |
US5991751A (en) * | 1997-06-02 | 1999-11-23 | Smartpatents, Inc. | System, method, and computer program product for patent-centric and group-oriented data processing |
US6339767B1 (en) * | 1997-06-02 | 2002-01-15 | Aurigin Systems, Inc. | Using hyperbolic trees to visualize data generated by patent-centric and group-oriented data processing |
US5623679A (en) * | 1993-11-19 | 1997-04-22 | Waverley Holdings, Inc. | System and method for creating and manipulating notes each containing multiple sub-notes, and linking the sub-notes to portions of data objects |
US5414644A (en) * | 1993-11-24 | 1995-05-09 | Ethnographics, Inc. | Repetitive event analysis system |
US5590207A (en) * | 1993-12-14 | 1996-12-31 | Taylor Group Of Companies, Inc. | Sound reproducing array processor system |
US5517570A (en) * | 1993-12-14 | 1996-05-14 | Taylor Group Of Companies, Inc. | Sound reproducing array processor system |
US5745584A (en) * | 1993-12-14 | 1998-04-28 | Taylor Group Of Companies, Inc. | Sound bubble structures for sound reproducing arrays |
US5583980A (en) * | 1993-12-22 | 1996-12-10 | Knowledge Media Inc. | Time-synchronized annotation method |
CA2138301C (en) * | 1994-01-21 | 1998-12-15 | Hal Hjalmar Ottesen | Apparatus and method for providing multimedia data |
US5619636A (en) * | 1994-02-17 | 1997-04-08 | Autodesk, Inc. | Multimedia publishing system |
WO1995025313A1 (en) * | 1994-03-16 | 1995-09-21 | International Business Machines Corporation | Method and apparatus for synchronization and scheduling of multiple data streams and real time tasks |
US5493642A (en) * | 1994-04-26 | 1996-02-20 | Jocatek, Inc. | Graphically constructed control and scheduling system |
US8793738B2 (en) | 1994-05-04 | 2014-07-29 | Starsight Telecast Incorporated | Television system with downloadable features |
US5699130A (en) * | 1994-05-17 | 1997-12-16 | Taylor Group Of Companies, Inc. | Digital video and audio systems using nano-mechanical structures |
AU695912B2 (en) | 1994-06-07 | 1998-08-27 | Skillsoft Ireland Limited | A computer based training system |
US5619733A (en) * | 1994-11-10 | 1997-04-08 | International Business Machines Corporation | Method and apparatus for synchronizing streaming and non-streaming multimedia devices by controlling the play speed of the non-streaming device in response to a synchronization signal |
JPH08292964A (en) * | 1995-01-26 | 1996-11-05 | Ncr Internatl Inc | Information retrieval system capable of being previewed quickly according to request |
US5642497A (en) * | 1995-01-30 | 1997-06-24 | Tektronix, Inc. | Digital disk recorder using a port clock having parallel tracks along a timeline with each track representing an independently accessible media stream |
US5838938A (en) | 1995-02-15 | 1998-11-17 | Sony Electronics, Inc. | Multimedia user interface employing components of color to indicate the values of variables |
US6769128B1 (en) | 1995-06-07 | 2004-07-27 | United Video Properties, Inc. | Electronic television program guide schedule system and method with data feed access |
EP0758115B1 (en) * | 1995-07-11 | 2002-10-16 | Matsushita Electric Industrial Co., Ltd. | Scenario editor for multimedia data and scenario reproducing apparatus |
US6732369B1 (en) | 1995-10-02 | 2004-05-04 | Starsight Telecast, Inc. | Systems and methods for contextually linking television program information |
US6323911B1 (en) | 1995-10-02 | 2001-11-27 | Starsight Telecast, Inc. | System and method for using television schedule information |
US8850477B2 (en) | 1995-10-02 | 2014-09-30 | Starsight Telecast, Inc. | Systems and methods for linking television viewers with advertisers and broadcasters |
US6067525A (en) * | 1995-10-30 | 2000-05-23 | Clear With Computers | Integrated computerized sales force automation system |
JP2000512039A (en) | 1996-03-15 | 2000-09-12 | ザパ デジタル アーツ リミテッド | Programmable computer graphic objects |
US6469753B1 (en) | 1996-05-03 | 2002-10-22 | Starsight Telecast, Inc. | Information system |
US6687906B1 (en) | 1996-12-19 | 2004-02-03 | Index Systems, Inc. | EPG with advertising inserts |
US8635649B2 (en) | 1996-12-19 | 2014-01-21 | Gemstar Development Corporation | System and method for modifying advertisement responsive to EPG information |
BRPI9812104B1 (en) | 1997-07-21 | 2016-12-27 | Guide E Inc | method for navigating an interactive program guide |
US6604240B2 (en) | 1997-10-06 | 2003-08-05 | United Video Properties, Inc. | Interactive television program guide system with operator showcase |
US7185355B1 (en) | 1998-03-04 | 2007-02-27 | United Video Properties, Inc. | Program guide system with preference profiles |
US6564379B1 (en) | 1998-04-30 | 2003-05-13 | United Video Properties, Inc. | Program guide system with flip and browse advertisements |
US20020095676A1 (en) | 1998-05-15 | 2002-07-18 | Robert A. Knee | Interactive television program guide system for determining user values for demographic categories |
US6442755B1 (en) | 1998-07-07 | 2002-08-27 | United Video Properties, Inc. | Electronic program guide using markup language |
CN1867068A (en) | 1998-07-14 | 2006-11-22 | 联合视频制品公司 | Client-server based interactive television program guide system with remote server recording |
US6898762B2 (en) | 1998-08-21 | 2005-05-24 | United Video Properties, Inc. | Client-server electronic program guide |
US8560951B1 (en) | 1998-12-18 | 2013-10-15 | Thomson Licensing | System and method for real time video production and distribution |
US6952221B1 (en) | 1998-12-18 | 2005-10-04 | Thomson Licensing S.A. | System and method for real time video production and distribution |
US6452612B1 (en) | 1998-12-18 | 2002-09-17 | Parkervision, Inc. | Real time video production system and method |
US11109114B2 (en) | 2001-04-18 | 2021-08-31 | Grass Valley Canada | Advertisement management method, system, and computer program product |
US9123380B2 (en) | 1998-12-18 | 2015-09-01 | Gvbb Holdings S.A.R.L. | Systems, methods, and computer program products for automated real-time execution of live inserts of repurposed stored content distribution, and multiple aspect ratio automated simulcast production |
US6909874B2 (en) | 2000-04-12 | 2005-06-21 | Thomson Licensing Sa. | Interactive tutorial method, system, and computer program product for real time media production |
US7835920B2 (en) | 1998-12-18 | 2010-11-16 | Thomson Licensing | Director interface for production automation control |
US7716060B2 (en) | 1999-03-02 | 2010-05-11 | Germeraad Paul B | Patent-related tools and methodology for use in the merger and acquisition process |
US7966328B2 (en) | 1999-03-02 | 2011-06-21 | Rose Blush Software Llc | Patent-related tools and methodology for use in research and development projects |
MXPA01013446A (en) | 1999-06-28 | 2002-08-06 | Index Systems Inc | System and method for utilizing epg database for modifying advertisements. |
AU5775900A (en) | 1999-06-29 | 2001-01-31 | United Video Properties, Inc. | Method and system for a video-on-demand-related interactive display within an interactive television application |
AU2001227718A1 (en) * | 2000-01-14 | 2001-07-24 | Parkervision, Inc. | System and method for real time video production and multicasting |
JP2003529844A (en) | 2000-03-31 | 2003-10-07 | ユナイテッド ビデオ プロパティーズ, インコーポレイテッド | System and method for advertising linked by metadata |
KR20190096450A (en) | 2000-10-11 | 2019-08-19 | 로비 가이드스, 인크. | Systems and methods for delivering media content |
US7827488B2 (en) | 2000-11-27 | 2010-11-02 | Sitrick David H | Image tracking and substitution system and methodology for audio-visual presentations |
US6957389B2 (en) * | 2001-04-09 | 2005-10-18 | Microsoft Corp. | Animation on-object user interface |
US7310784B1 (en) | 2002-01-02 | 2007-12-18 | The Jellyvision Lab, Inc. | Methods for identifying cells in a path in a flowchart and for synchronizing graphical and textual views of a flowchart |
US20080082581A1 (en) * | 2002-12-31 | 2008-04-03 | Momindum | Process and system for the production of a multimedia edition on the basis of oral presentations |
US7493646B2 (en) | 2003-01-30 | 2009-02-17 | United Video Properties, Inc. | Interactive television systems with digital video recording and adjustable reminders |
US7984468B2 (en) | 2003-11-06 | 2011-07-19 | United Video Properties, Inc. | Systems and methods for providing program suggestions in an interactive television program guide |
US7788266B2 (en) | 2005-08-26 | 2010-08-31 | Veveo, Inc. | Method and system for processing ambiguous, multi-term search queries |
US9113107B2 (en) | 2005-11-08 | 2015-08-18 | Rovi Guides, Inc. | Interactive advertising and program promotion in an interactive television system |
JP4828927B2 (en) * | 2005-12-16 | 2011-11-30 | パナソニック株式会社 | Stream control device |
US20070156521A1 (en) | 2005-12-29 | 2007-07-05 | United Video Properties, Inc. | Systems and methods for commerce in media program related merchandise |
US7774341B2 (en) | 2006-03-06 | 2010-08-10 | Veveo, Inc. | Methods and systems for selecting and presenting content based on dynamically identifying microgenres associated with the content |
US8316394B2 (en) | 2006-03-24 | 2012-11-20 | United Video Properties, Inc. | Interactive media guidance application with intelligent navigation and display features |
US8832742B2 (en) | 2006-10-06 | 2014-09-09 | United Video Properties, Inc. | Systems and methods for acquiring, categorizing and delivering media in interactive media guidance applications |
US8521709B2 (en) * | 2006-10-31 | 2013-08-27 | The Jellyvision Lab, Inc. | Methods for preloading media assets |
US8127238B2 (en) | 2006-12-14 | 2012-02-28 | The Jellyvision Lab, Inc. | System and method for controlling actions within a programming environment |
US8276058B2 (en) | 2007-02-08 | 2012-09-25 | The Jellyvision Lab, Inc. | Method of automatically populating and generating flowerchart cells |
US20080215959A1 (en) * | 2007-02-28 | 2008-09-04 | Lection David B | Method and system for generating a media stream in a media spreadsheet |
US7801888B2 (en) | 2007-03-09 | 2010-09-21 | Microsoft Corporation | Media content search results ranked by popularity |
US20090158139A1 (en) * | 2007-12-18 | 2009-06-18 | Morris Robert P | Methods And Systems For Generating A Markup-Language-Based Resource From A Media Spreadsheet |
US10063934B2 (en) | 2008-11-25 | 2018-08-28 | Rovi Technologies Corporation | Reducing unicast session duration with restart TV |
US9166714B2 (en) | 2009-09-11 | 2015-10-20 | Veveo, Inc. | Method of and system for presenting enriched video viewing analytics |
US8359616B2 (en) | 2009-09-30 | 2013-01-22 | United Video Properties, Inc. | Systems and methods for automatically generating advertisements using a media guidance application |
WO2012094564A1 (en) | 2011-01-06 | 2012-07-12 | Veveo, Inc. | Methods of and systems for content search based on environment sampling |
US8745574B2 (en) * | 2011-12-08 | 2014-06-03 | Microsoft Corporation | Generating task duration estimates for content ingestion |
US8805418B2 (en) | 2011-12-23 | 2014-08-12 | United Video Properties, Inc. | Methods and systems for performing actions based on location-based rules |
US9147198B2 (en) | 2013-01-10 | 2015-09-29 | Rovi Technologies Corporation | Systems and methods for providing an interface for data driven media placement |
US9848276B2 (en) | 2013-03-11 | 2017-12-19 | Rovi Guides, Inc. | Systems and methods for auto-configuring a user equipment device with content consumption material |
US9772813B2 (en) * | 2015-03-31 | 2017-09-26 | Facebook, Inc. | Multi-user media presentation system |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4279012A (en) * | 1978-10-23 | 1981-07-14 | Massachusetts Microcomputers, Inc. | Programmable appliance controller |
JPS55135908A (en) * | 1979-04-11 | 1980-10-23 | Hitachi Ltd | Sequence program input device |
JPS5746279A (en) * | 1980-09-05 | 1982-03-16 | Sony Corp | Learning system using vtr |
DE3116549A1 (en) * | 1981-04-25 | 1982-11-11 | Honeywell Gmbh, 6050 Offenbach | DIGITAL CONTROL AND / OR CONTROL SYSTEM |
EP0081519B1 (en) * | 1981-06-15 | 1987-11-25 | Comtech Research Unit Limited | Information storage and retrieval |
IT1145225B (en) * | 1981-12-07 | 1986-11-05 | Cselt Centro Studi Lab Telecom | DEVICE FOR AUTOMATIC CONTROL THROUGH THE CALCULATOR OF THE DRIVE OF MULTIPLE VIDEO RECORDERS |
DE3220622A1 (en) * | 1982-06-01 | 1983-12-15 | M.A.N.- Roland Druckmaschinen AG, 6050 Offenbach | DATA INPUT DEVICE ON PRINTING MACHINES |
US4538188A (en) * | 1982-12-22 | 1985-08-27 | Montage Computer Corporation | Video composition method and apparatus |
DE3413529A1 (en) * | 1983-04-12 | 1984-10-18 | Telemedia GmbH, 4830 Gütersloh | Video disc information system |
EP0138535A3 (en) * | 1983-10-13 | 1987-01-28 | British Telecommunications Plc | Visual display logic simulation system |
US4591997A (en) * | 1983-11-28 | 1986-05-27 | Polaroid Corporation | Method of storing and printing image with non-reentrant basic disk operating system |
JPS60116072A (en) * | 1983-11-29 | 1985-06-22 | N K B:Kk | Information furnishing system |
US4717971A (en) * | 1984-08-24 | 1988-01-05 | Eastman Kodak Company | Partitioned editing method for a collection of video still pictures |
US4675755A (en) * | 1984-08-24 | 1987-06-23 | Eastman Kodak Company | Video disk apparatus providing organized picture playback |
US4591931A (en) * | 1985-04-05 | 1986-05-27 | Eastman Kodak Company | Playback apparatus |
US4679148A (en) * | 1985-05-01 | 1987-07-07 | Ball Corporation | Glass machine controller |
-
1986
- 1986-04-04 US US06/848,171 patent/US4893256A/en not_active Expired - Lifetime
-
1987
- 1987-01-29 JP JP1746687A patent/JPH0654469B2/en not_active Expired - Fee Related
- 1987-03-19 CA CA000532446A patent/CA1285076C/en not_active Expired - Fee Related
- 1987-03-20 DE DE87104082T patent/DE3787553T2/en not_active Expired - Lifetime
- 1987-03-20 EP EP87104082A patent/EP0239884B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
EP0239884B1 (en) | 1993-09-29 |
JPS62239233A (en) | 1987-10-20 |
EP0239884A1 (en) | 1987-10-07 |
DE3787553T2 (en) | 1994-05-11 |
JPH0654469B2 (en) | 1994-07-20 |
DE3787553D1 (en) | 1993-11-04 |
US4893256A (en) | 1990-01-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA1285076C (en) | Interactive video composition and presentation systems | |
CA2151102C (en) | Computer based training system | |
US6084582A (en) | Method and apparatus for recording a voice narration to accompany a slide show | |
US5748190A (en) | Presentation system for individual personal computers in a personal computer network | |
US5274758A (en) | Computer-based, audio/visual creation and presentation system and method | |
TW199217B (en) | ||
US8762851B1 (en) | Graphical user interface for creating content for a voice-user interface | |
US5882202A (en) | Method and system for aiding foreign language instruction | |
KR0138002B1 (en) | Method and system for integration of multimedia presentations within an object oriented user interface | |
US20040010629A1 (en) | System for accelerating delivery of electronic presentations | |
EP0403118B1 (en) | Audio/visual compilation in a data processing system | |
WO1995020189A1 (en) | System and method for creating and executing interactive interpersonal computer simulations | |
CA2179523A1 (en) | Method and apparatus for implementing user feedback | |
US5864338A (en) | System and method for designing multimedia applications | |
US5513316A (en) | Method and apparatus for exercising an integrated software system | |
US20060166172A1 (en) | Speaking words language instruction system and methods | |
US11942117B2 (en) | Media management system | |
US20020054085A1 (en) | Rendering panels in multiple display contexts | |
Huber | A proposal for an authoring system avoiding common errors in tutorial lessons | |
CA2101093A1 (en) | Computerized encyclopedia and user interface therefor | |
CA1340592C (en) | Software agent used to provide information to a user for a plurality of computer | |
Smiley | Learn to Program Visual Basic Examples | |
WO1989007817A1 (en) | Interactive audiovisual tutorial system | |
Hennessey et al. | Interactive authoring system on a small personal computer | |
Masincup et al. | Development of an interactive electronic technical manual |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
MKLA | Lapsed |