WO2010001410A2 - Content independent advertisement delivery platform for digital tv - Google Patents

Content independent advertisement delivery platform for digital tv Download PDF

Info

Publication number
WO2010001410A2
WO2010001410A2 PCT/IN2009/000334 IN2009000334W WO2010001410A2 WO 2010001410 A2 WO2010001410 A2 WO 2010001410A2 IN 2009000334 W IN2009000334 W IN 2009000334W WO 2010001410 A2 WO2010001410 A2 WO 2010001410A2
Authority
WO
WIPO (PCT)
Prior art keywords
asset
adm
assets
stb
channel
Prior art date
Application number
PCT/IN2009/000334
Other languages
French (fr)
Other versions
WO2010001410A3 (en
Inventor
Baskar Subramanian
Srinivasan Karapattu
Srividhya Srinivasan
Original Assignee
Amagi Technologies Private Limited
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Amagi Technologies Private Limited filed Critical Amagi Technologies Private Limited
Publication of WO2010001410A2 publication Critical patent/WO2010001410A2/en
Publication of WO2010001410A3 publication Critical patent/WO2010001410A3/en

Links

Classifications

    • 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
    • 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
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/433Content storage operation, e.g. storage operation in response to a pause request, caching operations
    • H04N21/4331Caching operations, e.g. of an advertisement for later insertion during playback
    • 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/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs
    • H04N21/44016Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream, rendering scenes according to MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for substituting a video clip
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6143Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via a satellite
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6156Network physical structure; Signal processing specially adapted to the upstream path of the transmission network
    • H04N21/6175Network physical structure; Signal processing specially adapted to the upstream path of the transmission network involving transmission via Internet
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client
    • H04N21/6543Transmission by server directed to the client for forcing some client operations, e.g. recording
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/65Transmission of management data between client and server
    • H04N21/658Transmission by the client directed to the server
    • H04N21/6582Data stored in the client, e.g. viewing habits, hardware capabilities, credit card number
    • 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
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/40Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast time
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/35Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users
    • H04H60/38Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space
    • H04H60/41Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas
    • H04H60/43Arrangements for identifying or recognising characteristics with a direct linkage to broadcast information or to broadcast space-time, e.g. for identifying broadcast stations or for identifying users for identifying broadcast time or space for identifying broadcast space, i.e. broadcast channels, broadcast stations or broadcast areas for identifying broadcast channels
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04HBROADCAST COMMUNICATION
    • H04H60/00Arrangements for broadcast applications with a direct linking to broadcast information or broadcast space-time; Broadcast-related systems
    • H04H60/76Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet
    • H04H60/81Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself
    • H04H60/82Arrangements characterised by transmission systems other than for broadcast, e.g. the Internet characterised by the transmission system itself the transmission system being the Internet

Definitions

  • This invention relates to an advertisement delivery platform, which is capable of distributing ads for Digital television across a variety of platforms.
  • the headend of television refers to the master facility for receiving, processing and distributing television signals over a television system.
  • audio and video content are transported as digital streams. This compressed audio and video content is streamed from the headend and transmitted over a transmission network.
  • Equipment residing at the customer's premises called set-top box (STBs), decode these streams and display the same on TV screens.
  • STBs set-top box
  • Digital TV allows for inserting markers in the streamed content, which can allow identification of specific slots where a different content could be inserted within the streamed content.
  • This concept allows insertion of commercial advertisements, called ad assets, in linear TV content (the TV channel) at any point in the transmission path. Insertion of ad assets on the linear TV content is known as ad splicing.
  • Ad splicing is prevalent in the digital TV market.
  • There are solutions that insert ads at the headend of the last mile transmission network eg. Cable TV headend, IPTV headend server. These are used by TV channel networks to provide incentives for local cable operators to deliver geographically relevant advertisements on TV channels that have provided markers for ad insertion. This is a well-established business practice in the cable TV network business.
  • the primary limitation of this solution is that the ad assets are inserted at the headend on specific TV channels. In this model, there is no mechanism to accumulate information on viewer preferences amongst channels, which amounts to a lack of accountability and insight into whether viewers watched a particular ad asset.
  • WO2007/131068 discloses a Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising ' wherein measurements on user-preferences are collected from the user's STB by monitoring a click stream.
  • the click stream referred to here may reflect a multitude of events including channel selection, volume control and other input/output actions performed by the user.
  • This patent discloses a system that models the input measurements as a Markov chain and processes information as a Markov chain as well. This invention particularly refers to profiling users and is not an end-to-end solution for ad-splicing.
  • US2007/0288950 discloses a System and method for inserting media based on keyword search wherein the system is capable of inserting advertisement material into a broadcast content stream at a variety of locations.
  • CA2349914 discloses an Advertising delivery method wherein user selections are filtered (in order to protect the privacy of the user) and the aggregate summaries of user choices are relayed back to those parties that are responsible for inserting advertisement content, in order for them to monitor and cater to the correct user-demographic for whom the advertisements are intended.
  • This invention is limited when it comes to fine-grained control of ad placement policies, which may be an undesirable limitation for small share networks.
  • Systems of the prior art call for changes at the cable headend to spawn one or more new channels, dynamically, in order to send ad assets to different set-top boxes.
  • This approach might not be feasible in the DTH (Direct-to-Home) satellite transmission networks, where additional channels are expensive and wastes a lot of available spectrum.
  • DTH Direct-to-Home
  • One of the limitations of the existing solutions is incompatibility across several transmission network types, simultaneously requiring cumbersome changes to existing cable headend facilities.
  • the system and method of the present invention proposes ad splicing at the set-top box end, which is scalable, compatible across a variety of transmission networks such as DTH, cable, IPTV etc. as the architecture conserves transmission bandwidth. All demographic information is captured and ad placement decisions are made at the server-end so as to enable fine-grained control of ad asset placement policies
  • Fig. 1 describes the overall system of the present invention.
  • Fig. 2 shows one embodiment of the system with multiple Ad Broadcast Servers.
  • Fig. 3 shows the primary interaction model for the system of the present invention.
  • Fig. 4 shows the block diagram for the STB-M middleware.
  • Fig. 5 shows one possible architecture for the ad buffer structure.
  • Fig. 6 shows how the current program group is maintained.
  • Fig. 7 describes the method of giving the ad asset to the splice engine.
  • Fig. 8 shows the method used to re-align buffers across program groups.
  • Fig. 9 shows the modified program group buffers after re-alignment.
  • Fig. 10 describes the method used by the buffer manager to handle a response from the ADM.
  • Fig. 11 shows the method used by the ADM to respond to requests from one or more STBs.
  • Fig. 12 shows the method used by the ADM to process ad asset schedule status responses from the ABS.
  • Fig 13 shows the method in ABS for transmitting the ADM provided ad assets to different STBs.
  • Fig. 14 shows an example system flow to be able to appreciate the methods deployed across the system.
  • Fig. 1 shows the overall layout of the system of the present invention.
  • Data repositories used to store data pertaining to demographics 109 and ad assets 108 interact with an Ad Decision manager (ADM) 101 that decides on the schedule of the ad assets to be transmitted by the Ad Broadcasting server (ABS) 102. It uses the Ad asset data store 108 and matches it with the set-top box (STB) demographics that are stored in the Demographics data store 109.
  • the ADM 101 also communicates with the set-top box over an IP back-channel to instruct Ad asset splice decisions as well as get reports/updates from the set-top boxes.
  • the IP back-channel could be one of and not limited to IPTV 105, digital cable 104, DTH 103.
  • the system has an Ad broadcasting server (ABS) 102 that uses the digital TV transmission infrastructure to schedule ad assets to be broadcast to set-top boxes 106.
  • Digital TV transmissions send the ad assets as one or more linear TV channel(s) to be consumed by set-top boxes.
  • the ABS sends the Ad channel feeds 112 over a satellite uplink 111, similar to a typical satellite TV content channel. This channel is then received by Direct to Home (DTH) 103, cable 104 and IPTV 105 operators who send the ad channel to the set-top boxes, in the same form as that of other TV channels. If there is sufficient bandwidth available in the back-channel, it is further conceivable that the ABS will communicate with STBs directly.
  • DTH Direct to Home
  • Set-top boxes 106 are used to render TV content that is delivered over the transmission links.
  • the present invention requires the presence of middleware, also called STB-M middleware, that allows for ad assets to splice into viewed TV content.
  • middleware also called STB-M middleware
  • the STBs in the present invention are expected to have an DP back-channel to communicate with the ADM.
  • the STB is expected to be a Hybrid STB 107 with an IP back-channel capable of operating with any of and not limited to Ethernet, DSL, CDMA, GPRS and dial-up.
  • the STB used in the system is expected to support cable upstream back-channel mechanism that is used for communicating with the ADM.
  • native IP interfaces are used to communicate with the ADM.
  • All STBs are expected to have mechanisms to access the ad channel in addition to the currently watched program channel.
  • DTH and cable there is a need for additional tuner hardware to access this channel.
  • IPTV there is a need for additional bandwidth at the last mile to be able to access an additional IP multicast channel in addition to the TV channel
  • IP multicast during specific times when the ad assets targeted for that set-top box is sent over the ad channel(s).
  • the requirements for the STB with respect to different channels is outlined in Table 1.
  • the IP back-channel that is available on the STBs can additionally be used for receiving streamed ad assets.
  • This alternate mechanism to receive ad assets in addition to the TV transmission method at the STB end.
  • ABS uses the back-channel ad stream server 110 to send certain ad assets to specific STBs within the needed timing constraint. This is useful for offline streaming and storage of ad assets on STBs who have unique ad assets to be streamed.
  • existing TV transmission infrastructure is a broadcast model, it is wasteful to send specific ad assets that are needed by one or few STBs.
  • the specific mechanism of leveraging the back- channel stream server to send the ad assets to STBs is dependent on the implementation of the ABS. For example, if an ad asset A-222 is to be sent to STB-123 only, then it might be best to send A-222 over the IP backchannel to STB-123, instead of scheduling it for broadcast.
  • Fig 2 shows another embodiment of the same system with multiple ABS sending ad channel feeds to different transmission networks.
  • ABS-I 201 sends ad channel feed to DTH operator, ABS-2 202 to digital cable operators and ABS-3 203 to IPTV operators respectively. These ad channel feeds could be sent over dedicated transmission links.
  • Those skilled in the art would be able to appreciate that there are multiple mechanisms to send ad channel to digital set-top boxes over the various TV transmission methods.
  • a message sequence chart, between the main components of the system, the STB-M (the middleware on the STB), ADM and ABS is shown in Fig 3.
  • the program view data 302 consists of details of viewer interactions with the set-top box, including but not limited to what TV channels that the viewer watched, fast change in channel sequences, time spent on each of the viewed channel, ad assets watched by user, ad assets where user switched during the time it was shown, ad assets where users clicked for additional information or asked for offline storage of the ad asset for later viewing.
  • All program view data 302 are time-stamped so as to be able to reconstruct the view sequence at the ADM for each of the STB.
  • Program view data 302 from every STB is sent on a periodic basis back to ADM 303 as long as the STB is active and powered-up.
  • the periodicity of sending program view data 303 depends on the needs of the system implementation.
  • Each STB as part of the STB-M has a list of ad asset buffers.
  • Ad assets sent to the STBs from the server-end for rendering are stored in these ad asset buffers.
  • These ad asset buffers are divided between multiple program groups. Program groups identify target viewers in a household. It is assumed that programs in different TV channels focus on specific target viewer groups.
  • STB-M When STB is powered-up and active, the STB-M further sends back the status of all buffers in different program groups 305.
  • STBs could come with different configurations. STBs with adequate flash/hard-disk storage (offline storage) could store the ad assets for different program groups across power cycles, whereas STBs that store the ad asset buffers on RAM (dynamic online memory) would get erased once there is a power cycle. In the case of latter, STB-M sends back status of all buffers to be null (no ad assets in buffer), and requests for filling of all ad asset buffers over time from the server end.
  • the schedule of requests for all program group buffers to be filled could depend on system implementation and is expected to minimize burden on the ad channel feed to deliver ad assets for program groups that are not currently watched by the viewers.
  • the ADM also sends an ad-slot calendar for all the channels 307.
  • the ad-slot calendar specifies the time and duration for different ad-slots that are available for splicing on different TV channels for the next N (system implementation dependent) hours. This calendar is provided on a periodic basis to the STB. This is used by the STB to estimate ad asset buffer needs.
  • the request for ad assets for the specific program group reaches the ADM 316, it identifies the ad asset that matches the STB demographics with ad asset policies and maximizes system-wide revenue using multiple parameters 308.
  • This ad asset with the time window to send back to the STB is sent to the ABS 309.
  • the ABS then schedules the ad asset to be sent on the Ad channel in the TV transmission infrastructure, to send the ad asset within the specified time window 310. This scheduling is done so as to minimize missing the time window across all pending ad asset send requests.
  • a transmit clock is attached to the ad assets sent over the ad channel 311. This is a running counter number that is attached on a periodic basis on the ad channels. Trivially if the ad assets are of fixed block size, then there is a transmit clock that is attached to every ad asset 318. As the transmission network is precisely timed for transmission, the transmit clock acts as an accurate server-end clock for all STBs. The ABS sends back the schedule of the request back to ADM 312. The response specifies the ad channel number and the transmit clock to look for; to receive the ad asset by STB.
  • the ad channel number in the response specifies the ad channel number in which the requested ad asset has been scheduled.
  • the ADM aggregates the response for as many of the requested ad assets, and sends a response to STB with the ad asset id, ad channel number and transmit clock for each of the ad assets that have been sent over the TV transmission infrastructure 313.
  • the STB-M schedules for listening for each of the expected ad asset id on the ad channel number to be expected on the transmit clock count on that ad channel 314. Once these ad assets are received they are placed in the order specified in the response into specific program group buffers for which the initial request 304 was sent. The STB-M splices the ad asset from the current program group buffer on the next available ad slot 315. Once this is done, the ad asset splice status is sent back to the ADM 317.
  • the status has data including but not limited to ad asset id that was spliced, duration of the ad asset watched by viewer, TV channel on which the ad asset was spliced and the time when the ad was spliced.
  • This message sequence chart between the STB-M, the ADM and the ABS is replicated across all STBs communicating with ADM and ABS on the server end. Time synchronization across the system is maintained by introducing a shared clock across the system from the server-end to all the STBs. To enable a common time to be shared across the system, a reference ad channel is selected and the transmit clock of that ad channel is used as the clock across the system. All time related information in the system is represented in matched transmit clock units.
  • All programs across TV channels are mapped to the transmit clock of the reference ad channel. This is used in ad slot calendar, EPG program group calendar and for determining the time when ad slots have been scheduled to be received by each of the STBs.
  • STBs on a periodic or on as-needed basis tune to the reference ad channel to receive the transmit clock. Using this counter, they synchronize all transmit clock related transactions/processing STB-M.
  • Table 2 summarizes the message sequence and the specific parameters transmitted to and from the various entities.
  • Fig 4 shows one implementation of an ad asset buffer structure in STB-M with a sample set of program groups Men 402, Women 403, Kids 404, Family 405 and Not Known 406.
  • Ad assets in these buffers are addressed to specific target viewer groups in the household. All ad asset requests to ADM are made specific to a program group. Ad assets are spliced from specific program group buffers based on the currently viewed program by the viewer current program group. The currently viewed program on TV 401 is targeted towards men.
  • Program groups could be as varied to cater to different demographics 402, 403, 404, 405, and is not limited to the sample program groups defined in the current embodiment.
  • Each program group assigned ad asset buffers work on a low watermark 407.
  • Request for ad asset buffers is triggered if the ad asset buffer is below this watermark level.
  • This request (304, shown in Fig. 2), is sent to the ADM on the server-end, with the current program group 401 for which the ad assets need to be sent along with a time window.
  • the time window specifies the maximum time within which the first ad asset in the current program group 401 should reach the STB, so as not to miss the next ad slot on the currently viewed TV program that could be spliced with an ad asset.
  • the time-window is arrived at by knowing the exact buffer state on the STB combined with the ad break calendar that provides the schedules for the ads in the currently viewed program group.
  • FIG. 5 shows the block diagram for the STB-M middleware.
  • the STB-end middleware STB-M manages all the interactions with the server-end, in addition to listening for ad assets on the ad channels and splicing them into watched content.
  • the STB-M has a backchannel ADM communications manager 501 that handles all communications to ADM. The communication could be on one of (and not limited to) cable back-channels, Ethernet, phone- lines, CDMA, GPRS and other wired/wireless interfaces.
  • An additional receiver interface 502 is present for receiving ad channels in addition to the TV channel content.
  • This tuner is controlled by the ad asset selector 503 which determines the ad channel to tune to and the ad asset to receive.
  • the ADM sends the ad slot calendar and the EPG program group calendar 504 to the STBs. These calendars are stored locally for use by the ad asset buffer manager.
  • the ad asset buffer manager 505 (also known as the buffer manager) has the primary logic to manage the program group buffers 506 and to send the right ad asset to be spliced on the currently viewed content.
  • the ad asset manager generates the request for ad asset buffers for specific program groups to the ADM and also receives the sent ad asset list response from the ADM. It then schedules the ad asset selector 503 to receive the needed ad assets and places them in the program group buffers 506. When the splice engine 507 requests for buffers, this module sends the most optimal ad asset to be spliced.
  • the ad asset buffer manager 505 gets real-time information from channel selection control 508 on the currently active channel that the viewer is watching.
  • a splice engine 507 handles the splicing of the ad asset on the currently viewed content. It works on the unencrypted encoded video and audio buffers, prior to them being decoded.
  • the encoding of video could be any of and not limited to MPEG-2 and MPEG-4 520.
  • the encoding of audio could be any of and not limited to AC-3 and MP3 521.
  • the specific encoding mechanism and the associated decoders is outside the described method, and this method is independent of the video and audio encoding schemes.
  • an MPEG2/MPEG4 video decoder 509 and AC-3 decoder 510 is shown in this system, and should in no way be construed as the only decoders that can work with the current invention.
  • SCTE 35 marker identifier 511 that looks for SCTE 35 markers for ad slots in the currently viewed TV content.
  • SCTE 35 markers are MPEG systems layer defined data that identifies ad slot breaks in MPEG content.
  • Digital TV channel content streamed to ad splice aware systems such as the present system, will have markers to identify the specific time positions and the details of the ad slot duration sent over a protocol.
  • SCTE 35 is shown as the ad splice marker protocol, although the system and method of this invention is independent of the ad slot marker identification mechanism.
  • the market identifier On processing the ad slot marker information on the currently viewed content, the market identifier sends the splice schedule to the splice engine.
  • the ad slot markers on the TV channels could be encrypted for security reasons.
  • the splice marker identifier shall have a decryption mechanism to decrypt the marker information before processing them.
  • the encryption is typically a fixed key encryption, although the specific encryption method has no bearing on the current system and method specified in this invention.
  • the marker identifier could use the available ad slot calendar 504 to guide marker identification on the currently viewed content.
  • the splice engine 507 is fed with an ad asset by the ad asset buffer manager 505.
  • the buffer manager executes some steps to schedule ad assets, when the ADM response is received.
  • the buffer manager requests the Ad asset selector 503 to provide the ADM with the specified ad assets from the transmission channel or the IP back-channel.
  • the Ad asset selector 503 then tunes to specific ad channels of interest and receives the ad assets that match the ad asset ID. Ad assets arriving over the IP back-channel are also received. These ad assets are sent back to
  • the transmit clock for each of the ad asset ID is used for deciding on the ad channel to tune to at any point of time.
  • the Ad asset selector can schedule tuning to specific ad channels, close to when the ad asset would be available on that ad channel. This is useful in DTH, digital cable where the system gets the flexibility to send ad assets on multiple ad channels to the same STB in different points of time, and with a single tuner, the Ad asset selector would be able to tune to the right channel at the right time to receive the needed ad asset.
  • the STB-M has a reporting manager 512 that sends reports on program view data and ad asset splice details back to ADM.
  • the buffer manager uses the switched channel number and transmit clock information to match the currently viewed program 602.
  • the EPG program calendar uses the EPG program calendar to match the specific program group the currently viewed program belongs to. This is stored as current program group.
  • This program group information maps the viewer profile in a household and is used in managing the ad asset buffers.
  • the method of giving an ad asset to the splice engine is represented in Fig 7.
  • the splice engine requests for an ad asset with an ad slot time window that tells the buffer manager the time duration of the ad slot that is available in the upcoming splice interval.
  • the buffer manager looks for a set of ad assets whose duration matches ad slot time, and whose aggregated ad weight is the maximum among all possible sets of ad assets 701.
  • the ad weight for each of the ad asset is sent from ADM when the ad asset DD list is sent.
  • the ad weight represents the priority for rendering that the ADM attaches, based on multiple parameters including but not limited to price per ad impression, availability of ad slot time duration ad inventory, business bias parameters.
  • the buffer manager checks to reconfigure the count of program group buffers. This is done to meet the consumption rate of ad slots in the current viewing pattern of the viewer. To accomplish this buffer manager goes through a method discussed in Fig 8.
  • the buffer manager counts the number of ad slots in the current program group that are coming in the near future 801. This is under the assumption that the viewer continues to watch the current program or similar programs that fall into current program group 807. To count the ad slots in the near future, the buffer manager uses the ad slot calendar 806. If there a number of ad slots coming, and there is a need to increase the count of buffers in the current program group, then it increases the count of buffers for the current program group 807, at the expense of other non- watched program groups 802. The specific decision condition for increase of buffer count is implementation dependent, and could vary depending on the needs from a system standpoint.
  • the buffer manager checks whether the low watermark condition is reached in the current program buffers 804. If yes, then it raises a request to ADM to send additional ad assets to fill the buffers.
  • a typical request consists of the number of ad assets needed, current program group for which the ad assets are needed and within the time window 805.
  • the time window allows the server-end to decide on the scheduling of ad assets before there are ad slot breaks on the STB that will be missed due to lack of ad assets in the current program group buffers.
  • the ADM responds to this request with the program group for which the response is sent, set of ad asset IDs, their ad weight, ad channel number and the transmit clock on that ad channel in which the ad asset has been sent.
  • Fig 9 shows a modified program group buffers after the re-alignment.
  • the currently viewed programs seem to fit the male audience demographic, 901.
  • the grouped buffers allocated to the male audience are increased, when compared to the rest of the groups of women, kids, family and unknown.
  • the low-watermark 902 is closely monitored in order to replenish the buffers on time.
  • Fig. 9 shows the capability of the present system to re-assign the numbers of buffers assigned to various program groups, based on the current viewers demographic.
  • Fig 10 describes the method in the buffer manager when the ADM response is received.
  • the buffer manager schedules the list of ad asset IDs, the specific ad channel number and transmit clock for each of the ad asset ID with the Ad asset selector 1001.
  • the ad asset set is received, it is stored in the intended program group buffer 1002.
  • the order of storage is sorted on ad weight so to reflect the rendering priority determined by ADM for each of the ad assets. For one request for ad assets from STB-M ,the ADM could provide the ad asset ID and its schedules in multiple responses. This is to allow for flexible scheduling of ad assets at the server-end and to enable early communication of scheduled ad assets to the STB-Ms. If all ad asset schedules are not sent for the needed program group, the buffer manager should expect more responses from ADM with the remaining ad asset IDs that have been scheduled 1003.
  • Fig 11 describes the method on the ADM that is executed when a request from an STB for ad assets is received.
  • the STB is identified by its stb id, which is a unique identifier for each of the STBs.
  • the stb id is used to lookup the demographic details of the requesting STB from the Demographics data store 1101. For privacy reasons, there could be multiple techniques used for keeping the stb id and the corresponding demographics association secure and encrypted. The specific implementation of these privacy techniques are system dependent.
  • a list of ad assets are identified that match one or more of the requested demographic profile 1102. These ad assets are in the Ad asset data store (108 from Fig.
  • the business bias parameters are mechanisms for the business to bias specific ad asset classes to be selected over others, to accomplish specific business goals.
  • the optimization algorithm for identifying this ad asset is outside the scope of this invention and this invention is independent of the algorithm chosen for identifying the best-suited ad asset to be sent to the corresponding STB.
  • the ad asset Once the ad asset is chosen, it sent to the ABS for sending it to the needed STB 1104. If there are multiple instances of the ABS in the system (as shown in Fig. 14), it is the responsibility of the ADM to identify the ABS that has the transmission path to the needed STB and send the request to that ABS. Each of the requests sent to the ABS has a unique req id. This is used to track the response from ABS when the ad asset has been scheduled for sending. In addition to the stb id and ad asset that has to be sent, the ADM sends a time window within which the ad asset is to be scheduled, to ABS. The time window parameter is derived from the request that the ADM received from the ABS. The STB-M sends this parameter for the first needed ad asset before the ad slot break, where it would run out of ad assets.
  • the ADM estimates the time window to send by looking up the Ad slot calendar for the current program group 1105. This informs the ADM about the consumption rate of the ad assets for the current program group on the STB. The ADM uses this information to decide on the time window for scheduling subsequent ad assets with ABS. The ABS sends a response for each of the req id request that ADM has sent.
  • the method executed on the ADM to process ad assed schedule status responses from the ABS is shown in Fig. 12. If the ad asset was scheduled as per the time window restrictions provided by the ADM, then it returns back the ad channel number and the transmit clock when the ad asset will be scheduled to the STB 1201.
  • the ADM maps the response to the stb id to which the ad asset request was sent for 1207.
  • One or more responses from ABS to ADM are aggregated to be sent as a single response to STB-M, on the list of ad assets that have been scheduled to be sent to it 1202. The aggregation is done until a safe response time is reached.
  • the safe response time is the time after which the STB will not be able to pick at least one of ad assets from the transmission network. This is because the response from ADM on the details of the ad assets to be received has not reached STB for it to schedule with the Ad asset selector for receiving the ad asset.
  • the ADM sends the response with the aggregated details of the ad assets which have been scheduled on ABS thus far 1203. Additional ad asset requests would be sent as an aggregated response as and when they are scheduled for sending and a new safe response time is calculated for those scheduled ad assets.
  • the ADM looks for ad assets that have already been scheduled which would be a near-optimal ad asset that meets the time window needs of the STB 1204. If such an ad asset is available then the ADM uses the already scheduled ad asset's ad channel number and transmit clock as a response for STB 1205. If no such ad asset is available then ADM records it as "ad miss" 1206.
  • Fig 13 shows the method in the ABS for transmitting the ADM provided ad assets to different STBs.
  • the resources for ABS to send the ad assets are one or more linear ad channels on TV transmission infrastructure and the IP backchannel bandwidth available from the Backchannel ad stream server 110.
  • the linear ad channels could be a static set of pre-determi ⁇ ed channels or could be dynamically allocated by the transmission infrastructure as and when additional ad channels are needed. It is also possible that there could be calendar time based availability of transmission bandwidth, which could be used as ad channels in those times. Given the current transmission resources at its disposal, the ABS tries scheduling the provided ad asset so as to maximize the transmission resource usage for meeting as many of the time window constraints of the pending ad asset send requests 1301.
  • TV transmission 1308 infrastructure and Backchannel stream server to send ad assets is dependent on the algorithm deployed by the ABS for sending the ad assets.
  • the current invention is independent of the algorithm used to send the ad asset to the STB. It is assumed that the ABS will leverage the broadcast behavior of TV transmission and the unicast behavior of Backchannel stream server in an optimal fashion to deliver the ad asset to the STBs. If the ad asset is not schedulable in the given time window, then a not schedulable response it sent to ADM for this req id 1302. If scheduling is possible, and if the choice of transmission is TV transmission then the ad asset is scheduled to be sent on the TV transmission buffer 1303.
  • the TV transmission buffers along with transmit clock is sent in a timed fashion to the transmission infrastructure 1304. This timed sending of content on a reference ad channel transmission is used as the reference clock across the system.
  • the scheduled ad channel number and the estimated transmit clock when it will be sent is sent as response to ADM 1305. If the ad asset is scheduled to be sent on the Backchannel ad stream server, then the ad asset is sent to the Backchannel ad stream server to be sent and the response it provided 1306.
  • the ad channel number for streamed ad assets has a system defined value to represent the stream server, and that the transmit clock is the matched clock on the reference ad channel, to the expected time when the ad asset is expected to complete streaming of the ad asset to the target STB.
  • Fig 14 describes an example system flow to be able to appreciate the methods deployed across the system.
  • STBs There are 4 STBs shown in this example.
  • Each of the STBs have a corresponding demographic profile that has been captured from both offline data as well as online viewing preferences 1401. For this example, only geographic location and income range of the STB household is shown.
  • the demographic fields 1401 from the demographics store 1414 are area, city and income range.
  • STB-I sends the first request for ad assets to the ADM 1402.
  • the request format shown here is (program group, number of ad assets needed, time window when needed). This request is sent to the ADM on the server-end through the IP backchannel. Based on the current viewed content the program group information is sent.
  • Ad-3 the first ad asset it decides is Ad-3, which matches the target demographics as well as it is the highest revenue generator for that ad slot in STB-I.
  • Ad-3 is then sent to ABS-I, the only Ad broadcast server in this example system. It generates a unique req id (RQl), and then sends the Ad-3 to be rendered 1404. It also sends the time window parameter that it has received from STB-I.
  • ABS-I then aggregates multiple requests and then tries to optimize on the transmission bandwidth. It is assumed that there is no Backchannel ad stream server capability in this system and there is only one ad channel in the TV transmission infrastructure 1412.
  • the ADM gets multiple requests from other STBs, STB-2, STB-3 and STB-4. All these requests are processed and best matched ad asset is identified and sent to ABS-I in order to send a schedule to various STBs. Each request has a unique request identifier. It is seen that for STB-I, the second and third ad asset request time window are 10 mins and 15 mins respectively 1405. This is calculated by ADM based on channel ad slot calendar and the current program group information. ABS-I optimizes the transmission schedule based on all the pending requests. In this example it has concluded that ad assets need to be sent in the following order, Ad-I, Ad-3, Ad-2 and Ad-4 1406.
  • ABS-I The ordering of the schedule is ABS-I algorithm dependent and is not in the scope of this invention.
  • a transmit clock (which is a timed running counter) that is sent along with the ad asset.
  • ABS-I responds to the ADM with the req id, ad channel number transmit clock.
  • the response from ABS-I 1413 is aggregated by the ADM and then sent back to the corresponding STBs.
  • the format of the response shown here is ad asset ID, ad weight, ad channel number transmit clock for each of the ad asset that has been scheduled.
  • STB-4 gets a response (Ad-4) has been scheduled with ad weight 0.5 on ad channel 1 when the transmit clock is 4.
  • Ad weight is used by STB-M during decision making of which ad asset to be spliced 1408. The higher weight represents higher priority allocated by the ADM for that ad asset to be rendered. It is seen that the highest weighted ad asset is rendered at the next possible ad slot on the currently viewed channel.
  • Ad-3 is scheduled on the 10 th minute ad slot, whose weight is higher than the other sent ad assets 1409. For this example all ad assets are considered to be of the same duration (eg. 10 sec ad slot). It is also shown the for STB-3, there are no ad assets provided 1410, as ADM decided that there was no match in the household demographics with the ad asset inventory that is available.

Abstract

The present invention relates to an advertisement delivery platform, which is capable of distributing ads for Digital television across a variety of platforms. The content independent advertisement delivery platform provides a system and method that allows for insertion of TV content independent ad assets on viewed TV content. It uses the TV transmission infrastructure to send the ad assets as a linear channel to STBs (similar to normal TV content channels) and using the STB backchannel to send ad splice decision and get reports back from STB. The system and method proposes ad splicing at the set-top box end, which is scalable, compatible across a variety of transmission networks such as DTH, cable, IPTV etc. as the architecture conserves transmission bandwidth.

Description

CONTENT INDEPENDENT ADVERTISEMENT DELIVERY PLATFORM FOR
DIGITAL TV FIELD OF THE INVENTION
This invention relates to an advertisement delivery platform, which is capable of distributing ads for Digital television across a variety of platforms.
DISCUSSION OF PRIOR ART
With the advent of DVB standards TV channel content has evolved to include a variety of metadata that is delivered in conjunction with what is broadcast over the network. Examples of this metadata include advertisement content, short or long summaries of various programs, background information on documentaries or educational programs, parental control alerts, program formats, the intended audience, media type, programming guides etc. The headend of television refers to the master facility for receiving, processing and distributing television signals over a television system. In digital TV, audio and video content are transported as digital streams. This compressed audio and video content is streamed from the headend and transmitted over a transmission network. Equipment residing at the customer's premises called set-top box (STBs), decode these streams and display the same on TV screens. Digital TV allows for inserting markers in the streamed content, which can allow identification of specific slots where a different content could be inserted within the streamed content. This concept allows insertion of commercial advertisements, called ad assets, in linear TV content (the TV channel) at any point in the transmission path. Insertion of ad assets on the linear TV content is known as ad splicing.
Ad splicing is prevalent in the digital TV market. There are solutions that insert ads at the headend of the last mile transmission network (eg. Cable TV headend, IPTV headend server). These are used by TV channel networks to provide incentives for local cable operators to deliver geographically relevant advertisements on TV channels that have provided markers for ad insertion. This is a well-established business practice in the cable TV network business. The primary limitation of this solution is that the ad assets are inserted at the headend on specific TV channels. In this model, there is no mechanism to accumulate information on viewer preferences amongst channels, which amounts to a lack of accountability and insight into whether viewers watched a particular ad asset.
Another approach that has been adopted is to splice the ad asset at the set-top box end. This approach enables accountability of ad assets, with the ability to track viewers, if the set-top box supports a backchannel communication link. The primary advantage with this approach is the ability to place ad assets on different TV channels as and when the viewer switches channels. This enables being able to guarantee ad asset viewing across different TV channels. This makes ad asset scheduling, TV channel independent and viewer dependent. WO2007/131068 discloses a Method and apparatus to perform real-time audience estimation and commercial selection suitable for targeted advertising' wherein measurements on user-preferences are collected from the user's STB by monitoring a click stream. The click stream referred to here may reflect a multitude of events including channel selection, volume control and other input/output actions performed by the user. This patent discloses a system that models the input measurements as a Markov chain and processes information as a Markov chain as well. This invention particularly refers to profiling users and is not an end-to-end solution for ad-splicing. US2007/0288950 discloses a System and method for inserting media based on keyword search wherein the system is capable of inserting advertisement material into a broadcast content stream at a variety of locations. CA2349914 discloses an Advertising delivery method wherein user selections are filtered (in order to protect the privacy of the user) and the aggregate summaries of user choices are relayed back to those parties that are responsible for inserting advertisement content, in order for them to monitor and cater to the correct user-demographic for whom the advertisements are intended. This invention is limited when it comes to fine-grained control of ad placement policies, which may be an undesirable limitation for small share networks.
Systems of the prior art call for changes at the cable headend to spawn one or more new channels, dynamically, in order to send ad assets to different set-top boxes. This approach might not be feasible in the DTH (Direct-to-Home) satellite transmission networks, where additional channels are expensive and wastes a lot of available spectrum. One of the limitations of the existing solutions is incompatibility across several transmission network types, simultaneously requiring cumbersome changes to existing cable headend facilities. The system and method of the present invention proposes ad splicing at the set-top box end, which is scalable, compatible across a variety of transmission networks such as DTH, cable, IPTV etc. as the architecture conserves transmission bandwidth. All demographic information is captured and ad placement decisions are made at the server-end so as to enable fine-grained control of ad asset placement policies
BRIEF DESCRIPTION OF DRAWINGS
Fig. 1 describes the overall system of the present invention. Fig. 2 shows one embodiment of the system with multiple Ad Broadcast Servers.
Fig. 3 shows the primary interaction model for the system of the present invention.
Fig. 4 shows the block diagram for the STB-M middleware.
Fig. 5 shows one possible architecture for the ad buffer structure. Fig. 6 shows how the current program group is maintained.
Fig. 7 describes the method of giving the ad asset to the splice engine.
Fig. 8 shows the method used to re-align buffers across program groups.
Fig. 9 shows the modified program group buffers after re-alignment.
Fig. 10 describes the method used by the buffer manager to handle a response from the ADM. Fig. 11 shows the method used by the ADM to respond to requests from one or more STBs.
Fig. 12 shows the method used by the ADM to process ad asset schedule status responses from the ABS.
Fig 13 shows the method in ABS for transmitting the ADM provided ad assets to different STBs.
Fig. 14 shows an example system flow to be able to appreciate the methods deployed across the system.
DETAILED DESCRIPTION OF PREFERRED EMBODIMENTS
Fig. 1 shows the overall layout of the system of the present invention. Data repositories used to store data pertaining to demographics 109 and ad assets 108 interact with an Ad Decision manager (ADM) 101 that decides on the schedule of the ad assets to be transmitted by the Ad Broadcasting server (ABS) 102. It uses the Ad asset data store 108 and matches it with the set-top box (STB) demographics that are stored in the Demographics data store 109. The ADM 101 also communicates with the set-top box over an IP back-channel to instruct Ad asset splice decisions as well as get reports/updates from the set-top boxes. The IP back-channel could be one of and not limited to IPTV 105, digital cable 104, DTH 103. The system has an Ad broadcasting server (ABS) 102 that uses the digital TV transmission infrastructure to schedule ad assets to be broadcast to set-top boxes 106. Digital TV transmissions send the ad assets as one or more linear TV channel(s) to be consumed by set-top boxes. There can be one or more ad channels sent over the TV transmission infrastructure. The ABS sends the Ad channel feeds 112 over a satellite uplink 111, similar to a typical satellite TV content channel. This channel is then received by Direct to Home (DTH) 103, cable 104 and IPTV 105 operators who send the ad channel to the set-top boxes, in the same form as that of other TV channels. If there is sufficient bandwidth available in the back-channel, it is further conceivable that the ABS will communicate with STBs directly.
Set-top boxes 106 are used to render TV content that is delivered over the transmission links. The present invention requires the presence of middleware, also called STB-M middleware, that allows for ad assets to splice into viewed TV content. The STBs in the present invention are expected to have an DP back-channel to communicate with the ADM. In the case of DTH , the STB is expected to be a Hybrid STB 107 with an IP back-channel capable of operating with any of and not limited to Ethernet, DSL, CDMA, GPRS and dial-up. For digital cable, the STB used in the system is expected to support cable upstream back-channel mechanism that is used for communicating with the ADM. On IPTV set-top boxes, native IP interfaces are used to communicate with the ADM.
All STBs are expected to have mechanisms to access the ad channel in addition to the currently watched program channel. In the case of DTH and cable, there is a need for additional tuner hardware to access this channel. In the case of IPTV, there is a need for additional bandwidth at the last mile to be able to access an additional IP multicast channel in addition to the TV channel
IP multicast, during specific times when the ad assets targeted for that set-top box is sent over the ad channel(s). The requirements for the STB with respect to different channels is outlined in Table 1.
Figure imgf000006_0001
The IP back-channel that is available on the STBs can additionally be used for receiving streamed ad assets. This alternate mechanism to receive ad assets in addition to the TV transmission method at the STB end. ABS uses the back-channel ad stream server 110 to send certain ad assets to specific STBs within the needed timing constraint. This is useful for offline streaming and storage of ad assets on STBs who have unique ad assets to be streamed. As existing TV transmission infrastructure is a broadcast model, it is wasteful to send specific ad assets that are needed by one or few STBs. The specific mechanism of leveraging the back- channel stream server to send the ad assets to STBs is dependent on the implementation of the ABS. For example, if an ad asset A-222 is to be sent to STB-123 only, then it might be best to send A-222 over the IP backchannel to STB-123, instead of scheduling it for broadcast.
Decisions of ad assets to be rendered on every STB and the sequence to be rendered are taken at the server-end by ADM. This allows for complete control on the ad assets rendered across the platform and enables fine-grained ad asset-rendering policies to be implemented.
Fig 2, shows another embodiment of the same system with multiple ABS sending ad channel feeds to different transmission networks. In this example ABS-I 201 sends ad channel feed to DTH operator, ABS-2 202 to digital cable operators and ABS-3 203 to IPTV operators respectively. These ad channel feeds could be sent over dedicated transmission links. Those skilled in the art would be able to appreciate that there are multiple mechanisms to send ad channel to digital set-top boxes over the various TV transmission methods.
A message sequence chart, between the main components of the system, the STB-M (the middleware on the STB), ADM and ABS is shown in Fig 3. When the STB is powered up or becomes active 301, it connects back to the ADM to send the pending program view data that has not been sent since the last periodic update. The program view data 302 consists of details of viewer interactions with the set-top box, including but not limited to what TV channels that the viewer watched, fast change in channel sequences, time spent on each of the viewed channel, ad assets watched by user, ad assets where user switched during the time it was shown, ad assets where users clicked for additional information or asked for offline storage of the ad asset for later viewing. All program view data 302 are time-stamped so as to be able to reconstruct the view sequence at the ADM for each of the STB. Program view data 302 from every STB is sent on a periodic basis back to ADM 303 as long as the STB is active and powered-up. The periodicity of sending program view data 303 depends on the needs of the system implementation. Each STB as part of the STB-M has a list of ad asset buffers. Ad assets sent to the STBs from the server-end for rendering are stored in these ad asset buffers. These ad asset buffers are divided between multiple program groups. Program groups identify target viewers in a household. It is assumed that programs in different TV channels focus on specific target viewer groups.
When STB is powered-up and active, the STB-M further sends back the status of all buffers in different program groups 305. STBs could come with different configurations. STBs with adequate flash/hard-disk storage (offline storage) could store the ad assets for different program groups across power cycles, whereas STBs that store the ad asset buffers on RAM (dynamic online memory) would get erased once there is a power cycle. In the case of latter, STB-M sends back status of all buffers to be null (no ad assets in buffer), and requests for filling of all ad asset buffers over time from the server end. The schedule of requests for all program group buffers to be filled could depend on system implementation and is expected to minimize burden on the ad channel feed to deliver ad assets for program groups that are not currently watched by the viewers. Once the STB has come active and connects back to the ADM server the ADM sends the epg program group calendar 306 to the STB. The epg program group calendar 306 contains information on the program group of each of the current and near-future programs on all TV channels. This information is used by STB-M to identify the program group of the currently viewed program.
The ADM also sends an ad-slot calendar for all the channels 307. The ad-slot calendar specifies the time and duration for different ad-slots that are available for splicing on different TV channels for the next N (system implementation dependent) hours. This calendar is provided on a periodic basis to the STB. This is used by the STB to estimate ad asset buffer needs. Once the request for ad assets for the specific program group reaches the ADM 316, it identifies the ad asset that matches the STB demographics with ad asset policies and maximizes system-wide revenue using multiple parameters 308. This ad asset with the time window to send back to the STB is sent to the ABS 309. The ABS then schedules the ad asset to be sent on the Ad channel in the TV transmission infrastructure, to send the ad asset within the specified time window 310. This scheduling is done so as to minimize missing the time window across all pending ad asset send requests.
A transmit clock is attached to the ad assets sent over the ad channel 311. This is a running counter number that is attached on a periodic basis on the ad channels. Trivially if the ad assets are of fixed block size, then there is a transmit clock that is attached to every ad asset 318. As the transmission network is precisely timed for transmission, the transmit clock acts as an accurate server-end clock for all STBs. The ABS sends back the schedule of the request back to ADM 312. The response specifies the ad channel number and the transmit clock to look for; to receive the ad asset by STB. As there could be multiple ad channels in which the ABS sends ad assets, the ad channel number in the response specifies the ad channel number in which the requested ad asset has been scheduled. The ADM aggregates the response for as many of the requested ad assets, and sends a response to STB with the ad asset id, ad channel number and transmit clock for each of the ad assets that have been sent over the TV transmission infrastructure 313.
The STB-M schedules for listening for each of the expected ad asset id on the ad channel number to be expected on the transmit clock count on that ad channel 314. Once these ad assets are received they are placed in the order specified in the response into specific program group buffers for which the initial request 304 was sent. The STB-M splices the ad asset from the current program group buffer on the next available ad slot 315. Once this is done, the ad asset splice status is sent back to the ADM 317. The status has data including but not limited to ad asset id that was spliced, duration of the ad asset watched by viewer, TV channel on which the ad asset was spliced and the time when the ad was spliced. This message sequence chart between the STB-M, the ADM and the ABS is replicated across all STBs communicating with ADM and ABS on the server end. Time synchronization across the system is maintained by introducing a shared clock across the system from the server-end to all the STBs. To enable a common time to be shared across the system, a reference ad channel is selected and the transmit clock of that ad channel is used as the clock across the system. All time related information in the system is represented in matched transmit clock units. All programs across TV channels are mapped to the transmit clock of the reference ad channel. This is used in ad slot calendar, EPG program group calendar and for determining the time when ad slots have been scheduled to be received by each of the STBs. STBs on a periodic or on as-needed basis tune to the reference ad channel to receive the transmit clock. Using this counter, they synchronize all transmit clock related transactions/processing STB-M.
Table 2 summarizes the message sequence and the specific parameters transmitted to and from the various entities.
Figure imgf000010_0001
Fig 4 shows one implementation of an ad asset buffer structure in STB-M with a sample set of program groups Men 402, Women 403, Kids 404, Family 405 and Not Known 406. Ad assets in these buffers are addressed to specific target viewer groups in the household. All ad asset requests to ADM are made specific to a program group. Ad assets are spliced from specific program group buffers based on the currently viewed program by the viewer current program group. The currently viewed program on TV 401 is targeted towards men. Program groups could be as varied to cater to different demographics 402, 403, 404, 405, and is not limited to the sample program groups defined in the current embodiment. Each program group assigned ad asset buffers work on a low watermark 407. Request for ad asset buffers is triggered if the ad asset buffer is below this watermark level. This request (304, shown in Fig. 2), is sent to the ADM on the server-end, with the current program group 401 for which the ad assets need to be sent along with a time window. The time window specifies the maximum time within which the first ad asset in the current program group 401 should reach the STB, so as not to miss the next ad slot on the currently viewed TV program that could be spliced with an ad asset. The time-window is arrived at by knowing the exact buffer state on the STB combined with the ad break calendar that provides the schedules for the ads in the currently viewed program group. The ADM knows the exact program group that is being watched by each of the STBs at most times. Fig. 5 shows the block diagram for the STB-M middleware. The STB-end middleware STB-M manages all the interactions with the server-end, in addition to listening for ad assets on the ad channels and splicing them into watched content. To communicate with the ADM, the STB-M has a backchannel ADM communications manager 501 that handles all communications to ADM. The communication could be on one of (and not limited to) cable back-channels, Ethernet, phone- lines, CDMA, GPRS and other wired/wireless interfaces. An additional receiver interface 502 is present for receiving ad channels in addition to the TV channel content. This is an additional tuner in case of DTH and cable, and is a logical IP multicast end-point in case of IPTV. This tuner is controlled by the ad asset selector 503 which determines the ad channel to tune to and the ad asset to receive. On a periodic basis, as seen in Fig 3, the ADM sends the ad slot calendar and the EPG program group calendar 504 to the STBs. These calendars are stored locally for use by the ad asset buffer manager. The ad asset buffer manager 505 (also known as the buffer manager) has the primary logic to manage the program group buffers 506 and to send the right ad asset to be spliced on the currently viewed content. The ad asset manager generates the request for ad asset buffers for specific program groups to the ADM and also receives the sent ad asset list response from the ADM. It then schedules the ad asset selector 503 to receive the needed ad assets and places them in the program group buffers 506. When the splice engine 507 requests for buffers, this module sends the most optimal ad asset to be spliced. The ad asset buffer manager 505 gets real-time information from channel selection control 508 on the currently active channel that the viewer is watching.
A splice engine 507 handles the splicing of the ad asset on the currently viewed content. It works on the unencrypted encoded video and audio buffers, prior to them being decoded. The encoding of video could be any of and not limited to MPEG-2 and MPEG-4 520. The encoding of audio could be any of and not limited to AC-3 and MP3 521. The specific encoding mechanism and the associated decoders is outside the described method, and this method is independent of the video and audio encoding schemes. As a sample instance, an MPEG2/MPEG4 video decoder 509 and AC-3 decoder 510 is shown in this system, and should in no way be construed as the only decoders that can work with the current invention. There is a SCTE 35 marker identifier 511 that looks for SCTE 35 markers for ad slots in the currently viewed TV content. SCTE 35 markers are MPEG systems layer defined data that identifies ad slot breaks in MPEG content. Digital TV channel content streamed to ad splice aware systems such as the present system, will have markers to identify the specific time positions and the details of the ad slot duration sent over a protocol. In this system, SCTE 35 is shown as the ad splice marker protocol, although the system and method of this invention is independent of the ad slot marker identification mechanism. On processing the ad slot marker information on the currently viewed content, the market identifier sends the splice schedule to the splice engine. The ad slot markers on the TV channels could be encrypted for security reasons. The splice marker identifier shall have a decryption mechanism to decrypt the marker information before processing them. The encryption is typically a fixed key encryption, although the specific encryption method has no bearing on the current system and method specified in this invention. For better scheduling of the identifier, the marker identifier could use the available ad slot calendar 504 to guide marker identification on the currently viewed content. The splice engine 507 is fed with an ad asset by the ad asset buffer manager 505. The buffer manager executes some steps to schedule ad assets, when the ADM response is received. The buffer manager requests the Ad asset selector 503 to provide the ADM with the specified ad assets from the transmission channel or the IP back-channel. The Ad asset selector 503 then tunes to specific ad channels of interest and receives the ad assets that match the ad asset ID. Ad assets arriving over the IP back-channel are also received. These ad assets are sent back to the buffer manager.
The transmit clock for each of the ad asset ID is used for deciding on the ad channel to tune to at any point of time. By knowing the current transmit clock on all the ad channels, the Ad asset selector can schedule tuning to specific ad channels, close to when the ad asset would be available on that ad channel. This is useful in DTH, digital cable where the system gets the flexibility to send ad assets on multiple ad channels to the same STB in different points of time, and with a single tuner, the Ad asset selector would be able to tune to the right channel at the right time to receive the needed ad asset. It is also useful in IPTV, where last mile bandwidth could be conserved by not registering for the ad channel multicast, till the time has come to receive the ad channel multicast and hence the ad asset. The STB-M has a reporting manager 512 that sends reports on program view data and ad asset splice details back to ADM. There is a program view data store 513 that stores the channel viewing data with timestamps, and ad asset viewing patterns. This data is sent back to ADM on a periodic basis or when specific activity happens on the STB. The specific policy and the periodicity of reporting is implementation dependent.
As shown in Fig 6, on every channel switch 601, the buffer manager uses the switched channel number and transmit clock information to match the currently viewed program 602. Using the EPG program calendar, it matches the specific program group the currently viewed program belongs to. This is stored as current program group. This program group information maps the viewer profile in a household and is used in managing the ad asset buffers.
The method of giving an ad asset to the splice engine is represented in Fig 7. Initially, the splice engine requests for an ad asset with an ad slot time window that tells the buffer manager the time duration of the ad slot that is available in the upcoming splice interval. The buffer manager looks for a set of ad assets whose duration matches ad slot time, and whose aggregated ad weight is the maximum among all possible sets of ad assets 701. The ad weight for each of the ad asset is sent from ADM when the ad asset DD list is sent. The ad weight represents the priority for rendering that the ADM attaches, based on multiple parameters including but not limited to price per ad impression, availability of ad slot time duration ad inventory, business bias parameters. There could be either a single ad asset or a multitude of ad assets that can fill the needed ad slot time and this is checked 702. If there is a non-zero ad asset set, then this set is sent to Splice engine 703. If there are no ad asset combinations that matches the ad slot time, then it is accounted as an ad break miss to be reported back to ADM 704.
Once the ad assets are sent to the Splice engine, the buffer manager checks to reconfigure the count of program group buffers. This is done to meet the consumption rate of ad slots in the current viewing pattern of the viewer. To accomplish this buffer manager goes through a method discussed in Fig 8.
The buffer manager counts the number of ad slots in the current program group that are coming in the near future 801. This is under the assumption that the viewer continues to watch the current program or similar programs that fall into current program group 807. To count the ad slots in the near future, the buffer manager uses the ad slot calendar 806. If there a number of ad slots coming, and there is a need to increase the count of buffers in the current program group, then it increases the count of buffers for the current program group 807, at the expense of other non- watched program groups 802. The specific decision condition for increase of buffer count is implementation dependent, and could vary depending on the needs from a system standpoint. By doing this, the overall buffer memory needs in the STB is constant, but the buffers are re-aligned to better suit the consumption rate of the current program group 807. This re-alignment leads to change in low watermark for the current program group buffers 803. The buffer manager then checks whether the low watermark condition is reached in the current program buffers 804. If yes, then it raises a request to ADM to send additional ad assets to fill the buffers. A typical request consists of the number of ad assets needed, current program group for which the ad assets are needed and within the time window 805. The time window allows the server-end to decide on the scheduling of ad assets before there are ad slot breaks on the STB that will be missed due to lack of ad assets in the current program group buffers. The ADM responds to this request with the program group for which the response is sent, set of ad asset IDs, their ad weight, ad channel number and the transmit clock on that ad channel in which the ad asset has been sent.
Fig 9 shows a modified program group buffers after the re-alignment. As shown in the figure, the currently viewed programs seem to fit the male audience demographic, 901. In order to facilitate this and take advantage of this knowledge of who is watching television at that particular time (in this case, a member of the male audience), the grouped buffers allocated to the male audience are increased, when compared to the rest of the groups of women, kids, family and unknown. The low-watermark 902 is closely monitored in order to replenish the buffers on time. In contrast to what is depicted in Fig. 4 where all the groups of men, women, kids, family and unknown have the same number of buffers allocated to them, Fig. 9 shows the capability of the present system to re-assign the numbers of buffers assigned to various program groups, based on the current viewers demographic.
Fig 10 describes the method in the buffer manager when the ADM response is received. The buffer manager schedules the list of ad asset IDs, the specific ad channel number and transmit clock for each of the ad asset ID with the Ad asset selector 1001. Once the ad asset set is received, it is stored in the intended program group buffer 1002. The order of storage is sorted on ad weight so to reflect the rendering priority determined by ADM for each of the ad assets. For one request for ad assets from STB-M ,the ADM could provide the ad asset ID and its schedules in multiple responses. This is to allow for flexible scheduling of ad assets at the server-end and to enable early communication of scheduled ad assets to the STB-Ms. If all ad asset schedules are not sent for the needed program group, the buffer manager should expect more responses from ADM with the remaining ad asset IDs that have been scheduled 1003.
Fig 11 describes the method on the ADM that is executed when a request from an STB for ad assets is received. First the STB is identified by its stb id, which is a unique identifier for each of the STBs. The stb id is used to lookup the demographic details of the requesting STB from the Demographics data store 1101. For privacy reasons, there could be multiple techniques used for keeping the stb id and the corresponding demographics association secure and encrypted. The specific implementation of these privacy techniques are system dependent. Using this demographic information, a list of ad assets are identified that match one or more of the requested demographic profile 1102. These ad assets are in the Ad asset data store (108 from Fig. 1), which stores information including the ad assets, targeting policy specified by the advertiser, budgets and current status of impressions accomplished thus far. For each of the requested ad assets 1106, an optimization algorithm that identifies the specific demographic matched ad asset that maximizes revenue on a system-wide basis 1103 is executed. In order to provide system-wide optimization, multiple parameters need to be considered. These parameters could include the bid price of the ad asset by the local advertiser, the total budget of the advertiser whose ad asset is under consideration, shelf life of the ad asset, total ad inventory for the considered ad asset, competitive needs on rendering conditions that determine the order of presentation of ad assets next to each other or in a given viewing time duration, number of times the ad asset needs to be shown to viewers, total unique viewer needs, optimizing of the transmission bandwidth for sending the ad asset and a variety of business bias parameters. The business bias parameters are mechanisms for the business to bias specific ad asset classes to be selected over others, to accomplish specific business goals. The optimization algorithm for identifying this ad asset is outside the scope of this invention and this invention is independent of the algorithm chosen for identifying the best-suited ad asset to be sent to the corresponding STB.
Once the ad asset is chosen, it sent to the ABS for sending it to the needed STB 1104. If there are multiple instances of the ABS in the system (as shown in Fig. 14), it is the responsibility of the ADM to identify the ABS that has the transmission path to the needed STB and send the request to that ABS. Each of the requests sent to the ABS has a unique req id. This is used to track the response from ABS when the ad asset has been scheduled for sending. In addition to the stb id and ad asset that has to be sent, the ADM sends a time window within which the ad asset is to be scheduled, to ABS. The time window parameter is derived from the request that the ADM received from the ABS. The STB-M sends this parameter for the first needed ad asset before the ad slot break, where it would run out of ad assets.
For each of the next ad assets that needs to be sent, after the first one, the ADM estimates the time window to send by looking up the Ad slot calendar for the current program group 1105. This informs the ADM about the consumption rate of the ad assets for the current program group on the STB. The ADM uses this information to decide on the time window for scheduling subsequent ad assets with ABS. The ABS sends a response for each of the req id request that ADM has sent.
The method executed on the ADM to process ad assed schedule status responses from the ABS is shown in Fig. 12. If the ad asset was scheduled as per the time window restrictions provided by the ADM, then it returns back the ad channel number and the transmit clock when the ad asset will be scheduled to the STB 1201. The ADM maps the response to the stb id to which the ad asset request was sent for 1207. One or more responses from ABS to ADM are aggregated to be sent as a single response to STB-M, on the list of ad assets that have been scheduled to be sent to it 1202. The aggregation is done until a safe response time is reached. The safe response time is the time after which the STB will not be able to pick at least one of ad assets from the transmission network. This is because the response from ADM on the details of the ad assets to be received has not reached STB for it to schedule with the Ad asset selector for receiving the ad asset. At safe response time, the ADM sends the response with the aggregated details of the ad assets which have been scheduled on ABS thus far 1203. Additional ad asset requests would be sent as an aggregated response as and when they are scheduled for sending and a new safe response time is calculated for those scheduled ad assets. If the ad asset has not been scheduled to send by the ABS, then the ADM looks for ad assets that have already been scheduled which would be a near-optimal ad asset that meets the time window needs of the STB 1204. If such an ad asset is available then the ADM uses the already scheduled ad asset's ad channel number and transmit clock as a response for STB 1205. If no such ad asset is available then ADM records it as "ad miss" 1206.
Fig 13 shows the method in the ABS for transmitting the ADM provided ad assets to different STBs. The resources for ABS to send the ad assets are one or more linear ad channels on TV transmission infrastructure and the IP backchannel bandwidth available from the Backchannel ad stream server 110. The linear ad channels could be a static set of pre-determiπed channels or could be dynamically allocated by the transmission infrastructure as and when additional ad channels are needed. It is also possible that there could be calendar time based availability of transmission bandwidth, which could be used as ad channels in those times. Given the current transmission resources at its disposal, the ABS tries scheduling the provided ad asset so as to maximize the transmission resource usage for meeting as many of the time window constraints of the pending ad asset send requests 1301. The use of TV transmission 1308 infrastructure and Backchannel stream server to send ad assets is dependent on the algorithm deployed by the ABS for sending the ad assets. The current invention is independent of the algorithm used to send the ad asset to the STB. It is assumed that the ABS will leverage the broadcast behavior of TV transmission and the unicast behavior of Backchannel stream server in an optimal fashion to deliver the ad asset to the STBs. If the ad asset is not schedulable in the given time window, then a not schedulable response it sent to ADM for this req id 1302. If scheduling is possible, and if the choice of transmission is TV transmission then the ad asset is scheduled to be sent on the TV transmission buffer 1303. The TV transmission buffers along with transmit clock is sent in a timed fashion to the transmission infrastructure 1304. This timed sending of content on a reference ad channel transmission is used as the reference clock across the system. Once the ad assets are scheduled on the transmission buffers, the scheduled ad channel number and the estimated transmit clock when it will be sent is sent as response to ADM 1305. If the ad asset is scheduled to be sent on the Backchannel ad stream server, then the ad asset is sent to the Backchannel ad stream server to be sent and the response it provided 1306. It is assumed that the ad channel number for streamed ad assets has a system defined value to represent the stream server, and that the transmit clock is the matched clock on the reference ad channel, to the expected time when the ad asset is expected to complete streaming of the ad asset to the target STB.
Fig 14 describes an example system flow to be able to appreciate the methods deployed across the system. There are 4 STBs shown in this example. Each of the STBs have a corresponding demographic profile that has been captured from both offline data as well as online viewing preferences 1401. For this example, only geographic location and income range of the STB household is shown. The demographic fields 1401 from the demographics store 1414 are area, city and income range. For the sake of simplicity let us assume that STB-I sends the first request for ad assets to the ADM 1402. The request format shown here is (program group, number of ad assets needed, time window when needed). This request is sent to the ADM on the server-end through the IP backchannel. Based on the current viewed content the program group information is sent. In the case of STB-I, seems most probable that a woman is watching the currently viewed content. This request is processed by ADM to identify the ad asset that best suits the demographics and maximizes system-wide revenue. In this example an Ad asset data store is shown with minimal fields 1403. Again for demonstrating the concept, the fields shown here are area, city, income range and target viewer. Target viewer parameter maps to the program group parameters in STB. In Ad-3 it is shown to target Women, and Ad-4 is targeted towards kids. The ADM processes the ad asset data store information with the known demographic information of the STB as well as the currently viewed program group in order to decide on the best possible ad asset to send to STB-I. In the case of STB-I, the first ad asset it decides is Ad-3, which matches the target demographics as well as it is the highest revenue generator for that ad slot in STB-I. Ad-3 is then sent to ABS-I, the only Ad broadcast server in this example system. It generates a unique req id (RQl), and then sends the Ad-3 to be rendered 1404. It also sends the time window parameter that it has received from STB-I. ABS-I then aggregates multiple requests and then tries to optimize on the transmission bandwidth. It is assumed that there is no Backchannel ad stream server capability in this system and there is only one ad channel in the TV transmission infrastructure 1412.
Meanwhile, the ADM gets multiple requests from other STBs, STB-2, STB-3 and STB-4. All these requests are processed and best matched ad asset is identified and sent to ABS-I in order to send a schedule to various STBs. Each request has a unique request identifier. It is seen that for STB-I, the second and third ad asset request time window are 10 mins and 15 mins respectively 1405. This is calculated by ADM based on channel ad slot calendar and the current program group information. ABS-I optimizes the transmission schedule based on all the pending requests. In this example it has concluded that ad assets need to be sent in the following order, Ad-I, Ad-3, Ad-2 and Ad-4 1406. The ordering of the schedule is ABS-I algorithm dependent and is not in the scope of this invention. There is also a transmit clock (which is a timed running counter) that is sent along with the ad asset. Once the Ad assets are scheduled for sending, ABS-I responds to the ADM with the req id, ad channel number transmit clock. There is a response sent for each of the req id that has been sent from ADM 1407. For eg, RQl response says that the ad asset has been scheduled on ad channel 1 , with transmit clock 2.
The response from ABS-I 1413 is aggregated by the ADM and then sent back to the corresponding STBs. The format of the response shown here is ad asset ID, ad weight, ad channel number transmit clock for each of the ad asset that has been scheduled. In this example, STB-4 gets a response (Ad-4) has been scheduled with ad weight 0.5 on ad channel 1 when the transmit clock is 4. Ad weight is used by STB-M during decision making of which ad asset to be spliced 1408. The higher weight represents higher priority allocated by the ADM for that ad asset to be rendered. It is seen that the highest weighted ad asset is rendered at the next possible ad slot on the currently viewed channel. In STB- 1, Ad-3 is scheduled on the 10th minute ad slot, whose weight is higher than the other sent ad assets 1409. For this example all ad assets are considered to be of the same duration (eg. 10 sec ad slot). It is also shown the for STB-3, there are no ad assets provided 1410, as ADM decided that there was no match in the household demographics with the ad asset inventory that is available.

Claims

CLAIMS:
1. A scalable, efficient system to deliver content independent advertisements or ad assets for digital television with (a) a demographic data-store, (b) an ad asset data store, (c) an Ad- Decision Manager (ADM), (d) one or more Ad Broadcasting Servers (ABS) and (e) one or more Set Top Boxes (STB) configured to support a variety of transmission network protocols comprising: a. Means to cater to one or more transmission network protocols in a compatible fashion which can operate with existing head-end configurations; b. Means to capture and transmit accurate consumer demographics; and c. Means for bandwidth conserving transmission of content independent advertisements targeting specific program groups including: i. Matching ad assets to ad slot times taking into consideration multiple factors; and ii. Performing control actions to communicate information about ads and slots.
2. A system of claim 1 wherein the ADM further comprises: a. Means to decide on the schedule of ad assets to be transmitted by the ABS; b. Means to match the contents of the ad asset data store to the STB demographics, which are stored in the demographics data store; c. Means to communicate with one or more STBs over an IP back-channel to instruct ad asset splice decisions as well as to obtain reports and updates from one or more STBs with consumer demographics; d. Means to respond to requests from one or more STBs; and e. Means to process ad asset schedule status responses from one or more ABSs.
3. A system of claim 2 wherein the EP back-channel can be any of IPTV, digital cable , Ethernet or cellular modem.
4. A system of claim 2 wherein the means within the ADM to respond to requests from one or more STBs further comprises: a. Means to identify an STB by a unique identifier; b. Means to perform a secure lookup the demographic details for the requesting STB from the demographics data-store by using the unique identifier; c. Means to identify ad assets corresponding to the demographic information; d. Means to retrieve ad assets from the ad asset store; e. Means to perform an optimal match between the demographic and the ad asset with the parameters being optimized maximizing revenue on a system-wide basis; f. Means to send the ad asset thus chosen to the appropriate ABS, which sends it to the needed STB; g. Means to specify a time-window within which the ad asset is to be scheduled; and h. Means to lookup an ad slot calendar for the current program group in order to estimate the time window for subsequent ad assets.
5. A system of claim 4 wherein system-wide optimization would take into account several parameters including: a. Bid price for the ad asset by one or more advertisers; b. Total budget of the advertiser whose ad asset is under consideration; c. Shelf life of the ad asset; d. Total ad inventory for the considered ad asset; e. Competitive needs on rendering conditions that determine the order of presentation of ad assets alongside each other in a given duration; f. Number of times an ad asset needs to be shown to viewers; g. Total unique viewer needs; and h. Optimization of the transmission bandwidth for sending the ad asset and a variety of business bias parameters.
6. A system of claim 2 wherein the means within the ADM to process ad asset schedule status responses from one or more ABSs further comprises: a. Means to check if an ad asset was scheduled wherein if it was scheduled: i. The ADM returns an ad channel number and a timer in case the ad asset was scheduled as per the time window; ii. The ADM maps the response received with the unique identifier of the STB on which the ad assets are being rendered; iii. The ADM aggregates one or more responses that are being sent from one or more ABS to the ADM and sends the aggregated response in one transmission to the STB middleware; iv. The aggregation is performed until a safe response time is reached, the transmitted aggregate represents the ad assets which have been scheduled on the respective ABS until that point in time and a list of ad assets and a timer for each ad asset is sent. b. Means to check if an ad asset was scheduled wherein if it was not scheduled: i. Means to check for already scheduled assets that meet the needs wherein: 1. In case such a pre-scheduled ad exists, means to use the already scheduled ad assets ad channel number and timer as a response for the STB; and 2. In case there is no such pre-scheduled ad, recording an ad-miss.
7. A system of claim 1 wherein the ABS transmits the ADM provided ad assets to different
STBs further comprising: a. Means to schedule the provided ad asset so as to maximize transmission resource usage for meeting as many of the time window constraints of the pending ad asset send requests; b. Means to send a response indicating the non-schedulability of the ad asset in the given time window; c. Means to schedule the ad asset when it is possible arid when the choice of transmission is suitable; d. Means to transmit the TV transmission buffers along with a timer signal in a transmission buffer; e. Means to send the ad channel number and estimated timer signal in response to the ADM; and f. Means to send the ad asset that is scheduled on the backchanπeJ ad stream server.
8. A system of claim 1 wherein the STB comprises one or more ad asset buffers with one or more program groups depending on the targeted consumer comprising: a. Means to cater to different demographics wherein profiles have been collected from both online viewing preferences and from offline sources; b. Means to indicate a low watermark in order to replenish the buffers by using suitable triggers.
9. A system of claim 1 wherein the STB has middleware comprising: a. a backchannel ADM communications manager that handles all communications to ADM wherein: i. It receives periodic activity driven reports from the reporting manager; ii. It receives buffer fill request from the ad asset buffer manager; iii. It sends the ad asset list to the ad asset buffer manager; iv. It communicates with the channel ad slot and the program group calendar; and v. Sends ad assets over IP to the ad asset selector, b. A receiver interface for receiving ad channels in addition to the TV channel content; c. An ad asset selector which determines the ad channel to tune to and the ad asset to receive wherein: i. It receives ad assets over IP from the backhand ADM communication manager; ii. It receives select/receive ad asset channel from the tuner; iii. It receives ad asset requests from the ad asset buffer manager; and iv. It sends ad assets to the ad asset buffer manager, d. A program group calendar sent by the ADM to the STB wherein: i. It communicates/utilizes the backchannel ADM communication manager, the ad asset buffer manager and the marker identifiers; e. an ad asset buffer manager (also known as the buffer manager) that has the primary logic to manage one or more program group buffers and to send the right ad asset to be spliced on the currently viewed content wherein: i. It sends a buffer full request to the backchannel ADM communication manager. ii. It receives an ad asset list from the backchannel ADM communication manager; iii. It sends an ad asset request to the ad asset selector; iv. It receives ad assets from the ad asset selector; v. It sends the ad asset to be spliced to the splice engine; vi. It communicates with program-grouped ad asset buffers; vii. It sends ad splice data to the reporting manager; viii. It receives channel switch details from the channel selection control; and ix. It communicates with the channel ad slot program group calendar; f . A splice engine that places advertisement content onto the program content wherein; i. It receives the ad asset to be spliced from the ad asset buffer manager; ii. It receives the splice schedule from the marker identifier; and iii. It communicates with the ad content buffers. g. A channel selection control which interfaces with the ad asset buffer manager to provide information on the current channel that the user is viewing wherein: i. It sends channel switch details to the program view data store; and ii. It sends channel switch details to the ad asset buffer manager; h. Video decoders and audio decoders; i. A marker identifier that looks for markers for ad slots in the currently viewed TV content wherein; i. It sends the splice schedule to the splice engine; and ii. It receives communication from the channel ad slot program group, the decoders, both audio and video, which send markers; j. A reporting manager that sends reports on program view data and ad asset splice details back to ADM wherein: i. It sends periodic activity driven reports to the backchannel ADM communication manager; ii. It receives ad splice data from the ad asset buffer manager; and iii. It communicates with the program view data store; k. A program view data store that stores the channel viewing data with timestamps, and ad asset viewing patterns wherein: i. It receives channel switch data from the channel selection control; and ii. It communicates with the reporting manager.
10. A system of claim 9 wherein the audio and video decoders could decode any format and are not limited to MPEG.
11. A system of claim 9 wherein the ad asset buffer manager further comprises: a. Means to record the user or consumer's switching across various channels by using the switched channel number and timer information to match the currently viewed program; b. Means to give an ad asset to the splice engine wherein: i. The splice engine requests for an ad asset with an ad slot time window; ii. The buffer manager looks for a set of ad assets whose duration matches the ad slot time and whose aggregated ad weight is the maximum among all possible sets of ad assets; iii. Checking to see if there are more than one ad assets that can fill the ad slot time; iv. Upon obtaining a non-zero ad asset set, means to send this to the splice engine; and v. If there are no ad asset combinations matching the ad slot time, accounting the same as an ad slot miss. c. Means to re-align buffers across program groups wherein: i. The buffer manager counts the number of ad slots in the current program group that are coming in, in the near future;
1. If there are multiple ad slots coming in: a. the buffers are re-aligned across the program groups and additional buffers are provided by reducing buffers for other non-watched program groups; and b. New low watermark values are assigned for the current program group;
2. If multiple ad slots are not coming in: a. A check is performed to see if the low watermark has been reached on the current group and if so a request is sent to the ADM for additional ad assets, d. Means to respond to messages from the ADM wherein: i. The buffer manager schedules the list of ad asset IDs, the specific ad channel number and timer for each of the ad asset ED with the ad asset selector; ii. Storing the intended program group buffer once the ad asset set is received; and iii. Expecting more responses for the ADM with the remaining ad asset IDs that have been scheduled, in case all ad asset schedules have not yet been sent for the needed program group.
12. A system of claim 9 wherein the modified program group buffers re-align such that: a. The currently viewed programs are grouped with a particular user or consumer demographic; and b. The grouped buffers that are allocated to the desired user or consumer are increased in contrast to other demographics such that the low watermark is closely monitored for replenishment.
13. A scalable, efficient method for content independent advertisement for digital television with (a) a demographic data-store, (b) an ad asset data store, (c) an Ad-Decision Manager
(ADM), (d) one or more Ad Broadcasting Servers (ABS) and (e) one or more Set Top Boxes (STB) configured to support a variety of transmission network protocols comprising the steps of: a. The STB sending pending program view data to the ADM; . b. The STB sending program grouped ad asset buffer status to the ADM; c. The ADM sending periodic ad slot calendars for all channels; d. The ADM deciding on an optimal ad asset to be sent for the STB; e. The ADM sending the ad asset to be sent along with a time window to the ABS; f. The ABS responding to the ADM with an ad channel and a timer value; g. The ADM responding to the STB with an ad asset id, an ad channel number and a timer value; h. The ABS sending an ad channel with scheduled ad content to the STB, which the STB listens for; i. The STB sending ad asset splice status to the ADM; j. The STB sending periodic updates of program view data to the ADM.
14. A method of claim 13 further comprising the steps of: a. Catering to one or more transmission network protocols in a compatible fashion which can operate with existing head-end configurations; b. Capturing and transmitting accurate consumer demographics; and c. Conserving bandwidth during transmission of content independent advertisements targeting specific program groups including: i. Matching ad assets to ad slot times taking into consideration multiple factors; and ii. Performing control actions to communicate information about ads and slots.
15. A method of claim 13 wherein the buffer manager uses a combination of the switched channel number and the timer to look up the program group table to set the current program group.
16. A method of claim 13 wherein the ad asset buffer manager sends an ad asset to the splice engine using a method that comprises the steps of: a. Requesting for an ad asst to be spliced in the ad slot time window; b. Selecting an ad asset set by searching for an optimal list of ad assets whose duration matches the ad slot time and whose aggregate ad weight is optimal; c. Checking to see if the ad asset set is null: i. If so, accounting for ad sport miss, which is to be reported to the ADM; ad ii. If not, sending the ad asset set to the splice engine.
17. A method of claim 13 wherein the re-alignment of the buffers across program groups comprises the steps of: a. Receiving an ad slot calendar; b. Checking to see if the channel ad slot calendar shows multiple ad slots coming in, in the near future in the current program group: i. If so, the buffers are re-aligned across the program groups and the current program group is provided with additional buffers, reducing the buffers for the other non-watched program groups and the new low water mark is assigned for the current program group; ii. If not, a check to see if the low watermark for the current program group has been reached and if so, a request is sent to the ADM for additional ad assets for the current program group in the relevant time window.
18. A method of claim 13 wherein the ad asset buffer manager responds to an action from the ADM with the steps of: a. Scheduling the list of ad asset IDs, the specific ad channel number and timer for each of the ad asset ID with the ad asset selector; b. Storing the intended program group buffer once the ad asset set is received; and c. Expecting more responses for the ADM with the remaining ad asset IDs that have been scheduled, in case all ad asset schedules have not yet been sent for the needed program group.
19. A method of claim 13 wherein the ADM processes an STB's request for ad assets by executing the steps of: a. Accepting a request from an STB which is identified by its unique identifier for a certain number of ad assets before a time window for the current program group; b. Retrieving demographic data from the demographic data store for the STB with that particular ID; c. Matching the demographic data of the STB to an ad asset list that is present in the ad data store; d. For each of the N ad requests: i. Finding an optimal ad asset that maximizes revenue system-wide considering several parameters; ii. Sending a unique request and STB identifier, an ad asset and a time window to the corresponding ABS that can transmit this ad to the relevant STB; and
Ui. Estimating the time window for the upcoming ad asset on the current program group using the channel ad slot calendar.
20. A method of claim 13 wherein the ADM processes the ad asset schedule status response from the ABS by performing the steps of: a. Checking to see if an ad asset was scheduled wherein if it was scheduled: i. Returning an ad channel number and a timer in case the ad asset was scheduled as per the time window; ii. Mapping the response received with the unique identifier of the STB on which the ad assets are being rendered; iii. Aggregating one or more responses that are being sent from one or more
ABS to the ADM and sends the aggregated response in one transmission to the STB middleware; iv. Performing the aggregation until a safe response time is reached, the transmitted aggregate represents the ad assets which have been scheduled on the respective ABS until that point in time and a list of ad assets and a timer for each ad asset is sent. b. Checking if an ad asset was scheduled wherein if it was not scheduled: i. Checking for already scheduled assets that meet the needs wherein: 1. In case such a pre-scheduled ad exists, means to use the already scheduled ad assets ad channel number and timer as a response for the STB; and 2. In case there is no such pre-scheduled ad, recording an ad-miss.
21. A method of claim 13 wherein the ABS transmits the ADM provided ad assets to different STBs further comprising the steps of: a. Scheduling the provided ad asset so as to maximize transmission resource usage for meeting as many of the time window constraints of the pending ad asset send requests; b. Sending a response indicating the non-schedulability of the ad asset in the given time window; c. Scheduling the ad asset when it is possible and when the choice of transmission is suitable; d. Transmitting the TV transmission buffers along with a timer signal in a transmission buffer; e. Sending the ad channel number and estimated timer signal in response to the ADM; and f. Sending the ad asset that is scheduled on the backchannel ad stream server.
22. A scalable, efficient apparatus to deliver content independent advertisements or ad assets for digital television capable of collecting and transmitting accurate consumer demographics with one or more Set Top Boxes (STB) configured to support a variety of transmission network protocols.
23. An apparatus of claim 22 wherein the STB has middleware comprising: a. a backchannel ADM communications manager that handles all communications to ADM wherein: i. It receives periodic activity driven reports from the reporting manager; ii. It receives buffer fill request from the ad asset buffer manager; iii. It sends the ad asset list to the ad asset buffer manager; iv. It communicates with the channel ad slot and the program group calendar; and v. Sends ad assets over IP to the ad asset selector. b. A receiver interface for receiving ad channels in addition to the TV channel content; c. An ad asset selector which determines the ad channel to tune to and the ad asset to receive wherein: i. It receives ad assets over IP from the backhand ADM communication manager; ii. It receives select/receive ad asset channel from the tuner; iii. It receives ad asset requests from the ad asset buffer manager; and iv. It sends ad assets to the ad asset buffer manager. d. A program group calendar sent by the ADM to the STB wherein: i. It communicates/utilizes the backchannel ADM communication manager, the ad asset buffer manager and the marker identifiers; e. An ad asset buffer manager (also known as the buffer manager) that has the primary logic to manage one or more program group buffers and to send the right ad asset to be spliced on the currently viewed content wherein: i. It sends a buffer full request to the backchannel ADM communication manager; ii. It receives an ad asset list from the backchannel ADM communication manager; iii. It sends an ad asset request to the ad asset selector; iv. It receives ad assets from the ad asset selector; v. It sends the ad asset to be spliced to the splice engine; vi. It communicates with program-grouped ad asset buffers; vii. It sends ad splice data to the reporting manager; viii. It receives channel switch details from the channel selection control; and ix. It communicates with the channel ad slot program group calendar; f. A splice engine that places advertisement content onto the program content wherein; i. It receives the ad asset to be spliced from the ad asset buffer manager; ii. It receives the splice schedule from the marker identifier; and iii. It communicates with the ad content buffers. g. A channel selection control which interfaces with the ad asset buffer manager to provide information on the current channel that the user is viewing wherein: i. It sends channel switch details to the program view data store; and ii. It sends channel switch details to the ad asset buffer manager; h. Video decoders and audio decoders; i. A marker identifier that looks for markers for ad slots in the currently viewed TV content wherein; i. It sends the splice schedule to the splice engine; and ii. It receives communication from the channel ad slot program group, the decoders, both audio and video, which send markers; j. A reporting manager that sends reports on program view data and ad asset splice details back to ADM wherein: i. It sends periodic activity driven reports to the backchannel ADM communication manager; ii. It receives ad splice data from the ad asset buffer manager; and iii. It communicates with the program view data store; k. A program view data store that stores the channel viewing data with timestamps, and ad asset viewing patterns wherein: i. It receives channel switch data from the channel selection control; and ii. It communicates with the reporting manager.
24. An apparatus of claim 22 wherein the audio and video decoders could decode any format and are not limited to MPEG.
25. An apparatus of claim 22 wherein the ad asset buffer manager further comprises: a. Means to record the user or consumer's switching across various channels by using the switched channel number and timer information to match the currently viewed program; b. Means to give an ad asset to the splice engine wherein: i. The splice engine requests for an ad asset with an ad slot time window; ii. The buffer manager looks for a set of ad assets whose duration matches the ad slot time and whose aggregated ad weight is the maximum among all possible sets of ad assets; iii. Checking to see if there are more than one ad assets that can fill the ad slot time; iv. Upon obtaining a non-zero ad asset set, means to send this to the splice engine; and v. If there are no ad asset combinations matching the ad slot time, accounting the same as an ad slot miss. c. Means to re-align buffers across program groups wherein: i. The buffer manager counts the number of ad slots in the current program group that are coming in, in the near future; 1. If there are multiple ad slots coming in: a. the buffers are re-aligned across the program groups and additional buffers are provided by reducing buffers for other non-watched program groups; and b. New low watermark values are assigned for the current program group;
2. If multiple ad slots are not coming in: a. A check is performed to see if the low watermark has been reached on the current group and if so a request is sent to the ADM for additional ad assets. d. Means to respond to messages from the ADM wherein: i. The buffer manager schedules the list of ad asset IDs, the specific ad channel number and timer for each of the ad asset ID with the ad asset selector;
• ii. Storing the intended program group buffer once the ad asset set is received; and iii. Expecting more responses for the ADM with the remaining ad asset IDs that have been scheduled, in case all ad asset schedules have not yet been sent for the needed program group.
26. An apparatus of claim 22 wherein the modified program group buffers re-align such that: a. The currently viewed programs are grouped with a particular user or consumer demographic; and b. The grouped buffers that are allocated to the desired user or consumer are increased in contrast to other demographics such that the low watermark is closely monitored for replenishment;
PCT/IN2009/000334 2008-06-09 2009-06-09 Content independent advertisement delivery platform for digital tv WO2010001410A2 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
IN1394/CHE/2008 2008-06-09
IN1394CH2008 2008-06-09

Publications (2)

Publication Number Publication Date
WO2010001410A2 true WO2010001410A2 (en) 2010-01-07
WO2010001410A3 WO2010001410A3 (en) 2012-11-29

Family

ID=41466395

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IN2009/000334 WO2010001410A2 (en) 2008-06-09 2009-06-09 Content independent advertisement delivery platform for digital tv

Country Status (1)

Country Link
WO (1) WO2010001410A2 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013008255A2 (en) * 2011-07-12 2013-01-17 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
GB2512199A (en) * 2011-07-12 2014-09-24 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
GB2567483A (en) * 2017-10-13 2019-04-17 Global Radio Services Ltd Media break management
US11381332B2 (en) 2017-10-13 2022-07-05 Global Media Group Services Limited Media break window
US11477538B2 (en) * 2013-12-05 2022-10-18 Time Warner Cable Enterprises Llc Methods and apparatus that support delivery of targeted advertising content via a secondary channel

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099426A2 (en) * 2000-06-19 2001-12-27 Discovery Communications, Inc. Method and apparatus for targeting virtual objects
US20070283384A1 (en) * 2006-05-31 2007-12-06 Sbc Knowledge Ventures, Lp System and method of providing targeted advertisements

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001099426A2 (en) * 2000-06-19 2001-12-27 Discovery Communications, Inc. Method and apparatus for targeting virtual objects
US20070283384A1 (en) * 2006-05-31 2007-12-06 Sbc Knowledge Ventures, Lp System and method of providing targeted advertisements

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2013008255A2 (en) * 2011-07-12 2013-01-17 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
WO2013008255A3 (en) * 2011-07-12 2013-04-11 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
GB2512199A (en) * 2011-07-12 2014-09-24 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
GB2512199B (en) * 2011-07-12 2017-11-22 Amagi Media Labs Pvt Ltd System and method for seamless content insertion on network content using audio-video fingerprinting and watermarking
US11477538B2 (en) * 2013-12-05 2022-10-18 Time Warner Cable Enterprises Llc Methods and apparatus that support delivery of targeted advertising content via a secondary channel
GB2567483A (en) * 2017-10-13 2019-04-17 Global Radio Services Ltd Media break management
US11381332B2 (en) 2017-10-13 2022-07-05 Global Media Group Services Limited Media break window
GB2567483B (en) * 2017-10-13 2022-07-20 Global Media Group Services Ltd Media break management

Also Published As

Publication number Publication date
WO2010001410A3 (en) 2012-11-29

Similar Documents

Publication Publication Date Title
US11032518B2 (en) Method and apparatus for boundary-based network operation
US10231031B1 (en) Queue based advertisement scheduling and sales
US9009753B2 (en) Measurement and reporting of set top box inserted AD impressions
US8997142B2 (en) Advertisement insertion decisions for set top box management of advertisements
US20190014356A1 (en) Methods and apparatus for predictive delivery of content over a network
US10368111B2 (en) Digital television channel trending
US8544048B2 (en) System for content delivery
US9154824B2 (en) System for content delivery
US8065703B2 (en) Reporting of user equipment selected content delivery
US7730509B2 (en) Asset delivery reporting in a broadcast network
US9178634B2 (en) Methods and apparatus for evaluating an audience in a content-based network
US20120331515A1 (en) Programming Content Reconstruction in a Content Delivery System
US20070283384A1 (en) System and method of providing targeted advertisements
US20020144263A1 (en) Grouping of advertisements on an advertising channel in a targeted advertisement system
US20030135605A1 (en) User rating feedback loop to modify virtual channel content and/or schedules
EP2573963A1 (en) Transmitting content partly via broadcast and partly via unicast
WO2010001410A2 (en) Content independent advertisement delivery platform for digital tv
US8341667B2 (en) Advertising driven switched digital video
US20130268989A1 (en) Method and system for dynamically alocating popular content
KR20100043754A (en) Transmission system and method for integrated advertisement through several broadcasting channel

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09773064

Country of ref document: EP

Kind code of ref document: A2

NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09773064

Country of ref document: EP

Kind code of ref document: A2