ADVERTISING MANAGEMENT SYSTEM FOR DIGITAL VIDEO STREAMS

Abstract: A system for managing advertisements in a digital video environment, including methods for selecting suitable advertising based on subscriber profiles, and substituting advertisements in a program stream. The Ad management System (100) of the present invention manages the sales and insertion of digital video ads in cable tv, switched digital video and streaming internet based environments.

Description: TITLE Advertising Management System for Digi tal Video Streams Background of the Invention Advertising forms an important part of broadcast programming including broadcast video (television) , radio and printed media. The revenues generated from advertisers subsidize and in some cases pay entirely for programming received by subscribers. For example, over the air broadcast programming (non-cable television) is provided entirely free to viewers and is essentially paid for by the advertisements placed in the shows that are watched. Even in cable television systems and satellite-based systems, the revenues from advertisements subsidize the cost of the programming, and were it not for advertisements, the monthly subscription rates for cable television would be many times higher than at present. Radio similarly offers free programming based on payments for advertising. The low cost of newspapers and magazines is based on the subsidization of the cost of reporting, printing and distribution from the advertising revenues. Techniques for inserting pre-recorded spot messages into broadcast transmission have been known. Generally, broadcast video sources (i.e., TV networks, special interest channels, etc.) schedule their air time with two types of information: "programming" for the purpose of informing or entertaining, and "avails" for the purpose of advertising. The avails may occupy roughly 20-25% of the total transmitting time, and are usually divided into smaller intervals of 15, 30, or 60 seconds. In many prior art systems, the insertion of advertisements in avails is handled by a combination of cue- tone detectors, switching equipment and tape players which hold the advertising material. Upon receipt of the cue tones, an insertion controller automatically turns on a tape player containing the advertisement. Switching equipment then switches the system output from the video and audio signals received from the programming source to the output of the tape player. The tape player remains on for the duration of the advertising, after which the insertion controller causes the switching equipment to switch back to the video and audio channels of the programming source. When switched, these successive program and advertising segments usually feed to a radio-frequency (RF) modulator for delivery to the subscribers. Many subscriber television systems, such as cable television are currently being converted to digital equipment. These new digital systems compress the advertising data, e.g., using Motion Picture Experts Group 2 (MPEG 2) compression, store the compression data as a digital file on a large disk drive (or several drives) , and then, upon receipt of the cue tone, spool ("play") the file off of the drive to a decompressor. The video and accompanying audio data are decompressed back to a standard video and audio, and switched into the video/audio feed of the RF modulator for delivery to the subscriber. A prior art (present model) of providing advertisements along with actual programming is based on linked sponsorship. In the linked sponsorship model, the advertisements are inserted into the actual programming based on the demographic information related to the viewers/subscribers. However, the ability to transmit information digitally allows programming and advertisements to be transported from various geographic locations and arranged in a fashion which permits an optimized program to be presented to a subscriber. The transition to the digital age permits a migration to new methods of advertising based on what is termed orthogonal sponsorship. In orthogonal sponsorship, the advertisements are targeted at subscribers based on a determination that the advertisement will be of interest to the subscriber and that the subscriber is likely to ultimately purchase the product or service being advertised. The digital systems are capable of handling both linked sponsorship, orthogonal sponsorship and a combination of both. However, what is required is a method and apparatus for identifying advertising opportunities, presenting those opportunities to advertisers, receiving information about the advertisements, determining the ability to insert the advertisements, inserting the advertisements, and returning to the program in the digital video arena. Summary of the Invention The present invention is a method and apparatus for managing advertisements in a digital environment, including methods for selecting suitable advertising based on subscriber profiles, and inserting targeted (selected) advertisements in the program streams or substituting existing advertisements in a program stream with targeted advertisements . The Ad Management System (AMS) of the present invention manages the sales and insertion of digital video advertisements (hereinafter "ads") in cable television, switched digital video, and streaming video (Internet) based environments. The AMS provides advertisers an ability to describe their advertisements in terms of target market demographics, required ad bandwidth, ad duration, and other ad specific parameters. The AMS receives the ad descriptions that include some or all of the aforementioned parameters, and matches the ads to the advertising opportunities ("avails") available in the programming stream. The AMS tracks different avails including duration and bandwidth of the avail, and uses a number of schemes to determine if the ad can be placed in the avail. In one embodiment, the ads are received in a high resolution state with minimum compression, and are compressed to a predetermined bandwidth. One of the key functions of the AMS is its ability to allow ads to be matched to groups of subscribers (e.g. nodes in cable television environments) or to individual subscribers in the switched digital video or streaming video environments. The service is provided at no cost to the subscriber/consumer, however, the economic efficiencies are created and may be used to provide a revenue stream to the cable operator, profiler and ad service operator. Another key aspect of the present invention is one or more privacy features wherein the raw consumer/subscriber data is maintained private on a Secured Correlation Server (SCS). The raw consumer/subscriber data is not available for sale or is not accessible by third parties. Thus, the AMS forms part of a matching service, in which advertisers work in conjunction with subscribers, profilers (video surfstream profilers, Internet profilers, and retail outlets) , and network operators to allow subscribers to receive more targeted ads while protecting the privacy of the subscribers. The network operator may be a cable, Digital Subscriber Line (DSL), or satellite network operator. Subscribers receive the benefits of being able to have advertisements which are more targeted to their lifestyle in addition to receiving discounts from retailers and service providers . Furthermore, a plurality of different methods may be used for inserting targeted advertisements in the actual program streams (digital video streams) . In one embodiment, a method of synchronous ad insertion is presented in which ads are simultaneously placed in a digital video stream. The synchronous insertion method may be implemented using constant bit rate (CBR) or available bit rate (ABR) techniques. A plesiochronous method may also be used in which ads are inserted within a timing window. CBR or ABR techniques may also be used in the plesiochronous ad insertion method. Alternatively, an asynchronous ad insertion method may be used in which ads are asynchronously inserted in the video streams. For the transport of advertisements, an in-band channel may be used. The in-band channel delivers the advertisements in real-time at the moment of insertion, and the ads are not pre-stored in any storage medium. Alternatively, the advertisements may be transported via an out-of-band channel and may be stored in a storage medium for subsequent insertion into the program streams. The present invention may also be used to monitor the program bandwidth and determine if an ad may ; ~e placed in that bandwidth. Generally, the ads are received in a high resolution state with minimum compression, and are compressed to a predetermined bandwidth at the time of insertion. These and other features and objects of the invention will be more fully understood from the following detailed description of the preferred embodiments which should be read in light of the accompanying drawings. Brief Description of the Drawings The accompanying drawings, which are incorporated in and form a part of the specification, illustrate the embodiments of the present invention and, together with the description serve to explain the principles of the invention. In the drawings: FIG. 1 illustrates an advertisement management system (AMS) in accordance with the one embodiment of the present invention; FIGS. 2A and 2B illustrate exemplary use of public information based on median home prices or starter home prices; FIG. 3 illustrates an exemplary tax assessment data that can be used for determining the applicability of an advertisement; FIGS. 4A - 4D illustrate exemplary graphical representation of ad characterization vectors; FIG. 5 illustrates an exemplary case of demographic correlation; FIG. 6 illustrates an exemplary case of utilizing avail opportunities in conjunction with correlation data to match the advertisements; FIG. 7 illustrates a bar graph indicator utilized for correlating advertisements and subscribers; FIG. 8 illustrates an exemplary pricing scheme; FIG. 9 illustrates a functional diagram of the avail sales/auctioning module; FIG. 10 illustrates a statistically multiplexed stream in which ads are inserted synchronously at a constant bit rate (CBR) ; FIG. 11 illustrates a statistically multiplexed stream in which ads are inserted in a plesiochronous manner; FIG. 12 illustrates a statistically multiplexed stream in which ads are synchronously inserted at an available bit rate (ABR) ; FIG. 13 illustrates a statistically multiplexed stream in which ads are asynchronously inserted at an ABR; and FIG. 14 illustrates an exemplary method of dynamic ad linking. Detailed Description of the Preferred Embodiment In describing a preferred embodiment of the invention illustrated in the drawings, specific terminology will be used for the sake of clarity. However, the invention is not intended to be limited to the specific terms so selected, and it is to be understood that each specific term includes all technical equivalents which operate in a similar manner to accomplish a similar purpose. With reference to the drawings, in general, and FIGS. 1 through 14 in particular, the method and system of the present invention is disclosed. Generally, an advertisement management system (AMS) in accordance with the principles of the present invention consists of one or more subsystems which allow for the characterization of the advertisement, determination of advertising opportunities (avails) , characterization of the subscriber, correlation of the advertisement with a subscriber or group of subscribers, and sale of the advertisement, either through a traditional placement (sale) , an Internet based sale, or an Internet based auction. As illustrated in FIG. 1, the AMS 100 comprises an ad characterization module 102, an avail opportunities module 104, a subscriber characterization module 108, a correlation module 110, and an avail sales/auctioning module 112. The AMS 100 is also configured to communicate to an ad insertion module 114. Note that ad insertion module 114 may be located within the AMS 100 or may be located externally. The ad characterization module 102 allows one or more advertisers to enter key characterization data regarding the advertisement and the target market. The avail opportunities module 104 allows the content providers/producers of program streams to indicate various avails that are available in the programming stream, their basic characteristics, and the extent to which they can be substituted. The subscriber characterization module 108 allows for the collection of subscriber data. The subscriber data can be collected from a variety of sources including private databases external to the system or public databases that contain information relevant to the subscriber. With respect to private data, the subscriber has generally paid for the access to this data, e.g., the subscriber may receive product promotions or other offers. The subscriber is also provided access to his private data. The subscriber may access the private data to assure the integrity of the data, e.g., the data accurately reflects his interests and lifestyle. The subscriber data may be based on an individual subscriber, a group of subscribers, a household or a group of households. Techniques evolving the coarse discrimination of subscribers and grouping of subscribers into large groups can be used to associate a serving area with a particular advertisement. For example, in a cable television system, it may be determined that a group of subscribers associated with a particular optical distribution node speak a particular language. This knowledge may then be used to direct a particular set of advertisements to that node. As an example, a node associated with Spanish-speaking individuals can have advertisements in Spanish inserted in the programming streams . The specific targeting can also be based on public information such has median home prices or starter home prices. These prices can be further associated with zip codes, as shown in FIGS. 2A and 2B. The publicly available data may be subscriber specific. FIG. 3 illustrates an example of tax assessment data that can be used as a factor in determining the applicability of an advertisement. In the case of tax assessment data, the subscriber's name, address and tax parcel number are known along with an assessed value of the property. The assessed value of the property can be used to determine an approximate income range for the family and thus specifically target advertisements. Publicly available data is not restricted to real estate data, as illustrated in FIGS. 2 and 3, but can include a variety of demographic data including median household age, household income, race and other characteristics which can be determined on a group or individual level. Private data can also be amassed and can include specific viewing habits or purchase records of the subscriber. Alternatively, the subscriber may complete questionnaires and forms that indicate lifestyle, product preference and previous purchases. All the available private and public information is used by the subscriber characterization module 108 for characterizing one or more subscribers. The subscriber characteristics may be based upon some known features. For example, it is known that the Nielsen data tracks the number of households watching particular TV programming. In accordance with the principles of the present invention, such information may be used to characterize one or more characteristics of the subscribers . The ad characterization module 102 has an advertiser interface, e.g., a Web (browser) interface, that allows advertisers to enter parameters which characterize their advertisement and are used to form ad characterization vectors. The advertisers may manually create ad characterization vectors by entering useful information via the browser interface. In this case, the ad characterization vector contains a simple deterministic value (0 or 1) for each category. Alternatively, the vectors may contain probabilistic distributions and may allow advertisers to develop more complex models for the target market. The principles of the present invention are flexible and may operate with either, simple deterministic values or with complex models. Furthermore, heuristic rules may be defined for generating ad characterization vectors. These heuristic rules are logical rules or conditional probabilities that aid in the formation of ad characterization vectors. The heuristic rules in logic form allow the system to apply generalizations that have been learned from external studies. In the case of conditional probabilities, determinations are based on statistical probabilities that define ad characterization vectors. Furthermore, the ad characterization module 102 supports entry of the one or more parameters that are used by advertisers to target the advertisement and create advertisement vectors. The choices for these parameters may be presented as pull down selections in a browser utilizing a graphical user interface. In an exemplary case, the following categories may be used: Advertisement duration: 10s; 15s; 30s; 60s Minimum advertisement bandwidth: 2 Mb/s, 4Mb/s, 6Mb/s, 8Mb/s, lOMb/s Household Income: <$30K, $31K-$50K, $51K-75K, $76K-$100K, >$100K, no preference Household size: 1, 2, 3-4, 4-6, >6, no preference Median household age: <25, 25-35, 36-45, 46-55, >56, no preference Ethnic group: Caucasian, African American, Hispanic, Asian- Pacific, no preference In one implementation, "no preference" selection is chosen, and equal weighting is given to each category of the particular demographic parameter. As an example, no preference is given to household income, therefore all categories of household income are assigned a value of 0.2 (1 divided by the number of categories, which in this case is 5) . After weights have been assigned to all the categories, one or more ad characterization vectors may be generated based on weighted categories. These ad characterization vectors assist in characterization of various advertisements. An exemplary graphical representation of these vectors is presented in FIGS. 4A-4D. Other categories based on demographic factors, socio- economic factors, and consumption factors (purchase information) may also be used. The avail opportunities module 104 permits an operator or a video programming manager an ability to list and organize the particular avails in a programming stream. The avail opportunities module 104 comprises an interface that may be used for manual entry of data, or may be used for collection of avail data from network or other content related databases. The avail data includes transmission specifics, such as duration, broadcast time, etc. The avail data also includes demographic data pertaining to the audience viewing the program having the avail, such as household income, ethnic group, etc. The avail data may be used for formation of one or more avail characterization vectors. These avail characterization vectors are correlated with the ad characterization vectors to determine how avails should be correlated with the ads. The result of this correlation (avail correlation) is an enhanced measurement of how well the correlation exists between an ad and an avail. One or more heuristic rules may be defined for the generation avail characterization vectors. These heuristic rules may be expressed in terms of logical rules as well as conditional probabilities. In an exemplary case, avail opportunities module 104 may have a graphical user interface (GUI) and the operator may be presented with the following menus to assist in generation of the avail information: Programming opportunity: fill-in line regarding the programming in which the avail is located (e.g. Buffy the Vampire Slayer, or Monday Night Football ) Avail duration: the exact time duration of the avail (e.g. 30s) Initial bandwidth: the minimum bandwidth which is given to the avail, and to which the initial advertisement is maximally compressed. As an example, if an advertisement is initially placed in a program stream which is compressed to 6 Mb/s, the initial bandwidth of the avail is 6 Mb/s. Initial scheduled broadcast time: the initial date/time (Universal Standard Time, UST) at which the avail will appear. Local preemption authorized: this checkbox indicates if an avail can be substituted at the local level or if such substitution is prohibited. Household Income: <$30K, $31K-$50K, $51K-75K, $76K-$100K, >$100K, not designated Household size: 1, 2, 3-4, 4-6, >6, not designated Median household age: <25, 25-35, 36-45, 46-55, >56, not designated Ethnic group: Caucasian, African American, Hispanic, Asian- Pacific, not designated The subscriber characterization module 108 provides the operator the ability to characterize the subscriber in Switched Digital Video (SDV) mode or in non-SDV mode. In a non-SDV mode, the operator is presented with a node demographics interface that allows the operator to manually program the node characteristics using pull-down menus, or to import the data from a file. The node characteristics are determined from information manually collected by the operator, or assembled using agents that collect the information from publicly available sources. In the non-SDV mode, the node demographics interface presents both an input screen and a node characteristics screen, wherein the node characteristics screen further includes a graphical representation of the no e demographics. Generally, a browser-based interface allows the operator to analyze the input characteristics, and to characterize the node. The characteristics that are input and displayed include the following: Household Income: <$30K, $31K-$50K, $51K-75K, $76K-$100K, >$100K Household size: 1, 2, 3-4, 4-6, >6 Median household age: <25, 25-35, 36-45, 46-55, >56 Ethnic group: Caucasian, African American, Hispanic, Asian- Pacific The browser-based interface also permits the subscriber characterization module 108 to fill in probabilistic values for each of the parameters. A pull down menu may be utilized with increments of 0.1, and a normalization error message may be generated if the operator generates a series of values which when summed exceed one. If the operator enters values that do not sum to 1.0, another normalization error message may be generated and displayed. As an example, if the operator characterizes the node as having equal probability of the household income being in any one of the ranges shown above, the value that must be entered in each category is 0.2. In an SDV mode, the operator is presented with a subscriber information interface. By utilizing this interface, the system is capable of retrieving (based on a unique subscriber ID) demographic and product preference characteristics for each subscriber/household. Generally, to protect privacy, the subscriber private information is not used in the subscriber ID, therefore the subscriber is not identifiable by the ID. The demographic and product preference characteristics may be stored locally or may be stored in one or more network databases configured to directly communicate with the AMS 100. In an exemplary case, information for a limited number of subscribers may be stored and may be retrievable and displayable on the interface. The principal characteristics of the displayed subscriber information include: Household Income: <$30K, $31K-$50K, $51K-75K, $76K-$100K, >$100K Household size: 1, 2, 3-4, 4-6, >6 Median household age: <25, 25-35, 36-45, 46-55, >56 Ethnic group: Caucasian, African American, Hispanic, Asian- Pacific The subscriber characteristics may be determined in a plurality of ways including by utilizing previously described public and private data. These characteristics may also be determined based on probabilistic measures in an external surfstream characterization module (not shown) . The surfstream characterization module monitors the subscriber viewing habits and determines subscriber preference by utilizing one or more pre-determined heuristic rules . The correlation module 110 correlates the ad characterization information with the subscriber/node characterization information to produce a demographic correlation, and also correlates the ad characterization information with the avail characterization to produce an avail correlation. The correlation values may be calculated for each ad characterization vector and the corresponding subscriber/node characterization vector, as well as for each ad characterization vector and the avail characterization. In one implementation, the correlations are generated by multiplying corresponding elements of the vector and summing the result (dot product) . Different correlation values are normalized such that the resulting correlation value is normalized to 1, with a value of 1 indicating that the maximum correlation has been obtained. An exemplary case of a demographic correlation is illustrated in FIG. 5. The calculation for the avail correlation may be performed similarly. The average value (sum of correlations divided by 2) of the demographic and avail correlations may be calculated to produce an average correlation which is simply known as the "combined correlation" . An impact value may also be calculated which is generally equal to the number of subscribers (estimated viewership) multiplied by the combined correlation value. The avail sales/auctioning module 112 utilizes information regarding the avail opportunities in conjunction with the results of the correlation to match advertisements with avails and to complete the transaction. Generally, the avail sales/auctioning module 112 collects information about all avails matching the basic time duration and bandwidth characteristics, along with the program they are presently linked to, and the combined correlation between the advertisement and the avail listed. FIG. 6 illustrates such information in a tabular form. Based on the collected information, the avail sales/auctioning module 112 displays, in a graphical representation, correlations between a proposed advertisement and the various subscribers. FIG. 7 illustrates this information as a bar graph and numeric indicator. The avail sales/auctioning module 112 also calculates the placement of the advertisements based on the degree of correlation and a pricing scheme as described below. An exemplary case is illustrated in FIG. 8. In this example, a simple pricing scheme is utilized in which the price for placement of the advertisement depends linearly on the correlation. Also, the degree of correlation may be used to offer discounts on the pricing. Higher correlation means lower discounts to the advertisers, e.g., a correlation of 0.9 results in a 0% discount, and a correlation of .2 results in a 30% discount of the listed price. The pricing scheme may further be utilized for the sale of avails by ranking the correlations of the avails and the ads in decreasing order as a function of the degree of correlation. When multiple ads are used with an avail, the ad with the highest correlation (and its corresponding price) is selected for placement in the avail. If multiple ads indicate the same degree of correlation, the first ad in the list is selected for placement in the avail. Furthermore, the revenues may be optimized by announcing avails to more than one advertiser, or by auctioning available avails to various advertisers or ad sources. FIG. 9 illustrates an exemplary case wherein the avail sales/auctioning module 112 announces the avail opportunities to various advertisers and ad sources. This announcement may be made via the Internet. Advertisers/ad sources receive the announcement and respond with one or more ad characteristics that include information regarding the product/service advertised, target market characteristics, target programs, duration of the advertisement, and minimum bandwidth required to transmit the advertisement. Based on the received ad characteristics, the AMS 100 determines the characteristics of available slots, including an estimated or exact number of viewers. The AMS 100 may report a real time report on the viewing audience (i.e., the number of viewers at that time) . In cable networks, the number of active viewers can be reported back to the AMS 100 (in real time) by the use of a return path data modem in the settop. In a switched digital video system, ~ ch as those based on Digital Subscriber Line (xDSL) , Fiber-To-The-Curb (FTTC), and Fiber-To-The-Home (FTTH) transmission technologies, the selection of the video programming occurs at the central office, and it is possible for the system to determine the number of active viewers of a program at any given moment . In an alternative implementation, the exact number of viewers are not determined and statistical information such as Neilsen data is reported to the advertisers. The statistical data can be updated relatively frequently, such that the reports received by the advertisers are based on monthly, weekly, or even daily determinations of the approximate number of viewers of a program. Once information regarding the advertising opportunities has been transmitted to the advertisers/ad sources, the advertisers/ad sources may submit appropriate bid/bids for the advertisement. The avail sales/auctioning module 112 receives the bids, and after evaluation either accepts the bids or declines the bids. Multiple rounds of bidding may be utilized to insure that the highest price for the advertisement is received by the AMS 100. Once the bidding process is complete, the avail sales/auctioning module 112 transmits an acceptance notification to the requesting advertiser/ad source. The advertiser/ad source then transmits the actual contents of the advertisement. The contents are then placed in a suitable format and sent to the ad insertion module 114 for insertion into the actual program streams (set of program signals) . These program streams may be Internet web traffic or television programming. The advertisements may be transported over an in-band advertising channel or over an out-of-band advertisement channel. At the ad insertion module 114, the ads may be multiplexed in one or more program streams synchronously, plesiochronously, or asynchronously. In either case, a dynamic linking process is used to insert the advertisements in the program streams. FIG. 10 illustrates a method of synchronous insertion of ads into program streams. As shown in FIG. 10, the program streams may be multiplexed into one or more channels. Many different methods or standards may be used to perform multiplex operations. One such standard is the motion pictures expert group (MPEG) standard for digital video programming. The MPEG standard permits the use of statistical multiplexing to multiplex digital signals into a single channel (multiplexed stream) wherein the bandwidth allocated to each of the individual program varies over time. This is illustrated in FIG. 10 wherein several of the digital program streams, labeled as programs 2, 3, 4, 5, and 6, are allocated bandwidth within the multiplexed stream which varies over time. This feature of the MPEG standard allows bandwidth to be allocated according to the requirements of the program contents, e.g., the programming which has more motion or changes in scenery is allocated substantially more bandwidth within the multiplexed stream than the programming with passive scenes, e.g., a talk show. There exists similar other digital video streaming techniques that utilize statistical multiplexing and permit the amount of bandwidth allocated to a program stream to be varied. These techniques are not limited to video, but can be equally applied to digital audio and multimedia. These schemes generally include Transmission Control Protocol/Internet Protocol (TCP/IP) protocols and applications such as those produced by Progressive Networks and sold under the trademarks REAL AUDIO and REAL VIDEO, which is presently used to transmit broadcast and recorded audio and video across the Internet. As shown in FIG. 10, multiple program streams are interrupted for the presentation of one or more advertisements. In FIG. 10, the advertisements are represented by the designations AD1, AD2, AD3... AD7. When used herein the term advertisement refers to a singular advertisement or a sequence of advertisements to be inserted into a program stream. The method illustrated is a synchronous constant bit rate (CBR) ad insertion. In this method, each advertisement to be inserted has an equal bandwidth and a sync signal is used to indicate the appropriate point for insertion of each advertisement. Each program stream is simultaneously interrupted and the bit rate of each program stream is set to a bit rate appropriate for the advertisements. Thus, it is necessary for the program stream to adapt its bandwidth at the time of the ad insertion. In addition, each of the program segments within the program (e.g., advertising breaks) must be of the same length. For example, if MPEG multiplexers are used, these multiplexers must be able to accommodate the rapid changes in bandwidth allocations to allow insertion of all advertisements. FIG. 11 illustrates a method of plesiochronous insertion of advertisements in the program streams. In this method, the program streams are interrupted and the bandwidth of each program stream is changed to a constant bit rate before the actual insertion of the advertisements. In the plesiochronous method, the advertisements are not completely synchronized and are inserted within a predetermined window (period of time) . The plesiochronous insertion method does not require the program segments to be of equal lengths, however, the program segments should be of similar lengths. Both synchronous and plesiochronous ad insertion methods may be adapted to use the available bit rate (ABR) technique. When used herein, the term available bit rate refers to the transmission of an advertisement at a bit rate which is compatible with an existing program stream. In the synchronous available bit rate (ABR) method, the process of ad insertion is synchronized, but the bandwidths of the program streams are not adjusted for the advertisements. Instead, the advertising material is compressed to a level identical to that of the programming. FIG. 12 illustrates the insertion of advertisements using the ABR technique. As shown in FIG. 12, a synchronization signal is generally used to synchronize the program streams and select a synchronized time for the insertion of the advertisements . FIG. 13 illustrates an asynchronous ad insertion method wherein the ads are inserted at a time appropriately selected rather than at a synchronized time. The advantage of this technique is that the program segments and the insertion time can be created according to the producer' s desires or according to a variety of pre-determined production parameters. For example, the producers of a program stream may determine suitable points within the program contents for ad insertions and forward the information on these points to the ad insertion systems. The asynchronous ad insertion method may be used either with the ABR technique or with the CBR technique. For exemplary purposes, FIG. 13 illustrates a case of asynchronous ad insertion method based on the use of an ABR technique. In this exemplary case, the bandwidth of the advertisements is made equal to that of the actual programming before the actual insertion. FIG. 14 illustrates the method of dynamic ad linking. In dynamic ad linking, one or more advertisements from an ad stream not initially associated with a prograa'i stream can be inserted into that program stream for viewing by the subscriber. As illustrated in FIG. 14, six different program streams are multiplexed together, and the advertisements (AD1-AD12) are carried on a separate channel. In the dynamic linking process, the advertisements are not pre-assigned to any program streams and are instead dynamically linked based on the correlation results. For example, program stream 1 can have AD3 inserted into the stream in real-time and be viewed by the subscriber. Similarly, program stream 2 may have ad AD7 dynamically associated with the program stream. The remaining of the program streams may be assigned either of the advertisements. The advantage of the dynamic linking technique is that ads contained with a multiplexed stream can be selected and directed to a viewer. Advertisements are no longer limited to the ads initially associated with program stream. The dynamic linking may be employed in a cable television system in which a number of programs are multiplexed into a 27 Mbps data stream. The advertisements may be dynamically linked to the program streams simply by re-addressing one or more identifiers associated with the advertisements at the time of synchronous ad insertion. For synchronous systems, dynamic linking at the commencement of the advertisement occurs when an ad to be selected from the program stream is inserted into another program stream. As an example, a viewer of program 1 can have an ad from ad stream AD7 directed at the time of commencement of the advertisement . Although the dynamic linking method has been described with respect to a cable television system and the multiplexed stream within a 6 MHz channel, its use is not limited to cable systems but can be equally applied to other broadcast systems or switched digital systems which transmit two or more programs. Once the ad has been inserted in a program stream by ad insertion module 114, the ad is transmitted to the subscriber along with the actual program stream for viewing. Once the advertisement has been transmitted, the associated charges are billed to the advertiser that in turn submits a payment. A billing module (not shown) may be added to handle the charges and the payments. In one embodiment, the charges and payment are transmitted electronically over the Internet. In an alternate embodiment, traditional methods of notification and payment (e.g. notification of charges via invoices and payment via check) may be used. In a preferred embodiment, the AMS 100 is implemented on server based technology. As an example, processors provided by Intel under the trademark PENTIUM can be used in a single processor or multiple processor configuration. The operating system offered by Microsoft Corporation under the trademark WINDOWS NT SERVER can be used as the basis for the platform. The AMS can be realized in a software means in a number of programming languages including but not limited to Java, C, and C++. In one embodiment the portions of the system which interface to the Internet are based on Java and Java scripts. The communications with advertisers can take place by executing one or more Java scripts which exchange information between the AMS and the advertisers. The operations of the unit may also be realized in C language. At the subscriber side, the programming and the target advertisements are received by a television, television set- top, or personal computer that decodes the multiplexed video programming, and displays it on a television or a monitor. The set-top can be based on a cable receiver including a microprocessor, and an MPEG video decompression device. The program and ad signals are generally transported to the subscriber over a variety of transmission systems including cable, satellite, wireless, xDSL, FTTC or FTTH networks. At the subscriber side of the transmission system, the set-top or personal computer contains hardware for the reception of signals from the network and can include multiple tuners for receiving video programming along with advertisements, as well as one or more microprocessors and associated random access memory (RAM) which can be used for storage of ads or video programming as required by the dynamic linking ad insertion techniques. The information required to associate the ad with the programming can be transmitted from the ad manager over the same channel used to transmit the video. In one implementation, the MPEG standard allows for the transport of data, however, it is envisioned that alternate techniques are available to transmit data to the set-top. A number of other implementation techniques may be used to perform the dynamic advertisement linking, including substitution of a program identifier or other identifier into the advertisement which is to be viewed, and replacing the packets containing the original advertisements with the substituted advertisement. Suitable identifiers include Virtual Path Identifier/Virtual Channel Identifier (VPI/VCI) identifiers, MPEG program IDs, or TCP/IP addresses. Methods of substituting the identifiers and multiplexing in the substitute packets containing the advertisements are well known to those skilled in the art. Furthermore, an interface may be developed with different system operators or content providers that may provide descriptions of the avails including date/time of showing, program, and minimum bandwidth requirements. An additional module termed Subscriber/Consumer Authorization Module (not shown) indicating that a subscriber has enrolled for the privacy features may be added. The subscriber/consumer authorization module is compatible with generally known billing systems to allow for the export of discount information to the billing system. The subscriber/consumer authorization module is capable of exporting records to other database systems (e.g. retail store databases) indicating the discounts consumers are eligible for based on their use of the present system. The AMS 100 may also be configured to have the ability to receive surfstream profiles from a Switched Digital System. These surfstream profiles will be in the form of subscriber/household characterization vectors that are identified with a unique subscriber ID. In order to protect privacy, no surfstream data is passed from the SDV system to the AMS 100. The system may also be configured to have the ability to utilize actual viewership information. In SDV systems, this information is readily available from the switching system (Broadband Digital Terminal) which is typically located in the telephone central office, but which may also be located in the field. In traditional cable systems, the viewership information may be collected in the television set-top by monitoring the channel to which the subscriber is tuned to. This information is subsequently transmitted to the head end to provide the actual viewership information as opposed to the expected viewership. The data channel as specified in the Data Over Cable System Interface Specification (DOCSIS) can be used to transmit the viewership information to the head-end or other location. In another implementation, the AMS 100 is modified to add an ability to capture particular ads (as described below) and to store those ads for later display. Generally, the ability to access advertisement databases is external to the AMS 100 and is maintained by the advertisers themselves. These databases contain advertisement characterization vectors in standardized formats. However, in this implementation, an ability to extract avail information from MPEG video streams to determine avail parameters is added within the AMS 100. In this implementation, the ability to deliver ads in concatenated insertion systems and the ability to capture ads in real time at insertion modules is also included within the AMS 100. As an example, Coke may play a national ad on TNT and then want to repeat it in regional or local markets. In accordance with this implementation, there is no need to capture the ad and store it on a server. Instead, the ad may be captured "on the fly" and be added in the desired program streams. In another implementation, the ability to selectively capture ads in each server, based on node/subscriber demographics or other Artificial Intelligence (Al) criteria is also added. In this implementation, the ads are automatically captured at a local server, and are presented for subsequent auctioning. One set of criteria that can be used is the correlation between the ad (based on an ad characterization vector, possibly transmitted with the advertisement) and the node/subscriber demographics. As an example, the ads that are targeted for high income households may be stored on local servers located in head- ends serving high income areas. The ability to receive an "ad channel" which serves as the source for ad segments is also added. The "ad channel" would be implemented as a channel on a common cable satellite which provides cable programming and would contain a continuous or quasi-continuous stream of ads. One approach to specify a rate for the advertisement that is not constant over the duration of the ad is to specify the rate in terms of the number of Multi Program Transport Stream (MPTS) packets per program transport stream packet. This can be done on a time linear scale holding the last value until the next value arrives. The principles of the present invention are flexible and permit the use of additional features, such as the ability to divide up "local ads" into nodes, and the ability to handle non-constant bandwidth advertisement profiles. These features allow for the "activation" of regional and national versions of multiple ads in a downstream inserter that modifies the PSI to insert the desired ad. In this implementation, the profiles that are supported include predefined avail profiles, with the bandwidth varying during the course of the avail. The bandwidth generally does not exceed a pre-determined limit. The system as described in various ways may be represented and modeled using primarily the Unified Modified Language (UML) which is well known to those skilled in the art. The UML and other diagrams together with the accompanying text can be used to implement the Advertisement Management System (AMS) 100. Although the embodiments described herein enable one of ordinary skill in the art to implement (i.e. build) the AMS 100, it in no way restricts the method of implementation, the AMS 100 being capable of being implemented on a variety of hardware/software platforms with a variety of development languages, databases, communication protocols and frameworks as will be evident to those skilled in the art. Furthermore, the design represents only one set of business objects (classes) which can be coordinated to carry out the functionality and requirements of the AMS 100. Other designs comprising other sets of business classes and their coordinations could be constructed that also represent and conform to the requirements of the AMS 100 as will be evident to those skilled in the art. Although this invention has been illustrated by reference to specific embodiments, it will be apparent to those skilled in the art that various changes and modifications may be made, which clearly fall within the scope of the invention. The invention is intended to be protected broadly within the spirit and scope of the appended claims.

Claims: Claims What is claimed is: 1. An advertisement management system for managing insertion of advertisements in video streams, the system comprising : an avail opportunities module for recognizing one or more opportunities within the video streams available for advertisements; an ad characterization module for characterizing the advertisements; and a correlation module for determining a match between an avail and an advertisement, wherein the match is determined by utilizing available subscriber data. 2. The system of claim 1, wherein the avail opportunities module further comprises an avail characterization submodule that lists and organizes the avails. 3. The system of claim 2, wherein the avail characterization submodule is configured to receive data from one or more content related databases. 4. The system of claim 2, wherein the avail characterization submodule has an interface that permits entry of data related to avails by operators or video programming managers. 5. The system of claim 4, wherein the data by operators or video programming managers is used to form one or more avail characterization vectors. 6. The system of claim 4, wherein the data is entered in a plurality of categories based on demographics factors, socio-economic factors or consumption factors. 7. The system of claim 1, wherein the ad characterization module comprises an advertiser interface that permits entry of advertisement related data. 8. The system of claim 7, wherein the advertiser interface is based on a graphical user inteface (GUI) . 9. The system of claim 8, wherein the advertisement related data is entered manually by advertisers and other sources . 10. The system of claim 8, wherein the advertisement related data is imported from a file. 11. The system of claim 7, wherein the advertisement related data is used to characterize the advertisements. 12. The system of claim 7, wherein the data entered by advertisers is used to form one or more ad characterization vectors. 13. The system of claim 7, wherein the data entered by advertisers is categorized in a plurality of categories based on demographics factors, socio-economic factors or consumption factors. 14. The system of claim 13, wherein a deterministic value is assigned to each category. 15. The system of claim 13, wherein a probabilistic distribution is determined for each category. 16. The system of claim 1, further comprising a subscriber characterization module for characterizing one or more subscribers. 17. The system of claim 16, wherein the subscriber characterization module comprises a subscriber demographics interface that permits entry of demographic and product preference data. 18. The system of claim 17, wherein the demographic or product preference data is entered manually by one or more sources. 19. The system of claim 17, wherein the data is imported from a file. 20. The system of claim 17, wherein the data is entered in a plurality of categories including household income, household size, median household age, and ethnic group. 21. The system of claim 16, wherein the subscriber characterization module comprises a node demographics interface that permits the entry of data related to a node, 22. The system of claim 21, wherein the node related data is entered manually by one or more sources. 23. The system of claim 21, wherein the node related data is imported from a file. 24. The system of claim 21, wherein the node related data is entered into a plurality of categories including, household incomes, household size, median household age, and ethnic group. 25. The system of claim 1, wherein the correlation module produces a demographic correlation. 26. The system of claim 1, wherein the correlation module correlates the ad characterization information with the avail opportunities information to produce an avail correlation. 27. The system of claim 26, wherein the avail correlation is produced by multiplying corresponding elements of the ad characterization information and avail opportunities information, and summing the result. 28. The system of claim 1, wherein the correlation module further generates an impact value based on the number of subscribers and an average correlation. 29. The system of claim 1, wherein the correlation module is a secured system configured to protect subscriber privacy. 30. The system of claim 1, further comprising an avail sales/auctioning module for selling or auctioning the avails. 31. The system of claim 30, wherein the avail sales/auctioning module utilizes the information from the avail opportunities module and the ad characterization module to sell the avails to one or more adv e rtisers. 32. The system of claim 30, where the avail/sales auctioning module utilizes the results of correlation to sell the avails to one or more advertisers. 33. The system of claim 30, wherein the avail sales/auctioning module further sets the prices of the avails based on the correlation results. 34. The system of claim 30, wherein the avails are sold via the Internet. 35. The system of claim 30, wherein the avails are auctioned to the highest bidder. 36. The system of claim 35, wherein the avails are auctioned via the Internet. 37. The system of claim 35, wherein an acceptance is transmitted when a bid is accepted. 38. The system of claim 1, further comprising a billing module for charging advertisers for the advertisements and for accepting payments from the advertisers . 39. The system of claim 1, further comprising: an ad manager for receiving one or more advertisements from one or more sources and for managing the ad insertion process; a program stream source for transmitting one or more program streams; and a multiplexer for multiplexing the program streams and the advertisements based on insertion instructions received from the ad manager. 40. An apparatus for inserting advertisements in video streams, the apparatus comprising: an ad manager for receiving one or more advertisements from one or more sources and for managing the ad insertion process; a program stream source for transmitting one or more program streams; and a multiplexer for multiplexing the program streams and the advertisements based on insertion instructions received from the ad manager. 41. The apparatus of claim 40, wherein the ad manager is coupled directly or indirectly to one or more advertisement databases. 42. The apparatus of claim 41, wherein the advertisement databases are local databases. 43. The apparatus of claim 41, wherein the advertisement databases are network-based databases 44. The apparatus of claim 40, wherein the program stream source is configured to receive the program streams from a plurality of sources, and to forward the program streams to the multiplexer. 45. The apparatus of claim 40, wherein the multiplexer receives the advertisements in a compressed form. 46. The apparatus of claim 40, wherein the multiplexer receives the advertisements in an analog form. 47. The apparatus of claim 40, wherein the multiplexer multiplexes the program streams and the advertisements in real-time. 48. The apparatus of claim 40, further comprising storage means for storing the advertisements until the insertion time. 49. The apparatus of claim 40, further comprising a synchronization manager for generating a synchronization signal . 50. The apparatus of claim 49, wherein the synchronization signal controls the timing of the ad insertion process. 51. The apparatus of claim 40, wherein the advertisement insertion apparatus is deployed in a server- based technology. 52. The apparatus of claim 40, wherein the advertisement insertion apparatus is deployed via software means . 53. A method for managing advertisements in a video environment, the method comprising: recognizing one or more advertisement opportunities or avails in one or more program streams; determining one or more characteristics of a subscriber; determining one or more characteristics of the advertisement; and selecting one or more advertisements for each avail by correlating the advertising characteristics with the subscriber characteristics or with the avail opportunities. 54. The method of claim 53, further comprising determining whether the selected advertisement can be placed in the avail. 55. The method of claim 53, further comprising maintaining the subscriber privacy. 56. The method of claim 53, further comprising multiplexing the selected advertisement with the program stream having the avail. 57. The method of claim 56, further comprising transmitting the multiplexed stream to the subscribers 58. The method of claim 56, wherein the selected advertisement and the program stream are statistically multiplexed in real time. 59. The method of claim 53, wherein the selected advertisement is stored in a storage means and is inserted in the program stream at a pre-determined time. 60. The method of claim 53, further comprising setting prices for the advertisements based on the correlation results . 61. The method of claim 53, wherein the recognizing includes characterizing the avails. 62. The method of claim 61, wherein the characterizing the avails includes retrieving avail related data from one or more databases. 63. The method of claim 61, wherein the characterizing the avails includes forming one or more avail characterization vectors based on one or more heuristic rules. 64. The method of claim 53, wherein the determining one or more characteristics of a subscriber include generating one or more subscriber characterization vectors based on one or more heuristic rules. 65. The method of claim 53, wherein the determining one or more characteristics of a subscriber include characterizing subscribers based on publicly available data. 66. The method of claim 65, wherein the publicly available data includes real estate records and tax assessment records. 67. The method of claim 53, wherein the determining one or more characteristics of a subscriber include characterizing subscribers based on privately amassed data, 68. The method of claim 67, wherein the private data includes specific viewing habits or purchase records of the subscriber. 69. The method of claim 53, wherein the determining one or more characteristics of a subscriber include characterizing a group of subscribers. 70. The method of claim 53, wherein the determining one or more characteristics of the advertisement include receiving information about advertisements from one or more sources including advertisers. 71. The method of claim 53, wherein the determining one or more characteristics of the advertisement include characterizing advertisements in a plurality of categories including target market demographics, required ad bandwidth, and ad duration. 72. The method of claim 71, further comprising comparing the required ad bandwidth to the bandwidth of the actual avail to determine if the advertisement can be placed in the avail. 73. The method of claim 71, further comprising assigning weights to each of the categories. 74. The method of claim 71, further comprising generating one or more advertising vectors based on the assigned weights. 75. The method of claim 53, wherein the selecting includes generating a demographic correlation by correlating the subscriber characteristics with the advertisement characteristics. 76. The method of claim 53, wherein the selecting includes correlating the advertisement characteristics with the avail characteristics to generate an avail correlation. 77. The method of claim 53, further comprising dynamic linking the selected advertisement with the program stream having the avail. 78. The method of claim 53, further comprising selling the avails based on correlation results. 79. The method of claim 78, wherein the avails are sold via an auction to the highest bidders. 80. The method of claim 78, wherein the avails are sold via the Internet. 81. The method of claim 53, wherein the subscriber is an individual. 82. The method of claim 53, wherein the subscriber is a household. 83. The method of claim 53, wherein the subscriber is a group of individuals. 84. The method of claim 53, wherein the subscriber is a group of households. 85. The method of claim 53, wherein the subscriber characteristics are based on real-time Nielsen ratings. 86. The method of claim 53, further comprising inserting the selected advertisements in the program streams to generate one or more multiplexed digital video streams. 87. The method of claim 86, wherein the advertisements are inserted into program streams in a synchronized manner. 88. The method of claim 87, wherein multiple program streams are interrupted simultaneously for the insertion of the advertisements. 89. The method of claim 87, wherein the multiple program streams are interrupted based on a sync signal, 90. The method of claim 87, wherein each advertisement inserted has an equal bandwidth, and before the insertion, each program stream is set to a bit rate appropriate for the advertisement . 91. The method of claim 90, wherein the bandwidth of the program stream is adapted at the time of insertion. 92. The method of claim 87, wherein the advertisements are compressed to a level identical to the program streams before the insertion. 93. The method of claim 86, wherein the advertisements are inserted into the program in a plesiochronous manner. 94. The method of claim 93, wherein the advertisements are inserted into a plurality of program streams within a predetermined time period. 95. The method of claim 93, wherein each program stream has a bandwidth of similar size. 96. The method of claim 93, wherein each program stream is changed to a constant bit rate before the actual insertion of the advertisements. 97. The method of claim 93, wherein the advertisements are compressed to the bandwidth of the program stream where the advertisements will be inserted. 98. The method of claim 86, wherein the advertisements are inserted in an asynchronous manner. 99. A method for inserting advertisements in video streams, the method comprising: receiving one or more program streams, wherein the program streams relate to the actual programming contents; selecting one or more advertisements to be inserted in the program streams; multiplexing the program streams and the advertisements to generate one or more multiplexed video streams. 100. The method of claim 99, wherein the advertisements are inserted into program streams in a synchronized manner. 101. The method of claim 100, wherein multiple program streams are interrupted simultaneously for the insertion of the advertisements. 102. The method of claim 101, wherein the multiple program streams are interrupted based on a sync signal. 103. The method of claim 100, wherein each advertisement inserted has an equal bandwidth, and before the insertion, each program stream is set to a bit rate appropriate for the advertisement. 104. The method of claim 103, wherein the bandwidth of the program stream is adapted at the time of insertion. 105. The method of claim 100, wherein the advertisements are compressed to a level identical to the program streams before the insertion. 106. The method of claim 99, wherein the advertisements are inserted into the program in a plesiochronous manner. 107. The method of claim 106, wherein the advertisements are inserted into a plurality of program streams within a predetermined time period. 108. The method of claim 106, wherein each program stream has a bandwidth of similar size. 109. The method of claim 106, wherein each program stream is changed to a constant bit rate before the actual insertion of the advertisements. 110. The method of claim 106, wherein the advertisements are compressed to a bandwidth equal to a bandwidth of the program stream where the advertisements will be inserted. 111. The method of claim 99, wherein the advertisements are inserted in an asynchronous manner. 112. The method of claim 111, wherein the advertisements are inserted according to pre-determined parameters . 113. The method of claim 112, wherein the predetermined parameters are advertising opportunities selected by producers of the program streams. 114. The method of claim 112, wherein the predetermined parameters are advertising opportunities selected by cable operators. 115. The method of claim 99, wherein the advertisements are dynamically linked to one or more program streams. 116. The method of claim 115, wherein the advertisements are dynamically linked to the program streams by re-addressing one or more identifiers associated with the advertisements . 117. The method of claim 115, wherein the dynamic linking occurs at the commencement of the advertisement. 118. The method of claim 115, wherein the dynamic linking occurs after all the contents of the advertisement have been received. 119. The method of claim 99, wherein the advertisements are transported on a dedicated channel. 120. The method of claim 119, wherein the dedicated channel is contained within the one or more multiplexed video streams. 121. The method of claim 119, wherein the dedicated channel is located outside the one or more multiplexed video streams . 122. The method of claim 119, wherein the advertisements are retrieved from the dedicated channel and are displayed to the viewer in real-time. 123. The method of claim 119, wherein the dedicated channel is an in-band channel having the same frequency as the actual program stream. 124. The method of claim 119, wherein the dedicated channel is an out-of-band channel having a different frequency than the actual program stream. 125. The method of claim 124, wherein the actual program streams are transmitted in a first channel with a 1030 to 71030 MHz range, and the advertisements are transmitted in a second channel in the same frequency range,

Inventors: ELDERING CHARLES A, FLICKINGER GREGORY C, HAMILTON JEFFREY S, ELDERING, CHARLES, A., FLICKINGER, GREGORY, C., HAMILTON, JEFFREY, S.
Applicants: ELDERING CHARLES A, FLICKINGER GREGORY C, HAMILTON JEFFREY S, TELECOM PARTNERS LTD, ELDERING, CHARLES, A., FLICKINGER, GREGORY, C., HAMILTON, JEFFREY, S., TELECOM PARTNERS LTD.
Application year: 2000
Main classification: H04N7
IPC codes: G06Q30, H04H7, H04N5, H04N7