Method, system and computer program product for producing and distributing enhanced media downstreams6760916Abstract A multimedia production and distribution system collects or assembles a media production (such as, a news program, television programming, or radio broadcast) from a variety of sources, including television stations and other media hosting facilities. The media production is categorized and indexed for retrieval and distribution across a wired or wireless network, such as the Internet, to any client, such as a personal computer, television, or personal digital assistant. A user can operate the client to display and interact with the media production, or select various options to customize the transmission or request a standard program. Alternatively, the user can establish a template to generate the media production automatically based on personal preferences. The media production is displayed on the client with various media enhancements to add value to the media production. Such enhancements include graphics, extended play segments, opinion research, and URLs. The enhancements also include advertisements, such as commercials, active banners, and sponsorship buttons. An advertisement reporting system monitors the sale and distribution of advertisements within the network. The advertisements are priced according to factors that measure the likelihood of an advertisement actually being presented or viewed by users most likely to purchase the advertised item or service. The advertisement reporting system also collects metrics to invoice and apportion income derived from the advertisements among the network participants, including a portal host and/or producer of the content. Claims What is claimed is: Description BACKGROUND OF THE INVENTION
Table of Contents
I. Introduction
1. Overview of Webcast Portal
2. Aspects of the Invention
3. Implementation Example
4. Benefit of Invention Using an Example Conventional Webcast Model
II. Content Production and Storage
1. Suppliers
1.1. Manual Media Production
1.2. Automated Media Production
1.3. Radio Broadcasts
2. Content Archival and Retrieval
III. Webcast Production
1. Operational Description
2. System Features
2.1. Customizable Downstreams
2.2. Continuous Play Mode
2.3. Seamless Transmissions
2.4. Automatic Record and Playback
2.5. Online User Archives
3. Media Enhancement & Webcast Synchronization
3.1. Advertisement
3.2. Auxiliary Information
3.3. Extended Audio-Video
3.4. Opinion Research
3.5. Hyperlinks to Related Sites
3.6. Methods of Entering Media Enhancements
IV. Viewer Interface
1. Media Viewer
2. Viewer Controls
3. Media Index
4. Auxiliary Media
5. Opinion Data
6. Media Access Area
7. Advertisement Banner
8. Alternative Skins
V. Advertisement Revenue Generation
1. Download Metrics
2. Subscription Services
3. Distribution Schemes
3.1. Local Distribution
3.2. Regional Distribution
3.3. E-commerce
3.4. Education
VI. Conclusion
I. Introduction The present invention allows an individual to view a real time or customized media production, which is transmitted over a network (e.g., the World Wide Web), onto their personal computer (PC), personal digital assistant (PDA) or other display device. The media productions primarily include video of news programs, television programming (such as, documentaries, situation comedies, dramas, variety shows, interviews, and the like), sporting events, concerts, infomercials, movies, video rentals, and the like. Media productions also include live or recorded audio (including radio broadcast), graphics, text, and other forms of media and multimedia. In an embodiment, a live news programming is recorded at a local (or national) station, segmented, categorized, and indexed for easy retrieval and viewing. These operations can be performed automatically using the PVTV Production Automation System (previously referred to as the CameraManSTUDIO.TM. automation system) available from ParkerVision, Inc. of Jacksonville, Fla. Alternatively, these operations can be performed manually. For example, a thirty minute news program is broken up into separate topics, including national news, local news, sports, weather, business, and the like. These news topics are segmented and appropriately categorized (e.g., sports can be categorized to football or Jacksonville Jaguars). An index is then established using these categories so that individuals can easily query the index and select the news segments they want to view. Alternatively, the user can set up a template so that a news program is automatically generated based on personal preference. The news program is then compiled, potentially with advertisements, and downloaded to the user's display device. It is contemplated that the present invention can be used as a profit generator for each of the participants within the network. Advertisements can be focused based on which news segments are downloaded to the user. Advertising is linked to each segment of each customized program so that the user when viewing the customized programming also views that associated advertising. The television stations providing the segments making up the customized programming share in the revenue from the advertising with the portal where the users go to receive the customized programming and with other participants in network. In this way, the present invention creates a television network on the World Wide Web which provides each user with customized programs on demand, and compensates through shared advertising revenue to (1) the television stations which provide the segments which are used in the customized program, (2) the operator of the portal where the users go on the World Wide Web and which causes the customized programs to be assembled and broadcast on demand, and (3) other participants in the network. 1. Overview of Enhanced Media Production and Distribution FIG. 1 illustrates a block diagram of an enhanced media production and distribution system 100 (herein referred to as "system 100") according to an embodiment of the present invention. As used herein, the term "media production" includes the production of all forms of media or multimedia in accordance with the system and method of the present invention. Additionally, the term "enhanced media" refers to a media production that has been augmented according to the present invention to enhance the value of the media production by associating auxiliary information, such as graphics, extended play segments, opinion research data., URLs, advertisements, and the like. System 100 includes an enhanced media server 115 and one or more enhanced media clients 120. In an embodiment, enhanced media server 115 provides web pages for a hosting portal, homepage or web site. The operator of the portal can be a local television, radio station, newspaper, webcasting station, or other media "hosting" environment. A communication infrastructure 110 provides a medium for communication among enhanced media server 115 and enhanced media clients 120. Communication infrastructure 110 includes wired or wireless local area networks (LAN) or wide area networks (WAN), such as an organization's intranet, local internets, the global-based Internet (including the World Wide Web (WWW)), virtual private networks, or the like. Communication infrastructure 110 includes wired, wireless, or both transmission media, including satellite, terrestrial (e.g., fiber optic, copper, coaxial, hybrid fiber-coaxial (HFC), and the like), radio, microwave, and any other form or method of transmission. Each enhanced media client 120 is a personal computer, personal digital assistant (PDA), telephone, television, MP3 player, or other device operable for wired or wireless exchanges over communication infrastructure 110. Enhanced media clients 120 include a display having the ability to select one or more media segments. In an embodiment, enhanced media client 120 is located in an automobile, and can be a MP3 stereo or personal computer with a hard drive and capable of downloading music or music video files. Moreover, the user of an enhanced media client 120 includes human operators requesting a web page from enhanced media server 115 over the Internet, or another web site host, television or radio broadcaster, and the like. In an embodiment, enhanced media server 115 transmits, to enhanced media clients 120, media streams formatted to support multimedia applications available from RealNetworks, Inc. (Seattle, Wash.), Microsoft Corporation (Redmond, Wash.), and Apple Computer, Inc. (Cupertino, Calif.), or like applications as would be apparent to one skilled in the relevant art(s). In addition to the aforementioned proprietary formats, the media stream formats can include, but are not limited to, MPEG-2 and MPEG-4 non-proprietary formats. Enhanced media server 115 is connected to a streaming server 125, information management (IM) server 130 and advertisement server 135. Streaming server 125 supports live and on-demand streaming functionality of system 100. Streaming server 125 transmits media streams by interacting with media encoding system 140, media production system 145, media production information management system (IMS) 150, extended-media encoding system 155 and extended-media IMS 160. Streaming server 125 and enhanced media server 115 are configurable to provide continuous, seamless streams for real-time or near-term presentations, as well as download data files to enhanced media client 120 for delayed playback. The media streams can either be continuous as represented by a complete show broadcast over the airwaves, or modified according to the interests of the user of enhanced media client 120, reassembled and streamed in the new configuration. In either case, the streaming process only requires a single download, buffering and playout process. In an embodiment, the media streams of system 100 are formatted to support the Windows Media.TM. player application available from Microsoft Corporation. To better understand media streams of system 100, an understanding of this format must first be explained. The metafiles of the Windows Media.TM. application are text files that act as links from web pages to content formatted to support the Windows Media.TM. application on a server, such as enhanced media server 115. The basic purpose of a metafile is to redirect streaming media content away from browsers, which in most cases are not capable of rendering the content, to an application such as the Windows Media.TM. player application. The metafiles of the Windows Media.TM. application have a .wvx, .wax or .asx extension. When a browser downloads a file with one of these extensions from a web site, the browser opens a Windows Media.TM. player application. The Windows Media.TM. application would then locate and play the content specified in the file. A metafile for a Windows Media.TM. application contains a type of Extensible Markup Language (XML) scripting that can only be interpreted by a Windows Media.TM. application. A metafile script can be as simple or complex as needed. The most basic metafile contains the Uniform Resource Locator (URL) of multimedia content on a server. A complex metafile can contain multiple files or streams arranged in a playlist, instructions for playing the files or streams, text and graphic elements associated with the video and topic being streamed, and hyperlinks associated with the elements as they are displayed by the Windows Media.TM. application. Enhanced media client 120 is configured with a "viewer," such as media viewer 1102 described below in reference to FIG. 11. The viewer can be updated by instructing the enhanced media client 120 to download a new revised viewer. The user can build a show via the viewer and a request is made for a metafile with an ASX file extension. As described, an ASX metafile references the Windows Media.TM. application-formatted file, such as the Windows Media.TM. Video (WMV) file. The ASX metafile is a list of all of the files/stories requested, including video advertisements. Show segments assembled and requested by the viewer are sent to IM server 130 via enhanced media server 115. The viewer gets back an ASX play list that includes, for example, an introduction video, advertisement videos and story videos. The ASX file plays the multiple WMV files or like formats. Each file would represent a story or segment that contains all content and associated links. Although the user operating an enhanced media client 120 only experiences a single download, buffering process and playout, the system and method of the present invention actually provides multiple files in the requested order to be played in a seamless or near seamless manner. This is achieved by the development of a video fragmentation technique, discussed in detail below in reference to FIG. 10. In other words, enhanced media server 115 would query streaming server 125 to assemble an entire media production based on the segments requested by enhanced media client 120. The media production would be fragmented such that a portion of the media production could be sent downstream to enhanced media client 120 to be buffered for playout. As the buffer is emptied for display, an additional media stream would be sent to the buffer such that the enhanced media client 120 could create a seamless or near seamless display. IM server 130 is an indexing system that enables the other system components to query system 100 for data and metadata. For example, enhanced media server 115 is operable to query IM server 130 for the location or filename of a specific video segment. The query results from IM server 130 are communicated to streaming server 125 which, in turn, locates the requested video segment for transmission to the requesting client. Finally, advertisement server 135 is connected to an advertising administration system 165 and an advertisement (AD) IMS 170. Advertisement server 135 provides advertisements (such as, commercials in audio or video format, banners, active media, and the like) that are integrated into a media stream (e.g., video segment) requested by an online user. As described in detail below, advertisements can be requested by any of the other system components and integrated into a media stream at any point in the media production process. Enhanced media server 115 commands and controls the operational capabilities of system 100. As a result, enhanced media server 115 functions as a portal to process or service requests for media produced or archived within system 100. Enhanced media server 115 also implements policies and rules to enforce security protocols to protect system and data integrity, including user authentication, user roles, and the like. In an embodiment, enhanced media server 115 or at least one of its supporting system components (i.e., streaming server 125, IM server 130, advertisement server 135, media encoding system 140, media production system 145, etc.) is located at the facilities of a local television, radio station, newspaper, webcasting station, or other media hosting environment. However, enhanced media server 115 or at least one of its supporting system components can also be remotely located and configured to communicate with a television or radio station functioning as a content source. In other embodiments, enhanced media server 115 or at least one of its supporting system components are locally or remotely positioned at a private residence, place of business, educational institution, government agency, or the like, and utilized for media production and network distribution. In another embodiment of the present invention, a centralized advertising management and distribution server manages a plurality of AD servers 135. FIG. 2 illustrates a block diagram of a national advertising management and distribution system 200 (herein referred to as "system 200") according to an embodiment of the present invention. System 200 includes a national advertising management and distribution server 215 (herein referred to as "managing server 215") and an advertising administration system 265. Managing server 215 provides centralized control of advertisement distribution within and among region 202 and region 204. In an embodiment, managing server 215 hosts advertising management for an internet service provider (ISP), such as AOL, AT&T, Starpower, Verizon, and the like. In another embodiment, managing server 215 host advertising management for an information service provider that offers information content, such as news, entertainment, travel, history, art, business, education, science, health, recreation, careers, and the like. An information service provider primarily hosts a national portal operating over the Internet, such as AOL, MSN, Yahoo, Alta Vista, Excite, and the like. An information service provider also include web sites operated by major networks (such as, CNN, MSNBC), local broadcasting networks, private/personal web sites or homepages, and the like. Although only two regions are described for illustrative purposes, system 200 is scalable to support multiple regions. Moreover, a region is representative of a city, county, state, province, country, group of countries, time zone, or the like. A region is not restricted to geographic boundaries, but can represent priority or class assignments for enhanced media clients 120a-120d or for the services provided by enhanced media servers 115a-115b, and the like. Each region can include multiple enhanced media servers 115a-115b, with each being hosted by a television broadcaster, newspaper, radio station, webcaster or other media hosting facilities. Communication infrastructure 110 provides a medium for exchanging communications among managing server 215, region 202 and region 204. Within each of region 202 and region 204, one or more enhanced media clients 120a-120b are operable to interact with local or remote enhanced media servers 115a-115b. Thus, as described above, enhanced media servers 115a-115b are portals to media hosting facilities. For example, a user located in region 204 could operate enhanced media client 120b to request information from a web site hosted by a local or remote television station by querying enhanced media server 115a over the World Wide Web (shown as communication infrastructure 110). Additionally, should the user travel from region 204 to region 202 using a portable embodiment of enhanced media client 120b, the user would still be able to query locally and remotely positioned enhanced media servers 115a-115b over an Internet connection (shown as communication infrastructure 110). In an embodiment, each enhanced media server 115a-115b includes a respective local advertisement server 135a-135b and national advertisement server 235a-235b. Each enhanced media server 115a-115b is also connected to other supporting system components (i.e., a streaming server 125, IM server 130, media encoding system 140, etc.), as discussed in reference to FIG. 1. In an embodiment, managing server 215 sends File Transfer Protocol (FTP) advertisement files to all national advertisement servers 235a-235b. Advertising administration system 265 synchronizes or polls the respective AD IMS 170 for each enhanced media server 115a-115b to obtain statistical and status updates that report the advertisements served, including demographic and other metric data, as described in detail below. In an embodiment, the advertisements residing on national advertisement servers 235a-235b are served in open advertising spots to the local enhanced media clients 120a-120b. Open advertising spots are defined by locations or time slots which are not sold locally by show, show segment, topic, or the like. Priorities can be set to determine local versus national, along with cost per thousand (CPM) downloads. In another embodiment, when managing server 215 is managed by a national ISP or national information service provider, enhanced media servers 115a-115b would serve multiple branded viewers (as discussed below in reference to FIGS. 11-13) depending on the origin of the request from enhanced media clients 120a-120d. As an example, if enhanced media client 120a makes a request through a local ISP, enhanced media server 115a would serve a locally branded viewer. If, for example, enhanced media client 120c makes a request as a subscriber to a national ISP (such as AOL), enhanced media server 115a would serve an AOL-branded viewer. In this embodiment, national advertisements sold by the national ISP (i.e., AOL) would be stored and served from national advertisement server 235a from the files sent from managing server 215. Advertisements sold locally would be served from local advertisement server 135a to the respective enhanced media client 120a and enhanced media client 120c. In an embodiment, local or national advertisements from local advertisement server 135a or national advertisement server 235a, respectively, are served to either local ISP-based enhanced media client 120a or national ISP-based enhanced media client 120c, if advertising positions are not sold. 2. Aspects of the Invention The present invention offers significant features, functions, operations and outputs that cannot be provided by conventional media production or webcasting technologies. For instance, media production system 145 allows for the automated production of television shows, such as news programs, using many fewer people than is presently required in conventional television studios. Additionally, media encoding system 140 allows for the television program output from media production system 145 to be tagged, partitioned and organized automatically so that it can be broadcast over communication infrastructure 110 in a highly automated fashion. Hence, the method and system of the present invention combines automated media production, webcasting and additional technology to achieve a delivery system that is operable to stream various forms of media over, for example, the World Wide Web where each user (i.e., enhanced media client 120) receives live or customized programming on demand. Advertising is linked to each segment of each customized program so that the user when viewing the customized programming also views the associated advertising. The hosting facilities (e.g., television station) providing the segments making up the customized programming share in the revenue from the advertising with the portal operator (if different from the hosting facility) where the users go to receive the customized programming and with other participants in network. In this way, the present invention creates, for example, a television network on the World Wide Web that provides each user with customized programs on demand, and compensates through shared advertising revenue to (1) the television stations which provide the segments which are used in the customized programs to be assembled and broadcast on demand, (2) the operator of the portal where the users go on the World Wide Web for access to local content, and (3) other participants in the network. Hosting facilities using an automated media production system 145 to produce television programs automatically tag, partition and organize each program for use in the present invention. Each program is automatically divided into segments corresponding to the subject matter of that segment. The advertising for each program is linked to each subject matter segment of the program. Categories can be defined with multiple cascading granularity such as: DATE SHOW AIRED, SPECIFIC SHOW BY TITLE, SPORTS SEGMENT, FOOTBALL CATEGORY, PROFESSIONAL FOOTBALL SUB-CATEGORY, JACKSONVILLE JAGUAR FOOTBALL SUB-CATEGORY. This example demonstrates six levels for topic and advertising resolution and targeting. Alternatively, each subject matter segment can be linked only to one or more of the advertisements for the program according to a specified schedule. Because each program is automatically segmented according to subject matter, a television station, for example, does not incur additional cost in providing the television content to the portal. Instead, the segments with linked advertisements are produced automatically along with the television program itself. A portal on the World Wide Web acts as the site where users go to receive a live or customized program on demand. Hosting facilities for each enhanced media server 115 of the present invention are connected to the portal over the World Wide Web. Since the portal receives additional users because of the availability of live local content and on-demand customized television programming, it receives additional traffic, which creates additional sources of revenue and increased advertising. The portal acts as a passage for accessing the contents of the selected enhanced media server 115 and other system components (i.e., streaming server 125, IM server 130, AD server 135, etc.). Enhanced media server 115 executes the request from enhanced media client 120 and in real time, assembles and streams over the World Wide Web each customized program for each user. The portal acting only as a passage to the contents of the selected enhanced media server 115 and other system components obtains, from the hosting facility, segments which have content corresponding to the subject matter specified by each user. The content is presented on a media viewer (such as, media viewer 1102 described below in reference to FIG. 11) launched by enhanced media server 115 and branded according to the portal making the request. The viewer uses these segments with linked advertisements to assemble and display in real time a live presentation or customized program. From the user's perspective, the customized program appears seamless. The user is provided with the customized program as soon as the user indicates that the program is to start. The segments, which make up the customized program, are automatically sequenced together with the linked advertisements in such a fashion that the program appears to have been created for the user according to a subject matter specification indicated by the user. The user specifies the desired content of the customized program by using subject matter specifications. These specifications define the desired subject matter, the geographical source of the subject matter, the creation time and date of the subject matter, when the program is to begin and how long it is to last, and other user defined parameters. A menu format can be used by the viewer to assist the user in defining the specifications. Alternately, the viewer can provide predefined specifications, or can allow the user to upload specifications generated by a program or database search engine. Profiles can be generated automatically or manually. An automatic profile allows the broadcaster (e.g., using AD IMS 170) to accumulate demographic and metric data for the sale of advertising, and the definition and scheduling of programming. This is performed automatically by the use of cookies, or similar user identifiers, loaded onto enhanced media client 120. Each time enhanced media server 115 is accessed, data is captured and stored to develop a profile of the user. Every time the same enhanced media client 120 logs onto enhanced media server 115, enhanced media client 120 receives a customized preprogrammed show according to the user's profile. The user then has the ability to accept or reject the pre-defined customized show. A modified or a totally brand new show also can be requested and assembled. Alternatively, system 100 also allows enhanced media client 120 users to complete a user profile with more detailed information. System 100 allows the broadcaster to offer an incentive and password protection for the purpose of obtaining profile data from the user. The advertiser would purchase advertisement spots based on the provisioning of each advertisement. The present invention includes methodologies for reporting to a hosting facility the number of segments broadcast for each advertisement linked to segments provided by the hosting facility to the online users. Thus the advertiser only pays for advertisements that a enhanced media server 115 sends to a specific user. The present invention provides a method and system for sharing the advertising revenues among the hosting facilities and other network participants. This sharing of advertising revenue is based on actual provisioning of segments with specifically linked advertisements. Since each network participant shares the advertising revenue based on actual presentations to online users, the split is equitable and driven by market demand. Each network participant obtains an additional revenue stream over the revenue generated from conventional media production and distribution systems. In this way, the present invention enables network participants to increase their revenues for relatively little additional incremental costs, making the present invention a significant profit generator. 3. Implementation Example FIG. 1 and FIG. 2 represent conceptual illustrations of system 100 and system 200, respectively, to allow an easy explanation of the present invention. That is, one or more of the blocks can be performed by the same piece of hardware or module of software. It should also be understood that embodiments of the present invention can be implemented in hardware, software, or a combination thereof. In such an embodiment, the various components and steps would be implemented in hardware and/or software to perform the functions of the present invention. In an embodiment, each server within system 100 and system 200 represents one or more computers providing various shared resources with each other and to the other network computers. In another embodiment, the servers in system 100 represent the same computer providing various shared resources to the other network computers (e.g., enhanced media client 120). In another embodiment, server 215 and one of servers 115a-115b represent the same computer providing shared resources. As apparent to one ordinarily skilled in the relevant art(s), other system components of system 100 and system 200 can be combined or separated, and are considered to be within the scope of the present invention. The shared resources include files for programs, web pages, databases and libraries; output devices, such as, printers, plotters, display monitors and facsimile machines; and communications devices, such as modems and Internet access facilities. The communications devices can support wired or wireless communications, including satellite, terrestrial (fiber optic, copper, coaxial, and the like), radio, microwave and any other form or method of transmission. Each server is configured to support the standard Internet Protocol (IP) developed to govern communications over public and private Internet backbones. The protocol is defined in Internet Standard (STD) 5, Request for Comments (RFC) 791 (Internet Architecture Board). The servers can also support transport protocols, such as, Transmission Control Protocol (TCP), User Datagram Protocol (UDP) and Real Time Transport Protocol (RTP). The transport protocols support various types of data transmission standards, such as File Transfer Protocol (FTP), Hypertext Transfer Protocol (HTTP), Simple Network Management Protocol (SNMP), Network Time Protocol (NTP), and the like. Each server is also configured to support various operating systems, such as, the Netware.TM. operating system available from Novell, Inc. (Provo, Utah); the MS-DOS.RTM., Windows NT.RTM. and Windows.RTM. 3.xx/95/98/2000 operating systems available from Microsoft Corporation; the Linux.RTM. operating system available from Linux Online Inc. (Laurel, Md.); the Solaris.TM. operating system available from Sun Microsystems, Inc. (Palo Alto, Calif.); and the like as would be apparent to one skilled in the relevant art(s). Additionally, the present invention (e.g., system 100, system 200, or any part thereof) can be implemented in one or more computer systems or other processing systems. In fact, in one embodiment, the invention is directed toward one or more computer systems capable of carrying out the functionality described herein. Referring to FIG. 3, an example computer system 300 useful in implementing the present invention is shown. The computer system 300 includes one or more processors, such as processor 304. The processor 304 is connected to a communication infrastructure 306 (e.g., a communications bus, crossover bar, or network). Various software embodiments are described in terms of this exemplary computer system. After reading this description, it will become apparent to a person skilled in the relevant art(s) how to implement the invention using other computer systems and/or computer architectures. Computer system 300 can include a display interface 302 that forwards graphics, text, and other data from the communication infrastructure 306 (or from a frame buffer not shown) for display on the display unit 330. Computer system 300 also includes a main memory 308, preferably random access memory (RAM), and can also include a secondary memory 310. The secondary memory 310 can include, for example, a hard disk drive 312 and/or a removable storage drive 314, representing a floppy disk drive, a magnetic tape drive, an optical disk drive, etc. The removable storage drive 314 reads from and/or writes to a removable storage unit 318 in a well-known manner. Removable storage unit 318, represents a floppy disk, magnetic tape, optical disk, etc. which is read by and written to removable storage drive 314. As will be appreciated, the removable storage unit 318 includes a computer usable storage medium having stored therein computer software and/or data. In alternative embodiments, secondary memory 310 can include other similar means for allowing computer programs or other instructions to be loaded into computer system 300. Such means can include, for example, a removable storage unit 322 and an interface 320. Examples of such can include a program cartridge and cartridge interface (such as that found in video game devices), a removable memory chip (such as an EPROM, or PROM) and associated socket, and other removable storage units 322 and interfaces 320 which allow software and data to be transferred from the removable storage unit 322 to computer system 300. Computer system 300 can also include a communications interface 324. Communications interface 324 allows software and data to be transferred between computer system 300 and external devices. Examples of communications interface 324 can include a modem, a network interface (such as an Ethernet card), a communications port, a PCMCIA slot and card, etc. Software and data transferred via communications interface 324 are in the form of signals 328 which can be electronic, electromagnetic, optical or other signals capable of being received by communications interface 324. These signals 328 are provided to communications interface 324 via a communications path (i.e., channel) 326. This channel 326 carries signals 328 and can be implemented using wire or cable, fiber optics, a phone line, a cellular phone link, an RF link and other communications channels. In this document, the terms "computer program medium" and "computer usable medium" are used to generally refer to media such as removable storage drive 314, a hard disk installed in hard disk drive 312, and signals 328. These computer program products are means for providing software to computer system 300. The invention is directed to such computer program products. Computer programs (also called computer control logic) are stored in main memory 308 and/or secondary memory 310. Computer programs can also be received via communications interface 324. Such computer programs, when executed, enable the computer system 300 to perform the features of the present invention as discussed herein. In particular, the computer programs, when executed, enable the processor 304 to perform the features of the present invention. Accordingly, such computer programs represent controllers of the computer system 300. In an embodiment where the invention is implemented using software, the software can be stored in a computer program product and loaded into computer system 300 using removable storage drive 314, hard drive 312 or communications interface 324. The control logic (software), when executed by the processor 304, causes the processor 304 to perform the functions of the invention as described herein. In another embodiment, the invention is implemented primarily in hardware using, for example, hardware components such as application specific integrated circuits (ASICs). Implementation of the hardware state machine so as to perform the functions described herein will be apparent to persons skilled in the relevant art(s). In yet another embodiment, the invention is implemented using a combination of both hardware and software. 4. Benefit of Invention Using an Example Conventional Webcast Model An example of the operation of the present invention is illustrative. Suppose a user wants to follow the progress of his college sports team. For purposes of illustration only, suppose the team is the Creighton basketball team. However, the user has moved from Iowa to Florida, where the local and national television stations do not provide any coverage of this team unless it is going to a major championship. In addition, the user works extensive hours which makes his opportunities to watch television variable. He also wants to focus his television viewing to specific content programs because of his very limited available television viewing time. The user logs onto a site hosted by enhanced media server 115 and indicates that he wants to watch a customized program on the Creighton basketball team. To do this, the user can either specify all of the necessary program parameters for this specific program, or he can evoke a stored program profile and customize it for the specific parameters needed for this customized program. Suppose, the user has indicated to the portal that he wants segments from the Iowa and Nebraska local stations first. He also indicates that he wants segments from the Creighton college webcast station. He indicates that he wants programs starting with the most recent and going back in time twelve hours. He also indicates that he wants his customized program to be twenty-five minutes long, but that he may want to extend fifteen minutes if additional segments are available and he is still available. Finally, he indicates that he wants the customized program to begin exactly at 9:35 A.M. EST, which is seven minutes after he has inputted all of his specifications to enhanced media server 115. Enhanced media server 115 would acknowledge receipt to the user of all of the necessary specifications. During the time preceding the start of the customized program (i.e., 9:35 A.M. EST), enhanced media server 115 provides the user with advertisements. As this is going on, enhanced media server 115 begins a search for appropriate segments from each of the hosting media facilities (i.e., local and national television stations) according to the geographical parameters specified by the user. The assembly time varies depending on numerous factors, such as number of requested segments, geographic source of the segments, bandwidth availability, time of day, etc. The media production can be assembled for immediate transmission or delayed, as in this example, the user requested the media production to begin at a certain time (i.e., 9:35 A.M. EST). Enhanced media server 115 assembles these segments and orders them according to the program specifications. Upon completion of the advertisements, the user begins receiving the customized program, which is made up of segments and additional advertisements. Suppose the first segment is a thirty-second segment on the team, which had just been broadcast by local station 1 in the Des Moines area. Along with it is a fifteen-second advertisement. The second segment is a forty-five-second segment on the team that had been broadcast thirty-five minutes earlier by local station 2 in the Sioux City area. It also has a short advertisement. The third segment is a six-minute interview of the coach, which ran four hours before on the Creighton University webcast station. Along with it is a two-minute alumni promo featuring information for contributions to the sports program. In this manner, the customized program proceeds until it is completed or the user logs off enhanced media server 115. This is an example of a user requesting content from various sources on a network throughout the country. In another example, benefit can be derived by a local user requesting content from a local broadcaster. In this example, the user can either scan the menu items on a client viewer by date, specific show, show topics, categories within topics, sub-categories within categories or keyword search. Referring to FIG. 15, flowchart 1500 represents the general operational flow of an embodiment of the present invention. More specifically, flowchart 1500 shows an example of a control flow for providing an enhanced media viewer according to the present invention. The control flow of flowchart 1500 begins at step 1501 and passes immediately to step 1502. At step 1502, a user operates an enhanced media client 120 to gain access to a web site hosted by enhanced media server 115. Enhanced media server 115 delivers a web page (not shown) that provides various data disseminated by the hosting facility. In an embodiment, an icon resides on the web page that allows the user to request a media production that would be assembled according to the methods of the present invention. Activating the icon sends the request to enhanced media server 115. As apparent to one ordinarily skilled in the relevant art(s), other methods can be used to send a request to enhanced media server 115 for a media production, such as sending a URL address; activating hyperlinks, hypertext, or hot spots; and the like. At step 1504, enhanced media server 115 analyzes the client request to identify or authenticate the user. Usernames, password, user profiles, cookies and similar identification methods can be used to identify the user. The first time a user sends a request for a media production (or if specified in the user profile), the control flow passes to step 1506. At step 1506, enhanced media server 115 prepares a standard viewer (such as, media viewer 1102 described below in reference to FIG. 11). The standard viewer would include a standardized listing of available media selections (e.g., news stories) displayed in a menu format (such as, media index 1104 described below in reference to FIG. 11). If, however, the user has established a profile for customized programming, the control flow would pass from step 1504 to step 1508. At step 1508, enhanced media server 115 prepares a customized viewer (such as, media viewer 1102) that would include a customized listing of available media selections (shown in media index 1104). The customized listing would identify, for example, news stories specified in the user profile. In an embodiment, the user would register and complete profile that specifies preferred topics or categories of interest. The user can specify other parameters, such as the duration of a customized program, start or end time, geographic source of the content, and the like. In another embodiment, the present invention queries search engines, inference engines and the like to extract user preferences from past behavior or demographics. At step 1510, enhanced media server 115 sends the viewer to be displayed by the enhanced media client 120. Notwithstanding the receipt of a standard or customized viewer, the user can opt to switch to different viewer or change the customization parameters. As described in reference to FIG. 11, index button 1118 is provided in an embodiment to allow the user to toggle between a standard or customized listing of media selections. Upon receipt of the viewer, the control flow ends as indicated at step 1595. Referring to FIG. 16, flowchart 1600 represents the general operational flow of an embodiment of the present invention. More specifically, flowchart 1600 shows an example of a control flow for producing and distributing enhanced media according to the present invention. The control flow of flowchart 1600 begins at step 1601 and passes immediately to step 1602. At step 1602, the user operates an enhanced media client 120 to receive an enhanced media viewer as described in steps 1501-1595 of FIG. 15. The user would review, for example, the news stories displayed in the standard or customized listing (e.g., media index 1104 of FIG. 11 below). The user can request to review all or a subset of the displayed stories in any order. The user would operate enhanced media client 120 to send the request to enhanced media server 115. At step 1604, enhanced media server 115 would interact with IM server 130 to verify the availability and obtain the location of the selected news stories. Enhanced media server 115 would also interact with streaming server 125 to assemble and encode the selected news stories. During this process, streaming server 125 would also include various media enhancements into the media stream with the news stories. The media enhancements could include extended play video, related web sites, supporting graphics and the like. Additionally, enhanced media server 115 would interact with AD server 135 to link national or local advertisements with the media streams. The advertisements could include active banners, pre-roll commercials, email correspondence and similar promotions. At step 1606, the media stream containing the requested news stories, media enhancements and advertisements are transmitted to the requesting enhance media client 120. In an embodiment, the media stream is continuously feed to the media client 120 to produce a seamless or near seamless display. This is accomplished by using the fragmentation and buffering techniques of the present invention, as described detail below. However in another embodiment, the media production can be downloaded for delayed viewing. In another embodiment, the media production can be saved on a local memory of the enhanced media client 120 for future viewing. At step 1608, enhanced media server 115 collects various types of data from the enhanced media client 120 in regards to the media production. In an embodiment, the quantity and types of linked advertisements are logged and tracked. In another embodiment, data is collected to track the quantity of click-throughs, page-views, hits and the like for each linked advertisement. The data tracking functionality of the present invention is provided to measure the quantity of consumers that actually receive a specific advertisement. In an embodiment, pricing models are based on consumer demand and behavioral patterns, and the sponsor of the advertisement is invoiced accordingly. The revenue generated from the pricing models are apportioned among network participants, including, but not limited to, (1) the television stations or other media hosting facilities which create or provide the media production, (2) the operator of the portal hosting the web page that permits the user to request the media production, and (3) other participants in the network. Upon collection of the advertisement metrics and the accounting of the advertisement revenue, the control flow ends as indicated at step 1695. Thus, the present invention provides a method and system for distributing enhanced media and advertisements over a widely distributed network in response to the actual demands and behavioral patterns of online viewers. The present invention permits advertisements to be linked to the enhanced media and presented to the viewers who are most likely to purchase the promoted item. The cost for such advertisements is based on the actual distribution to the viewer, and the resulting revenue is apportioned among the network participants. Moreover, the present invention supports various reporting features that ensure the accuracy and completeness of the accounting functionality. II. Enhanced Media Production and Storage The system and method of the present invention supports live and on-demand distribution of media productions over a widely distributed communications network. The media productions primarily include video of news programs, television programming (such as, documentaries, situation comedies, dramas, variety shows, interviews, and the like), sporting events, concerts, infomercials, movies, video rentals, and the like. Media productions also include live or recorded audio (including radio broadcast), graphics, text, and other forms of media and multimedia. 1. Media Production System The system and method of the present invention is configurable to receive, generate or transmit media productions from a variety of sources. Referring back to FIG. 1, media production system 145 is one media source for system 100. Media production system 145 is representative of a conventional, manual multimedia production environment or an automated multimedia production system. 1.1. Manual Media Production In an embodiment, the present invention is implemented with a manual media production system. Conventionally, the execution of a live or live-to-tape video show, such as a network news broadcast, talk show, or the like, is largely a manual process involving a team of specialized individuals working together in a media production environment having a studio and a control room. The media production environment is comprised of many diverse types of media production devices, such as video cameras, microphones, video tape recorders/players (VTRs), video switching devices, audio mixers, digital video effects devices, teleprompters, and video graphic overlay devices, and the like. The basics of video production techniques is described in "Television Production Handbook," Zettl, 1997 Wadsworth Publishing Company, which is incorporated herein by reference. In a conventional production environment, the media production devices are manually operated by a production crew (which does not include the performers and actors, also known as the "talent") of artistic and technical personnel working together under the supervision of a director. A standard production crew is made up of four or more individuals, including camera operators (usually one for each camera, where there are usually three cameras), a video engineer who controls the camera control units (CCUs) for each camera, a teleprompter operator, a character generator operator, a lighting director who controls the studio lights, a technical director who controls the video switcher, an audio technician who controls an audio mixer, tape operator(s) who control(s) a bank of VTRs, and a floor director inside the studio who gives cues to the talent. Typically, the director coordinates the entire production crew by issuing verbal instructions to them according to a script referred to as a director's rundown sheet. Generally, each member of the production crew is equipped with a headset and a microphone to allow constant communication with each other and the director through an intercom system. Upon completion of the media production, the resulting video tape, film or digital recording is outputted or feed into media encoding system 140 or archived in media production IMS 150, as shown in FIG. 1. Media production IMS 150 permits the media to be saved or retrieved by filename for future editing or broadcasts. In an embodiment, an operator would use a computer workstation (not shown) to edit or format the video or the like prior to the media being transmitted to media encoding system 140 or media production IMS 150. In another embodiment, the program is fed in real time to the media encoding system 140 and stored (e.g., media production IMS 150) in an encoded format for editing. 1.2. Automated Media Production In another embodiment, media production system 145 is representative of an automated multimedia production environment, and produces live and live-to-tape broadcasts of a media production. In this embodiment, media production system 145 is a fully integrated multimedia production system that is operable to automate the execution of a show in analog and digital video environments. As an automated system, media production system 145 is preferably, but not necessarily, of the type described in commonly assigned U.S. Pat. Ser. No. 09/634,735, filed Aug. 8, 2000, by Snyder et al., and entitled "System and Method for Real Time Video Production and Multicasting," (hereinafter referred to as "the '735 application"). The disclosure of the '735 application is incorporated herein by reference as though set forth in its entirety. In an embodiment, media production system 145 commands and controls the operation of a variety of media production devices. The term "media production device" is intended to include video switcher, digital video effects device (DVE), audio mixer, teleprompting system, video cameras and robotics (for pan, tilt, zoom, focus, and iris control), record/playback device (RPD), character generator, still store, studio lighting devices, news automation devices, master control/media management automation systems, commercial insertion devices, compression/decompression devices (codec), virtual sets, and the like. The term "RPD" includes VTRs, video recorders/servers (including media production IMS 150), virtual recorder (VR), digital audio tape (DAT) recorder, or any device that stores, records, generates or plays back via magnetic, optical, electronic, or any other storage media. In an embodiment, media production system 145 receives and routes live feeds (such as, field news reports, news services, sporting events, and the like) from any type of communications source, including satellite, terrestrial (fiber optic, copper, coaxial, and the like), radio, microwave or any other form or method of video transmission, in lieu of, or in addition to, producing a live show within a studio. In addition to controlling media production devices, media production system 145 is configurable to convert a show rundown into computer readable broadcast instructions to automate the execution of a show without the need of an expensive production crew to control the media production devices. In an embodiment, the broadcast instructions are created from the Transition Macro.TM. multimedia production control program developed by ParkerVision, Inc. (Jacksonville, Fla.) that can be executed to control an automated multimedia production system. As described in the '735 application, the Transition Macro.TM. program is a timeline-based application that allows serial and parallel processing of media production commands to automate the control of a multimedia production environment. Each media production command is associated with a timer value and at least one media production device. FIG. 4 (shown as FIG. 4a and FIG. 4b) illustrates an embodiment of an interactive time sheet created by a timeline-based application on a graphical user interface (GUI) 400. The time sheet includes a horizontal timeline 402 and one or more horizontal control lines 404a-404p. Automation control icons 406a-406t are positioned onto control lines 404a-404p at various locations relative to timeline 402, and configured to be associated with one or more media production commands and at least one media production device. FIG. 4a illustrates an embodiment of the time sheet prior to the placement of automation control icons 406a-406t onto control lines 404a-404p, and FIG. 4b illustrates an embodiment of the time sheet after such placement of automation control icons 406a-406t. A timer (not shown) is integrated into timeline 402, and operable to activate a specific automation control icon 406a-406t as a timer indicator 408 travels across timeline 402 to reach a location linked to the specific automation control icon 406. As a result, media production system 145 would execute the media production commands to operate the associated media production device. In regards to automation control icons 406a-406t, label icon 406a permits a director to name one or more segments or portions of a time sheet. In embodiment, the director would drag and drop a label icon 406a onto control line 404a, and double click on the positioned label icon 406a to open up a dialogue box to enter a text description. The text would be displayed on the positioned label icon 406a. Referring to FIG. 4, exemplary label icons 406a have been generated to designate "A01," "CUE," "OPEN," "A02," etc. Control line 404a is also operable to receive a step mark icon 406b, a general purpose input/output (GPI/O) mark icon 406c, a user mark icon 406d, and an encode mark 406e. Encode mark 406e is described in detail below with reference to FIG. 5. Step mark icon 406b and GPI/O mark icon 406c are associated with time sheet step commands. The time sheet step commands instruct timer indicator 408 to start or stop running until deactivated or reactivated by the director or another media production device. For example, step mark icon 406b and GPI/O mark icon 406c can be placed onto control line 404a to specify a time when timer indicator 408 would automatically stop running. In other words, timer indicator 408 would stop moving across timeline 402 without the director having to manually stop the process, or without another device (e.g., a teleprompting system (not shown)) having to transmit a timer stop command. If a step mark icon 406b is activated to stop timer indicator 408, timer indicator 408 can be restarted either manually by the director or automatically by another external device transmitting a step command. If a GPI/O mark icon 406c is used to stop timer indicator 408, timer indicator 408 can be restarted by a GPI or GPO device transmitting a GPI/O signal. In an embodiment, step mark icon 406b and GPI/O mark icon 406c are used to place a logically break between two segments on the time sheet. In other words, step mark icon 406b and GPI/O mark icon 406c are placed onto control line 440a to designate segments within a media production. One or more configuration files can also be associated with a step mark icon 406b and GPI/O mark icon 406c to link metadata with the designated segment. Transition icons 406f-406g are associated with automation control commands for controlling video switching equipment. Thus, transition icons 406f-406g can be positioned onto control lines 404b-404c to control one or more devices to implement a variety of transition effects or special effects into a media production. Such transition effects include, but are not limited to, fades, wipes, DVE, downstream keyer (DSK) effects, and the like. DVE includes, but is not limited to, warps, dual-box effects, page turns, slab effects, and sequences. DSK effects include DVE and DSK linear, chroma and luma keyers. Keyer control icon 406h is positioned on control line 404d, and used to prepare and execute keyer layers either in linear, luma, chroma or a mix thereof for preview or program output. The keyers can be upstream or downstream of the DVE. Audio icon 406i can be positioned onto control line 404e and is associated with commands for controlling audio equipment, such as audio mixers, digital audio tape (DAT), cassette equipment, other audio sources (e.g., CDs and DATs), and the like. Teleprompter icon 406j can be positioned onto control line 404f and is associated with commands for controlling a teleprompting system to integrate a script into the timeline. Character generator (CG) icon 406k can be positioned onto control line 404g and is associated with commands for controlling a CG or still store to integrate a CG page into the timeline. Camera icons 406l-406n can be positioned onto control lines 404h-404j and are associated with commands for controlling the movement and settings of one or more cameras. VTR icons 406p-406r can be positioned onto control lines 404k-404m and are associated with commands for controlling VTR settings and movement. GPO icon 406s can be positioned onto control line 404n and is associated with commands for controlling GPI or GPO devices. Encode object icon 406t can be positioned onto control line 404p and is associated with encoding commands which are described in detail below with respect to FIG. 7. User mark icon 406d is provided to precisely associate or align one or more automation control icons 406a-406c and 404e-404t with a particular time value. For example, if a director desires to place teleprompter icon 406j onto control line 404f such that the timer value associated with teleprompter icon 406j is exactly 10 seconds, the director would first drag and drop user mark icon 406d onto control line 404a at the ten second mark. The director would then drag and drop teleprompter icon 406j onto the positioned user mark icon 406d. Teleprompter icon 406j is then automatically placed on control line 404f such that the timer value associated with teleprompter icon 406j is ten seconds. In short, any icon that is drag and dropped onto the user mark 406d is automatically placed on the appropriate control line and has a timer value of ten seconds. This feature helps to provide multiple icons with the exact same timer value. After the appropriate automation control icons 406 have been properly position onto the time sheet, the time sheet can be stored in a file for later retrieval and modification. Accordingly, a show template or generic time sheet can be re-used to produce a variety of different shows. A director could recall the show template by filename, make any required modifications (according to a new rundown sheet), and save the time sheet with a new filename. As described above, one media production device is a teleprompting system (not shown) that includes a processing unit and one or more displays for presenting a teleprompting script (herein referred to as "script") to the talent. In an embodiment, the teleprompting system is the SCRIPT Viewer.TM., available from ParkerVision, Inc. As described in the '735 application, a teleprompting system can be used to create, edit, and run scripts of any length, at multiple speeds, in a variety of colors and fonts. In an embodiment of the present invention, the teleprompting system is operable to permit a director to use a text editor to insert media production commands into a script (herein referred to as "script commands"). The text editor can be a personal computer or like workstation, or the text editor can be an integrated component of time sheet GUI 400. Referring to FIG. 4, text window 410 permits a script to be viewed, including script commands. Script controls 412 are a set of graphical controls that enable a director to operate the teleprompting system and view changes in speed, font size, script direction and other parameters of the script in text window 410. The script commands that can inserted by the teleprompting system include a cue command, a delay command, a pause command, a time sheet step command, and an enhanced media command. As discussed below, enhanced media commands permit the synchronization of auxiliary information to be linked for display or referenced with a script and video. This allows the enhanced media client 120 to display streaming video, HTML or other format graphics, or related topic or extended-play URLs and data. The present invention is not limited to the aforementioned script commands. As would be apparent to one skilled in the relevant art(s), commands other than those just listed can be inserted into a script. 1.3. Radio Broadcasts In an embodiment of the present invention, media production system 145 is operated by a hosting radio station. Enhanced media clients 120 can be located within the broadcast region of the hosting radio station, such that a listener can receive the radio broadcast with the aid of a conventional radio. Alternatively, enhanced media clients 120 can be located in a remote (including international) area. If remotely located, enhanced media clients 120 would receive the broadcasts over communication interface 110 (e.g., the Internet) and played to the listener with conventional audio files. Hence, in an embodiment, a hosting radio station utilizes media production system 145 to provide live or on-demand downloads or streams of audio content (e.g., WAV files) to enhanced media clients 120. The audio content can be related or unrelated to a currently aired radio broadcast. In an embodiment, the radio station is equipped with manually operated or automated multimedia production equipment. The media production equipment is used to produce live or live-to-tape recordings of a radio program. A listener (operating an enhanced media client 120) would therefore be able to download or receive streams of live or on-demand video of a disc jockey, program host, program guest, and the like, while the listener receives the audio broadcast on a radio or an enhanced media client 120. In an embodiment, the radio station web site that provides access to an audio or video production is also operable to promote various merchandise related to the audio or video production. For example, the merchandise can include compact discs, DVD or music videos related to the broadcast content. Other merchandise includes clothing, posters and like paraphernalia. The merchandise promotions can be linked to a specific audio or video segment, or a more generic advertising scheme. In addition, enhanced media server 115 could stream archived music videos. Once viewed by the user on enhanced media client 120, a purchase can be made of the music video via an electronic shopping cart, email request or other electronic means to obtain a copy in either a streaming format such as an MP3 or WAV file, compact disc or other media type. 2. Content Archival and Retrieval The system and method of the present invention can be integrated with content supplied from a variety of sources. To enable future recall of recordings and support on-demand functionality, an indexing scheme is implemented to uniquely identify each content, including segments of the content. The indexing scheme uses content production codes to mark or identify a segment within a media stream. For example, a multimedia production of a newscast is composed of various video segments, such as an individual news clip, weather report, sports updates, and the like. Each segment is given a unique name to enable the system and method of the present invention to identify or load that particular segment. The content production code can be embodied as a time code, frame code, or other universal marking schemes. In an embodiment, the content is marked with a time code. The time code can be associated with the content when the content is created by the originating source or received by a querying system (i.e., media production system 145). The time code can include data that identifies the source of the media production. Other markings can also be added to supplement the time code as would be apparent to one skilled in the relevant art(s). In an embodiment, the content is marked with a frame code to identify a media segment. The frame code is selected from a list of alphanumerical characters or other symbols. Similar to a time code, the frame code can also be supplemented with a marking to identify the source of the media production, or other identifiers as would be apparent to one skilled in the relevant art(s). In an embodiment, the content is marked with a universal marking scheme based on alphanumeric characters, symbol, or a combination thereof. The universal marking scheme permits the querying system to uniquely classify or identify a specific media segment. Additionally, the universal marking scheme utilizes an absolute standard for labeling content for worldwide distribution. For example, in an embodiment, the content is created by a time-based automated multimedia production system, such as the interactive time sheet shown in GUI 400. In this embodiment, referring back to FIG. 4, a content production code (e.g., time code, frame code, universal marking, and the like) is selected as timer indicator 408 moves across timeline 402 to activate a specific icon 406 to trigger a video transition. When timer indicator 408 advances beyond the specific icon 406, media production system 145 would instruct a media production device to mark the segment following the video transition with the selected content production code. The content production code can subsequently be used to identify, archive or retrieve specific segments from a media production (e.g., televised show). In an embodiment, the content production code is stored with other metadata, such as a segment descriptor (e.g., sports, weather, or news story topic tags). As discussed, the system components are operable to query and write to various archival and retrieval systems, such as media production IMS 150, extended-media IMS 160, and advertisement IMS 170. In an embodiment, a media production is stored in an archival and retrieval system after the content is created or retrieved, and labeled (if not properly marked with a content production code). The archival and retrieval system can include a secondary memory (such as, secondary memory 310 described in reference to FIG. 3 above). To support larger volumes of content, one or more integrated databases or a data warehouse system is used to store the content to support the respective server as described herein. In an embodiment, the archival and retrieval system includes a relational or object oriented (OO)/component based database management system (not shown), or the like, that controls the storing, retrieving and updating of data and metadata in the database records. The database management system also controls data integration, enforces integrity rules and constraints (including data integrity and referential integrity), and enforces security constraints. The archival and retrieval system is a scalable system that stores data on multiple disk arrays. Data warehousing can be implemented with the SQL Server 2000 application available from Microsoft Corporation, the Oracle 9i.TM. database available from Oracle Corporation (Redwood City, Calif.), or the like. The archival and retrieval system supports Open DataBase Connectivity (ODBC) or Java DataBase Connectivity (JDBC) protocols. The archival and retrieval system can be centrally located or a widely distributed system. In an embodiment, one or more components of the archival and retrieval system are located at the same facilities of the querying system. In another embodiment, one or more components of the archival and retrieval system are located at the facilities of the originator of the content. Accordingly, the querying system component (e.g., media production system 145) would request the content (e.g., video of a news story) by content production code or the like. In another embodiment, one or more components of the archival and retrieval system is located or managed by a third party. Therefore, the content originator would send or license the content to the third party, and the querying system component (e.g., media production system 145) would request the content by using the content production code or the like. III. Webcast Production In an embodiment of the present invention, enhanced media server 115 streams live video, and/or record and store to a record/playback device (RPD) a live video show. For example, the show can be a news program reporting stories related to weather, sports, business, technology, human interests or other news topics. In a preferred embodiment, the entire show is video streamed over the Internet (i.e., communication infrastructure 110) for viewing by one or more users logging into the hosting web site. If a user cannot log in at the scheduled airtime to view the live broadcast, on-demand functionality is available to replay the entire show or selected segments from the show. The live or on-demand broadcasts can be streamed from enhanced media server 115 in real time or downloaded to permanent or temporary files on an enhanced media client 120 for subsequent viewing. Enhanced media server 115 supports client requests for on-demand and customizable broadcasts of a show or selected segments from a show. To enable this functionality, encoded metadata that is descriptive of the segments is created during the media production and saved in the archival and retrieval system (e.g., media production IMS 150, extended-media IMS 160, etc.) in real time. Subsequently, the video frames from the show can be retrieved by the associated metadata, such as the content production code. Referring back to FIG. 1, an encoding process is implemented by media encoding system 140 or extended-media encoding system 155. Irrespective of whether the content is prepared by manual or automated production techniques, media production system 145 or media production IMS 150 transmits the content to media encoding system 140 to be prepared for transmissions over communication interface 110. Similarly, extended-media encoding system 155 operates to prepare extended-media content from extended-media IMS 160 for online transmissions. In an embodiment, media encoding system 140 and extended-media encoding system 155 use a serial digital interface (SDI) to receive the content. However, the present invention can also be implemented with composite, Y/C, RGB or component analog video or any other parallel interfacing. 1. Operational Description In an embodiment, media encoding system 140 and extended-media encoding system 155 (collectively referred to as "encoding system") utilize timeline-based technology to multiplex media content (e.g., video segment) and metadata into a single media stream. In an embodiment, the encoding system converts uncompressed video or audio data to compressed digital streams or files. The encoding system is configurable to compress video files (e.g., avi format), audio clips (e.g., wav format), and still images (e.g., bmp or jpg formats) into an MPEG format or the like. The encoding system is also configurable to re-encode an existing MPEG file, or the like, to modulate the file parameters (e.g., bit rate, video dimensions, frame rates, sampling rates, and the like). Finally, the encoding system can be configured to index or catalog the encoded media streams, or segments of the encoded media streams. Indexing or cataloging reduces the encoding processing time and memory requirements for future transmissions of the same streams. As described above, the encoding system of the present invention is operable with both an automated and manually-operated configuration of media production system 145. With both content sources, the encoding system formats the media content with timeline-based techniques or methodologies. Referring back to FIG. 4, GUI 400 illustrates an embodiment of a time sheet that can be used to encode a media production from an automated environment. As discussed above, control lines 404a-404n contain automation control icons 406a-406s that are operable to automatically control media production devices and produce a video show. However, control lines 404a and 404p are used to enter encode mark 406e and encode object icon 406t, respectively, that are associated with encoding commands. As timer indicator 408 moves across timeline 402, the associated encode mark 406e and encode object icon 406t would send commands to the encoding system to format the media streams. In an embodiment, a director can enter encode mark 406e and encode object icon 406t onto control lines 404a and 404p, respectively, when the director uses media production system 145 to place the other automation control icons 406a-406d and 406f-406s that are associated with other media production commands onto control lines 404a-404n. In another embodiment, a director can enter encode mark 406e and encode object icon 406t after the media production has been completed and approved. In this embodiment, the director could use either media production system 145 or media encoding system 140 to enter encode mark 406e and encode object icon 406t. FIG. 5 illustrates the top region of GUI 400 to provide a view of control line 404a. Control line 404a is used to enter icons 406a-406d that are associated with step commands and icon alignment commands, as discussed above. Another automation control icon that can be placed on control line 404a is encode mark 406e. In an embodiment, encode mark 406e operates like a Web Mark.TM. developed by ParkerVision, Inc. During the encoding process, encode mark 406e identifies a distinct segment within a media production. As timer indicator 408 advances beyond encode mark 406e, the encoding system is instructed to index the beginning of a new segment. In an embodiment, as the encoding process is executed, media encoding system 140 automatically clips the media production into separate files based on the placement of encode mark 406e. This facilitates the indexing, cataloging and future recall of segments identified by the encode mark 406e. In an embodiment, the properties of each encode mark 406e are established by activating encode mark 406e to open a configuration GUI. FIG. 6 illustrates an embodiment of an encode mark configuration GUI 600. GUI 600 can be used to set the time for initiating the encoding commands associated with encode mark 406e. The time can be manually entered or is automatically entered at the time of placing encode mark 406e on control line 404a. GUI 600 also permits an operator to designate a name for the segment, and specify the segment type classification. Segment type classification includes a major and minor classification. For example, a major classification or topic can be sports, weather, headline news, traffic, health watch, elections, and the like. Exemplary minor classifications or category can be local sports, college basketball, NFL football, high school baseball, local weather, national weather, local politics, local community issues, local crime, editorials, national news, and the like. Classifications can expand beyond two levels to an unlimited number of levels for additional granularity and resolution for segment type identification and advertisement targeting. In short, the properties associated with each encode mark 406e provide a set of metadata that can linked to a specific segment. These properties can be subsequently searched to identify or retrieve the segment from an archive. FIG. 7 illustrates the bottom region of GUI 400 to provide a view of control line 404p. Control line 404p is used to enter icons automation control icon 406t that is associated with encoded transmission commands. The encoded transmission commands instructs the encoding system to start or stop the encoding process until deactivated or reactivated by an operator or another media production device. Encode object icons 406t are placed on control line 404p to produce encode objects. In an embodiment, encode object icon 406t operates like Web Objects.TM. developed by from ParkerVision, Inc. FIG. 8 illustrates an embodiment of a configuration GUI 800 that can be used to set the searchable properties of each encode object icon 406t. In this embodiment, start stream object 802, data object 804 and stream stop object 806 are three types of encode object icons 406t that can be used. Start stream object 802 initializes the encoding system and starts the encoding process. In comparison with encode mark 406e, start stream object 802 instructs the encoding system to start the encoding process to identify a distinct show, whereas encode mark 406e instructs the encoding system to designate a portion of the media stream as a distinct segment. The metadata contained in start stream object 802 is used to provide a catalog of available shows, and the metadata in encode mark 406e is used to provide a catalog of available show segments. Data object 804 is used to identify auxiliary information to be displayed with the media stream. As described in detail below, auxiliary information includes graphics or text in a HTML page and is referenced in GUI 800 by its URL address. Stream stop object 806 is used to stop the encoding process and designate the end of a distinct show. Once timer indicator 408 passes the stream stop object 806, the encoding system would start the post-production processes, such as, including indexing segments, cataloging segments, pacing script, and the like. The encoding start and stop times can be manually entered into GUI 800 or automatically updated upon placement of start stream object 802, data object 804 or stop stream object 806 onto control line 404p. GUI 800 also permits one to designate a show identifier, show name or description for the production. Other properties include the scheduled or projected air date and air time for the production. A copyright field is provided to specify any restrictions placed on the use or re-use of a specific show or show segment. For example, a broadcasting studio may not have a license to transmit a specific content on the Internet, but may have permission to provide the content over a private network or the air waves. The content can be restricted for educational uses, single broadcast, transmissions to designated clients, and the like. The appropriate component of system 100 (e.g., enhanced media server 115, streaming server 125, IM server 130, etc.) would verify the copyright field prior to streaming the content to an enhanced media client 120. Referring back to FIG. 4 and FIG. 7, as timer indicator 408 moves or passes over each encode object icon 406t (i.e., start stream object 802, data object 804 or stop stream object 806), the associated encoding commands are automatically processed. However, the present invention enables an operator to manually alter the encoding process during execution. In particular, encoding control region 702 provides a set of graphical controls that enable an operator to modify the encoding process. The encoding graphical controls include a ready control 704, start control 706, stop control 708, and data control 710. Ready control 704 has an "activate" state and "de-activate" state. As such, ready control 704 is operable to send "read" or "not read" commands to timer indicator 408 depending on whether ready control 704 is operating in an activate or de-activate state, respectively. In an embodiment, when ready control 704 is operating in an activate state, timer indicator 408 signals the encoding system to read and process the associated encoding commands as timer indicator 408 passes each encode object icon 406t and encode mark 406e. Similarly, when deactivated, ready control 704 instructs timer indicator 408 to signal the encoding system to not read the encoding commands associated with each encode object icon 406t and encode mark 406e. Therefore, when ready control 704 is de-activated, ready control 704 allows directors to perform test runs to preview a show prior to the broadcast. A preview mode is desirable to allow directors to check the show to make sure that the correct sources and transitions are selected. Start control 706 is used to initiate the encoding system manually. In an embodiment, start control 706 is operable to manually override a deactivate state established by ready control 704 or stop control 708 (discussed below). Start control 706 can be used to manually activate the encoding process to send media streams to streaming server 125 that contain time-sensitive production elements, such as a breaking news element, or other manually prepared media productions. Stop control 708 is operable to deactivate the encoding process and stop transmissions to streaming server 125. Stop control 708 would deactivate an encoding process initiated by either ready control 704 or start control 706. Stop control 708 provides directors with the ability to stop the encoding system manually to avoid airing any unauthorized content as an example. Data control 710 is used to enter auxiliary information and link the information to a specific segment or an entire show. The auxiliary information is entered by typing the URL reference in reference window 712 and activating data control 710. Accordingly, auxiliary information can be entered via the configuration GUI 800 for data object 804 or reference window 712. Data control 710 enables directors to enter URLs at any time during manual operations. The aforementioned embodiments have been described with reference to an automated media production system 145. However, the encoding system of the present invention can also be implemented as a stand-alone embodiment for processing media produced from manual or conventional media production methodologies or techniques. FIG. 9 illustrates another embodiment of an interactive time sheet GUI 900 for encoding a media production. GUI 900 is primarily configured to support stand-alone operational capabilities, but is also used in automated environments as an approval process to fine tune the beginning and end of segments. Additionally in an automated environment, GUI 900 can be configured to add, delete or modify segments and links before preparing them for on-demand access. In either case, the media content does not need to be produced in an automated production environment. Even if the media is produced in an automated production environment, the encoding system can be implemented without the media production commands provided from control lines 404a-404n shown in FIG. 4. Referring back to FIG. 9, GUI 900 includes a descriptive bar 902, horizontal timeline 402, timer indicator 408, and control lines 904a-904b. Descriptive bar 902 identifies specific segments of a media production. For example, if the media production is a newscast, each region within descriptive bar 902 can be used to label each story or feature of the broadcast, such as finance, weather, sports, health watch, commercial advertisement, story 1, story 2, and the like. An editor or director would use control line 904a to place a segment mark icon 906 (shown as 906a and 906b). Segment mark icon 906 identifies the start of an element, segment, or show. By default, segment mark icon 906 also identifies a stopping point for a respective element. Since these icons identify each element individually, they allow the editor or director to edit out any particular story, commercial, or the like. Segment mark icon 906 is similar to encode mark icon 506 by being configurable to initiate encoding commands to designate a segment name, and specify a segment type classification. Segment mark icon 906 can also be used to cut, edit, or fragment a media production. When activated, segment mark icon 906 instructs the encoding system to label and catalog the designated region of the media stream, so that a specific segment can be retrieved for future productions. Segment break icon 906 is also used to cut a segment prior to its actual completion. This can be used to remove unwanted portions of a segment. It can also be used to remove a segment portion tie to insert another video segment or commercial. For example, descriptive bar 902 show twelve news story elements (i.e., sir Story 1, Story 2, etc.) and four feature elements (i.e., Finance, Weather, etc.) from a previously broadcast or recorded news program. Segment icons 906a designates the start and end points for each element. An editor or director preparing the program to be broadcast or re-broadcast would place segment icons 906b at desired locations to insert, for example, a commercial feed or another story. In this example, segment icon 906b would be used to cut Story 3, Story 6 and Story 10 at the indicated positions on the timeline. Hence, block 920a designates the first section of the news program that precedes the first commercial feed inserted at block 920b. Likewise, block 920c designates the next section of the news program preceding the second commercial feed at 920d, and so forth with respect to blocks 920e, 920f and 920g. As intimated, the above example has been provided for illustrative purposes. As would be apparent to one skilled in the relevant art(s), other methodologies or techniques can be implemented to edit a media production and insert additional elements. For example, in lieu of cutting any portion of a video segment, the editor or director could shift the start or stop time for the respective element to make room for a new element (e.g., commercial) on the timeline. Additionally, the editor or director could adjust the properties defined by encode object 910. Control line 904b is used for the placement of encode object 910. Similar to start stream object 802, data object 804, and stop stream object 806, encode object 910 is configurable to instruct the encoding system to integrate metadata with the associated media segment(s) to label and catalog a show and specify auxiliary information to be transmitted with the media segment(s). GUI 900 also includes graphical controls that enable an editor or director to control or reconfigure the encoding process. Ready control 704, start control 706, stop control 708, data control 710, and reference window 712 have been described with reference to FIG. 7. Approve control 912 provides the director or editor with the ability to approve an encoded media production prior to being transmitted to streaming server 125. In an embodiment, GUI 900 is a component of a video editing processor. As pre-recorded video is processed by the editing station, GUI 900 is operable to mark, reformat and edit the video consistent with the encoding commands associated with the appropriate icons 906, 908 and 910. As such, the encoding system of the present invention can be used to provide enhance media content to any media production regardless of its source. As discussed in the above embodiment, to cut or fragment a media production, an operator would manually enter a segment mark icon 906 or segment break icon 908 to instruct the encoding system to fragment the media at the designated location. An embodiment of a fragmentation process used by the encoding system is shown in FIG. 10. Flowchart 1000 represents an example of a control flow for fragmenting media productions according to the present invention. The control flow of flowchart 1000 begins at step 1001 and passes immediately to step 1004. At step 1004, the encoding system uses a reader (not shown) to scan an input file that contains the media production. The encoding system also includes a timer (not shown) that is set at a start time (e.g., zero). From a beginning point within the file, the reader scans the media production until the reader detects the first keyframe. If no keyframe is detected, the control flow ends at step 1095. The encoding system can be configured to repeat the scanning processes of step 1004 for a predetermined number of times or time period, prior to passing to step 1095. If a keyframe is detected, the control flow passes to step 1008. At step 1008, the reader suspends the scanning process and notes the keyframe time. The timer is also reset to the start time. At step 1012, the reader restarts at the beginning point within the media production and collects uncompressed media (e.g., video and/or audio) until the timer reaches the time noted as the keyframe time. At step 1016, the encoding system uses a writer (not shown) to write the uncompressed media (e.g., video and/or audio) through a codec device (not shown) for compression. At step 1020, the mode is changed to reconfigure the reader to return compressed media and the writer to not use the codec device. The new beginning point is designated as being the point after the keyframe. Afterwards, the control flow returns to step 1004 to repeat the fragmentation process until all keyframes have been detected. The fragmentation method embodied by FIG. 10 produces a newly cut file with a keyframe at the start of the clip instead of using delta frames. Additionally, the present invention provides a method for minimizing the requirements for recompression, which in turn improves the quality of the production. Since the entire clip does not have to be recompressed, the fragmentation method of the present invention imparts a significant improvement over conventional video editing methodologies, because the present invention permits faster, real-time productions and allows the encoding system to insert better start and stop points between segments that enable near seamless smooth transitions. In an embodiment, the encoding process of the present invention is implemented at multiple simultaneous rates. For example, a media production can be encoded simultaneously at 56 kbps, 100 kbps and 300 kbps. Therefore, the fragmentation process described in FIG. 10 can be performed in parallel with other encoding processes. 2. System Features Enhanced media server 115 can be configured to support a variety of different features to improve the quality of a user's online experience. These features can be implemented regardless of whether enhanced media server 115 is operating as a single portal as shown in FIG. 1 or as a component of an integrated network as shown in FIG. 2. 2.1. Customizable Downstreams The system and method of the present invention uses various methodologies or techniques to permit an online user to customize a unicast to create a customized program. The present invention supports both passive as well as active customization methods. Active customization is supported by the use of templates, such as subject matter specifications, customer profiles, and the like. Passive customization is provided by cookies, inference engines and the like. In an embodiment, a user would complete a subject matter specification (not shown) to establish a customized program. The subject matter specification is a form (e.g., HTML format or the like) that contains various fields that provide instructions to enhanced media server 115 for building a media production. One field can be a preferred topic for the subject matter (such as, sports, weather, headline news, traffic, health watch, elections, and the like). Another field can be a preferred category for the subject matter (such as, local sports, college basketball, NFL football, high school baseball, local weather, national weather, local politics, local community issues, local crime, editorials, national news, and the like). Another field can be a geographical source for the preferred subject matter. Additionally, a field can be a preferred creation time or date for the preferred subject matter. For example, the user can specify a preference for college basketball news stories produced within the past two days about teams residing in the southeastern United States. The subject matter specification can also include fields for other user defined parameters, such as the length or duration of the requested media production, a start time for transmitting the media production, an end time for stopping the transmission, and the like. Using a form to produce a subject matter specification has been provided for illustrative purposes. As would be apparent to one skilled in the relevant art(s), other formats can be used to acquire the requisite data for a subject matter specification. For example, a pull-down menu or an interactive sequencing of dialog boxes (e.g., wizard) can be used to guide the user through the process. In another embodiment of the present invention, the user would create a user profile to establish a customized program. Similar to a subject matter specification, a user profile collects various data to instruct enhanced media server 115 to build a media production. As discussed above, the data includes preferred topics, categories, content source, duration, start time, and the like. Moreover, the data for the user profile also can be collected from an HTML form, pull-down menu, wizard and the like. However, a user profile offers one important distinction over a subject matter specification. Subject matter specifications produce a customized program for a current session. A user profile, on the other hand, specifies the parameters for creating customized programs for current and future sessions. In other words, a user can access enhanced media server 115 to establish a user profile to specify the contents, duration and layout for current and subsequent live or on-demand downstreams. Since the saved elements, clips, and segments from a show can be rearranged for subsequent transmissions, a user can select, for example, the type of news stories (i.e., lead story, special reports, college football, local weather, traffic, stock market, and the like), and the priority or sequencing of the news stories. In an embodiment, the user can specify for the customized program to be produced and stored for future viewing. The new stories, for example, can be downloaded and saved on a memory device on enhanced media client 120, or the user can access the news stories at a later time from enhanced media server 115. If accessing the news stories from enhanced media server 115, the user can opt to receive the most updated version of the new stories. In an embodiment, the user can configure the profile to request the web site to automatically send email alerts that provide an URL to a live breaking news event. The email alert can be sent to the user email account, or an icon can be created on the client display (for enhanced media client 120) that signals the user. The user can be si | ||||||
