WO1997046957A1 - Method and apparatus for multimedia presentations - Google Patents
Method and apparatus for multimedia presentations Download PDFInfo
- Publication number
- WO1997046957A1 WO1997046957A1 PCT/US1997/009542 US9709542W WO9746957A1 WO 1997046957 A1 WO1997046957 A1 WO 1997046957A1 US 9709542 W US9709542 W US 9709542W WO 9746957 A1 WO9746957 A1 WO 9746957A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- resource
- objects
- widget
- display
- presentation
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 75
- 230000006399 behavior Effects 0.000 claims abstract description 16
- 230000003068 static effect Effects 0.000 claims abstract description 16
- 230000004044 response Effects 0.000 claims abstract description 15
- 238000009877 rendering Methods 0.000 claims description 9
- 230000003213 activating effect Effects 0.000 claims description 5
- 230000004913 activation Effects 0.000 claims description 4
- 238000004891 communication Methods 0.000 claims description 4
- 238000004513 sizing Methods 0.000 claims description 3
- 230000008569 process Effects 0.000 abstract description 47
- 238000013515 script Methods 0.000 abstract description 36
- 230000006870 function Effects 0.000 description 9
- 230000000007 visual effect Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 230000008859 change Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000003989 repetitive behavior Effects 0.000 description 1
- 208000013406 repetitive behavior Diseases 0.000 description 1
- 230000003252 repetitive effect Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 230000002123 temporal effect Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000013519 translation Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/80—Information retrieval; Database structures therefor; File system structures therefor of semi-structured data, e.g. markup language structured data such as SGML, XML or HTML
- G06F16/81—Indexing, e.g. XML tags; Data structures therefor; Storage structures
-
- 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
Definitions
- This invention pertains to electronic media presentation systems, and, in particular, to a method and apparatus that functions to combine media objects of multiple diverse types into an integrated multimedia presentation.
- a particular problem with these existing presentation generation systems is that the produced presentations are basically static in nature and merely merge textual, graphical, audio and visual segments into a frame in a static manner, which frame is then converted into a data file which cannot be modified by the designer or the user.
- these presentation generation systems produce output that is immutable in nature and are difficult to use in terms of editing and adapting to the changing needs of the ultimate users.
- the frames comprise a significant amount of data which, if transmitted over a communication medium, require a high bandwidth transmission connection and consume a significant amount of transmission time.
- the presentation generation systems also operate with multi- media delivery systems which assume a single fixed resolution or presentation size. They have no ability to effectively accommodate different screen sizes or the ideal resolutions required for printing.
- VGA format presentations (640x480 at 256 colors). This resolution is unacceptable given new multi-media personal computers. Furthermore, these multi-media products are time consuming to create and are one of a kind items. The traditional script language environment used to create multi-media presentations is difficult to use and requires significant programming expertise.
- the preferred embodiment of this method and apparatus disclosed herein is an object based script language (hereafter Smart Widgets Script (SWS)) and application which is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products.
- the object based script language uses an SGML based syntax and style to support two basic object classes: resource objects and widget objects.
- the resource objects are static objects which can be referenced and include (but not limited to) such things as images, graphics metafiles, wave files, movies, areas, and events. Resource objects are static objects, since they do not process input data nor perform any actions.
- widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data.
- the SGML based script language exploits the ISO standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects.
- a SWS based presentation consists of a set of document plates, each of which comprises a display screen which contains some number of widget objects. The document plates can be considered the equivalent of pages, except the document plates produced by this SWS based script language are not linear in their interrelationship.
- An end user interacts with the widget objects located on a document plate by pointing the cursor at one of the widget objects located on the display screen produced by the selected plate and/or clicking at this selected point on the display screen.
- the widget object so selected by this user operation responds by performing some predefined operation, which can include branching to another document plate.
- the widget objects have multiple states: on, off, and hidden. When a widget object receives an event stimulus or is clicked, it changes state and exhibits a set of predefined responses and/or behaviors.
- the resultant display presentation is no longer a static presentation as in the prior art, and is adaptable, as a function of the user's input to the presentation system.
- the document plates that are created to produce the presentation are not scrollable, they are each a full screen presentation space onto which the author of the document plate places text, image, and graphics resource objects.
- the script used to create the document plates is produced by use of a standard text editor program, with the user entering the SGML markup or tags in a text format.
- the presentation engine which generates the presentation receives the text editor produced script and directly interprets the script source data to present the specified visual and audio content and associated display behaviors.
- the presentation engine is constructed from an extendable set of C++ objects which represent the SGML SWS object constructs and which provide presentation behavior at the document plate level. Both sets of objects are related and can be extended easily to provide custom application support.
- the method and apparatus for generating multimedia presentations of the preferred embodiment of the invention enables a designer to produce a multimedia presentation which incorporates text and/or graphics and/or video and/or audio information into a single integrated product.
- the presentation script that is created is simple to edit using the SGML based script language.
- the resource and widget objects inserted into the presentation can be modified or replaced or manipulated in an efficient manner since they are defined via a simple SGML based script language.
- the author is able to insert variable behavior into the presentation and the presentation itself automatically adapts to different resolution display devices and print output.
- Figure 1 illustrates in block diagram form the overall architecture of a preferred embodiment of the system of the present invention
- Figures 2-11 illustrate a selection of screen displays indicative of a typical real estate presentation
- Figure 12-15 illustrate screen displays indicative of a talent agency presentation.
- Figure 1 illustrates an architectural diagram of the preferred embodiment of the invention.
- the method and apparatus for generating multimedia presentations of the preferred embodiment of the present invention disclosed herein is an object based script language and application which is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products.
- the object based script language uses an SGML based semantic to support two basic object classes: resource objects and widget objects.
- the resource objects are static objects which can be referenced and include (but not limited to) such things as images, graphics metafiles, wave files, movies, areas, and events.
- Resource objects are static objects, since they do not process input data nor perform any actions.
- widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data.
- SGML based script language exploits the ISO standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects.
- the SGML based script language and application of the preferred embodiment of the present invention is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products.
- a typical implementation of such a language is disclosed in Appendix A, attached hereto, as an example of the constructs that can be used to produce the SGML based script which is used by a presentation driver to produce the multi-media presentations
- Appendix B attached hereto, provides an example of some of the script that is produced using the language constructs of this system SGML is an existing standard which provides a framework for authoring information. It does not prescribe any particular semantic but, instead, provides a flexible framework for syntax and enables the author to define any desired custom document structure and semantic.
- the SGML standard is like a language in that it does not define an expression or idea but merely provides a means of expressing one.
- HTML is an example of a variant of SGML and comprises a marginal expression that adds hyper-linking to the conventional SGML document model.
- HYTIME is another extension to conventional SGML that attempts to add temporal elements to a standard paper document None of these extensions take the object oriented path to use SGML to define active objects and presentation objects, since the paradigm embraced by all of these existing SGML and SGML-like products is paper/page document based There are no products which introduce random or non-repetitive behavior To obtain such behavior requires the use of procedural language programming which requires the use of expert programmers and the expenditure of significant programming resources.
- the SGML based script language of the preferred embodiment of the invention supports two basic object classes: resource objects and widget objects
- the resource objects are static objects which can be referenced and include (but not limited to) such things as bit maps, wave files, movies, areas, and events.
- Resource objects are static objects, since they do not process input data nor perform any actions.
- widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data
- the SGML based script language exploits the ISO standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects
- a SGML based script produced presentation consists of a set of document plates, each of which comprises a display screen or presentation space which contains some number of widget objects
- the document plates can be considered the equivalent of pages, except the document plates produced by this SGML based script language are not linear in their interrelationship
- An end user interacts with the widget objects located on a document plate by pointing the cursor at one of the widget objects located on the display screen produced by the selected document plate and clicking at this selected point on the display screen
- the widget object so selected by this user operation responds by performing some predefined operation, which can include branching to another document plate
- the widget objects have multiple states on, off, and hidden When a widget object receives an event stimulus or is clicked, it changes state and exhibits a set of predefined responses and/or behaviors
- the resultant display presentation is no longer a static presentation as in the prior art, and is adaptable, as a function of the user's input to the system
- the document plates that are created to produce the presentation are not scrollable, they are each full screen presentation spaces onto which the author of the document plate places text, image, and graphics resource objects
- the script used to create the document plates is produced by use of a standard text editor program, with the user entering the SGML markup or tags in a text format, which text output can be edited by the author in a simple manner using a standard text editor program
- the presentation engine which generates the presentation receives the text editor produced script and directly interprets the script source data to present the specified visual and audio content and associated display behaviors
- the presentation engine is constructed from an extendable set of C++ objects which represent the SGML widget object constructs and which provide presentation behavior at the plate level. Both sets of objects are related and can be extended easily to provide custom application support System Operation for Document Creation
- Figure 1 illustrates a typical implementation of the electronic media presentation system, which comprises a set of hardware elements, a set of processes which execute on the processor, and data which resides in memory
- the basic hardware elements comprise a user input device, such as keyboard K, a display element D, a processor CPU on which the multimedia presentation processes execute, processor memory M, additional memory, such as disk memory MSS, and, optionally, data communication media, such as network N
- Additional hardware elements can be included in the system and the configuration illustrated herein is simply illustrative of the concepts of the present invention and not intended to limit the scope of the invention Likewise, the processes which execute on the processor CPU can include data which may be stored in memory M or the processes themselves may reside in memory M until activated
- the architectural diagram of Figure 1 simply illustrates that the presentation engine PE comprises a plurality of processes, which function to manage and utilize the data that is stored in memory M and disk memory MSS
- the system illustrated in Figure 1 can be used to create and/or run the multimedia presentations and will be described in the context of performing both functions for
- the user typically interfaces with the electronic media presentation generation system 1 by means of a keyboard K and/or a mouse (not shown) or other such user input device
- the media presentation system 1 is illustrated in Figure 1 and comprises a processor CPU which accesses the presentation script data which is stored in a memory M and produces a screen display from this stored data for display on the associated display device D
- a presentation engine PE executes on the processor CPU and the presentation engine PE can include various feature subroutines, such as presentation generation PG, parser P, network resource refresh NR, jukebox J, print PR, search SR processes illustrated in Figure 1.
- presentation data is stored in the memory M and comprises presentations, resource objects, and widget objects.
- the author of a presentation can update resource objects without having to rewrite the presentation script and the presentations can be altered by modifying widget objects and/or the presentation itself.
- This architecture enables simple presentation creation, modification and presentation via the use of modules which are substantially independent of each other yet cooperatively operative to produce the multimedia presentation.
- the presentation designer creates the multimedia presentations by use of a standard text editor program ED resident on the processor CPU to create a data file AU comprising the SGML based syntax which defines the presentation.
- a standard text editor program ED resident on the processor CPU to create a data file AU comprising the SGML based syntax which defines the presentation.
- An example of the types of textual data that are created for this purpose is provided in Appendix B which represents the document plate definitions and image definitions for some of the presentation document plates shown in the example of Figures 12- 15 described below.
- the edited text data AU is processed by the parser process P of the presentation engine PE to create the presentation and its component elements, which are stored in memory M.
- each presentation comprises a collection of document plates.
- the presentations and their document plates are stored in a presentation library PL in memory M, with each presentation being illustrated as a separate element in Figure 1.
- Each document plate comprises a plurality of resource objects and widget objects, whose presence on the document plate is defined by the document plate definition. The exact identification of a resource object that is to be displayed on a particular document plate may be deferred until the user selects the particular document plate, and/or may change over time and in response to other stimuli as described below.
- the document plates are ordered in a predefined ordering in the presentation, even though this ordering may not correspond to the order of presentation to the user, since the presentation is typically a function of the user provided input, rather than a static sequence of images.
- FIG. 1 There is always an initial document plate which is designated to enable the presentation process to launch the presentation by presenting an initial screen display to the user.
- the illustration of Figure 1 is conceptual, in that a document plate, such as document plate 0, can comprise the entirety of the resource objects 0, 1 and the widget objects 0, which comprise the document plate, written in a simple text data file.
- the present illustration is used to indicate that resource objects and widget objects are independent of the document plates in their definition and content and can be managed independent of the document plates.
- the document plate can be envisioned as a linked list of resource objects and widget objects which are administered via document plate definition information.
- the resource objects simply comprise display definition data, not the display content
- the display content is typically stored independent of the resource object, such as on disk memory MSS, and retrieved only when the resource object is activated by the presentation generation process PG to create a display image. Widget Objects
- An SGML tag has the following typical format: ⁇ d[parmj[parm][parm]> , wherein the term “id” comprises the identification of a function and the term “parm” comprises a parameter which consists of a pair of entries which are a value syntax and an associated value.
- the resource objects are external objects which are referenced by the widget objects and acted upon by the presentation generation process PG.
- the resource objects have no presentation semantic and are processed du ⁇ ng the document scanning phase
- Widget objects are objects which have a presentation semantic.
- the widget objects are placed on one or more document plates and perform presentation actions in response to a user activating the widget object or an external event triggering the widget object.
- Each widget object is a state machine in that it exhibits a predefined behavior and can both generate events and respond to events (including timer events) Presentation Generation
- the presentation generation process PG responds to a user selecting a presentation via a menu or other well known selection artifact, by locating the selected presentation, such as presentation O, and retrieving the first document plate (document plate 0) in the presentation.
- the presentation generation process PG responds to the activation of a document plate by reading the script which comprises the document plate and following the actions prescribed therein to create the image to be presented to the user as the screen display
- the widget objects are represented as buttons or activatable fields or portions of the display
- the resource objects may be updated in an automatic manner by ascribing refresh criteria with the resource object definition to enable the network resource refresh process NR to be activated at a time or in response to a predefined event noted by the refresh criteria associated with the resource object.
- the activated network resource refresh process NR searches for resource refresh data, typically by accessing network N, such as Internet or a private corporate network, and searching a specified network path to locate the refresh data.
- the located refresh data is downloaded from the network N and this retrieved data replaces the present instance of the resource object which is stored in disk drive memory MSS
- the author of a presentation can define a set of resource objects and/or resource object characteristics that are to be "randomized" by the presentation process. This is accomplished by the jukebox process J which stores data indicative of a plurality of resource objects which are of the same base class of objects. This set of resource objects can be accessed to present seriatim the members of the set to the user as part of the presentation.
- the resource object(s) presented therein are changed from the last presented resource object(s) to the next successive listed resource object in the set defined by the jukebox J
- the resource objects can be varied as well as the resource object characteristics, such as background color, size, etc.
- Multiple concurrently operational jukebox processes J can be used in a document plate to vary different segments of the screen display
- the jukebox processes J can also be further randomized by taking the initial ordering of the members of the set and scrambling this ordering each time all the members of the set have been accessed since the last scrambling.
- the numerically sequential ordering of set 1 shown in Figure 1 can be scrambled to the random ordering of set S2 shown in Figure 1.
- the members of set S2 are sequentially accessed via the ordering listed therein, and when the last member of set S2 has been accesses by a document plate, the jukebox process J re- randomizes the ordering presently used in that set.
- This jukebox process J adds a significant degree of apparent uniqueness to the presentation that is produced using this process. Additional functions that can be implemented as part of the presentation process are the print process PR which provides a display screen print, a printed list of data (such as script file SF) which is present in a resource object or set of objects, selective widget printing, and multi-resolution object substitution.
- the search process SR enables a user or widget object activated by a user to search through the resource objects to identify data which satisfies criteria defined by the user.
- the identified data can then be excerpted from the set of all resource objects and processed in well known data manipulation fashion to provide the user with information of a nature, ordering and presentation defined by the user. Examples of this process are described below.
- Multi-media delivery systems assume a single fixed resolution or presentation size. They have no ability to effectively accommodate different screen sizes or the ideal resolutions required for printing. Virtually all presently available systems presume VGA (640x480 at 256 colors). This resolution is unacceptable given new multi-media PCs. Multi-media titles are repetitive, in that the presentation is identical every time it is viewed. Multi-media products are time consuming to create and are one of a kind items. The traditional script language environment is difficult to use and requires significant programming expertise. The automatic transparent support for multiple presentation resolutions is unavailable. Thus, a presentation developed for a single target display must be reengineered to be capable of being displayed on another target display which is different from the first target display.
- the presentation generation process PG overcomes this problem of existing systems by responding to the user requesting the full screen image of the selected view to create an image that satisfies the area and resolution requirements. This is accomplished by converting an image into an mrDib (multi-resolution) version of an image wherein a plurality of versions of the image are stored in the disk drive memory MSS, so that the stored images correspond to different presentation applications.
- Page 4 of the Appendix B illustrates such a case, where a plurality of image files are listed in a directory under the heading of "sample image definitions.”
- the image definitions are grouped in this example by type of image: bitmap, jpeg, image size, and the like.
- the list of image definitions is followed on page 5 by a definition of a plurality of mrDibs, shown in Figure 1 as element MR.
- the mrDib is a unique image identifier which corresponds to a selected "picture", with the list of entries in the mrDib representing various display formats of this image.
- the mrDib can be viewed as an OR function, which enables the resource object to specify a specific image, with the presentation generation process PG further specifying the presentation space corresponding to the characteristics of display D (or a printer) including: size, resolution, and display method.
- This collection of control data causes the mrDib process MR to identify the image file which most closely satisfies the identified requirements and retrieve the data file so identified.
- the retrieved data file is then used in the display creation process.
- the display device characteristics are determined in well known fashion by the processor P and the various display areas are scaled based upon authoring definitions and actual display resolution, so that the authored image is mapped into the final image.
- This image translation process portion of the presentation generation process PG can use features such as scaling, centering, wrapping, and the like to convert the stored image to the desired rendering on the presentation space which is provided.
- Figures 2-1 1 illustrate a selection of screen displays indicative of a typical multi ⁇ media real estate presentation that can be generated using this system.
- the presentation generation process PG accesses the presentation which comprises a plurality of document plates and an associated collection of resource objects and widget objects.
- the document plates comprise the presentation framework via which the resource objects are presented to the user in response to the user or other stimulus activating widget objects which are associated with the document plates.
- Figure 2 illustrates the initial display screen which is produced when the widget defined by the wplate widget object which defines the first document plate is accesses by the presentation process.
- This wplate widget object includes/contains a plurality of other objects which are used by the presentation process to create the display screen shown in Figure 2.
- there is a basic image comprising the background, text, logo, and button definitions that are combined to produce this image.
- Each of the buttons which are displayed in Figure 2 comprise a separate widget object, which are activated, in this instance, by the user moving the cursor on to a selected button/image/area and/or clicking the mouse to activate the selected button/image/area.
- This stimulus causes the presentation process to activate the selected widget object to execute the behavior that is associated with this widget object.
- buttons illustrated in Figure 2 are well known in the presentation field, it is their implementation that is unique.
- the user can select the "Main Menu” button and click thereon to obtain the screen display of Figure 3.
- the activation of the widget object associated with this selected button is again a wplate widget object which defines another document plate, whose embodiment is shown in Figure 3.
- the main menu of Figure 3 is again a collection of resource objects and widget objects which are combined by the presentation process to create and manage the image shown in Figure 3.
- Each of the menu items comprises a widget object, which can be activated by the user to obtain further information.
- the directional arrows located at the bottom of the image enable the user to scroll in either direction if the main menu contains more entries than can be displayed on a single image.
- the presentation process activates the widget object which is associated with this selection and a new wplate object is activated to produce the display of Figure 4.
- This display screen comprises the images of six homes for sale in the "Janesville” area as well as realtor identification information.
- the screen display of Figure 6 is presented, which provides additional information as well as menu selections to enable the user to branch to other groups of home selections.
- the presentation system responds to such a combination of selections by searching the resource objects which satisfy these criteria and presenting the excerpted selections in a predefined format, such as that shown in Figure 5.
- the presentation is defined by the user input, and does not comprise a standard series of immutable pages.
- the data used to create the screen displays is defined by the operation of the widget objects, which are responsive to the user input.
- location map and additional area information can be provided.
- the user can retrieve a map, shown in Figure 9, of the area of interest.
- the map could also be accessed via the real estate screens of Figures 4-8, such that the selected residence elicits a detailed map of the location of the residence in the town.
- the employer information presented in Figures 10 and 11 can be accessed via menu and displays in Figure 10 a listing of employers and some relevant statistics.
- Figures 12-15 illustrate screen displays indicative of an employment agency presentation that can be generated using this system.
- Figure 12 illustrates the initial screen display which comprises a combination of resource objects and widget objects.
- the primary choices for the presentation in addition to the music, sound, test volume and go back controls, are the four presentation controls located to the left of center in the screen illustrated in Figure 12.
- the user selects the contact sheet presentation located in the upper left corner of the four presentation selections.
- the placement of the cursor on this "button" area and the user clicking on this selection causes the presentation process to retrieve the document plate associated with this option and produce the screen display of Figure 13.
- the screen display of Figure 13 provides the user with the typical presentation scrolling controls along the upper margin of the screen.
- a plurality of photos of models are arranged in a matrix layout.
- the selection of the photographs for this matrix layout is static in that the collection shown in Figure 13 is predetermined to populate the photo locations of the contact sheet of Figure 13.
- the user can position the cursor over one of the photos, which operation causes the name of the selected model to be displayed, as shown in Figure 13 with the name "Jill Blair” being displayed on the photo which is presently being pointed to by the cursor. If the user selects one of the photos of the contact sheet of Figure 13 by the cursor position and click operation, additional information is presented to the user in the form of the screen display of Figure 14.
- This screen display illustrates a variety of information, textual information providing descriptive information regarding the selected individual, and various multi-media presentation information
- the widget objects that are presented herein include a slide show, additional photos, a resume, and a voice clip.
- the user can receive textual, and/or audio, and/or video information relating to the selected individual.
- This additional information is in the form of specific resource objects which can be updated without having to modify the presentation.
- the screen display can also be printed as shown by the selection and operation of the "PRINT" button.
- the user is presented with a calendar option, the selection of which produces the screen display of Figure 15.
- This screen display enables the user to select the month of the year by selection of the corresponding option button on the top of the screen, which causes the body of the calendar to be populated with the corresponding calendar format data
- the calendar includes the photograph selected by the user in the prior screen of the presentation.
- This calendar page can be printed by the operation of the "PRINT" button on the screen display.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
The SGML based script language and application is designed to produce multi-media presentations for CD-ROM, kiosk and Internet information products. The SGML based script language supports two basic object classes: resources and widgets. The resources are static objects which include such things as bit maps, audio, movies, areas, and events. Resources are static objects, since they do not process input data nor perform any actions. Widgets are objects which can perform actions, process events, and respond to user provided input. The SGML based script language exploits standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects. This SGML based script produced presentation consists of a set of plates, each of which comprises a display screen which contains widget objects. An end user interacts with the widget objects located on a plate by pointing the cursor at one of the widget objects located on the display screen produced by the selected plate and/or clicking at this selected point on the display screen. The widget object so selected by this user operation responds by performing some predefined operation, which can include branching to another plate. When a widget object receives an event stimulus, it changes state and exhibits a set of predefined responses and/or behaviors. By creating widget objects that are dynamic in their behavior, as defined by the SGML object language, the resultant display presentation is responsive to the user's input to the system.
Description
METHOD AND APPARATUS FOR MULTIMEDIA PRESENTATIONS
Field of the Invention
This invention pertains to electronic media presentation systems, and, in particular, to a method and apparatus that functions to combine media objects of multiple diverse types into an integrated multimedia presentation.
Problem
It is a problem in the field of electronic media presentation generation systems to efficiently and simply integrate the diverse types of media that are available to the user into a multimedia presentation for publication on an electronic media. It is even more difficult to create a presentation that is dynamic in nature and yet is simple to create.
It is well known in the presentation generation arena to create multimedia presentations which contain textual, graphical, audio, and even video segments. These presentation generation systems are video based and enable the user to create a user defined visual image on a frame by frame basis. The user must populate the individual frames with either graphical or textual material. The resultant frame of information is compiled and a data file created representative of the image that is presented to the user. Within this frame can be embedded option "buttons" which enable the user to select, by means of manipulating the cursor, one of the buttons and then click on the button to activate the presentation to proceed to a successive frame of information. By enabling the user to select the various options that are provided in the presentation, the user can step through the materials in the presentation in a user desired order.
A particular problem with these existing presentation generation systems is that the produced presentations are basically static in nature and merely merge textual, graphical, audio and visual segments into a frame in a static manner, which frame is then converted into a data file which cannot be modified by the designer or the user. Thus, these presentation generation systems produce output that is immutable in nature and are difficult to use in terms of editing and adapting to the changing needs of the ultimate users. In addition, the frames comprise a significant amount of data which, if transmitted over a communication medium, require a high bandwidth transmission connection and consume a significant amount of transmission time. The presentation generation systems also operate with multi-
media delivery systems which assume a single fixed resolution or presentation size. They have no ability to effectively accommodate different screen sizes or the ideal resolutions required for printing. Virtually all presently available systems presume VGA format presentations (640x480 at 256 colors). This resolution is unacceptable given new multi-media personal computers. Furthermore, these multi-media products are time consuming to create and are one of a kind items. The traditional script language environment used to create multi-media presentations is difficult to use and requires significant programming expertise.
There presently is no system that can expeditiously enable the designer to incorporate video and audio into a presentation or to enable simple editing of the presentation by the designer. In addition, there is no system which enables the creation of a dynamic presentation that adapts to the needs of the particular user who is accessing the presentation.
Solution The above described problems are solved and a technical advance achieved in the field by the method and apparatus for generating multimedia presentations of the present invention. The preferred embodiment of this method and apparatus disclosed herein is an object based script language (hereafter Smart Widgets Script (SWS)) and application which is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products. The object based script language uses an SGML based syntax and style to support two basic object classes: resource objects and widget objects. The resource objects are static objects which can be referenced and include (but not limited to) such things as images, graphics metafiles, wave files, movies, areas, and events. Resource objects are static objects, since they do not process input data nor perform any actions. In contrast, widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data. The SGML based script language exploits the ISO standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects. A SWS based presentation consists of a set of document plates, each of which comprises a display screen which contains some number of widget objects. The document plates can be considered the equivalent of pages, except the
document plates produced by this SWS based script language are not linear in their interrelationship. An end user interacts with the widget objects located on a document plate by pointing the cursor at one of the widget objects located on the display screen produced by the selected plate and/or clicking at this selected point on the display screen. The widget object so selected by this user operation responds by performing some predefined operation, which can include branching to another document plate. The widget objects have multiple states: on, off, and hidden. When a widget object receives an event stimulus or is clicked, it changes state and exhibits a set of predefined responses and/or behaviors. By creating widget objects that are dynamic in their behavior, as defined by the SWS object language, the resultant display presentation is no longer a static presentation as in the prior art, and is adaptable, as a function of the user's input to the presentation system.
The document plates that are created to produce the presentation are not scrollable, they are each a full screen presentation space onto which the author of the document plate places text, image, and graphics resource objects. The script used to create the document plates is produced by use of a standard text editor program, with the user entering the SGML markup or tags in a text format. The presentation engine which generates the presentation receives the text editor produced script and directly interprets the script source data to present the specified visual and audio content and associated display behaviors. The presentation engine is constructed from an extendable set of C++ objects which represent the SGML SWS object constructs and which provide presentation behavior at the document plate level. Both sets of objects are related and can be extended easily to provide custom application support.
As a result of the above noted capabilities, the method and apparatus for generating multimedia presentations of the preferred embodiment of the invention enables a designer to produce a multimedia presentation which incorporates text and/or graphics and/or video and/or audio information into a single integrated product. The presentation script that is created is simple to edit using the SGML based script language. The resource and widget objects inserted into the presentation can be modified or replaced or manipulated in an efficient manner
since they are defined via a simple SGML based script language. The author is able to insert variable behavior into the presentation and the presentation itself automatically adapts to different resolution display devices and print output. These capabilities are presently unavailable in existing multimedia presentation systems and represents a significant advance in the art.
Brief Description of the Invention Figure 1 illustrates in block diagram form the overall architecture of a preferred embodiment of the system of the present invention;
Figures 2-11 illustrate a selection of screen displays indicative of a typical real estate presentation; and
Figure 12-15 illustrate screen displays indicative of a talent agency presentation.
Detailed Description
Figure 1 illustrates an architectural diagram of the preferred embodiment of the invention. The method and apparatus for generating multimedia presentations of the preferred embodiment of the present invention disclosed herein is an object based script language and application which is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products.
The object based script language uses an SGML based semantic to support two basic object classes: resource objects and widget objects. The resource objects are static objects which can be referenced and include (but not limited to) such things as images, graphics metafiles, wave files, movies, areas, and events.
Resource objects are static objects, since they do not process input data nor perform any actions. In contrast, widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data. The
SGML based script language exploits the ISO standard SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects.
Basic SGML Characteristics The SGML based script language and application of the preferred embodiment of the present invention is designed to produce multi-media presentations for multi-media CD-ROM, kiosk and Internet information products.
A typical implementation of such a language is disclosed in Appendix A, attached hereto, as an example of the constructs that can be used to produce the SGML based script which is used by a presentation driver to produce the multi-media presentations In addition, Appendix B, attached hereto, provides an example of some of the script that is produced using the language constructs of this system SGML is an existing standard which provides a framework for authoring information. It does not prescribe any particular semantic but, instead, provides a flexible framework for syntax and enables the author to define any desired custom document structure and semantic. The SGML standard is like a language in that it does not define an expression or idea but merely provides a means of expressing one. There are many SGML document types which describe specific document formats or layouts These SGML document formats are focused on conventional pages of paper documents. HTML is an example of a variant of SGML and comprises a marginal expression that adds hyper-linking to the conventional SGML document model. HYTIME is another extension to conventional SGML that attempts to add temporal elements to a standard paper document None of these extensions take the object oriented path to use SGML to define active objects and presentation objects, since the paradigm embraced by all of these existing SGML and SGML-like products is paper/page document based There are no products which introduce random or non-repetitive behavior To obtain such behavior requires the use of procedural language programming which requires the use of expert programmers and the expenditure of significant programming resources. SGML Based Script Language
As noted above, the SGML based script language of the preferred embodiment of the invention supports two basic object classes: resource objects and widget objects The resource objects are static objects which can be referenced and include (but not limited to) such things as bit maps, wave files, movies, areas, and events. Resource objects are static objects, since they do not process input data nor perform any actions. In contrast, widget objects are dynamic objects which can perform actions, process events, and respond to user provided input data The SGML based script language exploits the ISO standard
SGML syntax and uses tags with a well defined syntax and meaning to describe both resource objects and widget objects
A SGML based script produced presentation consists of a set of document plates, each of which comprises a display screen or presentation space which contains some number of widget objects The document plates can be considered the equivalent of pages, except the document plates produced by this SGML based script language are not linear in their interrelationship An end user interacts with the widget objects located on a document plate by pointing the cursor at one of the widget objects located on the display screen produced by the selected document plate and clicking at this selected point on the display screen The widget object so selected by this user operation responds by performing some predefined operation, which can include branching to another document plate The widget objects have multiple states on, off, and hidden When a widget object receives an event stimulus or is clicked, it changes state and exhibits a set of predefined responses and/or behaviors By creating widget objects that are dynamic in their behavior (jukeboxes and the like), as defined by the SGML object language, the resultant display presentation is no longer a static presentation as in the prior art, and is adaptable, as a function of the user's input to the system
The document plates that are created to produce the presentation are not scrollable, they are each full screen presentation spaces onto which the author of the document plate places text, image, and graphics resource objects The script used to create the document plates is produced by use of a standard text editor program, with the user entering the SGML markup or tags in a text format, which text output can be edited by the author in a simple manner using a standard text editor program The presentation engine which generates the presentation receives the text editor produced script and directly interprets the script source data to present the specified visual and audio content and associated display behaviors The presentation engine is constructed from an extendable set of C++ objects which represent the SGML widget object constructs and which provide presentation behavior at the plate level. Both sets of objects are related and can be extended easily to provide custom application support
System Operation for Document Creation
Figure 1 illustrates a typical implementation of the electronic media presentation system, which comprises a set of hardware elements, a set of processes which execute on the processor, and data which resides in memory The basic hardware elements comprise a user input device, such as keyboard K, a display element D, a processor CPU on which the multimedia presentation processes execute, processor memory M, additional memory, such as disk memory MSS, and, optionally, data communication media, such as network N Additional hardware elements can be included in the system and the configuration illustrated herein is simply illustrative of the concepts of the present invention and not intended to limit the scope of the invention Likewise, the processes which execute on the processor CPU can include data which may be stored in memory M or the processes themselves may reside in memory M until activated The architectural diagram of Figure 1 simply illustrates that the presentation engine PE comprises a plurality of processes, which function to manage and utilize the data that is stored in memory M and disk memory MSS The system illustrated in Figure 1 can be used to create and/or run the multimedia presentations and will be described in the context of performing both functions for the purpose of illustration.
In operation, the user typically interfaces with the electronic media presentation generation system 1 by means of a keyboard K and/or a mouse (not shown) or other such user input device The media presentation system 1 is illustrated in Figure 1 and comprises a processor CPU which accesses the presentation script data which is stored in a memory M and produces a screen display from this stored data for display on the associated display device D A presentation engine PE executes on the processor CPU and the presentation engine PE can include various feature subroutines, such as presentation generation PG, parser P, network resource refresh NR, jukebox J, print PR, search SR processes illustrated in Figure 1. In addition, presentation data is stored in the memory M and comprises presentations, resource objects, and widget objects. As can be seen from this architecture, the author of a presentation can update resource objects without having to rewrite the presentation script and the presentations can be altered by modifying widget objects and/or the presentation
itself. This architecture enables simple presentation creation, modification and presentation via the use of modules which are substantially independent of each other yet cooperatively operative to produce the multimedia presentation.
The presentation designer creates the multimedia presentations by use of a standard text editor program ED resident on the processor CPU to create a data file AU comprising the SGML based syntax which defines the presentation. An example of the types of textual data that are created for this purpose is provided in Appendix B which represents the document plate definitions and image definitions for some of the presentation document plates shown in the example of Figures 12- 15 described below. The edited text data AU is processed by the parser process P of the presentation engine PE to create the presentation and its component elements, which are stored in memory M.
In particular, each presentation comprises a collection of document plates. The presentations and their document plates are stored in a presentation library PL in memory M, with each presentation being illustrated as a separate element in Figure 1. Each document plate comprises a plurality of resource objects and widget objects, whose presence on the document plate is defined by the document plate definition. The exact identification of a resource object that is to be displayed on a particular document plate may be deferred until the user selects the particular document plate, and/or may change over time and in response to other stimuli as described below. The document plates are ordered in a predefined ordering in the presentation, even though this ordering may not correspond to the order of presentation to the user, since the presentation is typically a function of the user provided input, rather than a static sequence of images. There is always an initial document plate which is designated to enable the presentation process to launch the presentation by presenting an initial screen display to the user. The illustration of Figure 1 is conceptual, in that a document plate, such as document plate 0, can comprise the entirety of the resource objects 0, 1 and the widget objects 0, which comprise the document plate, written in a simple text data file. The present illustration is used to indicate that resource objects and widget objects are independent of the document plates in their definition and content and can be managed independent of the document plates. The document plate can be
envisioned as a linked list of resource objects and widget objects which are administered via document plate definition information. In addition, the resource objects simply comprise display definition data, not the display content The display content is typically stored independent of the resource object, such as on disk memory MSS, and retrieved only when the resource object is activated by the presentation generation process PG to create a display image. Widget Objects
An SGML tag has the following typical format: <ιd[parmj[parm][parm]> , wherein the term "id" comprises the identification of a function and the term "parm" comprises a parameter which consists of a pair of entries which are a value syntax and an associated value. By using and exploiting document structuring tags, the author can share work with others, reduce the redundant markup of scripts and control the structure of the resultant work. The resource objects are external objects which are referenced by the widget objects and acted upon by the presentation generation process PG. The resource objects have no presentation semantic and are processed duπng the document scanning phase Widget objects are objects which have a presentation semantic. The widget objects are placed on one or more document plates and perform presentation actions in response to a user activating the widget object or an external event triggering the widget object. Each widget object is a state machine in that it exhibits a predefined behavior and can both generate events and respond to events (including timer events) Presentation Generation
The presentation generation process PG responds to a user selecting a presentation via a menu or other well known selection artifact, by locating the selected presentation, such as presentation O, and retrieving the first document plate (document plate 0) in the presentation. The presentation generation process PG responds to the activation of a document plate by reading the script which comprises the document plate and following the actions prescribed therein to create the image to be presented to the user as the screen display The widget objects are represented as buttons or activatable fields or portions of the display The resource objects may be updated in an automatic manner by ascribing refresh criteria with the resource object definition to enable the network resource refresh
process NR to be activated at a time or in response to a predefined event noted by the refresh criteria associated with the resource object. The activated network resource refresh process NR searches for resource refresh data, typically by accessing network N, such as Internet or a private corporate network, and searching a specified network path to locate the refresh data. The located refresh data is downloaded from the network N and this retrieved data replaces the present instance of the resource object which is stored in disk drive memory MSS Similarly, the author of a presentation can define a set of resource objects and/or resource object characteristics that are to be "randomized" by the presentation process. This is accomplished by the jukebox process J which stores data indicative of a plurality of resource objects which are of the same base class of objects. This set of resource objects can be accessed to present seriatim the members of the set to the user as part of the presentation. Thus, each time a user accesses a predetermined document plate in a presentation, the resource object(s) presented therein are changed from the last presented resource object(s) to the next successive listed resource object in the set defined by the jukebox J The resource objects can be varied as well as the resource object characteristics, such as background color, size, etc. Multiple concurrently operational jukebox processes J can be used in a document plate to vary different segments of the screen display The jukebox processes J can also be further randomized by taking the initial ordering of the members of the set and scrambling this ordering each time all the members of the set have been accessed since the last scrambling. Thus, the numerically sequential ordering of set 1 shown in Figure 1 can be scrambled to the random ordering of set S2 shown in Figure 1. The members of set S2 are sequentially accessed via the ordering listed therein, and when the last member of set S2 has been accesses by a document plate, the jukebox process J re- randomizes the ordering presently used in that set. This jukebox process J adds a significant degree of apparent uniqueness to the presentation that is produced using this process. Additional functions that can be implemented as part of the presentation process are the print process PR which provides a display screen print, a printed list of data (such as script file SF) which is present in a resource object or set of
objects, selective widget printing, and multi-resolution object substitution. Furthermore, the search process SR enables a user or widget object activated by a user to search through the resource objects to identify data which satisfies criteria defined by the user. The identified data can then be excerpted from the set of all resource objects and processed in well known data manipulation fashion to provide the user with information of a nature, ordering and presentation defined by the user. Examples of this process are described below. Automatic Display Sizing
Multi-media delivery systems assume a single fixed resolution or presentation size. They have no ability to effectively accommodate different screen sizes or the ideal resolutions required for printing. Virtually all presently available systems presume VGA (640x480 at 256 colors). This resolution is unacceptable given new multi-media PCs. Multi-media titles are repetitive, in that the presentation is identical every time it is viewed. Multi-media products are time consuming to create and are one of a kind items. The traditional script language environment is difficult to use and requires significant programming expertise. The automatic transparent support for multiple presentation resolutions is unavailable. Thus, a presentation developed for a single target display must be reengineered to be capable of being displayed on another target display which is different from the first target display.
The presentation generation process PG overcomes this problem of existing systems by responding to the user requesting the full screen image of the selected view to create an image that satisfies the area and resolution requirements. This is accomplished by converting an image into an mrDib (multi-resolution) version of an image wherein a plurality of versions of the image are stored in the disk drive memory MSS, so that the stored images correspond to different presentation applications. Page 4 of the Appendix B illustrates such a case, where a plurality of image files are listed in a directory under the heading of "sample image definitions." The image definitions are grouped in this example by type of image: bitmap, jpeg, image size, and the like. The list of image definitions is followed on page 5 by a definition of a plurality of mrDibs, shown in Figure 1 as element MR. The mrDib is a unique image identifier which corresponds to a selected "picture",
with the list of entries in the mrDib representing various display formats of this image. Thus, the mrDib can be viewed as an OR function, which enables the resource object to specify a specific image, with the presentation generation process PG further specifying the presentation space corresponding to the characteristics of display D (or a printer) including: size, resolution, and display method. This collection of control data causes the mrDib process MR to identify the image file which most closely satisfies the identified requirements and retrieve the data file so identified. The retrieved data file is then used in the display creation process. The display device characteristics are determined in well known fashion by the processor P and the various display areas are scaled based upon authoring definitions and actual display resolution, so that the authored image is mapped into the final image. This image translation process portion of the presentation generation process PG can use features such as scaling, centering, wrapping, and the like to convert the stored image to the desired rendering on the presentation space which is provided.
Typical Presentation Example
In order to illustrate the operation of the system of the present invention, Figures 2-1 1 illustrate a selection of screen displays indicative of a typical multi¬ media real estate presentation that can be generated using this system. When the user of a kiosk, or Web site or CD-ROM disk activates the presentation process, the presentation generation process PG accesses the presentation which comprises a plurality of document plates and an associated collection of resource objects and widget objects. The document plates comprise the presentation framework via which the resource objects are presented to the user in response to the user or other stimulus activating widget objects which are associated with the document plates.
Figure 2 illustrates the initial display screen which is produced when the widget defined by the wplate widget object which defines the first document plate is accesses by the presentation process. This wplate widget object includes/contains a plurality of other objects which are used by the presentation process to create the display screen shown in Figure 2. In particular, there is a basic image comprising the background, text, logo, and button definitions that are
combined to produce this image. Each of the buttons which are displayed in Figure 2 comprise a separate widget object, which are activated, in this instance, by the user moving the cursor on to a selected button/image/area and/or clicking the mouse to activate the selected button/image/area. This stimulus causes the presentation process to activate the selected widget object to execute the behavior that is associated with this widget object. Most of the button options illustrated in Figure 2 are well known in the presentation field, it is their implementation that is unique. For example, the user can select the "Main Menu" button and click thereon to obtain the screen display of Figure 3. The activation of the widget object associated with this selected button is again a wplate widget object which defines another document plate, whose embodiment is shown in Figure 3. The main menu of Figure 3 is again a collection of resource objects and widget objects which are combined by the presentation process to create and manage the image shown in Figure 3. Each of the menu items comprises a widget object, which can be activated by the user to obtain further information. The directional arrows located at the bottom of the image enable the user to scroll in either direction if the main menu contains more entries than can be displayed on a single image.
Assume that the user has selected the menu option of "HOME OWNER Realty" by the point and click method. The presentation process activates the widget object which is associated with this selection and a new wplate object is activated to produce the display of Figure 4. This display screen comprises the images of six homes for sale in the "Janesville" area as well as realtor identification information. There are a number of control buttons included at the lower right hand corner of the display to enable the user to navigate through the presentation. If the user moves the cursor on to one of the pictures of the six homes shown in Figure 4, the display changes to that shown in Figure 5 wherein the system automatically prompts the user with a message "CLICK THIS IMAGE TO VIEW MORE DETAILS" to thereby enable the user to obtain additional information regarding the home so identified. If the user clicks on this selected home image, the screen display of Figure 6 is presented, which provides additional information as well as menu selections to enable the user to branch to other groups of home selections. Thus, the user can navigate the available selection of homes by
selecting a price range and location from this menu. The presentation system responds to such a combination of selections by searching the resource objects which satisfy these criteria and presenting the excerpted selections in a predefined format, such as that shown in Figure 5. Thus, the presentation is defined by the user input, and does not comprise a standard series of immutable pages. The data used to create the screen displays is defined by the operation of the widget objects, which are responsive to the user input.
For the purpose of simplicity, assume that the user selects and activates the "OK" selection to view additional information with respect to the displayed home. The presentation system responds to this selection by producing the screen display of Figure 7. A unique capability of this display screen is that the user can select one of the views shown in this display and activate the widget object associated therewith to blow up the image to full screen size. Such a display is shown in Figure 8. Location Map and Additional Area Information
In addition to the displays shown in Figures 2-8, location map and additional area information can be provided. In particular, by activating a menu entry (not shown) in the main menu of Figure 3, the user can retrieve a map, shown in Figure 9, of the area of interest. The map could also be accessed via the real estate screens of Figures 4-8, such that the selected residence elicits a detailed map of the location of the residence in the town. Furthermore, the employer information presented in Figures 10 and 11 can be accessed via menu and displays in Figure 10 a listing of employers and some relevant statistics. By the user placing the cursor on a particular entry on the screen, the display of Figure 11 is produced, wherein the bottom portion of the screen is updated to provide some detailed data regarding the selected employer. Talent Agency Example
Figures 12-15 illustrate screen displays indicative of an employment agency presentation that can be generated using this system. Figure 12 illustrates the initial screen display which comprises a combination of resource objects and widget objects. The primary choices for the presentation, in addition to the music, sound, test volume and go back controls, are the four presentation controls located to the
left of center in the screen illustrated in Figure 12. For the sake of example, assume that the user selects the contact sheet presentation located in the upper left corner of the four presentation selections. The placement of the cursor on this "button" area and the user clicking on this selection causes the presentation process to retrieve the document plate associated with this option and produce the screen display of Figure 13. The screen display of Figure 13 provides the user with the typical presentation scrolling controls along the upper margin of the screen. In addition, a plurality of photos of models are arranged in a matrix layout. The selection of the photographs for this matrix layout is static in that the collection shown in Figure 13 is predetermined to populate the photo locations of the contact sheet of Figure 13. The user can position the cursor over one of the photos, which operation causes the name of the selected model to be displayed, as shown in Figure 13 with the name "Jill Blair" being displayed on the photo which is presently being pointed to by the cursor. If the user selects one of the photos of the contact sheet of Figure 13 by the cursor position and click operation, additional information is presented to the user in the form of the screen display of Figure 14. This screen display illustrates a variety of information, textual information providing descriptive information regarding the selected individual, and various multi-media presentation information In particular, the widget objects that are presented herein include a slide show, additional photos, a resume, and a voice clip. Thus, by selecting the appropriate selection, the user can receive textual, and/or audio, and/or video information relating to the selected individual. This additional information is in the form of specific resource objects which can be updated without having to modify the presentation. The screen display can also be printed as shown by the selection and operation of the "PRINT" button. Furthermore, the user is presented with a calendar option, the selection of which produces the screen display of Figure 15. This screen display enables the user to select the month of the year by selection of the corresponding option button on the top of the screen, which causes the body of the calendar to be populated with the corresponding calendar format data The calendar includes the photograph selected by the user in the prior screen of the
presentation. This calendar page can be printed by the operation of the "PRINT" button on the screen display.
While a specific embodiment of the invention has been disclosed herein, the implementation details which are presented are not intended to limit the scope of the invention as defined in the appended claims, since it is envisioned that alternate embodiments of this invention can be created which fall within the intended scope of the invention.
Claims
1. Apparatus for generating a multimedia presentation, which consists of a plurality of document plates for display on a display device, comprising. means, using SGML based syntax, for defining a plate layout for each of said document plates, said plate layout comprising a plurality of object based tags, each object based tag defining an instance of an object; means, using object based syntax, for defining resource objects, each of said resource objects comprising a static graphical or textual content for display on said display device, means, using SGML based syntax, for defining widget objects, each of said widget objects comprising an active display element for display on said display device, each of said widget objects being responsive to a stimulus for performing a predefined action, means, responsive to activation of a predefined first of said plurality of said document plates, for producing a screen display, defined by said first document plate, on said display device; and means, responsive to user input, for controlling rendering of said resource objects and other ones of said plurality of document plates onto said display device.
2. The apparatus of claim 1 wherein said means for producing comprises: means, responsive to said display device which has predefined characteristics including: size, resolution, and display method, for rendering said screen display to encompass substantially the entirety of said display device
3. The apparatus of claim 2 wherein said means for producing further comprises: means for managing each of said resource objects selected for display on said display device as a multi-resolution image resource; and presentation means responsive to receipt of a multi-resolution image resource for activating at least one of a scaling method to size an image produced from said multi-resolution image resource and a drawing mode to set display resolution for an image produced from said multi-resolution image resource
4. The apparatus of claim 2 wherein said means for rendering comprises: means for storing a plurality of images, each of which comprise a different version of a common base image; and means for selecting a one of said plurality of stored images in response to said predefined characteristics of said display device.
5. The apparatus of claim 1 wherein said means for producing comprises- means, responsive to said display device comprising a printer which has predefined characteristics including- size, resolution, and display method, for rendering said screen display onto a print format to encompass substantially the entirety of a print media processed by said printer
6. The apparatus of claim 1 further comprising: jukebox means, operable on a set of said resource objects which said resource objects contained in said set being of equivalent base class, for providing a sequence of said resource objects contained in said set.
7. The apparatus of claim 6 further comprising: means for shuffling said sequence of said resource objects contained in said set to randomize an order of presentation of said resource objects contained in said set.
8. The apparatus of claim 7 wherein said means for shuffling sequences through all members of said set of said resource objects before restarting the cycle of presenting said resource objects contained in said set.
9 The apparatus of claim 6 wherein said jukebox means operates on resource objects and resource object characteristics including, but not limited to: color, background, event, screen area location, and plate.
10. The apparatus of claim 6 wherein multiple ones of said jukebox means are concurrently operational on a said document plate presently extant on said display device
11. The apparatus of claim 1 wherein each of said resource objects are defined and identified by name, which name is associated with a path which enables a processor to locate said identified resource object which is stored in memory.
12. The apparatus of claim 11 wherein said apparatus is connected to a communication network, said apparatus further comprises: means, responsive to resource object refresh criteria, for periodically retπeving a latest version of said resource object, the periodicity of said periodically retrieving being defined by said refresh criteria.
13. The apparatus of claim 1 wherein each of said widget objects are associated with a locus on at least one of said document plates, said apparatus further comprising: means for sizing the relative size of screen to match presentation format supported by said display device with said widget object location proportionately changed to match a relative position on the original screen
14. The apparatus of claim 1 wherein a widget object is toggled between on and off states, with behavior of the widget object being defined by object based tag attribute value pairs associated with said widget object
15. A method for generating a multimedia presentation, which consists of a plurality of document plates for display on a display device, comprising the steps of: defining, using SGML based syntax, a plate layout for each of said document plates, said plate layout comprising a plurality of object based tags, each object based tag defining an instance of an object; defining, using SGML based syntax, resource objects, each of said resource objects comprising a static graphical or textual content for display on said display device; defining, using object based syntax, widget objects, each of said widget objects comprising an active display element for display on said display device, each of said widget objects being responsive to a stimulus for performing a predefined action; producing, in response to activation of a predefined first of said plurality of said document plates, a screen display, defined by said first document plate, on said display device; and controlling, in response to user input, rendering of said resource objects and other ones of said plurality of document plates onto said display device.
16. The method of claim 15 wherein said step of producing comprises: rendering, in response to said display device which has predefined characteristics including: size, resolution, and display method, said screen display to encompass substantially the entirety of said display device.
17. The method of claim 16 wherein said step of producing further comprises: managing each of said resource objects selected for display on said display device as a multi-resolution image resource; and activating, in response to receipt of a multi-resolution image resource, at least one of a scaling method to size an image produced from said multi-resolution image resource and a drawing mode to set display resolution for an image produced from said multi-resolution image resource.
18. The method of claim 16 wherein said step of rendering comprises: storing a plurality of images, each of which comprise a different version of a common base image; and selecting a one of said plurality of stored images in response to said predefined characteristics of said display device.
19. The method of claim 15 wherein said step of producing comprises: rendering, in response to said display device comprising a printer which has predefined characteristics including: size, resolution, and display method, said screen display onto a print format to encompass substantially the entirety of a print media processed by said printer.
20. The method of claim 15 further comprising the step of: ordering a set of said resource objects which said resource objects contained in said set being of equivalent base class, to provide a sequence of said resource objects contained in said set.
21. The method of claim 20 further comprising the step of: shuffling said sequence of said resource objects contained in said set to randomize an order of presentation of said resource objects contained in said set.
22. The step of claim 21 wherein said step of shuffling sequences through all members of said set of said resource objects before restarting the cycle of presenting said resource objects contained in said set.
23. The method of claim 20 wherein said step of ordering operates on resource objects and resource object characteristics including, but not limited to: color, background, event, screen area location, and plate.
24. The method of claim 15 wherein each of said resource objects are defined and identified by name, which name is associated with a path which enables a processor to locate said identified resource object which is stored in memory and wherein said processor is connected to a communication network, said method further comprises the step of: periodically retrieving, in response to resource object refresh criteria, a latest version of said resource object, the periodicity of said periodically retrieving being defined by said refresh criteria.
25. The method of claim 15 wherein each of said widget objects are associated with a locus on at least one of said document plates, said method further comprising the step of: sizing the relative size of screen to match presentation format supported by said display device with said widget object location proportionately changed to match a relative position on the original screen
26. The method of claim 15 wherein a widget object is toggled between on and off states, with behavior of the widget object being defined by object based tag attribute value patrs associated with said widget object
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US65905896A | 1996-06-04 | 1996-06-04 | |
US08/659,058 | 1996-06-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO1997046957A1 true WO1997046957A1 (en) | 1997-12-11 |
Family
ID=24643861
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US1997/009542 WO1997046957A1 (en) | 1996-06-04 | 1997-06-02 | Method and apparatus for multimedia presentations |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO1997046957A1 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP0977129A1 (en) * | 1998-07-30 | 2000-02-02 | Infopoint Systems Research & Development Ltd. | Development of multi-media systems |
EP0997829A1 (en) * | 1998-10-28 | 2000-05-03 | Vartec, Naamloze vennootschap | "Method and device for simplifying the production of multimedia". |
GB2346988A (en) * | 1999-02-19 | 2000-08-23 | Int Computers Ltd | Report production in object-orientated computer systems |
WO2000019332A3 (en) * | 1998-09-25 | 2001-02-08 | Narrative Comm Corp | Changing advertisement size in response to user interactions |
EP1085431A2 (en) * | 1999-09-20 | 2001-03-21 | NCR International, Inc. | Information retrieval and display |
WO2001022257A3 (en) * | 1999-09-22 | 2002-08-01 | Siemens Corp Res Inc | Automatic generation of card-based presentation documents from multimedia data |
WO2002092351A3 (en) * | 2001-05-11 | 2003-07-10 | Neopost Inc | Method and system for providing stamps by kiosk |
US6684211B1 (en) * | 1998-04-01 | 2004-01-27 | Planetweb, Inc. | Multimedia communication and presentation |
US6839059B1 (en) | 2000-08-31 | 2005-01-04 | Interactive Video Technologies, Inc. | System and method for manipulation and interaction of time-based mixed media formats |
US6922702B1 (en) * | 2000-08-31 | 2005-07-26 | Interactive Video Technologies, Inc. | System and method for assembling discrete data files into an executable file and for processing the executable file |
US7069253B2 (en) | 2002-09-26 | 2006-06-27 | Neopost Inc. | Techniques for tracking mailpieces and accounting for postage payment |
US7194957B1 (en) | 1999-11-10 | 2007-03-27 | Neopost Inc. | System and method of printing labels |
EP1305720A4 (en) * | 2000-06-07 | 2007-04-11 | Ebay Inc | Dynamic selection of images for web pages |
US7418483B2 (en) | 1998-10-23 | 2008-08-26 | Ebay, Inc. | Aggregation of reduced-sized images |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3940051A1 (en) * | 1988-12-05 | 1990-06-07 | American Telephone & Telegraph | IMAGE DISPLAY ARRANGEMENT |
-
1997
- 1997-06-02 WO PCT/US1997/009542 patent/WO1997046957A1/en active Application Filing
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3940051A1 (en) * | 1988-12-05 | 1990-06-07 | American Telephone & Telegraph | IMAGE DISPLAY ARRANGEMENT |
Non-Patent Citations (3)
Title |
---|
CRUZ G C ET AL: "The role of a descriptive markup language in the creation of interactive multimedia documents for customized electronic delivery", EP90 PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON ELECTRONIC PUBLISHING, DOCUMENT MANIPULATION AND TYPOGRAPHY, GAITHERSBURG, MD, USA, 18-20 SEPT. 1990, ISBN 0-521-40246-8, 1990, CAMBRIDGE, UK, CAMBRIDGE UNIV. PRESS, UK, pages 277 - 290, XP002042088 * |
KOEGEL J F ET AL: "HyOctane: a HyTime engine for an MMIS", PROCEEDINGS ACM MULTIMEDIA 93, PROCEEDINGS OF FIRST ACM INTERNATIONAL CONFERENCE ON MULTIMEDIA, ANAHEIM, CA, USA, 2-6 AUG. 1993, ISBN 0-89791-596-8, 1993, NEW YORK, NY, USA, ACM, USA, pages 129 - 136, XP002042087 * |
MCCABE E M: "Sliding into mathematics: creative use of widgets for engineering the universe", EUROGRAPHICS UK. CONFERENCE PROCEEDINGS 1995, PROCEEDINGS EUROGRAPHICS UK CONFERENCE, LOUGHBOROUGH, UK, 28-30 MARCH 1995, ISBN 0-9521097-2-7, 1995, ABINGDON, UK, EUROGRAPHICS UK, UK, pages 233 - 247, XP002042089 * |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6684211B1 (en) * | 1998-04-01 | 2004-01-27 | Planetweb, Inc. | Multimedia communication and presentation |
EP0977129A1 (en) * | 1998-07-30 | 2000-02-02 | Infopoint Systems Research & Development Ltd. | Development of multi-media systems |
WO2000019332A3 (en) * | 1998-09-25 | 2001-02-08 | Narrative Comm Corp | Changing advertisement size in response to user interactions |
US7499979B2 (en) | 1998-10-23 | 2009-03-03 | Ebay Inc. | Thumbnail image virtual address space |
US7418483B2 (en) | 1998-10-23 | 2008-08-26 | Ebay, Inc. | Aggregation of reduced-sized images |
EP0997829A1 (en) * | 1998-10-28 | 2000-05-03 | Vartec, Naamloze vennootschap | "Method and device for simplifying the production of multimedia". |
BE1012256A3 (en) * | 1998-10-28 | 2000-08-01 | Vartec Naamloze Vennootschap | Method and device to facilitate the realization of multimedia. |
GB2346988A (en) * | 1999-02-19 | 2000-08-23 | Int Computers Ltd | Report production in object-orientated computer systems |
EP1085431A2 (en) * | 1999-09-20 | 2001-03-21 | NCR International, Inc. | Information retrieval and display |
EP1085431A3 (en) * | 1999-09-20 | 2006-06-07 | NCR International, Inc. | Information retrieval and display |
US6865714B1 (en) | 1999-09-22 | 2005-03-08 | Siemens Corporate Research, Inc. | Automatic generation of card-based presentation documents from multimedia data |
WO2001022257A3 (en) * | 1999-09-22 | 2002-08-01 | Siemens Corp Res Inc | Automatic generation of card-based presentation documents from multimedia data |
US7194957B1 (en) | 1999-11-10 | 2007-03-27 | Neopost Inc. | System and method of printing labels |
EP1305720A4 (en) * | 2000-06-07 | 2007-04-11 | Ebay Inc | Dynamic selection of images for web pages |
US8335983B2 (en) | 2000-06-07 | 2012-12-18 | Ebay, Inc. | Dynamic selection of images for web pages |
US9116868B2 (en) | 2000-06-07 | 2015-08-25 | Ebay, Inc. | Automated selection of images for web pages |
US9477773B2 (en) | 2000-06-07 | 2016-10-25 | Ebay Inc. | Automated selection of images for web pages |
US6922702B1 (en) * | 2000-08-31 | 2005-07-26 | Interactive Video Technologies, Inc. | System and method for assembling discrete data files into an executable file and for processing the executable file |
US6839059B1 (en) | 2000-08-31 | 2005-01-04 | Interactive Video Technologies, Inc. | System and method for manipulation and interaction of time-based mixed media formats |
WO2002092351A3 (en) * | 2001-05-11 | 2003-07-10 | Neopost Inc | Method and system for providing stamps by kiosk |
US7069253B2 (en) | 2002-09-26 | 2006-06-27 | Neopost Inc. | Techniques for tracking mailpieces and accounting for postage payment |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6275227B1 (en) | Computer system and method for controlling the same utilizing a user interface control integrated with multiple sets of instructional material therefor | |
US6429880B2 (en) | Method and apparatus for binding user interface objects to application objects | |
US7890877B2 (en) | Systems and methods for improved portal development | |
US7036085B2 (en) | Graphic-information flow method and system for visually analyzing patterns and relationships | |
RU2347258C2 (en) | System and method for updating of metadata in browser-shell by user | |
US7519573B2 (en) | System and method for clipping, repurposing, and augmenting document content | |
EP1712991B1 (en) | System and method for providing a consistent visual appearance to output generated by multiple applications | |
US7487185B2 (en) | Technique for changing views of web content | |
US20100107056A1 (en) | Constructing And Maintaining Web Sites | |
JP2002189595A (en) | Integrated method for creating refreshable web query | |
JP2006309801A (en) | Distributed publishing for hypermedia on wide area network and integrated development platform for management | |
US20020109725A1 (en) | Control apparatus and control method for starting application software on a computer, and multi-monitor computer, client-server system, and storage medium using the same | |
JP2005526999A (en) | Web-based help / training content | |
US20100037145A1 (en) | Method and system for a personalized web page | |
WO1997046957A1 (en) | Method and apparatus for multimedia presentations | |
US20040254864A1 (en) | Parts catalog creating system and program therefor | |
JP2002509630A (en) | Multimedia project management and control system | |
WO2002006988A1 (en) | A method and system for creation of a spatially referenced multimedia relational database_ | |
US20050289454A1 (en) | Interactive website configuration, display and management application | |
US20080016458A1 (en) | Smart page with prescribed format, layout and function boxes | |
US20030011632A1 (en) | System and method for interactively indicating content preferences | |
US20040145611A1 (en) | Method, program, and system for editing contents of multimedia | |
US7698655B2 (en) | Portal branding | |
JP2002269578A (en) | System and method for creating template of digital picture book | |
Chang et al. | Mobile Website Creation based on Web Data eXtraction and Reuse |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): CA JP |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): AT BE CH DE DK ES FI FR GB GR IE IT LU MC NL PT SE |
|
DFPE | Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101) | ||
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
NENP | Non-entry into the national phase |
Ref country code: JP Ref document number: 98500785 Format of ref document f/p: F |
|
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: CA |