Dynamic control of visual and/or audio presentation

Abstract: A system provides dynamic control of a visual and/or audio presentation. The system comprises a storage such as DASD for data defining "stories" i.e. a multiplicity of still images or video segments and/or respective audio clips. A program file defines a list of the stories for the presentation, a sequence for presenting the stories in the list, and a time interval for presenting each story or between successive stories in the sequence. A control program directs display of the stories in the list in the sequence according to the time interval. The time interval can be dynamically changed during the presentation by a user via a system console. Pursuant to such a change, the subsequent stories are presented according to the changed time interval. This permits the user to tailor the speed of the presentation to the audience. One or more of the stories is divided into elements providing different levels of information, and the control program directs display of most or all of the elements if the interval is relatively long and directs display of fewer elements or a single element if the interval is relatively short.

Description: Background of the Invention The invention relates generally to visual and/or audio presentation systems, and deals more particularly with dynamic control of the presentation. For many types of presentations, it is necessary to employ visual and/or audio aids. The visual aids may take the form of slides, images generated on a video display monitor, images generated by a video projector, or transparencies or LCD images which are displayed with an overhead projector. Audio "clips" can be stored on disk and synchronized with the slides, transparencies or images. There are several previously known systems for controlling the visual and/or audio presentations. A well known slide carousel can be filled with slides, displayed on a screen with a projector, and incrementally advanced or regressed at any time with a manual switch. An IBM Storyboard program can define a list and sequence of video images and display them. The Storyboard program can automatically advance from image to image in the sequence according to time intervals written in the program or can wait for a manual cue from the operator to advance. The Storyboard program also permits manually controlled incremental advances in the sequence or regress back to the last full image in the sequence. An IBM AVC program is similar to the Storyboard program except cannot be regressed dynamically. EP-A-0 355 627 discloses an electronic transparency device which is provided with a memory in which a plurality of frames of video data ("slides") can be stored. The apparatus includes a control microprocessor which can cause predefined sequences of slides to be presented on the LCD panel automatically. These slide "shows" are defined by the user using a hand held remote control unit in conjunction with menus displayed onthe LCD panel in window fashion by the microprocessor. The user can specify the duration that each slide in a sequence is to be shown, the video transition by which it is to be introduced, the degree of "windowshading" with which it is to be displayed, etc. Once a show is defined, it can be instituted and controlled from the remote control unit. Among other numerous features, the transparency also includes a pointer that can be superimposed on the display and controlled by the remote control unit. This pointer can be used to define certain portions of the screen that are to be displayed in highlighted fashion. While these prior art systems provide some dynamic control on the presentation by permitting incremental advances or regressions, the operator may require additional dynamic control to suit the immediate audience, respond to questions and add material deemed appropriate during the presentation. A general object of the present invention is to provide a visual and/or audio presentation system which provides greater dynamic control than the aforesaid prior art. Summary of the Invention The invention resides in a system for dynamically controlling a visual and/or audio presentation. The system comprises a storage such as DASD for data defining "stories" i.e. a multiplicity of still images or video segments and/or respective audio clips. A program file defines a list of the stories for the presentation, a sequence for presenting the stories in the list, and a time interval for presenting each story or between successive stories in the sequence. A control program directs display of the stories in the list in the sequence according to the time interval. The time interval can be dynamically changed during the presentation by a user via a system console. Pursuant to such a change, the subsequent stories are presented according to the changed time interval. This permits the user to tailor the presentation speed to the current audience. According to one feature of the present invention, if the interval is relatively long, the control program directs display of a large portion or all of the story but if the interval is relatively short the control program directs display of a small portion of the story. The reason is that with the shorter time interval, the user may not be able to explain and the audience may not be able to absorb all the information within each full story. According to another feature of the present invention, the user can dynamically request that any story in the sequence be presented next, and the control program complies. Brief Description of the Figures Figure 1 is a block diagram of a video and audio presentation system according to the present invention. Figure 2 is a more detailed block diagram of a computer system within the presentation system of Figure 1. Figure 3 is a flow chart which illustrates components of the presentation system of Figure 1. Detailed Description of the Preferred Embodiments Referring now to the figures in detail wherein like reference numerals indicate like elements throughout the several views, Figure 1 illustrates a visual and audio presentation system generally designated 10 according to the present invention. System 10 comprises a personal computer 12, a keyboard 13, a video display monitor 14, and external disk storage 16 for data defining still images or video segments and respective audio "clips". The audio clips can be background music or even speech. The system can display the visual data in a variety of ways which are all symbolized by a large screen 18, and play the audio using an amplifier 20 and speakers 22 and 24. The large screen 18 can be a projection screen/surface and the image generated on a transparent LCD 25 and projected using an overhead projector 26 or projected directly by a video projector 27 via an RGB interface 28. Alternately, the screen 18 can be another video display monitor and driven by the same video subsystem that drives PC monitor 14. Figure 2 illustrates computer 12 in more detail. Computer 12 comprises a CPU 30, random access memory (RAM) 32, a keyboard buffer 34 for receiving control inputs from the keyboard, a keyboard interrupt handler 36 for transforming the control inputs to corresponding interrupts to the CPU, and a group or program, routines and files generally designated 40 for dynamically controlling the visual and audio presentation in response to user inputs and corresponding interrupts. A "playstory" program 48 is the master program for the dynamic control. A directory 49 is read from external storage 16 and contains a list by name and address of all "stories", i.e. still images or video segments and respective audio clips stored in external storage 16. Story list file 50 contains a list of all stories by name that are initially included in a particular presentation and a default sequence for presenting them. A story list counter 51 is incremented after each story in the sequence is presented and indicates the number of the next story to be presented. The story list and default sequence were previously programmed. A speed controller routine 52 controls the interval between stories or interval between initial display of successive stories. By way of example, the interval is controlled as follows. A resetable counter 54 is incremented by a system clock 56 and compared to the contents of an adjustable count field 58. When the count of the counter equals the contents of the count field 58, then a comparator 59 signals to advance to the next story. The speed controller routine can dynamically change the contents of the count field during the presentation to change the time interval. A change story routine 60 can dynamically change the number of the story counter 51 to dynamically jump, forward or backward, to any story in the list and continue therefrom in the sequence. An add story routine 62 can dynamically add a story to the story list anywhere in the story list sequence. As described below, all of these dynamic changes are made pursuant to user input via the console (i.e. keyboard 13, monitor 14 and optional mouse not shown). Figure 3 illustrates how system 10 executes the presentation and how a user can dynamically control system 10 during a presentation to change the story list, presentation sequence and time interval between stories or between initial display of successive stories. In step 100, the user loads the play story program 48 and routines 52, 60 and 62. Then, the user loads the story list file 50 which was defined earlier (step 102). Once the play story program and story list are loaded, the play story program 48 requests a fetch of the directory 49 from external storage 16. Next, the user calls the speed controller routine to define a default time interval between stories (step 104). The user specifies the interval in seconds or selects a slow, medium or fast speed, via the keyboard and the speed controller converts the interval/speed selection to the corresponding count and writes the count in field 58 (step 106). Alternately, the default interval could have been defined earlier and stored in a file. Next, the play story program increments the story list counter to one to indicate the first entry in the story list (step 107). In response, the play story program reads the incremented story list counter to identify the first story and then reads the directory to obtain the address of the first story in external storage. Then, the play story program requests an I/O subsystem 117 to fetch the first story 119 from external storage into RAM (step 108). In accordance with one aspect of the present invention, not all of the data for each selected story is presented when the time interval is medium or short, i.e. the presentation speed is medium or fast. This is because under such conditions, the operator may not have time to discuss and the audience may not have time to absorb all the data. As illustrated in Figure 2, the story 119 (and each other story) comprises a number of discrete elements such as visual sentences, "bullet" phrases, figures, etc. and respective audio segment of background music or speech. Each story element is prefaced by a minimum time interval or count specification which indicates the minimum actual time interval under which the story element should be presented. In Figure 2, these minimum time interval or count specifications are indicated as C1, C2 and C3. Before the play story program presents the story, the play story program compares contents of the count field 58 (which indicates the actual time interval) to each minimum time interval specification in the story to determine which story elements should be presented (step 109). Only those story elements which have a minimum time interval specification less than or equal to the contents of the count field 58 are presented when the story is selected. In the preferred embodiment of the invention, at least one story element from each story should be presented regardless of actual time interval so the minimum time interval specification is set to zero for this story element. For example, these types of story elements may provide the highest level (least detailed) information. However, other story elements may be presented only for long and medium time intervals/slow and moderate speeds. These story elements may provide lower level (more detailed) information. Still other story elements may be presented only for long time intervals/slow speeds. These story elements may provide still lower level (still more detailed) information. In step 110, the play story program selects the proper story elements for presentation, and then requests the I/O subsystem to present the proper story elements from the first story (step 110). After the interval determined by the count field 58 is completed, the play story program requests the I/O subsystem to halt the presentation of this story. If the user does not desire to change the content or sequence of the story list or the time interval, then decisions 112, 114 and 116 lead to decision 120 in which the play story program compares the number of the story just displayed to the total in the story list to determine if the presentation is complete. If not, then the play story program jumps back to step 107, increments the story counter and requests that the next story in the sequence be fetched and presented in part or full as described above (steps 108-110). This iterative execution of steps 108 and 110 continues for each of the stories in the story list in the default sequence according to the default time interval unless the user intervenes by dynamic entry through the console. However, if the user enters a new story interval (decision 112), then the play story program calls the speed controller routine 52 to change the contents of the count field to correspond to the new user entered interval (step 106). This new count field is used for timing subsequent stories in the list and determining which story elements to present in each story. If the user desires to omit one or more stories in the sequence or jump to another story in the sequence, the user enters the identity of the story that the user desires to present (decision 114), and the play story program calls the change story routine 60. In response, the change story routine 60 changes the story counter to the number that corresponds to the user selection (step 130), and this story will be the next one presented. (The stories listed in the sequence after the selected one will be presented after the selected one unless the user intervenes again.) If the user desires to add a story to be presented next (decision 116), then the play story program calls the add story routine 62 which then queries the user to name the story (step 140). After the user names the story, the add story routine requests the I/O subsystem to fetch the story from external storage and then present the new story next (step 142) and returns to decision 120. In the illustrated embodiment, this new story is not added to the story list. Thus, the operator during the presentation can dynamically change the time interval, add a story or jump to any story in the sequence, by means of the console. This dynamic control permits the operator to suit the presentation to the current audience and quickly access any story within or outside the current story list. This is helpful to answer questions and present new material which the operator deems appropriate during the presentation. Based on the foregoing, a dynamically controllable presentation system has been disclosed according to the present invention. However, numerous modifications and substitutions can be made without deviating from the scope of the present invention. For example, the add story routine 62 can be modified as follows. When invoked by the user, the add story routine can query the user to name the story and a story which it should follow by name or relative position in the story list and then add the story to the proper location in the story list for subsequent display and/or play. Therefore, the invention has been disclosed by way of illustration and not limitation, and reference should be made to the following claims to determine the scope of the present invention.

Claims: A system (10) for dynamically controlling a visual presentation, said system comprising: means (16) for storing data defining a multiplicity of still images or video segments; means (50, 51) for defining a list of said still images or video segments for the presentation, a sequence for displaying said still images or video segments in said list, and a time interval for displaying each still image or video segment or between successive still images or video segments in the sequence; means (52) for directing display of said still images or video segments in said list in said sequence according to said time interval; and means (40), responsive to user input (13), for dynamically changing said time interval during the presentation; and wherein said directing means displays subsequent still images or video segments in the presentation according to the changed time interval. A system as set forth in claim 1 further comprising means (40), responsive to user input during the presentation, for selecting any subsequent still image or video segment in said list for presentation; and wherein said directing means skips to and directs display of said any subsequent still image or video segment during the presentation. A system as set forth in claim 1 or 2, wherein the directing means, after directing display of said any still image or video segment, directs display of a next still image or video segment in the sequence after said any still image or video segment. A system as set forth in claim 1, 2 or 3 further comprising means (40), responsive to user input during the presentation, for selecting any previously displayed still image or video segment in said list for presentation; and wherein the directing means (52) jumps back (62) to and directs display of said any previously displayed still image or video segment during the presentation. A system as set forth in claim 1, 2, 3 or 4, wherein the directing means (52), after directing display of said any still image or video segment, directs display of a next still image or video segment in the sequence after said any still image or video segment. A system as set forth in any one of the claims 1 to 5 further comprising means (40, 62), responsive to user input, for dynamically adding a still image or video segment to the sequence during the presentation. A system as set forth in any one of the claims 1 to 6 further comprising a console and wherein the dynamically changing means (62) responds to user input via said console. A system as set forth in any one of the claims 1 to 7, wherein: the directing means (52) directs display of only a portion or all of a still image or video segment in the presentation if the interval is relatively long and directs display of a smaller portion of said still image or video segment if the interval is relatively short. A system for dynamically controlling an audio presentation, said system comprising: means (16) for storing data defining a multiplicity of audio segments; means (50, 51) for defining a list of said audio segments for the presentation, a sequence for playing said audio segments in said list, and a time interval for playing each audio segment or between successive audio segments in the sequence; means (52) for directing play of said audio segments in said list in said sequence according to said time interval; and means, responsive to user input, for dynamically changing said time interval during the presentation; and wherein the directing means plays subsequent audio segments in the presentation according to the changed time interval. A system as set forth in claim 9, wherein: one or more of said audio segments are divided into elements of different classes; and the directing means directs play of elements of a plurality of different classes if the interval is relatively long and directs play of elements of fewer classes or a single class if the interval is relatively short. A system as set forth in claim 9 or 10, wherein the directing means compares the interval to a threshold and if the interval is greater than the threshold directs play of elements of said plurality of classes and if the interval is less than the threshold directs play of elements of said fewer classes or single class. A system as set forth in claim 1 wherein said means (52) for directing display of said still images or video segments in said list in said sequence according to said time interval is characterized that only a portion or all of a still image or video segment in said list is displayed if the interval is relatively long and a smaller portion of said still image or video segment in said list is displayed if the interval is relatively short. A system as set forth in claim 12, wherein said smaller portion or said still image or video segment has higher level information than another portion of said still image or video segment. A system as set forth in claim 12 or 13, wherein said still image or video segment is divided into elements and a respective parameter is stored in conjunction with each element, said parameter indicating a minimum for the interval at which the element should be presented when the still image or video segment is included in said presentation, and the directing means compares said parameter for each element to said interval to determine if the element should be displayed when the still image or video segment is included in the presentation.

Inventors: TUTTLE MATHEW PAUL, TUTTLE, MATHEW PAUL
Applicants: IBM, INTERNATIONAL BUSINESS MACHINES CORPORATION
Application year: 1994
Main classification: G09B5
IPC codes: G06F9, G11B27, H04N5, G06T11, G09B5, G09G5