WO1997046957A1 - Method and apparatus for multimedia presentations - Google Patents

Method and apparatus for multimedia presentations Download PDF

Info

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
Application number
PCT/US1997/009542
Other languages
French (fr)
Inventor
Jerold Russell Sampson
Original Assignee
Tallpine Technologies, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Tallpine Technologies, Inc. filed Critical Tallpine Technologies, Inc.
Publication of WO1997046957A1 publication Critical patent/WO1997046957A1/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/80Information 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/81Indexing, e.g. XML tags; Data structures therefor; Storage structures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/40Information 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.

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

WHAT IS CLAIMED:
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
PCT/US1997/009542 1996-06-04 1997-06-02 Method and apparatus for multimedia presentations WO1997046957A1 (en)

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 (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0977129A1 (en) * 1998-07-30 2000-02-02 Infopoint Systems Research &amp; Development Ltd. Development of multi-media systems
WO2000019332A2 (en) * 1998-09-25 2000-04-06 Narrative Communications Corporation Changing advertisement size in response to user interactions
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
EP1085431A2 (en) * 1999-09-20 2001-03-21 NCR International, Inc. Information retrieval and display
WO2001022257A2 (en) * 1999-09-22 2001-03-29 Siemens Corporate Research, Inc. Automatic generation of card-based presentation documents from multimedia data
WO2002092351A2 (en) * 2001-05-11 2002-11-21 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

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3940051A1 (en) * 1988-12-05 1990-06-07 American Telephone & Telegraph IMAGE DISPLAY ARRANGEMENT

Patent Citations (1)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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 (22)

* Cited by examiner, † Cited by third party
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 &amp; Development Ltd. Development of multi-media systems
WO2000019332A2 (en) * 1998-09-25 2000-04-06 Narrative Communications Corporation Changing advertisement size in response to user interactions
WO2000019332A3 (en) * 1998-09-25 2001-02-08 Narrative Comm Corp Changing advertisement size in response to user interactions
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
EP1085431A3 (en) * 1999-09-20 2006-06-07 NCR International, Inc. Information retrieval and display
EP1085431A2 (en) * 1999-09-20 2001-03-21 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
WO2001022257A2 (en) * 1999-09-22 2001-03-29 Siemens Corporate Research, 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
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
WO2002092351A3 (en) * 2001-05-11 2003-07-10 Neopost Inc Method and system for providing stamps by kiosk
WO2002092351A2 (en) * 2001-05-11 2002-11-21 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
US6262729B1 (en) Method and apparatus for binding user interface objects to application objects
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
US7188319B2 (en) Displaying graphical information and user selected properties on a computer interface
US8176417B2 (en) Constructing and maintaining web sites
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
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
US20100037145A1 (en) Method and system for a personalized web page
US20040254864A1 (en) Parts catalog creating system and program therefor
WO1997046957A1 (en) Method and apparatus for multimedia presentations
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
US7698655B2 (en) Portal branding
JP2002342377A (en) Web page browsing program
Chang et al. Mobile Website Creation based on Web Data eXtraction and Reuse
Hardy et al. Introduction to Web Matrix: ASP. NET Development for Beginners
Jenkins et al. Dreamweaver CS5 All-in-one for Dummies

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