WO2002019581A1 - Targeted advertising at the set top box - Google Patents

Targeted advertising at the set top box Download PDF

Info

Publication number
WO2002019581A1
WO2002019581A1 PCT/US2001/027217 US0127217W WO0219581A1 WO 2002019581 A1 WO2002019581 A1 WO 2002019581A1 US 0127217 W US0127217 W US 0127217W WO 0219581 A1 WO0219581 A1 WO 0219581A1
Authority
WO
WIPO (PCT)
Prior art keywords
advertisement
advertisements
channel
queue
subscriber
Prior art date
Application number
PCT/US2001/027217
Other languages
French (fr)
Other versions
WO2002019581B1 (en
WO2002019581A8 (en
Inventor
Charles A. Eldering
John P. Blasko
John A. Schlack
Andrew M. Sutton
Kyle Mehling
Gregory C. Flickinger
Original Assignee
Expanse Networks, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US09/712,790 external-priority patent/US8151295B1/en
Priority claimed from US09/731,606 external-priority patent/US20020072966A1/en
Priority claimed from US09/731,605 external-priority patent/US20020083435A1/en
Priority claimed from US09/742,852 external-priority patent/US20020083439A1/en
Priority claimed from US09/742,506 external-priority patent/US20020026638A1/en
Priority claimed from US09/748,942 external-priority patent/US7328448B2/en
Priority claimed from US09/748,943 external-priority patent/US20020083445A1/en
Priority claimed from US09/748,949 external-priority patent/US20020083441A1/en
Priority claimed from US09/824,434 external-priority patent/US20020144263A1/en
Priority to AU2001286998A priority Critical patent/AU2001286998A1/en
Application filed by Expanse Networks, Inc. filed Critical Expanse Networks, Inc.
Publication of WO2002019581A1 publication Critical patent/WO2002019581A1/en
Publication of WO2002019581B1 publication Critical patent/WO2002019581B1/en
Publication of WO2002019581A8 publication Critical patent/WO2002019581A8/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/10Arrangements for replacing or switching information during the broadcast or the distribution
    • H04H20/106Receiver-side switching
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H20/00Arrangements for broadcast or for distribution combined with broadcast
    • H04H20/40Arrangements for broadcast specially adapted for accumulation-type receivers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25883Management of end-user data being end-user demographical data, e.g. age, family status or address
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/258Client or end-user data management, e.g. managing client capabilities, user preferences or demographics, processing of multiple end-users preferences to derive collaborative data
    • H04N21/25866Management of end-user data
    • H04N21/25891Management of end-user data being end-user preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26233Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving content or additional data duration or size, e.g. length of a movie, size of an executable file
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2668Creating a channel for a dedicated end-user group, e.g. insertion of targeted commercials based on end-user profiles
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/41Structure of client; Structure of client peripherals
    • H04N21/426Internal components of the client ; Characteristics thereof
    • H04N21/42684Client identification by a unique number or address, e.g. serial number, MAC address, socket ID
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/4508Management of client data or end-user data
    • H04N21/4532Management of client data or end-user data involving end-user characteristics, e.g. viewer profile, preferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/454Content or additional data filtering, e.g. blocking advertisements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/81Monomedia components thereof
    • H04N21/812Monomedia components thereof involving advertisement data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/162Authorising the user terminal, e.g. by paying; Registering the use of a subscription channel, e.g. billing
    • H04N7/165Centralised control of user terminal ; Registering at central
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme
    • H04N7/17354Control of the passage of the selected programme in an intermediate station common to a plurality of user terminals
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N7/00Television systems
    • H04N7/16Analogue secrecy systems; Analogue subscription systems
    • H04N7/173Analogue secrecy systems; Analogue subscription systems with two-way working, e.g. subscriber sending a programme selection signal
    • H04N7/17345Control of the passage of the selected programme
    • H04N7/17363Control of the passage of the selected programme at or near the user terminal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/478Supplemental services, e.g. displaying phone caller identification, shopping application

Definitions

  • the invention pertains to advertising. More particularly, the invention pertains to targeted advertising, such as in television programming delivery systems utilizing set top boxes, memory enabled set top boxes, and/or personal video recorders, for each subscriber.
  • linked advertising The traditional paradigm for delivering advertisements in the stream of television programming is herein termed linked advertising.
  • the television programming service is being provided by antenna broadcast, analog cable, digital broadcast satellite (DBS), digital cable, switched digital video (SDV) or any other means, generally all viewers of a particular program will see the same ads in the same order at the same times.
  • each advertisement is "linked" to a particular point within a particular program. If any particular viewer is not viewing the particular program at the particular time, he or she will not see the advertisement. That is, in linked advertising, the advertisements are simply part of the data stream from the head end, i.e., from the central office of the television service provider to all subscribers of that service.
  • VDSL digital subscriber line
  • STB addressable set top boxes
  • one or more queues of advertisement resource locators are maintained for each subscriber on a communications network, such as a cable television network, preferably in a memory of the subscribers' set top boxes.
  • a communications network such as a cable television network
  • the actual advertisements conesponding to the advertisement identifiers also are stored in the memory in the individual set top boxes.
  • Each advertisement identifier comprises, at a minimum, information indicating where the advertisement may be found on the network or on a local memory.
  • the advertisement conesponding to the ARL at the top of the queue is retrieved and inserted into the program stream at the individual addressable node of the network, e.g., the set top box.
  • This break may occur before the programming starts, during the programming, or afterwards.
  • the insertion of the advertisement is independent of the programming being watched.
  • the advertisements are linked to the subscribers by forming the queue of address locators of different advertisements and wherein the targeted advertisement is inserted by detecting a commercial break in any programming being watched by the subscriber.
  • the television service provider sells places in the individual (or grouped) queues to advertisers based on available information about the subscribers. Such information may include publicly available demographic and psychographic information, as well as more individualized information that may be obtained through questionnaires filled out by subscribers. While the invention is particularly suitable for inserting targeted advertisements into television programming, the invention is readily adaptable to inserting any particular data into any particular stream of other data transmitted via a communications system. Such systems can include targeted advertising in Electronic Program Guides or digital overlay/insertion systems.
  • FIG. 1 illustrates an exemplary block diagram of an environment in which the present invention may be utilized
  • FIG. 2 illustrates exemplary television service communication networks
  • FIG. 3 illustrates an exemplary block diagram of a set top box, in accordance with one embodiment of the present invention
  • FIG. 4 illustrates exemplary embodiments of delivery of an ad channel as a dedicated high bandwidth channel
  • FIG. 5 illustrates exemplary embodiments of delivery of ad channels at different bandwidths
  • FIG. 6 illustrates exemplary methods for storing targeted ads on a STB
  • FIG. 7 illustrates an exemplary system for delivering ads and meta data to the STB
  • FIG. 8 illustrates an exemplary system for delivering ads, meta data and splice-timing information to the STB
  • FIG. 9 illustrates an exemplary method for matching ads and STBs
  • FIG. 10 illustrates exemplary ad tables and STB tables being merged
  • FIG. 11 illustrates an exemplary method for transmitting ads to a grouped within a separate TBM channel
  • FIG. 12 illustrates exemplary TDM channels
  • FIG. 13 illustrates an exemplary system for delivering ads to different groups on separate VPI/VCIs
  • FIG. 14 illustrates an exemplary system for transmitting different ad channels to different nodes of a CTV system
  • FIG. 15 illustrates an exemplary system for transmitting different ad channels to different transmitter groups of a LMDS/MMDS system
  • FIGs. 16-19 illustrate exemplary logic diagrams of advertisement identifier queues
  • FIG. 20 illustrates an exemplary STB for determining when the queue needs to be refreshed
  • FIG. 21 illustrates an exemplary method for detecting the need to refresh the queue
  • FIG. 22 illustrates an exemplary method for refreshing the queue
  • FIG. 23 illustrates an exemplary functional block diagram of a queue-based advertisement scheduling and advertisement insertion system
  • FIG. 24 illustrates an exemplary queue containing more than just ARLs.
  • Fig. 1 illustrates an exemplary block diagram of an environment in which the processing steps of the present invention may be applied.
  • a head end system 100 generates media signals (e.g., video signals including programming streams and advertisement signals) and transmits the media signals via delivery networks 110 to subscriber systems 120.
  • media signals e.g., video signals including programming streams and advertisement signals
  • Examples of the head end system 100 may include, but are not limited to, service providers such as a television service provider (e.g., ABC network), a cable television (CTV) service provider, an Internet service provider, a satellite service provider, a wireless television service provider, and others well known to those of ordinary skill in the art.
  • service providers such as a television service provider (e.g., ABC network), a cable television (CTV) service provider, an Internet service provider, a satellite service provider, a wireless television service provider, and others well known to those of ordinary skill in the art.
  • the media signals can be digital (e.g., MPEG) or analog, and may be communicated in any well known form (e.g., data streams) by antenna broadcast, analog cable, digital broadcast satellite (DBS), digital cable, switched digital video (SDV), local multipoint distribution system
  • digital broadcast satellite DBS
  • digital cable DSL
  • switched digital video SDV
  • LMDS multichannel multipoint distribution system
  • HFC hybrid fiber coax
  • the delivery networks 110 may be any type of video or data delivery system including, but not limited to a CTV network, an SDV network, a DBS network, other tenestrial wireless networks such as MMDS or LMDS, an the Internet.
  • a CTV network an SDV network
  • a DBS network other tenestrial wireless networks
  • MMDS or LMDS tenestrial wireless networks
  • streaming media, video and audio programming is delivered over the Internet or a private network through unicast or multicast connections.
  • the subscriber systems 120 receive the media signals from the head end system 100, and process and display them to the subscribers via a display unit, e.g., a monitor.
  • a display unit e.g., a monitor.
  • Each of the subscriber systems 120 can include an advertisement processing unit 122, and a storage unit 124, all operatively connected.
  • the advertisement processing units 122 are any means of processing advertisement signals, e.g., advertisement insertion units that are well known in the art, and the storage units 124 may be hard drives, RAM in set top boxes, optical disks, or other memory units well known in the art.
  • Each of the subscriber systems 120 may further include components typically found in subscriber systems, such as a tuner, a demodulator, a modulator, a multiplexer, etc.
  • Examples of the subscriber systems 120 may include, but are not limited to TV, VCR, Personal Video Recorder (PVR), such as TiVoTM products, including or coupled to a set top box (STB) or the like, a personal computer, or a computer work station.
  • TV Video Recorder
  • PVR Personal Video Recorder
  • FIG. 2 illustrates exemplary embodiments of three of the most common types of television (TV) delivery networks discussed above with respect to Fig. 1 with which the present invention can be suitably used. These include DBS 200, CTV 220, and very highspeed digital subscriber line (VDSL) 250.
  • a DBS system 200 transmits a programming stream comprising upwards of a hundred channels of television programming directly from a geo-stationary satellite transmitter 202 orbiting the earth to a receiving antenna 204 mounted on or near each subscriber's house 206.
  • the programming stream is transmitted from the antenna via a cable (not shown) to a satellite receiving station 208 in the form of a STB in the subscriber's house 206.
  • the satellite receiving station (i.e., STB) 208 selects a channel and demodulates the signal for delivery to a monitor 210, such as a television.
  • a monitor 210 such as a television.
  • Most DBS systems 200 are ananged such that data also can be sent in the upstream direction, that is, from the STB 208 to the DBS provider.
  • the STB 208 also is coupled to the telephone line and is designed and programmed to place telephone calls to the DBS service provider to periodically send information in the upstream direction.
  • Such information commonly may comprise requests for Pay-Per-View (PPV) programs, requests for changes in the subscription (a request that one or more of premium channels be added to the service, etc.).
  • PSV Pay-Per-View
  • a CTV network 220 such as digital cable network, transmits multiple channels of TV information from a head end (or central office) 290 via a cable network 222. Particularly, the channels are transmitted via cables 224, such as fiber optic cables, to nodes 226.
  • the nodes are essentially switching/routing stations that service multiple homes (usually a few hundred).
  • the nodes 226 route the signals to individual subscribers 228. For digital cable, the individual subscribers 228 will have STBs 230 that select a particular channel from the transmit stream, demodulate it and forward it for display on one or more monitors (i.e., televisions) 232.
  • Upstream information may be sent from the STB 230 to the central office 290 via a dedicated upstream channel over the cable, hi cable systems that do not support two-way communication, the upstream "channel" can be through the telephone as described above in connection with DBS systems 200.
  • a VDSL system 250 transmits TV programming over the regular telephone network.
  • TV signals are transmitted from a broadband distribution terminal (BDT) 252 within the central office 290 via cables 254, such as fiber optic cables, to a universal service access multiplexer (USAM) 256 that delivers the data to multiple individual subscriber households 260 via regular telephone twisted wire pair 258 using VDSL modems and protocols.
  • BDT broadband distribution terminal
  • USAM universal service access multiplexer
  • the USAM 256 receives a wide bandwidth signal comprising some or all of the television channels. However, because of the bandwidth limitations of twisted pair wire, typically only about one channel of television programming at a time can be delivered from the USAM 256 to the household.
  • the subscriber has a STB 262 that is similar in functionality to the previously discussed STBs for DBS and CTV, except that when the user changes channels such as by operating a remote control, the remote channel change signal is received by the STB 262 and transmitted to the USAM 256 which switches the channel for the user and begins sending the newly selected channel to the household.
  • SDV systems are essentially fully modern asynchronous two-way communication networks.
  • the STB 262 can transmit information upstream via the same VDSL modem that receives the downstream signals.
  • SDV systems typically operate using an asynchronous transfer mode (ATM) protocol that is well-known in the networking arts.
  • ATM asynchronous transfer mode
  • the TV signals are transmitted from the BDT 252 to a broadband network unit (BNU) 264.
  • BNU 264 delivers the data to individual households 260 using coaxial cable 266.
  • FIG. 3 illustrates an exemplary block diagram of the basic components of a STB 300 within which the present invention may be incorporated.
  • the STB 300 includes an input port 302, a tuner 304, a demodulator .306, a channel processing unit 308, a demultiplexor 312, an audio output port 312, a receiver 314, a system control unit (SCU) 316, a video output port 318, an output port 320, a modulator 322, a control bus 324, an internet connection 326, a modem 328, a subprocessor 330, read only memory (ROM) 332, random access memory (RAM) 334, and a separate internal or external large memory device, such as a hard disk drive 336.
  • SCU system control unit
  • the SCU 316 controls operation of the components of the STB 300.
  • the SCU 316 essentially is a central processing unit (CPU) and may be any digital processing device, such as a microprocessor, finite state machine (FSM), digital signal processor (DSP), application specific integrated circuit (ASIC), general purpose computer, etc.
  • the input port 302 is coupled to the delivery network 110 (i.e., DBS 200, CTV 220, VDSL 250) and receives signals (i.e., TV chamiels) therefrom.
  • the STB 300 and the delivery network 110 are connected with a media, which may be an input cable from an antenna in the case of DBS 200, a coaxial cable in the case of CTV 220, and a telephone line in the case of VDSL (i.e., SDV) 250.
  • the TV input signal may be analog or digital.
  • the signal may be a video stream or multimedia stream such as a motion picture expert group (MPEG) signal from any communications network, such as the Internet.
  • MPEG motion picture expert group
  • the receiver 314 such as an infrared (IR) receiver, receives commands, such as channel change or volume control commands, transmitted by the subscriber via a hand held remote control unit (not shown).
  • the receiver 314 forwards the commands to the SCU 316.
  • the SCU 316 decodes the commands and forwards control signals to other circuits in the STB 300 in order to cany out the subscriber's commands.
  • the SCU 316 instructs the tuner 304 which channel to tune to (selectively parses out the data conesponding to the particular channel selected).
  • an SDV STB typically would not include the tuner 304 since, as indicated above, channel selection is not processed in the STB 300 but is merely transmitted to the USAM 256 for processing.
  • the data is then passed to the demodulator 306 that demodulates the data and transmits the data to the channel processing circuit 308.
  • the channel processing circuit 308 processes the data as needed.
  • the necessary channel processing may comprise almost nothing to significant processing of the data depending on the particular form of the input data and the features of the STB that would be familiar to persons of skill in the related arts.
  • Exemplary functions that might be performed in the channel processing circuit 308 include decoding an encoded data stream (e.g., MPEG, Dolby SunoundSoundTM) or inserting advertisements into the data stream in accordance with the present invention.
  • the channel processing circuit 308 may take any reasonable form. It should be understood that the term circuit is used in this specification inclusively to encompass analog circuits and digital circuits, including FSMs, DSPs, computers, CPUs, ASICs, and programmed general purpose processors. In one embodiment, the channel processing circuit 308 may be the same processor as the SCU 316.
  • the output of the channel processing circuit 308 is typically coupled to the demultiplexer 310 that separates the audio and video portions of the channel and forwards them to audio and video output ports 312 and 318, respectively. These ports 312, 318 nonnally would be coupled to the audio and video input ports, respectively, of the subscriber's TV.
  • the ROM 332 is for storing software and fixed data used for operating the STB.
  • the RAM 334 is for storing changeable data, such as the queues and advertisements in accordance with the present invention.
  • the hard disk drive 336 such as an optical disk drive, is for storing very large amounts of data that comprise digital multimedia data (television programs and advertisements).
  • the SCU 316, the ROM 332, the ROM 334, and the hard disk 336 are coupled to the master bus 324 over which the units can communicate with each other.
  • the modulator 322 is for modulating data generated in the SCU 324 to the head-end via the delivery network 110.
  • the data is transmitted out the output port 320 that is coupled to the delivery network 110. It will be understood by those of skill in the art that the input port 302 and output port 320 might comprise the same physical port.
  • the STB In order to insert targeted advertisements (ads) at the STB, the STB must receive at least some subset of ads, ad profiles, schedule information, or other necessary data.
  • This data may be received over the same delivery network 110 as the TV signals, on for example a dedicated channel (discussed in detail later), or may be received via a separate delivery network (different from the network delivering the TV signals). In an alternative embodiment, this data is received via the Internet.
  • the Internet connection could be a phone connection, a cable connection, or other connections now known or later discovered.
  • the ads are received at the input port 326 and transmitted to the modem 328, which may be a telephone modem or a cable modem.
  • the subprocessor 330 coupled between the modem 328 and the SCU 316, is for processing the ads, ad profiles, schedule instructions, etc. that are received. If the ads are received via the Internet the ads will be Internet based files, such as streaming media.
  • the subprocessor 330 is dedicated to processing Internet based files, running file transfer protocol (FTP) for received streaming audio, streaming video and other files, and receiving instructions from the head end for schedule generation.
  • FTP file transfer protocol
  • the modem 328 may connect directly via the telephone lines to a server maintained by the television service provider (TSP) to retrieve such information.
  • the modem 328 may be connected to an Internet service provider (ISP) and connect to the TSPs Internet server via the Internet.
  • ISP Internet service provider
  • the server may simply send ads, ad profiles, schedules and/or instructions to the particular STB at predesignated intervals.
  • the STB 300 may be programmed to call in to the server (whether through the Internet or directly) at predetermined intervals to request a download of such information.
  • FIG. 3 is a very high level depiction of the most basic components of an STB 300 and is not intended to limit the scope of the current invention. It would be apparent to those of skill in the related arts that other forms are possible and would easily fall within the scope of the cunent invention.
  • the invention will now be described in connection with the particular embodiment in which it is used to insert advertisements into TV programming.
  • the invention can be applied to the Internet, streaming audio data, etc. It also may be applied to insert advertisements in the electronic program guides that are frequently provided in one channel of television programming and which commonly include ads in a portion of the display.
  • the system can also be utilized for the management of ads that are inserted directly into a portion of the screen during the actual programming, such as those ads that are electronically placed on the billboards in sports arenas or on the field.
  • advertisement insertion technology is commercially available from companies such as Princeton Video Image, Inc., of Lawrenceville, NJ.
  • the various TV programming channels include commercial breaks or advertisement opportunities ("avails").
  • the avails may be blank (designated specifically for the insertion of targeted ads by the TSP) or may include default ads that can be replaced by targeted ads.
  • the avails may also be created when a program is recorded on a STB with memory or a PVR. In such instances, the consumer may agree to watch advertising prior to, during, or even after a recorded program is played back.
  • the present invention can thus be used to manage advertisements in recorded program streams.
  • the advertisement insertion can be performed as the programming is being recorded, as it is played back to the monitor, or even between recording and playback by reananging the content in memory to add the advertisements.
  • the STB determines whether it is turned on, what particular channel it is tuned to, detects avails in that channel, and inserts targeted ads identified in the queue in the order indicated in the queue into the avails as they arrive.
  • ads are no longer linked to any particular advertisement spot in any particular program.
  • a virtual roadblock can be set up whereby the subscriber will receive the designated ads in the designated order as avails occur in whatever programming he or she is viewing, regardless of the channel, program or time of day. In this manner, advertisers can more specifically reach their target audience while also being given a much higher level of confidence that the target audience has actually viewed their ads.
  • the ad profile may include an ad identification (adlD) the duration of the ad, the type of ad, prefened times for insertion and other criteria that would be obvious to one of ordinary skill in the art.
  • the ad profile can be used to determine if the ad is applicable for that the STB and determine placement in an ad queue for the STB.
  • the ads are also received at the STB and are stored on the STB, if the ads are applicable (targeted) to the STB. If the ads are also received by the STB, the ads and the ad profile may be sent together or may be sent separately and matched be up at the STB.
  • the ad channel is meant to include simply the transmission of ads, the transmission of ad profiles along with the ads, and possibly simply the transmission of the ad profiles.
  • the ad channel may be delivered to the STB in a low bandwidth channel, a medium bandwidth channel, or a high-bandwidth channel. These channels could be dedicated to delivery of the ad channel or could be shared, providing delivery channels for other services.
  • the low bandwidth method of delivery would require that ads or ad profiles within the ad channel be delivered (or begin being delivered) significantly in advance of the anticipated time of ad presentation.
  • the high bandwidth method of delivery would require that ads or ad profiles within the ad channel ad be delivered at or just prior to the anticipated time of ad presentation.
  • An example of such a dedicated channel may a broadcast high bandwidth ad channel (e.g., 6 MHz).
  • a service provider i.e., DBS, CTV, SDV, Multichannel Multipoint
  • MMDS Local Multipoint Distribution System
  • LMDS Local Multipoint Distribution System
  • the ad channel would be encoded and transported in the same way that the other programming content (on other channels) was encoded and transported. That is, if one were to "tune" to the ad chamiel, one would receive only conventional advertisements (normal video and audio).
  • the ad channel can be delivered in any of a variety of formats including but not limited to streaming media, motion picture expert group (MPEG)-2, MPEG-4, using various protocols, including but not limited to, ATM, IP.
  • MPEG motion picture expert group
  • MPEG-4 MPEG-4
  • FIGs. 4A-C illustrates several ways how a high bandwidth ad channel could be transmitted, digitally or in analog form.
  • Fig. 4 A illustrates an ad channel 410 being transmitted as a conventional 6 MHz analog channel along with conventional analog programming channels 400 (ABC, NBC).
  • Fig. 4B illustrates the transmission of three multiplexed 6 MHz digital channels.
  • the first channel 420 transmitting a contiguous sequence of digital ad channels (5 ad channels as illustrated).
  • the second channel 430 transmitting multiple digital programming channels (NBC).
  • the third channel 440 transmitting a digital ad channel along with multiple digital programming channels (AMC).
  • Fig. 4C illustrates that analog channels 450 and digital channels 460 can be transmitted together. As illustrated only the digital channel has an ad channel being transmitted.
  • FIGs. 5A-5C illustrate the ad channels being transmitted at various bit rates.
  • FIG. 5A illustrates an embodiment in which the ad channel is sent as a dedicated low bandwidth channel.
  • the ads are continually sent at the low bit rate, and are ultimately stored as a complete advertisement.
  • Fig. 5B illustrates an embodiment in which the bit rate of the ad channel is variable.
  • network bandwidth demand or bandwidth demand by one or more individual subscribers
  • the bit rate of the ad channel varies based on the bandwidth demands of the system as the sum of the ad channel bandwidth and the system bandwidth cannot exceed the maximum available bandwidth.
  • FIG. 5C illustrates an ad channel being transmitted at "off-peak" times (i.e., when the overall demand for bandwidth is comparatively low).
  • Bandwidth usage can be monitored and/or statistically predicted, either for the entire network, a sub-portion of the network, or an individual subscriber. By anticipating or predicting a period of decreased bandwidth demand (either network- wide or individually), the ad channel delivery would coincide with such decreased demand. Such a scenario would allow operators to conserve bandwidth during "peak" times for other services. In off-peak download, the ad channel can operate at comparatively high bandwidth.
  • the methods described above for delivery of the ad channel are applicable to a variety of platforms including, but not limited to, DBS, SDV, analog hybrid fiber coax (HFC), digital HFC, MMDS and LMDS.
  • DBS digital base station
  • SDV analog hybrid fiber coax
  • HFC analog hybrid fiber coax
  • MMDS MMDS
  • LMDS LMDS
  • the STB must determine which ads from the ad channel are applicable (targeted).
  • the storing of the targeted ads can be accomplished in a number of ways.
  • Fig. 6 illustrates several exemplary methods for storing the targeted ads.
  • the STB selects an ad from an incoming ad channel (step 601).
  • the STB may select branch A (store all delete non-targeted) or branch B (store only targeted).
  • the STB stores the ad on the hard drive (step 603) and then analyses the ad (step 605). Next a determination is made as to whether the selected ad is appropriate (step 607). Appropriateness can be defined by numerous parameters, such as, determining if the incoming ad has one or more characteristics that match the pre-determined criteria of the STB. If the ad is found to be appropriate, it is retained on the HD (step 611). If the ad is found to be inappropriate, the ad is deleted from the HD (step 609).
  • the STB buffers the selected ad in memory, such as cache memory (step 615).
  • the STB analyses the ad in real time (step 617) in order to make a determination as to whether the selected ad is appropriate (step 619). If the ad is found to be appropriate, it is stored on the HD (step 623). If the ad is not found to be appropriate, it is deleted from the cache memory and the cache memory is cleared (step 621). It is to be noted that ads selected for ultimate storage can be determined by a number a factors, including the ads themselves (their IDs and characterizations), the STB profile, processing instructions of the STB, how the ads are delivered to the STB, etc.
  • each ad has a tag or label (meta data) associated with it, such as, attached/embedded in it or linked to it.
  • the meta data may be a simple identifier or a complete ad profile describing many characteristics of the ad.
  • the metadata could be transported with the ad or in advance of the ad.
  • the meta data may be packaged in a proprietary format or use an existing (or developing) international or industry standard. A proprietary format would be defined as a structure or string of text and/or numeric characters.
  • An international standard for audiovisual metadata such as the ISO/IEC "Multimedia Content Description Interface” (also know as MPEG7) or the TV-Anytime Forum “Specification Series: S-3 on Metadata”, could also be used to provide the format for the ad profiles.
  • the use of an international standard would facilitate the use of widely available software and equipment for the insertion of ad profile to the audiovisual content.
  • the meta data can be transported using methods including but not limited to:
  • JP Intemet Protocol
  • the meta data can be linked and synchronized with the appropriate content by using the standard synchronization services provided by the MPEG standard or by an alternative "System Clock Reference" carried by both the content and the meta data.
  • System Clock Reference carried by both the content and the meta data.
  • the transportation of meta data i.e., ad profile
  • the meta data can be used by the STB 200 to determine whether or not to store the ad (and also when and how to display the ad). Such determination can be accomplished in a number of ways depending on the application.
  • the meta data is a simple identifier (i.e., identifies the group to which the ad belongs) and is sent with the ad
  • the STB would examine the meta data as soon as the ad is received (on-the-fly), and either save it or ignore/discard it based upon instructions/rules (e.g., a group map) previously sent to the STB.
  • the meta data is pre-pended to the ad (or is at the beginning of the ad).
  • FIGS. 7 and 8 illustrate exemplary systems for encoding meta data and timing information according to two embodiments of the present invention (VBI data encoding and MPEG data encoding).
  • FIG. 7 illustrates an ad channel generator 703 receiving metadata 707 and one or more ads 709 from an ad server 701.
  • a VBI encoder 711 receives the meta data and an ad sequencer/multiplexer 713 receives the ads.
  • Each of these modules 711, 713 transmit the infonnation to a modulator 715.
  • the modulator 715 modulates the meta data and the ads into an ad channel 717 that is forwarded to an STB 705.
  • the ad channel 717 is received by a demodulator/decoder 719 that splits the ad channel 717 into a video stream 731 and meta data 729.
  • the video stream 731 is transmitted to a buffer 723, and the metadata 729 is transmitted to a VBI decoder 721.
  • the metadata information 729 is transmitted to a processor 727 that deciphers the metadata 729 to compute received instruction 733.
  • the instructions 733 are then transmitted to buffer 723 for storage. Based on the instruction 733, the buffer 723 transmits the selected ads to memory 725.
  • FIG. 8 illustrates an ad channel generator 803 receiving ads 811, and metadata 813 from an ad server 801.
  • the ad channel generator 803 also receives metadata and splicing_timing information 817 from a metadata and splicing_timing encoder 815.
  • the output of ad channel generator 803 is one or more ad channel(s) along with a program stream(s) 819.
  • the ad channel and program stream 819 is then transported to STB 809 via a transport network 805 and an access network 807.
  • Fig. 8 illustrates the STB 809 as a use case diagram.
  • the STB receives the ad channel
  • the STB 809 Based on 820, 821 and 822, the STB 809 accordingly identifies which ads should be stored (823). The STB 809 stores the appropriate ad in an appropriate splice window 824.
  • the meta data may be associated with individual ads within the ad channel (discussed above) or could be associated with numerous ads within the ad channel.
  • the meta data would include ad_labels for each of the ads within the ad channel.
  • the meta data would comprise a table that mapped each adlD to a label or group designation.
  • Fig. 9 illustrates and exemplary method of the assignment of ads and STBs to groups and Fig. 10 illustrates the various tables and how they are combined.
  • Each STB identified by a unique identifier (e.g., MACJLD), is assigned to one or more groups (step 901).
  • MACJLD unique identifier
  • a master table (STB-group table) is formed that illustrates various STBs assigned to various groups (all STB to group associations).
  • Fig. 10 illustrates an STB-group table 1001 including MAC-Ids 1003 for each STB and the applicable targeted groups 1005.
  • Each ad is assigned a unique adlD (step 903) and each ad (identified by adlD) is assigned to one or more groups (step 905). Based on this assignment a master table (adlD- group table) is formed that illustrates various STBs assigned to various groups (all adlD to group associations).
  • Fig. 10 illustrates an adID-group table 1007 including AD-IDs 1009 for each ad and the applicable targeted groups 1011.
  • the STB-group table and the adID-group table are joined, using the groups' field common to both tables, to form a master STB-adID table.
  • the master STB-adJD table contains an entry for each STB and lists each ad appropriate for that STB. It is to be noted that the master STB-adID table may be individualized for each STB to create an individual STB- adID table. Each individual STB-adID table conesponds to a particular STB.
  • Fig. 10 illustrates both a master STB-adID table 1013 and an individual STB-adID table 1015. Each of the tables 1013, 1015 includes MAC-Ids 1015 for each STB and associated AD-Ids 1017.
  • each STB can identify ads that are appropriate (step 909).
  • the identification of appropriate (targeted) ads is done by examining the adlD of the incoming ads on the ad channel to determine if the adlD is included on the master or individual STB-adID table.
  • the entire STB-adID table can be sent to each STB (e.g., via the carousel) or just the individual STB-adID table map conesponding to the particular STB can be sent.
  • the determination of which ads are appropriate for a given STB can be performed upstream so that neither the master nor individual STB-adID tables need to be transmitted, as only targeted ads would be delivered to each STB.
  • the groups that the STBs and ads are associated with may be formed based on: anticipated target markets of the ads (ad profiles); characteristics of the subscribers (subscriber profiles) or nodes of a system (node profile); or common predefined sets of characteristics (common profiles).
  • the profiles (ads, subscriber, node, common) define various criteria such as demographics, interests and preferences.
  • the ad profiles are defined by the advertisers.
  • the subscriber profiles may be entered by the subscriber (via a questionnaire), may be obtained by third parties (i.e., demographic data associated with market segments such as ZIP+4), or may be generated by the system by, for example, analyzing TV viewing habits.
  • Each STB may have multiple profiles associated with it based on what subscriber or combination of subscribers is viewing the TV, or based on the time of day or other criteria.
  • the generation of a subscriber profiles is further defined in Applicant's following publications and applications that are herein incorporated by reference in their entirety but are not admitted to be prior art:
  • the STBs and/or ads may be assigned to different groups by conelating the subscriber (or node) profile and the ad profile, respectively, to the groups.
  • conelating profiles in order to form groups that would be well within the scope of the cunent invention.
  • the generation of groups is further defined in Applicant's following co-pending U.S. applications that are herein incorporated by reference in their entirety but are not admitted to be prior art:
  • the ads may be grouped at a central location (head-end) and the ad channel(s) could be time-division or channel-division multiplexed by advertising group.
  • time-division multiplexing the advertisements conesponding to advertising groups are temporally grouped together prior to transmission.
  • the STBs could be instructed to download all advertisements sent on the advertisement channel during particular time periods, those time periods conesponding to the advertising group or groups to which it belongs, hi channel-division multiplexing, each advertising group is assigned to a different advertising channel.
  • the STBs are instructed to download all advertisements sent on the particular advertisement channel(s) to which it conesponds.
  • the central office is able to direct different advertisement channels to one or more of its subscribers' STBs on different VPl/VCIs.
  • one or more advertisement channels conesponding to one or more specific subscribers could be created and sent to the appropriate subscriber(s).
  • Each STB would be instructed to tune to a particular advertisement channel, e.g., (VPI/VCI), in order to receive and store all the ads on that particular channel.
  • This type of embodiment is advantageous in that the STBs would not need to filter the ads since each advertisement received on the • channel would be appropriate for that STB.
  • the central office would typically have its own advertisement server for generating the advertisement channel.
  • FIG. 11 illustrates an exemplary TDM process in accordance with one embodiment of the present invention.
  • the STB is assigned to one or more groups based on pre-defined parameters (step 1101) and each STB is notified of its conesponding group (step 1103).
  • Each ad is also assigned to one or more groups (step 1105).
  • an ad channel is created wherein the ad channel is a time-division multiplexing of a plurality of advertisement groups (step 1107).
  • the ads are transmitted to the STB via an ad channel with a temporally contiguous sequence of ads belonging to the same group being transmitted together (step 1109).
  • each group of ads is sent in the form of a TDM.
  • a 'schedule' of the TDM multiplex may also be created and transmitted, wherein the TDM multiplex represents the scheduling of the TDM on the ad channel (i.e., which groups of ads are transmitted at which times).
  • Each STB is notified of the timing of groups in the transmitted TDM channel (step 1111).
  • the STB based on the received schedule (i.e., the timing of groups of ads in the multiplex), and depending on which group(s) it belongs, extracts and saves those groups of ads in the multiplex appropriate for the STB (step 1113). The remaining ads (not belonging to the STB group) are ignored by the STB.
  • the system clocks both at the STB and the origination of the TDM multiplex may require synchronization.
  • the schedule could indicate both the start and end times of the ad groups in the TDM, or alternatively, could indicate the start time only and a duration.
  • the STB knowing to which groups it belonged and knowing the schedule of the ad-groups in the multiplex, could selectively save those ads appropriate for it.
  • the TDM ad grouping mechanism can also be implemented utilizing the new "digital cue tone" standard (DVS-253). This standard specifies new data services for each elementary stream allowing for timing information to be sent along with the stream when a splice of that stream is appropriate (both splicing into and out of the program).
  • Such splicing timing can be encoded in the ad channel program stream (i.e., the program of continuous ads), but instead of being used to indicate a splice event, the timing information would be used to determine when to start receiving (and storing) ads and when to stop.
  • the new splice-timing service may be adapted to yield the timing of the beginning and end of an ad-group sequence in the TDM multiplex. A new data service may also be created for this purpose.
  • FIG. 12 illustrates an exemplary time-division multiplexing ad channel.
  • the ad channel has a plurality of time slots (TA, TB, TC, ...), each time slot based on a time multiplex.
  • time slots TA-TB conespond to a first time multiplex TB-TC conesponds to a second time multiplex
  • Tn-l-Tn conesponds to another time multiplex e.g., each time multiplex is shown to host a plurality of advertisements.
  • time multiplex TA-TB hosts advertisements conesponding to group A, (labeled as Al ... An)
  • TB-TC hosts advertisements conesponding to group B (labeled as Bl ... Bn)
  • Tn-l-Tn hosts group N advertisements (labeled Nl ... Nn).
  • Another method for delivering "grouped" ads to the STB and storing only those ads appropriate for that STB can be accomplished by creating a separate ad "channel" for each ad group, and sending to each STB only that ad channel which conesponds to its groups (i.e., that channel which has ads appropriate for that STB).
  • encoded video streams may be sent on one or more individual channels, e.g., VPI/VCIs.
  • one or more dedicated channels i.e., VPI/VCIs
  • VPI/VCIs dedicated channels
  • each VPI/VCI may be a high, moderate, or low bandwidth channel. More specifically, in an SDV system, different ad channels (conesponding to groups) may be created and transported on different VPI/VCIs. Each STB, being a member of one group would receive the ad channel conesponding to its group. It is also to be noted that the switching of the different ad channels (VPI/VCIs) may occur at a central location (such as at the broadband digital terminal (BDT)). Thus, only the appropriate ad channel is sent to each STB (and only that particular ad channel). FIG.
  • each ad is assigned to one or more groups and a VPI/VCI is created for each advertisement group.
  • An ad channel comprising only ads belonging to a particular group is transmitted on the VPI/VCI assigned for that group.
  • the STB has a map table (GROUP- VPI/VCI) indicating which VPlTVCI(s) conespond to which group(s), thus allowing the STB to "tune" to the proper VPI/VCI (conesponding to the group of the STB) in order to receive ads appropriate for it.
  • the tuning at the STB means that only that VPI/VCI (i.e., the appropriate ad channel) may be switched and transmitted to the STB. As illustrated in Fig.
  • an ad channel generator 1301 may receive one or more advertisements from one or more ad servers 1303.
  • the ad server 1303 stores the actual contents of the advertisements.
  • the ad channel generator 1301 also receives information from an AD_ID ⁇ GROUP table 1305, wherein the AD D-GROUP table refers to the assignment of each advertisement to a group (A, B, C, D, E, etc.).
  • the ad channel generator 1301 also receives information from a GROUP-VPI VCI table 1307, wherein each GROUP- VPI/VCI table 1307 refers to associating groups of advertisements to conesponding VPI/VCI.
  • the GROUP-VPI VCI table 1307 may indicate that GROUP A advertisements belong to VPI/VCI 1/150, and GROUP B advertisements belong to VPI/VCI 1/120, etc. It is to be noted that the ADJD-GROUP table 1305 and the GROUP-VPI VCI table 1306 may be generated by a network operator or any other advertisement management system. It is also to be noted that even though FIG. 13 illustrates AD_ID group table generation and group VPI/VCI table generation processing located externally to the ad channel generator 1301, in other embodiments such processing may be incorporated within the ad channel generator 1301.
  • the ad channel generator 1301 based on the information from the ADJLD-GROUP table 1305, and from the GROUP-VPI VCI table 1307, creates one or more ad chamiels, wherein each ad channel comprises only one group of advertisements. Thereon, each group of advertisements is transmitted on a VPI/VCI assigned to that group.
  • the ad channel generator 1301 generates five ad channels 1309 - 1317.
  • Ad channel 1309 comprises GROUP A ads
  • ad channel 1311 comprises GROUP B ads
  • ad channel 1313 comprises GROUP C ads
  • ad channel 1315 comprises GROUP D ads
  • ad channel 1317 comprises GROUP E ads.
  • GROUP A ads are transmitted at VPI/VCI: 1/150
  • GROUP B ads are transmitted at VPI/VCI: 1/120
  • GROUP C ads are transmitted at VPI/VCI: 1/100
  • GROUP D ads are transmitted as VPI/VCI: 1/180
  • GROUP E ads are transmitted at VPI/VCI: 1/190.
  • the VPI/VCI information and conesponding advertisements information may further be forwarded to a digital interface 1319, e.g., a broadband digital terminal (BDT), wherein the VPI VCI information may be conelated with the MACJLDs of the set-top boxes (STBs) to determine which VP VCI should conespond to which STB terminal.
  • BDT may comprise a determination processing circuitry (not shown) to conelate the VPI/VCI to the STBs. This conelation may be based on any number of parameters, e.g., subscriber demographics, subscriber likes and preferences, etc. As illustrated in FIG.
  • VPI/VCI 1/150 is transmitting to a first STB 1321
  • VPI/VCI 1/120 is transmitting to a second STB 1323
  • VPI/VCI 1/100 is transmitting to a third STB 1325
  • VPI/VCI 1/180 is transmitting to a fourth STB 1327
  • VPI/VCI 1/190 is transmitting to a fifth STB 1329.
  • the conelation of STBs to the VPI/VCI channels may be accomplished by creating a GROUP-VPI/VCI table, wherein the MACJDs of the STBs are conelated to the groups of advertisements they should be receiving, wherein the groups of advertisements are further conelated to the VPI/VCI infonnation.
  • FIG. 14 illustrates an exemplary implementation in accordance with another embodiment of the present invention.
  • an ad channel generator 1401 located at a head end 1403 of the cable system may receive one or more advertisements from one or more ad servers 1405.
  • the ad channel generator 1401 also receives information about the association of each advertisement to a group (ADJLD-GROUP table 1407).
  • the AD JD- GROUP table 1407 lists an AD_LO and associated groups for each ad.
  • the ad channel generator 1401 also receives information about conelations between advertisement groups in different nodes (GROUP-NODEJD table 1409).
  • GROUP-NODE JLD table 1409 identifies each cable node by a NODE_ID and lists the conesponding groups for each node.
  • the ad channel generator 1401 based on the ADJD-GROUP table 1407 and the GROUP-NODEJD table 1409 transmits different advertisement groups to different cable nodes via a wire line or wireless link.
  • group D ads are transmitted to node 6 (1411)
  • group A ads are transmitted to node 10 (1413)
  • group B ads are transmitted to node 12 (1415)
  • group C ads are transmitted to node 17 (1417)
  • group E ads are transmitted to node 21 (1419).
  • the STBs conesponding to the serving node receives the same group of advertisements. For example, the STBs served out of node 6 receive group D ads.
  • FIG. 14 is particularly applicable for cable-based systems.
  • LMDS/MMDS Local Multipoint Distribution System/Multichannel Multipoint Distribution System
  • separate ad channels may be created conesponding to one or more groups.
  • the ad channels are transmitted based on cells, wherein each cell is defined by the area served by a broadcast transmitter associated with a group and each cell would receive only that ad channel conesponding to the cell group. This requires that the ad channel switching/insertion occur at the head end.
  • the LMDS system providing video services and a generic ad channel, would generate different ad channels (for different cells/groups) and send only the one and appropriate ad channel to each cell depending on the group membership of that cell.
  • the term cell is used to denote a "subscriber serving area" served by a single broadcast transmitter and typically serves 500-2000 homes.
  • FIG. 15 illustrates one exemplary implementation for an LMDS/MMDS architecture.
  • a LMDS/MMDS head end 1501 includes an ad channel formation/switching module 1503 coupled to one or more ad servers 1505.
  • the ad channel formation/switching module 1503 receives one or more advertisements from the ad servers, groups them together and transmits the ads to one or more subscriber groups.
  • the subscriber group conesponding to a cell may be characterized. As illustrated, cell 1507 conesponds to LMDS/MMDS transmitter #1, and the subscribers located within this cell are termed as group #1.
  • the targeted advertisements for the group #1 are transmitted from the ad chamiel formation/switching module 1503 to the LMDS/MMDS transmitter #1 via a connection 1515, such as a fiber optic or a microwave comiection.
  • a connection 1515 such as a fiber optic or a microwave comiection.
  • ads for group 2 are transmitted to cell 1509 via connection 1517
  • ads for group 3 are transmitted to cell 1511 via connection 1519.
  • the ads are delivered from the transmitters to the STBs via wireless connections.
  • the STB maintains an advertisement queue in RAM 334.
  • the queue identifies the order in which the ads should be played.
  • the location of each ad is identified by a pointer, known as an ad resource locator (ARL).
  • ARL ad resource locator
  • n ads are stored in memory, they may be identified as ARLl - ARLn accordingly, where n is an integer.
  • the queue is thus a stacked list of ARLs.
  • FIG. 16 illustrates an exemplary ad queue.
  • the queue consists of m slots (Ql - Qm) with each slot containing an ad identified by its conesponding ARL.
  • the queue consists of playing each of n ads (ARLl - ARLn) two times.
  • the ads that are pointed to by the ARLs preferably are stored in STB memory (i.e., RAM 334, hard disk 336). Alternately, the ads can be stored on a remote server coupled to the communications network.
  • a plurality of mechanisms may be used to anange ads in the queue. For example, repetition may be used, where the ad is displayed at pre-determined intervals.
  • a Ford ad located at ARLl
  • the Ford ad is queued at slots Ql, Q6 and Qll.
  • FIG. 18 illustrates such an exemplary case, wherein different Ford ads identified as ARLl, ARL6, and ARLl 1 are queued in slots Ql, Q6 and Ql l, respectively.
  • the ads in the queue may not be spaced evenly.
  • the spacing between ads may decrease with time (i.e., the repetition rate increases).
  • An exemplary case is illustrated in FIG. 19, where the Ford ad (located at ARLl) is placed in the queue at slots Ql , Q8 and Q14.
  • the initial spacing has 6 other ads between each Ford ad (i.e., a repetition rate of 1 Ford ad every 7 ads) and decreases to 5 other ⁇ ads between each Ford ad (i.e., a repetition rate of 1 Ford ad every 6 ads).
  • the ads may be stored in the queue based on time-based priority queuing.
  • the ads are ananged according to desired times for display.
  • Other parameters may include the maximum number of ads played, the hours of the day during which the ad should be displayed, the days of the week during which the ad should be displayed, the weeks in the month during which the ad should be displayed, etc.
  • ancillary data for each ad may also be stored. In typical cases, at least some subset of the following data for each ad is gathered and stored:
  • Ad Identification a unique identifier for each ad
  • Ad Play Times Maximum Number the maximum number of times each ad should be displayed;
  • Ad Expiration Date a date beyond which the ad should no longer be displayed;
  • Ad Player Identification a unique identifier of the type of client application software that must be used to display the ad
  • Ad Hour Frames the hours of the day during which the ad should be displayed
  • Ad Day Frames the days of the week during which the ad should be displayed
  • Ad Week Frames the weeks in the month during which the ad should be displayed
  • Ad Month Frames the months in the year during which the ad should be displayed;
  • Ad Frequency the maximum number of times the ad should be displayed in one day;
  • Last Playing Day the date after which the ad cannot be displayed; and Total Ad Playing Number: the total number of times an ad has been displayed.
  • FIG. 20 illustrates an exemplary STB 2000 capable of determining when the ad queue needs to be updated.
  • the STB 2000 includes a processor 2002, memory 404 (configured to store an ad database and a queue of the ads), a counter 2010, a trigger circuit 2006 and a communications interface 2012.
  • the memory 2004 is coupled to the processor 2002, the trigger circuit 2006, the counter 2010, the communications interface 2012 and a display medium 2008, such as a television.
  • the communications interface 2012 receives ads from the delivery network and forwards them to the memory 2004.
  • the ads to be displayed to the subscriber are stored in the memory 2004, either as a database or a queue.
  • the display medium 2008 displays the ads to the subscriber.
  • the counter 2010 is configured to record each display of the ad to the subscriber.
  • the trigger circuit 2006 is configured to initiate a request for new targeted ads and/or a new ad queue.
  • FIG. 21 illustrates an exemplary method for determining if the trigger circuit 2006 should be activated. Initially an ad is selected from the queue and displayed to the subscriber (step 2100). After the ad is selected from the queue, the routine determines if the ad queue has reached a low level (step 2110).
  • the low level may be, for example, a predefined or variable number of slots, or a number of slots equal to a predetermined or variable amount of time (ads associated with these queues adding up to a total of 10 minutes of ads).
  • the memory 2004 was loaded with 10 ads and the queue consists of 50 slots, representing an order for displaying the 10 ads.
  • the ads associated with the first 40 slots were displayed so that the queue would only consist of 10 slots. If we assume, that the low-level trigger is pre-defined as 9 slots remaining, then when the ad associated with the 41st slot was displayed the queue would be reduced to the low-level.
  • the trigger circuit will be initiated (step 2120).
  • the processing associated with the trigger circuit is explained with reference to FIG. 22.
  • the ad low-level may be a pre-defined number, for example, 3 ads remaining in the queue. This would signify that every time an ad avail was presented, the system would only have one of three targeted ads that it could possibly substitute. Such a scenario would likely result in the same ad being displayed to the subscriber in a relatively short period.
  • the "Ad Play Times Maximum Number" associated with each ad defines the maximum number of times the ad should be displayed.
  • the ad is marked unavailable and will no longer be displayed (i.e., is effectively removed from the queue).
  • an ad may be removed from the queue before it has been played the number of times defined in the queue (or even before it has ever been displayed) if the "Ad Expiration Date" has passed.
  • step 2120 If the ads remaining in the queue reach the low-level then the trigger circuit will be initiated (step 2120). Otherwise, a determination will be made as to whether all or a certain amount of the ads in the queue will expire within a relatively short time (step 2140).
  • the amount of expired ads may be a pre-defined or variable number or percentage and the short time may be a predefined or variable window of time that could be a number of minutes, hours, days, etc. If the criteria defined in step 2140 are met (i.e., most or all of the ads will expire within the defined window of time), the trigger circuit is initiated (step 2120). Otherwise, the process returns to step 2100.
  • FIG. 22 illustrates an exemplary process for initiating the trigger circuit to obtain new ads and/or a new queue.
  • a determination is made as to whether the subscriber display 2008 is ON (step 2201). If the display 2008 is on, the existing queue is used (step 2203) and the process returns to step 2201. Alternatively, if a determination is made that the subscriber display 2008 is OFF, the client application connects to the HE (step 2205). The STB requests a new set of ads (step 2207) and then receives a new set of ads and the queue is either refreshed or a new queue is also received (step 2209). In alternative embodiments, step 2201 is not required and the ads and queue can be refreshed even if the TV is on.
  • the new ads and queue may be downloaded at a time when the television network will have sufficient bandwidth, such as 2AM.
  • the system could just display the default commercials to the subscriber until the queue was refreshed.
  • the new ads could be downloaded to the memory 2004 at a rate that could be supported by the television network taking into account the programming that was being viewed. That is, when programming utilizing a large amount of bandwidth was required the ads would either not be downloaded or would be downloaded at a low rate. When the programming being displayed was low bandwidth the ads could be downloaded at a greater rate.
  • FIG. 23 illustrates an exemplary functional block diagram of queue-based advertisement scheduling and insertion system (STB), according to one embodiment of the present invention.
  • the tuner 2302 extracts and demodulates the channel selected by the subscriber. This channel carries digital cue tones that are detected by a detection module 2310.
  • the advertisement to be inserted in the next detected avail are queued up in a scheduler 2312 (using the avail data and prioritization or other scheduling algorithm).
  • An advertisement insertion module 2304 inserts or splices the queued advertisement according to the queue tone timing.
  • a resulting program stream 2305 with the substituted advertisement is decoded by a decode module 2306 and sent to the television 2308 or other display device.
  • the queue based insertion can be combined with a time/program based set of rules in which case the ad to be presented is determined in part by the time-of-day program being watched or a combination thereof, hi one embodiment, the time-based aspect is addressed by having time dependent queues.
  • time dependent queues there can be a morning queue, a mid-day queue, an evening (prime-time) queue, and a late night queue.
  • the "morning queue" is designed for children.
  • the late night queue may be designed for adults. Having a time dependent queue allows direction of the advertisement at the particular individual that might be watching.
  • Program based rules also may be used in conjunction with the queues to provide a combination of "linked” advertising and advertising in accordance with the concepts of the present invention.
  • the order of the ARLs may be varied depending upon the program being watched. This allows a particular advertiser to link to a certain program.
  • the ARL is moved to the top of the queue when a particular program is being watched.
  • program dependent queues can be created, such that there is a queue for a program like "ER” and a different one for "Survivor".
  • the scheduler 2312 is the ARL retrieval circuit that receives the ARLs and instructions for their organization in the queue and then organizes the queue (not separately shown in FIG. 23) in accordance with the received ARLs and instructions, hi this exemplary embodiment, the scheduler retrieves the ARLs from a dedicated control channel 2315 in the media stream 2301. However, as previously noted, this is just one of many possible transport streams for the ARLs and/or instructions.
  • the scheduler also provides a schedule and notifies the advertisement insertion module 2304 of the schedule.
  • the advertisement insertion module 2304 When the queue tone is detected by the detection module 2310, the advertisement insertion module 2304 requests the appropriate advertisement from the advertisement storage unit 2314 which then sends the advertisement to the insertion module 2304. The advertisement insertion module then inserts the advertisement with the proper timing, h this exemplary embodiment, the advertisements that are stored into the advertisement storage unit 2304 are received over a dedicated advertisement channel in the media stream.
  • the scheduler 2312 may include circuitry for picking out the appropriate advertisements for the particular STB from a continuous stream of advertisements as previously described and writing them to the advertisement storage unit 2314.
  • the watchdog module 2320 notifies the scheduler 2312 of any changes that may require a queue update or switching among multiple queues as previously described.
  • a profiler module 2322 can process information such as data as to the program being watched and remote control operation such a volume control and channel change control to attempt to determine which particular viewer in a subscriber household is viewing the television in order to choose among the various queues as previously described.
  • the advertisement insertion module 2304 generates and stores an advertisement insertion log 2316 of all insertion events. This is essentially the schedule of the ads inserted and whether or not they were inserted successfully and/or displayed. The insertion logs will eventually be sent upstream to the central office to be used for billing advertisers based on the ads that have been played at each subscriber's location.
  • the ad scheduler 2312 can determine in advance the ad insertion schedule based on scheduling instructions from the head end system or predetermined scheduling algorithms.
  • the relative appropriateness of the prepared ad schedule may change as circumstances change.
  • Such circumstances may include, but are not limited to, the time of day, program or type of program being watched, channel selection, identity of the cunent viewer, and timing/duration of the upcoming avail.
  • these circumstances are also refened to as viewing parameters. In view of the changes in one or more of the viewing parameters, it may be necessary or appropriate to change the ad schedule, some in real time, so that most appropriate ads are actually inserted into the programming streams.
  • the viewer may change the TV channel he is cunently watching and the next avail of the newly selected channel may not be of the same size as the next ad in the queue to be inserted.
  • the ad schedule needs to be changed so that another ad, matching the size of the next avail of the newly selected channel, is moved to the top of the queue for insertion.
  • the identity of the viewer may change so that a different person is watching the program. Then, depending on who the new viewer is, the next ad in the queue may not be appropriate to the new viewer (e.g., if the new viewer is a child). In such a case, the ad schedule may be changed so that another ad, which is more appropriate to the new viewer, is moved to the top of the queue for insertion. h a different example, the type of program or channel being watched may change, so that the next ad in the queue may not be appropriate for the new program or channel being watched.
  • the ad schedule change may be needed so that an ad that is more appropriate for display during the Martha Stewart Show can be moved to the top of the queue.
  • the ad schedule may need to be changed in real time, such that the newly scheduled ad is inserted immediately into the programming channel without being stored in the queue (e.g., when the newly selected channel is on a commercial break).
  • the rescheduling of advertisements may encompass reordering the entire list of ARLs, or selectively changing the first or few items on the queue list, which may vary depending on the application.
  • any change in one of the viewing parameters or multiple changes in a combination of the viewing parameters may trigger rescheduling of advertisements, which may also vary depending on the application.
  • the scheduler 2312 may be configured to look for changes in both viewer identity and channel selection, before it reschedules the advertisements.
  • Subscribers can be profiled and an understanding of their viewing habits can be developed based on their channel changes. Based on these viewing habits the identity of the subscriber can be identified.
  • the Applicants following PCT publications disclose the profiling and identification of subscribers and are herein incorporated by reference in their entirety but are not admitted to be prior art.
  • the scheduler 2312 is a real time scheduler so that the rescheduling of ads is performed in real time, i.e., almost simultaneous with the detection of the change in the viewing parameters.
  • the watchdog module 2320 looks for the changes to the channel, program, and type of program being watched, and notifies the scheduler 2312 of these changes so that the scheduler 2312 can reschedule the advertisements, if necessary.
  • the watchdog module 2320 may receive from the profiling module 2322 information about a channel change made by the cunent viewer, and identify the new channel cunently being watched by the viewer.
  • the watchdog module 320 may identify which program (or type of program) is being watched based on stored program information (e.g., description of programs for different channels, a list of programs to be broadcast for different channels and times of day, etc.).
  • the watchdog module 2320 alerts the scheduler 312 of the recent channel program change, and the scheduler 312 may determine whether or not such a change wanants rescheduling of the ads in the queue. If it does, then the scheduler 2312 reschedules the ads in the queue based on the channel/program change information. If not, no changes are made to the queue.
  • the watchdog module 2320 informs the scheduler 2312 that the program change (e.g., from "60 Minutes" to "Dateline") has occuned, the ad scheduler 2312 may determine that rescheduling of ads may not be necessary since the switched programs are of the same program type (i.e., news shows). This determination maybe made using stored program information (e.g., a list of programs with assigned program type, ratings, scheduled play time, etc.).
  • stored program information e.g., a list of programs with assigned program type, ratings, scheduled play time, etc.
  • the scheduler 2312 may reschedule the ads in the queue so that the next ad at the top of the queue is appropriate for display during the showing of "X- Files.”
  • the profiling module 2322 may identify the cunent viewer of the TV programming channels by processing information such as data from remote control operation through the profiling module 2322 (e.g., a volume control and/or channel change control), time of day, and program being watched. By prestoring viewing habits of each viewer in the subscriber household and analyzing the currently receiving viewing habits of the viewer with the prestored viewing habits, the cunent viewer may be identified.
  • the profiling module 2322 outputs the viewer change information to the ad scheduler 2312 which uses this information to determine whether to reschedule ads.
  • the set top box or the subscriber system may maintain multiple queues and execute the viewer determination algorithm for selecting from which queue ARLs will be retrieved based on predetermined criteria. For instance, a different queue may be maintained for each potential television viewer at the subscriber location (e.g., mother, father, child).
  • the algorithm for determining which queue to use to retrieve ads could be based on the identity of the viewer that may be determined by the profiling module 2322 as discussed above. If the cunent viewer is identified to be the mother of the subscriber household, then the queue assigned to the mother may be used to obtain the queued list of advertisements.
  • the scheduler 2312 may or may not reschedule the ads in the selected queue in accordance with other changes in the viewing parameters as discussed above.
  • the advertisement ordering/rescheduling in the queue may not necessarily be dictated by the physical location of the ARLs in the queue, but can also be dictated by other ordering schemes.
  • one or more tags can be assigned to each ARL in the queue and the advertisement ordering/rescheduling can be dictated based on these tags.
  • These tags may identify a viewer, a program or type of program, and any other items or events that may be used to order the advertisements.
  • a viewer tag and/or a program or program type tag may be assigned to each ARL in the queue.
  • Each viewer tag may identify one of the viewers in the subscriber household, e.g., father, mother, first child, or second child.
  • Each program or program type tag may identify the program or the type of program being watched, e.g., sports, news, soap-opera, drama, cartoon, etc.
  • each ARL may include an identification (ID) tag for identifying the ARL with a serial number or the like.
  • ID identification
  • the advertisement order in the queue may be dictated based on one or a combination of these tags, e.g., the ID tag, the viewer tag, and the program program type tag.
  • the scheduler 2312 may look in the queue for ARLs having a viewer tag indicating the father, a program type tag indicating sports, and, of those, an ID tag with the lowest serial number. The scheduler 2312 may then retrieve the advertisement based on the located ARL, which is then inserted into the upcoming avail as discussed above.
  • the queue itself need not be stored at the set top box but can be stored at a separate server on the network that communicates with the set top box via the network.
  • the present invention can also be readily applied to recorded programming as long as the recorded program is played back through the subscriber system so that the advertisement processing unit may insert the advertisements.
  • the invention can be applied to any information stream regardless of source as long as the information stream passes through the advertisement processing unit.
  • the invention is equally applicable to analog cable, regular earth-based broadcast television, the Internet, a read-out from any type of memory device, including compact disks, digital video disks, other optical media, magnetic disks, ROM, RAM, etc.
  • the present invention can readily be applied to PVRs, which may use a variety of ad insertion opportunities including prepended ads, ads inserted into live programming, ads inserted into recorded programming, ads inserted into content, or ads placed at the end of the programming.
  • the present invention can also be utilized in Video on Demand (VoD) systems in which advertising plays a role.
  • VoD Video on Demand
  • the VoD Systems may utilize ads inserted into the programming, prepended ads, postpended ads, etc.
  • the rescheduling of advertisements in the subscriber system may occur in real time, when there is a change in one or more of the viewing parameters, such as channel selection, type of program viewed, identity of the viewer, etc.
  • the present invention allows targeted ads to be delivered to appropriate viewers without such ads being linked to program/time, so that viewers will always see targeted ads even if they change channels or view programs at different times.
  • This scheme also refened to herein as "orthogonal" sponsorship model, can be combined, according to the present invention, with the traditional linked sponsorship model to create hybrid orthogonal-linked sponsorship models.
  • the orthogonal sponsorship based queue can be provided with one or more linked sponsorship parameters. Some of these parameters may identify, e.g., time dependence (signifying a specific time), time-of-day dependence (e.g. morning, afternoon, prime time), viewer dependence, or any combination thereof.
  • Fig. 24 illustrates an example of an ad queue that may be used to implement the various sponsorship models of the present invention.
  • the ad queue can contain additional columns that indicate linked sponsorship parameters such as the time of day, programs in which the advertisement should be shown, and the viewer to which the advertisement should be shown.
  • the linked sponsorship columns when all the linked sponsorship columns are left blank, it indicates that the associated ad may be inserted according to the purely orthogonal sponsorship model, i.e., non-linked advertising.
  • any one or more linked sponsorship columns are filled, then it indicates that the associated ads should be inserted into the programming streams according to the hybrid orthogonal-linked model depending on which column is filled.
  • the present invention ensures that most appropriately targeted ads are inserted into the streams or channels of programming for display to the viewers. Further, it permits ads to be delivered using orthogonal sponsorship and/or hybrid of orthogonal and linked sponsorships, whereby it increases the effectiveness of targeted advertising.
  • the STB may also include a operational status detector (OSD) 2350 that is coupled either directly or indirectly (e.g., inductively, or via other components) connected to the display device 24.
  • the OSD 2350 determines the operational status of the display device 2308 (whether it is turned on).
  • the OSD 2350 only permits the ad insertion module 2304 to insert ads if the display 2308 is on.
  • the OSD 2350 can determine the operational status of the display 2308 in a variety of ways.
  • one simple way is to detect the level of cunent flowing in the electric plug of the display device 2308. If the display device 2308 is turned on, a certain amount of current (i.e., operational cunent) will flow from the electric plug of the display device 2308 into the circuitry of the display device 2308 so as to operate the display device 2308. If the display device 2308 is turned off, only a very small amount of cunent should be flowing in the plug since the device 2308 is turned off. In one embodiment, the display device 2308 may be plugged into the set top box, in which case, the OSD 2350 may detect the level of cunent where the display device 2308 is plugged into the STB.
  • the display device 2308 may be plugged into the set top box, in which case, the OSD 2350 may detect the level of cunent where the display device 2308 is plugged into the STB.
  • the OSD 2350 may include a cunent level detector, coupled to the plug of the display device 2308, for detecting the level of cunent flowing in the plug, and a comparator for comparing the detected cunent level with a predetermined threshold level and detennining whether the display device 2308 is turned on based on the comparison result.
  • a cunent level detector coupled to the plug of the display device 2308, for detecting the level of cunent flowing in the plug
  • a comparator for comparing the detected cunent level with a predetermined threshold level and detennining whether the display device 2308 is turned on based on the comparison result.
  • a local oscillator detector Another way to detect whether the display device 2308 is turned on is to use a local oscillator detector. If the display device 2308 includes a tuner/receiver such as an internal TV tuner or an external cable tuner, the tuner typically includes a local oscillator for tuning the display device 2308 to a particular channel or frequency. Since various frequencies designated for different channels are known, frequencies to which the local oscillator may be tuned are also known. Thus, by detecting frequency characteristics of the tuned signal of the local oscillator, a determination can be made as to whether or not the tuner, and thus the display device 2308, is operating.
  • a tuner/receiver such as an internal TV tuner or an external cable tuner
  • the OSD 2350 may include a local oscillator detector, coupled to the display device 2308, for detecting a characteristic frequency of the tuned signal of the local oscillator of the display device 2308 and comparing it with different frequencies conesponding to various channels, to make the detection.
  • a local oscillator detector coupled to the display device 2308, for detecting a characteristic frequency of the tuned signal of the local oscillator of the display device 2308 and comparing it with different frequencies conesponding to various channels, to make the detection.
  • Different ways to detect local oscillator signals of a TV/STB receiver are disclosed in U.S. Patent No. 5,404,161 to Douglass et al. The Douglass et al. patent also teaches that the tuned signal of the local oscillator can be detected from the antenna of the display device 2308 (e.g., using a probe or inductive coupling on or near the antenna) or from the tuned signal reflected or leaking from the display device 2308.
  • a color burst signal is a reference signal sent from a transmitter of TV signals to a TV receiver, e.g., the display device 2308, to synchronize the receiver to the transmitter for accurate signal processing.
  • the color burst signal includes about 8 to 11 cycles of chroma sub carrier signals having the frequency of 3.579545 MHZ set by the NTSC standards.
  • the TV receiver receives the color burst signal and synchronizes the phase of the receiver based on the chroma sub carrier frequency provided in the color burst signal.
  • the invention can be applied to any information stream, regardless of source as long as the information stream passes through the advertisement insertion module.
  • the invention is equally applicable to analog cable, regular earth-based broadcast television, the Internet, a read-out from any type of memory device, including compact disks, digital video disks, other optical media, magnetic disks, ROM, RAM, etc.
  • the STB transmits back to the head end or central office information concerning the ads that have been played at that subscriber location. In this manner, the television service provider can then bill the advertiser based on ads that were played.

Abstract

In accordance with the invention, advertisement identifiers (833) are stored in a queue in memory in the set top box (809) or elsewhere corresponding to individual subscribers (120a, b, c) of a television service delivery network (110). The advertisements are retrieved and displayed in the order dictated by the queue (2004) as advertisement avails are detected in the particular channel information stream being watched by that subscriber. Accordingly, the subscriber sees the advertisements regardless of what channel or television program is being watched and sees them in the order dictated by the queue. The invention also is applicable to other information streams including Internet advertising, audio/radio advertising and advertising in electronic program guides.

Description

TARGETED ADVERTISING AT THE SET TOP BOX
Field of the Invention The invention pertains to advertising. More particularly, the invention pertains to targeted advertising, such as in television programming delivery systems utilizing set top boxes, memory enabled set top boxes, and/or personal video recorders, for each subscriber.
Background of the Invention The traditional paradigm for delivering advertisements in the stream of television programming is herein termed linked advertising. Whether the television programming service is being provided by antenna broadcast, analog cable, digital broadcast satellite (DBS), digital cable, switched digital video (SDV) or any other means, generally all viewers of a particular program will see the same ads in the same order at the same times. In essence, each advertisement is "linked" to a particular point within a particular program. If any particular viewer is not viewing the particular program at the particular time, he or she will not see the advertisement. That is, in linked advertising, the advertisements are simply part of the data stream from the head end, i.e., from the central office of the television service provider to all subscribers of that service. However, with modern digital television service methods, including SDV systems (in which television service is received over the telephone lines) via very high speed digital subscriber line (VDSL) and digital cable, both of which utilize the concept of addressable set top boxes (STBs), more personalized service is now available. For instance, in both types of systems, two-way communication between the subscriber's set top box and the service provider via the network is possible. Further, the service provider can send different data to different subscribers. In telephone based systems such as SDV, the service provider can actually send different information to any individual subscriber. In fact, in one embodiment, the VDSL television delivery standard essentially is an access network utilizing asynchronous transfer mode (ATM) protocol. In digital cable systems, different data can be sent to different groups of customers.
Accordingly, it is an object of the present invention to provide an improved method and apparatus for delivering advertising via a network, such as a television service network. It is another object of the present invention to provide a method and apparatus by which targeted advertisements can be inserted into the television program stream in a targeted fashion either by individual subscriber or group of subscribers on a network.
Summary of the Invention In accordance with the invention, one or more queues of advertisement resource locators (ARLs) are maintained for each subscriber on a communications network, such as a cable television network, preferably in a memory of the subscribers' set top boxes. In a prefened embodiment of the invention, the actual advertisements conesponding to the advertisement identifiers also are stored in the memory in the individual set top boxes. Each advertisement identifier comprises, at a minimum, information indicating where the advertisement may be found on the network or on a local memory.
In a prefened embodiment, when an advertising opportunity is detected or otherwise determined in the data stream, e.g., a commercial break in a television program, the advertisement conesponding to the ARL at the top of the queue is retrieved and inserted into the program stream at the individual addressable node of the network, e.g., the set top box. This break may occur before the programming starts, during the programming, or afterwards. Thus, the insertion of the advertisement is independent of the programming being watched. Unlike prior art where the advertisement is "linked" to a particular point within a particular program, in the present invention, the advertisements are linked to the subscribers by forming the queue of address locators of different advertisements and wherein the targeted advertisement is inserted by detecting a commercial break in any programming being watched by the subscriber. Thus, insertion of advertisements is independent of programming being watched and the subscriber will receive the designated advertisement in the designated order as opportunities occur regardless of the channel program or time of day. In accordance with the invention, the television service provider sells places in the individual (or grouped) queues to advertisers based on available information about the subscribers. Such information may include publicly available demographic and psychographic information, as well as more individualized information that may be obtained through questionnaires filled out by subscribers. While the invention is particularly suitable for inserting targeted advertisements into television programming, the invention is readily adaptable to inserting any particular data into any particular stream of other data transmitted via a communications system. Such systems can include targeted advertising in Electronic Program Guides or digital overlay/insertion systems.
These and other features and objects of the invention will be more fully understood from the following detailed description of the prefened embodiments that 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 exemplary block diagram of an environment in which the present invention may be utilized;
FIG. 2 illustrates exemplary television service communication networks; FIG. 3 illustrates an exemplary block diagram of a set top box, in accordance with one embodiment of the present invention;
FIG. 4 illustrates exemplary embodiments of delivery of an ad channel as a dedicated high bandwidth channel;
FIG. 5 illustrates exemplary embodiments of delivery of ad channels at different bandwidths;
FIG. 6 illustrates exemplary methods for storing targeted ads on a STB;
FIG. 7 illustrates an exemplary system for delivering ads and meta data to the STB;
FIG. 8 illustrates an exemplary system for delivering ads, meta data and splice-timing information to the STB; FIG. 9 illustrates an exemplary method for matching ads and STBs;
FIG. 10 illustrates exemplary ad tables and STB tables being merged;
FIG. 11 illustrates an exemplary method for transmitting ads to a grouped within a separate TBM channel;
FIG. 12 illustrates exemplary TDM channels; FIG. 13 illustrates an exemplary system for delivering ads to different groups on separate VPI/VCIs;
FIG. 14 illustrates an exemplary system for transmitting different ad channels to different nodes of a CTV system; FIG. 15 illustrates an exemplary system for transmitting different ad channels to different transmitter groups of a LMDS/MMDS system;
FIGs. 16-19 illustrate exemplary logic diagrams of advertisement identifier queues;
FIG. 20 illustrates an exemplary STB for determining when the queue needs to be refreshed; FIG. 21 illustrates an exemplary method for detecting the need to refresh the queue;
FIG. 22 illustrates an exemplary method for refreshing the queue;
FIG. 23 illustrates an exemplary functional block diagram of a queue-based advertisement scheduling and advertisement insertion system; and
FIG. 24 illustrates an exemplary queue containing more than just ARLs.
Detailed Description of the Preferred Embodiment
In describing a prefened embodiment of the invention illustrated in the drawings, specific tenninology 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 24 in particular, the method, system and apparatus of the present invention is disclosed. Fig. 1 illustrates an exemplary block diagram of an environment in which the processing steps of the present invention may be applied. As illustrated in Fig. 1, a head end system 100 generates media signals (e.g., video signals including programming streams and advertisement signals) and transmits the media signals via delivery networks 110 to subscriber systems 120. Examples of the head end system 100 may include, but are not limited to, service providers such as a television service provider (e.g., ABC network), a cable television (CTV) service provider, an Internet service provider, a satellite service provider, a wireless television service provider, and others well known to those of ordinary skill in the art. The media signals can be digital (e.g., MPEG) or analog, and may be communicated in any well known form (e.g., data streams) by antenna broadcast, analog cable, digital broadcast satellite (DBS), digital cable, switched digital video (SDV), local multipoint distribution system
(LMDS), multichannel multipoint distribution system (MMDS), hybrid fiber coax (HFC), or any other means of communicating data.
The delivery networks 110 may be any type of video or data delivery system including, but not limited to a CTV network, an SDV network, a DBS network, other tenestrial wireless networks such as MMDS or LMDS, an the Internet. As one of ordinary skill in the art would recognize, streaming media, video and audio programming is delivered over the Internet or a private network through unicast or multicast connections.
The subscriber systems 120 receive the media signals from the head end system 100, and process and display them to the subscribers via a display unit, e.g., a monitor. Each of the subscriber systems 120 can include an advertisement processing unit 122, and a storage unit 124, all operatively connected. The advertisement processing units 122 are any means of processing advertisement signals, e.g., advertisement insertion units that are well known in the art, and the storage units 124 may be hard drives, RAM in set top boxes, optical disks, or other memory units well known in the art. Each of the subscriber systems 120 may further include components typically found in subscriber systems, such as a tuner, a demodulator, a modulator, a multiplexer, etc. Examples of the subscriber systems 120 may include, but are not limited to TV, VCR, Personal Video Recorder (PVR), such as TiVo™ products, including or coupled to a set top box (STB) or the like, a personal computer, or a computer work station.
FIG. 2 illustrates exemplary embodiments of three of the most common types of television (TV) delivery networks discussed above with respect to Fig. 1 with which the present invention can be suitably used. These include DBS 200, CTV 220, and very highspeed digital subscriber line (VDSL) 250. A DBS system 200 transmits a programming stream comprising upwards of a hundred channels of television programming directly from a geo-stationary satellite transmitter 202 orbiting the earth to a receiving antenna 204 mounted on or near each subscriber's house 206. The programming stream is transmitted from the antenna via a cable (not shown) to a satellite receiving station 208 in the form of a STB in the subscriber's house 206. The satellite receiving station (i.e., STB) 208 selects a channel and demodulates the signal for delivery to a monitor 210, such as a television. Most DBS systems 200 are ananged such that data also can be sent in the upstream direction, that is, from the STB 208 to the DBS provider. In most DBS systems 200, the STB 208 also is coupled to the telephone line and is designed and programmed to place telephone calls to the DBS service provider to periodically send information in the upstream direction. Such information commonly may comprise requests for Pay-Per-View (PPV) programs, requests for changes in the subscription (a request that one or more of premium channels be added to the service, etc.).
A CTV network 220, such as digital cable network, transmits multiple channels of TV information from a head end (or central office) 290 via a cable network 222. Particularly, the channels are transmitted via cables 224, such as fiber optic cables, to nodes 226. The nodes are essentially switching/routing stations that service multiple homes (usually a few hundred). The nodes 226 route the signals to individual subscribers 228. For digital cable, the individual subscribers 228 will have STBs 230 that select a particular channel from the transmit stream, demodulate it and forward it for display on one or more monitors (i.e., televisions) 232. Upstream information may be sent from the STB 230 to the central office 290 via a dedicated upstream channel over the cable, hi cable systems that do not support two-way communication, the upstream "channel" can be through the telephone as described above in connection with DBS systems 200.
A VDSL system 250 transmits TV programming over the regular telephone network. Particularly, TV signals are transmitted from a broadband distribution terminal (BDT) 252 within the central office 290 via cables 254, such as fiber optic cables, to a universal service access multiplexer (USAM) 256 that delivers the data to multiple individual subscriber households 260 via regular telephone twisted wire pair 258 using VDSL modems and protocols. The USAM 256 receives a wide bandwidth signal comprising some or all of the television channels. However, because of the bandwidth limitations of twisted pair wire, typically only about one channel of television programming at a time can be delivered from the USAM 256 to the household. Accordingly, the subscriber has a STB 262 that is similar in functionality to the previously discussed STBs for DBS and CTV, except that when the user changes channels such as by operating a remote control, the remote channel change signal is received by the STB 262 and transmitted to the USAM 256 which switches the channel for the user and begins sending the newly selected channel to the household. Such systems are known as SDV systems. SDV systems are essentially fully modern asynchronous two-way communication networks. Accordingly, the STB 262 can transmit information upstream via the same VDSL modem that receives the downstream signals. SDV systems typically operate using an asynchronous transfer mode (ATM) protocol that is well-known in the networking arts. In an alternative embodiment, the TV signals are transmitted from the BDT 252 to a broadband network unit (BNU) 264. The BNU 264 delivers the data to individual households 260 using coaxial cable 266.
FIG. 3 illustrates an exemplary block diagram of the basic components of a STB 300 within which the present invention may be incorporated. The STB 300 includes an input port 302, a tuner 304, a demodulator .306, a channel processing unit 308, a demultiplexor 312, an audio output port 312, a receiver 314, a system control unit (SCU) 316, a video output port 318, an output port 320, a modulator 322, a control bus 324, an internet connection 326, a modem 328, a subprocessor 330, read only memory (ROM) 332, random access memory (RAM) 334, and a separate internal or external large memory device, such as a hard disk drive 336.
The SCU 316 controls operation of the components of the STB 300. The SCU 316 essentially is a central processing unit (CPU) and may be any digital processing device, such as a microprocessor, finite state machine (FSM), digital signal processor (DSP), application specific integrated circuit (ASIC), general purpose computer, etc. The input port 302 is coupled to the delivery network 110 (i.e., DBS 200, CTV 220, VDSL 250) and receives signals (i.e., TV chamiels) therefrom. The STB 300 and the delivery network 110 are connected with a media, which may be an input cable from an antenna in the case of DBS 200, a coaxial cable in the case of CTV 220, and a telephone line in the case of VDSL (i.e., SDV) 250. The TV input signal may be analog or digital. Alternatively, the signal may be a video stream or multimedia stream such as a motion picture expert group (MPEG) signal from any communications network, such as the Internet.
The receiver 314, such as an infrared (IR) receiver, receives commands, such as channel change or volume control commands, transmitted by the subscriber via a hand held remote control unit (not shown). The receiver 314 forwards the commands to the SCU 316. The SCU 316 decodes the commands and forwards control signals to other circuits in the STB 300 in order to cany out the subscriber's commands. For example, the SCU 316 instructs the tuner 304 which channel to tune to (selectively parses out the data conesponding to the particular channel selected). It should be noted that an SDV STB typically would not include the tuner 304 since, as indicated above, channel selection is not processed in the STB 300 but is merely transmitted to the USAM 256 for processing.
The data is then passed to the demodulator 306 that demodulates the data and transmits the data to the channel processing circuit 308. The channel processing circuit 308 processes the data as needed. The necessary channel processing may comprise almost nothing to significant processing of the data depending on the particular form of the input data and the features of the STB that would be familiar to persons of skill in the related arts. Exemplary functions that might be performed in the channel processing circuit 308 include decoding an encoded data stream (e.g., MPEG, Dolby SunoundSoundTM) or inserting advertisements into the data stream in accordance with the present invention.
The channel processing circuit 308 may take any reasonable form. It should be understood that the term circuit is used in this specification inclusively to encompass analog circuits and digital circuits, including FSMs, DSPs, computers, CPUs, ASICs, and programmed general purpose processors. In one embodiment, the channel processing circuit 308 may be the same processor as the SCU 316. The output of the channel processing circuit 308 is typically coupled to the demultiplexer 310 that separates the audio and video portions of the channel and forwards them to audio and video output ports 312 and 318, respectively. These ports 312, 318 nonnally would be coupled to the audio and video input ports, respectively, of the subscriber's TV.
The ROM 332 is for storing software and fixed data used for operating the STB. The RAM 334 is for storing changeable data, such as the queues and advertisements in accordance with the present invention. The hard disk drive 336, such as an optical disk drive, is for storing very large amounts of data that comprise digital multimedia data (television programs and advertisements). The SCU 316, the ROM 332, the ROM 334, and the hard disk 336 are coupled to the master bus 324 over which the units can communicate with each other.
The modulator 322 is for modulating data generated in the SCU 324 to the head-end via the delivery network 110. The data is transmitted out the output port 320 that is coupled to the delivery network 110. It will be understood by those of skill in the art that the input port 302 and output port 320 might comprise the same physical port.
In order to insert targeted advertisements (ads) at the STB, the STB must receive at least some subset of ads, ad profiles, schedule information, or other necessary data. This data may be received over the same delivery network 110 as the TV signals, on for example a dedicated channel (discussed in detail later), or may be received via a separate delivery network (different from the network delivering the TV signals). In an alternative embodiment, this data is received via the Internet. As one skilled in the art would recognize, the Internet connection could be a phone connection, a cable connection, or other connections now known or later discovered. The ads are received at the input port 326 and transmitted to the modem 328, which may be a telephone modem or a cable modem.
The subprocessor 330, coupled between the modem 328 and the SCU 316, is for processing the ads, ad profiles, schedule instructions, etc. that are received. If the ads are received via the Internet the ads will be Internet based files, such as streaming media. The subprocessor 330 is dedicated to processing Internet based files, running file transfer protocol (FTP) for received streaming audio, streaming video and other files, and receiving instructions from the head end for schedule generation.
The exact manner in which ads, ad profiles, schedules and/or instructions are received can take many forms. For instance, the modem 328 may connect directly via the telephone lines to a server maintained by the television service provider (TSP) to retrieve such information. Alternately, the modem 328 may be connected to an Internet service provider (ISP) and connect to the TSPs Internet server via the Internet. If the modem is coupled to a dedicated line, the server may simply send ads, ad profiles, schedules and/or instructions to the particular STB at predesignated intervals. If the modem is connected to a non-dedicated line, the STB 300 may be programmed to call in to the server (whether through the Internet or directly) at predetermined intervals to request a download of such information.
FIG. 3 is a very high level depiction of the most basic components of an STB 300 and is not intended to limit the scope of the current invention. It would be apparent to those of skill in the related arts that other forms are possible and would easily fall within the scope of the cunent invention.
The invention will now be described in connection with the particular embodiment in which it is used to insert advertisements into TV programming. However, it should be understood by persons of skill in the art that the invention can be used to insert any data into any other data stream. For instance, the invention can be applied to the Internet, streaming audio data, etc. It also may be applied to insert advertisements in the electronic program guides that are frequently provided in one channel of television programming and which commonly include ads in a portion of the display. The system can also be utilized for the management of ads that are inserted directly into a portion of the screen during the actual programming, such as those ads that are electronically placed on the billboards in sports arenas or on the field. Such advertisement insertion technology is commercially available from companies such as Princeton Video Image, Inc., of Lawrenceville, NJ. In accordance with a prefened embodiment of the invention, the various TV programming channels ("program streams") include commercial breaks or advertisement opportunities ("avails"). The avails may be blank (designated specifically for the insertion of targeted ads by the TSP) or may include default ads that can be replaced by targeted ads. The avails may also be created when a program is recorded on a STB with memory or a PVR. In such instances, the consumer may agree to watch advertising prior to, during, or even after a recorded program is played back. The present invention can thus be used to manage advertisements in recorded program streams. The advertisement insertion can be performed as the programming is being recorded, as it is played back to the monitor, or even between recording and playback by reananging the content in memory to add the advertisements.
In accordance with the principle of the cunent invention, the STB determines whether it is turned on, what particular channel it is tuned to, detects avails in that channel, and inserts targeted ads identified in the queue in the order indicated in the queue into the avails as they arrive. Thus, ads are no longer linked to any particular advertisement spot in any particular program. Thus, a virtual roadblock can be set up whereby the subscriber will receive the designated ads in the designated order as avails occur in whatever programming he or she is viewing, regardless of the channel, program or time of day. In this manner, advertisers can more specifically reach their target audience while also being given a much higher level of confidence that the target audience has actually viewed their ads. In order for the STB to be able to insert targeted ads it must at a minimum receive descriptions of ads (ad profile) that may be substituted for the default ads. The ad profile may include an ad identification (adlD) the duration of the ad, the type of ad, prefened times for insertion and other criteria that would be obvious to one of ordinary skill in the art. The ad profile can be used to determine if the ad is applicable for that the STB and determine placement in an ad queue for the STB. According to one embodiment, the ads are also received at the STB and are stored on the STB, if the ads are applicable (targeted) to the STB. If the ads are also received by the STB, the ads and the ad profile may be sent together or may be sent separately and matched be up at the STB.
There are numerous methods for transmitting the ads, the ad profiles, or the ads with the ad profile appended thereto in some fashion, that are well within the scope of the cunent invention. Some of these methods are discussed below. When discussing these exemplary methods we will refer to the transmission of an ad channel, the ad channel is meant to include simply the transmission of ads, the transmission of ad profiles along with the ads, and possibly simply the transmission of the ad profiles. The ad channel may be delivered to the STB in a low bandwidth channel, a medium bandwidth channel, or a high-bandwidth channel. These channels could be dedicated to delivery of the ad channel or could be shared, providing delivery channels for other services. The low bandwidth method of delivery would require that ads or ad profiles within the ad channel be delivered (or begin being delivered) significantly in advance of the anticipated time of ad presentation. The high bandwidth method of delivery would require that ads or ad profiles within the ad channel ad be delivered at or just prior to the anticipated time of ad presentation.
An example of such a dedicated channel may a broadcast high bandwidth ad channel (e.g., 6 MHz). A service provider (i.e., DBS, CTV, SDV, Multichannel Multipoint
Distribution System (MMDS), Local Multipoint Distribution System (LMDS)), allocates and dedicates one or more "channels" of the system to be used for delivering the ad channels. The ad channel would be encoded and transported in the same way that the other programming content (on other channels) was encoded and transported. That is, if one were to "tune" to the ad chamiel, one would receive only conventional advertisements (normal video and audio). The ad channel can be delivered in any of a variety of formats including but not limited to streaming media, motion picture expert group (MPEG)-2, MPEG-4, using various protocols, including but not limited to, ATM, IP.
FIGs. 4A-C illustrates several ways how a high bandwidth ad channel could be transmitted, digitally or in analog form. Fig. 4 A illustrates an ad channel 410 being transmitted as a conventional 6 MHz analog channel along with conventional analog programming channels 400 (ABC, NBC). Fig. 4B illustrates the transmission of three multiplexed 6 MHz digital channels. The first channel 420 transmitting a contiguous sequence of digital ad channels (5 ad channels as illustrated). The second channel 430 transmitting multiple digital programming channels (NBC). The third channel 440 transmitting a digital ad channel along with multiple digital programming channels (AMC). Fig. 4C illustrates that analog channels 450 and digital channels 460 can be transmitted together. As illustrated only the digital channel has an ad channel being transmitted.
FIGs. 5A-5C illustrate the ad channels being transmitted at various bit rates. FIG. 5A illustrates an embodiment in which the ad channel is sent as a dedicated low bandwidth channel. In this embodiment, the ads are continually sent at the low bit rate, and are ultimately stored as a complete advertisement. Fig. 5B illustrates an embodiment in which the bit rate of the ad channel is variable. In this embodiment, network bandwidth demand (or bandwidth demand by one or more individual subscribers) is monitored in real-time and/or statistically predicted. The bit rate of the ad channel varies based on the bandwidth demands of the system as the sum of the ad channel bandwidth and the system bandwidth cannot exceed the maximum available bandwidth. For example, as bandwidth demanded by the system increases, the bandwidth allocated for transmitting the ad channel would proportionally reduce. Similarly, when the bandwidth demand for the system decreases, the available bandwidth for canying the ad channel is increased. FIG. 5C illustrates an ad channel being transmitted at "off-peak" times (i.e., when the overall demand for bandwidth is comparatively low). Bandwidth usage can be monitored and/or statistically predicted, either for the entire network, a sub-portion of the network, or an individual subscriber. By anticipating or predicting a period of decreased bandwidth demand (either network- wide or individually), the ad channel delivery would coincide with such decreased demand. Such a scenario would allow operators to conserve bandwidth during "peak" times for other services. In off-peak download, the ad channel can operate at comparatively high bandwidth.
The methods described above for delivery of the ad channel are applicable to a variety of platforms including, but not limited to, DBS, SDV, analog hybrid fiber coax (HFC), digital HFC, MMDS and LMDS.
If the ads are going to be stored on the STB, the STB must determine which ads from the ad channel are applicable (targeted). The storing of the targeted ads can be accomplished in a number of ways. Fig. 6 illustrates several exemplary methods for storing the targeted ads. As illustrated, the STB selects an ad from an incoming ad channel (step 601). Upon receiving the ad, the STB may select branch A (store all delete non-targeted) or branch B (store only targeted).
In branch A, the STB stores the ad on the hard drive (step 603) and then analyses the ad (step 605). Next a determination is made as to whether the selected ad is appropriate (step 607). Appropriateness can be defined by numerous parameters, such as, determining if the incoming ad has one or more characteristics that match the pre-determined criteria of the STB. If the ad is found to be appropriate, it is retained on the HD (step 611). If the ad is found to be inappropriate, the ad is deleted from the HD (step 609).
In branch B, the STB buffers the selected ad in memory, such as cache memory (step 615). The STB then analyses the ad in real time (step 617) in order to make a determination as to whether the selected ad is appropriate (step 619). If the ad is found to be appropriate, it is stored on the HD (step 623). If the ad is not found to be appropriate, it is deleted from the cache memory and the cache memory is cleared (step 621). It is to be noted that ads selected for ultimate storage can be determined by a number a factors, including the ads themselves (their IDs and characterizations), the STB profile, processing instructions of the STB, how the ads are delivered to the STB, etc.
In one embodiment, each ad has a tag or label (meta data) associated with it, such as, attached/embedded in it or linked to it. The meta data may be a simple identifier or a complete ad profile describing many characteristics of the ad. The metadata could be transported with the ad or in advance of the ad. The meta data may be packaged in a proprietary format or use an existing (or developing) international or industry standard. A proprietary format would be defined as a structure or string of text and/or numeric characters. An international standard for audiovisual metadata, such as the ISO/IEC "Multimedia Content Description Interface" (also know as MPEG7) or the TV-Anytime Forum "Specification Series: S-3 on Metadata", could also be used to provide the format for the ad profiles. The use of an international standard would facilitate the use of widely available software and equipment for the insertion of ad profile to the audiovisual content. The meta data can be transported using methods including but not limited to:
• as an "Extended Data Service" (XDS) as defined in the Electronic industries Association's Recommended Practice: EIA-608 on line 21 of an analog video signal (often refened to as the vertical blanking interval (VBI));
• as MPEG-2 video "user_data", as defined in ISO/IEC 13818-2; • as a separate, but associated, MPEG-2 Systems data "PID" as defined in
ISO/IEC 13818-1; or
• as a sequence of JP (Intemet Protocol) packets traveling over the same or different path as the audiovisual content.
The meta data can be linked and synchronized with the appropriate content by using the standard synchronization services provided by the MPEG standard or by an alternative "System Clock Reference" carried by both the content and the meta data. The transportation of meta data (i.e., ad profile) is described in detail Applicant's co-pending U.S. Patent Application number 09/635,544 filed on August 10, 2000 entitled "Transporting Ad Characterization Vectors" (Atty. Docket No. T720-00). This application is herein incorporated by reference in its entirety but is not admitted to be prior art.
The meta data can be used by the STB 200 to determine whether or not to store the ad (and also when and how to display the ad). Such determination can be accomplished in a number of ways depending on the application. In the case that the meta data is a simple identifier (i.e., identifies the group to which the ad belongs) and is sent with the ad, the STB would examine the meta data as soon as the ad is received (on-the-fly), and either save it or ignore/discard it based upon instructions/rules (e.g., a group map) previously sent to the STB. According to one embodiment, the meta data is pre-pended to the ad (or is at the beginning of the ad). When the ad is received at the STB, the meta data is received first and would only require a brief amount of "ad time" in order to be completely decoded (e.g., <.1 second). Thus, a decision can be made immediately as to whether to store or ignore the ad. This embodiment is particularly applicable to ads delivered as streaming media. FIGS. 7 and 8 illustrate exemplary systems for encoding meta data and timing information according to two embodiments of the present invention (VBI data encoding and MPEG data encoding). FIG. 7 illustrates an ad channel generator 703 receiving metadata 707 and one or more ads 709 from an ad server 701. A VBI encoder 711 receives the meta data and an ad sequencer/multiplexer 713 receives the ads. Each of these modules 711, 713 transmit the infonnation to a modulator 715. The modulator 715 modulates the meta data and the ads into an ad channel 717 that is forwarded to an STB 705.
At the STB 705, the ad channel 717 is received by a demodulator/decoder 719 that splits the ad channel 717 into a video stream 731 and meta data 729. The video stream 731 is transmitted to a buffer 723, and the metadata 729 is transmitted to a VBI decoder 721. The metadata information 729 is transmitted to a processor 727 that deciphers the metadata 729 to compute received instruction 733. The instructions 733 are then transmitted to buffer 723 for storage. Based on the instruction 733, the buffer 723 transmits the selected ads to memory 725.
FIG. 8 illustrates an ad channel generator 803 receiving ads 811, and metadata 813 from an ad server 801. The ad channel generator 803 also receives metadata and splicing_timing information 817 from a metadata and splicing_timing encoder 815. The output of ad channel generator 803 is one or more ad channel(s) along with a program stream(s) 819. The ad channel and program stream 819 is then transported to STB 809 via a transport network 805 and an access network 807. Fig. 8 illustrates the STB 809 as a use case diagram. The STB receives the ad channel
820, decodes the received data services (meta data) 821, and identifies the timing associated with the ad (i.e., insertion of the ad) from the splice information 822. Based on 820, 821 and 822, the STB 809 accordingly identifies which ads should be stored (823). The STB 809 stores the appropriate ad in an appropriate splice window 824.
The meta data may be associated with individual ads within the ad channel (discussed above) or could be associated with numerous ads within the ad channel. In the second case, the meta data would include ad_labels for each of the ads within the ad channel. In one embodiment, the meta data would comprise a table that mapped each adlD to a label or group designation.
Fig. 9 illustrates and exemplary method of the assignment of ads and STBs to groups and Fig. 10 illustrates the various tables and how they are combined. Each STB, identified by a unique identifier (e.g., MACJLD), is assigned to one or more groups (step 901). Based on this assignment a master table (STB-group table) is formed that illustrates various STBs assigned to various groups (all STB to group associations). Fig. 10 illustrates an STB-group table 1001 including MAC-Ids 1003 for each STB and the applicable targeted groups 1005.
Each ad is assigned a unique adlD (step 903) and each ad (identified by adlD) is assigned to one or more groups (step 905). Based on this assignment a master table (adlD- group table) is formed that illustrates various STBs assigned to various groups (all adlD to group associations). Fig. 10 illustrates an adID-group table 1007 including AD-IDs 1009 for each ad and the applicable targeted groups 1011.
The STB-group table and the adID-group table are joined, using the groups' field common to both tables, to form a master STB-adID table. The master STB-adJD table contains an entry for each STB and lists each ad appropriate for that STB. It is to be noted that the master STB-adID table may be individualized for each STB to create an individual STB- adID table. Each individual STB-adID table conesponds to a particular STB. Fig. 10 illustrates both a master STB-adID table 1013 and an individual STB-adID table 1015. Each of the tables 1013, 1015 includes MAC-Ids 1015 for each STB and associated AD-Ids 1017.
Based on either the master or individual STB-adID table, each STB can identify ads that are appropriate (step 909). The identification of appropriate (targeted) ads is done by examining the adlD of the incoming ads on the ad channel to determine if the adlD is included on the master or individual STB-adID table. It is to be noted that the entire STB-adID table can be sent to each STB (e.g., via the carousel) or just the individual STB-adID table map conesponding to the particular STB can be sent. In an alternative embodiment, the determination of which ads are appropriate for a given STB can be performed upstream so that neither the master nor individual STB-adID tables need to be transmitted, as only targeted ads would be delivered to each STB.
The groups that the STBs and ads are associated with may be formed based on: anticipated target markets of the ads (ad profiles); characteristics of the subscribers (subscriber profiles) or nodes of a system (node profile); or common predefined sets of characteristics (common profiles). The profiles (ads, subscriber, node, common) define various criteria such as demographics, interests and preferences. The ad profiles are defined by the advertisers. The subscriber profiles may be entered by the subscriber (via a questionnaire), may be obtained by third parties (i.e., demographic data associated with market segments such as ZIP+4), or may be generated by the system by, for example, analyzing TV viewing habits. Each STB may have multiple profiles associated with it based on what subscriber or combination of subscribers is viewing the TV, or based on the time of day or other criteria. The generation of a subscriber profiles is further defined in Applicant's following publications and applications that are herein incorporated by reference in their entirety but are not admitted to be prior art:
• PCT Publication WO 00/33160 entitled "Subscriber Characterization and Advertisement Monitoring System" (Atty. Docket No. T702-00PCT);
• co-pending U.S. Application number 09/516,983 filed on March 1 , 2000 entitled "Subscriber Characterization System with Filters" (Atty. Docket No. T702-02); • co-pending U.S. Application number 09/591,577 filed on June 9, 2000 entitled
"Privacy Protected Advertising System" (Atty. Docket No. T702-03);
• co-pending Application number 09/635,252 filed on August 9, 2000 entitled "Subscriber Characterization based on Electronic Program Guide Data" (Atty. Docket No. T702-04); • PCT Publication WO 03/3233A1 entitled "Subscriber Identification System"
(Atty. Docket No. T705-01PCT);
• PCT Application PCT/USOl/06650 filed on February 28, 2001 entitled "Privacy Protected Advertising System" (Atty. Docket No. T715-10PCT);
• co-pending U.S. provisional application number 60/260,946 filed on January 11, 2001 entitled "Viewer Profiling Within a Set-Top Box" (Atty. Docket No. T734-00); • co-pending U.S. provisional application number 60/263,095 filed on January 19, 2001 entitled "Session Based Profiling in a Television Viewing Environment" (Atty. Docket No. T735-00); and
• co-pending Application number 09/928,024 filed on August 10, 2001 entitled "Targeting Ads to Subscribers based on Privacy Protected Subscriber Profiles " (Atty. Docket
No. T741-10).
The STBs and/or ads may be assigned to different groups by conelating the subscriber (or node) profile and the ad profile, respectively, to the groups. As one of ordinary skill in the art would recognize there are numerous methods for conelating profiles in order to form groups that would be well within the scope of the cunent invention. The generation of groups is further defined in Applicant's following co-pending U.S. applications that are herein incorporated by reference in their entirety but are not admitted to be prior art:
• Application number 09/635,542 filed on August 10, 2000 entitled "Grouping Subscribers Based on Demographic Data" (Atty. Docket No. T719-00); • Provisional Application number 60/278,612 filed on March 26, 2001 entitled
"Formation and Utilization of cable Microsones" (Atty. Docket No. T737-00); and
• Application number 09/928,024 filed on August 10, 2001 entitled "Targeting Ads to Subscribers based on Privacy Protected Subscriber Profiles " (Atty. Docket No. T741- 10). The ads may be grouped at a central location (head-end) and the ad channel(s) could be time-division or channel-division multiplexed by advertising group. In time-division multiplexing, the advertisements conesponding to advertising groups are temporally grouped together prior to transmission. The STBs could be instructed to download all advertisements sent on the advertisement channel during particular time periods, those time periods conesponding to the advertising group or groups to which it belongs, hi channel-division multiplexing, each advertising group is assigned to a different advertising channel. The STBs are instructed to download all advertisements sent on the particular advertisement channel(s) to which it conesponds.
In a system such as SDV that operates on an ATM protocol, because the ATM switching occurs at the central office, the central office is able to direct different advertisement channels to one or more of its subscribers' STBs on different VPl/VCIs. In this type of embodiment, one or more advertisement channels conesponding to one or more specific subscribers could be created and sent to the appropriate subscriber(s). Each STB would be instructed to tune to a particular advertisement channel, e.g., (VPI/VCI), in order to receive and store all the ads on that particular channel. This type of embodiment is advantageous in that the STBs would not need to filter the ads since each advertisement received on the • channel would be appropriate for that STB. hi such a system, the central office would typically have its own advertisement server for generating the advertisement channel.
FIG. 11 illustrates an exemplary TDM process in accordance with one embodiment of the present invention. The STB is assigned to one or more groups based on pre-defined parameters (step 1101) and each STB is notified of its conesponding group (step 1103). Each ad is also assigned to one or more groups (step 1105). Subsequently an ad channel is created wherein the ad channel is a time-division multiplexing of a plurality of advertisement groups (step 1107). The ads are transmitted to the STB via an ad channel with a temporally contiguous sequence of ads belonging to the same group being transmitted together (step 1109). Thus, each group of ads is sent in the form of a TDM. A 'schedule' of the TDM multiplex (not shown) may also be created and transmitted, wherein the TDM multiplex represents the scheduling of the TDM on the ad channel (i.e., which groups of ads are transmitted at which times). Each STB is notified of the timing of groups in the transmitted TDM channel (step 1111). The STB, based on the received schedule (i.e., the timing of groups of ads in the multiplex), and depending on which group(s) it belongs, extracts and saves those groups of ads in the multiplex appropriate for the STB (step 1113). The remaining ads (not belonging to the STB group) are ignored by the STB.
It is to be noted that the system clocks (not shown) both at the STB and the origination of the TDM multiplex may require synchronization. The schedule could indicate both the start and end times of the ad groups in the TDM, or alternatively, could indicate the start time only and a duration. The STB, knowing to which groups it belonged and knowing the schedule of the ad-groups in the multiplex, could selectively save those ads appropriate for it. The TDM ad grouping mechanism can also be implemented utilizing the new "digital cue tone" standard (DVS-253). This standard specifies new data services for each elementary stream allowing for timing information to be sent along with the stream when a splice of that stream is appropriate (both splicing into and out of the program). Such splicing timing can be encoded in the ad channel program stream (i.e., the program of continuous ads), but instead of being used to indicate a splice event, the timing information would be used to determine when to start receiving (and storing) ads and when to stop. The new splice-timing service may be adapted to yield the timing of the beginning and end of an ad-group sequence in the TDM multiplex. A new data service may also be created for this purpose.
FIG. 12 illustrates an exemplary time-division multiplexing ad channel. The ad channel has a plurality of time slots (TA, TB, TC, ...), each time slot based on a time multiplex. As illustrated, time slots TA-TB conespond to a first time multiplex, TB-TC conesponds to a second time multiplex, and Tn-l-Tn conesponds to another time multiplex. Furthermore, each time multiplex is shown to host a plurality of advertisements. For example, time multiplex TA-TB hosts advertisements conesponding to group A, (labeled as Al ... An), TB-TC hosts advertisements conesponding to group B (labeled as Bl ... Bn), and Tn-l-Tn hosts group N advertisements (labeled Nl ... Nn).
Another method for delivering "grouped" ads to the STB and storing only those ads appropriate for that STB can be accomplished by creating a separate ad "channel" for each ad group, and sending to each STB only that ad channel which conesponds to its groups (i.e., that channel which has ads appropriate for that STB). For ATM transport, encoded video streams may be sent on one or more individual channels, e.g., VPI/VCIs. For example, one or more dedicated channels (i.e., VPI/VCIs) may be created and assigned to cany only ads of a particular group. This would result, in one embodiment, in a VP17VCI for each advertisement. It is to be noted that each VPI/VCI may be a high, moderate, or low bandwidth channel. More specifically, in an SDV system, different ad channels (conesponding to groups) may be created and transported on different VPI/VCIs. Each STB, being a member of one group would receive the ad channel conesponding to its group. It is also to be noted that the switching of the different ad channels (VPI/VCIs) may occur at a central location (such as at the broadband digital terminal (BDT)). Thus, only the appropriate ad channel is sent to each STB (and only that particular ad channel). FIG. 13 illustrates an exemplary embodiment in which each ad is assigned to one or more groups and a VPI/VCI is created for each advertisement group. An ad channel comprising only ads belonging to a particular group is transmitted on the VPI/VCI assigned for that group. The STB has a map table (GROUP- VPI/VCI) indicating which VPlTVCI(s) conespond to which group(s), thus allowing the STB to "tune" to the proper VPI/VCI (conesponding to the group of the STB) in order to receive ads appropriate for it. The tuning at the STB means that only that VPI/VCI (i.e., the appropriate ad channel) may be switched and transmitted to the STB. As illustrated in Fig. 13, an ad channel generator 1301 may receive one or more advertisements from one or more ad servers 1303. The ad server 1303 stores the actual contents of the advertisements. The ad channel generator 1301 also receives information from an AD_ID~GROUP table 1305, wherein the AD D-GROUP table refers to the assignment of each advertisement to a group (A, B, C, D, E, etc.). Similarly, the ad channel generator 1301 also receives information from a GROUP-VPI VCI table 1307, wherein each GROUP- VPI/VCI table 1307 refers to associating groups of advertisements to conesponding VPI/VCI. The GROUP-VPI VCI table 1307, for example, may indicate that GROUP A advertisements belong to VPI/VCI 1/150, and GROUP B advertisements belong to VPI/VCI 1/120, etc. It is to be noted that the ADJD-GROUP table 1305 and the GROUP-VPI VCI table 1306 may be generated by a network operator or any other advertisement management system. It is also to be noted that even though FIG. 13 illustrates AD_ID group table generation and group VPI/VCI table generation processing located externally to the ad channel generator 1301, in other embodiments such processing may be incorporated within the ad channel generator 1301.
The ad channel generator 1301 based on the information from the ADJLD-GROUP table 1305, and from the GROUP-VPI VCI table 1307, creates one or more ad chamiels, wherein each ad channel comprises only one group of advertisements. Thereon, each group of advertisements is transmitted on a VPI/VCI assigned to that group. For exemplary purposes, the ad channel generator 1301 generates five ad channels 1309 - 1317. Ad channel 1309 comprises GROUP A ads, ad channel 1311 comprises GROUP B ads, ad channel 1313 comprises GROUP C ads, ad channel 1315 comprises GROUP D ads, and ad channel 1317 comprises GROUP E ads. Subsequently, GROUP A ads are transmitted at VPI/VCI: 1/150, GROUP B ads are transmitted at VPI/VCI: 1/120, GROUP C ads are transmitted at VPI/VCI: 1/100, GROUP D ads are transmitted as VPI/VCI: 1/180, and GROUP E ads are transmitted at VPI/VCI: 1/190.
■ The VPI/VCI information and conesponding advertisements information may further be forwarded to a digital interface 1319, e.g., a broadband digital terminal (BDT), wherein the VPI VCI information may be conelated with the MACJLDs of the set-top boxes (STBs) to determine which VP VCI should conespond to which STB terminal. The BDT may comprise a determination processing circuitry (not shown) to conelate the VPI/VCI to the STBs. This conelation may be based on any number of parameters, e.g., subscriber demographics, subscriber likes and preferences, etc. As illustrated in FIG. 13, VPI/VCI 1/150 is transmitting to a first STB 1321, VPI/VCI 1/120 is transmitting to a second STB 1323, VPI/VCI 1/100 is transmitting to a third STB 1325, VPI/VCI 1/180 is transmitting to a fourth STB 1327, and VPI/VCI 1/190 is transmitting to a fifth STB 1329.
It is to be noted that the conelation of STBs to the VPI/VCI channels may be accomplished by creating a GROUP-VPI/VCI table, wherein the MACJDs of the STBs are conelated to the groups of advertisements they should be receiving, wherein the groups of advertisements are further conelated to the VPI/VCI infonnation.
FIG. 14 illustrates an exemplary implementation in accordance with another embodiment of the present invention. As illustrated, an ad channel generator 1401 located at a head end 1403 of the cable system may receive one or more advertisements from one or more ad servers 1405. The ad channel generator 1401 also receives information about the association of each advertisement to a group (ADJLD-GROUP table 1407). The AD JD- GROUP table 1407 lists an AD_LO and associated groups for each ad. The ad channel generator 1401 also receives information about conelations between advertisement groups in different nodes (GROUP-NODEJD table 1409). GROUP-NODE JLD table 1409 identifies each cable node by a NODE_ID and lists the conesponding groups for each node.
The ad channel generator 1401, based on the ADJD-GROUP table 1407 and the GROUP-NODEJD table 1409 transmits different advertisement groups to different cable nodes via a wire line or wireless link. As illustrated, group D ads are transmitted to node 6 (1411), group A ads are transmitted to node 10 (1413), group B ads are transmitted to node 12 (1415), group C ads are transmitted to node 17 (1417), and group E ads are transmitted to node 21 (1419). In a cable-based network as shown in FIG. 14, the STBs conesponding to the serving node receives the same group of advertisements. For example, the STBs served out of node 6 receive group D ads. However, unlike prior art, the advertisements are targeted (selected) based on the node characteristics. FIG. 14 is particularly applicable for cable-based systems. However, a similar method can be employed in a Local Multipoint Distribution System/Multichannel Multipoint Distribution System (LMDS/MMDS). In this embodiment, separate ad channels may be created conesponding to one or more groups. However, in an LMDS, the ad channels are transmitted based on cells, wherein each cell is defined by the area served by a broadcast transmitter associated with a group and each cell would receive only that ad channel conesponding to the cell group. This requires that the ad channel switching/insertion occur at the head end. In a prefened embodiment, the LMDS system providing video services and a generic ad channel, would generate different ad channels (for different cells/groups) and send only the one and appropriate ad channel to each cell depending on the group membership of that cell. The term cell is used to denote a "subscriber serving area" served by a single broadcast transmitter and typically serves 500-2000 homes.
FIG. 15 illustrates one exemplary implementation for an LMDS/MMDS architecture. A LMDS/MMDS head end 1501 includes an ad channel formation/switching module 1503 coupled to one or more ad servers 1505. The ad channel formation/switching module 1503 receives one or more advertisements from the ad servers, groups them together and transmits the ads to one or more subscriber groups. In accordance with the principles of the present invention, the subscriber group conesponding to a cell may be characterized. As illustrated, cell 1507 conesponds to LMDS/MMDS transmitter #1, and the subscribers located within this cell are termed as group #1. The targeted advertisements for the group #1 are transmitted from the ad chamiel formation/switching module 1503 to the LMDS/MMDS transmitter #1 via a connection 1515, such as a fiber optic or a microwave comiection. Similarly, ads for group 2 are transmitted to cell 1509 via connection 1517, and ads for group 3 are transmitted to cell 1511 via connection 1519. The ads are delivered from the transmitters to the STBs via wireless connections.
It is to be noted that in an LMDS/MMDS environment, all the STBs belonging to a particular cell receive the same advertisements, however, these advertisements are not network-based ads, but instead are based on a group of subscribers conesponding to a cell, e.g., subscribers located in cell 1507 will receive group #1 advertisements, subscribers located in cell 1509 will receive group #2 advertisements, etc.
In accordance with a prefened embodiment of the invention, the STB maintains an advertisement queue in RAM 334. The queue identifies the order in which the ads should be played. The location of each ad is identified by a pointer, known as an ad resource locator (ARL). For example, if n ads are stored in memory, they may be identified as ARLl - ARLn accordingly, where n is an integer. The queue is thus a stacked list of ARLs. FIG. 16 illustrates an exemplary ad queue. The queue consists of m slots (Ql - Qm) with each slot containing an ad identified by its conesponding ARL. As illustrated, the queue consists of playing each of n ads (ARLl - ARLn) two times. The ads that are pointed to by the ARLs preferably are stored in STB memory (i.e., RAM 334, hard disk 336). Alternately, the ads can be stored on a remote server coupled to the communications network.
A plurality of mechanisms may be used to anange ads in the queue. For example, repetition may be used, where the ad is displayed at pre-determined intervals. For exemplary purposes, as shown in FIG. 17, a Ford ad (located at ARLl) may be shown as the fifth ad repeatedly. The ARL for Ford would be placed in the queue periodically such that Qnew = Qold+5. As illustrated in FIG. 17, the Ford ad is queued at slots Ql, Q6 and Qll. It should be noted that it is not necessary that every Ford ad be the same and, in fact, ads may be variants of an ad (such as a sequel or series of ads) so that the subscriber does not get bored by a particular ad. FIG. 18 illustrates such an exemplary case, wherein different Ford ads identified as ARLl, ARL6, and ARLl 1 are queued in slots Ql, Q6 and Ql l, respectively.
Furthermore, the ads in the queue may not be spaced evenly. For example, the spacing between ads may decrease with time (i.e., the repetition rate increases). An exemplary case is illustrated in FIG. 19, where the Ford ad (located at ARLl) is placed in the queue at slots Ql , Q8 and Q14. Thus, the initial spacing has 6 other ads between each Ford ad (i.e., a repetition rate of 1 Ford ad every 7 ads) and decreases to 5 other ^ads between each Ford ad (i.e., a repetition rate of 1 Ford ad every 6 ads).
Alternatively, the ads may be stored in the queue based on time-based priority queuing. In this anangement, the ads are ananged according to desired times for display. Other parameters may include the maximum number of ads played, the hours of the day during which the ad should be displayed, the days of the week during which the ad should be displayed, the weeks in the month during which the ad should be displayed, etc.
Along with actual ads and address locators for the ad, ancillary data for each ad may also be stored. In typical cases, at least some subset of the following data for each ad is gathered and stored:
Ad Identification: a unique identifier for each ad;
Ad Play Times Maximum Number: the maximum number of times each ad should be displayed; Ad Expiration Date: a date beyond which the ad should no longer be displayed;
Ad Player Identification: a unique identifier of the type of client application software that must be used to display the ad;
Ad Hour Frames: the hours of the day during which the ad should be displayed;
Ad Day Frames: the days of the week during which the ad should be displayed; Ad Week Frames: the weeks in the month during which the ad should be displayed;
Ad Month Frames: the months in the year during which the ad should be displayed; Ad Frequency: the maximum number of times the ad should be displayed in one day;
Daily Ad Playing Counter: the number of times the ad has been displayed on a given day;
Last Playing Day: the date after which the ad cannot be displayed; and Total Ad Playing Number: the total number of times an ad has been displayed.
FIG. 20 illustrates an exemplary STB 2000 capable of determining when the ad queue needs to be updated. The STB 2000 includes a processor 2002, memory 404 (configured to store an ad database and a queue of the ads), a counter 2010, a trigger circuit 2006 and a communications interface 2012. The memory 2004 is coupled to the processor 2002, the trigger circuit 2006, the counter 2010, the communications interface 2012 and a display medium 2008, such as a television. The communications interface 2012 receives ads from the delivery network and forwards them to the memory 2004. The ads to be displayed to the subscriber are stored in the memory 2004, either as a database or a queue. The display medium 2008 displays the ads to the subscriber. The counter 2010 is configured to record each display of the ad to the subscriber. The trigger circuit 2006 is configured to initiate a request for new targeted ads and/or a new ad queue.
FIG. 21 illustrates an exemplary method for determining if the trigger circuit 2006 should be activated. Initially an ad is selected from the queue and displayed to the subscriber (step 2100). After the ad is selected from the queue, the routine determines if the ad queue has reached a low level (step 2110). The low level may be, for example, a predefined or variable number of slots, or a number of slots equal to a predetermined or variable amount of time (ads associated with these queues adding up to a total of 10 minutes of ads).
To illustrate the concept, assume that initially the memory 2004 was loaded with 10 ads and the queue consists of 50 slots, representing an order for displaying the 10 ads. Moreover, assume that the ads associated with the first 40 slots were displayed so that the queue would only consist of 10 slots. If we assume, that the low-level trigger is pre-defined as 9 slots remaining, then when the ad associated with the 41st slot was displayed the queue would be reduced to the low-level.
If the determination is that the queue has reached the low-level then the trigger circuit will be initiated (step 2120). The processing associated with the trigger circuit is explained with reference to FIG. 22. If the determination is that the queue has not reached the low-level then a determination needs to be made if the number of ads remaining in the queue has reached a low-level (step 2130). The ad low-level may be a pre-defined number, for example, 3 ads remaining in the queue. This would signify that every time an ad avail was presented, the system would only have one of three targeted ads that it could possibly substitute. Such a scenario would likely result in the same ad being displayed to the subscriber in a relatively short period.
As one of ordinary skill in the art would recognize, the situation where there are very few ads remaining in the queue may occur for many reasons. For example, as described above, the "Ad Play Times Maximum Number", associated with each ad defines the maximum number of times the ad should be displayed. When an ad has been displayed the maximum number of times, the ad is marked unavailable and will no longer be displayed (i.e., is effectively removed from the queue). As an additional example, an ad may be removed from the queue before it has been played the number of times defined in the queue (or even before it has ever been displayed) if the "Ad Expiration Date" has passed.
If the ads remaining in the queue reach the low-level then the trigger circuit will be initiated (step 2120). Otherwise, a determination will be made as to whether all or a certain amount of the ads in the queue will expire within a relatively short time (step 2140). The amount of expired ads may be a pre-defined or variable number or percentage and the short time may be a predefined or variable window of time that could be a number of minutes, hours, days, etc. If the criteria defined in step 2140 are met (i.e., most or all of the ads will expire within the defined window of time), the trigger circuit is initiated (step 2120). Otherwise, the process returns to step 2100.
As one of ordinary skill in the art would recognize, the steps of the routine described above with respect to FIG. 21 could be rearranged, additional steps could be added, steps could be removed, or completely different steps could be used to accomplish the same function, without departing from the scope of the cunent invention.
FIG. 22 illustrates an exemplary process for initiating the trigger circuit to obtain new ads and/or a new queue. Initially a determination is made as to whether the subscriber display 2008 is ON (step 2201). If the display 2008 is on, the existing queue is used (step 2203) and the process returns to step 2201. Alternatively, if a determination is made that the subscriber display 2008 is OFF, the client application connects to the HE (step 2205). The STB requests a new set of ads (step 2207) and then receives a new set of ads and the queue is either refreshed or a new queue is also received (step 2209). In alternative embodiments, step 2201 is not required and the ads and queue can be refreshed even if the TV is on. For example, the new ads and queue may be downloaded at a time when the television network will have sufficient bandwidth, such as 2AM. In this embodiment, if the queue was completely emptied prior to the predefined time for refreshing the queue, the system could just display the default commercials to the subscriber until the queue was refreshed. Alternatively, the new ads could be downloaded to the memory 2004 at a rate that could be supported by the television network taking into account the programming that was being viewed. That is, when programming utilizing a large amount of bandwidth was required the ads would either not be downloaded or would be downloaded at a low rate. When the programming being displayed was low bandwidth the ads could be downloaded at a greater rate.
As one of ordinary skill in the art would recognize, there are numerous methods for downloading new ads and a new queue to the memory 2004 that would be well within the scope of the cunent invention. FIG. 23 illustrates an exemplary functional block diagram of queue-based advertisement scheduling and insertion system (STB), according to one embodiment of the present invention. A programming stream 2301 in the form of a DVB transport stream, such as a multiple program transport stream (MPTS), is received by a tuner 2302. The tuner 2302 extracts and demodulates the channel selected by the subscriber. This channel carries digital cue tones that are detected by a detection module 2310. The advertisement to be inserted in the next detected avail are queued up in a scheduler 2312 (using the avail data and prioritization or other scheduling algorithm). An advertisement insertion module 2304 inserts or splices the queued advertisement according to the queue tone timing. A resulting program stream 2305 with the substituted advertisement is decoded by a decode module 2306 and sent to the television 2308 or other display device.
The queue based insertion can be combined with a time/program based set of rules in which case the ad to be presented is determined in part by the time-of-day program being watched or a combination thereof, hi one embodiment, the time-based aspect is addressed by having time dependent queues. As an example, there can be a morning queue, a mid-day queue, an evening (prime-time) queue, and a late night queue. For instance, if it is expected that children are the most likely demographic segment to watch television in the morning, the "morning queue" is designed for children. Similarly, the late night queue may be designed for adults. Having a time dependent queue allows direction of the advertisement at the particular individual that might be watching. It also is possible to use a system such as described in Applicants PCT Publication number WO 03/3233A1 entitled "Subscriber Identification System" (Atty. Docket No. T705-01PCT) to determine who is watching the television and organize the queue based at least partially on that criterion. Other methods include the use of personal identification numbers (PINs) to determine who is viewing the television, or monitoring interaction with an Electronic Program Guide (EPG). By characterizing the household, it is possible to establish the most appropriate queues for each time of day.
Program based rules also may be used in conjunction with the queues to provide a combination of "linked" advertising and advertising in accordance with the concepts of the present invention. Using such a combination, the order of the ARLs may be varied depending upon the program being watched. This allows a particular advertiser to link to a certain program. In one embodiment, the ARL is moved to the top of the queue when a particular program is being watched. In an alternate embodiment, program dependent queues can be created, such that there is a queue for a program like "ER" and a different one for "Survivor".
The scheduler 2312 is the ARL retrieval circuit that receives the ARLs and instructions for their organization in the queue and then organizes the queue (not separately shown in FIG. 23) in accordance with the received ARLs and instructions, hi this exemplary embodiment, the scheduler retrieves the ARLs from a dedicated control channel 2315 in the media stream 2301. However, as previously noted, this is just one of many possible transport streams for the ARLs and/or instructions. The scheduler also provides a schedule and notifies the advertisement insertion module 2304 of the schedule.
When the queue tone is detected by the detection module 2310, the advertisement insertion module 2304 requests the appropriate advertisement from the advertisement storage unit 2314 which then sends the advertisement to the insertion module 2304. The advertisement insertion module then inserts the advertisement with the proper timing, h this exemplary embodiment, the advertisements that are stored into the advertisement storage unit 2304 are received over a dedicated advertisement channel in the media stream. For instance, the scheduler 2312 may include circuitry for picking out the appropriate advertisements for the particular STB from a continuous stream of advertisements as previously described and writing them to the advertisement storage unit 2314. The watchdog module 2320 notifies the scheduler 2312 of any changes that may require a queue update or switching among multiple queues as previously described. For instance, a profiler module 2322 can process information such as data as to the program being watched and remote control operation such a volume control and channel change control to attempt to determine which particular viewer in a subscriber household is viewing the television in order to choose among the various queues as previously described. The advertisement insertion module 2304 generates and stores an advertisement insertion log 2316 of all insertion events. This is essentially the schedule of the ads inserted and whether or not they were inserted successfully and/or displayed. The insertion logs will eventually be sent upstream to the central office to be used for billing advertisers based on the ads that have been played at each subscriber's location.
In accordance with one embodiment, the ad scheduler 2312 can determine in advance the ad insertion schedule based on scheduling instructions from the head end system or predetermined scheduling algorithms. However, the relative appropriateness of the prepared ad schedule may change as circumstances change. Such circumstances may include, but are not limited to, the time of day, program or type of program being watched, channel selection, identity of the cunent viewer, and timing/duration of the upcoming avail. In the present specification, these circumstances are also refened to as viewing parameters. In view of the changes in one or more of the viewing parameters, it may be necessary or appropriate to change the ad schedule, some in real time, so that most appropriate ads are actually inserted into the programming streams. For example, the viewer may change the TV channel he is cunently watching and the next avail of the newly selected channel may not be of the same size as the next ad in the queue to be inserted. In this case, the ad schedule needs to be changed so that another ad, matching the size of the next avail of the newly selected channel, is moved to the top of the queue for insertion.
In another example, the identity of the viewer may change so that a different person is watching the program. Then, depending on who the new viewer is, the next ad in the queue may not be appropriate to the new viewer (e.g., if the new viewer is a child). In such a case, the ad schedule may be changed so that another ad, which is more appropriate to the new viewer, is moved to the top of the queue for insertion. h a different example, the type of program or channel being watched may change, so that the next ad in the queue may not be appropriate for the new program or channel being watched. For instance, if the next ad at the top of the queue is for display during a football game on ESPN, this ad may not be most appropriate if the channel is suddenly switched to the Martha Stewart Show on PBS. At this time, the ad schedule change may be needed so that an ad that is more appropriate for display during the Martha Stewart Show can be moved to the top of the queue. In some circumstances, the ad schedule may need to be changed in real time, such that the newly scheduled ad is inserted immediately into the programming channel without being stored in the queue (e.g., when the newly selected channel is on a commercial break).
The rescheduling of advertisements (i.e., changing the ad insertion schedule) in the queue may encompass reordering the entire list of ARLs, or selectively changing the first or few items on the queue list, which may vary depending on the application. Furthermore, any change in one of the viewing parameters or multiple changes in a combination of the viewing parameters may trigger rescheduling of advertisements, which may also vary depending on the application. For example, the scheduler 2312 may be configured to look for changes in both viewer identity and channel selection, before it reschedules the advertisements.
Subscribers can be profiled and an understanding of their viewing habits can be developed based on their channel changes. Based on these viewing habits the identity of the subscriber can be identified. The Applicants following PCT publications disclose the profiling and identification of subscribers and are herein incorporated by reference in their entirety but are not admitted to be prior art.
• WO 00/33160 entitled "Subscriber Characterization and Advertisement Monitoring System" (Atty. Docket No. T702-00PCT);
• WO 03/3233A1 entitled "Subscriber Identification System" (Atty. Docket No. T705-01PCT) Any of these methods and systems may be used to detect a viewer change that could be used in the present invention as the basis for rescheduling.
In accordance with one embodiment, as discussed above, the scheduler 2312 is a real time scheduler so that the rescheduling of ads is performed in real time, i.e., almost simultaneous with the detection of the change in the viewing parameters. In accordance with one embodiment, the watchdog module 2320 looks for the changes to the channel, program, and type of program being watched, and notifies the scheduler 2312 of these changes so that the scheduler 2312 can reschedule the advertisements, if necessary. For example, the watchdog module 2320 may receive from the profiling module 2322 information about a channel change made by the cunent viewer, and identify the new channel cunently being watched by the viewer. Further, the watchdog module 320 may identify which program (or type of program) is being watched based on stored program information (e.g., description of programs for different channels, a list of programs to be broadcast for different channels and times of day, etc.). The watchdog module 2320 alerts the scheduler 312 of the recent channel program change, and the scheduler 312 may determine whether or not such a change wanants rescheduling of the ads in the queue. If it does, then the scheduler 2312 reschedules the ads in the queue based on the channel/program change information. If not, no changes are made to the queue. For example, if the watchdog module 2320 informs the scheduler 2312 that the program change (e.g., from "60 Minutes" to "Dateline") has occuned, the ad scheduler 2312 may determine that rescheduling of ads may not be necessary since the switched programs are of the same program type (i.e., news shows). This determination maybe made using stored program information (e.g., a list of programs with assigned program type, ratings, scheduled play time, etc.). However, if there is a change in the type of program being viewed (e.g., from "60 Minutes" to "X-Files"), then the scheduler 2312 may reschedule the ads in the queue so that the next ad at the top of the queue is appropriate for display during the showing of "X- Files."
In accordance with the one embodiment, the profiling module 2322 may identify the cunent viewer of the TV programming channels by processing information such as data from remote control operation through the profiling module 2322 (e.g., a volume control and/or channel change control), time of day, and program being watched. By prestoring viewing habits of each viewer in the subscriber household and analyzing the currently receiving viewing habits of the viewer with the prestored viewing habits, the cunent viewer may be identified. The profiling module 2322 outputs the viewer change information to the ad scheduler 2312 which uses this information to determine whether to reschedule ads. h accordance with another embodiment of the invention, the set top box or the subscriber system may maintain multiple queues and execute the viewer determination algorithm for selecting from which queue ARLs will be retrieved based on predetermined criteria. For instance, a different queue may be maintained for each potential television viewer at the subscriber location (e.g., mother, father, child). The algorithm for determining which queue to use to retrieve ads could be based on the identity of the viewer that may be determined by the profiling module 2322 as discussed above. If the cunent viewer is identified to be the mother of the subscriber household, then the queue assigned to the mother may be used to obtain the queued list of advertisements. The scheduler 2312 may or may not reschedule the ads in the selected queue in accordance with other changes in the viewing parameters as discussed above.
It will be understood by those of skill in the art that maintaining separate queues is merely an exemplary embodiment and that the invention can be adapted such that there is only one queue, but the ARLs include an additional field that signifies which viewer or type of viewer the advertisement is intended for and that is utilized by the viewer deteraiination algorithm in determining which advertisement will be inserted in a particular avail.
Furthermore, it should be understood by those of skill in the art that the advertisement ordering/rescheduling in the queue may not necessarily be dictated by the physical location of the ARLs in the queue, but can also be dictated by other ordering schemes. For example, one or more tags can be assigned to each ARL in the queue and the advertisement ordering/rescheduling can be dictated based on these tags. These tags may identify a viewer, a program or type of program, and any other items or events that may be used to order the advertisements. For instance, a viewer tag and/or a program or program type tag may be assigned to each ARL in the queue. Each viewer tag may identify one of the viewers in the subscriber household, e.g., father, mother, first child, or second child. Each program or program type tag may identify the program or the type of program being watched, e.g., sports, news, soap-opera, drama, cartoon, etc. In addition, each ARL may include an identification (ID) tag for identifying the ARL with a serial number or the like. In accordance with one embodiment, the advertisement order in the queue may be dictated based on one or a combination of these tags, e.g., the ID tag, the viewer tag, and the program program type tag.
One example of how these tags may be utilized to order the advertisements in the queue is now discussed. It should be understood that other examples or modifications thereof are also possible. In the cunent example, if it is determined that the father in the subscriber household is watching a sports game (e.g., based on the outputs from the watchdog module 2320 and the profiling module 2322), in accordance with one ordering scheme, the scheduler 2312 may look in the queue for ARLs having a viewer tag indicating the father, a program type tag indicating sports, and, of those, an ID tag with the lowest serial number. The scheduler 2312 may then retrieve the advertisement based on the located ARL, which is then inserted into the upcoming avail as discussed above. In accordance with alternative embodiments of the invention, the queue itself need not be stored at the set top box but can be stored at a separate server on the network that communicates with the set top box via the network.
The present invention can also be readily applied to recorded programming as long as the recorded program is played back through the subscriber system so that the advertisement processing unit may insert the advertisements. In fact, the invention can be applied to any information stream regardless of source as long as the information stream passes through the advertisement processing unit. Thus, for instance, the invention is equally applicable to analog cable, regular earth-based broadcast television, the Internet, a read-out from any type of memory device, including compact disks, digital video disks, other optical media, magnetic disks, ROM, RAM, etc.
The present invention can readily be applied to PVRs, which may use a variety of ad insertion opportunities including prepended ads, ads inserted into live programming, ads inserted into recorded programming, ads inserted into content, or ads placed at the end of the programming. The present invention can also be utilized in Video on Demand (VoD) systems in which advertising plays a role. As with the PVR model, the VoD Systems may utilize ads inserted into the programming, prepended ads, postpended ads, etc.
For the insertion of ads into content, a number of techniques can be utilized including those developed by Princeton Videos Insertion that allow ads to be placed in portions of the programming.
In accordance with the present invention, the rescheduling of advertisements in the subscriber system, e.g., in the queue, may occur in real time, when there is a change in one or more of the viewing parameters, such as channel selection, type of program viewed, identity of the viewer, etc. The present invention allows targeted ads to be delivered to appropriate viewers without such ads being linked to program/time, so that viewers will always see targeted ads even if they change channels or view programs at different times. This scheme, also refened to herein as "orthogonal" sponsorship model, can be combined, according to the present invention, with the traditional linked sponsorship model to create hybrid orthogonal-linked sponsorship models.
In hybrid orthogonal-linked sponsorship models, the orthogonal sponsorship based queue can be provided with one or more linked sponsorship parameters. Some of these parameters may identify, e.g., time dependence (signifying a specific time), time-of-day dependence (e.g. morning, afternoon, prime time), viewer dependence, or any combination thereof.
Fig. 24 illustrates an example of an ad queue that may be used to implement the various sponsorship models of the present invention. As shown in Fig. 24, the ad queue can contain additional columns that indicate linked sponsorship parameters such as the time of day, programs in which the advertisement should be shown, and the viewer to which the advertisement should be shown. In one embodiment, when all the linked sponsorship columns are left blank, it indicates that the associated ad may be inserted according to the purely orthogonal sponsorship model, i.e., non-linked advertising. In another embodiment, if any one or more linked sponsorship columns are filled, then it indicates that the associated ads should be inserted into the programming streams according to the hybrid orthogonal-linked model depending on which column is filled.
Accordingly, the present invention ensures that most appropriately targeted ads are inserted into the streams or channels of programming for display to the viewers. Further, it permits ads to be delivered using orthogonal sponsorship and/or hybrid of orthogonal and linked sponsorships, whereby it increases the effectiveness of targeted advertising.
According to one embodiment, the STB may also include a operational status detector (OSD) 2350 that is coupled either directly or indirectly (e.g., inductively, or via other components) connected to the display device 24. The OSD 2350 determines the operational status of the display device 2308 (whether it is turned on). The OSD 2350 only permits the ad insertion module 2304 to insert ads if the display 2308 is on. The OSD 2350 can determine the operational status of the display 2308 in a variety of ways.
For example, one simple way is to detect the level of cunent flowing in the electric plug of the display device 2308. If the display device 2308 is turned on, a certain amount of current (i.e., operational cunent) will flow from the electric plug of the display device 2308 into the circuitry of the display device 2308 so as to operate the display device 2308. If the display device 2308 is turned off, only a very small amount of cunent should be flowing in the plug since the device 2308 is turned off. In one embodiment, the display device 2308 may be plugged into the set top box, in which case, the OSD 2350 may detect the level of cunent where the display device 2308 is plugged into the STB. In accordance with one embodiment, the OSD 2350 may include a cunent level detector, coupled to the plug of the display device 2308, for detecting the level of cunent flowing in the plug, and a comparator for comparing the detected cunent level with a predetermined threshold level and detennining whether the display device 2308 is turned on based on the comparison result. The components of the OSD 2350 needed to perform the functions set forth herein are well known in the art. U.S. Patent No. 4,723,302 to Fulmer et al. teaches this type of detection.
Another way to detect whether the display device 2308 is turned on is to use a local oscillator detector. If the display device 2308 includes a tuner/receiver such as an internal TV tuner or an external cable tuner, the tuner typically includes a local oscillator for tuning the display device 2308 to a particular channel or frequency. Since various frequencies designated for different channels are known, frequencies to which the local oscillator may be tuned are also known. Thus, by detecting frequency characteristics of the tuned signal of the local oscillator, a determination can be made as to whether or not the tuner, and thus the display device 2308, is operating. For example, the OSD 2350 may include a local oscillator detector, coupled to the display device 2308, for detecting a characteristic frequency of the tuned signal of the local oscillator of the display device 2308 and comparing it with different frequencies conesponding to various channels, to make the detection. Different ways to detect local oscillator signals of a TV/STB receiver are disclosed in U.S. Patent No. 5,404,161 to Douglass et al. The Douglass et al. patent also teaches that the tuned signal of the local oscillator can be detected from the antenna of the display device 2308 (e.g., using a probe or inductive coupling on or near the antenna) or from the tuned signal reflected or leaking from the display device 2308.
According to another embodiment, another way to detect whether the display device 2308 is turned on is to use a chroma sub carrier detector. A color burst signal is a reference signal sent from a transmitter of TV signals to a TV receiver, e.g., the display device 2308, to synchronize the receiver to the transmitter for accurate signal processing. The color burst signal includes about 8 to 11 cycles of chroma sub carrier signals having the frequency of 3.579545 MHZ set by the NTSC standards. The TV receiver receives the color burst signal and synchronizes the phase of the receiver based on the chroma sub carrier frequency provided in the color burst signal. Therefore, by detecting the strength of a chroma sub carrier signal from radiations (e.g., leakage signals) emitted by the display device 2308, a determination can be made whether or not the television is operating. U.S. Patent No. 4,764,808 to Solor teaches a detection method wherein a horizontal sweep signal directly derived from the color burst signal is used to detect the on/off operational status of the display device 2308.
It should be apparent to one skilled in the art that the above described detection methods are mere examples and that other detection methods and devices are also possible that would be well within the scope of the cunent invention. Different detection methods and devices may be utilized depending on the application of the invention. Several methods and apparatus are presently available for recording television programming for viewing at a time other than the time it was originally transmitted. At present, the most common apparatus for doing so is a video cassette recorder. However, other apparatus and methods in which the programming is recorded digitally are becoming more common. Some presently available digital recording systems and services, for instance, are sold under the brand names TiVo™ and Replay TV™. The present invention can readily be applied to recorded programming as long as the recorded program is played back through the STB so that the advertisement insertion module may insert the advertisement. In fact, the invention can be applied to any information stream, regardless of source as long as the information stream passes through the advertisement insertion module. Thus, for instance, the invention is equally applicable to analog cable, regular earth-based broadcast television, the Internet, a read-out from any type of memory device, including compact disks, digital video disks, other optical media, magnetic disks, ROM, RAM, etc.
In a prefened embodiment of the invention, the STB transmits back to the head end or central office information concerning the ads that have been played at that subscriber location. In this manner, the television service provider can then bill the advertiser based on ads that were played.
Having thus described a few particular embodiments of the invention, various alterations, modifications, and improvements will readily occur to those skilled in the art. Such alterations, modifications and improvements as are made obvious by this disclosure are intended to be part of this description though not expressly stated herein, and are intended to be within the spirit and scope of the invention. Accordingly, the foregoing description is by way of example only, and not limiting. The invention is limited only as defined in the following claims and equivalents thereto.

Claims

ClaimsWhat is claimed is:
1. A method of selectively inserting different advertisements into a stream of television programming at a set top box (STB), the method comprising: transmitting a stream of television programming from a head end to a plurality of
STBs; storing advertisements; storing one or more queues, said queues comprising an ordered list of advertisement resource locators (ARLs), each of the ARLs comprising data disclosing a location of a conesponding advertisement, detennining one or more intervals in the stream within which the advertisements may be inserted; retrieving, responsive to said determining, from the queue one of the ARLs in accordance with the order; and inserting the advertisement into said stream within the determined interval.
2. The method of claim 1 , wherein the stream includes indicators that identify the start of an avail in the stream for insertion of an advertisement, wherein said detennining includes detecting the indicators, and said inserting includes inserting the advertisement into the avail.
3. The metho of claim 2, wherein the indicator further identifies a duration of the avail and the ARL further identifies a duration of the conesponding advertisement.
4. The method of claim 3, wherein the order of the ARLs in the queue is based at least partially on the duration of the advertisements relative to the duration of avails detected in the stream.
5. The method of claim 4, further comprising: determining at least one characteristic of a viewer of the stream; and ordering the queue based at least partially on the viewer determination.
6. The method of claim 5, wherein said ordering includes ordering the queue in accordance with an algorithm that takes into consideration a prediction of a characteristic of the viewer based on the content of the stream prior to the interval.
7. The method of claim 1, wherein the queues are stored locally at the STB to which they conespond.
8. The method of claim 2, wherein said transmitting includes receiving a plurality of chamiels of television programming and selecting one of the channels; said determining includes detecting the avails in the selected channel, and said inserting includes inserting said advertisements in the avails in the selected channel.
9. The method of claim 1, further comprising receiving instructions dictating how to order the ARLs in said queue, wherein said storing one or more queues includes ordering the queue in accordance with the instructions.
10. The method of claim 1, wherein said storing advertisements includes storing the advertisements at the STB.
11. The method of claim 1 , further comprising recording a portion of the stream for subsequent playback.
12. The method of claim 11 , wherein said inserting includes inserting the advertisements into the stream as it is being recorded.
13. The method of claim 11 , wherein said inserting includes inserting the advertisements into the stream when it is played back.
14. The method of claim 11 , wherein said inserting includes inserting the advertisements into the stream between the time it is recorded and the time it is played back.
15. The method of claim 2, wherein the stream includes digital data and the indicator includes a digital cue tone.
16. The method of claim 1 , wherein the order of the queue is based on at least numerical order of ARLs within the queue.
17. The method of claim 1 , further comprising: determining the time of day that an avail is determined; and ordering the queue based at least partially on the time of day.
18. The method of claim 1 , further comprising determining whether or not a display device is operating, wherein said inserting is only performed in response to a determination that the display device is operating.
19. The method of claim 18, further comprising: storing a record of the inserted advertisements; and transmitting the record to a communications network.
20. The method of claim 18, wherein said determining whether or not a display device is operating includes: detecting a level of electrical cunent flowing to the display device; and detennining whether or not the display device is operating based on the detected cunent level.
21. The method of claim 18, wherein said determining whether or not a display device is operating includes: detecting frequency characteristics of a tuned signal of a local oscillator of the display device; and determining whether or not the display device is operating based on this detection.
22. The method of claim 18, wherein said determining whether or not a display device is operating includes: detecting a strength of a chroma sub carrier frequency signal from radiations emitted by the display device; and determining whether or not the display device is operating based ori this detection.
23. An apparatus for selectively inserting advertisements from a first source into a stream of television programming at a set top box (STB), said apparatus comprising: a tuner circuit for receiving a media stream and extracting an appropriate channel from the stream; and a memory for storing a queue, the queue maintaining an ordered list of advertisement resource locators (ARLs), each of said ARLs comprising data disclosing a location of a conesponding advertisement; an advertisement insertion circuit for receiving the appropriate channel from said tuner circuit, determining avails in the media stream within which the advertisements may be inserted, retrieving, responsive to said determining, from said queue one of the ARLs in accordance with the order, retrieving the advertisement conesponding to the retrieved ARL, and inserting said advertisement into said media stream within said avail at said receiving node.
24. The apparatus of claim 23, wherein said media stream includes indicators that identify the start of an avail and wherein said advertisement insertion circuit comprises circuitry for detecting the indicators.
25. The apparatus of claim 24, wherein the indicator further identifies a duration of the avail and the ARL further identifies a duration of the conesponding advertisement, and wherein said advertisement insertion circuit further comprises circuitry for selecting the advertisement from the queue based at least partially on the duration of the advertisements relative to the duration of avails detected in the stream.
26. The apparatus of claim 23, further comprising a circuit for predicting at least one characteristic of a viewer of said television programming, wherein said advertisement insertion circuit further comprises circuitry, coupled to said circuit for predicting, for ordering the queue based at least partially on the viewer prediction.
27. The apparatus of claim 23, further comprising a circuit for determining the time of day that an avail is determined, wherein said advertisement insertion circuit further comprises circuitry, coupled to said circuit for determining the time of day that an avail is determined, for ordering the queue based at least partially on the time of day.
28. The apparatus of claim 23, further comprising means, coupled to a display device associated with the subscriber, for determining whether or not the display device is operating, wherein said advertisement insertion circuit will not operate unless said means determines that the display device is operational.
29. The apparatus of claim 28, wherein said means detects a level of electrical cunent flowing to the display device, and determines whether or not the display device is operating based on the detected current level.
30. The apparatus of claim 28, wherein said means includes a local oscillator detector for detecting frequency characteristics of a tuned signal of a local oscillator of the display device and for determining whether or not the display device is operating based on this detection.
31. The apparatus of claim 28, wherein said means includes a chroma sub carrier detector for detecting a strength of a chroma sub carrier frequency signal from radiations emitted by the display device and for determining whether or not the display device is operating based on this detection.
32. The apparatus of claim 28, wherein said means includes an inductive coupling for detecting whether or not the display device is operating.
33. The apparatus of claim 23, further comprising a trigger circuit for determining if the queue has reached a low-level, wherein at least one additional queue of targeted advertisements is received in response to a low-level determination by said trigger circuit.
34. The apparatus of claim 33, further comprising a counter for tracking number of times each targeted advertisement is displayed to the subscriber.
35. The apparatus of claim 33, wherein for each targeted advertisement within the at least one queue, the at least one queue includes at least one of: an expiration date of the targeted advertisement; a maximum total number of times the targeted advertisement should be displayed; a maximum number of times the targeted advertisement should be displayed each day; a total number of times the targeted advertisement has previously been displayed to the subscriber; and a number of times the targeted advertisement has been displayed that day.
36. The system of claim 33, wherein said trigger circuit determines that the at least one queue has reached a low-level if at least one of the following occur: the at least one queue has less than a particular number of slots remaining; the at least one queue has less than a particular number of targeted advertisements remaining; and
the at least one queue has a particular number of targeted advertisements that are almost expired.
37. A system for creating advertiser-specific target groups, the system comprising: a query generator for forming at least one query; an advertiser interface for directing the at least one query to an advertiser and receiving a response to the at least one query from the advertiser, the response including advertiser- specific group parameters; and a group manager for receiving the advertiser's query response and forming advertiser- specific target groups based on the query response.
38. The system of claim 37, wherein the group manager associates the advertiser- specific target groups with subscribers or subscriber groups on a network using subscriber information, and prepares a group map according to the association.
39. The system of claim 38, wherein the network is a television service network.
40. The system of claim 38, further comprising a group map distributor for distributing the group map to an advertisement insertion device used to delivery targeted
advertisements to the subscribers.
41. The system of claim 38, wherein the group map identifies a list of subscribers and a list of advertiser-specific target groups associated with each of the listed subscribers.
42. The system of claim 41, wherein the group map further identifies a list of advertisement channels associated with the listed subscribers, the advertisement channels used for delivering television programming streams.
43. A subscriber system for a particular subscriber, comprising: means for storing a group map, the group map identifying a list of subscribers and a list of advertiser-specific target groups associated with each of the listed subscribers, the list of subscribers including the particular subscriber; and means for advertising to the particular subscriber based on the stored group map.
44. The system of claim 43, further comprising means for storing a library of advertisements each associated with at least one of the listed target groups.
45. The system of claim 44, wherein said means for advertising includes: means for selecting, from the stored library of advertisements, advertisements that are associated with the target groups that are associated with the particular subscriber, using the stored group map; and means for displaying the selected advertisements to the particular subscriber.
46. The system of claim 44, wherein said means for advertising receives at least one media stream from a communications network, inserts the selected advertisements into the received at least one media stream, and displays the at least one media stream with the inserted advertisements to the particular subscriber using the means for displaying.
47. The system of claim 43, wherein the group map further identifies a list of advertisement channels associated with the listed subscribers, and said means for advertising advertises using the listed advertisement channels of the group map.
5
48. A method of providing subscriber-specific advertisements using advertiser- specific target groups, the method comprising:
forming a set of advertiser-specific target groups for each of a plurality of advertisers based on advertiser-specific group characteristics;
^ associating the target groups from each of the sets with at least one subscriber based on certain characteristics of the at least one subscriber; storing results of the associating step in an advertisement processing system; and providing subscriber-specific advertisements to the at least one subscriber based on the stored results.
15
49. The method of claim 48, wherein said associating includes: assigning a unique group identifier (ID) to each of the target groups, each group ID identifying the target group and the advertiser; and assigning a subscriber ID to the at least one subscriber for identifying the subscriber.
20
50. The method of claim 49, wherein said associating further includes: identifying the target groups to which the at least one subscriber belongs based on the characteristics of the at least one subscriber; and associating the group IDs of the identified target groups with the subscriber ID of the at
25 least one subscriber; and preparing a group map based on results of the group ID associating step.
51. The method of claim 50, wherein, in the preparing step, the group map identifies the at least one subscriber ID and the group IDs assigned to the at least one subscriber ID, and the storing step stores the group map in the advertisement processing system.
52. The method of claim 51 , further comprising the step of: updating the stored group map based on new advertiser-specific target groups from the advertisers.
53. The method of claim 50, wherein the providing step includes: associating each of a plurality of advertisements with an appropriate group ID for identifying the target group to which the advertisement belongs; selecting the advertisements associated with the group IDs which match the group IDs associated with the subscriber ID of the at least one subscriber ID; and displaying the selected advertisements to the at least one subscriber.
54. The method of claim 48, wherein the storing step stores the results of the associating step in a set top box of the advertisement processing system.
55. The method of claim 48, wherein the storing step stores the results of the associating step at a head end of the advertisement processing system.
56. The method of claim 48, wherein the storing step stores the results of the associating step on a server in the advertisement processing system.
57. A method of providing subscriber-specific advertisements, the method comprising:
identifying a list of subscribers and a list of advertiser-specific target groups associated with each of the listed subscribers; storing results of the identifying step locally to each of the listed subscribers; and selecting, by an advertisement processing system of each of the listed subscribers, advertisements based on the stored results of the identifying step, so as to provide the subscriber-specific advertisements to each of the listed subscribers.
58. The method of claim 57, wherein, in the storing step, the results of the identifying step are stored as a group map, wherein, in the group map, the list of subscribers are identified with unique subscriber IDs (identifiers), and the list of advertiser-specific target groups are identified with unique group IDs.
59. The method of claim 58, wherein the selecting step includes: providing a plurality of advertisements each assigned with a group ID for identifying the target group to which the advertisement belongs; selecting, from the provided advertisements, advertisements with the group IDs associated with each of the listed subscribers, wherein the advertisements selected for one subscriber differ from the advertisements selected for another subscriber.
60. In a television network environment, a method for selectively storing targeted advertisements at a set-top box, the method comprising: receiving an advertisement channel having a plurality of advertisements; determining if an advertisement is appropriate for the set-top box; and retaining the advertisement if it is found to be appropriate.
61. The method of claim 60, wherein said determining is performed in real-time or near real-time.
62. The method of claim 60, further comprising storing the plurality of advertisements from the ad channel on a hard-drive prior to said determining.
63. The method of claim 62, further comprising deleting the advertisement from the hard drive if the advertisement is found to be inappropriate.
64. The method of claim 60, wherein said determining is based on one or more predetermined parameters.
65. The method of claim 60, wherein said receiving includes receiving one or more targeted advertisements via the advertisement channel.
66. The method of claim 60, further comprising: assigning each advertisement within the ad channel a unique AD JD; assigning each set-top box to one or more groups; forming an AD JD group table; forming an STB-group table; and joining the AD JD table and STB-AD JD table to create a master STB-AD JD table.
67. The method of claim 66, wherein said determination is based on the STB-
AD ID table.
68. The method of claim 60, wherein said receiving includes receiving metadata via the advertisement channel.
69. The method of claim 68, wherein the metadata is transmitted in a vertical blanking interval.
70. The method of claim 60, wherein said receiving includes receiving the metadata and splice iming information via the advertisement channel.
71. The method of claim 70, wherein the metadata and the splice iming information is encoded as a data service on the advertisement channel.
72. The method of claim 71, further comprising decoding the data service and identifying the timing of the advertisement from the splicejiming information.
73. The method of claim 72, wherein said retaining includes storing the advertisement during one or more splice windows identified by the splicejiming information.
74. In a television network environment, an advertisement management system comprising: an advertisement channel generator for receiving one or more advertisements and their conesponding metadata infonnation from an advertisement server, and generating an advertisement channel comprising the advertisements and the metadata information; and a set-top box for receiving the advertisement channel and retrieving the advertisements
and the metadata information.
75. The apparatus of claim 74, wherein the set-top box comprises a demodulator or decoder for demodulating or decoding the advertisement channel to differentiate between the metadata information and the advertisements.
76. The apparatus of claim 75, wherein the set-top box further comprises a processor for decoding the metadata information to determine one or more conesponding instructions.
77. The apparatus of claim 76, wherein the processor further associates the instructions to the received advertisements to select one or more appropriate advertisements.
78. The apparatus of claim 77, wherein the set-top box further comprises a memory for storing the selected advertisements.
79. The apparatus of claim 74, wherein the advertisement chamiel generator further comprises a vertical blanking interval encoder for encoding metadata information on an advertisement channel.
74. The apparatus of claim 74, further comprising an advertisement sequencer/multiplexer for multiplexing the advertisements on the advertisement channel.
75. A set-top box for inserting targeted advertisements in place of default advertisements within television program streams, the set-top box comprising: a communications interface for receiving a plurality of targeted advertisements and a
queue identifying criteria for inserting the targeted advertisements; memory for storing the targeted advertisements and the queue; a processor for detennining when and what targeted advertisement should be inserted into the program stream based on the queue; an inserter for inserting the targeted advertisement into the program stream; and a trigger circuit for determining when the targeted advertisements and the queue need to be refreshed.
76. A method for inserting targeted advertisements in place of default advertisements within television program streams, the method comprising: receiving a plurality of targeted advertisements and a queue identifying criteria for inserting the targeted advertisements; storing the targeted advertisements and the queue in memory; determining when and what targeted advertisement should be inserted into the program stream based on the queue; inserting the targeted advertisement into the program stream; and determining when the targeted advertisements and the queue need to be refreshed.
77. In a television network environment, a method for delivering targeted advertisements to one or more subscribers, the method comprising: selecting one or more targeted advertisements to be transmitted to a group of subscribers; organizing the selected advertisements in an advertisement (ad) channel; and transmitting the ad channel to subscriber equipment.
78. The method of claim 77, wherein the ad channel is a high-speed channel.
79. The method of claim 77, wherein the ad channel is a 6 MHz analog channel.
80. The method of claim 79, wherein the targeted advertisements are transmitted as analog video.
81. The method of claim 77, wherein the ad channel is a 6 MHz digital channel.
82. The method of claim 77, wherein the targeted advertisements are encoded and transmitted as conventional programming.
83. The method of claim 77, wherein a plurality of ad channels are transmitted within a single 6 MHz digital channel.
84. The method of claim 77, wherein the ad channel shares bandwidth with other channels within a single 6 MHz digital channel.
85. The method of claim 77, wherein a plurality of digital ad channels are transmitted along with a plurality of digital video signals within one 6 MHz channel.
86. The method of claim 77, wherein the ad channel is a constant bit rate dedicated channel.
87. The method of claim 77, wherein the ad channel is a variable bit rate dedicated
channel.
88. The method of claim 77, wherein the ad channel fluctuates responsive to a
programming channel.
89. The method of claim 77, wherein bandwidth supplied to the ad channel is inversely proportional to bandwidth used by the programming channel.
90. The method of claim 77, wherein the ad channel is an off-pealc download chamiel.
PCT/US2001/027217 2000-08-31 2001-08-31 Targeted advertising at the set top box WO2002019581A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU2001286998A AU2001286998A1 (en) 2000-08-31 2001-08-31 Targeted advertising at the set top box

Applications Claiming Priority (20)

Application Number Priority Date Filing Date Title
US22915600P 2000-08-31 2000-08-31
US60/229,156 2000-08-31
US09/712,790 US8151295B1 (en) 2000-08-31 2000-11-14 Queue based advertisement scheduling and sales
US09/712,790 2000-11-14
US09/731,605 2000-12-07
US09/731,605 US20020083435A1 (en) 2000-08-31 2000-12-07 Method and system for addressing targeted advertisements using detection of operational status of display device
US09/731,606 2000-12-07
US09/731,606 US20020072966A1 (en) 2000-08-31 2000-12-07 System for providing targeted advertisements using advertiser-specific target groups
US09/742,506 US20020026638A1 (en) 2000-08-31 2000-12-21 Internet-based electronic program guide advertisement insertion method and apparatus
US09/742,852 US20020083439A1 (en) 2000-08-31 2000-12-21 System for rescheduling and inserting advertisements
US09/742,852 2000-12-21
US09/742,506 2000-12-21
US09/748,942 2000-12-27
US09/748,942 US7328448B2 (en) 2000-08-31 2000-12-27 Advertisement distribution system for distributing targeted advertisements in television systems
US09/748,943 US20020083445A1 (en) 2000-08-31 2000-12-27 Delivering targeted advertisements to the set-top-box
US09/748,949 2000-12-27
US09/748,943 2000-12-27
US09/748,949 US20020083441A1 (en) 2000-08-31 2000-12-27 Advertisement filtering and storage for targeted advertisement systems
US09/824,434 2001-04-02
US09/824,434 US20020144263A1 (en) 2000-08-31 2001-04-02 Grouping of advertisements on an advertising channel in a targeted advertisement system

Publications (3)

Publication Number Publication Date
WO2002019581A1 true WO2002019581A1 (en) 2002-03-07
WO2002019581B1 WO2002019581B1 (en) 2002-06-27
WO2002019581A8 WO2002019581A8 (en) 2002-10-24

Family

ID=27581171

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/027217 WO2002019581A1 (en) 2000-08-31 2001-08-31 Targeted advertising at the set top box

Country Status (2)

Country Link
AU (1) AU2001286998A1 (en)
WO (1) WO2002019581A1 (en)

Cited By (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2003075572A1 (en) * 2002-03-07 2003-09-12 Koninklijke Philips Electronics N.V. Method and apparatus for creating a personal commercials channel
FR2839599A1 (en) * 2002-05-10 2003-11-14 France Telecom Image/sound sequence personalized user advertising having insertion command identified and personalized signals selecting associated user profile selecting signal portion recording after start time
FR2841419A1 (en) * 2002-06-24 2003-12-26 Ioan Gabriel Malureanu High digital rate sponsored advertising having high digital rate personal terminals and following demand video sequences concatenated promotional production image across general/high rate distribution network.
EP1820331A2 (en) * 2004-09-19 2007-08-22 Sirenada, Inc. Method and apparatus for interacting with broadcast programming
EP1955544A2 (en) * 2005-11-01 2008-08-13 Cheetah Omni, LLC Packet-based digital display system
WO2008156575A1 (en) 2007-06-18 2008-12-24 Lucent Technologies Inc. Targeted advertisement insertion with interface device assisted switching
US20090183215A1 (en) * 2008-01-16 2009-07-16 Qualcomm Incorporated Hybrid services: data, audio, and clipcast
WO2009125010A1 (en) * 2008-04-10 2009-10-15 Vijaya Raghavan A system of distributing information and receiver and method therefor
EP2130170A1 (en) * 2007-03-23 2009-12-09 Telefonaktiebolaget LM Ericsson (PUBL) Method and arrangement for managing personalized advertisements in a tv system
US7805373B1 (en) 2007-07-31 2010-09-28 Qurio Holdings, Inc. Synchronizing multiple playback device timing utilizing DRM encoding
US7882514B2 (en) 2005-08-16 2011-02-01 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US7996482B1 (en) 2007-07-31 2011-08-09 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US8060904B1 (en) 2008-02-25 2011-11-15 Qurio Holdings, Inc. Dynamic load based ad insertion
US8312487B1 (en) 2008-12-31 2012-11-13 Qurio Holdings, Inc. Method and system for arranging an advertising schedule
US8560387B2 (en) 2007-06-07 2013-10-15 Qurio Holdings, Inc. Systems and methods of providing collaborative consumer-controlled advertising environments
US8640162B2 (en) 2006-11-14 2014-01-28 At&T Intellectual Property I, Lp System and method for distributing advertisements in an internet protocol television system
US8677393B2 (en) 2004-06-08 2014-03-18 The Nielsen Company (Us), Llc Methods and apparatus to verify consumption of programming content
US8762476B1 (en) 2007-12-20 2014-06-24 Qurio Holdings, Inc. RDMA to streaming protocol driver
US9098868B1 (en) 2007-03-20 2015-08-04 Qurio Holdings, Inc. Coordinating advertisements at multiple playback devices
US9111285B2 (en) 2007-08-27 2015-08-18 Qurio Holdings, Inc. System and method for representing content, user presence and interaction within virtual world advertising environments
US9294813B2 (en) 2008-10-31 2016-03-22 The Nielsen Company (Us), Llc Probabilistic methods and apparatus to determine the state of a media device
EP2675158A4 (en) * 2011-02-11 2016-07-20 Motive Television S L Method for the dynamic reproduction of content in transmissions in push environments
US9467239B1 (en) 2004-06-16 2016-10-11 Steven M. Colby Content customization in communication systems
US9473814B1 (en) 1998-12-03 2016-10-18 Prime Research Alliance E, Inc. Profiling and identification of television viewers
US9692535B2 (en) 2012-02-20 2017-06-27 The Nielsen Company (Us), Llc Methods and apparatus for automatic TV on/off detection
US9832496B2 (en) 2011-12-19 2017-11-28 The Nielsen Company (Us), Llc Methods and apparatus for crediting a media presentation device
US9924224B2 (en) 2015-04-03 2018-03-20 The Nielsen Company (Us), Llc Methods and apparatus to determine a state of a media presentation device
US10129593B2 (en) 2017-03-14 2018-11-13 Charter Communications Operating, Llc Time-based dynamic secondary content placement calls in time-shifted content
US10225592B2 (en) 2007-03-20 2019-03-05 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery and replacement in a network
US10528881B2 (en) 2008-09-30 2020-01-07 The Nielsen Company (Us), Llc Methods and apparatus for determining whether a media presentation device is in an on state or an off state
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
EP2667528B1 (en) * 2012-05-21 2020-12-23 Sony Corporation Devices and methods for dynamic broadcast
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US10965727B2 (en) 2009-06-08 2021-03-30 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
US11722938B2 (en) 2017-08-04 2023-08-08 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9027043B2 (en) 2003-09-25 2015-05-05 The Nielsen Company (Us), Llc Methods and apparatus to detect an operating state of a display
CA2576865C (en) 2004-08-09 2013-06-18 Nielsen Media Research, Inc. Methods and apparatus to monitor audio/visual content from various sources

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621728A (en) * 1994-09-12 1997-04-15 Bell Atlantic Network Services, Inc. Level 1 gateway controlling broadband communications for video dial tone networks
US5650994A (en) * 1995-05-16 1997-07-22 Bell Atlantic Network Services, Inc. Operation support system for service creation and network provisioning for video dial tone networks
US6002394A (en) * 1995-10-02 1999-12-14 Starsight Telecast, Inc. Systems and methods for linking television viewers with advertisers and broadcasters
US6253238B1 (en) * 1998-12-02 2001-06-26 Ictv, Inc. Interactive cable television system with frame grabber

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5621728A (en) * 1994-09-12 1997-04-15 Bell Atlantic Network Services, Inc. Level 1 gateway controlling broadband communications for video dial tone networks
US5650994A (en) * 1995-05-16 1997-07-22 Bell Atlantic Network Services, Inc. Operation support system for service creation and network provisioning for video dial tone networks
US6002394A (en) * 1995-10-02 1999-12-14 Starsight Telecast, Inc. Systems and methods for linking television viewers with advertisers and broadcasters
US6263501B1 (en) * 1995-10-02 2001-07-17 Star Sight Systems and methods for linking television viewers with advertisers and broadcasters
US6253238B1 (en) * 1998-12-02 2001-06-26 Ictv, Inc. Interactive cable television system with frame grabber

Cited By (69)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9473814B1 (en) 1998-12-03 2016-10-18 Prime Research Alliance E, Inc. Profiling and identification of television viewers
US10667009B1 (en) 2001-01-11 2020-05-26 Prime Research Alliance E, Llc Profiling and identification of television viewers
US10182258B1 (en) 2001-01-11 2019-01-15 Prime Research Alliance E, Inc. Profiling and identification of television viewers
WO2003075572A1 (en) * 2002-03-07 2003-09-12 Koninklijke Philips Electronics N.V. Method and apparatus for creating a personal commercials channel
FR2839599A1 (en) * 2002-05-10 2003-11-14 France Telecom Image/sound sequence personalized user advertising having insertion command identified and personalized signals selecting associated user profile selecting signal portion recording after start time
FR2841419A1 (en) * 2002-06-24 2003-12-26 Ioan Gabriel Malureanu High digital rate sponsored advertising having high digital rate personal terminals and following demand video sequences concatenated promotional production image across general/high rate distribution network.
US8677393B2 (en) 2004-06-08 2014-03-18 The Nielsen Company (Us), Llc Methods and apparatus to verify consumption of programming content
US9467239B1 (en) 2004-06-16 2016-10-11 Steven M. Colby Content customization in communication systems
EP1820331A2 (en) * 2004-09-19 2007-08-22 Sirenada, Inc. Method and apparatus for interacting with broadcast programming
US8290425B2 (en) 2004-09-19 2012-10-16 Refractor Applications, Llc Providing alternative programming on a radio in response to user input
EP1820331A4 (en) * 2004-09-19 2010-10-06 Sirenada Inc Method and apparatus for interacting with broadcast programming
US11546579B2 (en) 2005-08-16 2023-01-03 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US10110889B2 (en) 2005-08-16 2018-10-23 The Nielsen Company (Us), Llc Display device ON/OFF detection methods and apparatus
US10506226B2 (en) 2005-08-16 2019-12-10 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US7882514B2 (en) 2005-08-16 2011-02-01 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US10306221B2 (en) 2005-08-16 2019-05-28 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US11831863B2 (en) 2005-08-16 2023-11-28 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US10911749B2 (en) 2005-08-16 2021-02-02 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
US9961342B2 (en) 2005-08-16 2018-05-01 The Nielsen Company (Us), Llc Display device on/off detection methods and apparatus
EP1955544A2 (en) * 2005-11-01 2008-08-13 Cheetah Omni, LLC Packet-based digital display system
EP1955544A4 (en) * 2005-11-01 2010-08-25 Gopala Solutions Ltd Liability Packet-based digital display system
US8379061B2 (en) 2005-11-01 2013-02-19 Gopala Solutions Limited Liability Company Packet-based digital display system
US8640162B2 (en) 2006-11-14 2014-01-28 At&T Intellectual Property I, Lp System and method for distributing advertisements in an internet protocol television system
US10863220B2 (en) 2007-03-20 2020-12-08 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery and replacement in a network
US9098868B1 (en) 2007-03-20 2015-08-04 Qurio Holdings, Inc. Coordinating advertisements at multiple playback devices
US10225592B2 (en) 2007-03-20 2019-03-05 Time Warner Cable Enterprises Llc Methods and apparatus for content delivery and replacement in a network
EP2130170A4 (en) * 2007-03-23 2012-02-22 Ericsson Telefon Ab L M Method and arrangement for managing personalized advertisements in a tv system
EP2130170A1 (en) * 2007-03-23 2009-12-09 Telefonaktiebolaget LM Ericsson (PUBL) Method and arrangement for managing personalized advertisements in a tv system
US8560387B2 (en) 2007-06-07 2013-10-15 Qurio Holdings, Inc. Systems and methods of providing collaborative consumer-controlled advertising environments
WO2008156575A1 (en) 2007-06-18 2008-12-24 Lucent Technologies Inc. Targeted advertisement insertion with interface device assisted switching
US8949886B2 (en) 2007-06-18 2015-02-03 Alcatel Lucent Targeted advertisement insertion with interface device assisted switching
US7996482B1 (en) 2007-07-31 2011-08-09 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US9032041B2 (en) 2007-07-31 2015-05-12 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US7805373B1 (en) 2007-07-31 2010-09-28 Qurio Holdings, Inc. Synchronizing multiple playback device timing utilizing DRM encoding
US8290873B2 (en) 2007-07-31 2012-10-16 Qurio Holdings, Inc. Synchronizing multiple playback device timing utilizing DRM encoding
US8549091B1 (en) 2007-07-31 2013-10-01 Qurio Holdings, Inc. RDMA based real-time video client playback architecture
US8583555B1 (en) 2007-07-31 2013-11-12 Quirio Holdings, Inc. Synchronizing multiple playback device timing utilizing DRM encoding
US9111285B2 (en) 2007-08-27 2015-08-18 Qurio Holdings, Inc. System and method for representing content, user presence and interaction within virtual world advertising environments
US9112889B2 (en) 2007-12-20 2015-08-18 Qurio Holdings, Inc. RDMA to streaming protocol driver
US8762476B1 (en) 2007-12-20 2014-06-24 Qurio Holdings, Inc. RDMA to streaming protocol driver
WO2009091729A2 (en) * 2008-01-16 2009-07-23 Qualcomm Incorporated Hybrid services: data, audio, and clipcast
US20090183215A1 (en) * 2008-01-16 2009-07-16 Qualcomm Incorporated Hybrid services: data, audio, and clipcast
WO2009091729A3 (en) * 2008-01-16 2009-10-15 Qualcomm Incorporated Hybrid services: data, audio, and clipcast
CN101960851A (en) * 2008-01-16 2011-01-26 高通股份有限公司 Hybrid service: data, audio frequency and montage are broadcast
US8739204B1 (en) 2008-02-25 2014-05-27 Qurio Holdings, Inc. Dynamic load based ad insertion
US8060904B1 (en) 2008-02-25 2011-11-15 Qurio Holdings, Inc. Dynamic load based ad insertion
US9549212B2 (en) 2008-02-25 2017-01-17 Qurio Holdings, Inc. Dynamic load based ad insertion
WO2009125010A1 (en) * 2008-04-10 2009-10-15 Vijaya Raghavan A system of distributing information and receiver and method therefor
US11055621B2 (en) 2008-09-30 2021-07-06 The Nielsen Company (Us), Llc Methods and apparatus for determining whether a media presentation device is in an on state or an off state
US10528881B2 (en) 2008-09-30 2020-01-07 The Nielsen Company (Us), Llc Methods and apparatus for determining whether a media presentation device is in an on state or an off state
US9294813B2 (en) 2008-10-31 2016-03-22 The Nielsen Company (Us), Llc Probabilistic methods and apparatus to determine the state of a media device
US8312487B1 (en) 2008-12-31 2012-11-13 Qurio Holdings, Inc. Method and system for arranging an advertising schedule
US10965727B2 (en) 2009-06-08 2021-03-30 Time Warner Cable Enterprises Llc Methods and apparatus for premises content distribution
EP2675158A4 (en) * 2011-02-11 2016-07-20 Motive Television S L Method for the dynamic reproduction of content in transmissions in push environments
US9832496B2 (en) 2011-12-19 2017-11-28 The Nielsen Company (Us), Llc Methods and apparatus for crediting a media presentation device
US10687098B2 (en) 2011-12-19 2020-06-16 The Nielsen Company (Us), Llc Methods and apparatus for crediting a media presentation device
US11223861B2 (en) 2011-12-19 2022-01-11 The Nielsen Company (Us), Llc Methods and apparatus for crediting a media presentation device
US10924788B2 (en) 2011-12-19 2021-02-16 The Nielsen Company (Us), Llc Methods and apparatus for crediting a media presentation device
US10205939B2 (en) 2012-02-20 2019-02-12 The Nielsen Company (Us), Llc Methods and apparatus for automatic TV on/off detection
US9692535B2 (en) 2012-02-20 2017-06-27 The Nielsen Company (Us), Llc Methods and apparatus for automatic TV on/off detection
EP2667528B1 (en) * 2012-05-21 2020-12-23 Sony Corporation Devices and methods for dynamic broadcast
US10735809B2 (en) 2015-04-03 2020-08-04 The Nielsen Company (Us), Llc Methods and apparatus to determine a state of a media presentation device
US9924224B2 (en) 2015-04-03 2018-03-20 The Nielsen Company (Us), Llc Methods and apparatus to determine a state of a media presentation device
US10687115B2 (en) 2016-06-01 2020-06-16 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US11695994B2 (en) 2016-06-01 2023-07-04 Time Warner Cable Enterprises Llc Cloud-based digital content recorder apparatus and methods
US10129593B2 (en) 2017-03-14 2018-11-13 Charter Communications Operating, Llc Time-based dynamic secondary content placement calls in time-shifted content
US11722938B2 (en) 2017-08-04 2023-08-08 Charter Communications Operating, Llc Switching connections over frequency bands of a wireless network
US10939142B2 (en) 2018-02-27 2021-03-02 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network
US11553217B2 (en) 2018-02-27 2023-01-10 Charter Communications Operating, Llc Apparatus and methods for content storage, distribution and security within a content distribution network

Also Published As

Publication number Publication date
WO2002019581B1 (en) 2002-06-27
AU2001286998A1 (en) 2002-03-13
WO2002019581A8 (en) 2002-10-24

Similar Documents

Publication Publication Date Title
US10231031B1 (en) Queue based advertisement scheduling and sales
WO2002019581A1 (en) Targeted advertising at the set top box
US10104414B1 (en) Method and system for targeted advertisement filtering and storage
US20020144263A1 (en) Grouping of advertisements on an advertising channel in a targeted advertisement system
JP4858972B2 (en) System and method for identifying and inserting advertisements in broadcast programs
US10477263B2 (en) Use of multiple embedded messages in program signal streams
US20020184047A1 (en) Universal ad queue
US20020178445A1 (en) Subscriber selected advertisement display and scheduling
US20020083439A1 (en) System for rescheduling and inserting advertisements
US20030149975A1 (en) Targeted advertising in on demand programming
US20060253864A1 (en) System and method for household-targeted advertising
EP1142334B1 (en) Electronic programme break replacement system
KR101060347B1 (en) System for capturing and selectively playing broadcast programs
KR101136594B1 (en) System and method for identification and insertion of advertising in broadcast programmes
GB2413026A (en) Capture and user selective playback of broadcast programmes

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

121 Ep: the epo has been informed by wipo that ep was designated in this application
AK Designated states

Kind code of ref document: B1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: B1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

AK Designated states

Kind code of ref document: C1

Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ PH PL PT RO RU SD SE SG SI SK SL TJ TM TR TT TZ UA UG US UZ VN YU ZA ZW

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZW AM AZ BY KG KZ MD RU TJ TM AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG

CFP Corrected version of a pamphlet front page

Free format text: REVISED ABSTRACT RECEIVED BY THE INTERNATIONAL BUREAU AFTER COMPLETION OF THE TECHNICAL PREPARATIONS FOR INTERNATIONAL PUBLICATION

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
REG Reference to national code

Ref country code: DE

Ref legal event code: 8642

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase

Ref country code: JP