EP1222820A1 - Automated publication system with networkable smart camera - Google Patents

Automated publication system with networkable smart camera

Info

Publication number
EP1222820A1
EP1222820A1 EP00968798A EP00968798A EP1222820A1 EP 1222820 A1 EP1222820 A1 EP 1222820A1 EP 00968798 A EP00968798 A EP 00968798A EP 00968798 A EP00968798 A EP 00968798A EP 1222820 A1 EP1222820 A1 EP 1222820A1
Authority
EP
European Patent Office
Prior art keywords
content
web
user
video
file
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
EP00968798A
Other languages
German (de)
French (fr)
Inventor
Georges Auberger
Thomas M. Paderna
John D. Bateman
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Logitech Europe SA
Original Assignee
Logitech Europe SA
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Logitech Europe SA filed Critical Logitech Europe SA
Publication of EP1222820A1 publication Critical patent/EP1222820A1/en
Ceased legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/422Input-only peripherals, i.e. input devices connected to specially adapted client devices, e.g. global positioning system [GPS]
    • H04N21/4223Cameras
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/27Server based end-user applications
    • H04N21/274Storing end-user multimedia data in response to end-user request, e.g. network recorder
    • H04N21/2743Video hosting of uploaded data from client
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17309Transmission or handling of upstream communications
    • H04N7/17336Handling of requests in head-ends

Definitions

  • the present invention relates generally to a system and a method for publication of captured content from a computer coupled with a video camera system, and more particularly, to an automated system and method for publication of captured content from a video camera system to a targeting host coupled to a network.
  • a conventional computer connected video system includes a conventional computer system and a conventional computer connected video camera.
  • the conventional computer system may be coupled through a connection device, such as a modem, to a conventional network service that allows for an Internet or electronic mail connection.
  • the conventional computer video system provides a mechanism for transmitting standalone or moving picture video images to other persons using a computer system.
  • One conventional process consists of using a conventional electronic mail application.
  • the conventional second process consists of creating an Internet site known as a "web site.”
  • the third conventional process consists of a person-to-person video teleconference using a conventional video system.
  • to send a video image using an electronic mail application requires the user to perform a series of steps to prepare the video image for transmission and then actually transmit the video image.
  • the user must point the conventional video camera to the subject matter of the video image.
  • the user then manually starts the conventional video camera software package to capture the video image with the conventional video camera.
  • the user must save the captured video image to the computer system storage device in a suitable video file format, for example, as a bitmap file (or a streaming video file for moving video images).
  • the user must next transmit the video image to the persons that the user selects.
  • the user must execute (or launch) an electronic mail application and select an electronic mail message option.
  • the user selects another option in the electronic mail application to add an attachment to the electronic mail message.
  • the user searches the storage device to select the stored video file as an attachment to the electronic mail message.
  • the user must then enter the proper electronic mail address for the person or persons to which the electronic mail message with video file attachment should be mailed.
  • the electronic mail message with video file attachment is then mailed to that person or persons.
  • the person or person's can then display the video file on their computer system.
  • this process requires a high number of manual steps by the user that increases the probability for errors, such as saving the video image in an improper file format or sending a wrong file attachment.
  • this process would require the user to individually perform each step over and over any time any part or portion of the video image is changed. This is particularly cumbersome where there is a need to keep another person or persons updated with the most current video image.
  • this process will not work for situations where a live video image is desired.
  • the second conventional process for transmitting video images involves a conventional process of creating a specific Internet site, known as a "web site," that another person or persons having an Internet connection can access to view and download a video image.
  • this process has numerous drawbacks because it requires the user to work through a series of conventional discrete manual steps to place the video image at the web site.
  • each step may require multiple software packages, which increases overall costs.
  • the user Initially, the user must have established an account with an Internet Service Provider ("ISP") to access the Internet, and more specifically the World Wide Web (“WWW”).
  • ISP Internet Service Provider
  • WWW World Wide Web
  • the user must also establish a separate account with a web site hosting facility to host the user's web site. In some instances the ISP can provide this hosting facility for an extra cost.
  • the user is ready to start capturing video. Specifically the user manually starts the conventional video camera software package to begin recording the video image. The user then points the conventional video camera to the subject matter of the video image to be recorded and starts the software to begin recording. The user stores the recorded image in a video image file in the storage medium of the computer system to which the conventional video camera connects.
  • the user Once the user captures and stores the video image, the user must now prepare to transfer (or "upload'V'download”) the video image to the web site. Specifically, the user must search for and then select the appropriate video image file from the storage device. The user then manually formats the video image file into a web content file. Specifically, still images are compressed in a format such as JPEG format. Further, moving video images must be converted into a streaming video format. To annotate the web content file, the user must use one or more separate application software programs for each type of desired annotation. For example, the user may require separate application software programs to add annotations such as time-date stamps, icon watermarks, and text to the web content file.
  • annotations such as time-date stamps, icon watermarks, and text
  • HTML hyper text markup language
  • the user must format a basic layout of the HTML pages as well as create or link artwork to accompany those HTML pages.
  • a user must also link each page together by manually inserting tags (specifically an "HREF” tag that references linked files) into the various HTML pages.
  • tags specifically an "HREF” tag that references linked files
  • the page must contain references to a JavaTM (Sun Microsystems, Inc. of Palo Alto, CA) or an object linking and embedding control (“OCX”) module that can be accessed by other web browser programs.
  • OCX object linking and embedding control
  • webcam webcam
  • web cam web cam
  • scripts and HTML code are used to handle timers, perform periodic refreshes, and handle data caches.
  • the user desires to create a thumbnail image of the video image, the user must purchase yet another software package and manually create the thumbnail image using that software package. It is noted that a thumbnail image is used to conveniently represent multiple images or content in a small geographic space.
  • the user must transfer them to the web hosting server. To do this, the user must complete a manual registration process to request from the web site host a directory with storage space and access rights to the directory to store the web pages. Further, if the web site host is unable to support the large bandwidth required for images such as a streaming video, the user must begin the process of finding another web site host (one that has greater bandwidth allocation capacity) all over again. Moreover, there may also be extended delays in getting access to the web site host resources due to monetary exchanges with the web site host to access the requested services.
  • FTP file transfer program
  • the user must manually enter into the FTP software the host site account information requested from the web site host such as the user name, password, and a user directory where content will be uploaded. This is necessary so that the user uploads the web pages to the proper location.
  • the user will also need to manually provide additional information to the FTP software such as web site host server domain name information, communication port number, and sub-directory information to get access to the web site host.
  • the user may need to create a directory structure on the server using the FTP software. Only after the user provides all this information can the user transfer the web pages manually into the proper directory in the web host site. The user must now contact the web site host (or the ISP) to determine the correct format for the HTTP Uniform Resource Locator ("URL"). This is the unique Internet address used by web browsers to locate where the web pages are on the host server. The user now is able to send this URL to the person or persons to whom access may be granted.
  • URL Uniform Resource Locator
  • the user must name the HTML page according to the naming convention of the hosting site in order for it to be picked up by a default. For example, a user may want content to be visible at the following URL: http://www.auberger.com/officecam. If the user does not know what the default HTML file the web server will pick up, a viewer will have to use a default file on the hosting site.
  • the problem with the default file is that the file name varies or is different for every hosting site. For example, some hosting sites use index.htm, other index.html, or home.html, or default.htm, etc.
  • the default variations are also numerous because only one letter needs to be changed so that a new location is pointed to. For example index.htm is different from index.html.
  • the conventional process for transmitting video images through a conventional process of creating a specific web site is fraught with numerous problems.
  • one problem with this conventional process is that it requires considerable technical skill and ability on the part of the user.
  • Another problem with this conventional process is that there are numerous opportunities for mistakes to occur in creating the web content and web images because of the number of manual entries and steps that the user is required to perform. This will cause errors such as improperly displaying the video image, failing to save the video image, or inconectly selecting the proper video image for display on the web page.
  • Another problem with this conventional process is that there are numerous and large associated hidden costs. For example, incorrect manual entries at either the web content and web page creation steps or the web site creation and hosting steps results in higher costs due to increased human time, effort, and resources necessary to properly create the web site and web pages and then properly access the web site host and then upload the web pages to that web site host. Further, these costs also translate to increased system costs, for example, in the form of Internet access connection fees based on time, additional storage requirements to de- bug faulty web content or web page software code or to create a new video image. Also, there will be still more costs associated with transferring the web pages to a new web site host if support for functions such as streaming video are not available at the initial web site host.
  • Still another problem with this conventional process is that it lacks the ability to handle repetitive video images that are captured by the conventional video camera system. That is, the conventional video camera system and conventional web page creation and hosting processes are unable to prevent the needless creation and uploading of redundant video images. This results in increased costs associated with increased bandwidth usage requirements and increased storage space requirements on both the user's computer system and the web site host system.
  • the call sending user positions the camera appropriately on himself and dials the call receiving user through his conventional video teleconference software package.
  • the call receiving user positions the camera on herself and picks up the call on her end through her conventional video teleconference package.
  • the two users can now have a video teleconference with each other as moving video images of one user is sent to the other user using this conventional configuration.
  • This third conventional process for transmitting video images also has numerous drawbacks.
  • One problem with this conventional process is that the conventional video teleconference software packages can be expensive and typically must be the same for both the calling user and the receiving user in order for the video teleconference to properly function.
  • a second problem with conventional video teleconference software packages is that they are unable to provide relatively smooth video transmission. Rather, the video transmission comes out in a "jerky" format.
  • conventional video teleconference software cannot effectively process the large data size associated with moving video pictures.
  • Another problem with the third conventional process for transmitting video images is that it uses point-to-point transmissions through conventional telephone lines.
  • Conventional telephone lines cannot handle the large bandwidth requirement that moving video images require. Therefore, entire frames of a moving video image may be dropped or lost, which again causes a choppy or "jerky" video image on the receiving user's end.
  • Still another problem with the third conventional process is that the video teleconference is not suitable for reaching audiences of three or more because the conventional video teleconference software package and conventional telephone lines cannot efficiently and effectively handle the large traffic of the moving video images.
  • an automated publication system that includes a targeting host system, a client production system, and a client interactive (or interaction) system that couple through some network service.
  • a publishing user may automatically generate content for publication to the targeting host system.
  • the client production system configures the content to automatically publish it on the targeting host system.
  • An interactive user can access the published content through a web browser on the client interaction system.
  • the network service is a network configuration, for example, an Internet or Intranet or a local or proprietary network.
  • Content includes video data (live, recorded, streaming, and the like), images, pictures, graphics, text, and the like.
  • Publishing includes posting, uploading, transferring, transmitting, broadcasting, and the like.
  • the client production system includes a video camera system and a network services connection.
  • the video camera system includes a video camera, a capture module, and a client production module.
  • the video camera can manually or automatically capture content and format it through the capture module.
  • the client production module including the client production system, automatically generates and publishes web pages, that may include the captured content, to a web site on the targeting host system.
  • the client production system is also configured to automatically access and create an account for a publishing user on a host targeting system.
  • the client production system is also configured to allow for automated access to the host services system for subsequent publication.
  • the targeting host system includes a network services connection, an administration system, a media system, a community system, and a content system.
  • the targeting host system may be referred to as a host services system because it hosts services that are available for access by both the client production system and the client interactive system.
  • the administration system of the host services system is configured to provide automatic access and resource allocation services for the client production system, for example, automated access parameters, web site host location information, and storage allocation.
  • the media system is configured to provide input and output services for web content from the client production system.
  • a media-in component is configured to receive content as clips, broadcasts, albums, or web pages.
  • a media-out component is configured to transmit (or display) content from the host services system as, for example, streams, files, or the like, to the client interactive system.
  • the community system provides services such as electronic mail, chat, or messaging to the client production system and the client interactive system.
  • the content system provides a location for automatically storing web sites having content and that were automatically created by publishing users of client production systems.
  • the content system also provides interactive users with a location to search and access this created content, either for free or for a fee.
  • the client interactive system includes a web browser system, a video player system, an audio player system, a messaging system, and an account system.
  • the web browser system is configured to provide an interface to resources accessible through the network services.
  • the video player system is configured to provide live and recorded streaming video playback capabilities.
  • the audio player system is configured to provide live and recorded streaming audio playback capabilities.
  • the messaging system is configured to provide messaging functions.
  • the account information system is configured to store information about the interactive user so that this information is readily available to the host services system, for example, to access fee-based content on the host services system. It is noted that each system may be included within another system and may also be integrated with the web browser system.
  • the present invention provides an advantageous system and business method model for an automated publication system.
  • the automated publication system allows publishing users to automatically capture content and also automatically create and generate a web site that may include the captured content.
  • the user of the automated publication system need not have any programming skill sets for either creating the web site or publishing it. This saves publishing users significant time and system resource that are commonly associated with creating web sites.
  • the host services system beneficially provides a worldwide stage for web content publishers.
  • the host services system that operates in conjunction with the client production system provides a broadcast portal similar to a broadcast station.
  • large audiences can access the host services system and tune into channels that include content that was created and automatically published on the host services system by a publishing user.
  • the host services system also provides a publishing user a facility to automatically publish a web site.
  • the client production system advantageously allows for automatically accessing a host services system through a network service and also automatically verifies or creates a new user account upon starting a video camera system in accordance with the present invention.
  • the client production system includes a web cam system, a web album system, and a live video system.
  • the web cam system provides web cam features that allow a user to publish a web page to a host services system and automatically update (or refresh) the content on that web page at predetermined intervals.
  • the web cam system is beneficially automated so that the web cam system automatically generates and/or creates web pages to publish on the host services system. These web pages are then automatically updated (or refreshed), typically with more recently captured content.
  • the web cam system includes a trigger event manager, a comparison manager, a web cam content manager, a web cam publish manager, a web cam options manager, and a static file streaming manager.
  • the trigger event manager is configured to detect triggering events that begin an action in the web cam system, for example, capturing new content.
  • the comparison manager is configured to compare a frame of content with a reference frame of content. The comparison information is used to determine whether a page refresh should occur.
  • the web cam content manager is configured to provide an interface for a publishing user to select parameters to automatically create and publish web pages using the content captured through the web cam system.
  • the web cam publish manager is configured to publish the web pages with the web cam content automatically to a publishing user's web site.
  • the web cam options manager is configured to provide options for the web cam system, for example, content size, archival location, scheduling information, or comparison determination information.
  • An advantage of the web cam system is that it provides an automated system and process for generating and maintaining a web cam site for access through a network service. Moreover, a benefit of the automated web cam system is that a user is not required to have any programming or technical skills to create a web cam site for the captured content.
  • the automated web cam system provides the user with beneficial web cam features such as, for example, a visual-based security system or a visual-based monitoring system. Moreover, these web cam features are beneficially provided at a significant cost savings because the user is not required to install expensive equipment in the secured or monitored area where the video camera system is set up and is not required to maintain an expensive monitoring service.
  • the web album system provides features that allow a user to create customized albums similar to, for example, picture albums, using previously captured content as well as live content from the video camera system.
  • the web album system is beneficially automated so that the customized albums are transformed automatically into a web based format that can be published on the user's web site.
  • the web based format of the customized album is a web content file that may be referred to as the web album.
  • the web album system includes a content source manager, a layout manager, a preview manger, a web album publish manager, a web album options manager, and a static file streaming manager.
  • the content source manager is configured to provide a user with an interface to select content for the web album.
  • the layout manager is configured to provide a template for the layout of the web album that may include the selected content.
  • the web album publish manager is configured to provide automatic publication parameters for the web album that is created using the layout and content.
  • the static stream manager is configured to provide a motion video file for including in the web album.
  • the web album system may also include an options manager for providing customization parameters for the web album, for example, size, author, electronic mail address, or default web page information.
  • the live video system provides the user with a system for publishing live video on the user's web site.
  • the live video system allows users of client interactive systems (or interactive users) to "tune in” to a web site of a user of a client production system (or the publishing or production user) and watch the live program that the production user is publishing.
  • the live video system advantageously provides a personal broadcasting station for the production user where the programming of that station is left to the productions user's discretion and imagination.
  • the live video system includes a live streaming system.
  • the live streaming system includes a driver level, a communication server device interface, a portal object; and a broadcast module.
  • the driver level is configured to provide an acquisition mechanism for raw video and audio data streams from the video camera.
  • the driver level also provides an interface between the video camera and the communication server device interface.
  • the communication server device interface is configured to provide an interface between one or more applications and the video camera system.
  • the communication server device interface functions to format the raw video and audio data streams into a more standardized format.
  • the portal object is configured to provide a preview of the formatted video data stream from the communication server device interface.
  • the broadcast module is configured to process the video and audio data to properly interleave them and generate a streaming video output.
  • This streaming video output is sent to a targeting host system and may be viewed by an interactive user on the client interactive system.
  • An advantage the live streaming system is that it provides a production user with their own broadcasting system.
  • the user's own client production system provides their own production studio for the content that they desire to broadcast live.
  • the live streaming video system allow users to reach large audiences that are prohibitively expensive to reach through conventional broadcast channels.
  • the capture and publication of live video is automated, the user beneficially can produce live broadcasts despite lacking programming or technical skills for broadcasting such content through network services.
  • Figure lb is a block diagram of one embodiment of a video camera system in accordance with the present invention.
  • Figure 2 is a block diagram of one embodiment of a computer system for use in a data processing system in accordance with the present invention.
  • Figure 3 is a block diagram of one embodiment of a memory system of a computer system for use in a data processing system in accordance with the present invention.
  • Figure 4 is a block diagram of a first embodiment of an automated publication system in accordance with the present invention.
  • Figure 5 is a functional architecture diagram of a second embodiment of a host services system in accordance with the present invention.
  • Figure 6 is a functional architecture diagram of a second embodiment of a client production system in accordance with the present invention.
  • Figure 7 is a functional architecture diagram of one embodiment of a client interactive system in accordance with the present invention.
  • Figure 8 is a flow diagram of one embodiment of a process for providing a host services system interface in accordance with the present invention.
  • Figure 9 is a flow diagram of one embodiment for intake of content at a host services system in accordance with the present invention.
  • Figure 10 is a flow diagram of one embodiment of a process for producing content at a client production system in accordance with the present invention
  • Figure 11 is a flow diagram of one embodiment of a process for automatically generating and publishing content from a client production system in accordance with the present invention.
  • Figure 12 is a flow diagram of one embodiment of a process for automatically formatting video content in accordance with the present invention.
  • Figure 13 is a flow diagram of one embodiment of a process for automatically creating web pages based on activity in accordance with the present invention.
  • Figure 14 is a flow diagram of one embodiment of a process for an interactive client system accessing a host services system in accordance with the present invention.
  • Figure 15a is a block diagram of a second embodiment of an automated publication system in accordance with the present invention.
  • Figure 15b is a block diagram of a third embodiment of a host services system in accordance with the present invention.
  • Figure 16 is a flow diagram of one embodiment of a process for automatically publishing content through the second embodiment of the automated publication system in accordance with the present invention.
  • Figure 17 is a block diagram of one embodiment of a web cam system in accordance with the present invention.
  • Figure 18 is a flow diagram of one embodiment of a process for capturing content in a web cam system in accordance with the present invention.
  • Figure 19 is a flow diagram of one embodiment of a process for capturing a frame of content in a web cam system in accordance with the present invention.
  • Figure 20 is a flow diagram of one embodiment of a process for determining whether to publish captured content in a web cam system in accordance with the present invention.
  • Figure 21 is a flow diagram of one embodiment of a process for uploading captured content from a web cam system in accordance with the present invention.
  • Figure 22 is a flow diagram of one embodiment of a process for completing a site refresh with captured content from a web cam system in accordance with the present invention.
  • Figure 23 is a block diagram of one embodiment of a web album system in accordance with the present invention.
  • Figure 24 is a flow diagram of one embodiment of a process for creating a web album in accordance with the present invention.
  • Figure 25 is a block diagram of one embodiment of a broadcast system that includes a live video system in accordance with the present invention.
  • Figure 26 is a flow diagram illustrating a first example of an embodiment of a process for producing a live video stream in accordance with the present invention.
  • Figure 27 is a flow diagram illustrating a second example of an embodiment of a process for producing a live video stream in accordance with the present invention.
  • DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A preferred embodiment of the present invention will be described with reference to the Figures (Figs.), where like reference numbers may indicate identical or functionally similar elements.
  • the present invention includes a data processing system that includes an automated publication system.
  • the automated publication system includes a client production system for generating content that can be automatically published on (or broadcast through) a targeting host system.
  • Content includes, but is not limited to, video (live, recorded, streaming, and the like), images, pictures, graphics, text, and the like that may be formatted in a variety of forms.
  • the targeting host system may be a host services system that hosts the content from the client production system and allows that content to be selectively available to those accessing that host services system.
  • Figure la is a block diagram of one embodiment of a data processing system 101 in accordance with the present invention.
  • the data processing system includes a host services computer system 110, a client production computer system 120, a client interactive computer system 130, and a network service 140.
  • the network service 140 couples the host services computer system 110, the client production computer system 120, and the client interactive computer system 130.
  • the host computer system 110 is a conventional host computer system, that may include a host computer 110a, a storage device 110b, a network services connection 110c, and a conventional input/output devices such as, for example, a display, a mouse, a printer, and/or a keyboard, that may couple to a computer system.
  • the host computer 110a also includes conventional operating system, and input/output device, and network services software.
  • the network service connection 110c includes those hardware and software components that allow for connecting to a conventional network service.
  • the network service connection may include a connection to a telecommunications line (e.g., a dial-up, digital subscriber line ("DSL”), a Tl, or a T3 communication line).
  • DSL digital subscriber line
  • the host computer 110a, and the storage device 110b, the network services connection 110c may be available from, for example, IBM Corporation (Armonk, NY), Sun Microsystems, Inc. (Palo Alto, CA), Hewlett- Packard, Inc. (Palo Alto, CA), or Compaq Computer Corporation (Houston, TX).
  • the client production system 120 is a conventional computer system that includes a conventional client computer system 120a, an optional storage device 120b, a network services connection 120c, a video camera system 120d, and input/output devices such as, for example, a display, a mouse, a keyboard, a printer, and/or a scanner, that may couple to a computer system.
  • the client computer system 120a also includes conventional hardware and software for operation such as, for example, a central processing unit (“CPU”), an operating system (“OS”), and device drivers.
  • CPU central processing unit
  • OS operating system
  • device drivers device drivers
  • the network service connection 120c includes those hardware and software components that allow for connecting to a conventional network service. For example, a modem or a digital subscriber line (“DSL") connection and an Internet Service Provider ("ISP") account or an Ethernet peripheral card and a local area network connection and account.
  • the client computer system 120a may be available from, for example, IBM Corporation, Sun Microsystems, Inc., Hewlett-Packard, Inc., or Compaq Computer Corporation.
  • the optional storage device 120b is a conventional storage device, for example, a magnetic disk storage device or a solid state storage device.
  • the video camera system 120d is further described below with respect to Figure lb.
  • the client interactive computer system 130 is a conventional computer system that includes a client computer system 130a, an optional storage device 130b, a network connection 130c, and conventional input/output devices such as, for example, a display, a mouse, a keyboard, a printer, and/or a scanner, that may couple to a computer system.
  • the client computer system 130a includes appropriate hardware and software for operation such as, for example, CPU, an operating system, and device drivers.
  • the network services connection 130c includes those hardware and software components that allow for connecting to a conventional network service.
  • the client computer system 130a may be available from, for example, IBM Corporation, Sun Microsystems, Inc., Hewlett-Packard, Inc., or Compaq Computer Corporation.
  • the optional storage device 130b is a conventional storage device, for example, a magnetic disk storage device or a solid state storage device. It is noted that the client publication computer system 120 may also function as a client interactive computer system 130.
  • the network service (or network services) 140 is a network such as a wide area network or a local area network.
  • the wide area network may include the Internet, the Internet 2, and the like.
  • the local area network may include an Intranet, which may be a network based on, for example, TCP/IP belonging to an organization accessible only by the organization's members, employees, or others with authorization.
  • the local area network may also be a network such as, for example, NetwareTM from Novell Corporation (Provo, UT) or Windows NT from Microsoft Corporation (Redmond, WA).
  • the network services 140 may also include commercially available subscription-based services such as, for example, AOL from America Online, Inc. (Dulles, VA) or MSN from Microsoft Corporation (Redmond, WA).
  • the network services connection may be made through, for example, a modem (including analog, digital, and/or cable modems), subscriber lines such as, for example, DSL or ISDN, or a network card such as an Ethernet or Token-Ring card.
  • a network address identifier such as, for example, a network identification card ("NIC") number or a TCP/IP or similar address type.
  • FIG. 2 is a block diagram of one embodiment of a computer system 110a for use in the data processing system 101 in accordance with the present invention.
  • the computer systems 120a, 130a may be similar to the computer 110a, and those of ordinary skill in the art will recognize the logical (or functional) components also apply to the computer systems 120a, 130a of the client production computer system 120 and the client interactive computer system 130, respectively.
  • the computer system 110 includes a processing system (or central processing system
  • CPU central processing unit
  • display and/or graphics system input/output (or subsystem) 220
  • input/output device connections 230 a video camera input/output 240
  • network input/output 250 a storage device input/output 260
  • storage device input/output 260 a memory system 270
  • system (or data) bus 280 The computer system may also include other conventional computer system input/outputs that are known to those of ordinary skill in the art.
  • the system bus 280 couples the CPU 210, the display input/output 220, the input/output device connections 230, the video camera input/output 240, the network input/output 250, the storage device input/output 260, and the memory system 270.
  • the CPU 210 is a conventional processing unit such as, for example, an Intel Pentium®-class processor or a Sun Microsystems SPARC® processor.
  • the display input/output 220 is a conventional display input/output such as, for example, a video graphics array ("VGA") type input/output.
  • the input/output devices 230 include a conventional pointing device input/output such as, for example, a Universal Serial Bus (“USB”) port, an IBM PS/2® or compatible port, a serial port, or a stylus input/output connection.
  • the input/output device connections 230 also include a keyboard input/output such as, for example, a USB port, a keyboard port, or a touch keyboard connection.
  • the input/output device connections 230 may also include USB ports for USB devices, small computer systems interfaces ("SCSI”) for SCSI devices, or other like input/output ports and devices.
  • SCSI small computer systems interfaces
  • the video camera input/output 240 is a video connection port for connecting a video camera, e.g., a video camera of the video camera system 120d.
  • the video connection port may be a custom port, a serial port, a parallel port, a USB port, IEEE 1394, or the like.
  • the network input/output 250 is a conventional network interface connection such as, for example, an Ethernet or Token-Ring connection, a high-speed (e.g., Tl line) connection, a wireless network connection, a dial-up connection, a subscriber connection (e.g., DSL or ISDN), or the like.
  • the network input/output 250 may be used to connect to the network services 140, including the Internet or an Intranet. These connections may also include access to the World Wide Web ("WWW").
  • WWW World Wide Web
  • the storage device input/output 260 is a conventional storage device connection such as, for example, a SCSI interface or an integrated drive electronics ("IDE") interface.
  • the storage device input output 260 may be used to connect a magnetic disk drive, a tape drive, a compact disk drive, or a solid-state storage device.
  • the memory system 270 is a conventional memory system such as, for example, a dynamic random access memory (“DRAM”) or a static random access memory (“SRAM”).
  • the system bus 280 is a conventional system bus such as, for example, a peripheral connection interface (“PCI”) bus or an industry standard architecture (“ISA”) bus.
  • PCI peripheral connection interface
  • ISA industry standard architecture
  • FIG. 3 is a block diagram of one embodiment of a memory system 270 for a computer system, e.g., 110a, 120a, 130a, for use in the data processing system 101 in accordance with the present invention.
  • the logical components for the memory system 270 apply to the computer systems 110a, 120a, 130a of the host services computer system 110, the client production computer system 120, and the client interactive computer system 130, respectively.
  • the logical components in the memory system 270 include at least a portion of each of an operating system 310, a system component 320, and an application 330.
  • the operating system 310 interfaces with the CPU 210 through the system bus 280. It also interfaces with the system component 320 and the application 330.
  • the system component 320 and the application 330 may be optionally present in the memory system 270 during operation of the appropriate computer system 110a, 120a, 130a in the data processing system 101.
  • the operating system 310 is a conventional operating system as discussed above such as, for example, Microsoft WindowsTM.
  • the system component 320 is all or a portion of particular system functions that are resident in the memory 270 to perform a function in conjunction with hardware and software components of the data processing system 101.
  • Some examples of system components 320 include at least a portion of an automated publication system, a client production system, a web cam system, a web album system, a live video system, and a host services system, all of which are further described below.
  • the system components 320 may include those components that are necessary to interface with the operating system and the application, such as, for example, a device driver, a programming interface, or a messaging interface.
  • the application 330 is optional and provides an interface to a user of the system component 320.
  • the application may include a user interface that is presented on a display of a computer system and that allows for a user to interact with the system component 320 to perform some function. All or a portion of an application 330 may be present in the memory system during operation of the data processing system 101.
  • Video Camera System Figure lb is a block diagram of one embodiment of a video camera system 120d in accordance with the present invention.
  • the video camera system 120d includes a video camera 152, a capture module 154, and a client production module 156.
  • the video camera 152 couples with the capture module 154 and the client production module 156.
  • the video camera 152 is a hardware device.
  • the capture module 154 and the client production module 156 are embodied in software, hardware, or a combination of hardware and software.
  • the software may be stored in a storage device, e.g., a solid state memory or a disk.
  • a storage device e.g., a solid state memory or a disk.
  • at least a portion of the capture module 154 and at least a portion of the client production module 156 is embodied as a system component, e.g., 320.
  • the video camera 152 is a conventional video camera such as, for example, a
  • the video camera is configured to capture visual and audio content.
  • the capture module 154 is used to process the captured content as particular content and/or format type such as, for example, BMP format, TIFF format, JPEG format, PCX format, PSD format, TGA format, PNG format and the like.
  • the client production module 156 includes a client production system that automatically generates web pages and automatically publishes (including broadcasts, posts, uploads, transfers, etc.) the web pages on a web site. Moreover, the client production system automatically creates a web site for the user if the user so desires.
  • the client production module 156 includes a user interface that is presented to the user through an application, e.g., 330, to the display of the computer system, e.g., 120a. The user may interact with the client production system 120 and the capture module 154 through this user interface.
  • the user interface may be a windowed user interface such as one provided by a windowed interface operating system, for example, Microsoft WindowsTM.
  • the capture module 154 may be inco ⁇ orated into the client production module 156.
  • the capture module 154 and/or the user interface may be directly inco ⁇ orated into, for example, the client production system 420 (or 601, 1520) described below.
  • there may be a registration identification associated with the video camera system 120d that may be used to correct the video camera system 120d to resources connected to the network services 140.
  • the functionality of components in the client production 156 may be included in either the client production computer system 120, in the host services computer system, or in a combination of both without departing from the spirit of the invention.
  • the present invention includes components with unique functional elements that operate alone or in combination with other components to provide an automated publication system.
  • the automated publication system provides a business model for allowing automated publication of content to a site on a hosting target (e.g., a WWW site ("web site”)) even when a user does not have any programming or technical skills.
  • the business model includes a process from which a user captures content and automatically creates network accessible documents (e.g., "web pages”) using the captured content. The web pages are then automatically published on the web site.
  • the automated publication system also automatically creates a web site account for a user if so desired.
  • FIG 4 is a block diagram of a first embodiment of an automated publication system (or a personal media system) 401 in accordance with the present invention.
  • the first embodiment of the automated publication system 401 includes a first embodiment of a host services system 410 and a first embodiment of a client production system 420.
  • the network services 140 couple the host services system 410 with the client production system 420.
  • the host services system 410 functions within or in conjunction with the host services computer system 110.
  • the client production system 420 functions within or in conjunction with the client production computer system 120.
  • the client production system 420 is configured to function with a video camera system, e.g., 120d.
  • Both the host services system 410 and the client production system 420 may be considered system components, e.g., 320, and may also include one or more subsystem components. Moreover, both the host services system 410 and the client production system 420 may be implemented in hardware, firmware, software, or any combination thereof.
  • the host services system 410 is an enhanced portal-type service that includes a network services connection system 430, a community system 435, a content system 440, a media system 445, and an administration system 450.
  • the operating system 310 and/or the system bus 280 couples with each system 430, 435, 440, 445.
  • each system may include one or more subsystems.
  • Each system 430, 435, 440, 445 of the host services system 410 may function with one or more database systems ("DB") that stores information, including data, instructions, macros, software objects, and the like, in a storage device, e.g., 110b.
  • the database system may be a database system that includes a database such as, for example, Oracle 8TM by Oracle Co ⁇ oration (Redwood Shores, CA) or SQL ServerTM by Microsoft Co ⁇ oration.
  • the network services connection system 430 includes conventional hardware and software for coupling to the network services 140.
  • the community system 435 is configured to provide functions such as, for example, electronic mail or chat rooms, that are open to a community of users of network services.
  • the community system 435 is embodied in software and the data for the functions may be stored in the database system.
  • the content system 440 is configured to store web pages having media content such as, for example, still image files, graphic files, bitmap files, motion video files, streaming video files, and/or any combination thereof.
  • the content system 440 is embodied in software with the data stored in the database system.
  • the media system 445 is configured to provide an interface for receiving or transmitting web pages and/or media content.
  • the media system 445 may be embodied in hardware, software, or any combination thereof.
  • the media system 445 may include a database system for storing the received or transmitted web pages and/or media content on a temporary or permanent basis.
  • the administration system 450 is configured to include functions for managing the services of the host services system 410 and user-related functions such as, for example, log-on information, authorization, and access privileges to restricted areas of the host services system 410, managing data within any of the database systems of the host services systems, or the like.
  • the administration system 450 may be embodied in hardware, software, or any combination thereof, and may include the database system for storing appropriate information.
  • the client production system 420 includes a network services connection system 460, a video system 465, and a publishing system 470.
  • the operating system 310 and/or the system bus 280 couples with each system 460, 465, 470.
  • each system 460, 465, 470 may use one or more database systems ("DB") that store data in the storage system, e.g., 120b.
  • DB database systems
  • Each system 460, 465, 470 is also communicatively coupled to the other systems.
  • the network services connection system 460 is embodied in hardware and software.
  • the network services connection system 460 is configured to provide access to network services, e.g., 140.
  • the video system 465 includes a video input for a video camera, e.g., 120d, to capture video images, for example, still frame images, moving images, graphic images, and picture images. In one embodiment, the video system 465 functions in conjunction with the video camera system 120d.
  • the publishing system 470 is preferably configured in software. It selects content taken from by the video system 465 and formats that content to publish (including broadcast, post, transmit, etc.) it automatically on a web page. More particularly, the publishing system 470 may be configured to function with the network services connection system 460 to automatically establish a connection to the network services 140 and establish an account on the host services system 410 so that the formatted content may be published.
  • FIG. 5 is a functional architecture diagram of a second embodiment of a host services system 501 in accordance with the present invention.
  • the second embodiment of the host services system 501 is functionally similar to host services system 410 described in Figure 4, with some additional detail.
  • the host services system 501 functions within or in conjunction with the host services computer system 110.
  • at least a portion of host service system 501 may be considered a system component, e.g., 320, that interfaces with the network services 140 through the operating system 310 and/or the system bus 280.
  • the second embodiment of the host services system 501 includes a media system 510a, 510b (generally 510), an administration system 520, a community system 530, a content system that includes a commerce content system 540 and a general content system 550.
  • the second embodiment of the host service system 501 also includes a content management module 560, a customer service module 565, a billing module 570, a metering module 575, and a storage system 590.
  • Each component of the second embodiment of the host services system 501 couples through the operating system 310 and/or the system bus 280. Moreover, each component may be embodied in hardware, software, or any combination thereof. The software portions of the components may be stored in the storage system 590. Further, a database or file system for use with the second embodiment of the host services system 501 stores information, for example, data, files, objects, macros, and the like in the storage system 590. It is noted that the storage system 590 may be, or may function, similar to the storage system, e.g., 1 10b, described above.
  • the media content system 510 includes a media in system 510a and a media out system 510b.
  • the media in system 510a includes a computer server system for receiving content from, for example, a client production system 420 (or 601 in Figure 6 or 1520 in Figure 15a).
  • the media out system 510b includes a computer server system for transmitting (including sending, transferring out, streaming out, or the like) content from the host services system 501 (or 410 in Figure 4 or 1510 in Figure 15a) to a client interactive system, e.g., 130.
  • the administration system 520 is preferably embodied in software and is configured to include a membership module 520a, a user profile and accounts module 520b, a storage management module 520c, and a customer service module 520d. Each module may be coupled through the operating system, e.g., 310.
  • the membership module 520a is configured to provide data fields for allowing input of user information so that a potential user of the host services system 501 may be registered to access particular services such as, for example, publishing content in the general content system 550 or accessing all or a portion of the community services system 530.
  • the user information may include information such as, for example, user name, user contact information, registration number, registration identification (e.g. video camera system 120d registration identification), network address, or the like.
  • a potential publishing user may automatically be sent prompts from the membership module 520a to provide information such as, a user name, for use by the publishing user.
  • the administration system is configured to receive the registration information from the video camera system 120d automatically once a user selects to publish using that system. Once a user is registered, the registration data is stored in the database system and is accessible by the user profile and accounts module 520b.
  • the user profile and accounts module 520b is configured to accept login information
  • the user profile and accounts module 520b may be configured to execute (or launch) the membership services module 520a so that the user can be registered to use the appropriate services of the host services system 530 or may inform the user that they are unauthorized to access a particular service.
  • the membership services module 520a and the user profile and accounts module 520b are also configured to interface with the storage management module 520c.
  • the storage management module 520c is configured to manage the allocation of storage space in the storage system 590 to registered users of the host services system 501.
  • Either the membership module 520a or the user profile and accounts module 520b can also be configured to provide a user of a client production system, e.g., 420, 601, 1520, with a URL where web content can be accessed by users of client interactive systems, e.g., 130.
  • the membership services module 520a and the user profile and accounts module 520b are also configured to interface with the customer service module 520d.
  • the customer service module 520d provides both electronic and telephonic help desk or help line type support information for registered users and potential users of the host services system 501.
  • the community system 530 includes modules that allow registered users of the host services system 501 to interact with one another.
  • the community system 530 preferably includes an electronic mail module 530a, a chat module (e.g., an Internet chat room) 530b, and a pager/messaging module 530c.
  • the electronic mail module 530a is configured to provide conventional electronic mail functions.
  • the chat module 530b is configured to provide "chat room" functions so that the user can electronically communicate text messages with each other on a variety of topics in real time.
  • the pager/messaging module 530c provides an electronic paging and notification system to allow users to identify when other selected users are logged into the host services system 501 and contact them accordingly.
  • the commerce content system 540 is configured to provide fee-based services to those users that are registered to use such services.
  • the commerce content system 540 preferably includes a site membership module 540a, a site subscription module 540b, and one or more pay-per-view modules 540c.
  • the commerce content system 540 may be a WWW site ("web site") that users may access through an application (e.g., 330) referred to as a WWW browser ("web browser”) such as, for example, Internet ExplorerTM by Microsoft Co ⁇ oration or Netscape NavigatorTM by America Online, Inc.
  • the membership module 540a is configured to provide data fields to allow users of a client interactive system, e.g., 130, (viewing users) to register and pay a fee for use of services in the commerce content system 540.
  • the membership module 540a is also configured to allow users that are publishing content (publishing users) a place to register and optionally pay a fee to have their content hosted in the commerce content system 540.
  • the data fields in the membership services module 540a may include, for example name information, credit card information, and/or billing information. It is noted that the membership module 540a may be configured to interface with the membership profile module 520a and/or the user profile and accounts module 520b in the administration system 520.
  • the site subscription module 540b is configured to interface with the pay-per-view modules 540c and a viewing user or a publishing user.
  • the site subscription module 540b is configured to provide a subscription menu (through the web browser) to the user.
  • the subscription menu is configured to include data fields for each module such as, for example, listing a title and/or summary of a pay per view module 540c, a price for viewing that module, and a selection field for selecting that module for viewing.
  • This subscription menu may also be referenced as a channel guide.
  • the client publishing system e.g., the client publishing system, e.g.,
  • the site subscription module 540b is configured to provide a gateway for a user's content as a pay-per-view module in the commerce content system 540. It also lists that content in the subscription menu.
  • the pay-per-view modules 540c are configured to provide content for which a user typically must pay a fee to view.
  • the pay-per-view modules 540 may be created and published by a user of a client production system, e.g., 420, 601, 1520, in a manner as is further described below.
  • the general content system 550 is configured to provide content that is generally free of charge to both publishing users and viewing users.
  • the general content system 550 may be considered a web site that interactive users may access through a web browser.
  • the general content system 550 includes a content category module 550a, a channel module 550b, and a search module 550c.
  • the content category module 550a is configured to provide file storage and file directory (filing) information in conjunction with the storage system 590.
  • the content category module 550a is configured to categorize any type of content that may be created by a publishing system such as, for example, video or image clips, video streams, and web albums (further described below), for filing within the general content system 550.
  • the content category module 550a is configured to provide an interface for, for example, a client interactive computer system, e.g., 130, so that a user of that system is provided a channel (or a menu or other selection mechanism) to get access to and view the content.
  • the content category module 550a is also configured to provide an interface for the client production system, e.g., 420, 601, 1520, so that a publishing user can publish content at the host services system 501. It is noted that the published content includes web pages that have content.
  • the content category module 550a receives the published content and files it appropriately in the storage system 590. The published content can be accessed by a URL previously provided by the host services system 501.
  • the general content system 550 can provide a URL to the publishing user and provide a link to that URL through a channel that interactive client computer systems, e.g., 130, have access to.
  • the channel module 550b is configured to provide a menu (or selection field) in association with a filing system so that published content may be filed by some predefined category and displayed to users so that they can have access to that content.
  • the channels may serve as guides that are grouped similar to television channels so that sports content are on a sports channel set (one or more channels), cooking content is on a cooking channel set, home improvement content is on a home improvement channel set, etc.
  • the channel module 550b may be configured to provide customized channels for each user that elects to publish content through the general content system 550.
  • the channel module 550b may be configured to provide a user their own channel in which any published content they create would be listed in that channel.
  • the search module 550c is configured to include a search engine for locating web pages with particular content in the general content system 550.
  • the search module 550c is configured to provide natural language, key word, and/or Boolean type searches.
  • the search module 550c is also configured to search and find content that may be pre-categorized by the general content system 550. For example, searches for web pages with particular content may be done in or for particular categories, for example, sports, business, cooking, or home improvement. It is noted that the search module 550c and the channel module 550b may also be configured for use with the site subscription module 540 to search for and/or categorize web pages or sites with particular content in that module.
  • the content management module 560 of the host services system 501 is configured to provide an interface for accessing the host services system 501.
  • the customer services module 565 is configured to provide a help desk or a help line type service for users accessing the host services system 501.
  • the customer services module 565 may be configured through software, telephone, human interaction, or any combination thereof.
  • the billing module 570 may be embodied in software and is configured to track data that is related to fee-based services in the host services system 501 and automatically generates bills to users of those fee based services.
  • the fee based services include, for example, the services offered through the commerce content system 540.
  • the metering module 575 may be embodied in software and is configured to track usage information of the services in the various systems, e.g., 530, 540, 550.
  • the usage information includes, for example, viewer ratings or number of viewer connections.
  • the usage information may be provided as a fee-based service to, for example, publishing users. This metering information is particularly beneficial for those users that are currently publishing content on a channel in the general content system 550 and that may, for example, consider moving that content into the commerce content system 540 because of viewing trends that may be provided from the metering information.
  • FIG. 6 is a functional architecture diagram of a second embodiment of a client production system 601 in accordance with the present invention.
  • the second embodiment of the client production system 601 is functionally similar to the client production system 420 described in Figure 4, with some additional detail.
  • the second embodiment of the client production system 601 functions within or in conjunction with the client production computer system 120, and more particularly, within or in conjunction with the video camera system 120d.
  • at least a portion of client production system 601 may be considered a system component, e.g., 320, that interfaces with the network services 140 through an operating system, e.g., 310, and/or a system bus, e.g., 280.
  • the second embodiment of the client production system 601 includes a content system 610, a page generation system 620, and a format system 630.
  • Each system 610, 620, 630 of client production system 601 couples through an operating system, e.g., 310 and or a system bus, e.g., 280.
  • each system 610, 620, 630 may be embodied in hardware, software, or a combination thereof and the software portion may be stored in the storage system 690, which is functionally similar to storage system 120b.
  • a portion of the content system 610, the page generation system 620, and the format system 630 of the client production system 601 is embodied in software within the video camera system 120d. Further, these systems 610, 620, 630 may be configured as system components, e.g., 320, to function with the operating system, e.g., 310 within or in conjunction with the video camera system 120d.
  • a database or file system for use with the second embodiment of the client production system 601 may store information such as, for example, data, files, objects, macros, and the like in the storage system 690 for use by the system components 610, 620, 630.
  • the content system 610 may be configured in a combination of software and hardware.
  • the content system 610 is coupled to receive captured content from the video camera system 120d.
  • the content system 610 is also configured to store the captured content in one or more files (and/or directories) in the storage system 690.
  • the content system 610 may also present a thumbnail image of the file with the appropriate link in the directory to that content file.
  • Capturing content includes, for example, taking a picture of content, making a recording of content, or broadcasting content using the video camera system 120d.
  • content includes, and is not limited to, for example, a video file, a dynamic video stream, and pictures.
  • the page generation system 620 may be embodied in software.
  • the page generation system 620 is configured to select content from the storage system 690 and automatically generates one or more web pages using the captured content.
  • the page generation system 620 is configured to automatically generate the layouts and HTML code.
  • the layouts and the HTML code are preconfigured and are used with the content to create a web page with the content.
  • the layout and a theme also provide a template.
  • the template may include predetermined or preconfigured HTML code for HTML pages.
  • the layout defines an arrangement of objects within a web page. An object includes content, text, other graphical, items, or other things that then be added to a web page.
  • the theme includes web banners, colors of text, fonts, background colors, types of icons, various graphics, and other visual web objects on the web page.
  • Content may now be added to the template to create a basic web page.
  • the page generation system 620 is also configured to provide graphic files that are included within the web page.
  • the graphic files are also preconfigured and include artwork such as, for example, backgrounds and borders.
  • the graphic files may be included in the templates.
  • the format system 630 may also be embodied in software. It is configured to automatically link or connect each generated web page together into a web package or single entity.
  • the format system 630 is also configured to automatically publish (including, for example, broadcast, post, upload, transmit, etc.) the web package to the host services system, e.g., 410, 501, 1510. More particularly, the format system automatically accesses the host services system, e.g., 410, 501, 1510 through the network services and publishes the web package, for example, the general content system 550.
  • the format system 630 may also be configured to publish the web package automatically in a default channel (or directory) location in the site subscription module 540 or the general content module 550. This default location may be overridden by a publishing user so that the web package can be published at other channel locations if so desired.
  • the default channels may be configured so that, for example, sport web packages are published to a sports channel, business web packages are published to a business channel, travel web packages are published to a travel channel, etc.
  • the format system 630 is also configured to interface with the page generation system 620 to intelligently send only the differences of an image from the last upload of the image. This saves significant upload time and system resources when connecting with the host services system 501.
  • the web package may be referred to as a web content file.
  • a web content file includes, for example, a group of one or more web files, a web site, a package of web content or the like. Further, if the web content file includes one or more web pages, these web pages may be appropriately linked to each other.
  • the web content file comprises a package of web content, it may include, for example, HTML code, content (video files, streaming video, pictures, etc.), and supporting code.
  • the supporting code may include, for example, Java applets or OCX, or the like.
  • FIG. 7 is a functional architecture diagram of one embodiment of a client interactive system 701 in accordance with the present invention.
  • the client interactive system 701 is configured to function within or in conjunction with a client interactive computer system, e.g., 130.
  • the client interactive system 701 includes a web browser system 710, a video player system 720, an audio player system 730, an optional messaging system 740, and an optional account system 750.
  • Each system 710, 720, 730, 740, 750 of client interactive system 701 couples through the web browser system 710.
  • the web browser system couples to an operating system, e.g., 310, and/or a system bus, e.g., 280.
  • each system 710, 720, 730, 740, 750 may be embodied in hardware, software, or a combination thereof and the software portion may be stored in the storage system 130b.
  • the web browser system 710 may be a conventional web browser such as, for example, Internet ExplorerTM by Microsoft Co ⁇ oration or Netscape NavigatorTM by America Online, Inc.
  • the video player system 720 and the audio player system 730 may be separate or integrated conventional systems that accordingly play video files or streams and/or audio files or streams that are downloaded from the general content system 550 or the commerce content system 540 of the host services system 501.
  • the video player system 720 and the audio player system 730 may be, for example, a RealPlayerTM by Real Networks, Inc. (Seattle, WA) or a Windows Media PlayerTM by Microsoft Co ⁇ oration.
  • the messaging system 740 may be a conventional messaging system that may be used in conjunction with the community system 530 of the host services system 501 to determine which selected users have logged into the host services system 501.
  • the account system 750 includes information about the user that may be stored locally for use to access fee-based or selected secured areas of the host services system 501. In one embodiment the information about the user may be stored locally as, for example, a cookie or encrypted data in an operating system registry.
  • FIGs 8 through 14 provide a process for accessing services (or systems) in the host services system 501 from a client production system 601 or a client interaction system 701.
  • a flow diagram illustrates one embodiment of a process for accessing a service in the host services system 501 in accordance with the present invention.
  • the host receives a request for a service from a user through a client production system 601 or a client interaction system 701.
  • the host services system 501 identifies 810 the service requested.
  • the administration system 520 determines if the user is authorized to use the service requested.
  • the host services system 501 determines 870 if use of that service is completed. If not, access 860 to the service continues. If the use is completed, the process ends 880. If the requester is not authorized to use the service, the administration system 520 of the host services system 501 determines 830 if the service is available to the user. If the service is not available, the process ends 880.
  • the administration system 520 checks with the fee-based service (e.g., obtaining metering information or accessing the commerce content system 540) to determine 840 whether the requested service is a fee service. If it is not a fee service, again, the process ends 880. If it is a fee service, the administration system (and/or the fee-based service, e.g., the commerce content system 540) determines 850 whether the appropriate fees have been paid for the service. Payment of the fees may be made through, for example, credit card authorization from credit card information stored in the user profile and accounts module 520b or authorization to bill the user through the billing module 570. If the fees have not been paid, the process ends 880. If the fees are paid, the host services system 501 (e.g., the commerce content system 540) provides access to the service until the host services system 501 determines 870 that it is no longer needed. The process then ends 880.
  • the fee-based service e.g., obtaining metering information or accessing the commerce content system 540
  • Figure 9 is a flow diagram of one embodiment for publication of web content files from the client publication system 601 (or 420, 1520) at the host services system 501 (or 410, 1510) in accordance with the present invention.
  • the media in module 510a of the media content system 510 of the host services system 501 receives 910 the web content files and user information from the client development system 601.
  • the user profile and accounts module 520b of the administration system 520 determines 930 whether there is an established account for this user. If there is no established account, the membership services module 520a of the administration system 520 automatically creates a new account for the user.
  • the account may be created automatically by using registration information transmitted from, for example, the client production computer system 120 (including the video camera system 120d) to appropriately prompt the user for information such as, for example, name and address.
  • the registration information may include all the necessary information to create an account, including name for the account, when the system is configured to gather that information at, for example, the first use of the video camera system 120d or at the first time a publishing user selects to publish. In this case neither the host services system 501 nor the client production computer system 120 would need to prompt the user for more information.
  • This information from the user is then used to automatically create an account for that user at the host services system, 501. If the user is determined 930 to have an established account, the user profile and accounts module 520b verifies 950 the account.
  • the content systems receive 960 the web content file from the media-in module 510a.
  • the web content file is published as a web page(s) (or web site) in the content system, e.g., 540, 550.
  • the host services system 501 provides 970 to the user at the client production computer system 120 network address information for the location of the web pages so that the web pages may be accessed by a web browser system 710. The process then ends 980.
  • subsequent user access may also be accomplished through an automated process.
  • the host services system 501 may provide account validation information (or a key) to the client production computer system 120 for storage in the storage device 120b.
  • the account validation information is automatically passed to the host services system 501 during subsequent accesses by the user through the client production computer system 120. If the account validation information is accepted by the host services system 501, the client production computer system 120 is logged in. Thus, the subsequent access by the client production computer system 120 are also automated.
  • account validation information may be, or may include, the original information or it may be a new information such as an alphanumeric key code.
  • FIG 10 is a flow diagram of one embodiment of a process for producing a web content file in a client production system 601 (or 420, 1520) in accordance with the present invention.
  • the process starts 1010 when the video camera system 120d begins operation.
  • the video camera system 120d includes software that is configured to automatically access 1020 the host services system 501 (or 410, 1510) through the network services 140 upon startup. More particularly, the software is configured to provide account information to the user profile and accounts module 520b of the administration system 520. If the user is a first time user, the software is configured to include registration information (e.g., a registration information or serial number of the video camera system) so that a new user can automatically register through the membership services module 520a of the administration system 520. Specifically, the software is configured to transmit the registration information to the administration system of the host services system 501 as described above.
  • registration information e.g., a registration information or serial number of the video camera system
  • the video camera system 120d begins to capture 1030 content.
  • the content is stored 1040 either in the memory, e.g., 270, and/or the storage device, e.g., 120b/260.
  • the user or an automated process selects 1050 the content for publishing on the host services system 501.
  • the client production system 601 automatically generates the appropriate web pages, formats the web pages, and publishes the web pages as a web content file to, for example, the general content system 550 of the host services system 501.
  • Figure 11 is a flow diagram of one embodiment of a process for automatically generating and publishing content from a client production system 601 in accordance with the present invention.
  • the process starts 1110 once the content has been selected through the content system 610 of the client production system 601.
  • the page generation system 620 automatically formats the selected content into a web formatted content or a web content file.
  • a flow diagram illustrates one embodiment of a process for automatically formatting content in accordance with the present invention.
  • the process starts 1210 after the content file has been selected for publishing.
  • the process determines 1220 if the content includes an image file. If the content includes an image file image compression processing 1230 is used to convert the file into an appropriate image file such as, for example, JPEG or JBIG. If the content does not include an image file, the process determines 1240 if the content includes a video file. If the process includes a video file, the process provides live image processing or streaming processing 1250.
  • video files are processed and packaged into an audio video interleave ("ANI") (.avi) format for downloadable video or converted to Real Media (.rm) format (from Real Networks, Inc.) for a streaming video file.
  • ANI audio video interleave
  • .rm Real Media
  • the page generation system 620 is also configured to add optional information to the formatted content such as, for example, an icon watermark, a time-date stamp, or text.
  • the page generation system 620 also automatically creates web pages based on activity, for example, a web album or web cam system and process as further described below.
  • the automatically created web pages may be generated using, for example, templates with preconfigured HTML code as described above.
  • a flow diagram illustrates one embodiment of a process for automatically creating web pages based on activity in accordance with the present invention.
  • the process uses the page generation system 620 to select 1320 a layout for HTML coded pages.
  • the process also has the page generation system 620 automatically insert 1330 code objects (or references to such objects) for streaming video such as, for example, Java applets or OCX.
  • the process has the page generation system 620 automatically insert 1340 additional scripts and HTML code to handle timers, periodic refreshes, and cache handling.
  • scripts may be stored and recalled in a predetermined manner within the client production system 601, for example, based on input information selected by a user through a preconfigured dialog box.
  • the process also uses the page generation system 620 to select 1350 artwork for insertion into the pages.
  • the process formats 1360 the layout into a web page using the page generation system 620.
  • the HTML pages, the code objects, the additional scripts and HTML code, and the artwork are all assembled into a web content file such as a web site that includes one or more linked web pages. If there is more than one web page, the page generation system 620 and/or the format system 630 links 1370 the web pages together automatically inserting necessary code such as HREF tags into the linked web pages.
  • the page generation system 620 and/or the format system 630 also automatically create 1380 a thumbnail image for the content file.
  • the process ends 1390 with a completed web content file that is ready for publishing.
  • FIG 14 is a flow diagram of one embodiment of a process for accessing a host services system 501 by an interactive client system 130 in accordance with the present invention.
  • the process starts 1410 with the client interactive system accessing the WWW through the network services 140.
  • the user addresses the host services system 501 using, for example, a URL address.
  • the process continues with the user accessing 1430 services and content at the host services system 501 as is described above.
  • the process ends 1440 when user leave the host services system 501.
  • the present invention provides an advantageous business system and method for an automated publication system.
  • the automated publication system e.g., the first embodiment of the automated publication system 401, allows publishing users to automatically capture content, automatically create and generate a web content file such as a web site, and automatically publish (or broadcast, post, upload, or transfer etc.) that web content file to an automatically created directory on the host services system 501, where the user can have a web site.
  • the user of the automated publication system need not have any programming skill sets for either creating the web content file or publishing it. This provides publishing users with significant time and resource savings associated with creating web content files to publish it as, for example, a web site.
  • the host services system e.g., 410, 501, of the first embodiment of the automated publishing system, e.g., 401, beneficially provides a worldwide stage for web content publishers.
  • the host services system that operates in conjunction with the client production system 601 provides a broadcast portal similar to a broadcast station.
  • large audiences can access the host services system and tune into channels that include content that was created and automatically published on the host services system by a publishing user.
  • the host services system e.g., 410, 501, also provides a publishing user a facility to automatically publish web content files.
  • the client production system e.g., 420, 601 of the first embodiment of the automated publication system, e.g., 401, advantageously allows for automatically accessing a host services system, e.g., 410, 501, through a network service 140.
  • the client production system also automatically verifies or creates a new user account upon starting a video camera system in accordance with the present invention. This greatly increases the variety of web content files that are available to users of client interactive systems because web content publishers do not need to have any programming or other technical skill to make their web content material available to a large audience.
  • FIG. 15a is a block diagram of a second embodiment of an automated publication system 1501 in accordance with the present invention.
  • the second embodiment of the automated publication system 1501 includes a third embodiment of a host services system 1510 and a third embodiment of a client production system 1520.
  • the client production system 1520 may optionally couple with a template repository 1550 and an account information and registry repository 1552.
  • the host services system 1510 and the client production system 1520 couple through the network service 140.
  • the network service couples to other network sites 1548.
  • the third embodiment of the host services system 1510 is generally functionally similar to the first and the second embodiments of the host services system 410, 501.
  • the third embodiment of the host services system 1510 includes a server host 1512, an FTP host 1514, an application database 1516, and a file storage 1518.
  • the server host 1512 couples with the FTP host 1514, the application database 1516, and the file storage 1518.
  • the FTP host 1514 also couples with the file storage 1518.
  • the server host 1512 includes conventional hardware and software for providing computer server type services, for example, resource management and allocation.
  • the resources to be managed and allocated include, for example, application files, data, network connections, and the like.
  • the server host 1512 may be configured to provide an appropriate interface with the network services 140 either by itself or with the file transfer protocol ("FTP") host 1514.
  • the FTP host 1514 includes conventional hardware and software and is configured to interface with the network services 140 and the server host 1512.
  • the FTP host 1514 is used to transfer files between, for example, the client production system 1520 and the host services system 1510.
  • an appropriate FTP account may be established with the FTP host 1514 and that a client production system uses this account when executing a file transfer, for example, transferring a web page.
  • the server host 1512 may inco ⁇ orate the functions of the FTP host 1514 so that there is no need for a separate FTP host 1514.
  • the application database 1516 is a conventional application database for storing and/or indexing (or cataloging) software application packages (or components). For example, software application packages may be indexed by storing each separate software application package in its own master directory.
  • the file storage 1518 is functionally similar to the storage systems and associated components described above, e.g., 110b, 260. It is noted that the application database 1516 and the file storage 1518 may be physically located within the same storage system or medium and may be logically or physically separated within that storage system or medium.
  • the host services system 1510 includes an FTP server 1560, a stream server 1562, a web server 1564, a reporting server 1566, a storage array 1568, a host services database 1570 for data, and an application server 1580.
  • the storage array 1568 may provide storage for the file storage 1518, the application database 1516, and the host services database 1570.
  • Each of these storage components may be physically and/or logically partitioned from each other within the storage array 1568.
  • the web server 1564 includes hardware and software that is configured to provide
  • Web hosting functions provided by the web server 1564 include, for example, hosting one or more web sites, each having a home page and associated file and directory maintenance.
  • each user of a client production system 1520 may automatically create a web site at the host services system 1510 (or 410 or 501) as is described above.
  • a home page is the first page that appears on, for example, the web browser of a client interactive computer system 130, when a viewing (or interactive) user of that system accesses that web site.
  • the FTP server 1560, the stream server 1562, the web server 1564, the reporting server 1566, and the application server 1580 may be physically separate server systems or may be logically separate server systems within a single physical or logical server system.
  • Each server 1560, 1562, 1564, 1566, 1580 is appropriately configured to communicatively couple with each other through conventional network connections and/or software, e.g., commands and instructions.
  • the FTP server 1560 includes hardware and software that is configured to perform FTP server type operations, including the functions of the FTP host 1514.
  • the FTP server 1560 is used by the host services system 1510 for connecting with network services 140 that function with TCP/IP protocols such as, for example, the Internet, Internet 2, or an Intranet.
  • TCP/IP protocols such as, for example, the Internet, Internet 2, or an Intranet.
  • the FTP server 1560 is configured to communicate with FTP protocols that include an FTP path for the client publication system 1520 so that when web content files are published by that client publication system 1520, those files are properly placed in a directory for that user.
  • the FTP server 1560 is also configured to provide an appropriate HTTP URL that viewing users who are accessing a web site, e.g., through a client interactive computer system 130, may use to access that web site.
  • the HTTP URL is determined by the reporting server 1566 in conjunction with the web server 1564 and the FTP server 1560. Further, the HTTP URL may be determined through the FTP URL that may reside in the client production system or in the host services system. For example, once a publishing user publishes to that user's web site on the host services system 1510 that web site may be viewed by viewing users. To view that web site, these viewing users are provided a URL. When the viewing users type that URL into their web browser system, e.g.
  • both the web server 1564 and the FTP server 1560 may be configured to include security parameters so that a web site cannot be altered except by that web site owner or by those to whom the web site owner gives software permissions (or passwords) to.
  • the reporting server 1566 includes hardware and software that is configured to verify parameters for a publishing user that is attempting to publish content.
  • the reporting server is configured to function with an administration system, e.g., 520.
  • the reporting server functions to verify that a user has a valid user identification and account with the host services system and to determine whether the user has sufficient resources, e.g., storage resources, in the host services system 1510 to publish a web content file.
  • the stream server 1562 includes hardware and software that is configured to receive, process, and output content that includes streaming video such as, for example, live video streams.
  • the stream server 1562 includes streaming video application programming interfaces and instruction sets such as, for example, Real Media Player from Real Networks, Inc. This allows streaming video from a web content file to be processed in, for example, Real Media format for playback on a client interactive computer system, e.g., 130.
  • the application server 1580 includes hardware and software that is configured to interact with the host services system 1510 servers and systems (e.g., the media system 510, the administration system 520, the community system 530, and the content systems 540, 550).
  • the application server 1580 may be configured as a software management module so that a user of a client production system 1520 can automatically publish web content files to that user's web site and allow general and/or limited access to view that web site by viewing users of a client interactive system, e.g., 130, 701.
  • the host services system 1510 receives the web content file through, for example, the media-in system 510a. In one embodiment, the host services system 1510 determines if the web content file is a streamed file. If the web content file is stored content that includes, for example, compressed video and still images, the web content file is sent 1586 to the FTP server 1560. The FTP server 1560 determines whether the web content file includes a proper FTP account information is supplied and sends the web content file to a temporary file in the storage array 1568. The FTP server 1560 also notifies the application server 1580.
  • the application server 1580 acknowledges 1585a receipt of the FTP content from the user of the client production system, e.g., 1520, 420, 601.
  • the application server 1580 instructs the reporting server 1566 to verify, e.g., through the administration system 520, whether the user has an account at the host services system 1510. If the user does not have an account the administration system, e.g., 520, automatically creates a new account for that user using the registration information from that user's video camera system, e.g., 120d. Once the user has an account and it is verified, the reporting server 1566 in conjunction with the application server 1580 verifies 1585e that the web content file that the user desires to publish is within the resource limits allocated to that user.
  • the application server 1580 If the web file content exceeds the resource limit, e.g., exceeds storage allocation, the application server 1580 notifies the user that the web content file is too large. If the web content file is within limits the application server 1580 sends 1585b (or enters) the web content file from temporary into the database 1570. If the HTTP URL information to the web site for the web server 1564 has not been provided, the host services system may be configured to provide it at this time. The web server 1564 may now allow users of a client interactive system, e.g., 130, 701, to access and view (or interact with) the web site content.
  • a client interactive system e.g., 130, 701
  • the streamed content is sent to the stream server 1562.
  • the stream server 1562 notifies the application server 1580 that the web content file includes, or is, streamed content.
  • the application server 1580 in conjunction with the reporting server 1566, determines 1585d whether the user is a registered member that is permitted to provide streaming content.
  • the application server 1580 in conjunction with the administration system, e.g., 520, notifies that user that streaming content is not permitted. If the user is permitted to send streaming content, the stream server 1562 sends the streamed content to the web server 1564 to be presented to a viewer on a web browser of a client interactive system, e.g., 130, 701, through a web page provided by the publishing user. Alternatively, the application server 1580 automatically generates 1585c a web page through which the streamed content will be presented to a viewer through a web browser of a client interactive system, e.g., 130, 701. Client Production System
  • the third embodiment of the client production system 1520 is generally functionally similar to the first and the second embodiments of the client production system 420, 601.
  • the third embodiment of the client production system 1520 may be configured to operate within a video camera system, e.g., 120d, or within a computer system, e.g., 120a, in conjunction with a video camera system, e.g., 120d.
  • the client production system may be stored in a storage device in the video camera system, e.g., 120d, or in a storage device in the computer system, e.g., 120a, 120b, or in a combination of storage devices in the video camera system, e.g., 120d, and the computer system, e.g., 120a 120b.
  • the third embodiment of the client production system 1520 includes a client/server conduit 1521, a hosting target module 1522, a template engine 1524, a publish (or publishing) engine 1525, a web album system 1526, a web cam system 1528, a live streaming system 1530, an animator system 1532, a gallery system 1534, a preview/capture system 1536, a network services update module 1538, and a network services connection 1540.
  • Each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 may be embodied in software, hardware, or a combination of hardware and software.
  • the software portion of each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 is stored in a storage device of the client production system 1520.
  • each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 may be a system component, e.g., 320, that is communicatively coupled through the operating system, e.g., 310, and/or the system bus, e.g., 280.
  • the client/server conduit 1521 is configured to abstract a communication protocol that is used to communicate with the server. These communication protocols include TCP/IP, HTTP, and/or FTP. It may also include a high level protocol for commands that communicate with the HTTP or FTP protocols. These protocols may define, for example, transfer file to server, publish web content file, set up publishing user account, automatic login, and the like.
  • the client/server conduit 1521 is also configured to allow the various functional components in the client production system 1520 to exchange information with the server. This information includes, for example, exchanging information with the hosting target, e.g., 1510, for sign up, notification of an active session, retrieval of parameters for publishing, and the like.
  • the client/server conduit 1521 receives a request from a functional component, it encodes that request, and proceeds to contract the hosting target, e.g., 1510, using the necessary communication protocol.
  • the hosting target e.g., 1510
  • the client/server conduit 1521 decodes the reply and sends it to the functional component (or application) that sent the request.
  • the hosting target module 1522 is configured to provide connection information for a default host services system 1522a or a third-party host services system 1522b.
  • the connection information includes the relevant FTP account information, security clearance information, and/or other information necessary to establish an FTP connection with a host services system, e.g., 1510, where the client production system can publish web content files.
  • the template engine 1524 is configured to automatically generate templates that may include HTML code that are used to create web pages in the client production system 1520.
  • the template engine 1524 is configured to generate template HTML pages using a system that is designed for tagging and organizing a document to produce a web document.
  • the template engine 1524 may generate template HTML pages using, for example, extensive markup language ("XML") or standard generalized markup language (“SGML").
  • XML extensive markup language
  • SGML standard generalized markup language
  • the template engine 1524 may be configured to include object modules that can be linked together by a novice user to create a customized template. To create a customized template, the user selects an object and places it into a template organization field, which may be a selection box.
  • the template engine 1524 automatically links all of the selected object modules into a customized template page.
  • the template engine 1524 can import and store template files from other sources such as, for example, a template file download site on the WWW or through electronic mail from friends and family who have created their own customized template pages in the template registry 1550.
  • the publish engine 1525 is configured to access the hosting target, e.g., 1510, using an FTP protocol or other communication protocol.
  • the host is located through the FTP or other communication server which uses ftp host information (e.g., ftp.hostservices.com) to find it.
  • ftp host information e.g., ftp.hostservices.com
  • the publish engine 1525 publishes (or posts, broadcasts, transfers, uploads, etc.) a web content file that is created at the client production system 1520 to the host services system 1510 (or other hosting target) at the specified FTP location.
  • the FTP information is sent to the FTP server system for mapping to a corresponding URL that a visitor can type in to view content.
  • the publish engine 1625 is configured to function either alone or in combination with other components, for example, components in the web album system 1526 or the web cam system 1528.
  • the web album system 1526 is configured to automatically generate a web page using previously captured content such as, for example, pictures and pre-recorded videos, and live content that is captured through the video camera system 120d.
  • the web album system 1526 is configured to include a menu from which a user can select previously captured content, a site layout manager from which a user can select a template from the template engine 1524, and publishing system from which a user can automatically generate web pages using the template and selected content and automatically upload those web pages as a web content file to the host services system 1510.
  • the web cam system 1528 is configured to automatically capture and upload content such as, for example, repeatedly refreshed still images, from the video camera system 120d to the host services system 1510 using a FTP protocol.
  • the web cam system 1528 is configured to refresh (or update) images at a predetermined default rate or at a rate determined by the user of the client production system 1520.
  • the web cam system 1528 is configured to include FTP site information to directly link to and post to the host services system 1510.
  • the FTP site information may interact with the host services system to automatically create a unique account web site for the user through the web cam system 1528.
  • a viewing (or interaction) user of a client interactive system e.g., 130, 701
  • a publishing user uses FTP information to publish content and a viewing user uses a URL to view the content.
  • the web cam system 1528 does not need to create web pages to publish the content it may communicatively couple with template engine 1524 so that a template may be used to create web pages having the content captured through the web cam system 1528.
  • Using web pages for the content captured through the web cam system 1528 provides an easier way for a viewing user of a client interactive system, e.g., 130, 701, to retrieve those images because the user can link to it through a URL address.
  • the content is presented to the viewing user with other web site based features, for example, links, electronic mail addresses, and/or a written description.
  • the live streaming system 1530 is configured to receive a video stream, e.g., live video, from the video camera system, e.g., 120d, and format it into a format that can provide a live video stream through the host services system 1510.
  • the live streaming system 1530 is configured to use application programming interfaces ("APIs") and instructions that generate a video format that is supported by network services type applications such as, for example, Real Media Player by Real Networks, Inc. or Windows Media Player by Microsoft Co ⁇ oration.
  • the animator system 1532 is configured to capture time-lapse or stop-motion animated content.
  • the animator system 1532 includes a time-lapse module that is configured to capture specific content one video frame at a time over a period of time and then replay the captured content at a high rate of speed so that events that are too slow to perceive are sped up.
  • the animator system 1532 also includes a stop-motion module that is configured to allow a user to manually capture one video frame at a time and then replay those video frames as a movie at a rate determined by the user.
  • the gallery system 1534 is configured to provide a content filing system, file directory(-ies), or file manager that records and stores all the different types of content that a user has created using the video camera system, e.g., 120d, in conjunction with the client production system 1520.
  • the gallery system 1534 is configured to provide users with a mechanism to view, edit, and otherwise manipulate previously captured content.
  • the gallery system 1534 is configured to allow a user to crop content, create wallpaper from content, delete images, rename content, print content, electronically mail content, and save content as particular image format types, e.g., JPEG format for picture images or ANI format for video images.
  • the gallery system 1534 is configured to present the previously stored content for viewing as thumbnail images.
  • the preview/capture system 1536 is configured to preview content and then capture that content after previewing it.
  • the preview/capture system 1536 provides a mechanism through which a user of the client production system 1520 can determine whether a particular content piece is suitable for capture before capturing that content.
  • the preview/capture system 1536 provides significant resource savings for a user because unnecessary or undesired content is not capture and saved into limited storage resources.
  • the preview/capture system 1536 is communicatively coupled with the gallery system 1534 so that captured images are saved in the gallery system 1534 and are immediately accessible by the user.
  • the network services (e.g., the Internet) update 1538 is configured to automatically update (or upgrade) the client production system components, for example, to install a new software version or a software fix. Further, the network services update 1538 is configured to automatically install new components in the client production system 1520. Each installation occurs automatically based on, for example, a timer, system start-up, or after an installation selection by the user of the client production system 1520.
  • the network services update 1538 is configured to interact with an FTP site that contains the system component the user seeks to upgrade, update, install or the like. Moreover, the network services update 1538 may be configured to update the client production system 1520 at regular intervals (e.g., daily or weekly) and check if an update is available.
  • the network services connection module 1540 is configured to provide a user of the client production system 1520 a connection mechanism to the network services 140 to access the host services system 1510.
  • the network services connection module 1540 may include a dial-up connection 1540a, a network connection 1540b such as, for example, a Novell NetwareTM local area network connection, or an online service provider 1540c, such as, for example, America Online by America Online, Inc.
  • the network connection module 1540 is configured to communicatively couple with the web album system 1526 and the web cam system 1528.
  • the configuration allows either system 1526, 1528 to automatically couple to the network services 140 when a publishing user selects to publish content to a hosting target, e.g., host services system 1510. Further, both systems 1526, 1528 also communicatively couple to the client server conduit 1521 so that once a network connection is established, the client server conduit 1521 allows the appropriate system 1526, 1528 to notify the server that the video camera system 120d is live.
  • the account information registry 1552 may be stored locally in the client production computer system 120 or in a storage device that is logically coupled to or mapped to the client production computer system 120.
  • the account information registry is coupled to store user account information (related to, for example, the hosting target). This information is used by the client production system 1520 to determine where to publish material such as, for example, the web content file.
  • Automated Publication Process Figure 16 is a flow diagram of a second embodiment of a process for automatically publishing content through the second embodiment of the automated publication system 1501 in accordance with the present invention. The process starts 1605 as a user desires to create a web content file to publish at a web site on the WWW.
  • the user selects 1610 a profile, settings, a template, and content for the web content file that the user desires to create.
  • the profile represents a variety of web albums that a publishing user can create.
  • a profile (or album) may contain, for example, a picture, a selected template, a publishing destination, and settings can be saved to the local storage, e.g., 120b.
  • the user may keep the default profile 1630 that is set in the client production system 1520.
  • Settings 1615 are customized parameters that the user adds to a selected template.
  • Settings 1615 include, for example, adding a link to the page, displaying an electronic mail address on the page, or the like.
  • the user may also use the default settings 1615 provided in the client production system 1520.
  • the user also selects content 1620 that is stored in the gallery system 1534.
  • the user may also select content 1620 that is a live video stream through the live video streaming system 1530.
  • the user selects a template 1625 from the template engine 1524 or template repository 1550.
  • the user may also use a default template 1625 that is set in the client production system 1520.
  • the user selects 1610 the profile 1630, the settings 1615, the content 1620, and the template 1625, the user selects a button (or menu item) through a user interface of the client production system 1520 to publish 1635 what the user has created.
  • the client production system 1520 determines 1640 through the network services connection module 1540 whether there is a known network service connection.
  • connection wizard 1645 is configured to automate the process for connecting to a network connection such as, for example, a dial up connection 1540a, a network connection 1540b, or a service such as America Online 1540c. More particularly, the connection wizard 1645 is configured to provide a series of visual dialog boxes through which a user selects options that are pertinent to that user's computing environment. For example, the user may be asked to select a default network services connection, e.g., 1540b, that is included in the connection wizard 1645 or to provide connection information such as a telephone number to connect to a service such as, for example, AOL 1540c. Once the connection wizard 1645 configures a network connection, this connection is automatically established using this information for future network services access.
  • a network connection such as, for example, a dial up connection 1540a, a network connection 1540b, or a service such as America Online 1540c.
  • connection wizard 1645 is configured to provide a series of visual dialog boxes through which a user selects options that are pertinent to that
  • the client production system 1520 determines 1650 whether the hosting target system is known. If the hosting target system is not known, the client production system 1520 executes 1655 a hosting target wizard.
  • the hosting target wizard 1645 is configured to automate the process for connecting to a host target such as, for example, the host service system 1510 (or 410, 501). For example, the user may be asked to accept the connection information for the default hosting target 1522a or to insert connection information to connect to a third party hosting target 1522b. Once a connection to a hosting target is established, it may be automatically used for future accesses.
  • the process will determine 1660 whether the selected host target is a free (no-fee) site. If the site is not free, i.e., fee-based third party hosting target (e.g., 1522b), the user may be requested to enter 1665 FTP information to properly connect to and access that fee-based site. Based on the responses provided, the host target wizard 1655 connects with the third party hosting target, e.g., 1522b, to establish an account at that hosting target. It is noted that the user may be required to provide additional detailed information to the third party hosting target, e.g., 1522b, before an account can be established at that hosting target.
  • the third party hosting target e.g., 1522b
  • the client production system 1520 automatically establishes 1670 an account for the user on the appropriate hosting target. More specifically, the user may be prompted to provide basic information such as, for example, a user name. This basic information is automatically combined with other information such as, for example, registration information from the video camera system 120d. All of this user information is then automatically transmitted to the administration system, e.g., 520, of the host services system, e.g., 410, 501, 1510, which prepares to automatically set up an account for the user on the host services system 1510.
  • the administration system e.g., 520
  • the host services system e.g., 410, 501, 1510
  • the user will be provided with information from the host services system 1510 such as, for example, user identification information, password information, allocated storage space information, and/or URL information to access the user's site on the host services system 1510.
  • information from the host services system 1510 such as, for example, user identification information, password information, allocated storage space information, and/or URL information to access the user's site on the host services system 1510.
  • the client production system 1520 preferably keeps that information as default information. This allows the client production system 1520 to automatically connect to that hosting target when the user desires to publish to the hosting target.
  • the template engine 1524 automatically generates 1675 the HTML code for creating one or more web pages (and data) 1680 using the user selected settings 1615, content 1620, template 1625, and profile 1630.
  • the final file which includes all of the content formatting, scripts, object code, and links between the web pages, may be refe ⁇ ed to as a web site (including web content files).
  • the user may select to publish to the web site file.
  • the publish engine 1525 starts 1685 to publish through the network services 140.
  • the process also receives the hosting target FTP URL information 1690 from the hosting target.
  • the publish engine 1525 then transfers the web site to the appropriate location in the hosting target.
  • the web content file is now published and may be accessed by users of, for example, a client interactive system 130, 701.
  • connection wizard 1645 offers a multitude of advantages and benefits for users of a client production system, e.g., 1520.
  • an advantage of the connection wizard 1645 is that the user is not required to have a pre-existing network services account or connection. Rather, a user may use the default network services connection that is predetermined and included with the client production system, e.g., 1520.
  • another benefit of the automated publication system e.g., 1501 is that a user does not have to have a preexisting account with a hosting target. That is because the hosting target wizard 1655 will automatically provide the necessary hosting resources for the user. Specifically, by using the default settings in the automated publication system, the user will be provided with an account on the default hosting target such as, for example, the host services system 1510. Moreover, the configuration wizard 1645 of the automated publication system 1501 beneficially is configured to provide the user with the necessary connection information so that the user is not required to have experience or knowledge in setting up a connection to a hosting target.
  • the automated publication system 1501 includes a template engine 1524 that automatically generates web pages and links between web pages using parameters (e.g., templates, contents, settings, profiles) that were provided by the user.
  • parameters e.g., templates, contents, settings, profiles
  • the publish engine 1525 advantageously publishes the created web site automatically to the appropriate location on the hosting target. Again, a benefit for the user is that the web site is published without the user having any programming or other technical skills or know-how.
  • the web cam system 1528 provides web cam features that allow a user to publish a web page (or web content file) to a host services system 1510 (or 410 or 501) and automatically update (or refresh) the content on that web page (or in the web content file) at predetermined intervals or at irregular intervals through triggering mechanisms, for example, a motion detector. Moreover, the web cam system 1528 is beneficially automated so that the web cam system 1528 automatically generates and/or creates web pages which host the captured content to publish on the host services system 1510. These web pages are then automatically updated (or refreshed) typically with more recently captured content.
  • Figure 17 is a block diagram of one embodiment of the web cam system 1528 in accordance with the present invention.
  • the web cam system 1528 includes a trigger event manager 1710, a comparison manager 1720, a web cam content manager 1730, a web cam publish manager 1740, a web cam options manager 1750, and a static file streaming manager 1760.
  • the web cam system 1528 may be a system component, e.g., 320.
  • the trigger event manager 1710, the comparison manager 1720, the web cam content manager 1730, the web cam publish manager 1740, the web cam options manager 1750, and the static file streaming manager 1760 are components of the web cam system 1528 coupled through the operating system 310 and/or the system bus 280.
  • Each manager may be configured in hardware, software, or a combination of hardware and software.
  • the trigger event manager 1710 is configured to detect triggers or triggering events that the web cam system 1528 uses to begin an action such as, for example, capturing a new frame of still frame content, recording motion content, capturing streaming motion content or the like.
  • the triggers or triggering events are signals that are activated or caused and/or generated by some action such as, for example, motion detection, activated timers, manual selection, photosensitive detector (or light intensity detector), and the like. These triggers may be set automatically, for example, at start up of the web cam system 1528 or the client production system 1520, or manually, for example, selection by a user to take a new still frame content for any detected motion in a room.
  • the trigger or triggering event may be predefined (or predetermined) by the user through the web cam options manager 1750.
  • the comparison manager 1720 is configured to compare a frame of content with a reference frame of content. It then determines a result such as, for example, whether the frames are identical or if there is some degree of a change or difference between any two frames.
  • the degree of change can be measured through a multitude of criteria including, for example, a movement of an object in a reference frame, a change of lighting in a reference frame, a change in shape or size of an object in a reference frame, or a change of color or color shades in a reference frame.
  • these degrees of change can be measured using conventional image processing techniques such as overlaying two images to identify differences.
  • the web cam content manager 1730 is configured to work in connection with the template engine 1524. Specifically, the web cam content manager 1730 is configured to provide an interface for a user to select parameters that are used to create a web page (or web file contents). This web page will be updated with web cam images at some predetermined interval or at i ⁇ egular intervals through triggering events.
  • the parameters the user may select include, for example, templates that may include annotations such as time stamps and/or text information to insert into a frame(s), the update interval, and/or predefined trigger events such as, for example, web cam system 1528 startup, motion detection, or light intensity detection.
  • the web cam publish manager 1740 is configured to function alone (and include the functionality of the publish engine 1525) or in combination with the publish engine 1525.
  • the web cam publish manager 1740 captures a frame of content (or a series of frames for motion-based content such as, for example, a full motion video) and publishes it at the user's web site on the hosting target, e.g., host services system 1510.
  • the web cam publish manager 1740 is configured to publish new web pages for the web site or update only the content in a previously created web site. Further, the publish manager 1740 can also be configured to page a user, send a specific data file, e.g., a voice message to the system 310/280.
  • the web cam options manager 1750 is configured to provide an interface for the user to tailor (or customize) the web cam system 1528 according to criteria (or parameters) set by the user.
  • the web cam options manager 1750 is configured to provide options such as, for example, content size, content storage location, scheduling information for content capture, motion detection operation, light detection operation, comparison change or difference determination, and passwords or other security features to restrict access to the web site having the web cam system 1528 web pages.
  • the options manager 1750 may also be configured to store information on where the data from the publish manager 1740 should be sent, e.g., a pager, telephone number, etc. It is noted that some portions of the web cam options manager 1750 may be included with other managers, e.g., web content manager, without departing from the spirit of the invention.
  • the static file streaming manager 1760 is configured to capture a series of frames of content and assemble them into a single full motion content file.
  • This full motion content file may be captured directly as, or converted to a streaming file or video file format, e.g., in Real Median Format or ANI format, and that is stored at the user's computer system and published to the user's web site. The published file can then be downloaded and played by the user or others having access to the user's web site.
  • Figure 18 is a flow diagram of one embodiment of a process for capturing content in the web cam system 1528 in accordance with the present invention. The process starts 1810 and waits for a triggering event.
  • the triggering event may be a default triggering event such as, for example, starting the client production system 1520 or starting only the web cam system 1528 of the client production system 1520.
  • the triggering event can be predetermined by the user by selecting an option, for example, through the options manager 1750, to capture images based on events such as, for example, an activated timer (or scheduler), motion detection, or light detection.
  • the trigger event manager 1710 of the web cam system 1528 detects 1820 a triggering event (or trigger).
  • the web cam manager 1730 captures a frame (or frames) of content and the web cam publish manager 1740 publishes the content on the user's web site.
  • the process then ends 1840 or returns to start to wait for another triggering event.
  • the process may also be configured to page or phone another user of, for example, the host services system 1510, when the content is published.
  • Figure 19 is a flow diagram of one embodiment of a process for a frame capture process in a web cam system 1528 in accordance with the present invention.
  • the process starts 1910 by using the web cam manager 1730 to produce 1920 history based content, produces off-line content 1940, and/or stores captured 1960 content files.
  • the history content is a collection of previously captured content by the web cam manager 1730 that is stored 1930 in a history content file.
  • the off-line content is a visual element displayed through a web page to indicate to a user that the web cam system is inactive.
  • the visual element may be pictorial or text-based information. This visual element is automatically provided whenever the web cam system 1528 is off-line or non-operational.
  • a history file automatically maintains and stores previously captured content.
  • the history file may include the last ten captured images.
  • the system then allows for a history image to be recalled by a user.
  • the history file may also be configured to allow for appending all of the history images together to create a video file.
  • the process uses the web cam publish manager 1740 to produce web page files 1970 from the stored captured content files 1960.
  • the process also includes providing the templates that include the HTML code and support files for creating the web page, including the web page links for multiple pages, so that the result is a generated web site.
  • the process then ends 1990 or returns to start to wait for another triggering event.
  • Figure 20 is a flow diagram of one embodiment of a process for determining whether to publish a captured content frame in a web cam system 1528 in accordance with the present invention.
  • the process starts 2005 with the trigger event manager 1710 waiting to detect a trigger or triggering event. After detecting a triggering event, the process signals the web cam manager 1730 to capture 2010 a frame of content. The process then determines 2020 whether frame comparison is enabled. If frame comparison is not enabled, the process continues with determining 2040 the upload objective.
  • the upload objective includes determining whether there will be a refresh of only the content on the user's web site or whether the content will be stored off-line for optional publication at a later time 2050 or whether there will be a complete site refresh 2060. If frame comparison is enabled, the process signals the frame comparison manager
  • the process 1720 determine 2030 whether there is a significant change between the cu ⁇ ently captured frame of content and a pre-determined reference frame of content.
  • the user may specify what the reference frame of content will be (e.g., the last captured image) as well as the criteria for determining change significance through the web cam options manager 1750. If the change is insignificant, the process loops around to start 2005 to wait for another triggering event. If the change is significant, the process continues with determining 2040 the upload objective as described above.
  • Figure 21 is a flow diagram of one embodiment of a process for refreshing (or uploading) a frame of captured content in the web cam system 1528 in accordance with the present invention.
  • the process starts 2110 and continues by signaling the web cam publish manager 1740 to establish 2120 a connection with the hosting target, e.g., host services system 1510 (or 410 or 501), through the network services connection 1540.
  • the web cam publish manager 1740 may also signal the publish engine 1525 to ensure that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content.
  • the process then signals the web cam publish manager 1740 to publish 2130 the frame of content on the user's web site.
  • the process will also take into account any options selected through the web cam options manager 1750.
  • the process ends or waits for the next triggering event (start 2005).
  • Figure 22 is a flow diagram of one embodiment of a process for completing a site refresh using a captured frame content in a web cam system 1528 in accordance with the present invention.
  • the process starts 2210 with the frame content begin captured.
  • the process then signals the web cam publish manager 1740 to prepare the frame content for publication as a web content file on the hosting target.
  • the web cam publish manager 1740 signals the template engine 1524 to assemble 2220 the web pages for a user's web site with the capture frame content.
  • the process then continues with the web cam publish manager 1740 establishing 2230 a connection with the hosting target, e.g., host services system 1510, through the network services connection 1540.
  • the web cam publish manager 1740 may also signal the publish engine 1525 to ensures that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content.
  • the process then signals the web cam publish manager 1740 to publish 2240 the web page on the user's web site.
  • the process will also take into account any options selected through the web cam options manager 1750.
  • the process then ends or waits for the next triggering event (start 2005).
  • An advantage of the web cam system 1528 is that it provides an automated system and process for generating and maintaining a web cam site for access through a network service 140. Moreover, a benefit of automating web cam system 1528 is that a user is not required to have any programming or technical skills for creating a web site.
  • the automated web cam system 1528 provides the user with beneficial web cam features such as, for example, a visual-based security system or a visual-based monitoring system. Moreover, these web cam features are beneficially provided at a significant cost savings because the user is not required to install expensive equipment in the secured or monitored area where the video camera system 120d is set up and is not required to maintain an expensive monitoring service.
  • the web album system 1526 provides features that allow a user to create customized albums similar to, for example, picture albums, using previously captured content as well as live content from the video camera system 120d.
  • the web album system 1526 is beneficially automated so that the customized albums are transformed automatically into a web based format that can be published on the user's web site.
  • the web based format of the customized album is a web content file that may be refe ⁇ ed to as the web album.
  • Figure 23 is a block diagram of one embodiment of the web album system 1526 in accordance with the present invention.
  • the web album system 1526 is a system component, e.g., 320.
  • the web album system 1526 includes a content source manager 2310, a layout manager 2320, a preview manger 2330, a web album publish manager 2340, a web album options manager 2350, and a static file streaming manager 2360.
  • the content source manager 2310, the layout manager 2320, the preview manger 2330, the web album publish manager 2340, the web album options manager 2350, and the static file streaming manager 2360 couple through the operating system 310 and/or the system bus 280.
  • Each manager may be configured in hardware, software, or a combination of hardware and software.
  • the content source manager 2310 is configured to interface with the gallery system
  • the content source manager 2310 is configured to display the list of content as thumbnail images or thumbnail images with text description.
  • the content source manager 2310 is also configured to allow a user to select content to add or remove from the album that is being created.
  • the layout manager 2320 is configured to interface with the templates that are stored in conjunction with the template manager or are stored elsewhere.
  • the layout manager 2320 is configured to provide the user with available designs for creating the ultimate layout for the web album.
  • the preview manager 2330 is configured to preview the content selected from the content source manager 2310 with the template (or layout or design) selected from the layout manager 2320.
  • the web album publish manager 2340 is configured to function alone (and to include the functionability of the publish engine 1525) or in combination with the publish engine 1525. Specifically, the web album publish manager 2340 is configured to allow a user to select a web site to which the user can publish the web album and allows the user to publish the web album at the user's web site on the hosting target, e.g., host services system 1510.
  • the web album publish manager 2340 is also configured to interface with the layout manager 2320 to ensure that the selected content and template generate the proper web pages for publication.
  • the web album options manager 2350 is configured to provide an interface for the user to tailor (or customize) the web album system 1526 according to criteria (or parameters) set by the user. Specifically, the web album options manager 2350 is configured to provide options such as, for example, content size, web album title, web album author, an electronic mail address, a default main web page, and the like.
  • the static file streaming manager 2360 is configured to capture a series of frames of content and assemble them into a single full motion content file.
  • This full motion content file may be stored at the user's computer system and as content in the customized album as a static streaming file, e.g., in ANI format.
  • the static streaming file can then be downloaded and played by the user or others having access to the user's web album on the user's web site.
  • Figure 24 is a flow diagram of one embodiment of a process for creating a web album in accordance with the present invention.
  • the process starts 2405 with selection 2410 of content using the content source manager 2310.
  • the process determines 2415 if there is additional content that is or will be selected. If additional content is selected, the process continues with selection 2410 of content. It is noted that any stored full motion content that is to be downloadable and streamable is saved in an appropriate format such as, for example, ANI format.
  • the process determines 2420 if there will be live content to be included in the web album. If there is live video, the process selects 2425 the live content and signals the live streaming system 1530 to generate 2430 a streamable format for the live content. Once the streamable format for the live content is created, or if there is no live content, the process signals the layout manager 2320 to determine 2345 whether the default layout will be used for the web album.
  • the process uses the selected 2440 layout. After the layout is determined, the process signals the layout manager 2320 and the web album publish manager 2340 to generate 2445 the appropriate web pages for the album. The web pages now form the web album. The process then signals the web album publish manager 2340 to publish the web album on the user's web site at target host, e.g., host service system 1510, selected or defaulted to by the user. More specifically, web album publish manager 2340 establishes a connection with the hosting target, e.g., host services system 1510, through the network services connection 1540. The web album publish manager 2340 may also signal the publish engine 1525 to ensure that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content. The web album publish manager 2340 then publishes the web album on the user's web site. The process will also take into account any options selected through the web album options manager 2350. The process then ends 2455.
  • target host e.g., host service system 1510
  • the web album system 1526 may be configured to allow for modification of an already created web album. More particularly, the web album system 1526 may be configured to allow a user to select additional content for or delete content from a previously generated web album. The web album system 1526 is configured to then automatically append the newly selected content to the cu ⁇ ent web album or delete content from the web album. The web album system 1526 then automatically publishes that web album at the same web site location as the original web album. Thus, a new URL address is not required and the user may advantageously update a previous web album without requiring a new web site location.
  • An advantage of the web album system 1526 is that it provides the user with automated tools that simplify the creation of a web site that includes both still-frame and full- motion content. Further, the web album system 1526 also beneficially allows for the user to also add live streaming video to the user's web site. Moreover, these automated features eliminate the requirement that the user possess any programming or other technical skill sets that may be necessary to properly format and assemble all the different types of content in a personal web site. Live Video System
  • the live video system (or live streaming system) 1530 provides the user with a system for publishing live video on the user's web site.
  • the live video system 1530 allows users of client interactive systems (or interactive users), e.g., 130, 701, to "tune in” to a web site of a user of a client production system (or the publishing or production user) and watch the live program that the production user is publishing.
  • the live video system 1530 advantageously provides a personal broadcasting station for the production user where the programming of that station is left to the productions user's discretion and imagination.
  • Figure 25 is a block diagram of one embodiment of a web broadcast system 2501 that includes the live streaming system 1530 in accordance with the present invention.
  • the web broadcast system 2501 includes the live streaming system 1530 of the client production system 1520 (remainder of the client production system 1520 is not shown), a hosting target such as, for example, the host services system 1510 (or 410 or 501), and the network services 140.
  • the live streaming system 1530 couples with the host services system 1510 through the network services 140.
  • the live streaming system 1530 couples with the video camera system 120d.
  • the live streaming system 1530 includes a driver level 2510, a communication server device interface 2520, a raw frame buffer 2530, a portal object 2540, and a broadcast module 2550.
  • the driver level 2510 includes an audio video acquisition buffer 2515.
  • the broadcast module include an audio encoder/decoder (or codec) buffer 2552, a video codec buffer 2554, an encoder compressor 2555, a streaming format file 2556, a stream buffer 2558, a format speed module 2560, and a user datagram protocol/transmission control protocol (“UDP/TCP”) module 2562.
  • Each component of the live streaming system 1530 may be embodied in hardware, software, or a combination of hardware and software.
  • the driver level 2510 couples with the video camera system 120d and the communication server device interface 2520.
  • the communication server device interface 2520 couples with the raw frame buffer 2530.
  • the raw frame buffer 2530 couples with the portal object 2540 and the broadcast module 2550.
  • the raw frame buffer 2530 couples with the audio codec buffer 2552 and the video codec buffer 2554.
  • the audio codec buffer 2552 and the video codec buffer 2554 couple with the encoder compressor 2555.
  • the encoder compressor couples with the streaming format file 2556 and the stream buffer 2558.
  • the streaming format file 2556 and the stream buffer 2558 couple to the network services 140 through the format speed module 2560 and the UDP/TCP module 2562.
  • the driver level 2510 is configured to provide an acquisition mechanism for capturing raw content from the video camera system 120d.
  • the raw content includes audio and video data that is stored in the audio video acquisition buffer 2515.
  • the driver level 2515 is typically connected with the computer system port which couples the video camera of the video camera system 120d.
  • the driver level 2510 bridges the data from this port with the operating system 310.
  • the communication server device interface 2520 is configured to provide an interface between one or more applications and the video camera of the video camera system 120d.
  • the communication server device interface 2520 is configured to provide video manipulation services and to serve video data to one or more applications simultaneously.
  • the video manipulation services includes formatting a received raw video data stream into a video format, for example, ANI, Real Media format, or Quicktime format.
  • the communication server device interface 2520 also allows the video camera and the applications to communicate between each other.
  • the application may signal the video camera through the communication server device interface 2520 to turn on or off, to zoom-in or zoom-out, or to rotate left, right, up, or down.
  • the raw frame buffer 2530 couples with the audio video acquisition buffer to collect raw, unformatted audio and video bit stream data.
  • the bit stream data includes, for example, red-green-blue color information, chromatic information, and the like.
  • the raw frame buffer 2530 passes the raw bit stream data to the portal object 2540 and/or the audio codec buffer 2552 and the video codec buffer 2554 in the broadcast module 2550.
  • the portal object 2540 is configured to provide an interface between captured objects (or content) and a compression engine that compresses the received video data into a file type, for example, Real Media format, MPEG format, or other compression format.
  • the portal object 2540 is also configured to provide a preview of the video data from the communication server device interface 2520. Using this preview function, a publishing user can manipulate the video camera itself or the captured video data through the application that couples with the communication server device interface 2520.
  • the broadcast module 2550 is configured to process the raw audio and video bit streams to format them for broadcast on the user's web site.
  • the audio codec buffer 2552 and the video codec buffer 2554 receive the raw bit stream data from the raw frame buffer 2530 and separate out the audio data and the video data.
  • the encoder compressor 2555 then mixes the audio data and video data into a mixed, synchronized data stream.
  • the encoder compressor 2555 then compress the mixed data stream.
  • the encoder compressor 2555 is an encoder compressor from Real Networks, Inc.
  • the compressed file is then sent to a streaming format file 2556 and a stream buffer
  • the streaming format file 2556 may be in Real Media format as specified by Real Networks, Inc.
  • the stream format file 2556 is configured to archive the streamed content locally.
  • a live stream buffer is configured to send the streamed content to the server for a live show.
  • the stream buffer 2558 generates a constant data stream that is set to transmit at a predetermined rate.
  • the stream buffer 2558 sends out a frame of video and audio that is properly synchronized and compressed at a constant rate.
  • the format speed module 2560 provides connection speed information for the streaming file so that the bit rate of the connection may determine how much compression needs to be applied for the content to "fit" within the pipe (or transmission bandwidth).
  • the UDP/TCP module then sends the file to the network services connection 1540, ultimately for publication, or broadcast, on the user's web site.
  • UDP/TCP is beneficial for this type of broadcast type services because of few e ⁇ or recovery services that may cause transmission delays.
  • FIG. 26 is a flow diagram illustrating a first example of an embodiment of a process for producing a live video stream in accordance with the present invention.
  • the process starts 2610 with an acquisition of a video signal from the video camera 152 of the video camera system 120d.
  • the video camera system 120d captures 2615 both video and audio data.
  • a driver interface of the driver level 2510 captures the audio and video data and sends 2620 this raw data to the communication server device interface 2520.
  • the communication device server interface 2520 formats the video data into a video format that may be set by default or specified by the publishing user.
  • the communication device server interface 2520 then sends 2625 the formatted video to the portal object 2540 or directly to the broadcast module 2550. If the formatted video is sent to the portal object 2540, the publishing user can preview the formatted video and, if desired, change parameters on the video camera system 120d or the captured video data.
  • the parameters on the video camera system 120d include, for example, zoom features, panning features, and the like.
  • the parameters on the captured video data include, for example, color, tint, size, contrast, brightness, and the like.
  • the portal object 2540 interfaces 2630 with the broadcast module 2550.
  • the broadcast module 2550 receives the video stream from the communication device server interface 2520 or the portal object 2540 and integrates or weaves the video and audio data together to generate 2635 streaming video data.
  • the UPD/TCP 2562 of the broadcast module 2550 provides the appropriate network services, e.g., Internet, protocol for the streaming video data and sends 2640 it to the targeting host server, e.g., host services system 1510, from where the streaming video data broadcast.
  • the broadcast streaming video data can now be accessed 2645, 2665 from the host server by an interactive user through a web browser or the publishing user through the client interactive system.
  • FIG. 27 is a flow diagram illustrating a second example of an embodiment of a process for producing a live video stream in accordance with the present invention.
  • the process starts 2710 with the video camera 152 of the video camera system 120d capturing raw video and audio (or video and audio data). More particularly, the process creates 2715 a raw frame buffer of the raw video and audio as it is received by the driver interface of the driver level 2510. The process then gets 2725 a frame buffer of the raw video and audio to send to a live the communication server device interface 2520.
  • the raw video is then processed 2735 into an appropriate video format, for example, ANI, Real Media format, or Quicktime format (by Apple Computer, Inc. of Cupertino, CA), and sent to the portal object 2520.
  • the raw buffer of the video may also be sent 2755 to a live video stream engine or module in the broadcast module 2550.
  • the portal object 2540 sends the formatted video data to a steaming engine in the broadcast module 2550, for example, a Real Media streaming engine.
  • the streaming engine prepares streamed video data and sends 2765 the streamed video to the live video stream engine in the broadcast module 2550.
  • the portal object 2540 also separates the formatted video data and the audio data.
  • the separated formatted video data and the audio data is sent to the video engine of the broadcast module 2550.
  • the video codec buffer 2554 gets 2745 the formatted video data in as a video codec file
  • the audio codec buffer 2552 gets 2745 the audio data in as an audio codec file.
  • the separated video and audio data is then interleaved into single video and audio data stream.
  • the live video stream engine of the broadcast module 2550 sends streaming 2775 video and audio through the UDP/TCP onto the network services 140 for transmission to a targeting host (or web server).
  • video control and attribute commands can be sent 2740 to the communication server device interface 2520 so that various aspects of the video image can be manipulated, for example, video size, video contrast, and video brightness.
  • an application coupled with the communication device server interface 2520 can manipulate the video camera 152 of the video camera system 120d by sending 2730 camera control and video attribute signals, for example, zoom, pan, color, tint, hue, or contrast adjustment signals, through the driver level 2510.
  • the driver level 2510 sends 2720 device control signals to the video camera 152 through the driver interface so that the camera is appropriately manipulated.
  • An advantage of the personal broadcast system 2501 and the live streaming system 1530 is that it provides a production user with their own broadcasting system.
  • the user's own client production system e.g., 1520, provides their own production studio for the content that they desire to broadcast live.
  • the personal broadcast system 2501 and the live streaming video system 1530 allow users to reach large audiences that are prohibitively expensive to reach through conventional broadcast channels.
  • the capture and publication of live video is automated, the user beneficially can produce live broadcasts despite lacking programming or technical skills for broadcasting such content on the WWW.

Abstract

An automated publication system provides a business model for allowing automated publication of content to a web site even when a user does not have any programming or technical skills. The business model includes the process from which a user captures content and automatically creates web pages using the captured content. The web pages are then automatically published on a web site. Moreover, the automated publication system also automatically creates a web site account for a user if so desired.

Description

AUTOMATED PUBLICATION SYSTEM WITH NETWORKABLE SMART CAMERA
Inventors: Georges Auberger
Thomas M. Paderna
John D. Bateman
BACKGROUND OF THE INVENTION
1. Field of the Invention The present invention relates generally to a system and a method for publication of captured content from a computer coupled with a video camera system, and more particularly, to an automated system and method for publication of captured content from a video camera system to a targeting host coupled to a network.
2. Description of Background Art Conventional computer connected video cameras are known. A conventional computer connected video system includes a conventional computer system and a conventional computer connected video camera. The conventional computer system may be coupled through a connection device, such as a modem, to a conventional network service that allows for an Internet or electronic mail connection. The conventional computer video system provides a mechanism for transmitting standalone or moving picture video images to other persons using a computer system. There are basically three conventional processes for transmitting a video image (or images) to other persons. One conventional process consists of using a conventional electronic mail application. The conventional second process consists of creating an Internet site known as a "web site." The third conventional process consists of a person-to-person video teleconference using a conventional video system.
In the first conventional process, to send a video image using an electronic mail application requires the user to perform a series of steps to prepare the video image for transmission and then actually transmit the video image. First, the user must point the conventional video camera to the subject matter of the video image. The user then manually starts the conventional video camera software package to capture the video image with the conventional video camera. The user must save the captured video image to the computer system storage device in a suitable video file format, for example, as a bitmap file (or a streaming video file for moving video images).
Once the video image is saved, the user must next transmit the video image to the persons that the user selects. To do this, the user must execute (or launch) an electronic mail application and select an electronic mail message option. The user selects another option in the electronic mail application to add an attachment to the electronic mail message. The user then searches the storage device to select the stored video file as an attachment to the electronic mail message. The user must then enter the proper electronic mail address for the person or persons to which the electronic mail message with video file attachment should be mailed. The electronic mail message with video file attachment is then mailed to that person or persons. The person or person's can then display the video file on their computer system.
There are a number of problems associated with using the conventional electronic mail application process. First, this process requires a high number of manual steps by the user that increases the probability for errors, such as saving the video image in an improper file format or sending a wrong file attachment. Second, this process would require the user to individually perform each step over and over any time any part or portion of the video image is changed. This is particularly cumbersome where there is a need to keep another person or persons updated with the most current video image. Third, this process will not work for situations where a live video image is desired.
The second conventional process for transmitting video images involves a conventional process of creating a specific Internet site, known as a "web site," that another person or persons having an Internet connection can access to view and download a video image. However, this process has numerous drawbacks because it requires the user to work through a series of conventional discrete manual steps to place the video image at the web site. Moreover, each step may require multiple software packages, which increases overall costs.
Initially, the user must have established an account with an Internet Service Provider ("ISP") to access the Internet, and more specifically the World Wide Web ("WWW"). The user must also establish a separate account with a web site hosting facility to host the user's web site. In some instances the ISP can provide this hosting facility for an extra cost. After manually completing these steps, the user is ready to start capturing video. Specifically the user manually starts the conventional video camera software package to begin recording the video image. The user then points the conventional video camera to the subject matter of the video image to be recorded and starts the software to begin recording. The user stores the recorded image in a video image file in the storage medium of the computer system to which the conventional video camera connects.
Once the user captures and stores the video image, the user must now prepare to transfer (or "upload'V'download") the video image to the web site. Specifically, the user must search for and then select the appropriate video image file from the storage device. The user then manually formats the video image file into a web content file. Specifically, still images are compressed in a format such as JPEG format. Further, moving video images must be converted into a streaming video format. To annotate the web content file, the user must use one or more separate application software programs for each type of desired annotation. For example, the user may require separate application software programs to add annotations such as time-date stamps, icon watermarks, and text to the web content file. Once the user creates the web content file and adds the annotations, the user must create one or more web pages that are capable of displaying the video content that will be uploaded. To do this, the user must have a good understanding of hyper text markup language ("HTML") along with an applicable text editor and/or a separate (and relatively expensive) web page creation software package. Generally, the user must format a basic layout of the HTML pages as well as create or link artwork to accompany those HTML pages.
If there are multiple pages, a user must also link each page together by manually inserting tags (specifically an "HREF" tag that references linked files) into the various HTML pages. If the user will be uploading moving video images, i.e., streaming video, the page must contain references to a Java™ (Sun Microsystems, Inc. of Palo Alto, CA) or an object linking and embedding control ("OCX") module that can be accessed by other web browser programs. Further, for web camera ("webcam" or "web cam") images, regardless of whether a web page creation software package is used, the user must manually insert scripts and HTML code into the web page. These scripts and HTML codes are used to handle timers, perform periodic refreshes, and handle data caches. Finally, if the user desires to create a thumbnail image of the video image, the user must purchase yet another software package and manually create the thumbnail image using that software package. It is noted that a thumbnail image is used to conveniently represent multiple images or content in a small geographic space.
Once the web page is created, the user must transfer them to the web hosting server. To do this, the user must complete a manual registration process to request from the web site host a directory with storage space and access rights to the directory to store the web pages. Further, if the web site host is unable to support the large bandwidth required for images such as a streaming video, the user must begin the process of finding another web site host (one that has greater bandwidth allocation capacity) all over again. Moreover, there may also be extended delays in getting access to the web site host resources due to monetary exchanges with the web site host to access the requested services.
Next, the user must have access to a file transfer program ("FTP") software package to transfer the web pages. Specifically, the user must manually enter into the FTP software the host site account information requested from the web site host such as the user name, password, and a user directory where content will be uploaded. This is necessary so that the user uploads the web pages to the proper location. Moreover, in most instances the user will also need to manually provide additional information to the FTP software such as web site host server domain name information, communication port number, and sub-directory information to get access to the web site host.
After the user correctly enters and configures all of the necessary FTP software information, the user may need to create a directory structure on the server using the FTP software. Only after the user provides all this information can the user transfer the web pages manually into the proper directory in the web host site. The user must now contact the web site host (or the ISP) to determine the correct format for the HTTP Uniform Resource Locator ("URL"). This is the unique Internet address used by web browsers to locate where the web pages are on the host server. The user now is able to send this URL to the person or persons to whom access may be granted.
Also, the user must name the HTML page according to the naming convention of the hosting site in order for it to be picked up by a default. For example, a user may want content to be visible at the following URL: http://www.auberger.com/officecam. If the user does not know what the default HTML file the web server will pick up, a viewer will have to use a default file on the hosting site. The problem with the default file is that the file name varies or is different for every hosting site. For example, some hosting sites use index.htm, other index.html, or home.html, or default.htm, etc. The default variations are also numerous because only one letter needs to be changed so that a new location is pointed to. For example index.htm is different from index.html. Thus, the viewer can rapidly become confused and lost when trying to find the proper default page. It should be quite apparent that the conventional process for transmitting video images through a conventional process of creating a specific web site is fraught with numerous problems. For example, one problem with this conventional process is that it requires considerable technical skill and ability on the part of the user. Another problem with this conventional process is that there are numerous opportunities for mistakes to occur in creating the web content and web images because of the number of manual entries and steps that the user is required to perform. This will cause errors such as improperly displaying the video image, failing to save the video image, or inconectly selecting the proper video image for display on the web page. Similarly, there are numerous opportunities for mistakes to occur in transferring the web pages to the web site host also because of the number of manual entries and steps that the user is required to perform. This will cause errors such as being unable to upload the web pages, incorrectly addressing the web pages, or losing the location of saved web pages.
Another problem with this conventional process is that there are numerous and large associated hidden costs. For example, incorrect manual entries at either the web content and web page creation steps or the web site creation and hosting steps results in higher costs due to increased human time, effort, and resources necessary to properly create the web site and web pages and then properly access the web site host and then upload the web pages to that web site host. Further, these costs also translate to increased system costs, for example, in the form of Internet access connection fees based on time, additional storage requirements to de- bug faulty web content or web page software code or to create a new video image. Also, there will be still more costs associated with transferring the web pages to a new web site host if support for functions such as streaming video are not available at the initial web site host.
Still another problem with this conventional process is that it lacks the ability to handle repetitive video images that are captured by the conventional video camera system. That is, the conventional video camera system and conventional web page creation and hosting processes are unable to prevent the needless creation and uploading of redundant video images. This results in increased costs associated with increased bandwidth usage requirements and increased storage space requirements on both the user's computer system and the web site host system.
Yet another problem with the conventional process is that conventional web site hosts are unable to provide access restrictions to prevent concurrent access by the user of the web site host, who may be updating web pages, and a visitor to the user's web site. This results in corrupted web pages and/or corrupted images within the web pages. In turn, this once again increases the overall costs for uploading the video images to the web site because the user must again go through the manual process of ultimately uploading a new version of the web page onto the host. In the third conventional process for transmitting video images, conventional computer systems having a conventional video camera can be connected to each other through conventional telephone lines. In this process both a call sending user and call receiving user start their computer system and launch their conventional video teleconference software package. The call sending user positions the camera appropriately on himself and dials the call receiving user through his conventional video teleconference software package. The call receiving user positions the camera on herself and picks up the call on her end through her conventional video teleconference package. The two users can now have a video teleconference with each other as moving video images of one user is sent to the other user using this conventional configuration. This third conventional process for transmitting video images also has numerous drawbacks. One problem with this conventional process is that the conventional video teleconference software packages can be expensive and typically must be the same for both the calling user and the receiving user in order for the video teleconference to properly function. A second problem with conventional video teleconference software packages is that they are unable to provide relatively smooth video transmission. Rather, the video transmission comes out in a "jerky" format. One reason for this is that conventional video teleconference software cannot effectively process the large data size associated with moving video pictures.
Another problem with the third conventional process for transmitting video images is that it uses point-to-point transmissions through conventional telephone lines. Conventional telephone lines cannot handle the large bandwidth requirement that moving video images require. Therefore, entire frames of a moving video image may be dropped or lost, which again causes a choppy or "jerky" video image on the receiving user's end. Still another problem with the third conventional process is that the video teleconference is not suitable for reaching audiences of three or more because the conventional video teleconference software package and conventional telephone lines cannot efficiently and effectively handle the large traffic of the moving video images.
Yet another problem with video calls involves call establishment for a videoconference using the Internet. One problem is that locating either party on the Internet is a cumbersome process as already discussed above. For example, default directories of each user must be located on the Internet. Another problem with the Internet is that crowded ISP providers and telephone lines cause choppy or "jerky" transmission or drop transmission altogether. Moreover, even if a user uses a cable modem or DSL, the user must still register with a directory service which is very crowded and not responsive. Moreover, these services are very expensive to install and maintain. Still another problem is that users who are accessing the content requires having an additional software package to view published content. This software should be compatible with the software the publisher used to publish the video content.
Therefore, from the above discussion it is apparent that there is a need for (1) a business system and method for automatically capturing video images, generating proper web content and web pages, and providing a web site hosting facility; (2) a computer connected video camera system and method for automatically creating web content (including web pages); (3) a web site hosting system and method for automatically creating a web site for a user to publish web content; (4) a personal broadcast system and process using a computer network connection; (5) a system and a method for generating a web file format to publish still images and moving video images within a single file; (6) a video file format for recognizing published video files; and (7) a system and a method for efficiently managing upload of web content.
SUMMARY OF THE INVENTION In accordance with the present invention, there is provided an automated publication system that includes a targeting host system, a client production system, and a client interactive (or interaction) system that couple through some network service. A publishing user may automatically generate content for publication to the targeting host system. The client production system configures the content to automatically publish it on the targeting host system. An interactive user can access the published content through a web browser on the client interaction system. The network service is a network configuration, for example, an Internet or Intranet or a local or proprietary network. Content includes video data (live, recorded, streaming, and the like), images, pictures, graphics, text, and the like. Publishing includes posting, uploading, transferring, transmitting, broadcasting, and the like.
In one embodiment the client production system includes a video camera system and a network services connection. The video camera system includes a video camera, a capture module, and a client production module. The video camera can manually or automatically capture content and format it through the capture module. The client production module, including the client production system, automatically generates and publishes web pages, that may include the captured content, to a web site on the targeting host system. The client production system is also configured to automatically access and create an account for a publishing user on a host targeting system. The client production system is also configured to allow for automated access to the host services system for subsequent publication. In one embodiment the targeting host system includes a network services connection, an administration system, a media system, a community system, and a content system. The targeting host system may be referred to as a host services system because it hosts services that are available for access by both the client production system and the client interactive system. With regard to the client production system, the administration system of the host services system is configured to provide automatic access and resource allocation services for the client production system, for example, automated access parameters, web site host location information, and storage allocation.
The media system is configured to provide input and output services for web content from the client production system. For example, a media-in component is configured to receive content as clips, broadcasts, albums, or web pages. A media-out component is configured to transmit (or display) content from the host services system as, for example, streams, files, or the like, to the client interactive system. The community system provides services such as electronic mail, chat, or messaging to the client production system and the client interactive system. The content system provides a location for automatically storing web sites having content and that were automatically created by publishing users of client production systems. The content system also provides interactive users with a location to search and access this created content, either for free or for a fee. The client interactive system includes a web browser system, a video player system, an audio player system, a messaging system, and an account system. The web browser system is configured to provide an interface to resources accessible through the network services. The video player system is configured to provide live and recorded streaming video playback capabilities. The audio player system is configured to provide live and recorded streaming audio playback capabilities. The messaging system is configured to provide messaging functions. The account information system is configured to store information about the interactive user so that this information is readily available to the host services system, for example, to access fee-based content on the host services system. It is noted that each system may be included within another system and may also be integrated with the web browser system.
The present invention provides an advantageous system and business method model for an automated publication system. The automated publication system allows publishing users to automatically capture content and also automatically create and generate a web site that may include the captured content. Moreover, the user of the automated publication system need not have any programming skill sets for either creating the web site or publishing it. This saves publishing users significant time and system resource that are commonly associated with creating web sites.
The host services system beneficially provides a worldwide stage for web content publishers. For example, the host services system that operates in conjunction with the client production system provides a broadcast portal similar to a broadcast station. Here, large audiences can access the host services system and tune into channels that include content that was created and automatically published on the host services system by a publishing user. The host services system also provides a publishing user a facility to automatically publish a web site.
The client production system advantageously allows for automatically accessing a host services system through a network service and also automatically verifies or creates a new user account upon starting a video camera system in accordance with the present invention. This greatly increases the variety of web content files that are available to users of client interactive systems because web content publishers do not need to have any programming or other technical skills to allow their web content material to be made available to a large audience. In another embodiment, the client production system includes a web cam system, a web album system, and a live video system. The web cam system provides web cam features that allow a user to publish a web page to a host services system and automatically update (or refresh) the content on that web page at predetermined intervals. Moreover, the web cam system is beneficially automated so that the web cam system automatically generates and/or creates web pages to publish on the host services system. These web pages are then automatically updated (or refreshed), typically with more recently captured content.
The web cam system includes a trigger event manager, a comparison manager, a web cam content manager, a web cam publish manager, a web cam options manager, and a static file streaming manager. The trigger event manager is configured to detect triggering events that begin an action in the web cam system, for example, capturing new content. The comparison manager is configured to compare a frame of content with a reference frame of content. The comparison information is used to determine whether a page refresh should occur. The web cam content manager is configured to provide an interface for a publishing user to select parameters to automatically create and publish web pages using the content captured through the web cam system. The web cam publish manager is configured to publish the web pages with the web cam content automatically to a publishing user's web site. The web cam options manager is configured to provide options for the web cam system, for example, content size, archival location, scheduling information, or comparison determination information.
An advantage of the web cam system is that it provides an automated system and process for generating and maintaining a web cam site for access through a network service. Moreover, a benefit of the automated web cam system is that a user is not required to have any programming or technical skills to create a web cam site for the captured content. The automated web cam system provides the user with beneficial web cam features such as, for example, a visual-based security system or a visual-based monitoring system. Moreover, these web cam features are beneficially provided at a significant cost savings because the user is not required to install expensive equipment in the secured or monitored area where the video camera system is set up and is not required to maintain an expensive monitoring service.
The web album system provides features that allow a user to create customized albums similar to, for example, picture albums, using previously captured content as well as live content from the video camera system. The web album system is beneficially automated so that the customized albums are transformed automatically into a web based format that can be published on the user's web site. The web based format of the customized album is a web content file that may be referred to as the web album. The web album system includes a content source manager, a layout manager, a preview manger, a web album publish manager, a web album options manager, and a static file streaming manager. The content source manager is configured to provide a user with an interface to select content for the web album. The layout manager is configured to provide a template for the layout of the web album that may include the selected content. The web album publish manager is configured to provide automatic publication parameters for the web album that is created using the layout and content. The static stream manager is configured to provide a motion video file for including in the web album. The web album system may also include an options manager for providing customization parameters for the web album, for example, size, author, electronic mail address, or default web page information. An advantage of the web album system is that it provides the user with automated tools that simplify the creation of a web content file that includes both still-frame and full- motion content. Further, the web album system also beneficially allows for the user to also add live streaming video to the web album. Moreover, these automated features eliminate the requirement that the user possess any programming or other technical skill sets that may be necessary to properly format and assemble all the different types of content in a single web site.
The live video system (or live streaming system) provides the user with a system for publishing live video on the user's web site. The live video system allows users of client interactive systems (or interactive users) to "tune in" to a web site of a user of a client production system (or the publishing or production user) and watch the live program that the production user is publishing. The live video system advantageously provides a personal broadcasting station for the production user where the programming of that station is left to the productions user's discretion and imagination.
The live video system includes a live streaming system. The live streaming system includes a driver level, a communication server device interface, a portal object; and a broadcast module. The driver level is configured to provide an acquisition mechanism for raw video and audio data streams from the video camera. The driver level also provides an interface between the video camera and the communication server device interface. The communication server device interface is configured to provide an interface between one or more applications and the video camera system. The communication server device interface functions to format the raw video and audio data streams into a more standardized format. The portal object is configured to provide a preview of the formatted video data stream from the communication server device interface. The broadcast module is configured to process the video and audio data to properly interleave them and generate a streaming video output. This streaming video output is sent to a targeting host system and may be viewed by an interactive user on the client interactive system. An advantage the live streaming system is that it provides a production user with their own broadcasting system. The user's own client production system provides their own production studio for the content that they desire to broadcast live. The live streaming video system allow users to reach large audiences that are prohibitively expensive to reach through conventional broadcast channels. Moreover, because the capture and publication of live video is automated, the user beneficially can produce live broadcasts despite lacking programming or technical skills for broadcasting such content through network services.
The features and advantages described in the specification are not all inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the drawings, specification, and claims. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and may not have been selected to delineate or circumscribe the inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS Figure (or Fig.) la is a block diagram of one embodiment of a data processing system in accordance with the present invention.
Figure lb is a block diagram of one embodiment of a video camera system in accordance with the present invention.
Figure 2 is a block diagram of one embodiment of a computer system for use in a data processing system in accordance with the present invention. Figure 3 is a block diagram of one embodiment of a memory system of a computer system for use in a data processing system in accordance with the present invention. Figure 4 is a block diagram of a first embodiment of an automated publication system in accordance with the present invention.
Figure 5 is a functional architecture diagram of a second embodiment of a host services system in accordance with the present invention. Figure 6 is a functional architecture diagram of a second embodiment of a client production system in accordance with the present invention.
Figure 7 is a functional architecture diagram of one embodiment of a client interactive system in accordance with the present invention.
Figure 8 is a flow diagram of one embodiment of a process for providing a host services system interface in accordance with the present invention.
Figure 9 is a flow diagram of one embodiment for intake of content at a host services system in accordance with the present invention.
Figure 10 is a flow diagram of one embodiment of a process for producing content at a client production system in accordance with the present invention, Figure 11 is a flow diagram of one embodiment of a process for automatically generating and publishing content from a client production system in accordance with the present invention.
Figure 12 is a flow diagram of one embodiment of a process for automatically formatting video content in accordance with the present invention. Figure 13 is a flow diagram of one embodiment of a process for automatically creating web pages based on activity in accordance with the present invention.
Figure 14 is a flow diagram of one embodiment of a process for an interactive client system accessing a host services system in accordance with the present invention.
Figure 15a is a block diagram of a second embodiment of an automated publication system in accordance with the present invention.
Figure 15b is a block diagram of a third embodiment of a host services system in accordance with the present invention.
Figure 16 is a flow diagram of one embodiment of a process for automatically publishing content through the second embodiment of the automated publication system in accordance with the present invention.
Figure 17 is a block diagram of one embodiment of a web cam system in accordance with the present invention. Figure 18 is a flow diagram of one embodiment of a process for capturing content in a web cam system in accordance with the present invention.
Figure 19 is a flow diagram of one embodiment of a process for capturing a frame of content in a web cam system in accordance with the present invention. Figure 20 is a flow diagram of one embodiment of a process for determining whether to publish captured content in a web cam system in accordance with the present invention.
Figure 21 is a flow diagram of one embodiment of a process for uploading captured content from a web cam system in accordance with the present invention.
Figure 22 is a flow diagram of one embodiment of a process for completing a site refresh with captured content from a web cam system in accordance with the present invention.
Figure 23 is a block diagram of one embodiment of a web album system in accordance with the present invention.
Figure 24 is a flow diagram of one embodiment of a process for creating a web album in accordance with the present invention.
Figure 25 is a block diagram of one embodiment of a broadcast system that includes a live video system in accordance with the present invention.
Figure 26 is a flow diagram illustrating a first example of an embodiment of a process for producing a live video stream in accordance with the present invention. Figure 27 is a flow diagram illustrating a second example of an embodiment of a process for producing a live video stream in accordance with the present invention. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS A preferred embodiment of the present invention will be described with reference to the Figures (Figs.), where like reference numbers may indicate identical or functionally similar elements. The present invention includes a data processing system that includes an automated publication system. The automated publication system includes a client production system for generating content that can be automatically published on (or broadcast through) a targeting host system. Content (or content element) includes, but is not limited to, video (live, recorded, streaming, and the like), images, pictures, graphics, text, and the like that may be formatted in a variety of forms. The targeting host system may be a host services system that hosts the content from the client production system and allows that content to be selectively available to those accessing that host services system. Data Processing System
Referring now to Figures (or Figs.), Figure la is a block diagram of one embodiment of a data processing system 101 in accordance with the present invention. The data processing system includes a host services computer system 110, a client production computer system 120, a client interactive computer system 130, and a network service 140. The network service 140 couples the host services computer system 110, the client production computer system 120, and the client interactive computer system 130.
The host computer system 110 is a conventional host computer system, that may include a host computer 110a, a storage device 110b, a network services connection 110c, and a conventional input/output devices such as, for example, a display, a mouse, a printer, and/or a keyboard, that may couple to a computer system. The host computer 110a also includes conventional operating system, and input/output device, and network services software. The network service connection 110c includes those hardware and software components that allow for connecting to a conventional network service. For example, the network service connection may include a connection to a telecommunications line (e.g., a dial-up, digital subscriber line ("DSL"), a Tl, or a T3 communication line). The host computer 110a, and the storage device 110b, the network services connection 110c, may be available from, for example, IBM Corporation (Armonk, NY), Sun Microsystems, Inc. (Palo Alto, CA), Hewlett- Packard, Inc. (Palo Alto, CA), or Compaq Computer Corporation (Houston, TX). The client production system 120 is a conventional computer system that includes a conventional client computer system 120a, an optional storage device 120b, a network services connection 120c, a video camera system 120d, and input/output devices such as, for example, a display, a mouse, a keyboard, a printer, and/or a scanner, that may couple to a computer system. The client computer system 120a also includes conventional hardware and software for operation such as, for example, a central processing unit ("CPU"), an operating system ("OS"), and device drivers.
The network service connection 120c includes those hardware and software components that allow for connecting to a conventional network service. For example, a modem or a digital subscriber line ("DSL") connection and an Internet Service Provider ("ISP") account or an Ethernet peripheral card and a local area network connection and account. The client computer system 120a may be available from, for example, IBM Corporation, Sun Microsystems, Inc., Hewlett-Packard, Inc., or Compaq Computer Corporation. The optional storage device 120b is a conventional storage device, for example, a magnetic disk storage device or a solid state storage device. The video camera system 120d is further described below with respect to Figure lb. The client interactive computer system 130 is a conventional computer system that includes a client computer system 130a, an optional storage device 130b, a network connection 130c, and conventional input/output devices such as, for example, a display, a mouse, a keyboard, a printer, and/or a scanner, that may couple to a computer system. The client computer system 130a includes appropriate hardware and software for operation such as, for example, CPU, an operating system, and device drivers.
The network services connection 130c includes those hardware and software components that allow for connecting to a conventional network service. For example, a modem or DSL connection and an ISP account or an Ethernet card and a local area network connection and account. The client computer system 130a may be available from, for example, IBM Corporation, Sun Microsystems, Inc., Hewlett-Packard, Inc., or Compaq Computer Corporation. The optional storage device 130b is a conventional storage device, for example, a magnetic disk storage device or a solid state storage device. It is noted that the client publication computer system 120 may also function as a client interactive computer system 130. The network service (or network services) 140 is a network such as a wide area network or a local area network. The wide area network may include the Internet, the Internet 2, and the like. The local area network may include an Intranet, which may be a network based on, for example, TCP/IP belonging to an organization accessible only by the organization's members, employees, or others with authorization. The local area network may also be a network such as, for example, Netware™ from Novell Corporation (Provo, UT) or Windows NT from Microsoft Corporation (Redmond, WA). The network services 140 may also include commercially available subscription-based services such as, for example, AOL from America Online, Inc. (Dulles, VA) or MSN from Microsoft Corporation (Redmond, WA). It is also noted that the network services connection, e.g., 110c, 120c, 130c, may be made through, for example, a modem (including analog, digital, and/or cable modems), subscriber lines such as, for example, DSL or ISDN, or a network card such as an Ethernet or Token-Ring card. In addition, the network services connection may use a network address identifier such as, for example, a network identification card ("NIC") number or a TCP/IP or similar address type.
Figure 2 is a block diagram of one embodiment of a computer system 110a for use in the data processing system 101 in accordance with the present invention. The computer systems 120a, 130a may be similar to the computer 110a, and those of ordinary skill in the art will recognize the logical (or functional) components also apply to the computer systems 120a, 130a of the client production computer system 120 and the client interactive computer system 130, respectively. The computer system 110 includes a processing system (or central processing system
("CPU")) 210, a display (and/or graphics system) input/output (or subsystem) 220, input/output device connections 230, a video camera input/output 240, a network input/output 250, a storage device input/output 260, a memory system 270, and a system (or data) bus 280. The computer system may also include other conventional computer system input/outputs that are known to those of ordinary skill in the art. The system bus 280 couples the CPU 210, the display input/output 220, the input/output device connections 230, the video camera input/output 240, the network input/output 250, the storage device input/output 260, and the memory system 270.
The CPU 210 is a conventional processing unit such as, for example, an Intel Pentium®-class processor or a Sun Microsystems SPARC® processor. The display input/output 220 is a conventional display input/output such as, for example, a video graphics array ("VGA") type input/output. The input/output devices 230 include a conventional pointing device input/output such as, for example, a Universal Serial Bus ("USB") port, an IBM PS/2® or compatible port, a serial port, or a stylus input/output connection. The input/output device connections 230 also include a keyboard input/output such as, for example, a USB port, a keyboard port, or a touch keyboard connection. The input/output device connections 230 may also include USB ports for USB devices, small computer systems interfaces ("SCSI") for SCSI devices, or other like input/output ports and devices.
The video camera input/output 240 is a video connection port for connecting a video camera, e.g., a video camera of the video camera system 120d. The video connection port may be a custom port, a serial port, a parallel port, a USB port, IEEE 1394, or the like. The network input/output 250 is a conventional network interface connection such as, for example, an Ethernet or Token-Ring connection, a high-speed (e.g., Tl line) connection, a wireless network connection, a dial-up connection, a subscriber connection (e.g., DSL or ISDN), or the like. The network input/output 250 may be used to connect to the network services 140, including the Internet or an Intranet. These connections may also include access to the World Wide Web ("WWW").
The storage device input/output 260 is a conventional storage device connection such as, for example, a SCSI interface or an integrated drive electronics ("IDE") interface. The storage device input output 260 may be used to connect a magnetic disk drive, a tape drive, a compact disk drive, or a solid-state storage device. The memory system 270 is a conventional memory system such as, for example, a dynamic random access memory ("DRAM") or a static random access memory ("SRAM"). The system bus 280 is a conventional system bus such as, for example, a peripheral connection interface ("PCI") bus or an industry standard architecture ("ISA") bus.
Figure 3 is a block diagram of one embodiment of a memory system 270 for a computer system, e.g., 110a, 120a, 130a, for use in the data processing system 101 in accordance with the present invention. Again, those of ordinary skill in the art will recognize the logical components for the memory system 270 apply to the computer systems 110a, 120a, 130a of the host services computer system 110, the client production computer system 120, and the client interactive computer system 130, respectively. The logical components in the memory system 270 include at least a portion of each of an operating system 310, a system component 320, and an application 330. The operating system 310 interfaces with the CPU 210 through the system bus 280. It also interfaces with the system component 320 and the application 330. The system component 320 and the application 330 may be optionally present in the memory system 270 during operation of the appropriate computer system 110a, 120a, 130a in the data processing system 101.
The operating system 310 is a conventional operating system as discussed above such as, for example, Microsoft Windows™. The system component 320 is all or a portion of particular system functions that are resident in the memory 270 to perform a function in conjunction with hardware and software components of the data processing system 101. Some examples of system components 320 include at least a portion of an automated publication system, a client production system, a web cam system, a web album system, a live video system, and a host services system, all of which are further described below. The system components 320 may include those components that are necessary to interface with the operating system and the application, such as, for example, a device driver, a programming interface, or a messaging interface.
The application 330 is optional and provides an interface to a user of the system component 320. The application may include a user interface that is presented on a display of a computer system and that allows for a user to interact with the system component 320 to perform some function. All or a portion of an application 330 may be present in the memory system during operation of the data processing system 101. Video Camera System Figure lb is a block diagram of one embodiment of a video camera system 120d in accordance with the present invention. The video camera system 120d includes a video camera 152, a capture module 154, and a client production module 156. The video camera 152 couples with the capture module 154 and the client production module 156. In one embodiment the video camera 152 is a hardware device. The capture module 154 and the client production module 156 are embodied in software, hardware, or a combination of hardware and software. The software may be stored in a storage device, e.g., a solid state memory or a disk. Moreover, in one embodiment at least a portion of the capture module 154 and at least a portion of the client production module 156 is embodied as a system component, e.g., 320. The video camera 152 is a conventional video camera such as, for example, a
QuickCam™ video camera from Logitech, Inc. (Fremont, CA). The video camera is configured to capture visual and audio content. The capture module 154 is used to process the captured content as particular content and/or format type such as, for example, BMP format, TIFF format, JPEG format, PCX format, PSD format, TGA format, PNG format and the like.
The client production module 156 includes a client production system that automatically generates web pages and automatically publishes (including broadcasts, posts, uploads, transfers, etc.) the web pages on a web site. Moreover, the client production system automatically creates a web site for the user if the user so desires. The client production module 156 includes a user interface that is presented to the user through an application, e.g., 330, to the display of the computer system, e.g., 120a. The user may interact with the client production system 120 and the capture module 154 through this user interface. The user interface may be a windowed user interface such as one provided by a windowed interface operating system, for example, Microsoft Windows™.
It is noted that in alternative embodiment the capture module 154 may be incoφorated into the client production module 156. Moreover, the capture module 154 and/or the user interface may be directly incoφorated into, for example, the client production system 420 (or 601, 1520) described below. Further, there may be a registration identification associated with the video camera system 120d that may be used to correct the video camera system 120d to resources connected to the network services 140. In addition, those of ordinary skill in the art will recognize that the functionality of components in the client production 156 may be included in either the client production computer system 120, in the host services computer system, or in a combination of both without departing from the spirit of the invention. First Embodiment of an Automated Publication System
The present invention includes components with unique functional elements that operate alone or in combination with other components to provide an automated publication system. The automated publication system provides a business model for allowing automated publication of content to a site on a hosting target (e.g., a WWW site ("web site")) even when a user does not have any programming or technical skills. The business model includes a process from which a user captures content and automatically creates network accessible documents (e.g., "web pages") using the captured content. The web pages are then automatically published on the web site. Moreover, the automated publication system also automatically creates a web site account for a user if so desired.
Figure 4 is a block diagram of a first embodiment of an automated publication system (or a personal media system) 401 in accordance with the present invention. The first embodiment of the automated publication system 401 includes a first embodiment of a host services system 410 and a first embodiment of a client production system 420. The network services 140 couple the host services system 410 with the client production system 420. It is noted that the host services system 410 functions within or in conjunction with the host services computer system 110. Similarly, the client production system 420 functions within or in conjunction with the client production computer system 120. In a preferred embodiment, the client production system 420 is configured to function with a video camera system, e.g., 120d.
Both the host services system 410 and the client production system 420 may be considered system components, e.g., 320, and may also include one or more subsystem components. Moreover, both the host services system 410 and the client production system 420 may be implemented in hardware, firmware, software, or any combination thereof.
The host services system 410 is an enhanced portal-type service that includes a network services connection system 430, a community system 435, a content system 440, a media system 445, and an administration system 450. The operating system 310 and/or the system bus 280 couples with each system 430, 435, 440, 445. Moreover, it is noted that each system may include one or more subsystems. Moreover, there may be more than one community system 435, content system 440, and media system 445.
Each system 430, 435, 440, 445 of the host services system 410 may function with one or more database systems ("DB") that stores information, including data, instructions, macros, software objects, and the like, in a storage device, e.g., 110b. The database system may be a database system that includes a database such as, for example, Oracle 8™ by Oracle Coφoration (Redwood Shores, CA) or SQL Server™ by Microsoft Coφoration.
The network services connection system 430 includes conventional hardware and software for coupling to the network services 140. The community system 435 is configured to provide functions such as, for example, electronic mail or chat rooms, that are open to a community of users of network services. The community system 435 is embodied in software and the data for the functions may be stored in the database system. The content system 440 is configured to store web pages having media content such as, for example, still image files, graphic files, bitmap files, motion video files, streaming video files, and/or any combination thereof. The content system 440 is embodied in software with the data stored in the database system.
The media system 445 is configured to provide an interface for receiving or transmitting web pages and/or media content. The media system 445 may be embodied in hardware, software, or any combination thereof. Moreover, the media system 445 may include a database system for storing the received or transmitted web pages and/or media content on a temporary or permanent basis. The administration system 450 is configured to include functions for managing the services of the host services system 410 and user-related functions such as, for example, log-on information, authorization, and access privileges to restricted areas of the host services system 410, managing data within any of the database systems of the host services systems, or the like. The administration system 450 may be embodied in hardware, software, or any combination thereof, and may include the database system for storing appropriate information.
The client production system 420 includes a network services connection system 460, a video system 465, and a publishing system 470. The operating system 310 and/or the system bus 280 couples with each system 460, 465, 470. In addition, each system 460, 465, 470 may use one or more database systems ("DB") that store data in the storage system, e.g., 120b. Each system 460, 465, 470 is also communicatively coupled to the other systems.
The network services connection system 460 is embodied in hardware and software. The network services connection system 460 is configured to provide access to network services, e.g., 140. The video system 465 includes a video input for a video camera, e.g., 120d, to capture video images, for example, still frame images, moving images, graphic images, and picture images. In one embodiment, the video system 465 functions in conjunction with the video camera system 120d.
The publishing system 470 is preferably configured in software. It selects content taken from by the video system 465 and formats that content to publish (including broadcast, post, transmit, etc.) it automatically on a web page. More particularly, the publishing system 470 may be configured to function with the network services connection system 460 to automatically establish a connection to the network services 140 and establish an account on the host services system 410 so that the formatted content may be published.
Figure 5 is a functional architecture diagram of a second embodiment of a host services system 501 in accordance with the present invention. The second embodiment of the host services system 501 is functionally similar to host services system 410 described in Figure 4, with some additional detail. For example, similar to the first embodiment of the host services system 410 described above, the host services system 501 functions within or in conjunction with the host services computer system 110. Further, at least a portion of host service system 501 may be considered a system component, e.g., 320, that interfaces with the network services 140 through the operating system 310 and/or the system bus 280.
In addition, similar to the first embodiment of the host services system 410, the second embodiment of the host services system 501 includes a media system 510a, 510b (generally 510), an administration system 520, a community system 530, a content system that includes a commerce content system 540 and a general content system 550. The second embodiment of the host service system 501 also includes a content management module 560, a customer service module 565, a billing module 570, a metering module 575, and a storage system 590.
Each component of the second embodiment of the host services system 501 couples through the operating system 310 and/or the system bus 280. Moreover, each component may be embodied in hardware, software, or any combination thereof. The software portions of the components may be stored in the storage system 590. Further, a database or file system for use with the second embodiment of the host services system 501 stores information, for example, data, files, objects, macros, and the like in the storage system 590. It is noted that the storage system 590 may be, or may function, similar to the storage system, e.g., 1 10b, described above.
The media content system 510 includes a media in system 510a and a media out system 510b. The media in system 510a includes a computer server system for receiving content from, for example, a client production system 420 (or 601 in Figure 6 or 1520 in Figure 15a). The media out system 510b includes a computer server system for transmitting (including sending, transferring out, streaming out, or the like) content from the host services system 501 (or 410 in Figure 4 or 1510 in Figure 15a) to a client interactive system, e.g., 130. The administration system 520 is preferably embodied in software and is configured to include a membership module 520a, a user profile and accounts module 520b, a storage management module 520c, and a customer service module 520d. Each module may be coupled through the operating system, e.g., 310.
The membership module 520a is configured to provide data fields for allowing input of user information so that a potential user of the host services system 501 may be registered to access particular services such as, for example, publishing content in the general content system 550 or accessing all or a portion of the community services system 530. The user information may include information such as, for example, user name, user contact information, registration number, registration identification (e.g. video camera system 120d registration identification), network address, or the like.
Further, a potential publishing user may automatically be sent prompts from the membership module 520a to provide information such as, a user name, for use by the publishing user. Specifically, in one embodiment the administration system is configured to receive the registration information from the video camera system 120d automatically once a user selects to publish using that system. Once a user is registered, the registration data is stored in the database system and is accessible by the user profile and accounts module 520b. The user profile and accounts module 520b is configured to accept login information
(including user name and/or password) from a user of the system to determine whether that user is registered to use a particular service, particularly a fee-based or secured-area service. If the user's information is not found in the database system, the user profile and accounts module 520b may be configured to execute (or launch) the membership services module 520a so that the user can be registered to use the appropriate services of the host services system 530 or may inform the user that they are unauthorized to access a particular service.
The membership services module 520a and the user profile and accounts module 520b are also configured to interface with the storage management module 520c. The storage management module 520c is configured to manage the allocation of storage space in the storage system 590 to registered users of the host services system 501. Either the membership module 520a or the user profile and accounts module 520b can also be configured to provide a user of a client production system, e.g., 420, 601, 1520, with a URL where web content can be accessed by users of client interactive systems, e.g., 130. Further, the membership services module 520a and the user profile and accounts module 520b are also configured to interface with the customer service module 520d. The customer service module 520d provides both electronic and telephonic help desk or help line type support information for registered users and potential users of the host services system 501.
The community system 530 includes modules that allow registered users of the host services system 501 to interact with one another. The community system 530 preferably includes an electronic mail module 530a, a chat module (e.g., an Internet chat room) 530b, and a pager/messaging module 530c. The electronic mail module 530a is configured to provide conventional electronic mail functions. The chat module 530b is configured to provide "chat room" functions so that the user can electronically communicate text messages with each other on a variety of topics in real time. The pager/messaging module 530c provides an electronic paging and notification system to allow users to identify when other selected users are logged into the host services system 501 and contact them accordingly. The commerce content system 540 is configured to provide fee-based services to those users that are registered to use such services. The commerce content system 540 preferably includes a site membership module 540a, a site subscription module 540b, and one or more pay-per-view modules 540c. The commerce content system 540 may be a WWW site ("web site") that users may access through an application (e.g., 330) referred to as a WWW browser ("web browser") such as, for example, Internet Explorer™ by Microsoft Coφoration or Netscape Navigator™ by America Online, Inc.
The membership module 540a is configured to provide data fields to allow users of a client interactive system, e.g., 130, (viewing users) to register and pay a fee for use of services in the commerce content system 540. The membership module 540a is also configured to allow users that are publishing content (publishing users) a place to register and optionally pay a fee to have their content hosted in the commerce content system 540. The data fields in the membership services module 540a may include, for example name information, credit card information, and/or billing information. It is noted that the membership module 540a may be configured to interface with the membership profile module 520a and/or the user profile and accounts module 520b in the administration system 520.
The site subscription module 540b is configured to interface with the pay-per-view modules 540c and a viewing user or a publishing user. For a viewing user, the site subscription module 540b is configured to provide a subscription menu (through the web browser) to the user. The subscription menu is configured to include data fields for each module such as, for example, listing a title and/or summary of a pay per view module 540c, a price for viewing that module, and a selection field for selecting that module for viewing. This subscription menu may also be referenced as a channel guide. For a user that creates content using, for example, the client publishing system, e.g.,
420, 601, 1520, the site subscription module 540b is configured to provide a gateway for a user's content as a pay-per-view module in the commerce content system 540. It also lists that content in the subscription menu. The pay-per-view modules 540c are configured to provide content for which a user typically must pay a fee to view. The pay-per-view modules 540 may be created and published by a user of a client production system, e.g., 420, 601, 1520, in a manner as is further described below. The general content system 550 is configured to provide content that is generally free of charge to both publishing users and viewing users. The general content system 550 may be considered a web site that interactive users may access through a web browser. The general content system 550 includes a content category module 550a, a channel module 550b, and a search module 550c.
The content category module 550a is configured to provide file storage and file directory (filing) information in conjunction with the storage system 590. The content category module 550a is configured to categorize any type of content that may be created by a publishing system such as, for example, video or image clips, video streams, and web albums (further described below), for filing within the general content system 550.
The content category module 550a is configured to provide an interface for, for example, a client interactive computer system, e.g., 130, so that a user of that system is provided a channel (or a menu or other selection mechanism) to get access to and view the content. The content category module 550a is also configured to provide an interface for the client production system, e.g., 420, 601, 1520, so that a publishing user can publish content at the host services system 501. It is noted that the published content includes web pages that have content. The content category module 550a receives the published content and files it appropriately in the storage system 590. The published content can be accessed by a URL previously provided by the host services system 501. Alternatively, the general content system 550 can provide a URL to the publishing user and provide a link to that URL through a channel that interactive client computer systems, e.g., 130, have access to.
The channel module 550b is configured to provide a menu (or selection field) in association with a filing system so that published content may be filed by some predefined category and displayed to users so that they can have access to that content. For example, the channels may serve as guides that are grouped similar to television channels so that sports content are on a sports channel set (one or more channels), cooking content is on a cooking channel set, home improvement content is on a home improvement channel set, etc. Moreover, the channel module 550b may be configured to provide customized channels for each user that elects to publish content through the general content system 550. For example, the channel module 550b may be configured to provide a user their own channel in which any published content they create would be listed in that channel. The search module 550c is configured to include a search engine for locating web pages with particular content in the general content system 550. The search module 550c is configured to provide natural language, key word, and/or Boolean type searches. The search module 550c is also configured to search and find content that may be pre-categorized by the general content system 550. For example, searches for web pages with particular content may be done in or for particular categories, for example, sports, business, cooking, or home improvement. It is noted that the search module 550c and the channel module 550b may also be configured for use with the site subscription module 540 to search for and/or categorize web pages or sites with particular content in that module. The content management module 560 of the host services system 501 is configured to provide an interface for accessing the host services system 501. The customer services module 565 is configured to provide a help desk or a help line type service for users accessing the host services system 501. The customer services module 565 may be configured through software, telephone, human interaction, or any combination thereof. The billing module 570 may be embodied in software and is configured to track data that is related to fee-based services in the host services system 501 and automatically generates bills to users of those fee based services. The fee based services include, for example, the services offered through the commerce content system 540. The metering module 575 may be embodied in software and is configured to track usage information of the services in the various systems, e.g., 530, 540, 550. The usage information includes, for example, viewer ratings or number of viewer connections. The usage information may be provided as a fee-based service to, for example, publishing users. This metering information is particularly beneficial for those users that are currently publishing content on a channel in the general content system 550 and that may, for example, consider moving that content into the commerce content system 540 because of viewing trends that may be provided from the metering information.
Figure 6 is a functional architecture diagram of a second embodiment of a client production system 601 in accordance with the present invention. The second embodiment of the client production system 601 is functionally similar to the client production system 420 described in Figure 4, with some additional detail. For example, similar to the client production system 420 described above, the second embodiment of the client production system 601 functions within or in conjunction with the client production computer system 120, and more particularly, within or in conjunction with the video camera system 120d. Further, at least a portion of client production system 601 may be considered a system component, e.g., 320, that interfaces with the network services 140 through an operating system, e.g., 310, and/or a system bus, e.g., 280. In addition, the second embodiment of the client production system 601 includes a content system 610, a page generation system 620, and a format system 630. Each system 610, 620, 630 of client production system 601 couples through an operating system, e.g., 310 and or a system bus, e.g., 280. Moreover, each system 610, 620, 630 may be embodied in hardware, software, or a combination thereof and the software portion may be stored in the storage system 690, which is functionally similar to storage system 120b.
In one embodiment a portion of the content system 610, the page generation system 620, and the format system 630 of the client production system 601 is embodied in software within the video camera system 120d. Further, these systems 610, 620, 630 may be configured as system components, e.g., 320, to function with the operating system, e.g., 310 within or in conjunction with the video camera system 120d. In addition, a database or file system for use with the second embodiment of the client production system 601 may store information such as, for example, data, files, objects, macros, and the like in the storage system 690 for use by the system components 610, 620, 630.
The content system 610 may be configured in a combination of software and hardware. The content system 610 is coupled to receive captured content from the video camera system 120d. The content system 610 is also configured to store the captured content in one or more files (and/or directories) in the storage system 690. The content system 610 may also present a thumbnail image of the file with the appropriate link in the directory to that content file. Capturing content includes, for example, taking a picture of content, making a recording of content, or broadcasting content using the video camera system 120d. As described above, content includes, and is not limited to, for example, a video file, a dynamic video stream, and pictures.
The page generation system 620 may be embodied in software. The page generation system 620 is configured to select content from the storage system 690 and automatically generates one or more web pages using the captured content. Specifically, the page generation system 620 is configured to automatically generate the layouts and HTML code. The layouts and the HTML code are preconfigured and are used with the content to create a web page with the content. Further, the layout and a theme also provide a template. The template may include predetermined or preconfigured HTML code for HTML pages. The layout defines an arrangement of objects within a web page. An object includes content, text, other graphical, items, or other things that then be added to a web page. The theme includes web banners, colors of text, fonts, background colors, types of icons, various graphics, and other visual web objects on the web page. Content may now be added to the template to create a basic web page. The page generation system 620 is also configured to provide graphic files that are included within the web page. The graphic files are also preconfigured and include artwork such as, for example, backgrounds and borders. The graphic files may be included in the templates.
The format system 630 may also be embodied in software. It is configured to automatically link or connect each generated web page together into a web package or single entity. The format system 630 is also configured to automatically publish (including, for example, broadcast, post, upload, transmit, etc.) the web package to the host services system, e.g., 410, 501, 1510. More particularly, the format system automatically accesses the host services system, e.g., 410, 501, 1510 through the network services and publishes the web package, for example, the general content system 550.
The format system 630 may also be configured to publish the web package automatically in a default channel (or directory) location in the site subscription module 540 or the general content module 550. This default location may be overridden by a publishing user so that the web package can be published at other channel locations if so desired. The default channels may be configured so that, for example, sport web packages are published to a sports channel, business web packages are published to a business channel, travel web packages are published to a travel channel, etc. The format system 630 is also configured to interface with the page generation system 620 to intelligently send only the differences of an image from the last upload of the image. This saves significant upload time and system resources when connecting with the host services system 501.
It is noted that the web package may be referred to as a web content file. A web content file includes, for example, a group of one or more web files, a web site, a package of web content or the like. Further, if the web content file includes one or more web pages, these web pages may be appropriately linked to each other. If the web content file comprises a package of web content, it may include, for example, HTML code, content (video files, streaming video, pictures, etc.), and supporting code. The supporting code may include, for example, Java applets or OCX, or the like.
Figure 7 is a functional architecture diagram of one embodiment of a client interactive system 701 in accordance with the present invention. The client interactive system 701 is configured to function within or in conjunction with a client interactive computer system, e.g., 130. The client interactive system 701 includes a web browser system 710, a video player system 720, an audio player system 730, an optional messaging system 740, and an optional account system 750. Each system 710, 720, 730, 740, 750 of client interactive system 701 couples through the web browser system 710. The web browser system couples to an operating system, e.g., 310, and/or a system bus, e.g., 280. It is noted that each system 710, 720, 730, 740, 750 may be embodied in hardware, software, or a combination thereof and the software portion may be stored in the storage system 130b.
The web browser system 710 may be a conventional web browser such as, for example, Internet Explorer™ by Microsoft Coφoration or Netscape Navigator™ by America Online, Inc. The video player system 720 and the audio player system 730 may be separate or integrated conventional systems that accordingly play video files or streams and/or audio files or streams that are downloaded from the general content system 550 or the commerce content system 540 of the host services system 501. The video player system 720 and the audio player system 730 may be, for example, a RealPlayer™ by Real Networks, Inc. (Seattle, WA) or a Windows Media Player™ by Microsoft Coφoration.
The messaging system 740 may be a conventional messaging system that may be used in conjunction with the community system 530 of the host services system 501 to determine which selected users have logged into the host services system 501. The account system 750 includes information about the user that may be stored locally for use to access fee-based or selected secured areas of the host services system 501. In one embodiment the information about the user may be stored locally as, for example, a cookie or encrypted data in an operating system registry.
Figures 8 through 14 provide a process for accessing services (or systems) in the host services system 501 from a client production system 601 or a client interaction system 701. Referring first to Figure 8, a flow diagram illustrates one embodiment of a process for accessing a service in the host services system 501 in accordance with the present invention. At the start 805, the host receives a request for a service from a user through a client production system 601 or a client interaction system 701. The host services system 501 identifies 810 the service requested. The administration system 520 determines if the user is authorized to use the service requested.
If the user is authorized to use the service, e.g. , view generally available web content pages from the general content system 550, the host services system 501 provides access 860 to those services. The host services system 501 then determines 870 if use of that service is completed. If not, access 860 to the service continues. If the use is completed, the process ends 880. If the requester is not authorized to use the service, the administration system 520 of the host services system 501 determines 830 if the service is available to the user. If the service is not available, the process ends 880.
If the service is available to the user, the administration system 520 checks with the fee-based service (e.g., obtaining metering information or accessing the commerce content system 540) to determine 840 whether the requested service is a fee service. If it is not a fee service, again, the process ends 880. If it is a fee service, the administration system (and/or the fee-based service, e.g., the commerce content system 540) determines 850 whether the appropriate fees have been paid for the service. Payment of the fees may be made through, for example, credit card authorization from credit card information stored in the user profile and accounts module 520b or authorization to bill the user through the billing module 570. If the fees have not been paid, the process ends 880. If the fees are paid, the host services system 501 (e.g., the commerce content system 540) provides access to the service until the host services system 501 determines 870 that it is no longer needed. The process then ends 880.
Figure 9 is a flow diagram of one embodiment for publication of web content files from the client publication system 601 (or 420, 1520) at the host services system 501 (or 410, 1510) in accordance with the present invention. Once the process starts 905 the media in module 510a of the media content system 510 of the host services system 501 receives 910 the web content files and user information from the client development system 601. The user profile and accounts module 520b of the administration system 520 determines 930 whether there is an established account for this user. If there is no established account, the membership services module 520a of the administration system 520 automatically creates a new account for the user. The account may be created automatically by using registration information transmitted from, for example, the client production computer system 120 (including the video camera system 120d) to appropriately prompt the user for information such as, for example, name and address. Alternatively, the registration information may include all the necessary information to create an account, including name for the account, when the system is configured to gather that information at, for example, the first use of the video camera system 120d or at the first time a publishing user selects to publish. In this case neither the host services system 501 nor the client production computer system 120 would need to prompt the user for more information. This information from the user is then used to automatically create an account for that user at the host services system, 501. If the user is determined 930 to have an established account, the user profile and accounts module 520b verifies 950 the account.
After the user is verified or after a new account has been created, the content systems e.g., 540, 550, receive 960 the web content file from the media-in module 510a. The web content file is published as a web page(s) (or web site) in the content system, e.g., 540, 550. The host services system 501 provides 970 to the user at the client production computer system 120 network address information for the location of the web pages so that the web pages may be accessed by a web browser system 710. The process then ends 980.
It is noted that subsequent user access (or sign-in or log-in) may also be accomplished through an automated process. For example, once the user registers with host services system 501, the host services system 501 may provide account validation information (or a key) to the client production computer system 120 for storage in the storage device 120b. The account validation information is automatically passed to the host services system 501 during subsequent accesses by the user through the client production computer system 120. If the account validation information is accepted by the host services system 501, the client production computer system 120 is logged in. Thus, the subsequent access by the client production computer system 120 are also automated. It is noted that account validation information may be, or may include, the original information or it may be a new information such as an alphanumeric key code.
Figure 10 is a flow diagram of one embodiment of a process for producing a web content file in a client production system 601 (or 420, 1520) in accordance with the present invention. The process starts 1010 when the video camera system 120d begins operation. The video camera system 120d includes software that is configured to automatically access 1020 the host services system 501 (or 410, 1510) through the network services 140 upon startup. More particularly, the software is configured to provide account information to the user profile and accounts module 520b of the administration system 520. If the user is a first time user, the software is configured to include registration information (e.g., a registration information or serial number of the video camera system) so that a new user can automatically register through the membership services module 520a of the administration system 520. Specifically, the software is configured to transmit the registration information to the administration system of the host services system 501 as described above.
Once the host services system 501 is successfully accessed and logged onto, the video camera system 120d, in conjunction with the video system 465, begins to capture 1030 content. As the content is captured, it is stored 1040 either in the memory, e.g., 270, and/or the storage device, e.g., 120b/260. Through the client production system 601, the user or an automated process (e.g., web cam system motion detection process described below) selects 1050 the content for publishing on the host services system 501. The client production system 601 automatically generates the appropriate web pages, formats the web pages, and publishes the web pages as a web content file to, for example, the general content system 550 of the host services system 501.
Figure 11 is a flow diagram of one embodiment of a process for automatically generating and publishing content from a client production system 601 in accordance with the present invention. The process starts 1110 once the content has been selected through the content system 610 of the client production system 601. The page generation system 620 automatically formats the selected content into a web formatted content or a web content file.
Referring briefly to Figure 12, a flow diagram illustrates one embodiment of a process for automatically formatting content in accordance with the present invention. The process starts 1210 after the content file has been selected for publishing. The process determines 1220 if the content includes an image file. If the content includes an image file image compression processing 1230 is used to convert the file into an appropriate image file such as, for example, JPEG or JBIG. If the content does not include an image file, the process determines 1240 if the content includes a video file. If the process includes a video file, the process provides live image processing or streaming processing 1250. For example, video files are processed and packaged into an audio video interleave ("ANI") (.avi) format for downloadable video or converted to Real Media (.rm) format (from Real Networks, Inc.) for a streaming video file. Once the processing is completed, the process ends 1260. Turning back to Figure 11, the page generation system 620 is also configured to add optional information to the formatted content such as, for example, an icon watermark, a time-date stamp, or text. The page generation system 620 also automatically creates web pages based on activity, for example, a web album or web cam system and process as further described below. The automatically created web pages may be generated using, for example, templates with preconfigured HTML code as described above.
Referring briefly to Figure 13, a flow diagram illustrates one embodiment of a process for automatically creating web pages based on activity in accordance with the present invention. Once the process starts 1310, the process uses the page generation system 620 to select 1320 a layout for HTML coded pages. The process also has the page generation system 620 automatically insert 1330 code objects (or references to such objects) for streaming video such as, for example, Java applets or OCX. Further, if a predetermined refresh rate is used, the process has the page generation system 620 automatically insert 1340 additional scripts and HTML code to handle timers, periodic refreshes, and cache handling. These scripts may be stored and recalled in a predetermined manner within the client production system 601, for example, based on input information selected by a user through a preconfigured dialog box. The process also uses the page generation system 620 to select 1350 artwork for insertion into the pages.
Next, the process formats 1360 the layout into a web page using the page generation system 620. The HTML pages, the code objects, the additional scripts and HTML code, and the artwork are all assembled into a web content file such as a web site that includes one or more linked web pages. If there is more than one web page, the page generation system 620 and/or the format system 630 links 1370 the web pages together automatically inserting necessary code such as HREF tags into the linked web pages. The page generation system 620 and/or the format system 630 also automatically create 1380 a thumbnail image for the content file. The process ends 1390 with a completed web content file that is ready for publishing.
Turning back to Figure 11, the web content file that can be automatically uploaded to, for example, the general content system 550 or the commerce content system 540 of the host services system 501. The process then determines 1150 a path to the web content file on the host services system 501 so that the web content file can be accessed through a web browser. The process then ends 1160. Figure 14 is a flow diagram of one embodiment of a process for accessing a host services system 501 by an interactive client system 130 in accordance with the present invention. The process starts 1410 with the client interactive system accessing the WWW through the network services 140. Using a web browser, the user addresses the host services system 501 using, for example, a URL address. The process continues with the user accessing 1430 services and content at the host services system 501 as is described above. The process ends 1440 when user leave the host services system 501.
The present invention provides an advantageous business system and method for an automated publication system. The automated publication system, e.g., the first embodiment of the automated publication system 401, allows publishing users to automatically capture content, automatically create and generate a web content file such as a web site, and automatically publish (or broadcast, post, upload, or transfer etc.) that web content file to an automatically created directory on the host services system 501, where the user can have a web site. Moreover, the user of the automated publication system need not have any programming skill sets for either creating the web content file or publishing it. This provides publishing users with significant time and resource savings associated with creating web content files to publish it as, for example, a web site.
The host services system, e.g., 410, 501, of the first embodiment of the automated publishing system, e.g., 401, beneficially provides a worldwide stage for web content publishers. For example, the host services system that operates in conjunction with the client production system 601 provides a broadcast portal similar to a broadcast station. Here, large audiences can access the host services system and tune into channels that include content that was created and automatically published on the host services system by a publishing user. The host services system, e.g., 410, 501, also provides a publishing user a facility to automatically publish web content files.
The client production system, e.g., 420, 601, of the first embodiment of the automated publication system, e.g., 401, advantageously allows for automatically accessing a host services system, e.g., 410, 501, through a network service 140. The client production system also automatically verifies or creates a new user account upon starting a video camera system in accordance with the present invention. This greatly increases the variety of web content files that are available to users of client interactive systems because web content publishers do not need to have any programming or other technical skill to make their web content material available to a large audience.
Second Embodiment of an Automated Publishing System
The present invention also includes components with unique structural and functional elements that operate alone or in combination with other components to create an automated publication system. The automated publication system provides features such as, for example, manually or automatically capturing content, automatically creating web pages using the captured content, automatically creating a web site account (if desired or necessary), and automatically publishing the created web pages to the web site account. Figure 15a is a block diagram of a second embodiment of an automated publication system 1501 in accordance with the present invention. The second embodiment of the automated publication system 1501 includes a third embodiment of a host services system 1510 and a third embodiment of a client production system 1520. The client production system 1520 may optionally couple with a template repository 1550 and an account information and registry repository 1552. The host services system 1510 and the client production system 1520 couple through the network service 140. The network service couples to other network sites 1548. Host Services System
The third embodiment of the host services system 1510 is generally functionally similar to the first and the second embodiments of the host services system 410, 501. The third embodiment of the host services system 1510 includes a server host 1512, an FTP host 1514, an application database 1516, and a file storage 1518. The server host 1512 couples with the FTP host 1514, the application database 1516, and the file storage 1518. The FTP host 1514 also couples with the file storage 1518. The server host 1512 includes conventional hardware and software for providing computer server type services, for example, resource management and allocation. The resources to be managed and allocated include, for example, application files, data, network connections, and the like. The server host 1512 may be configured to provide an appropriate interface with the network services 140 either by itself or with the file transfer protocol ("FTP") host 1514. The FTP host 1514 includes conventional hardware and software and is configured to interface with the network services 140 and the server host 1512. The FTP host 1514 is used to transfer files between, for example, the client production system 1520 and the host services system 1510. Those of ordinary skill in the art will understand that to transfer files an appropriate FTP account may be established with the FTP host 1514 and that a client production system uses this account when executing a file transfer, for example, transferring a web page. It is noted that the server host 1512 may incoφorate the functions of the FTP host 1514 so that there is no need for a separate FTP host 1514.
The application database 1516 is a conventional application database for storing and/or indexing (or cataloging) software application packages (or components). For example, software application packages may be indexed by storing each separate software application package in its own master directory. The file storage 1518 is functionally similar to the storage systems and associated components described above, e.g., 110b, 260. It is noted that the application database 1516 and the file storage 1518 may be physically located within the same storage system or medium and may be logically or physically separated within that storage system or medium.
Referring to Figure 15b, a block diagram provides additional details of the third embodiment of the host services system 1510 in accordance with the present invention. The host services system 1510 includes an FTP server 1560, a stream server 1562, a web server 1564, a reporting server 1566, a storage array 1568, a host services database 1570 for data, and an application server 1580. It is noted that the storage array 1568 may provide storage for the file storage 1518, the application database 1516, and the host services database 1570. Each of these storage components may be physically and/or logically partitioned from each other within the storage array 1568. The web server 1564 includes hardware and software that is configured to provide
WWW hosting ("web hosting") functions. Web hosting functions provided by the web server 1564 include, for example, hosting one or more web sites, each having a home page and associated file and directory maintenance. In one embodiment, each user of a client production system 1520 (or 420 or 601) may automatically create a web site at the host services system 1510 (or 410 or 501) as is described above. A home page is the first page that appears on, for example, the web browser of a client interactive computer system 130, when a viewing (or interactive) user of that system accesses that web site. In one embodiment the FTP server 1560, the stream server 1562, the web server 1564, the reporting server 1566, and the application server 1580 may be physically separate server systems or may be logically separate server systems within a single physical or logical server system. Each server 1560, 1562, 1564, 1566, 1580 is appropriately configured to communicatively couple with each other through conventional network connections and/or software, e.g., commands and instructions.
The FTP server 1560 includes hardware and software that is configured to perform FTP server type operations, including the functions of the FTP host 1514. The FTP server 1560 is used by the host services system 1510 for connecting with network services 140 that function with TCP/IP protocols such as, for example, the Internet, Internet 2, or an Intranet.
The FTP server 1560 is configured to communicate with FTP protocols that include an FTP path for the client publication system 1520 so that when web content files are published by that client publication system 1520, those files are properly placed in a directory for that user.
The FTP server 1560 is also configured to provide an appropriate HTTP URL that viewing users who are accessing a web site, e.g., through a client interactive computer system 130, may use to access that web site. The HTTP URL is determined by the reporting server 1566 in conjunction with the web server 1564 and the FTP server 1560. Further, the HTTP URL may be determined through the FTP URL that may reside in the client production system or in the host services system. For example, once a publishing user publishes to that user's web site on the host services system 1510 that web site may be viewed by viewing users. To view that web site, these viewing users are provided a URL. When the viewing users type that URL into their web browser system, e.g. , 710, that URL is received by the web server 1564 which points the user to the appropriate home page of the web site for viewing. It is noted that both the web server 1564 and the FTP server 1560 may be configured to include security parameters so that a web site cannot be altered except by that web site owner or by those to whom the web site owner gives software permissions (or passwords) to.
The reporting server 1566 includes hardware and software that is configured to verify parameters for a publishing user that is attempting to publish content. The reporting server is configured to function with an administration system, e.g., 520. The reporting server functions to verify that a user has a valid user identification and account with the host services system and to determine whether the user has sufficient resources, e.g., storage resources, in the host services system 1510 to publish a web content file.
The stream server 1562 includes hardware and software that is configured to receive, process, and output content that includes streaming video such as, for example, live video streams. In one embodiment the stream server 1562 includes streaming video application programming interfaces and instruction sets such as, for example, Real Media Player from Real Networks, Inc. This allows streaming video from a web content file to be processed in, for example, Real Media format for playback on a client interactive computer system, e.g., 130. The application server 1580 includes hardware and software that is configured to interact with the host services system 1510 servers and systems (e.g., the media system 510, the administration system 520, the community system 530, and the content systems 540, 550). The application server 1580 may be configured as a software management module so that a user of a client production system 1520 can automatically publish web content files to that user's web site and allow general and/or limited access to view that web site by viewing users of a client interactive system, e.g., 130, 701.
Generally, when a user of a client production system, e.g., 1520, 420, 601, seeks to publish a web content file to that user's web site, the host services system 1510 receives the web content file through, for example, the media-in system 510a. In one embodiment, the host services system 1510 determines if the web content file is a streamed file. If the web content file is stored content that includes, for example, compressed video and still images, the web content file is sent 1586 to the FTP server 1560. The FTP server 1560 determines whether the web content file includes a proper FTP account information is supplied and sends the web content file to a temporary file in the storage array 1568. The FTP server 1560 also notifies the application server 1580.
The application server 1580 acknowledges 1585a receipt of the FTP content from the user of the client production system, e.g., 1520, 420, 601. The application server 1580, instructs the reporting server 1566 to verify, e.g., through the administration system 520, whether the user has an account at the host services system 1510. If the user does not have an account the administration system, e.g., 520, automatically creates a new account for that user using the registration information from that user's video camera system, e.g., 120d. Once the user has an account and it is verified, the reporting server 1566 in conjunction with the application server 1580 verifies 1585e that the web content file that the user desires to publish is within the resource limits allocated to that user. If the web file content exceeds the resource limit, e.g., exceeds storage allocation, the application server 1580 notifies the user that the web content file is too large. If the web content file is within limits the application server 1580 sends 1585b (or enters) the web content file from temporary into the database 1570. If the HTTP URL information to the web site for the web server 1564 has not been provided, the host services system may be configured to provide it at this time. The web server 1564 may now allow users of a client interactive system, e.g., 130, 701, to access and view (or interact with) the web site content.
If the user of the client production system, e.g., 1520, 420, 601, is providing 1588 streamed content, e.g., a live video stream, the streamed content is sent to the stream server 1562. The stream server 1562 notifies the application server 1580 that the web content file includes, or is, streamed content. The application server 1580, in conjunction with the reporting server 1566, determines 1585d whether the user is a registered member that is permitted to provide streaming content.
If the user is not permitted to send streaming content the application server 1580, in conjunction with the administration system, e.g., 520, notifies that user that streaming content is not permitted. If the user is permitted to send streaming content, the stream server 1562 sends the streamed content to the web server 1564 to be presented to a viewer on a web browser of a client interactive system, e.g., 130, 701, through a web page provided by the publishing user. Alternatively, the application server 1580 automatically generates 1585c a web page through which the streamed content will be presented to a viewer through a web browser of a client interactive system, e.g., 130, 701. Client Production System
Referring back to Figure 15a, the third embodiment of the client production system 1520 is generally functionally similar to the first and the second embodiments of the client production system 420, 601. The third embodiment of the client production system 1520 may be configured to operate within a video camera system, e.g., 120d, or within a computer system, e.g., 120a, in conjunction with a video camera system, e.g., 120d. Moreover, the client production system may be stored in a storage device in the video camera system, e.g., 120d, or in a storage device in the computer system, e.g., 120a, 120b, or in a combination of storage devices in the video camera system, e.g., 120d, and the computer system, e.g., 120a 120b.
The third embodiment of the client production system 1520 includes a client/server conduit 1521, a hosting target module 1522, a template engine 1524, a publish (or publishing) engine 1525, a web album system 1526, a web cam system 1528, a live streaming system 1530, an animator system 1532, a gallery system 1534, a preview/capture system 1536, a network services update module 1538, and a network services connection 1540.
Each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 may be embodied in software, hardware, or a combination of hardware and software. The software portion of each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 is stored in a storage device of the client production system 1520. Moreover each element 1521, 1522, 1524, 1525, 1526, 1528, 1530, 1532, 1534, 1536, 1538, 1540 may be a system component, e.g., 320, that is communicatively coupled through the operating system, e.g., 310, and/or the system bus, e.g., 280.
The client/server conduit 1521 is configured to abstract a communication protocol that is used to communicate with the server. These communication protocols include TCP/IP, HTTP, and/or FTP. It may also include a high level protocol for commands that communicate with the HTTP or FTP protocols. These protocols may define, for example, transfer file to server, publish web content file, set up publishing user account, automatic login, and the like. The client/server conduit 1521 is also configured to allow the various functional components in the client production system 1520 to exchange information with the server. This information includes, for example, exchanging information with the hosting target, e.g., 1510, for sign up, notification of an active session, retrieval of parameters for publishing, and the like.
More particularly, the client/server conduit 1521 receives a request from a functional component, it encodes that request, and proceeds to contract the hosting target, e.g., 1510, using the necessary communication protocol. When the hosting target, e.g., 1510, replies or responds to the request, the client/server conduit 1521 decodes the reply and sends it to the functional component (or application) that sent the request. The hosting target module 1522 is configured to provide connection information for a default host services system 1522a or a third-party host services system 1522b. The connection information includes the relevant FTP account information, security clearance information, and/or other information necessary to establish an FTP connection with a host services system, e.g., 1510, where the client production system can publish web content files.
The template engine 1524 is configured to automatically generate templates that may include HTML code that are used to create web pages in the client production system 1520. The template engine 1524 is configured to generate template HTML pages using a system that is designed for tagging and organizing a document to produce a web document. For example, the template engine 1524 may generate template HTML pages using, for example, extensive markup language ("XML") or standard generalized markup language ("SGML"). It is noted that the template engine 1524 may be configured to include object modules that can be linked together by a novice user to create a customized template. To create a customized template, the user selects an object and places it into a template organization field, which may be a selection box. When the user completes selection of the desired object modules, the template engine 1524 automatically links all of the selected object modules into a customized template page. In addition, the template engine 1524 can import and store template files from other sources such as, for example, a template file download site on the WWW or through electronic mail from friends and family who have created their own customized template pages in the template registry 1550.
The publish engine 1525 is configured to access the hosting target, e.g., 1510, using an FTP protocol or other communication protocol. The host is located through the FTP or other communication server which uses ftp host information (e.g., ftp.hostservices.com) to find it. In particular, the publish engine 1525 publishes (or posts, broadcasts, transfers, uploads, etc.) a web content file that is created at the client production system 1520 to the host services system 1510 (or other hosting target) at the specified FTP location. The FTP information is sent to the FTP server system for mapping to a corresponding URL that a visitor can type in to view content. It is noted that the publish engine 1625 is configured to function either alone or in combination with other components, for example, components in the web album system 1526 or the web cam system 1528.
The web album system 1526 is configured to automatically generate a web page using previously captured content such as, for example, pictures and pre-recorded videos, and live content that is captured through the video camera system 120d. The web album system 1526 is configured to include a menu from which a user can select previously captured content, a site layout manager from which a user can select a template from the template engine 1524, and publishing system from which a user can automatically generate web pages using the template and selected content and automatically upload those web pages as a web content file to the host services system 1510. The web cam system 1528 is configured to automatically capture and upload content such as, for example, repeatedly refreshed still images, from the video camera system 120d to the host services system 1510 using a FTP protocol. The web cam system 1528 is configured to refresh (or update) images at a predetermined default rate or at a rate determined by the user of the client production system 1520. In addition, the web cam system 1528 is configured to include FTP site information to directly link to and post to the host services system 1510. The FTP site information may interact with the host services system to automatically create a unique account web site for the user through the web cam system 1528. Further, a viewing (or interaction) user of a client interactive system, e.g., 130, 701, uses a URL that is mapped to the FTP information in the FTP server system to get access to and to view (or interact with) the content. Thus, a publishing user uses FTP information to publish content and a viewing user uses a URL to view the content.
Although the web cam system 1528 does not need to create web pages to publish the content it may communicatively couple with template engine 1524 so that a template may be used to create web pages having the content captured through the web cam system 1528. Using web pages for the content captured through the web cam system 1528 provides an easier way for a viewing user of a client interactive system, e.g., 130, 701, to retrieve those images because the user can link to it through a URL address. Moreover, the content is presented to the viewing user with other web site based features, for example, links, electronic mail addresses, and/or a written description.
The live streaming system 1530 is configured to receive a video stream, e.g., live video, from the video camera system, e.g., 120d, and format it into a format that can provide a live video stream through the host services system 1510. The live streaming system 1530 is configured to use application programming interfaces ("APIs") and instructions that generate a video format that is supported by network services type applications such as, for example, Real Media Player by Real Networks, Inc. or Windows Media Player by Microsoft Coφoration. The animator system 1532 is configured to capture time-lapse or stop-motion animated content. Specifically, the animator system 1532 includes a time-lapse module that is configured to capture specific content one video frame at a time over a period of time and then replay the captured content at a high rate of speed so that events that are too slow to perceive are sped up. The animator system 1532 also includes a stop-motion module that is configured to allow a user to manually capture one video frame at a time and then replay those video frames as a movie at a rate determined by the user.
The gallery system 1534 is configured to provide a content filing system, file directory(-ies), or file manager that records and stores all the different types of content that a user has created using the video camera system, e.g., 120d, in conjunction with the client production system 1520. The gallery system 1534 is configured to provide users with a mechanism to view, edit, and otherwise manipulate previously captured content. For example, the gallery system 1534 is configured to allow a user to crop content, create wallpaper from content, delete images, rename content, print content, electronically mail content, and save content as particular image format types, e.g., JPEG format for picture images or ANI format for video images. In a preferred embodiment the gallery system 1534 is configured to present the previously stored content for viewing as thumbnail images.
The preview/capture system 1536 is configured to preview content and then capture that content after previewing it. The preview/capture system 1536 provides a mechanism through which a user of the client production system 1520 can determine whether a particular content piece is suitable for capture before capturing that content. The preview/capture system 1536 provides significant resource savings for a user because unnecessary or undesired content is not capture and saved into limited storage resources. The preview/capture system 1536 is communicatively coupled with the gallery system 1534 so that captured images are saved in the gallery system 1534 and are immediately accessible by the user.
The network services (e.g., the Internet) update 1538 is configured to automatically update (or upgrade) the client production system components, for example, to install a new software version or a software fix. Further, the network services update 1538 is configured to automatically install new components in the client production system 1520. Each installation occurs automatically based on, for example, a timer, system start-up, or after an installation selection by the user of the client production system 1520. The network services update 1538 is configured to interact with an FTP site that contains the system component the user seeks to upgrade, update, install or the like. Moreover, the network services update 1538 may be configured to update the client production system 1520 at regular intervals (e.g., daily or weekly) and check if an update is available. The network services connection module 1540 is configured to provide a user of the client production system 1520 a connection mechanism to the network services 140 to access the host services system 1510. The network services connection module 1540 may include a dial-up connection 1540a, a network connection 1540b such as, for example, a Novell Netware™ local area network connection, or an online service provider 1540c, such as, for example, America Online by America Online, Inc.
The network connection module 1540 is configured to communicatively couple with the web album system 1526 and the web cam system 1528. The configuration allows either system 1526, 1528 to automatically couple to the network services 140 when a publishing user selects to publish content to a hosting target, e.g., host services system 1510. Further, both systems 1526, 1528 also communicatively couple to the client server conduit 1521 so that once a network connection is established, the client server conduit 1521 allows the appropriate system 1526, 1528 to notify the server that the video camera system 120d is live.
The account information registry 1552 may be stored locally in the client production computer system 120 or in a storage device that is logically coupled to or mapped to the client production computer system 120. The account information registry is coupled to store user account information (related to, for example, the hosting target). This information is used by the client production system 1520 to determine where to publish material such as, for example, the web content file. Automated Publication Process Figure 16 is a flow diagram of a second embodiment of a process for automatically publishing content through the second embodiment of the automated publication system 1501 in accordance with the present invention. The process starts 1605 as a user desires to create a web content file to publish at a web site on the WWW. Initially the user selects 1610 a profile, settings, a template, and content for the web content file that the user desires to create. The profile represents a variety of web albums that a publishing user can create. A profile (or album) may contain, for example, a picture, a selected template, a publishing destination, and settings can be saved to the local storage, e.g., 120b. The user may keep the default profile 1630 that is set in the client production system 1520.
The user selects settings 1615 that are customized parameters that the user adds to a selected template. Settings 1615 include, for example, adding a link to the page, displaying an electronic mail address on the page, or the like. The user may also use the default settings 1615 provided in the client production system 1520. The user also selects content 1620 that is stored in the gallery system 1534. The user may also select content 1620 that is a live video stream through the live video streaming system 1530. The user selects a template 1625 from the template engine 1524 or template repository 1550. The user may also use a default template 1625 that is set in the client production system 1520.
Once the user selects 1610 the profile 1630, the settings 1615, the content 1620, and the template 1625, the user selects a button (or menu item) through a user interface of the client production system 1520 to publish 1635 what the user has created. The client production system 1520 determines 1640 through the network services connection module 1540 whether there is a known network service connection.
If there is no known network services connection, the client production system 1520 executes a connection wizard 1645. The connection wizard 1645 is configured to automate the process for connecting to a network connection such as, for example, a dial up connection 1540a, a network connection 1540b, or a service such as America Online 1540c. More particularly, the connection wizard 1645 is configured to provide a series of visual dialog boxes through which a user selects options that are pertinent to that user's computing environment. For example, the user may be asked to select a default network services connection, e.g., 1540b, that is included in the connection wizard 1645 or to provide connection information such as a telephone number to connect to a service such as, for example, AOL 1540c. Once the connection wizard 1645 configures a network connection, this connection is automatically established using this information for future network services access.
If there is a known network services connection or one has been established through the connection wizard 1645, the client production system 1520 then determines 1650 whether the hosting target system is known. If the hosting target system is not known, the client production system 1520 executes 1655 a hosting target wizard. The hosting target wizard 1645 is configured to automate the process for connecting to a host target such as, for example, the host service system 1510 (or 410, 501). For example, the user may be asked to accept the connection information for the default hosting target 1522a or to insert connection information to connect to a third party hosting target 1522b. Once a connection to a hosting target is established, it may be automatically used for future accesses. Once the host target information is provided to the host target wizard 1655, the process will determine 1660 whether the selected host target is a free (no-fee) site. If the site is not free, i.e., fee-based third party hosting target (e.g., 1522b), the user may be requested to enter 1665 FTP information to properly connect to and access that fee-based site. Based on the responses provided, the host target wizard 1655 connects with the third party hosting target, e.g., 1522b, to establish an account at that hosting target. It is noted that the user may be required to provide additional detailed information to the third party hosting target, e.g., 1522b, before an account can be established at that hosting target.
If the site is free, such as the default host services system 1510 the user merely selects the default. The client production system 1520 automatically establishes 1670 an account for the user on the appropriate hosting target. More specifically, the user may be prompted to provide basic information such as, for example, a user name. This basic information is automatically combined with other information such as, for example, registration information from the video camera system 120d. All of this user information is then automatically transmitted to the administration system, e.g., 520, of the host services system, e.g., 410, 501, 1510, which prepares to automatically set up an account for the user on the host services system 1510. The user will be provided with information from the host services system 1510 such as, for example, user identification information, password information, allocated storage space information, and/or URL information to access the user's site on the host services system 1510. After a connection with a hosting target is established, the client production system
1520 preferably keeps that information as default information. This allows the client production system 1520 to automatically connect to that hosting target when the user desires to publish to the hosting target.
Once an account has been established on a hosting target, the template engine 1524 automatically generates 1675 the HTML code for creating one or more web pages (and data) 1680 using the user selected settings 1615, content 1620, template 1625, and profile 1630. It is noted that the final file, which includes all of the content formatting, scripts, object code, and links between the web pages, may be refeπed to as a web site (including web content files). After the web site is created, the user may select to publish to the web site file. The publish engine 1525 starts 1685 to publish through the network services 140. The process also receives the hosting target FTP URL information 1690 from the hosting target. The publish engine 1525 then transfers the web site to the appropriate location in the hosting target. The web content file is now published and may be accessed by users of, for example, a client interactive system 130, 701.
The automated publication system and method offers a multitude of advantages and benefits for users of a client production system, e.g., 1520. For example, an advantage of the connection wizard 1645 is that the user is not required to have a pre-existing network services account or connection. Rather, a user may use the default network services connection that is predetermined and included with the client production system, e.g., 1520.
Similarly, another benefit of the automated publication system, e.g., 1501 is that a user does not have to have a preexisting account with a hosting target. That is because the hosting target wizard 1655 will automatically provide the necessary hosting resources for the user. Specifically, by using the default settings in the automated publication system, the user will be provided with an account on the default hosting target such as, for example, the host services system 1510. Moreover, the configuration wizard 1645 of the automated publication system 1501 beneficially is configured to provide the user with the necessary connection information so that the user is not required to have experience or knowledge in setting up a connection to a hosting target.
Yet another advantage of the automated publication system 1501 is that it includes a template engine 1524 that automatically generates web pages and links between web pages using parameters (e.g., templates, contents, settings, profiles) that were provided by the user. A benefit for the user is that the user can create a web site without having any programming or other technical skills or know-how. Moreover, the publish engine 1525 advantageously publishes the created web site automatically to the appropriate location on the hosting target. Again, a benefit for the user is that the web site is published without the user having any programming or other technical skills or know-how. Web Cam System
The web cam system 1528 provides web cam features that allow a user to publish a web page (or web content file) to a host services system 1510 (or 410 or 501) and automatically update (or refresh) the content on that web page (or in the web content file) at predetermined intervals or at irregular intervals through triggering mechanisms, for example, a motion detector. Moreover, the web cam system 1528 is beneficially automated so that the web cam system 1528 automatically generates and/or creates web pages which host the captured content to publish on the host services system 1510. These web pages are then automatically updated (or refreshed) typically with more recently captured content. Figure 17 is a block diagram of one embodiment of the web cam system 1528 in accordance with the present invention. The web cam system 1528 includes a trigger event manager 1710, a comparison manager 1720, a web cam content manager 1730, a web cam publish manager 1740, a web cam options manager 1750, and a static file streaming manager 1760. The web cam system 1528 may be a system component, e.g., 320. Further, the trigger event manager 1710, the comparison manager 1720, the web cam content manager 1730, the web cam publish manager 1740, the web cam options manager 1750, and the static file streaming manager 1760 are components of the web cam system 1528 coupled through the operating system 310 and/or the system bus 280. Each manager may be configured in hardware, software, or a combination of hardware and software. The trigger event manager 1710 is configured to detect triggers or triggering events that the web cam system 1528 uses to begin an action such as, for example, capturing a new frame of still frame content, recording motion content, capturing streaming motion content or the like. The triggers or triggering events are signals that are activated or caused and/or generated by some action such as, for example, motion detection, activated timers, manual selection, photosensitive detector (or light intensity detector), and the like. These triggers may be set automatically, for example, at start up of the web cam system 1528 or the client production system 1520, or manually, for example, selection by a user to take a new still frame content for any detected motion in a room. The trigger or triggering event may be predefined (or predetermined) by the user through the web cam options manager 1750. The comparison manager 1720 is configured to compare a frame of content with a reference frame of content. It then determines a result such as, for example, whether the frames are identical or if there is some degree of a change or difference between any two frames. The degree of change can be measured through a multitude of criteria including, for example, a movement of an object in a reference frame, a change of lighting in a reference frame, a change in shape or size of an object in a reference frame, or a change of color or color shades in a reference frame. Moreover, these degrees of change can be measured using conventional image processing techniques such as overlaying two images to identify differences.
The web cam content manager 1730 is configured to work in connection with the template engine 1524. Specifically, the web cam content manager 1730 is configured to provide an interface for a user to select parameters that are used to create a web page (or web file contents). This web page will be updated with web cam images at some predetermined interval or at iπegular intervals through triggering events. The parameters the user may select include, for example, templates that may include annotations such as time stamps and/or text information to insert into a frame(s), the update interval, and/or predefined trigger events such as, for example, web cam system 1528 startup, motion detection, or light intensity detection.
The web cam publish manager 1740 is configured to function alone (and include the functionality of the publish engine 1525) or in combination with the publish engine 1525.
Specifically, the web cam publish manager 1740 captures a frame of content (or a series of frames for motion-based content such as, for example, a full motion video) and publishes it at the user's web site on the hosting target, e.g., host services system 1510. The web cam publish manager 1740 is configured to publish new web pages for the web site or update only the content in a previously created web site. Further, the publish manager 1740 can also be configured to page a user, send a specific data file, e.g., a voice message to the system 310/280. The web cam options manager 1750 is configured to provide an interface for the user to tailor (or customize) the web cam system 1528 according to criteria (or parameters) set by the user. Specifically, the web cam options manager 1750 is configured to provide options such as, for example, content size, content storage location, scheduling information for content capture, motion detection operation, light detection operation, comparison change or difference determination, and passwords or other security features to restrict access to the web site having the web cam system 1528 web pages. The options manager 1750 may also be configured to store information on where the data from the publish manager 1740 should be sent, e.g., a pager, telephone number, etc. It is noted that some portions of the web cam options manager 1750 may be included with other managers, e.g., web content manager, without departing from the spirit of the invention.
The static file streaming manager 1760 is configured to capture a series of frames of content and assemble them into a single full motion content file. This full motion content file may be captured directly as, or converted to a streaming file or video file format, e.g., in Real Median Format or ANI format, and that is stored at the user's computer system and published to the user's web site. The published file can then be downloaded and played by the user or others having access to the user's web site. Figure 18 is a flow diagram of one embodiment of a process for capturing content in the web cam system 1528 in accordance with the present invention. The process starts 1810 and waits for a triggering event. The triggering event may be a default triggering event such as, for example, starting the client production system 1520 or starting only the web cam system 1528 of the client production system 1520. In addition, the triggering event can be predetermined by the user by selecting an option, for example, through the options manager 1750, to capture images based on events such as, for example, an activated timer (or scheduler), motion detection, or light detection. The trigger event manager 1710 of the web cam system 1528 detects 1820 a triggering event (or trigger). Upon detection 1820 of the triggering event, the web cam manager 1730 captures a frame (or frames) of content and the web cam publish manager 1740 publishes the content on the user's web site. The process then ends 1840 or returns to start to wait for another triggering event. The process may also be configured to page or phone another user of, for example, the host services system 1510, when the content is published.
Figure 19 is a flow diagram of one embodiment of a process for a frame capture process in a web cam system 1528 in accordance with the present invention. The process starts 1910 by using the web cam manager 1730 to produce 1920 history based content, produces off-line content 1940, and/or stores captured 1960 content files. The history content is a collection of previously captured content by the web cam manager 1730 that is stored 1930 in a history content file. The off-line content is a visual element displayed through a web page to indicate to a user that the web cam system is inactive. The visual element may be pictorial or text-based information. This visual element is automatically provided whenever the web cam system 1528 is off-line or non-operational. A history file automatically maintains and stores previously captured content. For example, the history file may include the last ten captured images. The system then allows for a history image to be recalled by a user. The history file may also be configured to allow for appending all of the history images together to create a video file. The process uses the web cam publish manager 1740 to produce web page files 1970 from the stored captured content files 1960. The process also includes providing the templates that include the HTML code and support files for creating the web page, including the web page links for multiple pages, so that the result is a generated web site. The process then ends 1990 or returns to start to wait for another triggering event. Figure 20 is a flow diagram of one embodiment of a process for determining whether to publish a captured content frame in a web cam system 1528 in accordance with the present invention. The process starts 2005 with the trigger event manager 1710 waiting to detect a trigger or triggering event. After detecting a triggering event, the process signals the web cam manager 1730 to capture 2010 a frame of content. The process then determines 2020 whether frame comparison is enabled. If frame comparison is not enabled, the process continues with determining 2040 the upload objective. The upload objective includes determining whether there will be a refresh of only the content on the user's web site or whether the content will be stored off-line for optional publication at a later time 2050 or whether there will be a complete site refresh 2060. If frame comparison is enabled, the process signals the frame comparison manager
1720 to determine 2030 whether there is a significant change between the cuπently captured frame of content and a pre-determined reference frame of content. In one embodiment the user may specify what the reference frame of content will be (e.g., the last captured image) as well as the criteria for determining change significance through the web cam options manager 1750. If the change is insignificant, the process loops around to start 2005 to wait for another triggering event. If the change is significant, the process continues with determining 2040 the upload objective as described above.
Figure 21 is a flow diagram of one embodiment of a process for refreshing (or uploading) a frame of captured content in the web cam system 1528 in accordance with the present invention. The process starts 2110 and continues by signaling the web cam publish manager 1740 to establish 2120 a connection with the hosting target, e.g., host services system 1510 (or 410 or 501), through the network services connection 1540. The web cam publish manager 1740 may also signal the publish engine 1525 to ensure that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content. The process then signals the web cam publish manager 1740 to publish 2130 the frame of content on the user's web site. The process will also take into account any options selected through the web cam options manager 1750. The process then ends or waits for the next triggering event (start 2005).
Figure 22 is a flow diagram of one embodiment of a process for completing a site refresh using a captured frame content in a web cam system 1528 in accordance with the present invention. The process starts 2210 with the frame content begin captured. The process then signals the web cam publish manager 1740 to prepare the frame content for publication as a web content file on the hosting target. The web cam publish manager 1740 signals the template engine 1524 to assemble 2220 the web pages for a user's web site with the capture frame content.
The process then continues with the web cam publish manager 1740 establishing 2230 a connection with the hosting target, e.g., host services system 1510, through the network services connection 1540. The web cam publish manager 1740 may also signal the publish engine 1525 to ensures that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content. The process then signals the web cam publish manager 1740 to publish 2240 the web page on the user's web site. The process will also take into account any options selected through the web cam options manager 1750. The process then ends or waits for the next triggering event (start 2005).
An advantage of the web cam system 1528 is that it provides an automated system and process for generating and maintaining a web cam site for access through a network service 140. Moreover, a benefit of automating web cam system 1528 is that a user is not required to have any programming or technical skills for creating a web site. The automated web cam system 1528 provides the user with beneficial web cam features such as, for example, a visual-based security system or a visual-based monitoring system. Moreover, these web cam features are beneficially provided at a significant cost savings because the user is not required to install expensive equipment in the secured or monitored area where the video camera system 120d is set up and is not required to maintain an expensive monitoring service. Web Album System
The web album system 1526 provides features that allow a user to create customized albums similar to, for example, picture albums, using previously captured content as well as live content from the video camera system 120d. The web album system 1526 is beneficially automated so that the customized albums are transformed automatically into a web based format that can be published on the user's web site. The web based format of the customized album is a web content file that may be refeπed to as the web album.
Figure 23 is a block diagram of one embodiment of the web album system 1526 in accordance with the present invention. In one embodiment, the web album system 1526 is a system component, e.g., 320. The web album system 1526 includes a content source manager 2310, a layout manager 2320, a preview manger 2330, a web album publish manager 2340, a web album options manager 2350, and a static file streaming manager 2360.
The content source manager 2310, the layout manager 2320, the preview manger 2330, the web album publish manager 2340, the web album options manager 2350, and the static file streaming manager 2360 couple through the operating system 310 and/or the system bus 280.
Each manager may be configured in hardware, software, or a combination of hardware and software.
The content source manager 2310 is configured to interface with the gallery system
1534 to provide the user with a list of content that the user may use to create the web album. The content source manager 2310 is configured to display the list of content as thumbnail images or thumbnail images with text description. The content source manager 2310 is also configured to allow a user to select content to add or remove from the album that is being created.
The layout manager 2320 is configured to interface with the templates that are stored in conjunction with the template manager or are stored elsewhere. The layout manager 2320 is configured to provide the user with available designs for creating the ultimate layout for the web album. The preview manager 2330 is configured to preview the content selected from the content source manager 2310 with the template (or layout or design) selected from the layout manager 2320. The web album publish manager 2340 is configured to function alone (and to include the functionability of the publish engine 1525) or in combination with the publish engine 1525. Specifically, the web album publish manager 2340 is configured to allow a user to select a web site to which the user can publish the web album and allows the user to publish the web album at the user's web site on the hosting target, e.g., host services system 1510. The web album publish manager 2340 is also configured to interface with the layout manager 2320 to ensure that the selected content and template generate the proper web pages for publication.
The web album options manager 2350 is configured to provide an interface for the user to tailor (or customize) the web album system 1526 according to criteria (or parameters) set by the user. Specifically, the web album options manager 2350 is configured to provide options such as, for example, content size, web album title, web album author, an electronic mail address, a default main web page, and the like.
The static file streaming manager 2360 is configured to capture a series of frames of content and assemble them into a single full motion content file. This full motion content file may be stored at the user's computer system and as content in the customized album as a static streaming file, e.g., in ANI format. When the web album is published the static streaming file can then be downloaded and played by the user or others having access to the user's web album on the user's web site.
Figure 24 is a flow diagram of one embodiment of a process for creating a web album in accordance with the present invention. The process starts 2405 with selection 2410 of content using the content source manager 2310. The process determines 2415 if there is additional content that is or will be selected. If additional content is selected, the process continues with selection 2410 of content. It is noted that any stored full motion content that is to be downloadable and streamable is saved in an appropriate format such as, for example, ANI format. If there is no additional content to be selected, the process determines 2420 if there will be live content to be included in the web album. If there is live video, the process selects 2425 the live content and signals the live streaming system 1530 to generate 2430 a streamable format for the live content. Once the streamable format for the live content is created, or if there is no live content, the process signals the layout manager 2320 to determine 2345 whether the default layout will be used for the web album.
If the default layout is not used, the process uses the selected 2440 layout. After the layout is determined, the process signals the layout manager 2320 and the web album publish manager 2340 to generate 2445 the appropriate web pages for the album. The web pages now form the web album. The process then signals the web album publish manager 2340 to publish the web album on the user's web site at target host, e.g., host service system 1510, selected or defaulted to by the user. More specifically, web album publish manager 2340 establishes a connection with the hosting target, e.g., host services system 1510, through the network services connection 1540. The web album publish manager 2340 may also signal the publish engine 1525 to ensure that the user is properly registered at the hosting target and that the user's web site is properly enabled to accept content. The web album publish manager 2340 then publishes the web album on the user's web site. The process will also take into account any options selected through the web album options manager 2350. The process then ends 2455.
It is noted that the web album system 1526 may be configured to allow for modification of an already created web album. More particularly, the web album system 1526 may be configured to allow a user to select additional content for or delete content from a previously generated web album. The web album system 1526 is configured to then automatically append the newly selected content to the cuπent web album or delete content from the web album. The web album system 1526 then automatically publishes that web album at the same web site location as the original web album. Thus, a new URL address is not required and the user may advantageously update a previous web album without requiring a new web site location.
An advantage of the web album system 1526 is that it provides the user with automated tools that simplify the creation of a web site that includes both still-frame and full- motion content. Further, the web album system 1526 also beneficially allows for the user to also add live streaming video to the user's web site. Moreover, these automated features eliminate the requirement that the user possess any programming or other technical skill sets that may be necessary to properly format and assemble all the different types of content in a personal web site. Live Video System
The live video system (or live streaming system) 1530 provides the user with a system for publishing live video on the user's web site. The live video system 1530 allows users of client interactive systems (or interactive users), e.g., 130, 701, to "tune in" to a web site of a user of a client production system (or the publishing or production user) and watch the live program that the production user is publishing. The live video system 1530 advantageously provides a personal broadcasting station for the production user where the programming of that station is left to the productions user's discretion and imagination. Figure 25 is a block diagram of one embodiment of a web broadcast system 2501 that includes the live streaming system 1530 in accordance with the present invention. The web broadcast system 2501 includes the live streaming system 1530 of the client production system 1520 (remainder of the client production system 1520 is not shown), a hosting target such as, for example, the host services system 1510 (or 410 or 501), and the network services 140. The live streaming system 1530 couples with the host services system 1510 through the network services 140. The live streaming system 1530 couples with the video camera system 120d.
The live streaming system 1530 includes a driver level 2510, a communication server device interface 2520, a raw frame buffer 2530, a portal object 2540, and a broadcast module 2550. The driver level 2510 includes an audio video acquisition buffer 2515. The broadcast module include an audio encoder/decoder (or codec) buffer 2552, a video codec buffer 2554, an encoder compressor 2555, a streaming format file 2556, a stream buffer 2558, a format speed module 2560, and a user datagram protocol/transmission control protocol ("UDP/TCP") module 2562. Each component of the live streaming system 1530 may be embodied in hardware, software, or a combination of hardware and software.
The driver level 2510 couples with the video camera system 120d and the communication server device interface 2520. The communication server device interface 2520 couples with the raw frame buffer 2530. The raw frame buffer 2530 couples with the portal object 2540 and the broadcast module 2550. In particular, the raw frame buffer 2530 couples with the audio codec buffer 2552 and the video codec buffer 2554. The audio codec buffer 2552 and the video codec buffer 2554 couple with the encoder compressor 2555. The encoder compressor couples with the streaming format file 2556 and the stream buffer 2558. The streaming format file 2556 and the stream buffer 2558 couple to the network services 140 through the format speed module 2560 and the UDP/TCP module 2562. These modules 2560, 2562 may also couple with the network services connection 1540 to couple with the live streaming system 1530 to the network services 140. The driver level 2510 is configured to provide an acquisition mechanism for capturing raw content from the video camera system 120d. The raw content includes audio and video data that is stored in the audio video acquisition buffer 2515. The driver level 2515 is typically connected with the computer system port which couples the video camera of the video camera system 120d. The driver level 2510 bridges the data from this port with the operating system 310.
The communication server device interface 2520 is configured to provide an interface between one or more applications and the video camera of the video camera system 120d. The communication server device interface 2520 is configured to provide video manipulation services and to serve video data to one or more applications simultaneously. The video manipulation services includes formatting a received raw video data stream into a video format, for example, ANI, Real Media format, or Quicktime format. The communication server device interface 2520 also allows the video camera and the applications to communicate between each other. For example, the application may signal the video camera through the communication server device interface 2520 to turn on or off, to zoom-in or zoom-out, or to rotate left, right, up, or down.
The raw frame buffer 2530 couples with the audio video acquisition buffer to collect raw, unformatted audio and video bit stream data. The bit stream data includes, for example, red-green-blue color information, chromatic information, and the like. The raw frame buffer 2530 passes the raw bit stream data to the portal object 2540 and/or the audio codec buffer 2552 and the video codec buffer 2554 in the broadcast module 2550.
The portal object 2540 is configured to provide an interface between captured objects (or content) and a compression engine that compresses the received video data into a file type, for example, Real Media format, MPEG format, or other compression format. The portal object 2540 is also configured to provide a preview of the video data from the communication server device interface 2520. Using this preview function, a publishing user can manipulate the video camera itself or the captured video data through the application that couples with the communication server device interface 2520.
The broadcast module 2550 is configured to process the raw audio and video bit streams to format them for broadcast on the user's web site. Specifically, the audio codec buffer 2552 and the video codec buffer 2554 receive the raw bit stream data from the raw frame buffer 2530 and separate out the audio data and the video data. The encoder compressor 2555 then mixes the audio data and video data into a mixed, synchronized data stream. The encoder compressor 2555 then compress the mixed data stream. In one embodiment the encoder compressor 2555 is an encoder compressor from Real Networks, Inc. The compressed file is then sent to a streaming format file 2556 and a stream buffer
2558. The streaming format file 2556 may be in Real Media format as specified by Real Networks, Inc. The stream format file 2556 is configured to archive the streamed content locally. A live stream buffer is configured to send the streamed content to the server for a live show. The stream buffer 2558 generates a constant data stream that is set to transmit at a predetermined rate. Preferably, the stream buffer 2558 sends out a frame of video and audio that is properly synchronized and compressed at a constant rate. The format speed module 2560 provides connection speed information for the streaming file so that the bit rate of the connection may determine how much compression needs to be applied for the content to "fit" within the pipe (or transmission bandwidth). The UDP/TCP module then sends the file to the network services connection 1540, ultimately for publication, or broadcast, on the user's web site. Using UDP/TCP is beneficial for this type of broadcast type services because of few eπor recovery services that may cause transmission delays.
As was described above, the user's targeting host web site will be verified or created as is appropriate before the live video is broadcast from the user's web site. Further, interactive users can access the live video once it is published on the user's web site, by tuning in their web browser, e.g., 710, to the appropriate channel, for example, as may be selected from the channels 550b information in the general content system 550 of the host services system 501. Figure 26 is a flow diagram illustrating a first example of an embodiment of a process for producing a live video stream in accordance with the present invention. The process starts 2610 with an acquisition of a video signal from the video camera 152 of the video camera system 120d. The video camera system 120d captures 2615 both video and audio data. In particular a driver interface of the driver level 2510 captures the audio and video data and sends 2620 this raw data to the communication server device interface 2520. The communication device server interface 2520 formats the video data into a video format that may be set by default or specified by the publishing user. The communication device server interface 2520 then sends 2625 the formatted video to the portal object 2540 or directly to the broadcast module 2550. If the formatted video is sent to the portal object 2540, the publishing user can preview the formatted video and, if desired, change parameters on the video camera system 120d or the captured video data. The parameters on the video camera system 120d include, for example, zoom features, panning features, and the like. The parameters on the captured video data include, for example, color, tint, size, contrast, brightness, and the like. The portal object 2540 interfaces 2630 with the broadcast module 2550.
The broadcast module 2550 receives the video stream from the communication device server interface 2520 or the portal object 2540 and integrates or weaves the video and audio data together to generate 2635 streaming video data. The UPD/TCP 2562 of the broadcast module 2550 provides the appropriate network services, e.g., Internet, protocol for the streaming video data and sends 2640 it to the targeting host server, e.g., host services system 1510, from where the streaming video data broadcast. The broadcast streaming video data can now be accessed 2645, 2665 from the host server by an interactive user through a web browser or the publishing user through the client interactive system.
Figure 27 is a flow diagram illustrating a second example of an embodiment of a process for producing a live video stream in accordance with the present invention. The process starts 2710 with the video camera 152 of the video camera system 120d capturing raw video and audio (or video and audio data). More particularly, the process creates 2715 a raw frame buffer of the raw video and audio as it is received by the driver interface of the driver level 2510. The process then gets 2725 a frame buffer of the raw video and audio to send to a live the communication server device interface 2520. The raw video is then processed 2735 into an appropriate video format, for example, ANI, Real Media format, or Quicktime format (by Apple Computer, Inc. of Cupertino, CA), and sent to the portal object 2520. The raw buffer of the video may also be sent 2755 to a live video stream engine or module in the broadcast module 2550.
The portal object 2540 sends the formatted video data to a steaming engine in the broadcast module 2550, for example, a Real Media streaming engine. The streaming engine prepares streamed video data and sends 2765 the streamed video to the live video stream engine in the broadcast module 2550. The portal object 2540 also separates the formatted video data and the audio data. The separated formatted video data and the audio data is sent to the video engine of the broadcast module 2550. Specifically, the video codec buffer 2554 gets 2745 the formatted video data in as a video codec file and the audio codec buffer 2552 gets 2745 the audio data in as an audio codec file. The separated video and audio data is then interleaved into single video and audio data stream. The live video stream engine of the broadcast module 2550 sends streaming 2775 video and audio through the UDP/TCP onto the network services 140 for transmission to a targeting host (or web server).
It is noted that the process also provides for manipulating image parameters and camera parameters. For example, once formatted video is previewed through the portal engine, video control and attribute commands can be sent 2740 to the communication server device interface 2520 so that various aspects of the video image can be manipulated, for example, video size, video contrast, and video brightness. Similarly, an application coupled with the communication device server interface 2520 can manipulate the video camera 152 of the video camera system 120d by sending 2730 camera control and video attribute signals, for example, zoom, pan, color, tint, hue, or contrast adjustment signals, through the driver level 2510. The driver level 2510 sends 2720 device control signals to the video camera 152 through the driver interface so that the camera is appropriately manipulated.
An advantage of the personal broadcast system 2501 and the live streaming system 1530 is that it provides a production user with their own broadcasting system. The user's own client production system, e.g., 1520, provides their own production studio for the content that they desire to broadcast live. The personal broadcast system 2501 and the live streaming video system 1530 allow users to reach large audiences that are prohibitively expensive to reach through conventional broadcast channels. Moreover, because the capture and publication of live video is automated, the user beneficially can produce live broadcasts despite lacking programming or technical skills for broadcasting such content on the WWW. While particular embodiments and applications of the present invention have been illustrated and described, it is to be understood that the invention is not limited to the precise construction and components disclosed herein and that various modifications, changes and variations which will be apparent to those skilled in the art may be made in the arrangement, operation and details of the method and apparatus of the present invention disclosed herein without departing from the spirit and scope of the invention as defined in the appended claims.

Claims

What is Claimed is: L A production system to publish content to a web site, the production system comprising: a video system that is configured to capture content; a publishing system that is configured to select content captured by the video system and is configured to format the selected content so that it is accessible on a web site; and a network services connection system that is configured to establish a connection with a hosting target, wherein the publishing system automatically transmits the web content file to the hosting target.
2. The production system in claim 1, wherein the publishing system further comprises a content system that is configured to store the content in a directory and to present a visual image of the content.
3. The production system in claim 1 , wherein the publishing system further comprises a page generation system that is configured to automatically generate a web page having the selected content.
4. The production system in claim 3, wherein the publishing system further comprises a format system that is configured to automatically link a plurality of generated web pages into a web content file for publication.
5. The production system in claim 3, wherein the page generation system includes a template engine that is configured to automatically generate an HTML page for the web page having the selected content.
6. A method for publishing content on a web site so that it is accessible by those accessing the web site, the production system comprising: selecting content for publication to the web site; selecting a presentation format for the content; automatically generating a web formatted file for the selected content and the selected presentation format for the content; and selecting a triggering event to automatically publish the content to a web site.
7. The method for publishing content on the web site in claim 6, wherein the automatically generating a web formatted file comprises a step of one from the group comprising: compressing the content into an image compression file; creating a streaming video file; and generating a live streaming video stream.
8. The method for publishing content on the web site in claim 6, further comprising: determining whether a web site exists on a targeting host to publish the web formatted file; automatically transmitting registration information to the targeting host in response to determining that a web site does not exist on the targeting host, wherein the registration information is used for automatically creating a web site on the targeting host; and publishing the web formatted file in response to either determining that the web site exists on the targeting host or automatically creating the web site on the targeting host.
9. The method for publishing content on the web site in claim 6, wherein the step of selecting a presentation format further comprises the step of selecting a template to organize the document for publication.
10. The method for publishing content on the web site in claim 9, wherein the step of automatically generating a web formatted file further comprises the step of automatically generating a web page using the selected template.
11. The method for publishing content on the web site in claim 6, wherein the step of automatically generating a web formatted file further comprises automatically generating a web content file having static content and streaming content.
EP00968798A 1999-10-08 2000-10-06 Automated publication system with networkable smart camera Ceased EP1222820A1 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US41568999A 1999-10-08 1999-10-08
US415689 1999-10-08
PCT/US2000/027613 WO2001028249A1 (en) 1999-10-08 2000-10-06 Automated publication system with networkable smart camera

Publications (1)

Publication Number Publication Date
EP1222820A1 true EP1222820A1 (en) 2002-07-17

Family

ID=23646765

Family Applications (1)

Application Number Title Priority Date Filing Date
EP00968798A Ceased EP1222820A1 (en) 1999-10-08 2000-10-06 Automated publication system with networkable smart camera

Country Status (5)

Country Link
EP (1) EP1222820A1 (en)
KR (1) KR20020057970A (en)
CN (1) CN1236614C (en)
AU (1) AU7866200A (en)
WO (1) WO2001028249A1 (en)

Families Citing this family (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8464302B1 (en) 1999-08-03 2013-06-11 Videoshare, Llc Method and system for sharing video with advertisements over a network
WO2001067772A2 (en) 2000-03-09 2001-09-13 Videoshare, Inc. Sharing a streaming video
US6976028B2 (en) * 2001-06-15 2005-12-13 Sony Corporation Media content creating and publishing system and process
US7664342B2 (en) 2001-07-23 2010-02-16 Sony Corporation Information processing system, information processing apparatus, and method
EP1349061A1 (en) * 2002-03-27 2003-10-01 Hewlett-Packard Company Server based hardware control for internet applications
US7362349B2 (en) 2002-07-10 2008-04-22 Seiko Epson Corporation Multi-participant conference system with controllable content delivery using a client monitor back-channel
US20040230655A1 (en) * 2003-05-16 2004-11-18 Chia-Hsin Li Method and system for media playback architecture
JP4447860B2 (en) * 2003-06-30 2010-04-07 ソニー株式会社 Network camera
US7545373B2 (en) 2004-08-03 2009-06-09 Nextpat Limited Applications with integrated capture
WO2006056820A1 (en) * 2004-11-23 2006-06-01 The Honey Pot Trust A transaction verification system
EP1679591A1 (en) * 2005-01-05 2006-07-12 Grand Advance Corp. Web camera identification system and method
US8209285B2 (en) 2005-11-15 2012-06-26 Hewlett-Packard Development Company, L.P. Method and a system for publishing data
US20070174425A1 (en) * 2006-01-20 2007-07-26 Jean-Philippe Gousse Method and apparatus for communicating with a user using video
US20080052026A1 (en) * 2006-08-23 2008-02-28 Qurio Holdings, Inc. Configuring a content capture device for one or more service providers
KR101044249B1 (en) * 2008-07-29 2011-06-28 정효운 furnace smoke tube boiler for high efficiency
ITVI20090268A1 (en) * 2009-11-02 2011-05-03 Nicola Brunelli SYSTEM AND METHOD OF COMMUNICATION BETWEEN BUSINESS REALITY AND USERS OF AN INFORMATION NETWORK
CN105488181A (en) * 2015-12-01 2016-04-13 深圳联友科技有限公司 Static page website generating method and system
CN106610927B (en) * 2016-12-19 2021-03-16 厦门二五八网络科技集团股份有限公司 Translation template-based Internet article construction method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See references of WO0128249A1 *

Also Published As

Publication number Publication date
KR20020057970A (en) 2002-07-12
AU7866200A (en) 2001-04-23
WO2001028249A1 (en) 2001-04-19
CN1378745A (en) 2002-11-06
CN1236614C (en) 2006-01-11

Similar Documents

Publication Publication Date Title
WO2001028249A1 (en) Automated publication system with networkable smart camera
JP5173919B2 (en) Video data playback apparatus, playback method, and computer program
US6763377B1 (en) Asset management and scheduling graphical user interface for media streamer
US6698021B1 (en) System and method for remote control of surveillance devices
US8959181B2 (en) System and method for creating and posting media lists for purposes of subsequent playback
US7117259B1 (en) Server time window for multiple selectable servers in a graphical user interface
JP4743738B2 (en) Interactive television system using newsgroups
US6963910B1 (en) Graphical user interface for creating assets
US6446082B1 (en) Method of receiving time-specified program contents
US20020056119A1 (en) Personal video channel system
US20050246752A1 (en) Method and system for sharing video over a network
US20120098970A1 (en) System and method for storing and remotely retrieving video images
US20080147786A1 (en) Method and system for sharing video over a network
US20030061280A1 (en) Systems and methods for enhancing streaming media
US20050281470A1 (en) System and method for streaming media
CA2405536A1 (en) Online digital video signal transfer apparatus and method
US20090049122A1 (en) System and method for providing a video media toolbar
WO2001028251A1 (en) System and method for controlling the storage and remote retrieval of surveillance video images
US6772191B1 (en) System and method for limiting services at a plurality of levels and controlling image orientation via a network
JP2002374497A (en) Method, system, and program for digital stream contents generation, recording medium where the same program is recorded, and digital contents distributing method
EP1083686A2 (en) System for providing interactive entertainment services to an audience using a communications network
JP2005210662A (en) Streaming image distribution system
US20050044255A1 (en) Streaming image distribution system
CN1558570A (en) Remote digital monitoring system

Legal Events

Date Code Title Description
PUAI Public reference made under article 153(3) epc to a published international application that has entered the european phase

Free format text: ORIGINAL CODE: 0009012

17P Request for examination filed

Effective date: 20020506

AK Designated contracting states

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LI LU MC NL PT SE

AX Request for extension of the european patent

Free format text: AL;LT;LV;MK;RO;SI

RIN1 Information on inventor provided before grant (corrected)

Inventor name: BATEMAN, JOHN, D.

Inventor name: AUBERGER, GEORGES

Inventor name: PADERNA, THOMAS, M.

17Q First examination report despatched

Effective date: 20040324

STAA Information on the status of an ep patent application or granted ep patent

Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED

18R Application refused

Effective date: 20051108