ON-DEMAND PRESENTATION SYSTEM AND METHOD
PRIORITY
This application is a continuation-in-part of U.S. Serial No. 09/475,705, filed December 30, 1999, entitled "Telephony-Based System and Method for Producing a Presentation."
BACKGROUND OF THE INVENTION Field of the Invention
This invention relates generally to the field of network transaction services. More particularly, the invention relates to a system and method for producing and distributing an on-demand presentation.
Description of the Related Art
Current presentation software packages such as Microsoft PowerPoint® allow a user to generate a set of slides which the user may then discuss during a live presentation. In addition, some of these programs allow a user to digitally store audio along with the slide presentation, thereby allowing the entire presentation (i.e., slides + audio) to be transmitted across a network.
However, no comprehensive system exists for producing and distributing on- demand presentations. In addition, no system or method currently available allows companies, organizations and/or individuals to distribute and access streaming, high- quality presentations online. Moreover, no presentation service exists wherein users can search a presentation database and download presentations on specified topics (e.g., using a keyword search, a topic directory, or other search mechanism).
In addition, several problems currently exist with the audio recording features of third party presentation application. For example, recording audio tracks in conjunction with a set of slides requires a user to understand how to properly configure the audio
settings on his/her computer. If the sound quality is set too high (e.g., "CD quality"), this will produce a significantly larger presentation file, making it more difficult to store and transmit across a network (particularly if the user only uses a modem connection to access the Internet). In addition, many business computer users do not have microphones installed on their computers, making audio recording impracticable.
Accordingly, what is needed is an on-demand presentation system and method. What is also needed is a comprehensive turnkey solution for producing, hosting, publishing and/or selling presentations online. What is also needed is a system and method for converting live presentations and/or videotaped presentations into on- demand presentation formats which can then be efficiently delivered to users over a network. What is needed is a system and method for adding audio to a visual presentation which may be accomplished in a simple, efficient manner using currently existing hardware.
SUMMARY OF THE INVENTION
A computer-implemented method for producing an on-demand presentation is described comprising: receiving a set of slides and audio/video of a presentation from a first user; generating linking data linking each slide in the set of slides with portions of the audio/video; and storing the slides, the audio/video and the linking data on a network server to be accessible by a second user.
Also described is a computer-implemented method comprising: storing a visual presentation transmitted by a first user, the visual presentation including a set of slides; and associating audio content transmitted over a telephony network with one or more slides in the set of slides.
BRIEF DESCRIPTION OF THE DRAWINGS
A better understanding of the present invention can be obtained from the following detailed description in conjunction with the following drawings, in which:
FIG. 1 illustrates an exemplary network architecture which includes elements of the present invention.
FIG. 2 illustrates an exemplary computer architecture which includes elements of the present invention.
FIG. 3 illustrates one embodiment of a system for generating an on-demand presentation using audio and or video of a live presentation.
FIG. 4 illustrates one embodiment of a system for generating an on-demand presentation during a live presentation.
FIG. 5 illustrates one embodiment of a graphical user interface ("GUI") for playing back an on-demand presentation.
FIG. 6 illustrates additional features of the GUI for playing back on-demand presentations.
FIG. 7 illustrates additional features of the GUI for playing back on-demand presentations.
FIG. 8 illustrates search and index features according to one embodiment of the system and method.
FIG. 9 illustrates an exemplary network architecture which includes elements of the present invention.
FIG. 10 illustrates a method according to one embodiment of the invention.
FIG. 11 illustrates a presentation server according to one embodiment of the invention.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
In the following description, for the purposes of explanation, numerous specific details are set forth in order to provide a thorough understanding of the present invention. It will be apparent, however, to one skilled in the art that the present invention may be practiced without some of these specific details. In other instances, well-known structures and devices are shown in block diagram form to avoid obscuring the underlying principles of the present invention.
Embodiments of the present invention include various steps, which will be described below. The steps may be embodied in machine-executable instructions. The instructions can be used to cause a general-purpose or special-purpose processor to perform certain steps. Alternatively, these steps may be performed by specific hardware components that contain hardwired logic for performing the steps, or by any combination of programmed computer components and custom hardware components.
Elements of the present invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, floppy diskettes, optical disks, CD-ROMs, and magnetic-optical disks, ROMs, RAMs, EPROMs, EEPROMs, magnet or optical cards, propagation media or other type of media/machine-readable medium suitable for storing electronic instructions. For example, elements of the present invention may be downloaded as a computer program which may be transferred from a remote computer (e.g., a server) to a requesting computer (e.g., a client) by way of data signals embodied in a carrier wave or other propagation medium via a communication link (e.g., a modem or network connection).
AN EXEMPLARY NETWORK ARCHITECTURE
Elements of the present invention may be included within a client-server based system 100 such as that illustrated in Figure 1. According to the embodiment depicted in Figure 1, one or more presentation server(s) 110 communicate with one or more clients 130-135 and/or other servers. The clients 130-135 transmit and receive data from the presentation server(s) 110 over a variety of communication channels including (but not limited to) a local area network 140 and/or a larger network 125 (e.g., the
Internet). Alternative communication channels such as wireless communication via satellite broadcast (not shown) are also contemplated within the scope of the present invention.
The presentation server(s) 110 may include a database for storing various types of data. This may include, for example, specific client data (e.g., client account information and client preferences) and various types of on-demand presentations as described herein. The database on presentation server(s) 110 in one embodiment runs an instance of a Relational Database Management System (RDBMS), such as Microsoft™ SQL-Server, Oracle™ or the like.
A user/client 130-135 may interact with and receive feedback from presentation server(s) 110 using various different communication devices and/or protocols. According to one embodiment, a user connects to presentation server(s) 110 via client software. The client software may include a browser application such as Netscape Navigator™ or Microsoft Internet Explorer™ on the user's personal computer which communicates to presentation server(s) 110 via the Hypertext Transfer Protocol (hereinafter "HTTP").
In other embodiments contemplated within the scope of the invention, clients communicate with presentation server(s) 110 via cellular phones and pagers (e.g., in which the necessary transaction software is embedded in a microchip), handheld computing devices, and/or touch-tone telephones. It should be noted, however, that the underlying principles of the invention are not limited to any particular type of communication medium.
AN EXEMPLARY COMPUTER ARCHITECTURE
Having briefly described an exemplary network architecture which employs various elements of the present invention, a computer system 200 representing exemplary clients 134 and 135, servers 110 for implementing elements of the present invention will now be described with reference to Figure 2.
One embodiment of computer system 200 comprises a system bus 220 for communicating information, and a processor 210 coupled to bus 220 for processing information. Computer system 200 further comprises a random access memory (RAM) or other dynamic storage device 225 (referred to herein as main memory), coupled to bus 220 for storing information and instructions to be executed by processor 210. Main memory 225 also may be used for storing temporary variables or other intermediate information during execution of instructions by processor 210. Computer system 200 also may include a read only memory (ROM) and/or other static storage device 226 coupled to bus 220 for storing static information and instructions used by processor
210.
A data storage device 227 such as a magnetic disk or optical disc and its corresponding drive may also be coupled to computer system 200 for storing information and instructions. The computer system 200 can also be coupled to a second I/O bus 250 via an I/O interface 230. A plurality of I/O devices may be coupled to I/O bus 250, including a display device 243, an input device (e.g., an alphanumeric input device 242 and/or a cursor control device 241).
The communication device 240 is used for accessing other computers (servers or clients) via a network 125. The communication device 240 may comprise a modem, a network interface card, or other well known interface device, such as those used for coupling to Ethernet, token ring, or other types of networks.
EMBODIMENTS OF THE ON-DEMAND PRESENTATION SYSTEM AND METHOD
One embodiment of the system and method will now be described with reference to Figure 3. In this embodiment, an on-demand presentation module 310, executed on a client (e.g., client 134) or a server (not shown), generates an on-demand presentation 330 using a set of presentation slides 315 and associated audio and/or video 320 of a live presentation. In one embodiment, the audio/video 320 is of a user giving a presentation, and the set of slides 315 are those discussed by the user during
his/her presentation. The presentation may have been previously recorded using a variety of different recording media including, for example, VHS videotape, 8-mm videotape, film, or Digital Video Disk ("DVD"), to name a few. In one embodiment
(described in detail below with respect to Figure 4) the video/audio 320 is a live presentation, rather that recorded one. It should be noted, however, that the manner in which the audio/video is transmitted to the on-demand presentation module 310 is not pertinent to the underlying principles of the invention.
An encoder/converter module 312 (hereinafter "encoder") encodes/converts (hereinafter "encodes") the incoming audio/video to a specified digital format. For example, in one embodiment, the encoder 312 may encode the audio/video into a standard format such as a Moving Pictures Experts Group format (e.g., MPEG-2, MPEG-4). In one embodiment, a proprietary encoding format is used to encode the audio/video, such as that disclosed in the co-pending United States patent application entitled "Creating Animation From A Video" (serial no. 09/096,720), which is assigned to the assignee of the present application. It should be noted, however, that the underlying principles of the invention are not limited to any particular audio/video encoding format.
A linking module 314 links each of the slides 315 to relevant portions of the encoded audio/video presentation. In one embodiment, as portions of the audio/video 320 are read and encoded, a user manually indicates (represented by the "next slide" input 318 in Figure 3) when the linking module 314 should begin linking audio/video 320 to the next slide in the slide set. In one embodiment, this is accomplished using a simple cursor control device such as a mouse or keyboard.
Once audio/video 320 has been linked to the last slide in the set, the on-demand presentation 330 is complete. In one embodiment, the set of slides 315, the encoded audio/video 320 and linking data associating each slide to a relevant portion of the audio/video 320 are all embedded in the on-demand presentation 330. The on-demand presentation 330 may then be transmitted to the presentation server(s) 110 and downloaded/streamed to other clients (e.g., client 135) upon request. In one
embodiment, a unique graphical user interface ("GUI") executed on the client 135 may be used to play back the on-demand presentation 330. One embodiment of such a GUI is illustrated in Figures 5 to 7 and is described in detail below.
In one embodiment, presenters send pre-recorded presentations and slides to an organization maintaining the presentation server(s) 110 (hereinafter the on-demand presentation organization or "ODPO"). The ODPO generates the on-demand presentation 330 as described above on behalf of the presenters (e.g., by coordinating the timing of the slides) and stores the presentation 330 on the presentation server(s) 110, where it may be downloaded/streamed to other users (e.g., client 135).
According to one embodiment illustrated in Figure 4, a client 134 (or server) is configured to generate an on-demand presentation 330 in real time (i.e., while user 450 is presenting). As illustrated, the user's 450 image and audio are captured with a video device 454 and/or a microphone 452. The generated audio/video is transmitted to the client 134 via a multimedia interface 420, which may be comprised of hardware, software or any combination thereof. In one embodiment, the multimedia interface 420 is a video card inserted in an accelerated graphics port (AGP) of the client's 134 motherboard.
In one embodiment, a presentation application program 410 such as Microsoft PowerPoint ® is executed on the client 134. In another embodiment, a network -based slide creation program is provided for clients who do not own a third-party presentation application such as PowerPoint. This latter embodiment may be provided to the user as a Web-based application transmitted to the client 134 from the presentation server(s) 110.
The user 450 moves from one slide to the next within the presentation application 410 using a mouse 456 or other input device. In one embodiment, the on- demand presentation module 310 links the user's audio/video with the proper slides (e.g., by indicating when the user moves to a new slide during the presentation). When the presentation is complete, the on-demand presentation module 310 stores the
recorded audio/video, the slides and the linking data in the on-demand presentation file
330. The slides and associated audio/video may then be transmitted from the presentation server(s) 110 to one or more other clients 135.
In one embodiment, the real-time presentation may be viewed live by a group of participants (e.g., over a network). During the presentation session, one user may be identified as the presenter. When the presenter selects a slide in the presentation (e.g., the next slide in the presentation or the time code corresponding to another slide), the same slide will automatically be selected for all participants involved in the session. In one embodiment, the participants can freely view different slides until the next slide- flipping command is issued by the presenter.
In one embodiment, a searchable database of on-demand presentations is maintained on the presentation server(s) 110. As illustrated in Figure 8, the stored presentations may be categorized in an index 810 (e.g., based on presentation subject- matter), allowing users to manually search for presentations on a particular topic. In addition, a presentation search engine may be included in one embodiment, allowing users to search for a presentation by entering search terms in a keyword search field 820.
One embodiment of a graphical user interface ("GUI") 340 for viewing and navigating within an on-demand presentation is illustrated in Figure 5. The GUI includes a main menu 550 through which users can access various presentation functions (e.g., user help, as illustrated). In one embodiment, a "review" function (not shown) is included on the main menu 550, allowing users to switch between viewing a presentation and submitting a review of the presentation afterward.
The GUI may also include an audio/video window 520 for viewing and listening to the presenter. The audio/video may be streamed using industry standard streaming techniques (e.g., the RealTime Streaming Protocol) or proprietary streaming techniques. In one embodiment, the on-demand presentation file 330 is stored on
portable mass storage medium such as a compact disk or DVD, and no streaming of the audio/video is performed.
In one embodiment, the audio/video window 520 includes a slidebar 524 which, when moved to the left or right, jumps forward or backwards, respectively, in the presentation. A control bar 526 in one embodiment includes back and forward jump buttons, allowing a user to jump back or forward to audio/video associated with the previous/next slide in the presentation. The control bar also includes a play button which, when selected during a presentation, temporarily pauses the presentation.
A primary slide window 510 displays the current slide in the presentation (i.e., the slide which the presenter is currently discussing). In addition, a thumbnail area 540 contains thumbnail representations of each of the slides, typically ordered in a sequential format. Each thumbnail in the illustrated embodiment is comprised of an image portion (e.g., 542) and a time portion (e.g., 544). The time portion 544 of the thumbnail indicates the time at which the slide represented in the image portion 542 was discussed during the presentation. For example, the time portion 544 illustrated in Figure 5 reads 5:05.3, indicating that the slide represented in the image portion 542 was discussed approximately five minutes and five seconds into the presentation.
In one embodiment, illustrated in Figure 6, when a user positions a mouse pointer (or other cursor control image) over a thumbnail, the periphery of the thumbnail will become highlighted (as illustrated), and a secondary slide window 610 will appear containing the slide over which the mouse pointer is positioned. In this manner, the user can quickly view a slide without replacing the slide in the primary window 510.
In one embodiment, when the mouse pointer is positioned over a thumbnail and the user selects the thumbnail (e.g., by clicking on a mouse button), the selected slide will appear in the primary slide window 510. Depending on the particular configuration, this may or may not cause the audio/video portion of the presentation to jump to the point at which the selected slide was discussed.
In one embodiment, if the mouse pointer is positioned over the image portion of the thumbnail 542 and selected by the user, the slide associated with the thumbnail will appear in the primary window 510, but the audio/video will not jump to the point at which the selected slide was discussed. However, if the mouse pointer is positioned over the time portion of the thumbnail 544 and selected by the user, the slide associated with the thumbnail will appear in the primary window 510, and the audio/video will jump to the point at which the selected slide was discussed. As illustrated in Figure 7, in one embodiment, the time portion of the thumbnail 710 will become highlighted when the mouse pointer is positioned above it.
One embodiment of the GUI includes an information window 530 which includes information related to the presentation. For example, this window may include the title of the presentation, the name of the presenter, the presenter's background/qualifications, and/or a list of topics covered in the presentation 532. In one embodiment, the list of topics are hyperlinks which, when selected by a user, will jump to the point in the presentation indicated by the topic. The information window 530 may also include links to Internet sites which contain information related to the subject-matter of the presentation. In addition, one embodiment of the GUI includes a status bar 560 for displaying the current status of the presentation (e.g., which slide is currently being discussed).
In one embodiment, the information window 530 is used to display closed- caption data related to the presentation. In this embodiment, when an on-demand presentation is generated, the closed caption data is synchronized (i.e., linked) with relevant portions of the audio/video (e.g., in a similar manner as each of the slides).
Various types of business methods may be implemented using the on-demand presentation system described herein. For example, in one embodiment, presentation content owners (i.e., the individuals/organizations who own copyrights to the underlying presentations) will pay ODPO to produce and/or host on-demand presentations. In this embodiment, end users (i.e., presentation viewers) may not be charged directly for presentation viewing.
By contrast, in one embodiment, end users (i.e., presentation viewers) will pay for the right to view presentations. The fee paid by the end users may be split between the content owner and the ODPO based on some predetermined percentage (e.g., 30% to the content owner), and/or based on a flat rate. Users in this embodiment may pay a subscription fee for the right to view any presentations (or any presentations within a particular classification) hosted on the presentation server(s) 110. Alternatively, or in addition, presentations may be sold to end users on a pay-per-view basis, and the pay- per-view fee split between the ODPP and the content owners (e.g., $3.00 for the right to view the presentation for one week).
Whether the fee is paid by presentation viewers or content owners may depend on the type of presentation in question. For example, the ODPO may receive hosting/production fees from content owners for promotional presentations (e.g., advertisements, presentations by individuals directed to prospective employers, . . . etc). In one embodiment, advertisers will pay for presentations to be freely viewed by the public. By contrast, presentations which contain content which is valuable to end users (e.g., a presentation on how to fix a computer, how to install aluminum siding . . . etc) may be sold to end users via pay-per-view or subscription services as set forth above.
In one embodiment, advertisement slides will be embedded within presentations. For example, one advertisement slide may be displayed along with associated audio/video after a certain number of regular presentation slides (e.g., one advertisement after every 5 regular slides). Accordingly, the business model associated with this embodiment resembles to some extent the business model for television advertisements. The advertisements may be embedded directly in the on-demand presentation file. Alternatively, or in addition, the on-demand presentation file may simply contain data which indicates that an advertisement is to be transmitted from a particular source (e.g., an advertisement server). As such, in this embodiment, the particular advertisement transmitted from the source may vary from one playback to the next as different advertisements are rotated into the presentation (i.e., based on the advertisement rotation policy).
In one embodiment, a user viewing the presentation may seek backwards within the presentation freely (i.e., without encountering the advertisement again). If, however, the user seeks forward (i.e., passing the embedded advertisement slide), the advertisement(s) passed by the user will be shown to the user before the presentation slides.
In one embodiment, security measures are implemented to protect the content owners' copyrights to the underlying presentation. For example, when an end user purchases the right to view a particular presentation, identification information may be stored on his computer in the form of a cookie or a token. When the user subsequently makes a request to view the presentation, the presentation server(s) 110 will check to ensure that the token/cookie data is stored on the user's computer before streaming the presentation. In one embodiment, the token may be associated with the user's Internet address to ensure that the user has not simply copied the token from another user's computer.
ONE EMBODIMENT OF A TELEPHONY-BASED SYSTEM AND METHOD FOR PRODUCING A PRESENTATION
Elements of the present invention may be included within a client-server based system 100 such as that illustrated in Figure 9. According to the embodiment depicted in Figure 9, one or more presentation server 110 communicate with one or more clients 935, 936. The clients 935, 936 transmit and receive data and/or digital audio/video content from the presentation server 110 over a variety of communication channels including (but not limited to) a local area network (not shown) and/or a larger network 125 (e.g., the Internet). Alternative communication channels such as wireless communication via satellite broadcast (not shown) are also contemplated within the scope of the present invention.
Presentation server 110 include one or more databases for storing various types of data. This may include, for example, specific client data (e.g., client account information and client preferences) and/or more general data. The database on
presentation server 110 in one embodiment runs an instance of a Relational Database
Management System (RDBMS), such as Microsoft™ SQL-Server, Oracle™ or the like.
A user/client interacts with presentation server 110 using a variety of communication devices and/or communication protocols. According to one embodiment, a user connects to presentation server 110 via client software which may include a browser application such as Netscape Navigator™ or Microsoft Internet Explorer™ on the user's personal computer, which communicates to presentation server 110 via the Hypertext Transfer Protocol (hereinafter "HTTP"). In other embodiments included within the scope of the invention, clients may communicate with presentation server 110 via cellular phones and pagers (e.g., in which the necessary transaction software is embedded in a microchip), and/or handheld computing devices.
In addition, a user/client may transmit audio content and other data to presentation server 110 over a telephone network 945 using a telephony device 145 (e.g., a touch-tone telephone). The telephony network 940 in one embodiment is a Public Switched Telephone Network ("PSTN"). However, other types of telephony networks and telephony devices may be implemented without departing from the underlying principles of the invention. In one embodiment, the presentation server 110 is connected to the telephony network 940 via a telephony switch such as the Private Branch Exchange ("PBX") switch 960 illustrated in Figure 9.
One embodiment of the system and method will now be described with reference to Figures 10 and 11. At step 1010, a user generates a presentation which includes a set of slides. This may be accomplished, for example, using a third-party presentation application such as Microsoft PowerPoint®. It should be noted, however, that the particular manner in which the presentation slides are generated is not relevant to the underlying principles of the invention.
At step 1015, the user connects to the presentation server 110 from a client (e.g., client 135) and saves the presentation on the presentation server 1 10 storage device 127 with a unique presentation identification code (represented in Figure 10 by presentation
data & ID code 1007). In one embodiment of the system, this code is the user's telephone number. In addition, the user may also be required to enter a user password to prevent unauthorized access.
Once the presentation data has been saved, the user dials a designated telephone number (e.g., using telephony device 1045) to access the presentation server 110 over the public telephony network 1040 (step 1020). The presentation server 110 transmits and receives audio content 1005 and control information 1006 over the public telephony network 1040 via a telephony interface module 1010.
The presentation server 110 in one embodiment prompts the user to enter his or her presentation ID number and/or password to identify the presentation. The user can enter this information via his or her touch-tone telephone keypad (steps 1025 and 1026). In one embodiment, the password is the same password selected by the user when uploading the visual presentation to the presentation server 110.
In response to the user entering a proper ID number and password, an audio link module 1120 of one embodiment will associate the set of presentation slides on the storage device 1127 with audio transmitted by the user over the telephony network 1140, as indicated in Figure 11. The presentation server 110 will then prompt the user (via telephony interface module 1110) to begin voice recording for the first slide (step 1030). In one embodiment, the presentation server 110 will send a voice prompt which reads out the title of the slide or other information identifying the slide. For example, using speech synthesis technology, the voice prompt may read out the presentation title, slide numbers, and/or the slide titles to minimize the chance of recording the voice for the wrong slide or an invalid slide. One embodiment may also employ a separate voice response unit ("VRU") to send verbal communications to the user.
As the user speaks into the telephony device, the audio link module 1120 will record and link the user's voice to the first/current slide. Once the user has finished speaking on the first slide, he/she will press a designated key on his her telephone to stop the recording (step 1035). In one embodiment (not illustrated), the user will then
be given the option to listen to the recorded audio track, to save the recorded audio track and move on to the next slide, or to record a new audio track. Once the user records an audio track for the slide which he/she finds acceptable, the user will press a designated key to save the track.
At this point, if the user needs to add audio to additional slides (at 340), he/she can press another designated key on the telephone to move to the next slide (at 1045), and the recording and linking process begins again for the new slide. Alternatively, or in addition, the user may enter a designated key (or set of keys) to jump back or forward to a particular slide in the sequence of slides (e.g., if the user simply wants to edit one slide in the sequence rather than the next slide in the sequence). This may be accomplished, for example, by entering the slide number to identify the slide.
It should be noted that the user who uploads the visual presentation is not necessarily the same user who records the audio tracks. For example, several different audio tracks recorded in different languages may be linked to the same underlying visual presentation.
Once the user has finished speaking on the final slide in the set, he/she will select a key on the telephone keypad to indicate the end of the session. The resulting presentation file saved to the storage device 1127 by the audio link module 1120 contains a series of presentation slides and embedded audio tracks associated with each slide. If the user subsequently decides to make changes to the audio tracks, he may call the telephone number again and, using the telephone keypad, select one or more of the slides for modification (as described above).
When another user (e.g., client 134) selects this presentation, the presentation server 110 will transmit each slide in succession along with the verbal descriptions associated therewith.
Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of
the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. For example, although the embodiments set forth above were described in the context of streaming presentations over a network, embodiments of the invention may be implemented for local presentations (e.g., stored on compact disks or hard drives). Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.