Title:
System and method for multimedia authoring and playback
Document Type and Number:
Kind Code:
A1

Abstract:
A multimedia authoring and playback system and method in which the playback of multimedia content is presented in one or more windows or displays called “playback displays,” and in which additional windows or displays called “control displays” are included in some embodiments to provide various management and control functions. Included are features for creating, editing and distributing multimedia content, which may be viewed by recipients who play the content (and in some cases may be allowed to modify it); also included are features for programming playback behavior of multimedia content, interconnecting multimedia content, and exploring and navigating through multimedia content.

Representative Image:
Inventors:
Land, Michael Z. (Berkeley, CA, US)
Mcconnell, Peter N. (Berkeley, CA, US)
Mcmahon, Michael J. (Fairfax, CA, US)
      Plaque It!

Application Number:
10/325898
Publication Date:
02/26/2004
Filing Date:
12/18/2002
View Patent Images:
Images are available in PDF form when logged in. To view PDFs, Login  or  Create Account (Free!)
Primary Class:
International Classes:
(IPC1-7): H04L009/00
Attorney, Agent or Firm:
Dergosits & Noah LLP,Michael E. Dergosits (Four Embarcadero Center, Suite 1450, San Francisco, CA, 94111, US)
Claims:

What is claimed is:



1. An authoring method comprising the steps of: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including picture data; playing back the presentation data by presenting the media data in a playback display, wherein the display position of the media data in the playback display can be specified by a user of the system; and adding a new picture from a connected camera to the presentation data being displayed in the playback display by performing actions that include initiating a picture capture process for the connected camera and concluding the picture capture process to accept the picture, followed by further action comprising adding the accepted picture to the presentation data by specifying its display position in the playback display.

2. An authoring method comprising the steps of: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including video data; playing back the presentation data by presenting the media data in a playback display, wherein the display position of the media data in the playback display can be specified by a user of the system; and adding a new video recording from a connected camera to the presentation data being displayed in the playback display by performing actions that include activating a video capture window for the connected camera, initiating a video capture process in the video capture window and concluding the video capture process to accept the video recording, followed by further action comprising adding the accepted video recording to the presentation data by specifying its display position in the playback display.

3. An authoring method comprising the steps of: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; playing back the presentation data by presenting the media data in a playback display, wherein the display color of the media data can be specified by a user of the system; and adjusting the display color of media data being displayed in the playback display by performing four actions consisting of (1) selecting via a graphical user interface (GUI) a command for adjusting color, (2) selecting a piece of media data displayed in the playback display, (3) moving a pointing device in a two dimensional plane wherein the color hue is mapped to one axis of the plane and the color brightness is mapped to another axis of the plane and the color of the displayed media data changes in real time in response to the movement of the pointing device, and (4) accepting the new display color of the media data.

4. An authoring method as recited in claim 3, wherein the selection of the command via the GUI is performed by selecting a command icon in the GUI.

5. An authoring method as recited in claim 3, wherein the two dimensional plane has a hue axis which wraps around in a continuous fashion, whereby movement in the plane along the hue axis beyond the position corresponding to red yields a color of violet, and movement in the plane along the hue axis beyond the position corresponding to violet yields a color of red.

6. An authoring method comprising the steps of: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; playing back the presentation data by presenting the media data in a playback display, wherein the media data can be displayed using a shape effect comprising alteration of the shape of the displayed media data, and wherein the media data can be displayed using a softness effect comprising gradually increasing transparency toward the edges of the displayed media data; and adjusting simultaneously the shape and softness of media data being displayed in the playback display by performing four actions consisting of (1) selecting via a graphical user interface (GUI) a command for adjusting shape and softness, (2) selecting a piece of media data displayed in the playback display, (3) moving a pointing device in a two dimensional plane wherein the shape is mapped to one axis of the plane and the softness is mapped to another axis of the plane and the shape and softness of the displayed media data change in real time in response to the movement of the pointing device, and (4) accepting the new shape and softness of the media data.

7. An authoring method as recited in claim 6, wherein the selection of the command via the GUI is performed by selecting a command icon in the GUI.

8. An authoring system comprising: presentation data including at least one container object containing at least two media objects containing media data, the media data including video data; and a playback display for playing back the presentation data by presenting the media data in the playback display, wherein the media data is a video recording which is played back using an end-looping effect whereby normal playback of the video is followed by repeated, looped playback of the final portion of the video, and wherein the loop-back point of the looped playback is selected each time according to a randomized value, and wherein the end-looping effect is a built-in system function which has been enabled by a user of the system.

9. An authoring system as recited in claim 8, further comprising a graphical user interface (GUI) allowing a system user to enable the end-looping effect for a given video recording in the playback display by performing, in either order, two actions consisting of (1) selecting the video recording in the playback display, and (2) selecting via the GUI a command for enabling the end-looping effect.

10. An authoring system as recited in claim 9, wherein the selection of the command via the GUI is performed by selecting a command icon in the GUI.

11. An authoring system comprising: presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; a playback display for playing back the presentation data by presenting the media data in the playback display; programmed object behavior controlling the presentation of media data in the playback display, wherein the programmed object behavior involves a first media object and a second media object which may be one and the same media object; and a graphical user interface (GUI) allowing a system user to create the programmed object behavior by performing, in any order, three actions consisting of (1) selecting in the playback display media data corresponding to the first media object, (2) selecting via the GUI a programming function corresponding to the programmed object behavior, and (3) selecting in the playback display media data corresponding to the second media object.

12. An authoring system as recited in claim 11, wherein the selection of the programming function via the GUI is performed by selecting a command icon in the GUI.

13. An authoring system as recited in claim 11, wherein the programmed object behavior specifies that user selection in the playback display of the media data corresponding to the first media object causes the media data corresponding to the second media object to be displayed in the playback display.

14. An authoring system as recited in claim 11, further comprising a timer and wherein the timer begins counting down when the media data corresponding to the first media object appears in the playback display, and wherein the programmed object behavior specifies that the expiration of the timer causes the media data corresponding to the second media object to be displayed in the playback display.

15. An authoring system as recited in claim 11, wherein the programmed object behavior specifies that user selection in the playback display of the media data corresponding to the first media object causes the media data corresponding to the first media object to be removed from the playback display and causes the media data corresponding to the second media object to be displayed in the playback display.

16. An authoring system as recited in claim 11, further comprising a timer and wherein the timer begins counting down when the media data corresponding to the first media object appears in the playback display, and wherein the programmed object behavior specifies that the expiration of the timer causes the media data corresponding to the first media object to be removed from the playback display and causes the media data corresponding to the second media object to be displayed in the playback display.

17. An authoring system as recited in claim 11, wherein the programmed object behavior specifies that the first and second media objects are grouped whereby the displaying in the playback display of the media data corresponding to either media object causes the media data corresponding to the other media object to also be displayed in the playback display, and whereby the removal from the playback display of the media data corresponding to either media object causes the media data corresponding to the other media object to also be removed from the playback display.

18. An authoring system as recited in claim 11, wherein the programmed object behavior specifies that the first and second media objects are exclusive whereby the displaying in the playback display of the media data corresponding to either media object causes the media data corresponding to the other media object, if presently displayed in the playback display, to be removed from the playback display.

19. An authoring system comprising: presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; hierarchical structuring of the presentation data by nesting container objects within container objects to form a hierarchical object space; a playback display for playing back the presentation data by presenting the media data in the playback display, the playback display being associated with a master container object that contains the set of playing objects whose media data is displayed in the playback display; a destination container object which is directly contained within the master container object, and which is associated with a nested sub-display shown within the playback display, and which contains at least two media objects which are playing and whose media data is displayed within the sub-display; and user-initiated navigation through the hierarchical object space comprising a preemption of playback for the playing objects contained in the master container object which are not contained within the destination container object, and further comprising a transition whereby the nested sub-display is no longer displayed in the playback display and the media data previously displayed in the nested sub-display becomes displayed in the playback display overall.

20. An authoring system as recited in claim 19, wherein the user initiates navigation by using a pointing device to select in the playback display the sub-display associated with the destination container object.

21. An authoring system as recited in claim 19, wherein a system user using a pointing device can manipulate the sub-display in the playback display to adjust display settings for it which include at least one of size, position, cropping and stretch.

22. An authoring system as recited in claim 19, wherein the transition includes a zooming effect whereby the sub-display grows over time until it fills the playback display.

23. An authoring system as recited in claim 19, wherein the destination container object further contains a nested container object associated with a nested sub-display embedded within the nested sub-display of the destination container object, and wherein the nested container object contains at least two media objects which are playing and whose media data is displayed within its associated sub-display, comprising a sub-display within a sub-display.

24. An authoring system as recited in claim 19, wherein the destination container object is a container pointer object which is a container object that references a base container object for its contained objects.

25. An authoring system as recited in claim 24, wherein the container pointer object references its base container object over a network using a network address.

26. An article of manufacture embodying a program of instructions executable by a machine, the program of instructions including instructions for: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including picture data; playing back the presentation data by presenting the media data in a playback display, wherein the display position of the media data in the playback display can be specified by a user of the system; and adding a new picture from a connected camera to the presentation data being displayed in the playback display by performing actions that include initiating a picture capture process for the connected camera and concluding the picture capture process to accept the picture, followed by further action comprising adding the accepted picture to the presentation data by specifying its display position in the playback display.

27. An article of manufacture embodying a program of instructions executable by a machine, the program of instructions including instructions for: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including video data; playing back the presentation data by presenting the media data in a playback display, wherein the display position of the media data in the playback display can be specified by a user of the system; and adding a new video recording from a connected camera to the presentation data being displayed in the playback display by performing actions that include activating a video capture window for the connected camera, initiating a video capture process in the video capture window and concluding the video capture process to accept the video recording, followed by further action comprising adding the accepted video recording to the presentation data by specifying its display position in the playback display.

28. An article of manufacture embodying a program of instructions executable by a machine, the program of instructions including instructions for: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; playing back the presentation data by presenting the media data in a playback display, wherein the display color of the media data can be specified by a user of the system; and adjusting the display color of media data being displayed in the playback display by performing four actions consisting of (1) selecting via a graphical user interface (GUI) a command for adjusting color, (2) selecting a piece of media data displayed in the playback display, (3) moving a pointing device in a two dimensional plane wherein the color hue is mapped to one axis of the plane and the color brightness is mapped to another axis of the plane and the color of the displayed media data changes in real time in response to the movement of the pointing device, and (4) accepting the new display color of the media data.

29. An article of manufacture embodying a program of instructions executable by a machine, the program of instructions including instructions for: storing presentation data including at least one container object containing at least two media objects containing media data, the media data including at least one of text data, picture data and video data; playing back the presentation data by presenting the media data in a playback display, wherein the media data can be displayed using a shape effect comprising alteration of the shape of the displayed media data, and wherein the media data can be displayed using a softness effect comprising gradually increasing transparency toward the edges of the displayed media data; and adjusting simultaneously the shape and softness of media data being displayed in the playback display by performing four actions consisting of (1) selecting via a graphical user interface (GUI) a command for adjusting shape and softness, (2) selecting a piece of media data displayed in the playback display, (3) moving a pointing device in a two dimensional plane wherein the shape is mapped to one axis of the plane and the softness is mapped to another axis of the plane and the shape and softness of the displayed media data change in real time in response to the movement of the pointing device, and (4) accepting the new shape and softness of the media data.

Description:

CROSS REFERENCE TO RELATED APPLICATIONS

[0001] This application is a continuation-in-part application of U.S. patent application Ser. No. 10/027,430, filed on Dec. 19, 2001. This application claims priority under 35 U.S.C. 120 from U.S. patent application Ser. No. 10/027, 430 and claims priority under 35 U.S.C. 365(c) from PCT patent application serial number PCT/US01/50458, filed Dec. 19, 2001. Further, both U.S. patent application Ser. No. 10/027,430 and PCT Application No. PCT/US01/50458 claim priority from U.S. Provisional Patent Application No. 60/256,862, filed Dec. 19, 2000. The subject matter of each of U.S. patent application Ser. No. 10/027,430, PCT Application No. PCT/US01/50458 and U.S. Provisional Application No. 60/256,862 is incorporated herein by reference.

FIELD OF THE INVENTION

[0002] The present invention relates generally to the creation and presentation of multimedia content, including applications, presentations, electronic greetings, websites and other forms of computer-based visual and audio-visual content, and more specifically to a multimedia authoring and playback system with improved features for the creation and presentation of multimedia content.

BACKGROUND OF THE INVENTION

[0003] Since the early 1990's, as the processing power of computers has increased, so has their ability to produce and present high-quality visual and audio-visual content in the form of games, applications, animations, presentations and the like. With the Internet explosion of the late 1990's, the ability of computers to share this content over a network and present it online has become increasingly important. Yet the tools for authoring, viewing, publishing and sharing of this content have evolved from disparate sources and specialized needs, and bring with them individual legacies and collective incompatibilities. Furthermore, the evolution of these tools has failed to keep pace with the growing mass market of computer users. In particular, many of the authoring tools were initially designed for professional use, and attempts to “dumb them down” for non-professional users have lead to mixed results.

[0004] In general, multimedia tools typically provide certain basic authoring and control features. These include capabilities for creating and/or importing media objects that contain media data (which can include text data, image data, video data, animated graphics data, sound data and other data representative of visual and/or audio information), editing media data, editing display settings that determine how media data is displayed, programming playback behavior that controls how media data is presented, organizing and structuring objects, and outputting finished pieces of multimedia content that can then be stored on Internet-enabled servers and linked together via the World Wide Web. All of these features can vary from system to system.

[0005] In general, the features of an authoring system are implemented according to the expected skill level of the user of the system. For example, an author may want to specify the circumstances under which a given media object starts and stops playing, its on-screen size and location, time-based or event-driven changes to its size and location, and various other playback behaviors appropriate to the object. The means by which this is done needs to be tailored to the expected skill level of the author. Therefore, the features of an authoring system tend to vary greatly depending on how sophisticated the author is assumed to be. Typically, some of the most significant variations among system features tend to occur in features which allow playback behavior to be specified by authors.

[0006] In systems where the author is assumed to be sophisticated, a great deal of power and control is generally provided for specifying playback behavior, but at a price in terms of difficulty and complexity. For example, a professional Web developer may need to create a cutting-edge, science-fiction-style user interface for a major entertainment website, in which extremely detailed control over the playback behavior of media objects is needed to provide the expected degree of activity and responsiveness. The prevailing method for achieving this level of control involves the use of scripting, exemplified by Javascript used in conjunction with HTML in Web applications and by proprietary scripting languages built into many high end authoring systems (such as Macromedia Flash® MX).

[0007] Scripting methods operate at their most basic level by associating a list of instructions, called a script, with a triggering event. The possible triggering events for scripts vary, and can include real-time input from the user interface, timers and clocks, trigger points within media object timelines, other scripts, etc. When the triggering event for a script occurs, a script playback engine, called an interpreter, reads the instructions in the script and performs the actions and procedures specified therein. In a multimedia system, these actions and procedures typically include not only the features customarily found in any programming environment, such as subroutines, conditional branches, general purpose variables, math operations, etc., but they also include facilities for controlling and manipulating the playback of media objects.

[0008] Regardless of the specific instructions supported by a particular scripting method, current methods of scripting are often unsatisfactory due to the procedural nature of scripting. Especially when dealing with highly interactive multimedia presentations with numerous possible states and paths, the step-by-step nature of the script tends to obscure the true structure of the content, and requires substantial mental visualization, i.e. sophistication, on the part of the author to be used effectively. As a result, current methods of scripting have significant drawbacks in multimedia authoring systems where ease of use for unsophisticated authors is needed.

[0009] One drawback is that the procedures used to create the scripts are abstract and fragmented, and do not correspond either directly or intuitively to the shape and structure of the resulting multimedia presentation. This problem becomes worse as the size and complexity of the multimedia presentation increases. To create a set of scripts that represents a highly interactive or expansive presentation, a large number of non-intuitive, interrelated procedures must be performed, often presenting a complex or frustrating burden to authors, particularly those who are inexperienced.

[0010] Another drawback is that current methods of scripting frequently result in rigid or too simplistic algorithms for determining the activity in a presentation. This tendency often leads to mechanical-looking results and misses the objective of creating appealing and entertaining multimedia content. For authors attempting to create multimedia content that is attractive or interesting to a viewing audience, this presents a burden in delivering appropriate results.

[0011] Therefore, current methods which use scripting to enable the author to specify the playback behavior of media objects are generally unable to provide the clarity, intuitiveness, and ease of use required to enable unsophisticated authors to produce high quality multimedia content.

[0012] In some authoring systems, a primary goal is ease of use for unsophisticated authors. For example, in a system which allows consumers to present a slide-show of family photographs on a personal website, only minimal control over the playback behavior of media objects is needed (i.e., selection of the order of the photographs), but the process of specifying that control must be simple enough to be easily understood by the average consumer. One method for enabling the author to specify the playback behavior of media objects where the manner of specifying is simple and easy to understand involves the use of templates.

[0013] Template methods in this field operate at their most basic level by associating individual media objects or sets of media objects with specified roles or events within a template. A template is a piece of multimedia content in which the playback behavior of the media objects has been programmed in advance, but in which some or all of the media objects have been left unspecified. Once the author has assigned one or more media objects to their desired roles or events within the template, the system incorporates the specified media objects into the template and outputs the combination as a finished piece of multimedia content.

[0014] Regardless of the specific methods used to associate media objects with roles or events within a template, current methods that use templates are frequently unsatisfactory due to the pre-programmed nature of the template, and because the author generally has no input into the structure of the template or the functionality it provides. Particularly with regard to multimedia presentations where individuality or uniqueness is desirable, an author's creative intentions are frequently unable to be realized using templates. As a result, current methods using templates have significant drawbacks where flexible or detailed control over the playback of media objects is desired.

[0015] One drawback with current methods using templates is that the procedures undertaken to develop templates cannot take into account each individual author's needs and tastes, but must rather make broad assumptions about authors in general. This limits the ability of templates to produce results which satisfy a variety of author's intentions and preferences.

[0016] Another drawback is that current methods using templates typically result in media object behavior that is generic or overly simplistic. This tendency often leads to multimedia content which is “canned” looking or otherwise unsophisticated. For authors that wish to create unique or sophisticated content, this presents a burden in delivering appropriate results.

[0017] Therefore, current systems and methods using templates to enable the author to specify the playback behavior of media objects are generally unable to provide the flexibility and author-specific control needed for satisfactory authoring of custom multimedia content.

[0018] In some authoring systems, the passage of time is used as an organizing principle for controlling the playback behavior of media objects. This would include systems designed to allow a consumer to shoot several minutes of home video and edit it into a one minute “movie” (an example being Apple Computer's® iMovie®); this would also include systems designed to allow a professional graphic artist to create frame-based animations and animated graphics (an example being Macromedia Flash® MX). In general, such systems provide the ability to take a number of separate media elements, such as text items, images, video segments, sound effects, musical clips, etc., and organize them in time. One way to provide this ability this is through the use of timelines.

[0019] Timeline methods in this field operate at their most basic level by providing means for the author to arrange media objects along a line which is divided into frames, each frame representing a discrete, constant unit of time passing. The “frame rate” of a timeline specifies the length of this constant unit; for example, a frame rate of ten frames per second means that each unit is a tenth of a second long. The timeline may further be divided into independent data paths or “layers” which allow the author to develop the behavior of several media objects in parallel. For example, one layer could be used for a background object, and separate layers might be used for each of several foreground objects. Additional features may be provided for organizing timelines into interconnected “scenes”, creating looping timelines, nesting timelines within timelines, and exporting the results as completed “movies.” Typically, finished movies are played back using a player application or Web browser plug-in. The application or plug-in interprets the movie data on a frame-by-frame basis and displays it to the end user.

[0020] Regardless of the specific methods used for defining playback behavior in time, current methods that use timelines are frequently unsatisfactory due to the inherently linear nature of representing object behavior along a timeline. In situations where the content being produced needs to be interactive for the end user, the behavior may involve many branching and converging paths, as well as conditions which may last for indefinite periods of time. Structures such as these are not easy to represent within the linear format of timelines. As a result, current methods using timelines have significant drawbacks when interactive or non-linear behavior for media objects is desired.

[0021] One drawback with current methods using timelines is that in order to achieve interactive playback, the timeline must be broken into segments, each of which represents part of the presentation. These segments, while still presented to the author as sequential and linear, may in fact be controlled by various jump, loop and branch commands, so that in fact they do not correspond either directly or intuitively to the shape and structure of the resulting multimedia presentation. This problem becomes worse as the level of interactivity of the presentation increases, often presenting a complex or frustrating burden to authors, particularly those who are inexperienced.

[0022] Another drawback is that timelines, even those which have been broken into individually controllable segments, typically produce multimedia content that has a repetitive or “looping” feel. This is because with timelines it is difficult to define several independently occurring processes, each with their own sense of time, that overlap and interact in unpredictable and varied ways. This limitation presents a substantial burden in creating multimedia content with enough variety and interest to merit extended or repeated viewings.

[0023] Some tools providers have attempted to address the problems of timeline methods by combining them with other methods, such as scripting and templates. In systems that combine timelines and scripting methods (such as Macromedia Flash® MX), the scripting has the same drawbacks as discussed above. In systems that combine timelines and template methods, the templates are typically canned sequences produced by professionals that can be laid out, interconnected and adjusted somewhat by the author. For example, the author may be able to specify some color schemes, fonts and custom text that appears in the animations. Examples of this approach are found at the website Moonfruit.com. But timeline templates present similar problems to the templates already discussed. They are inflexible, limit the creative input of the user and often result in a canned look.

[0024] Therefore, current systems and methods using timelines to enable the author to specify the playback behavior of media objects are generally unable to provide the flexibility and variety needed for satisfactory authoring of non-linear multimedia content.

[0025] The techniques described in the preceding discussion for enabling authors to specify playback behavior represent the most common techniques currently in use in the field. There is a broad variety of existing systems available to professional authors and consumers which employ these techniques, and these systems also include various capabilities for handling other aspects of content creation as mentioned above (such as creating and importing media objects, editing media data, editing display settings that determine how media data is displayed, organizing and structuring objects, outputting finished pieces of multimedia content, etc.). A representative overview of these systems is now provided.

[0026] The category of tools designed for use by professional authors includes the following systems. Macromedia Flash® Mx and Adobe LiveMotion™ are professional authoring and animation tools based on timelines and used for creating animations and interactive objects for Web pages and other presentations. Macromedia Dreamweaver® is a professional Web authoring tool used for creating and updating websites with a variety of text, picture and animation objects. Adobe Photoshop® is a professional art and digital photo editing tool which allows users to create and edit digital images. Tribeworks iShell™ and Quark Systems mTropolis® are professional multimedia authoring tools used to make presentations for CD-ROMs, kiosks and other location-based applications.

[0027] The category of tools designed for use by consumers includes the following systems. Roxio (formerly MGI) Photosuite® is a digital photo editing tool used to acquire and touch up digital photos, add effects and text and save them as standard picture files. Logitech QuickCam™ is a consumer tool (most recent Windows version is ImageStudio™) for capturing and editing digital photos and videos. Roxio (formerly MGI) Videowave™ is a consumer video editing tool used to acquire digital videos, edit them and add effects, and save the results as video files. Yahoo PageBuilder™ is a web-based consumer Web authoring tool which allows users to create Web pages online and add various animated effects. (Macromedia) Shockwave PhotoJam® allows users to create animated slide presentations using digital pictures and a number of built-in effects. Microsoft PowerPoint® is a slide presentation tool that allows the user to create sequential slide shows of text, pictures, movies and colored backgrounds. Moonfruit Sitemaker™ is a web-based consumer authoring tool (available online at www.moonfruit.com) used for creating and updating websites with a variety of text, picture and animation objects. SWiSHzone.com SWiSH™ is a consumer authoring tool (available online at www.swishzone.com) used for creating Flash animations.

[0028] In addition, the following systems, while not strictly focused on authoring, include features which relate to aspects of the present invention. Groove Networks Groove® is a peer-to-peer collaboration tool with basic visual authoring features allowing users to create and edit different types of documents collaboratively online. Jazz™ is a zooming user interface (ZUI) system under development at the University of Maryland, based on an earlier system, Pad++, developed at NYU and University of Mexico, which presents data objects as existing in a virtual space with infinite resolution that provides new ways to organize and view data. An application in the Jazz system is the CounterPoint™ plug-in for Microsoft PowerPoint 2000® which allows slides in a slide show presentation to be arranged on a two dimensional surface.

[0029] Regardless of which systems and methods are used during the authoring stage, the final stage of multimedia content creation typically involves outputting a finished piece of multimedia content and distributing it. This frequently involves exporting the content to a computer file which can then be stored on an Internet-enabled server and linked with other files via the World Wide Web. For example, someone using a web authoring tool to create a personal home page will typically output the page as a browser-readable HTML file and store it on a Web server, at which point the author's friends and family can view the page in their browsers and can put links to it in their own home pages.

[0030] This linking method provided by the World Wide Web allows separate pieces of multimedia content located on different computers and authored by different people to be connected together by including within one piece of multimedia content a reference to the Web address of another. A broad variety of authoring systems used to create multimedia content depend on this linking method of the World Wide Web to interconnect pieces of multimedia content stored on different computers.

[0031] The linking method provided by the World Wide Web operates at its most basic level by defining a browser-readable format for Web content called HTML (which may be extended by Javascript and downloadable browser “plug-ins” that read and play custom formats). Authors can associate a triggering event in one piece of Web content, such as the user clicking on a particular line of text displayed in the browser, with the Web address of a second piece of Web content. When the triggering event occurs, the browser discards the current piece of Web content and loads and displays the second piece of Web content, effecting a page change. The address specified in the link identifies the desired Web content in terms of the Web server on which it is stored, using either the Internet Protocol (IP) address of the server or a registered domain name (such as www.amazon.com) that is converted into the IP address by a Domain Name Server (DNS).

[0032] Linked pages created and posted to Web servers are viewed in a browser, which is a playback program that allows people to traverse, or “navigate,” through the distributed content page by page. It should be noted that this user “navigation” through distributed content is different from user “exploration” of files on the hard drive, such as that provided by Microsoft® Windows®, which involves traversing through a hierarchical file system (HFS) typically presented using a desktop metaphor. With exploration, the current location is defined within the context of the hierarchy, and means are provided to explore up or down in the hierarchy by opening nested containers called folders and presenting their contents. With navigation on the other hand, location is not defined within the context of a hierarchy. Rather, the content of a file or object being examined is displayed directly, and information is maintained about the file or object that was previously examined. A “back” function is provided to return to the previous file or object, and a “forward” function may be provided to return to the most recent content that a “back” function has been executed from.

[0033] The method used by Web browsers to effect page changes is conceptually simplistic, involving first discarding the current page and then loading and displaying the next. This approach often results in problems with the quality of the “Web surfing” experience provided to users of the browser. Particularly when it comes to effective presentation of link destinations, and the smoothness of transitions between Web pages, the linking method of the World Wide Web and its implementation by Web browsers can have significant drawbacks.

[0034] The main problem with the linking method of the World Wide Web is that the procedures a Web browser uses to access data for a new page do not begin until the triggering event for the link has occurred. This means that after clicking on a link, the user must wait for the data of the new page to load before seeing the new page, which often takes a substantial amount of time. Furthermore, when using a browser, the user cannot preview the actual destination of the link prior to committing to the page transition, but can only evaluate the destination based on information provided in the current page, which is frequently inadequate. As a result, users frequently become frustrated after triggering links which are slow to load, irrelevant to the purposes at hand, or both. This presents a substantial burden in providing an efficient and pleasing “Web surfing” experience for the user.

[0035] Therefore, current authoring and playback systems which depend on the linking method of the World Wide Web to provide linking of content across different computers inherit the drawbacks of that method, which include the inability to effectively represent link destinations to users and the inability to implement page changes smoothly.

[0036] As discussed above, methods currently in use for authoring multimedia content and for linking and viewing distributed multimedia content present a variety of drawbacks to the user. In authoring, what is needed is a level of control like that provided by scripting, without the complexity, loss of perspective and mechanical results inherent in scripting methods. What is further needed is a simplicity and ease of use like that provided by templates, without the restrictions imposed by template methods. What is also needed is the ability to control time-based processes without the inflexibility imposed by timelines. In linking and viewing distributed content, what is needed is a manner of connecting and presenting distributed content that provides for effective display of navigation destinations to the user and allows for a smooth and pleasing navigation experience for the user.

[0037] Finally, when taken as a whole, current systems for authoring, distributing and viewing multimedia content present a collective burden. Each only addresses a specific part of a much larger picture, resulting in incompatibilities and inefficiencies as content is passed from one tool to the next along the authoring, distribution and viewing chain. Therefore, what is further needed is a unified approach to authoring, distribution and viewing that eliminates these inefficiencies and incompatibilities.

SUMMARY OF THE INVENTION

[0038] In view of the above-described disadvantages with present systems, it is an advantage of embodiments of the present invention to provide a multimedia authoring and playback system that has more intuitive editing and control interfaces, and offers improved authoring of multimedia content.

[0039] It is an advantage of embodiments of the present invention to provide for high-quality authoring of multimedia content without the need for the user to have significant training in authoring methodology.

[0040] It is an advantage of embodiments of the present invention to provide system users with faster, more flexible capabilities for developing and managing multimedia content.

[0041] It is an advantage of embodiments of the present invention to provide users with advanced control features that maintain clarity, intuitiveness and ease of use.

[0042] It is an advantage of embodiments of the present invention to provide a multimedia authoring and playback system that lets users create dynamic and interactive content with less effort.

[0043] It is an advantage of embodiments of the present invention to provide more effective content creation and management capabilities through the use of improved object type characterizations and improved hierarchical arrangements.

[0044] It is an advantage of embodiments of the present invention to provide more effective content sharing and collaboration via improved methods for distributing multimedia content over a network.

[0045] It is an advantage of embodiments of the present invention to provide smoother and more intuitive navigation for users via improved methods for interconnecting and playing back multimedia content stored on different computers.

[0046] It is an advantage of embodiments of the present invention to allow users to easily add high quality multimedia content to online communications (such as emails, instant messages, websites, chat rooms, presentations, online communities, virtual private webs, etc.), and to make e-communications more interactive and visually rich.

[0047] A system and method for multimedia authoring and playback is disclosed. Depending on system configuration, embodiments of the invention can include features for creating, editing and distributing multimedia content in the form of “presentation data,” which may be viewed by recipients who play the content (and in some cases may be allowed to modify it). The playback of content is presented in one or more windows or displays called “playback displays.” Playback displays present presentation data which is playing, and in some embodiments may also provide various editing functions which can be used to create and edit presentation data. Additional windows or displays, called “control displays,” may be included in some embodiments to provide various management and control functions, and these too can include features for creating and editing presentation data.

[0048] These basic capabilities of embodiments of the present invention discussed in the previous paragraph are also found in many widely available multimedia tools and systems. However, compared to these other tools and systems, embodiments of the present invention can include various advantageous capabilities in a number of areas, including: (1) creating and importing objects, (2) editing display settings for objects, (3) time-based object playback behavior, (4) starting and stopping of container objects, (5) the “sentence” paradigm for programming object behavior, (6) dynamic parameter modification, (7) functions and uses of control displays, (8) publishing and editing over a network, (9) hierarchical structuring of presentation data, (10) user “exploration” of presentation data, (11) indirect data access using “pointer objects,” (12) integrating HFS data with presentation data, (13) user “navigation” through presentation data, and (14) nested “sub-displays” embedded within playback displays.

[0049] While the advantageous capabilities in each of these areas are fundamentally independent from one another, each providing value and standing on its own as a feature of the invention, in many cases the various capabilities build on one another in ways which are highly complementary. Wherever possible, features have been designed to leverage and take advantage of each other in this way, so that as features are added in the above areas, the system increases in power substantially, but without undermining ease of use. The exact set of features included in any given embodiment of the invention may vary depending on system configuration; the underlying system provides a basic framework in which one or more features may be added depending on system requirements, resulting in a variety of possible configurations for the invention.

[0050] The features and advantages of the present invention will be apparent from the accompanying drawings and detailed description that follows.

BRIEF DESCRIPTION OF THE DRAWINGS

[0051] The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements, and in which:

[0052] FIGS. 1A-B illustrate the basic elements of the system, according to embodiments of the present invention;

[0053] FIGS. 2A through 3D illustrate creating and importing of objects, according to embodiments of the present invention;

[0054] FIGS. 4A through 6B illustrate editing of object display settings, according to embodiments of the present invention;

[0055] FIGS. 7A-H illustrate programming of time-based object playback behavior, according to embodiments of the present invention;

[0056] FIGS. 8A-B illustrate starting and stopping of container objects, according to embodiments of the present invention;

[0057] FIGS. 9A through 27D illustrate programming of object behavior following a sentence paradigm, according to embodiments of the present invention;

[0058] FIGS. 28A-B illustrate dynamic modification of object parameters, according to embodiments of the present invention;

[0059] FIGS. 29A through 30B illustrate functions and uses of control displays, according to embodiments of the present invention;

[0060] FIGS. 31A-B illustrate publishing and editing of presentation data over a network, according to embodiments of the present invention;

[0061] FIGS. 32A-B illustrate hierarchical structuring of presentation data by nesting containers within containers, according to embodiments of the present invention;

[0062] FIGS. 33A-B illustrate user “exploration” of hierarchical presentation data using a control display, according to embodiments of the present invention;

[0063] FIGS. 34A-F illustrate indirect data access using “pointer objects,” each of which references a base object for some of its data, according to embodiments of the present invention;

[0064] FIGS. 35A through 37C illustrate extending presentation data to include folders and files from a hierarchical file system (HFS), and vice versa, according to embodiments of the present invention;

[0065] FIGS. 38A through 39B illustrate user “navigation” through hierarchical presentation data, including over a network, according to embodiments of the present invention;

[0066] FIGS. 40 through 45C illustrate functions and uses of nested sub-displays, including user navigation, according to embodiments of the present invention;

[0067] FIG. 46 illustrates an exemplary data linking scenario, in which hierarchical databases of presentation data are linked together to form a virtual hierarchy, according to embodiments of the present invention;

[0068] FIG. 47 illustrates an exemplary data linking scenario, in which hierarchical databases and an HFS are linked together to form a virtual hierarchy, according to embodiments of the present invention;

[0069] FIG. 48 illustrates a block diagram of an individual, exemplary hierarchical database of presentation data, according to embodiments of the present invention;

[0070] FIG. 49 illustrates a block diagram of a computer system, either network or standalone, that implements embodiments of the present invention;

[0071] FIG. 50 illustrates a block diagram of a system for authoring and playing back multimedia content, implemented as an installed software application, according to an embodiment of the present invention;

[0072] FIG. 51 illustrates a block diagram of a system for authoring and playing back multimedia content, implemented as a software plug-in associated with a host application, according to an embodiment of the present invention;

[0073] FIG. 52 illustrates a software flow diagram of the system initialization procedure, according to an embodiment of the present invention;

[0074] FIG. 53 illustrates software flow diagrams showing procedures of the playback display manager of the system of FIG. 50, according to an embodiment of the present invention;

[0075] FIGS. 54-55 illustrate software flow diagrams showing procedures of the control display manager of the system of FIG. 50, according to an embodiment of the present invention;

[0076] FIG. 56 illustrates a block diagram of the presentation engine component of the systems of FIGS. 50 and 51, according to an embodiment of the present invention;

[0077] FIGS. 57-58 illustrate block diagrams of the playback manager component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0078] FIGS. 59-70 illustrate software flow diagrams showing procedures of the playback manager component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0079] FIGS. 71-76 illustrate software flow diagrams showing procedures of the edit manager component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0080] FIGS. 77A-B illustrates conversion charts showing command handling procedures of the edit manager component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0081] FIG. 78 illustrates a block diagram of the graphics engine component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0082] FIG. 79 illustrates a software flow diagram showing procedures of the graphics engine component of the presentation engine of FIG. 56, according to an embodiment of the present invention;

[0083] FIG. 80 illustrates a block diagram of the data manager component of the systems of FIGS. 50 and 51, according to an embodiment of the present invention;

[0084] FIG. 81 illustrates block diagrams of the cache format and file format of the data manager component of the systems of FIGS. 50 and 51, according to an embodiment of the present invention;

[0085] FIGS. 82-84 illustrate software flow diagrams showing procedures of the data manager component of the systems of FIGS. 50 and 51, according to an embodiment of the present invention;

[0086] FIG. 85 illustrates the object model of the systems of FIGS. 50 and 51, according to an embodiment of the present invention;

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0087] A multimedia authoring and playback system for use in a computer-based environment is disclosed. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of the present invention; also, in certain instances, structures and devices are shown in block diagram form to facilitate explanation. However, it will be evident to those of ordinary skill in the art that the present invention may be practiced without the specific details and forms. The description of the preferred embodiments is not intended to limit the scope of the claims appended hereto.

[0088] The following description has four sections: (1) Functional Overview, (2) Example Scenarios, (3) Hardware Overview, and (4) System Architecture.

[0089] Functional Overview

[0090] The present invention is best understood in terms of the user experience it provides. Therefore, the invention is now described with an emphasis on the user experience, along with a moderate amount of explanation of the underlying system operations and data management procedures occurring at each point.

[0091] In this functional overview, various examples are shown in which an author creates and manipulates multimedia content by means of a graphical user interface (GUI). This GUI includes a “playback display” for viewing and editing content which is playing, and optionally, a “control display” for performing various management and control functions. These displays can take many forms on many different platforms, and the specific display representations are not to be understood as limiting or restricting the appearance or implementation of the playback display or control display.

[0092] To help clarify the workings of the invention, three common representations are used in many of the diagrams that accompany this functional overview: (1) to the left an abstract representation of the presentation data (which is merely for illustration and does not appear to the user), (2) to the right a simplified picture of the playback display, and (3) in the center a simplified picture of the control display (which is included in the diagrams frequently starting at FIG. 29A, and before that is shown in a few instances under the playback display). These three representations may be used separately or in tandem to illustrate different aspects of the workings of the invention.

[0093] To help organize the discussion, the various features of the invention have been grouped into a number of categories which were enumerated in the above summary. Briefly, again, these categories are: (1) creating and importing objects, (2) editing display settings, (3) time-based playback behavior, (4) starting and stopping containers, (5) programming behavior using a sentence paradigm, (6) dynamic parameter modification, (7) control displays, (8) publishing and editing over a network, (9) hierarchical structuring of data, (10) exploration of data, (11) pointer objects, (12) integration of HFS data, (13) user navigation, and (14) sub-displays. The organization of the invention's features into these categories is merely intended as an aid to understanding, and is not intended to imply any inherent associations or disassociations among features simply because they are in the same or in different categories.

[0094] Finally, it should be noted that great care has been taken to ensure that the various features of the invention have been designed to work well together, and in many cases the use of two or more features in conjunction with one another produces advantages beyond those of the individual features. Throughout the following discussion, various examples and explanations are provided to indicate how different features of the invention may be used in conjunction with one another to achieve further advantage.

[0095] The discussion begins with a description of the basic elements of the system, which establishes base levels of functionality for the invention, after which each category of features is discussed in turn.

[0096] BASIC ELEMENTS OF THE SYSTEM—FIGS. 1A-B illustrate the basic elements of the system, shown operating in exemplary object presentation and editing scenarios. These scenarios present certain base levels of functionality found in this and many other multimedia authoring and playback systems. The scenario of FIG. 1A presents the base level of functionality for multimedia playback, which is included in all configurations of the invention. The scenario of FIG. 1B presents the base level of functionality for multimedia authoring, which is included in configurations of the invention that support user editing of presentation data. These respective base levels for playback and authoring provide a foundation upon which the various features of the invention which follow may be added.

[0097] FIG. 1A depicts a basic object presentation scenario, according to one embodiment of the present invention. Shown on the left side of the figure is some exemplary presentation data which consists of a container object containing two media objects. The two media objects are of two different types, such that each media object contains a different type of media data; support for multiple types of media objects is typical in multimedia systems such as the present invention, but not required, since various features of the invention may be practiced effectively using just one media type. Moreover, depending on system configuration, various other types of objects may be supported in addition to, or instead of, those shown in FIG. 1A, as discussed throughout this specification. Shown on the right side of FIG. 1A is an exemplary playback display, which plays back the presentation data by presenting the media data of the media objects in the playback display. Each of these basic elements of the system is now described.

[0098] The left side of FIG. 1A shows a representation of a container object 100 containing two media objects 102 and 106. In the present invention, a container object is any data construct which can be used to collect two or more media objects (examples from the field abound, and include such constructs as HTML files, folders in a hierarchical file system, proprietary data formats, etc.). Note that physical containment of media objects by the container object is not required; all that is required is the ability to create a logical collection of two or more media objects.

[0099] In the example of FIG. 1A, the two media objects contained by the container object 100 are a text object 102 and a picture object 106. Shown within the text object 102 is media data 103, in this case text data (which can include data representing alphanumeric text such as ASCII characters, data representing other national character sets such as Kanji characters, data representing various text properties such as bold and italic, etc.). In the text object 102, the media data 103 is depicted as distinct from the rest of the object data 104 (the latter of which can include such data as object properties, display settings for the media data, various other presentation options, etc.). Similarly, within the picture object 106 is shown media data 107, in this case image data (which can include various types of data for representing visual images, such as bitmaps, vector graphics, etc.), also depicted as distinct from the rest of the object data 108. This depiction of media data as distinct from the rest of the object data is merely a visual convention used throughout the diagrams to help clarify certain concepts and features, and is not intended to describe or limit the structures used for the actual storage of object data.

[0100] The right side of FIG. 1A shows a representation of a playback display 116 which is displaying the text “Hello World” 112 corresponding to the text object 102, as well as the picture 114 corresponding to the picture object 106. The playback display 116 also includes a display title 110 consisting of the words “PLAY: DEMO,” which indicates that the playback display is playing presentation data and that the source for what is playing is the container object 100 (which is named “DEMO”). This display title 110 and similar display titles in other figures are included within the diagrams to help clarify how objects depicted on the left relate to displays depicted on the right; however such display titles are not required for the invention, and in actual implementations may vary greatly or be omitted altogether.

[0101] FIG. 1B depicts a basic editing scenario, according to one embodiment of the present invention. The figure shows a situation in which the user is preparing to edit a new presentation. The left side of FIG. 1B shows a representation of an empty container object 120 named “NEW.” To the right is a playback display 134, which includes a display title 128 with the words “EDIT: NEW” indicating that the playback display is presenting the container object 120 to the user for editing.

[0102] In the presently preferred embodiment of the invention, editing takes place within an edit mode, such as might be triggered by a user-initiated click of the pointer 132 on the edit mode command icon 130 (this pointer 132, as well as similar pointers shown in other figures, is controlled by the user via a pointing device, such as a computer mouse, joystick, pen and tablet, PDA stylus, touch screen, etc.). It should be noted, however, that the use of an edit mode which is distinct from presentation playback, as shown in FIGS. 1A-B and in other figures, is only one of various possible approaches for providing authoring and playback functionality to the user, and other approaches may be effective depending on system configuration (such as integrating authoring and playback in a common mode, using separate applications for authoring and playback, etc.). For example, the invention can be configured such that an authoring application (with minimal playback functionality) is used to author content, and then a separate playback application with more complete playback functionality (such as a Web browser or proprietary “player” application) is used to test and evaluate the playback of authored content.

[0103] FIG. 1B further includes command icons 122, 124 and 126 as examples of authoring functions that might be selected by the user. It should be noted that the look and placement of command icons throughout the diagrams is exemplary only, and can vary greatly in real embodiments of the system. Moreover, it should further be noted that the use of command icons for selecting authoring functions is merely one approach for doing so, and other approaches may also be effective depending on system implementation (such as single-level menus, multiple-level menus, buttons, lists, sliders, palettes, checkboxes, other types of user interface elements, keypad keys, etc).

[0104] CREATING AND IMPORTING OBJECTS—FIGS. 2A through 3D depict various functions for adding objects to a presentation: (1) FIG. 2A shows creating a new text object, (2) FIG. 2B shows creating a new picture object, (3) FIG. 2C shows importing a picture via dialog box, (4) FIG. 2D shows duplicating a picture using a control display, (5) FIG. 3A shows creating a new picture from a connected camera, (6) FIG. 3B shows recording a new video from a connected camera, (7) FIG. 3C shows creating a new sub-display and associated container object, and (8) FIG. 3D shows importing a sub-display by dragging a container object from a control display. Each of these functions is an independent feature of the invention that may or may not be included in any given system configuration. Moreover, the above functions involving importing and duplicating (FIGS. 2C, 2D and 3D) are general purpose functions which, depending on system configuration, can be used with any of the object types supported by the system.

[0105] The functionality illustrated in FIGS. 2A through 3D generally provides the advantage of allowing users to add objects to presentations with greater speed and efficiency, enabling the creation of more interesting presentations with less effort. Also, when the functions of FIGS. 2D and 3D are used with control displays that allow user exploration of a hierarchical file system (such as that shown in FIGS. 35A-B), further advantages are produced in terms of enabling faster, more comprehensive access to external data. In addition, when functions shown in FIGS. 2A through 3D are used within the context of “compound sentence” programming as discussed in connection with the sentence paradigm, their integration into the process of creating programmed object behavior produces further advantages in terms of faster, more streamlined authoring. Moreover, when functions of FIGS. 2A through 3D are used in conjunction with other features of the invention, such as editing display settings, time-based playback behavior, networking, collaborative editing, pointer objects, etc., further advantages are derived in terms of enabling authors to create multimedia content with greater variety among object characteristics with less effort, and to more easily add objects to distributed content.

[0106] FIG. 2A shows the creation of a new text object, according to one embodiment of the present invention. The figure shows a playback display 216 presenting a container object 200 to the user for editing. First, the user clicks on the new text command icon 204. Next, the user clicks on a desired spot 212 in the playback display 216, causing a new text box 206 to be displayed there. The new text box 206 contains a cursor 210 indicating that the user can, if desired, enter new text; as new text 208 “Hello” is entered, the cursor 210 follows the last character entered. When the user is done entering text, the pointer 214 is clicked at any spot in the playback display that is outside text box 206, completing the operation. As a result of this process, as seen in the representation on the left side of FIG. 2A, a new text object 202 is created within the container object 200, the new text object containing text data for the new text “Hello” 208 in its media data 203.

[0107] FIG. 2B shows the creation of a new picture object, according to one embodiment of the present invention. The figure shows a playback display 236 presenting a container object 220 to the user for editing. First, the user clicks on the new picture command icon 224. Next, the user clicks on a desired spot 226 in the playback display 236, causing a new picture 228 (in this case a solid rectangle) to appear there. The user may then, while still pressing the mouse button or other pointing device, adjust the size of the picture to a desired size 234 by dragging across the playback display (230, 232). As a result of this process, as seen in the representation on the left side of FIG. 2B, a new picture object 222 is created within container object 220, the new picture object containing image data for the new picture 228 in its media data 223. Note that other versions of this function for creating a new picture object may be provided for other kinds of images, such as circles, lines of various types, “spray can” effects, other geometric shapes and patterns, etc., any or all of which may employ a “click and drag” operation such as that seen in the picture creation function of FIG. 2B.

[0108] FIG. 2C shows a new picture object being imported into the system from an external picture file using a dialog box, according to one embodiment of the present invention. The figure shows a playback display 258 presenting a container object 240 to the user for editing. First, the user clicks on the import command icon 244, which causes a file selection dialog box 246 to appear. In the file selection dialog box 246, several external picture files 248 are shown, which may be standard graphics files such as JPEG, TIFF, BMP or similar files stored in an accessible storage location. The picture file 250 named “Mona Lisa” is selected and the user clicks the “OK” button 252. The user then clicks at a desired location 256 in the playback display 258, and the picture 254 from the selected picture file appears there. As a result of this process, as seen in the representation on the left side of FIG. 2C, a new picture object 242 is created within the container object 240, the new picture object containing image data for the imported picture 254 in its media data 243.

[0109] FIG. 2D shows a new picture object being imported into the system from an external picture file using a duplicate command with a control display, according to one embodiment of the present invention. The figure shows a playback display 270 presenting a container object 260 to the user for editing. Below the playback display 270 is a control display 274. This control display, like the file selection dialog 246 of FIG. 2C, presents several external picture files to the user; however unlike the file selection dialog, the control display can have a persistent presence within the user interface. To import a picture, the user first clicks on a desired picture icon 272 in the control display 274. Next, the user clicks on the duplicate command icon 264. Finally, the user clicks on a desired location 268 in the playback display 270, and the picture 266 appears there. As a result of this process, as seen in the representation on the left side of FIG. 2D, a new picture object 262 is created within the container object 260, the new picture object containing image data for the imported picture 266 in its media data 263. In addition to duplicating an object from a control display to a playback display, as seen in the present example, the duplicate function may also be used to duplicate an object from one control display to another, or to duplicate an object within a single control display or playback display.

[0110] FIG. 3A shows a new picture object being created through the use of a connected camera, such as a “web cam,” according to one embodiment of the present invention. The figure shows a playback display 316 presenting a container object 300 to the user for editing. First, the user clicks on the camera command icon 304, which causes a dialog window 310 to appear containing a real-time view 306 of the output of a camera (the camera might be directly attached to the user's computer or accessed over a network). When the real-time view 306 presents a desired image, the user clicks the OK button 308 to accept the image. The user then clicks at a desired location 312 in the playback display 316, and the image appears there as a picture 314. As a result of this process, as seen in the representation on the left side of FIG. 3A, a new picture object 302 is created within the container object 300, the new picture object containing image data for the picture 314 in its media data 303.

[0111] FIG. 3B shows a new video object being created through the use of a connected camera, such as a “web cam,” according to one embodiment of the present invention. The figure shows a playback display 338 presenting a container object 320 to the user for editing. First, the user clicks on the video command icon 324, which causes a dialog window 332 to appear containing a real-time view 326 of the output of a camera (the camera might be directly attached to the user's computer or accessed over a network). The user then clicks the REC button 328 to commence video recording. Optionally, the user may stop recording by clicking again on the REC button 328, and may view what has been recorded by clicking on the PLAY button 329. When the desired recording has been achieved, the user clicks the OK button 330 to accept the recording. The user then clicks at a desired location 334 in the playback display 338, and the recorded video 336 appears there. As a result of this process, as seen in the representation on the left side of FIG. 3B, a new video object 322 is created within the container object 320, the new video object containing video data for the video 336 in its media data 323.

[0112] In the case of the functions of FIGS. 3A and 3B just described (new picture from camera and new video from camera), the user interfaces provided in the dialog windows 310 and 332 for capturing (respectively) image data and video data are typical; many variations for such user interfaces are common, and may be effective in the present invention. A significant portion of the advantage of the above functions lies in the fact that after accepting the image or recording (by clicking on the OK button in the above examples), the user need only make one final click (specifying a location in the playback display) to incorporate the new data into the presentation.

[0113] Moreover, in either or both of the dialog windows (310, 332) in FIGS. 3A and 3B, a “soft oval” effect may be provided as an optional enhancement. With this enhancement, the user is given an option to apply a soft oval effect to the real-time view (306, 326) of the output of the camera. This soft oval effect is similar to that shown in FIGS. 6B-2, except that it affects the live output of the camera in real time. In the examples of FIGS. 3A and 3B, the user can enable this soft oval effect via the checkboxes (309, 331) in the respective dialog windows; however, as mentioned above for dialog windows in general, other user interface variations for enabling this soft oval effect may also be effective. With the soft oval effect enabled, once the picture or recorded video is accepted by the user, the media data of the newly created object (302, 322) exhibits the soft oval effect when displayed in the playback display (which is especially effective when used with “head shot” pictures or “talking head” videos). In the preferred implementation, this is accomplished by setting relevant display settings (shape and softness as discussed in connection with FIGS. 6A-B) at the time the new picture or video object is created, which allows the user to further adjust or disable the soft oval effect afterwards; however it is also possible to implement this feature in ways which do not allow further adjustment of the effect after accepting the picture or video.

[0114] FIGS. 3C and 3D show new and import functions (respectively) which involve sub-displays. The sub-display functionality of the present invention is discussed in detail in connection with FIGS. 40 through 45C, but briefly, it involves an association between nested sub-displays in the playback display and container objects, whereby media data of objects contained in a container object is displayed within the sub-display associated with the container object. The examples of FIGS. 3C and 3D also involve the use of another feature of the invention, hierarchically nested container objects, detailed in connection with FIGS. 32A-B.

[0115] FIG. 3C shows the creation of a new sub-display and associated container object, according to one embodiment of the present invention. The figure shows a playback display 350 presenting a container object 340 to the user for editing. First, the user clicks on the new sub-display command icon 344. Next, the user clicks on a desired spot 346 in the playback display 350, causing a new sub-display 348 to appear there. As a result of this process, as seen in the representation on the left side of FIG. 3C, a new container object 342 is created within the container object 340. This new container object 342 is associated (as shown by its double outline) with the new sub-display 348 shown in the playback display. Other objects such as text, pictures, etc. may now be added to the new container object using methods such as those shown in FIGS. 2A through 3B, and their media data will be displayed within the new sub-display 348.

[0116] FIG. 3D shows importing a sub-display by dragging a container object from a control display, according to one embodiment of the present invention. The figure shows a playback display 376 presenting a container object 360 to the user for editing. Below the playback display 376 is a control display 380 which presents several container objects to the user; these container objects may be external data files located in an accessible storage location, or references to such files (such as via URL), or some other form of collected, contained presentation data. To import a sub-display, the user first clicks on a desired container object icon 378 in the control display 380 (note that the desired container object need not itself be associated with a sub-display). Next, while still pressing the mouse button or other pointing device, the user “drags” the pointer to a desired location 372 in the playback display 376 and releases, causing a sub-display 374 to appear there (this can also be accomplished using either the import function of FIG. 2C or the duplicate function of FIG. 2D). As a result of this process, as seen in the representation on the left side of FIG. 3D, a new container object 362 containing data from the selected container object 378 is created within the container object 360. This new container object 362 is associated (as shown by its double outline) with the sub-display 374, and the media data for its contained objects (the text object 364 and the picture object 366) is seen within the sub-display 374 as the text 368 and the picture 370, respectively.

[0117] EDITING DISPLAY SETTINGS—FIGS. 4A through 6B illustrate editing functions for changing various “display settings” that determine how an object's media data is presented in the playback display. The display settings shown being changed in these figures are: (1) position in FIG. 4A, (2) size and position in FIG. 4B, (3) color in FIG. 4C, (4) transparency in FIG. 5A, (5) rotation in FIG. 5B, (6) stretch in FIG. 5C, (7) cropping in FIG. 5D, (8) shape and softness in FIG. 6A, and (9) shape and softness in FIG. 6B. Each of the editing functions shown in these figures, as well as each of the display settings involved, is an independent feature of the invention that may or may not be included in any given system configuration.

[0118] The functionality illustrated in FIGS. 4A through 6B generally provides the advantage of faster and more convenient modification of object display settings, which allows users to create more personalized and expressive presentations more quickly. Moreover, the editing features of FIGS. 4A through 6B, when used in conjunction with each other and with other features of the invention, such as time-based playback behavior, functions of the sentence paradigm, networking, collaborative editing, sub-displays, etc., provide the further advantage of increased speed and efficiency in the creation of highly sophisticated and/or distributed multimedia content.

[0119] It should be noted that in FIGS. 4A through 6B, editing functions are shown affecting the appearance of exemplary text and picture objects; depending on system configuration, each of these editing functions (or similar editing functions) may be used to change the appearance of any of the following: text, pictures, videos and sub-displays (sub-displays are detailed in connection with FIGS. 40 through 45C). It should also be noted that for the functions of FIGS. 4A through 6B which involve the use of keypad keys, other keypad keys and/or user interface elements (such as sliders, buttons, etc.) may be provided to perform the same functions. It should also be noted that in the examples of FIGS. 4A through 6B, and throughout the present specification, the presence and involvement of selection boxes is merely for clarity in the diagrams, and is not essential to the functionality being shown.

[0120] FIG. 4A shows editing of the display position of an object's media data in the playback display, according to one embodiment of the present invention. The figure shows a text object 402 whose media data is seen in the playback display 412 as text 406. The user selects the text by clicking on it with the pointer 408, causing a selection box 404 to appear around the text indicating that it can be dragged. The user can then drag the selected text to a desired location 410 in the playback display 412.

[0121] FIG. 4B shows simultaneous editing of the position and size of an object's media data in the playback display, according to one embodiment of the present invention. The figure shows a text object 416 whose media data is seen in the playback display 430 as text 420. The user selects the text by clicking on it with the pointer 422, causing a selection box 418 to appear around the text indicating that it can be dragged. The user can then drag the selected text to a desired location 428 in the playback display 430. During the time that selection box 418 is displayed around the text, the user may also re-size the text (whether dragging it or not) by pressing the up-arrow key 432 on a keypad, making the text larger, as seen in the increased size of the text 426 and its selection box 424. Similarly, the down-arrow key 434 may be used to make the text smaller.

[0122] FIG. 4C shows editing of the color of an object's media data in the playback display, according to one embodiment of the present invention. In FIGS. 4C-1, the media data of a text object is seen in the playback display 456 as text 452. The user first clicks on the color change command icon 450, then clicks 454 on the text to select it (in an alternate implementation, the text may be selected first and then the command icon; also, in yet another alternate implementation, both the command and the text may be selected at once by clicking on the text using an alternate form of click, such as by pressing the right-side mouse button, or by clicking with a modifier key such as “alt” or “ctrl” held down, etc.).

[0123] FIGS. 4C-2 shows that when the above selection has occurred, a color adjust mode is entered, as indicated by special cursor symbol 460. The user may then move the mouse or other pointing device 480 in any of four directions to adjust the color. Left movement 484 or right movement 478 is used to adjust the hue toward the red end 474 of the color spectrum (left) or the violet end 486 of the spectrum (right). Up movement 476 or down movement 482 is used to make the brightness of the color more bright 468 (up) or more dark 494 (down). In short, the four directions form a “color grid” 492 which controls the hue and brightness of the object being affected. All of the color changes happen in real time to the displayed media data 452 in the playback display 456.

[0124] Beyond the basic functionality of color adjust mode just discussed, a variety of variations or enhancements such as the following are possible. For one, the color grid may be extended in the horizontal dimension 490 and 470, so that the hue values “wrap around” (from red 474 to violet 472, and from violet 486 to red 488) when the user moves the mouse or pointing device beyond the point corresponding to the extreme value of hue in either direction. Also, when in color adjust mode, the up and down arrow keys 464 may be used to increase and decrease the color saturation. In addition, alternate mappings between hue and brightness and the vertical and horizontal axes of the color grid may be effective, such as swapping or inverting the axes. Also, an alternate implementation may be provided in which color adjust mode involves clicking and holding down the mouse button or pointing device. Note that the special cursor symbol 460 need not be used, and if used, may either move or not during color adjust mode. Finally, color adjust mode may be exited by again clicking the mouse or pointing device (or by releasing the mouse button or pointing device in the alternate implementation involving clicking and holding).

[0125] FIG. 5A shows editing of the transparency of an object's media data in the playback display, according to one embodiment of the present invention. In FIGS. 5A-1, the media data of two picture objects is seen in the playback display 506 as an upper picture 500 and a lower picture 502. The user first selects the upper picture 500 by clicking on it with the pointer 504, then presses the left arrow key 510 on the keypad to increase the transparency of the selected picture. The result is shown in FIGS. 5A-2 in the playback display 506, where the upper picture 500 is now partially transparent, as can be seen from the overlap 508 between the two pictures 500 and 502. Similarly the user may use the right arrow key 512 to decrease the transparency, making the picture 500 more opaque.

[0126] FIG. 5B shows editing of the rotation of an object's media data in the playback display, according to one embodiment of the present invention. In FIGS. 5B-1, the media data of a picture object is seen in the playback display 524 as a picture 520. First, the user selects the picture 520 by clicking on it with the pointer 522. Then, while holding the mouse button or other pointing device down, the user presses the right arrow key 528 on the keypad to rotate the picture 520 clockwise. The result is shown in FIGS. 5B-2 in the playback display 524, where the picture 520 is now shown rotated. Similarly, the left arrow key 526 can be used to rotate the picture counter-clockwise. The position of the picture 520 may also be dragged using the pointer 522 at the same time it is being rotated by the kepad keys. In systems which support use of the left and right arrow keys for both rotation and transparency (the latter being seen in FIG. 5A), the pressing and holding of the mouse button or pointing device is used as the condition for assigning the keys to rotation.

[0127] FIG. 5C shows stretching of an object's media data in the playback display, according to one embodiment of the present invention. In FIGS. 5C-1, the media data of a picture object is seen in the playback display 546 as a picture 540, surrounded by a selection box 542 indicating that it has previously been selected by the user. This selection box has a drag handle 544 on each of its sides (which can alternately be placed at the corners of the selection box, in which case they may, depending on configuration, be locked to a fixed aspect ratio to provide size control). The user may click on a drag handle 544 and drag it away from the center of the picture, stretching the picture in the direction of the movement. The result is shown in FIGS. 5C-2 in the playback display 546, where the picture 540 and selection box 542 appear elongated as a result of the movement of the drag handle 544. The user may also compress the picture by dragging a drag handle toward the center of the picture.

[0128] FIG. 5D shows cropping of an object's media data in the playback display, according to one embodiment of the present invention. In FIGS. 5D-1, the media data of a picture object is seen in the playback display 566 as a picture 560, surrounded by a selection box 562 indicating that it has previously been selected by the user. This selection box has a corner drag handle 564 in each of its corners (which can alternately be placed at the sides of the selection box). The user may click on a corner drag handle 564 and drag it to change the cropping of the picture, i.e., the portion of it being “revealed” in the playback display. The result is shown in FIGS. 5D-2 in the playback display 566, as the outer edges 568 of the picture 560 now appear cropped as a result of the movement of the drag handle 564. Greater or lesser portions of the picture may be revealed by dragging in this manner.

[0129] FIG. 6A shows editing of the shape and softness of an object's media data in the playback display using sliders, according to one embodiment of the present invention. In FIGS. 6A-1, the media data of a picture object is seen in the playback display 604 as a picture 600. When the user clicks 602 on the picture 600, various sliders may appear depending on system configuration, as shown in FIGS. 6A-2 through 6A-4.

[0130] FIGS. 6A-2 shows a system configured so that clicking on the picture 600 in the playback display 604 causes a shape slider 614 to appear. As the shape slider control is moved to the right with the pointer 618, the edges of the picture become increasingly rounded until they collapse into a diamond. The shape slider control left position 612 corresponds to the original rectangular shape of the picture 600. The middle position 616 corresponds to the oval shape indicated by the middle boundary 608, and the right position 620 corresponds to the diamond shape 610. Depending upon implementation, the extreme setting for the shape change, corresponding to the right position 620, may also be a shape other than a diamond, such as limiting it to just an oval, or going beyond a diamond to a “four point compass rose” shape, etc. In addition, shapes other than those shown in the example of FIG. 6B may be provided, such as other geometric shapes, arbitrary shapes, etc.

[0131] FIGS. 6A-3 shows a system configured so that clicking on the picture 600 in the playback display 604 causes a softness slider 624 to appear. Moving the softness slider control 626 up makes the edges of the picture appear increasingly soft or “fuzzy;” i.e. the picture becomes increasingly transparent 622 away from the center and toward the edges (of course this depiction of fuzziness in the diagram is suggestive only, and the exact effect may vary according to implementation). The greater the slider setting, the greater the softness; i.e. the more extreme the “fuzziness” becomes. The minimum position 628 of slider 624 corresponds to the original “hard outline” of the picture; i.e. no softness.

[0132] FIGS. 6A-4 shows a system configured so that clicking on the picture 600 in the playback display 604 causes both a shape slider 644 and a softness slider 636 to appear. In this configuration, the shape and softness effects may be combined, independently controllable via the shape and softness sliders according to the rules previously described. In the example shown, the shape slider control 646 is moved to the mid position, and the softness slider control 638 is also moved to the mid position, resulting in a “soft oval” effect 634.

[0133] FIG. 6B shows editing of the shape and softness of an object's media data in the playback display using dragging, according to one embodiment of the present invention. In FIGS. 6B-1 the media data of a picture object is seen in the playback display 656 as a picture 652. The user first clicks the shape/softness command icon 650, then selects the picture by clicking on it with the pointer 654 (in an alternate implementation, the picture may be selected first and then the command icon; also, in yet another alternate implementation, both the