Methods and apparatus that support delivery of targeted advertising content via a secondary channel

Methods and apparatus relating to the supply of targeted advertisements to user devices receiving broadcast or multicast content are described. The methods and apparatus are well suited for systems where content is broadcast or multicast to a plurality of user playback devices, e.g., set top boxes, with advertisements included in the content delivered via a first communications channel, e.g., a broadcast communications channel. Viewing information, e.g., information indicating the tuning of a customer premise device to a channel and/or the outputting of program content is reported to a headend or other device. One or more targeted advertisements are delivered to a customer premise device via a secondary channel, e.g., unicast IP packet channel, with the alternative advertisement being displayed in place of the broadcast advertisement.

FIELD OF THE INVENTION

The present invention relates to content delivery and playback methods and apparatus and, more particularly, to methods and apparatus that support delivery of targeted advertising content communicated via a secondary communications channel that is different from a communications channel used for delivery of programming content.

BACKGROUND OF THE INVENTION

Advertising is an important source of revenue for cable companies, satellite companies and/or other content distributers. Advertisers are often willing to pay a premium if they are able to target their advertisements to a particular audience likely to be interested in their product and/or which is considered a desirable audience to target for a particular reason, e.g., because of their income level, age, location, sex or other attributes/characteristics.

In addition to providing content distributers a chance to sell targeted advertising, content distributers, e.g., cable service providers, internet service providers, etc., can find targeted advertising useful in up selling their own offerings by presenting advertisements for products which are upgrades to services and/or plans which a service subscriber has while avoiding presenting advertisements for services to which a subscriber already subscribes.

Delivery of advertisement content to users watching broadcast or multicast programming content is common. In various systems the advertisements are delivered in the same broadcast signal or transport stream that carries the programming content, e.g., advertising content is interjected with the actual programming content within a broadcast or multicast stream. It is assumed that a users receiving the broadcast or multicast content will view the advertisements transmitted with the content. However, in the case of conventional over the air broadcasts and other broadcast transmission whether they be over a cable network or another communications channel, there is often no way to know whether a particular broadcast and the advertising content communicated as part of the broadcast is being output and viewed by a user of a set top box or other playback device.

Advertisers and broadcasters of programming content are always looking out for ways to improve targeting of advertisements based on various factors so that advertising content that is relevant or is of interest to the users can be delivered. Unfortunately, in the case of broadcast and multicast content, there is little an advertiser can do. In some cases advertisements may be included in the broadcast on a regional or geographic basis but this allows for relatively limited targeting and does not allow for targeting down to the level of an individual household or user.

It should be appreciated that it would be desirable if a way could be developed to allow for targeted advertisements to be delivered to a household or individual playback device even when the playback device is receiving and playing broadcast or multicast content.

In order to target relevant advertising content to customers it is important for the advertisers and service providers to understand factors that are helpful in targeting advertisements suitable for individual customers or group of customers. For example, to send customized or selected advertising content to a customer watching some programming content, it is desirable that the service provider understand what programming content the user is currently watching and/or type of content that the user normally watches as personal information about the user or household such as age, sex, income level, etc.

Unfortunately, in broadcast delivery systems, the service provider, e.g., broadcaster, normally does not have the capability to track what a customer is currently watching and/or to which channel the customer premise device is tuned to. This is because the customer's device can simply tune to a channel and output the channel without reporting anything back to the broadcast or service provider. This is particularly the case in over the air broadcasts, analog broadcasts and/or other transmissions where there may not be a need or requirement for the user playback device to report back output/viewing information to the broadcaster.

In view of the above discussion, it should be appreciated that there is a need for developing methods and/or apparatus which would allow the service provider to obtain viewership information for subscribers that receive broadcast or multicast programming content. There is also a need for methods and/or apparatus for obtaining user information which can be used in targeting advertisements. There is also a need for methods and/or apparatus which would allow targeted advertisements to be delivered and displayed to a user, e.g., in real time, while a program is being output to the user.

SUMMARY

Methods and apparatus relating to the supply of targeted advertisements to user devices receiving broadcast or multicast content are described. In addition methods and apparatus for obtaining information which can be used to target advertisements to a viewer of broadcast or multicast content are described.

The methods and apparatus of the present invention are well suited for systems where content is broadcast or multicast to a plurality of user devices, e.g., set top boxes, TVs or other devices, with advertisements included in the content delivered via a first communications channel, e.g., a broadcast communications channel. Viewing information, e.g., information indicating the tuning of a customer premise device to a channel and/or the outputting of program content is reported to a headend or other device. While such information is normally not available, in accordance with various embodiments the customer premise device is configured to report such information thereby providing a device such as a server, information which can be used to target advertisements for the customer premise and/or specific user device known to be outputting program content.

One or more targeted advertisements are delivered to a customer premise device via a secondary channel that is different from a primary communications channel. In some embodiments the secondary channel is a unicast IP delivery channel with content being directed, e.g., addressed to an individual customer premise or customer premise device. Thus, while the user selected program content may be delivered via a broadcast channel or multicast channel, target advertisements are delivered via a unicast IP channel in at least some embodiments.

The customer premise device outputs and/or records user selected program content delivered via the first communications channel, e.g., broadcast or multicast channel.

In accordance with one aspect of the invention a customer premise device receiving programming content via the first channel, e.g., a broadcast or multicast digital channel, provides information that can be utilized by the service provider and/or a third party in targeting relevant advertising content to the customer premise device. In various embodiments such information includes information regarding the content being output, e.g., viewed by the customer, time of viewing, customer preferences and/or past viewing history and other related information. The customer premise device, e.g., set top box, may and in some embodiments does supply, age, sex, income level and/or other demographic or personal information corresponding to the user of the customer premise device that may be useful for purposes of ad targeting. In some embodiments the user information is entered into the customer premise device and supplied with the program viewing information to the server or headend device. In such embodiments the user has control over what information is provided for ad targeting purposes. In other embodiments the service provider, e.g., cable network headend operator, stores and supplies to an advertising system user information along with information obtained from the customer premise device indicating what broadcast or multicast content is being viewed and/or recorded.

Having received such information, e.g., from individual customer premise devices, the service provider system and/or authorized advertising party server can select targeted advertising content well suited for individual customers corresponding to the specific customer premise devices providing such information.

In various embodiments the targeted advertising content is provided to one or more customer premise devices via a secondary communications channel that is different from the communications channel over which the programming content was provided. In some embodiments the targeted (alternative) advertising content is communicated via a unicast Internet Protocol (IP) packet stream over the second communications channel. In various embodiments the customer device, e.g., set top box, monitors the content received on the first, e.g., broadcast channel to detect an upcoming commercial break. While content corresponding to the program being viewed is received on the first communications channel, alternative advertising content, e.g., targeted advertising content, may and sometimes will be received via the second communications channel, e.g., the unicast IP communications channel.

Thus the content received via the first channel is monitored to detect upcoming commercial breaks. An upcoming commercial break may be indicated by private data included in the content stream, one or more queue tones or through various other techniques.

When an upcoming commercial break is detected, a signal may be sent to a headend device and or an advertisement (ad) server to indicate that the user is viewing and/or recording the content being received on the broadcast channel providing the device an opportunity to communicate an alternative advertisement to the customer premise device via the second communications channel.

Alternatively in some embodiments a notification is provided when a user tunes to a program channel and the headend or advertising server assumes the user remains tuned to that channel for a period of time, e.g., the known duration of the program being supplied to the customer premise device via the first channel. In one such embodiment the ad server stores information about when advertisements occur in the program which has been identified as being received by a user device and send alternative advertisements for a period of time, e.g., the duration of the program, without the need for the customer premise device to report on upcoming commercial breaks. Such an embodiment is efficient in that it requires very little upstream communication from individual customer devices. While alternative advertisements may be provided for the duration of a program via a unicast stream, in other embodiments user inactivity is detected by the customer premise device, e.g., a failure to receive a control signal from a remote control for a predetermined period of time, and triggers the sending of a sleep state indicator to the headend or ad server causing the headend device or ad server to cease the unicast transmission of alternative ads to the customer premise device. In this way headend to customer device unicast transmission resources may be used efficiently as well as customer premise device to headend communications resources.

During a commercial break which occurs on the first channel, the customer device outputs the received alternative advertising content communicated via the secondary communications channel rather than outputting advertising content received via the first, e.g., broadcast, communications channel.

Program content received via the first communications channel may, and in some embodiments is recorded. Alternative advertising content may, and in some embodiments is, recorded in place of broadcast advertisements which were received with the programming content. In some embodiments both advertising and program content received via the first communications channel and advertising content received via the second communications channel is received and recorded, e.g., in the same program file. Advertising content received via the second program channel may include time constraints, e.g., the alternative ads may be intended to be displayed for a limited period of time relative to the original date of the broadcast or multicast program into which it was intended to be inserted in the place of an advertisement included in the original broadcast or multicast program. For example an advertisement may be for a limited time offer in which case there would be no reason to display the advertisement after the limited time of the offer has expired.

In at least some embodiments where original broadcast or multicast ad content is recorded in addition to alternative ad content communicated via a second communications channel, the original broadcast or multicast advertisement is displayed rather than the alternative ad content when a playback constraint associated with the alternative advertisement is not satisfied.

Normally alternative advertisements which are output during the delivery time period of a program will be displayed if the recorded content is played back with a time period that is in close proximity to the original broadcast time, e.g., within a time period from the broadcast time, at least as long as the original program. This ensures that a viewer rewinding or pausing a program will likely see the alternative advertisement at least during the initial viewing and any rewinding or repeat playback occurring during the initial viewing. This avoids, by making sure that the same advertisement is displayed, the possibly unsettling effect a user may encounter from a different ad being displayed during a pause or rewind operation that may result in a repeat playback of a portion of a broadcast program close to the initial air time if such a playback constraint was not implemented.

It should be appreciated that numerous additional variations and embodiments are possible and remain within the scope of the invention.

Various additional features, embodiments and advantages of the present invention are discussed in the detailed description which follows.

DETAILED DESCRIPTION

FIG. 1illustrates an exemplary system100implemented in accordance with one exemplary embodiment of the present invention. The system100supports delivery of content to customer premise equipments (CPEs) including content playback devices in accordance with various embodiments of the invention. The system100includes a network headend102, a communications network170, e.g., a hybrid fiber-coaxial (HFC) network, satellite network, and/or internet, and a plurality of customer premises104,106. In various embodiments the content, e.g., multimedia content, is delivered from the headend102over the communications network170to one or more devices at the customer premises104,106depending on the customer device capability and/or user preference. In some embodiments the customer premises104,106include a variety of devices including, e.g., legacy set top box (STB) devices as well as switched digital video STB devices.

The network headend102may be implemented at a cable network office or hubsite serving a plurality of customer premises and includes multiple servers and databases which are coupled together as shown. In theFIG. 1example, the headend102includes a content broadcast server150, e.g., a broadcast file server (BFS), a switched digital video (SDV) content server152, a video on-demand (VOD) server154, a content storage156, an advertisement storage158, an IP capable control server160, a customer database162and a business management server164. It should be appreciated that some of the servers and/or elements shown to be included in the headend102may reside outside the headend102in some embodiments and may be located anywhere in the system100, e.g., in a distributed manner. In theFIG. 1example, various servers and other elements included in the headend102are coupled together by a local network166. The local network166is coupled via one or more network interfaces168to other networks and/or devices. For example, the headend102is coupled via network interface168to communications network170, e.g., a cable network, and may also be coupled to one or more other external networks.

Via the network170, the elements shown in the network headend102can send and/or exchange various information with the devices located at the customer premises104,106. As shown inFIG. 1, communications link171traversing the communications network170couples the CPEs at the customer premises104,106to the various elements/servers shown in the network headend102.

The content server150, e.g., a broadcast file server (BFS), among other things, is responsible for delivering, e.g., broadcasting, content including program content and advertising content and/or other information to one or more customer devices, e.g., set top boxes, which support receiving content by tuning to, e.g., QAM broadcast stream broadcast by the server150. The switched digital video (SDV) content server152provides digital content to customer devices which support receiving SDV content. In various embodiments the content servers150,152access the programming content from the content storage156and generate transport streams suitable for delivery to various CPEs via the communications network170. The content storage156stores content, e.g., audio, video and/or other multimedia content. In some embodiments the content stream is encrypted prior to delivery to the CPEs over the communications network170. The VOD server154is responsible for responding to on-demand requests and delivering, on-demand programming content including ordered by one or more customers and/or other information to one or more customer devices, e.g., set top boxes. In some embodiments the VOD server154is configured to deliver targeted advertising content to one or more customer premises via an IP channel and/or a VOD channel.

The advertisement storage158includes a cache of advertisements that can be included in the content transport streams delivered by the various servers.

The control server160is optionally included in the headend102and may reside externally. The control server160in some embodiments is configured to send targeted advertisements via unicast IP packet streams over an IP channel to one or more customer premises. The advertisements targeted to the customers may be selected from the advertisement storage158, e.g., based on customer profiles and/or other relevant information obtained from the customers in accordance with the invention.

The customer database162includes, for a plurality of customers, customer information, e.g., customer profile, customer account information and information regarding the devices installed at customer premises. In some embodiments customer account information includes, e.g., account number, subscription/service information, customer device capability and other billing related information. Customer database162also includes customer device information, e.g., identification and/or other information regarding customer devices such as STBs, gateway devices, modems etc., installed at various customer premises served by the headend102. BM (Business management) server164processes billing information corresponding to customers serviced by the headend102. This may include updating billing charge information in response to changes in services being provided to the customer, upgrades, on-demand content purchases, and/or other activity.

Referring now to the customer premises shown in system100. Each customer premise104,106may include a plurality of CPEs including playback devices. In various embodiments the CPEs located at the customer premises include, e.g., modems, gateway devices, routers, and playback devices including, e.g., set top box, internet capable TVs, personal computers, laptops, tablet devices, smart phones etc. In various embodiments a content playback device presents the program content to a viewer, e.g., customer/subscriber.FIG. 1shows some details of customer premise 1104. Customer premise N106may be similar to the customer premise104and may include same or similar CPEs.

The customer premise104includes an exemplary gateway device124and different types of customer devices, e.g., set top boxes, including a customer device-type 1110and customer device-type 2114which are discussed in greater detail inFIGS. 5-6. Thus it should be appreciated that a variety of devices and set top boxes may exist at a single customer premise where the devices may be coupled together by a home network121. The various types of devices and the presence of a gateway124in addition to a cable modem122provide multiple alternative ways in which individual set top boxes may receive content either directly from the servers150,152,154,160of the headend102or via the gateway device124over the home network121after the gateway device124performs processing, e.g., transcoding/transrating.

As shown, the customer device110is coupled to display device112, customer device114is coupled to display device116. It should be appreciated that in some embodiments customer devices can be integrated in a device which also includes a display. The display devices could be, e.g., standard televisions. In some embodiments the customer devices, e.g., STBs, at the customer premises may include, e.g., a legacy STB, a DOCSIS (Data Over Cable Service Interface Specification) set top box, an SDV capable set top box, and/or a hybrid set top box. In some embodiments the customer premises104,106may include IP capable devices like ipads, laptops, smart phones etc., which are capable of receiving IP program content streams and performing playback. The SDV capable set top box devices support receiving SDV programming content from the SDV server152while the legacy STBs receive programming content via a QAM broadcast stream from BFS150.

In the illustrated embodiment ofFIG. 1, the exemplary gateway device124includes, among other things, an I/O interface126with at least one tuner/demodulator pair140, a processor130and a memory132coupled together by a bus129. In some embodiments the I/O interface126includes a cable modem144and/or a plurality of additional tuners and demodulator pairs such as tuner/demodulator pair K142, as indicated in the figure, which are coupled to the bus120via the bus I/O interface145. Each tuner/demodulator pair can be used to tune to a frequency band to receive video and/or data content from the BFS150, SDV152and/or VOD server154. In some embodiments the gateway device124receives, via the cable modem144, programming content via unicast IP streams from the IP capable control server160. In some embodiments the gateway124includes one or more tuner/demodulators but does not include the cable modem144. In still other embodiments the gateway124includes both tuner/demodulator pairs140through142and cable modem144. The memory132includes various control routines, modules and data/information. The operation of the exemplary gateway device124is discussed later in more detail.

In accordance with one aspect of some embodiments, targeted advertising content is delivered to various customer premise devices over a separate communications channel than the communications channel over which programming content is being delivered. Prior to the targeted advertising content being delivered, the customer devices send back information regarding the content being played back by the customer and/or other customer information. The customer devices receiving the targeted advertising content switches, e.g., at the time of a commercial break, to outputting the advertising content received over the separate channel.

FIG. 2, which comprises a combination ofFIGS. 2A and 2B, is a flowchart200illustrating the steps of an exemplary method of operating a customer device, e.g., a set top box, in accordance with an exemplary embodiment implemented using the system shown inFIG. 1. In some embodiments the customer device implementing the method is, e.g., one of the customer devices110or114shown inFIG. 1.

The method starts in step202, e.g., with the customer device, e.g., set top box, television or other playback device, being powered on. In step204which is performed on an ongoing basis the customer premise device monitors for user input. The user input maybe, e.g., input indicating selection of program content such as selection of a program channel providing broadcast or multicast program content. In step206, input is received, e.g., a signal from a remote control device, indicting program content selected by a user. The content selection may be made via selection of program channel of a program guide or using, for example, up and down channel keys of a remote control to select a desired program channel. By selecting a broadcast or multicast program channel the user selects the content being provided via the program channel.

With a program content selection having been received and detected in step206operation proceeds to step208. In step208the playback device implementing the method communicates viewing information, e.g., user program selection information, to device, e.g., a server or other headend device, used in controlling transmission of alternative advertising content to a customer premise device via a second communications channel, e.g., a unicast communications channel such as an IP unicast channel. Alternative advertising content may be sent in packets addressed to the playback device using an IP address of the playback device or to a gateway device located at the customer premise at which the playback device is located for delivery of the content in the IP packet stream to the playback device. The alternative content may be transcoded and/or transrated by a gateway device prior to delivery to the playback device via a home network. While a gateway device may be used in the delivery of the targeted advertisement, in other embodiments the alternative content is delivered directly to the playback device via a unicast communications channel which is received and processed by the playback device. Thus, the playback device implementing the method200will receive user selected broadcast or multicast content via a first communications channel, e.g., a broadcast or multicast communications channel and alternative advertising content via a secondary, e.g., unicast communications channel.

In at least some embodiments the playback devices stores user information such as user demographic information such as age, race, etc., which is communicated in step210to the device to which the viewing information is communicated. In this manner an ad targeting device or system is supplied with sufficient information to selected targeted advertisements and can determine the context, e.g., program, in which the targeted advertisements are to be displayed. While in some embodiments the playback device, e.g. set top box, stores and provides user demographic information, in other embodiments such information is stored by a server in the network headend and is supplied to an advertising system or device along with the information indicating the broadcast or multicast viewing information known to the headend device based on the signal or signals received from the playback device, e.g., set top box.

Operation proceeds from step208to step212wherein the customer premise playback device implementing the method controls a tuner to tune to a first communications channel used to supply the user selected content. The first communications channel maybe, and in at least some embodiments is, a broadcast communications channel. In other embodiments the first communications channel is a multicast communications channel, e.g., a switched digital video channel or another such channel supplied to multiple user devices at different customer premise locations.

Operation proceeds from step212to steps214and216which may, and often do occur in parallel. In step214the playback device receives, via the first tuner, program content communicated over the first communications channel. The program content will, and often does, include advertisements which are not targeted to an individual user but which are broadcast or otherwise delivered to multiple users as part of a multicast. Thus, a user device may receive via a broadcast channel to which the first tuner is tuned broadcast program content and advertisements. The broadcast program content may, and in some embodiments does, include information identifying upcoming commercial breaks and may also include information about the duration of such breaks. Such information can be conveyed in a private data field or otherwise encoded in the video information. Alternatively queue tones may be used to indicate the presence of a commercial break.

Operation proceeds from step214to steps218and224.

In step218the content received via the first communications channel, e.g., the broadcast or multicast communications channel, is monitored to detect an indicator of an upcoming break. As noted above the indicator may be commercial information embedded or encoded in the content received via the first communications channel. The monitoring for an upcoming commercial break is performed on an ongoing basis as indicated by the arrow returning to the top of step218with processing proceeding to step220on a regular basis where a decision is made as to whether an upcoming commercial break has been detected by the monitoring performed in step218.

If an upcoming commercial break has been detected in step220operation proceeds directly to step232via connecting node A222or to optional step230when step230is implemented by the playback device implementing the method. If no upcoming commercial break has been detected in step220, operation proceeds to step248via connecting node B228.

Returning to step224. In step224it is determined if the user selected content received via the first communications channel is to be recorded, e.g., based on a user scheduled recording. If the selected content is to be recorded the operation proceeds from step224to step226. In step226the customer device initiates recording of the content received via the first communications channel. If in step224it is determined that the content is not to be recorded the operation proceeds from step224to step248via connecting node B228.

Returning to step230. In step230, the playback device communicates to the server or headend device used to control the supply of alternative advertisements information about the detected upcoming commercial break. Program identifier and/or user profile information may be performed in optional step230. It should be appreciated that step230can be preformed as an alternative to or in addition to step208since via either step the headend or server controlling the supply of alternative advertisements is provided with information about the content being output and thus viewed, by a user of the playback device implementing the method. In some embodiments the device supplying the targeted advertisements does so in response to the information received in step230. However, in other embodiments the alternative advertisement server supplies multiple advertisements throughout a program once it is informed of a user selected program in step208without the need for information, e.g., messages, of the type sent in step230. While the ad server can determine what advertising opportunities are available during a selected program based on known information about the program and its content, sending advertisements without the information relating to a specific advertisement break may result in more alternative advertisements being unicast than are likely to be used since a user may have powered off the playback device after the program selection. In some embodiments in which alternative advertisements are provided for an entire program, the playback device is configured to report a power off operation or detection of a period of user inactivity and to information the headend device or ad server of the detection of such an event. In response to being informed of a power off operation or a period of user inactivity exceeding a predetermined amount, the ad server or other headend device will terminate the unicast alternative advertisement stream to the user thereby conserving downlink transmission resources.

Operation proceeds from step230in embodiments where it is implemented to step232. An input to step232is the data represented as data, e.g., alternative advertisement content and in some embodiment display condition information, received and recovered from the second communications channel. Element C217represents the alternative ad content and other information, e.g., ad presentation constraint information, received via the second communications channel.

In step232a determination is made as to whether or not alternative advertising content has been received for the detected upcoming commercial break. If alternative advertising content has not been received via the second communication channel, e.g., the unicast communications channel, operation proceeds from step232to step248.

In step248the program content received via the first communications channel is output to a display device. Thus, in the case where an alternative advertisement has not been received via the second communications channel, the commercial received via the first communication channel will be output.

If, however, in step232it is determined that alternative advertising content was received for the upcoming commercial break, operation proceeds to steps236and step234. In step234a check is made to determine if the selected content is being recorded. If the selected program content is not being recorded, operation proceeds to step238and no action is taken with regard to recording, i.e., the program content received via the first communications channel and program content received via the second communications channel will not be recorded.

However, if in step236it is determined that recording has been enabled, operation proceeds to step240wherein the alternative program content is recorded with the selected program content. In some embodiment both the broadcast or multicast advertisement received via the first communications channel will be recorded with the main program content received via the first communications channel along with the alternative program content. In other embodiments only the alternative program content will be recorded. In embodiments where both broadcast commercial break content received via the first communication channel and alternative commercial content received via the second communications channel a single one of the broadcast and alternative content will be presented during playback to avoid altering the overall duration of the program during playback. Whether or not the broadcast or alternative commercial content is output during playback may, and in some embodiments does, depend on one or more playback constraints stored with the alternative commercial content. The alternative commercial content playback constraint may, and in some embodiments is a time constraint restricting the period of time in which the alternative commercial content will be presented. In other embodiments the playback constraint is a number presentations constraint with a playback counter being incremented each time the alternative add is presented and updated count being stored with the alternative add content and the broadcast program content. After a maximum number of presentations specified by the alternative ad constraint is satisfied the alternative ad will no longer be presented. In this manner a advertising can pay for the right to obtain a maximum number of presentations with the original broadcast ad being presented instead of the alternative advertisement once the paid for maximum number of presentations of the alternative advertisement has been satisfied on the playback device implementing the method.

Operation is shown proceeding from step240to steps214,216via connecting node Z241to show that the receipt and processing of content via the first and second channels occurs on an ongoing basis while the playback device is powered on and used to output content, e.g., to a display device being viewed by a user of the playback device implementing the method shown inFIG. 2.

As noted above, in addition to proceeding from step232to step236, when alternative advertising content has been received for an upcoming commercial break operation will also proceed from step232to step234.

In step234the playback device switches the customer premise device from outputting, during the detected commercial break, content received via the first channel, e.g., the broadcast channel, to outputting content received via the second channel, e.g., the unicast channel. Thus, the alternative commercial content received via the second communications channel, e.g., the unicast channel, will be output rather than the content received via the first communications channel, e.g., the broadcast or multicast channel.

Operation proceeds from step242to step244in which a check is made as to whether the end of the commercial break for which alternative advertisement content was received has been reached. If the end of the commercial break has not been reached operation proceeds again to step242for the output of more alternative advertising content. However, if the end of the end of the commercial break has been reached operation proceeds to step246wherein the playback device switched form outputting the alternative advertising content received via the second communications channel back to outputting the content, e.g., main program content, received via the first communication channel.

Operation proceeds from step246to step248wherein the program content receive via the first communications channel is output to a display device. The output from step248to connecting node Z241indicates that processing including the receipt and output of program content will continue until the playback device is powered off or output of content is halted for some other reason.

FIG. 3illustrates a method300where the playback device which implements the method shown inFIG. 2is used to read and output recorded program content rather than output content received via a broadcast communications channel in real time as the broadcast content is received.

The method starts in step302. In step304user input requesting playback of recorded program content is received and processed. The input may be one or a combination of signals from a remote control device indicating the selection of a previously recorded program for viewing.

In step306the recorded program content is accessed, e.g., read or otherwise retrieved from memory or another storage device. Operation proceeds from step306to step308. In step308the playback device monitors the content being played back for an indicator indicating an upcoming commercial break. This may be done in the same manner as previously described with regard to monitoring the content received on the first communications channel to detect an upcoming commercial break.

In step310a check is made as to whether an upcoming commercial break was detected by the monitoring performed in step308

Operation proceeds form step310to step314if an upcoming commercial break was not detected by the monitoring of the recorded content being processed and output to a display. In step314the recorded program content is output.

If in step310it is detected that there an upcoming commercial break, operation proceeds to step312. In step312a check is made as to whether alternative advertising content is available for the upcoming commercial break, e.g., if at least two advertisements (e.g., the broadcast or multicast advertisement and the alternative unicast advertisement) are available for decoding and display during the upcoming commercial break.

If alternative advertising content is not available, operation proceeds from step312to step316in which the recorded program content is output. Thus, in step316the content received via the first communications channel will be output unless an alternative advertisement was recorded rather than broadcast or multicast content without recoding of the broadcast/multicast advertisement.

If in step312it is determined that alternative advertising content is available for the upcoming commercial break, operation proceeds from step312to step318. In step318, assuming there is a playback constraint associated with the alternative advertisement, the playback constraint is checked to see if it is satisfied. The alternative playback constraint may be a time constraint, a maximum number of presentations constraint or some other constraint.

If the alternative advertisement constraint is satisfied operation proceeds from step318toe step320in which the alternative advertisement is output for the duration of the detected commercial break. However, if the alternative advertisement constraint is not satisfied, operation proceeds to step316and the broadcast or multicast advertisement received via the first communications channel will be output.

Arrows from step316to step320leading back to step308indicate that after the commercial break main program content will be processed and output pending detection of another commercial break in step308.

It should be appreciated that the methods described inFIGS. 2 and 3allow for targeted advertisements to be directed to specific individual users known to be receiving and outputting broadcast or multicast content while other users whose playback devices can not support such targeted advertisement delivery or which are not to be targeted for other reasons such as the failure to get a targeted ad sponsor interested in paying for a targeted ad directed to the user will receive a broadcast or multicast advertisement included as part of the normal content delivered via the user selected broadcast or multicast content delivery channel.

In the present application it should be appreciated that content can include video content such as TV programs, movies, news, etc. and/or audio content such as radio programs or music channels.

FIG. 4illustrates an exemplary gateway communications device400and various elements of the gateway device in greater detail. The exemplary gateway communications device400can be, and in some embodiments is, used in the various customer premises shown inFIG. 1. The gateway device400can be used as the gateway124ofFIG. 1. For the purpose of discussion consider that the gateway device400is located at a customer premise including a plurality of customer devices including set top boxes which normally receive content from the content servers in the headend102.

In accordance with one aspect of some embodiments the exemplary gateway device400receives alternative advertising content from the headend102, e.g., via IP packets communicated via a second communications channel, from the IP capable control server160. In accordance with the features of some embodiments the gateway device400processes the received unicast IP stream communicating the alternative advertising content to put it in a format suitable for receiving by the customer devices, e.g., STBs. The gateway device400serves to provide the alternative advertising content received via unicast IP stream to some customer devices, e.g., such as the legacy STB devices, which may otherwise not be able to receive the alternative advertising content via unicast IP streams due to the inability of these devices to support communications over IP.

In various embodiments the alternative advertising content is delivered to one or more customer devices collocated at the customer premise, e.g., over a local home network such as home network121. In some embodiments the gateway device200is configured to perform transcoding and/or transrating operation prior to delivering the alternative advertising to playback devices. In some embodiments as part of the process the gateway device demodulates and/or decodes the received alternative advertising and then generates a content stream including the alternative advertising content suitable for delivery to the customer devices. The method used by the gateway400for generating the alternative advertising content stream is based on the destination customer device with different devices receiving content which is coded differently, e.g., based on the codecs they support and/or the bandwidth, data rates etc., they can support.

As shown, the gateway device400includes a cable network interface402, a local area network (LAN) interface404, a processor406, an input device407, and a storage device, e.g. a memory608, coupled together via a bus409. The various elements of the gateway device400can exchange data and information over the bus409.

The cable network interface402includes at least one tuner/demodulator pair QAM tuner/demodulator410, and a cable modem414, e.g., a DOCSIS modem. In some but not all embodiments, a plurality of additional tuner/demodulator pairs such as tuner/demodulator pair K412are included as indicated in the figure, which are coupled to the bus409via the bus I/O interface415. Via the interface402, the gateway device400can exchange signals and/or information with other devices and/or system elements such as the servers in the network headend102, over the communications network170. Thus the cable network interface402supports the receipt and/or transmission of content, and/or other information from/to different servers over the network170. In various embodiments the cable network interface402also includes a transmitter to transmit content over the communications network170in addition to the tuner/demodulators which are used to receive content. The QAM tuner-demodulator410is capable of tuning to a frequency band to receive content stream and demodulating the received content and/or information. The tuner/demodulator410works under the control of processor406and the tuner control module436. In the illustrated embodiment the gateway device400includes a cable modem414that enables receiving content, e.g., advertising and/or programming content, via IP streams from the IP capable servers, e.g., servers156,160. The received content can be stored, processed and/or supplied to one or more customer devices, e.g., via the home network.

Via the LAN interface404, e.g., home network interface, the gateway device400can exchange information with other various customer premise equipments such as, e.g., the STB devices collocated at a customer premise, via the local network, e.g., home network121. The LAN interface404supports the receipt and/or transmission of content, and/or other information over the home network from/to the various custom premise equipments. In some embodiments the home network may be, e.g., Ethernet, WiFi, MoCA (Multimedia over Coax). The LAN interface404includes an Ethernet interface416, an integrated WiFi modem418and a MoCA interface420. In some embodiments the alternative advertising content received via the I/O interface402is processed and then at least a portion of the alternative advertising content is supplied to a collocated customer device, e.g., a legacy STB, via the LAN interface404(e.g., using MoCA interface420) over the local home network121.

The input device407may be a keypad, touch screen, and/or a microphone for receiving and processing voice input commands. The processor406, e.g., a CPU, executes routines430and one or more modules and controls the gateway400to operate in accordance with the invention. Thus to control the gateway device400, the processor406uses information, various modules and/or routines including instructions stored in memory408.

In addition to the routines430, the memory408includes a transcoding and transrating module432, a message processing module434, a tuner control module436, a packet generation module438, content supply control module440, information corresponding to customer devices442, and stored alternative advertising content444.

Routines430include communications routines and/or device control routines. In some embodiments the gateway device400performs transcoding and transrating operation on the received alternative advertising content, prior to supplying the alternative advertising content to a customer device, so that the content is in a format (e.g., encoding and/or data rate) that is supported by the receiving device. The transcoding and transrating module432is configured to perform transcoding and transrating operation on the content in accordance with the invention.

The message processing module434is configured to process various messages and/or signals received by the gateway device400. The received messages and/or signals include messages, instructions and/or other signals received from headend102and from the customer devices, e.g., STBs. For example in some embodiments the message processing module434receives a message from the control server160in the headend102to receive alternative (e.g., targeted) advertising content and supply at least a portion of the advertising content to one or more customer devices located at the customer premise where gateway400is located. The gateway device400processes the received messages and provides information to the processor206and/or one or more other modules to take further action in response to the received messages. In some embodiments the gateway400receives the alternative advertising content from a video on demand server154.

The tuner control module436controls the tuner-demodulator pairs410,412to given tune to a channel, receive and demodulate content, by providing them with information and/or parameters needed to tune to the channel, e.g., one of a QAM broadcast channel, SDV delivery channel, or VOD delivery channel.

The packet generation module438is responsible for generating unicast packets from the received content. In various embodiments the packet generation module438includes a coding module440and a packetization module442. The coding module440is configured to encode the program content according the coding standards supported by the customer devices to which the generated unicast packets are to be provided. The information regarding the customer devices including information about supported coding standards, data rates, physical device addresses etc., corresponding to the devices at the customer premise where gateway400is located is obtained by the gateway device400and stored as information446in the memory408. The packetization module442is configured to packetize the content encoded by the coding module440in accordance with the coding standard supported by the customer device to which the packets are to be transmitted.

The content supply control module444controls the supply of content, e.g., alternative advertising content and/or other program content, to the customer devices over the local, e.g., home, network via the LAN interface404. For example the content supply control module232controls a transmission of alternative advertising content corresponding to a first customer device, e.g., a first STB, to the first device and alternative advertising content corresponding to a second device, e.g., a second STB, to the second device.

The content storage448includes stored content, e.g., received from a headend device or server via the cable network402, including alternative advertising content450. In some embodiments the gateway device receives the alternative advertising content450from the headend device or server via a unicast Internet Protocol (IP) packet stream over a communications channel.

In some embodiments, the gateway device400and other customer devices support DLNA and/or are DLNA compliant devices. In some embodiments the gateway device400is a DOCSIS 3.0 compatible gateway device which includes a DSG (DOCSIS Set-top Gateway) agent and which serves as a CMTS (cable modem termination system). While inFIG. 1embodiment the gateway device124is shown to be located at the customer premise, it may and in some embodiments is, located outside the customer premise, e.g., at a hubsite, which serves the customer premise.

FIG. 5illustrates an exemplary customer device500, e.g., a set top box, of a first type implemented in accordance with one exemplary embodiment. In some embodiments the customer device500is configured to implement the method of flowcharts200and300in accordance with the invention. For the following discussion the customer device500of the first type will be referred to as STB500. The STB500may be used in any one of the customer premises shown inFIG. 1, e.g., as the customer device-type 1110. The STB500may be, and in some embodiments is, coupled to a display device, e.g. a monitor and/or a Television (TV). As discussed below in detail the STB500of the first type supports communications, e.g., with external devices located external to the customer premise, using standard QAM based communications channels but does not include a cable modem interface to receive unicast IP packet stream.

The STB500includes a cable network interface502, a local area, e.g., home, network interface504, input device505, a codec (Coder/Decoder)506, a processor508, and a memory510coupled together via a bus509. The various elements of the customer device500can exchange data and information over the bus509.

Via the cable network interface502, the STB500can exchange signals and/or information with other devices and/or system elements such as the servers in the network headend102, over the communications network170. Thus the cable network interface52supports the receipt and/or transmission of content, application data and/or other information from/to different servers and/or headend devices, e.g., the BFS server, etc. The cable network interface502includes a QAM tuner/demodulator512capable of tuning to a frequency band to receive content stream and demodulating the received content and/or information. The tuner/demodulator510works under the control of processor508and the tuner control module528. Although one tuner/demodulator510is shown for simplicity, additional tuner/demodulator pairs may be used in some embodiments. In various embodiments the STB500receives content stream including programming content and advertising content communicated over a first communications channel. In some embodiments the first communications channel is, e.g., a broadcast channel or multicast digital channel.

In some embodiments the interface502also includes, e.g., an infrared signal receiver to receive signals from a user remote control device. The cable network interface502of the STB500does not support receiving of packetized IP content, e.g., over an IP based channel, from an external server via the cable interface502. In various embodiments the cable network interface502also includes a transmitter to transmit content, e.g., over the communications network170in addition to the tuner/demodulators which are used to receive content.

Via the LAN, e.g., home, interface504the customer device500can exchange signals and/or information with other various customer premise equipments such as the gateway device400illustrated inFIG. 4. The LAN interface504supports the receipt and/or transmission of content, and/or other information over a local home network, e.g., MoCA based network, from/to the gateway device400. For example in some embodiments alternative advertising content is received by the gateway device400over a communications over which the customer device500can not receive content, e.g., an IP based channel. In some such embodiments the alternative advertising content is supplied by the gateway device400to the customer device500over a home network via the home network interface504in accordance with the features of various embodiments of the invention. The LAN interface504includes a MoCA interface520. The MoCA interface520serves as an interface to the LAN (e.g., home) network121.

The codec506is a coder/decoder that can be and is used for encoding messages to be transmitted and decoding received messages which are encoded. The processor508, e.g., a CPU, executes routines522and one or more modules and controls the device500to operate in accordance with the invention. The processor508is responsible for controlling the general operation of the customer device500including, e.g., presentation of information and/or content for display.

In addition to the routines522, the memory510includes a user input detection module524, a message processing module526, a tuner control module528, a commercial break detection module530, a program content output control module532, a communications module534, a recording module536, user information538, device identification information540, received alternative advertising content542and recorded content546. The bus509allows the communication and exchange of information between and among the processor508, the codec506, the interfaces502,504and the memory510which are coupled to the bus509.

Routines522include communications routines and/or device control routines. User input detection module524detects a user input, e.g., input signals from a user received by the customer device500. The input signals may be sent by a control device such as a remote control, or by other means, e.g., selecting an option by pressing a button on the device or icon on a touch screen etc. User input signals from a remote control are received via interface502in some embodiments. The user input detection module524determines, on receipt of an input, e.g., a control signal providing user input, what type of selection has been made by the user, e.g., a channel selection instructing to tune to a specific channel, recording selection for recording selected content, program guide selection, or another input.

The message processing module526is configured to process various messages and/or signals received by the STB500, e.g., via the interfaces502,504. The received messages and/or signals include messages, instructions and/or other signals received from headend102and other devices, e.g., gateway device400. In some embodiments the message processing module526processes a received message from the headend102indicating that alternative advertising content for an advertisement segment, e.g., corresponding to a commercial break, is available from an alternative content source and/or via a secondary communications channel different than a primary channel over which the user device500received programming content. In some embodiments the source for the alternative advertising content for the customer device500is the gateway device400. In some embodiments the message from headend102indicates tuning parameters such as frequency corresponding to a secondary broadcast channel for obtaining the alternative advertising content. The STB500processes the received messages and provides information to the processor508and/or one or more other modules to take further action in response to the received messages in accordance with the invention.

The tuner control module528is configured to control the tuner/demodulator512to tune to a frequency corresponding to a program channel. This may be a user selected channel, e.g., for viewing or recording or, a channel to be tuned to when instructed by a server in the headend102, e.g., to receive alternative advertising content. In various embodiments the tuning parameters, e.g., frequency corresponding to customer subscribed channels is provided by the headend102, e.g., as content source information, which is stored by the STB500. In the embodiments where alternative advertising content is provided via an independent broadcast channel, the tuning parameters for such a secondary channel are communicated separately to the STB500.

The commercial break detection module530is configured to monitor to detect an indicator and/or identifier of an upcoming commercial break, e.g., by monitoring content stream communicating program content and advertising content received on the first channel, e.g., broadcast channel.

The program content output control module532is configured to control the presentation and playback of program content from the customer device500to the user, e.g., on a display device. In various embodiments the program content output control module532outputs content received on a first communications channels, e.g., a broadcast channel, to the user. In some embodiments the program content output control module532is further configured to output, during a commercial break which occurs on the first communications channels, alternative advertising content communicated via a second communications channel. In some embodiments the alternative advertising content is communicated via a unicast Internet Protocol (IP) packet stream over the second communications channel, e.g., to the gateway device400, which then supplies the alternative advertising content over the local home network to the customer device500which receives it, e.g., via LAN interface504. In various embodiments the content output control module532includes a switch control module544configured to control the content output control module532to switch from outputting content received on the first communications channel to outputting content communicated via the second communications channel during said commercial break, e.g., alternative advertising content542. In various embodiments the second communications channel is different from the first communications channel, e.g., channel over which the STB500receives content stream including programming content and advertising content. In some embodiments at least some of the alternative advertising content542output during the commercial break is received during the commercial break.

The communications module534is configured communicate, e.g., via a transmitter in the interface502, viewing information to a server or a device used to control transmission of alternative advertising content via the second communications channel. In some embodiments the communications module534is further configured send the viewing information to the device and/or or server, e.g., in the headend102, after the commercial break detection module530detects the indicator of an upcoming commercial break (e.g., sending viewing information prior to or during the upcoming commercial break). In some embodiments the viewing information includes information identifying the program content being output by the customer device500. In some embodiments the viewing information further includes information indicating the current position within the program content which is being output and/or being recorded by the customer device500, e.g., an identifier of the particular upcoming commercial indicator that was detected and which corresponds to a particular portion of the program being output and/or recorded. Different commercial identifiers may have different identifier values which can indicate to the server where the commercial identifier is within the program and, in some embodiments, the duration of the commercial break.

In some embodiments the viewing information includes information that can be utilized by the service provider and/or a third party in targeting relevant advertising content to the customer premise device500. In various embodiments such information includes information regarding the content being viewed by the customer, time of viewing, customer preferences and/or past viewing history and other related information.

In some embodiments the communications module534is further configured to transmit user information540from the customer device500to the device and/or server, the user information538including at least some user profile information. In some embodiments the communications module534is configured to communicate the viewing information and user profile information to the headend102via the gateway device400. The information538in some embodiments includes user, e.g., subscriber, profile, and subscription information. The user profile in some embodiments indicates user's viewing habits, most watched programming content, most recorded programming content, age, income, gender, other attributes/characteristics etc.

The recording control module536controls the recording operations for the customer device500. The recording control module536controls recording of user selected content requested for recording in accordance with the invention. In some embodiments the recording control module536controls the customer device500to implement the method of flowchart300.

The device identification information540may include, e.g., Media Access Control (MAC) address of the customer device500or some other identifier identifying the device500. The alternative advertising content542is the advertising content communicated over a secondary communications channel from a server and/or headend device. In some embodiments the server communicating the alternative advertising content s located external to the headend102. The STB500in some embodiments receives the alternative advertising content542from the gateway device400. The recorded content546is the content that has been recorded based on user request and is available for playback.

In some embodiments, one or more of the various modules discussed above work in coordination, e.g., with operations being merged to perform a function, to produce a desired output in accordance with the exemplary methods of the invention.

FIG. 6illustrates an exemplary customer device600, e.g., a set top box, of a second type implemented in accordance with one exemplary embodiment. In some embodiments the customer device600is configured to implement the method of flowcharts200and300in accordance with the invention. For the following discussion the customer device600of the second type will be referred to as STB600. The STB600may be used in any one of the customer premises shown inFIG. 1, e.g., as the customer device-type 2114. The STB600may be, and in some embodiments is, coupled to a display device, e.g. a monitor and/or a Television (TV). As discussed below in detail the STB600of the second type supports communications, e.g., with external devices located external to the customer premise, using standard QAM based communications channels as well as over IP. In some embodiments the STB600is a switched digital video capable STB device that supports receiving SDV programming content from an SDV server, e.g., SDV server152.

The STB600includes a cable network interface602, a local area, e.g., home, network interface604, input device605, a codec (Coder/Decoder)606, a processor608, and a memory610coupled together via a bus609. The various elements of the customer device600can exchange data and information over the bus609.

The cable network interface602includes at least one tuner/demodulator pair QAM tuner/demodulator 1612, and a cable modem615, e.g., a DOCSIS modem. In some but not all embodiments, a plurality of additional tuner/demodulator pairs are included as indicated by tuner/demodulator pair M614in the figure, which are coupled to the bus609via the bus I/O interface611. Via the interface602, the STB600can exchange signals and/or information with other devices and/or system elements such as the servers in the network headend102, over the communications network170. In some embodiments the customer device600receives content stream including programming content and advertising content communicated over a first communications channel. In some embodiments the first communications channel is, e.g., a broadcast channel or multicast digital channel. In some embodiments the interface602also includes, e.g., an infrared signal receiver to receive signals from a user remote control device. In some embodiments the multicast digital video channel is a switched digital video channel.

Thus the cable network interface602supports the receipt and/or transmission of content, and/or other information from/to different servers over the network170. In various embodiments the cable network interface602also includes a transmitter to transmit content, e.g., over the communications network170in addition to the tuner/demodulators which are used to receive content. The QAM tuner-demodulator612is capable of tuning to a frequency band to receive content stream and demodulating the received content and/or information. The tuner/demodulators612,614work under the control of processor506and the tuner control module628. The cable modem615enables receiving content, e.g., advertising and/or programming content, via IP streams from the IP capable servers, e.g., servers156,160.

Via the LAN interface604, e.g., home network interface, the STB600can exchange information with other customer premise equipments such as, e.g., the gateway device400, collocated at a customer premise, via the local network, e.g., home network121. Thus the LAN interface604supports the receipt and/or transmission of content, and/or other information over the home network from/to other custom premise equipments. In some embodiments the home network may be, e.g., Ethernet, WiFi, MoCA (Multimedia over Coax). The LAN interface604includes an Ethernet interface616, an integrated WiFi modem618and a MoCA interface620. In some embodiments the STB600receives the alternative advertising content over the local home network121via the LAN interface604(using one of the interfaces616,618,620) from the gateway device400.

The input device605may be a keypad, touch screen, and/or a microphone for receiving and processing voice input commands. The codec606is a coder/decoder that can be and is used for encoding messages to be transmitted and decoding received messages which are encoded. The processor608, e.g., a CPU, executes routines622and one or more modules and controls the device600to operate in accordance with the invention. The processor608is responsible for controlling the general operation of the customer device600including, e.g., presentation of information and/or content for display. To control the customer device600, the processor606uses information, various modules and/or routines including instructions stored in memory610.

In addition to the routines622, the memory610includes a user input detection module624, a message processing module626, a tuner control module628, a commercial break detection module630, a program content output control module632, a communications module634, a recording module636, stored user information638, device identification information640, received alternative advertising content642and recorded content646. The bus609allows the communication and exchange of information between and among the processor608, the codec606, the interfaces602,604and the memory610which are coupled to the bus609.

Routines622include communications routines and/or device control routines. User input detection module624detects a user input, e.g., input signals from a user received by the customer device600. The input signals may be sent by a control device such as a remote control, or by other means, e.g., selecting an option by pressing a button on the device or icon on a touch screen etc. User input signals from a remote control are received via interface602in some embodiments.

Various other elements shown in the STB600perform same or similar functions as the like elements of STB500which have been discussed in detail above. For example modules624,626,628,630,632,634,636and644perform the same or similar functions as the modules524,526,528,530,532,534,536and544discussed with regard toFIG. 5. Thus to avoid repetition, the elements which are different or include different components therein such as, e.g., the cable network interface602and LAN interface604, are discussed to highlight the differences.

The stored user information including user profile638in some embodiments includes user, e.g., subscriber, profile, and subscription information corresponding to the user of customer device600. The user profile in some embodiments indicates user's viewing habits, most watched programming content, most recorded programming content, age, income, gender, etc. Device identification information640may include, e.g., Media Access Control (MAC) address of the device600or some other identifier identifying the device600. The alternative advertising content642is the advertising content communicated over a secondary communications channel from a server and/or headend device. The STB600may receive the alternative advertising content642from a server or headend device and/or the gateway device400. The recorded content646is the content that has been recorded based on user request and is available for playback. In some embodiments, one or more of the various modules discussed above work in coordination, e.g., with operations being merged to perform a function, to produce a desired output in accordance with the exemplary methods of the invention.

FIG. 7is a flowchart700illustrating the steps of an exemplary method of providing alternative advertising content via a secondary channel, in accordance with an exemplary embodiment implemented using the system shown inFIG. 1. In some embodiments at least some of the steps of the method700are performed by a control system, e.g., a control device such as the control server160or the VOD server154in the headend102shown inFIG. 1. The control server160may be an IP capable device but may also be or at least support, a non-IP signaling or message formats such as those commonly used in some cable systems. However in some embodiments the method of flowchart700is performed by a control system which may be implemented as one or more devices/servers that are located outside the headend102. In some embodiments the control system is located in a distributed manner with some modules or elements of the control system located in the headend such as message receiving modules and customer databases and other elements or modules such as those which control or transmit alternative advertising content outside the headend. The headend102maybe, e.g., a network headend, hub site or other office where network components are located.

The method starts in step702, e.g., with the control device being powered on. Operation proceeds to step704. In step704which is performed on an ongoing basis the control device monitors for signals, e.g., messages, from customer devices, e.g., such as gateways devices and/or user set top boxes located at customer premises104,106. Such messages normally include one or more device identifiers such as IP and/or MAC addresses of the device which performed the reported tuning operation and/or a customer identifier along with information indicating the broadcast or SDV (Switched Digital Channel) to which the customer device has tuned. The time the tuning operation was performed may and also normally is indicated in the message. From the time the headend can determine the current program to which the customer premise device was tuned and/or the next program to be presented on the channel to which the customer premise device tuned. Operation proceeds from step704to step706. In step706, the control device receives a tuning message including tuning information from a customer premise device indicating a broadcast channel to which the customer premise device, e.g., STB, is tuned and information identifying the customer premise device. The tuning message is received in various embodiments via a gateway device located at a customer premise where the customer premise device is located. However, in other embodiments the tuning message is transmitted to the control device without traversing the gateway, e.g., using a cable network upstream communications channel or other upstream channel that may not traverse a gateway at the customer premise where the device doing the tuning is located.

Operation proceeds from step706to step708. In step708a customer associated with the customer premise device is identified. The customer associated with the customer premise device may be, e.g., the subscriber of the services, e.g., the account holder. This may be done by performing a lookup operation based on a Set Top Box (STB) or other customer premise device identifier received in the tuning message. In some embodiments the control device includes customer premise device to customer mapping information, e.g., in a customer information database, that includes information associating a customer premise devices to subscribers and/or customers along with information such as customer name, address, age, location, income level, etc. that may be useful in targeting advertisements to be supplied to the customer device which performed the tuning operation reported in a received tuning message. In some embodiments the control device may request the information regarding a customer associated with a given customer premise device from the customer database162. In some embodiments the control server also retrieves the customer's profile, e.g., stored in customer database162, as part of step708. Operation proceeds from step708to step710. In step710the control device determines when advertisement segments occur within the broadcast content on the indicated broadcast channel to which the customer premise device has tuned. In some embodiments the information regarding the advertisement segments occurring within the broadcast content that is broadcast on a broadcast channel can be requested by the control device from the BFS150and the SDV content server152. The control device may store this information and use it to determine the time and position of advertisement segments which occur within the broadcast content to which a customer device has tuned and also to select advertising content to provide to the customer premise device to be used as an alternative to broadcast advertising content communicated in the broadcast content stream in advertising segments. The time and length of the broadcast advertisement segments which occur in the content to which a device is tuned can be used by the control device in determining when it should unicast alternative advertising content directed to a device from which a tuning message was received. For example, alternative advertising content may be broadcast for each advertisement segment of a program with the content corresponding to an advertisement segment beginning to be transmitted slightly before or at the start of an advertisement segment with the some of the alternative content being transmitted in many cases during the time period of the advertising segment to which the alternative content corresponds. Thus, buffering or storage of alternative content can be minimized and a customer device can switch between outputting the broadcast advertisement and the unicast content by treating the unicast content as an alternative channel or content source with the customer premise device being able to switch between outputting the broadcast content and unicast alternative content in real time. Alternative advertising content in at least some embodiments will continue to be transmitted to a customer premise device for the duration of a broadcast program which is ongoing at the time a tuning message is received from the customer premise device and normally of the following broadcast program as well assuming a new tuning message or a power off message is not received from the customer premise device before the end of the program or subsequent broadcast program.

Operation proceeds from step710to step712. In step712the control device selects alternative advertisement content based on customer information about the customer corresponding to the customer premise device. In some embodiments the selection of alternative advertisement content is further based on broadcast content being broadcast on the channel to which the customer premise device is tuned. In some embodiments the selection of alternative advertisement content is further based on a time of the day, month and/or year when the alternative advertisement content is being selected for supplying. In some embodiments the selection of alternative advertisement content is further based on the combination of one or more of the above discussed factors.

Operation proceeds from step712to step714. In step714the control device transmits the alternative advertisement content via unicast transmissions directed to the customer premise device to be output by the customer premise device in place of advertising content, corresponding to one or more broadcast advertisement segments, received by the customer premise device via the broadcast channel. In some embodiments at least some alternative advertisement content to be output is transmitted during a broadcast advertisement segment in which the alternative advertisement content is to be displayed. Thus it should be appreciated that in some embodiments the transmission of alternative advertisement content via unicast IP transmission occurs in real time during the advertisement segments. In some embodiments the step of transmitting alternative advertisement content includes step716wherein the control device transmits a unicast IP packet stream including unicast packets including a destination IP address corresponding to a device located at a customer premise where the customer premise device is located. In some embodiments the device located at the customer premise is one of a gateway device or the customer premise device. For example in some embodiments the destination IP address corresponds to a gateway device such as gateway124located at customer premise104where customer premise devices, e.g., STB110and114, are located. In some such embodiments the alternative advertising content is transmitted via the unicast IP packet stream to the gateway device. The gateway device processes the alternative advertisement content and provides it to the customer device for output as discussed below. The gateway device may, and in some embodiments does, use a MAC address or other device identifier included in the received unicast packets to identify the customer device to which the unicast alternative adverting content is directed. The gateway device may then transrate and/or transcode the content prior to communicating the alternative unicast content to the customer premise device over a home network which exists between the gateway and customer premise device in some embodiments.

Rather than rely on a gateway device to receive and forward content to the customer premise device to which a received tuning message corresponds, if the customer premise device supports unicast IP packet streams the device can receive and process the unicast advertising content stream directed to it without the need for a gateway device to receive and forward the uicast content stream to the customer premise device to which it is directed.

Operation proceeds from step714to steps718and720which are performed asynchronously. In step718the gateway device receives the alternative advertisement content included in the unicast IP packets included in said unicast IP packet stream from the control device. The gateway device is operated to transcode or transrate the received alternative advertising content. Operation proceeds to step722. In step722the gateway device transmits the transcoded or transrated advertising content to the customer premise device, e.g., STB, via a home network such as home network120. In accordance with the features of the invention the customer premise device outputs the alternative advertising content in place of the advertising content during one or more advertising segments within the broadcast content being output on the broadcast channel to which the customer device is tuned to. Operation continues in this manner as indicated by the loop back from step722back to704.

Returning to step720. Step720in some embodiments is performed following the transmission of the alternative advertising content from the control device as discussed in steps714and716. In step720which is performed on an ongoing basis the control device monitors for additional signals/messages relating to the customer premise device. Operation proceeds to step724. In step724it is determined if a message indicating power off of a tuner of the customer premise device is received. In some embodiments such a power off indication message is sent when the user turns off the customer premise device. The power off indication message in some embodiments is communicated by customer device via the gateway device. For example when the gateway device located at the customer premise detects that customer premise device, e.g., STB, is turned off and/or detects a period of inactivity beyond some threshold time period, the gateway device may send the power off indication message to the control device. In some other embodiments the power off indication message is communicated directly by the customer premise device to a device/server in the headend102. If it is determined that such a power off indication message is received, the operation proceeds to step726. In step726the control device ceases to transmit alternative advertising content in unicast IP packets directed to the customer premise device, e.g., in response to receiving a signal indicating that the customer premise device has powered off its tuner.

If in step724it is determined that the tuner power off indication message is not received, the operation proceeds from step724to step728. In step728it is determined if a message indicating a customer device's tuning to a different broadcast channel is received, e.g., indicating that the customer premise device is tuned to a different broadcast channel. If it is determined that the customer premise device has tuned to a different broadcast channel the operation proceeds from step728to step710and the operation continues with various steps710through728being repeated. If it is determined that the customer premise device has not tuned to a different broadcast channel the operation proceeds from step728back to the monitoring step720. Thus it should be appreciated that in various embodiments the control device transmits alternative advertisement content via unicast IP packets for the advertisement segments of a program being broadcast at the time the tuning message (such as the one discussed in step706) is received absent receipt of a message indicating tuning to a different broadcast channel or powering off of a tuner of said customer premise device.

As should be appreciated the number of unicast IP content streams providing alternative content to individual devices tuned to a broadcast channel may become quite large and may involve use of significant communications resources. To minimize upstream signaling overhead which can be important with older devices which do not support large upstream communications channels, while still trying to maintain efficient use of resources which are available for communicated targeted advertisement content to individual customer premise devices, in some embodiments the control device will continue to cause targeted advertisements to be sent to a customer premise device for a predetermined period of time after receiving a tuning message from the customer premise device absent receipt of another tuning message or a power off message. In some embodiments the predetermined period of time is the time, i.e., broadcast time period, of a program on the channel to which the device has tuned at the time indicated in the received tuning message. In other embodiments the predetermined time corresponds to the duration of the current broadcast program and subsequent broadcast program on the channel to which the customer tuned. Thus, at the end of a program alternative advertisement content may, and in some embodiments is, automatically stopped without the need for the receipt of a signal from the customer premise device. Such an approach provides a reasonable tradeoff, in some embodiments, between the number of upstream signals and the amount of downstream bandwidth which may be wasted if the control device in the headend fails to promptly detect that a device is no longer tuned to a broadcast channel or has become inactive.

FIG. 8illustrates an exemplary control device800implemented in accordance with an exemplary embodiment. The exemplary control device800can be, and in some embodiments is, used as the IP capable control server160and/or the IP capable VOD server154shown inFIG. 1. In some embodiments the control device800is configured to implement at least some of the steps of the method of flowchart700. In accordance with one aspect of some embodiments the exemplary control device800transmits alternative advertising content via unicast IP packets communicated via a second communications channel, directed to the customer premise device, e.g., STB, at a customer premise. In accordance with the features of some embodiments a gateway device located at the customer premise receives and processes the received unicast IP packet stream communicating the alternative advertising content and supplies it to the the customer devices, e.g., STB.

As shown, the control device800includes an input/output (I/O) interface802, an input device804, a processor806, and a memory910coupled together via a bus808. The various elements of the control device800can exchange data and information over the bus808.

The I/O interface802includes a transmitter812and a receiver814. In some embodiments via the I/O interface802the control device800is coupled to the network interface168of the headend102via which alternative advertising content and other information is communicated over communications network170to the devices located at the customer premises. Furthermore via the I/O interface802, the control device800can exchange signals and/or information with other devices and/or system elements such as the servers in the network headend102over the local network166of system100. The control device800is configured to receive, e.g., via the receiver814of interface802, a tuning message including tuning information indicating a broadcast channel to which a customer premise device is tuned and information identifying the customer premise device. In some embodiments the control device800is further configured to receive, e.g., via the receiver814of interface802, a power off indication signal indicating that a customer premise device has powered off its tuner. It should be appreciated that while the tuning message with tuning information and the power off indication message originates from the customer premise device, in various embodiments the control device800receives such messages via the gateway device or another device/server.

The input device804may be a keypad, touch screen, and/or other device for receiving and processing input commands/instructions. The processor806, e.g., a CPU, executes control routines822and one or more modules to control the control device800to operate in accordance with the invention and implement one or more steps of the method of flowchart700. Thus to control the operation of control device800, the processor806uses information, various modules and/or routines including instructions stored in memory810.

In addition to the routines822, the memory810includes a monitoring module824, a message processing module826, a customer identification module828, advertisement segments determination830, an alternative advertisement selection module832, a determination module834, a transmission control module836, received customer premise device information838, customer device to customer mapping information840, and selected alternative advertisement content842. Routines822include communications routines and/or device control routines.

The monitoring module826is configured to monitor for messages and/or signals from other devices, e.g., customer premise devices. The message processing module826is configured to process various messages and/or signals received by the control device800, e.g., via the interface802, e.g., such as the tuning message discussed in step706of flowchart706. In various embodiments the processing module is further configured to processes power off indication message and the tuning message discussed above with regard to flowchart700. Thus the message processing module826is configured to process the received messages and/or signals and provide information to the processor806and/or one or more other modules to take further action in response to the received messages.

The customer identification module828is configured to identify a customer associated with the customer premise device which is tuned to the broadcast channel. In some embodiments the customer identification module828uses the customer device to customer mapping information840stored in the control device800to identify the customer that is associated with the customer premise device from which the tuning information is received. In some embodiments the control device800may seek customer information from the customer database162in order to identify the customer associated with the customer premise device.

The advertisement segment determination module830is configured to determine when advertisement segments occur within the broadcast content on the broadcast channel (indicated by the received tuning information) to which the customer premise device is tuned. In some embodiments the advertisement segment determination module830detects indicators and/or identifiers of upcoming commercial break segments within the broadcast content on the broadcast channel to determine when the advertisement segments occur. The alternative advertisement content selection module832is configured to select alternative advertisement content based on customer information about the customer corresponding to the customer premise device. In some embodiments the selection module832performs the selection of alternative advertisement content further based on broadcast content being broadcast on the channel to which the customer premise device is tuned. In some embodiments the selection of alternative advertisement content is further based on a time of the day, month and/or year when the alternative advertisement content is being selected for supplying. In some embodiments the selection of alternative advertisement content is further based on the combination of one or more of the above discussed factors.

The determination module834is configured to determine if a power off indication message indicating power off of a tuner of the customer premise device is received by the control device800. The power off indication message in some embodiments is received via the gateway device. The determination module834is further configured to determine if a message indicating a customer device's tuning to a different broadcast channel is received, e.g., indicating that the customer premise device is tuned to a different broadcast channel that the earlier received tuning message.

The transmission control module836in some embodiments is configured to send a message to the gateway device indicating that alternative advertising content for one or more advertisement segments is available for delivery via a secondary communications channel different than a broadcast channel to which the customer premuise device, e.g., STB, is tuned. In various embodiments the transmission control module836controls the transmitter812to transmit alternative advertisement content via unicast transmissions directed to the customer premise device to be output by the customer premise device in place of advertising content, corresponding to one or more broadcast advertisement segments, received by the customer premise device via the broadcast channel. In some embodiments at least some alternative advertisement content to be output is transmitted during a broadcast advertisement segment in which the alternative advertisement content is to be displayed. In some embodiments the transmission control module836controls the transmitter812to transmit a unicast IP packet stream including unicast IP packets including a destination IP address corresponding to a device located at a customer premise where the customer premise device is located. In some embodiments the device located at the customer premise is the gateway device. The gateway device processes the alternative advertisement content and provides it to the customer premise device, e.g., STB, for output.

In various embodiments the determination module834is configured to provide the results of determination to the transmission control module836, e.g., to control advertisement transmission related functions. In some embodiments when the determination module834determines that a power off indication message is received it provides this information to the transmission control module836and the transmission control module836controls the transmitter812to cease transmitting alternative advertising content in unicast IP packets directed to the customer premise device. In some embodiments when it is determined that the customer premise device has tuned to a different broadcast channel, the transmission control module836stops transmitting the alternative advertisement content that was selected for replacing advertising content in the advertisement segments which occur on the other broadcast channel to which the customer device was tuned to earlier.

Received customer device information838includes the identification and/or capability information corresponding to the customer premise device received from the customer premise device, e.g., via the gateway or from another device/server. The selected alternative advertisement content842includes packetized alternative advertisement content selected by the selection module832in accordance with the invention, which has been packetized for transmission.

It should be appreciated that the methods and apparatus allow an advertiser to be informed of customer device tuning and thus viewing information in real time while allowing an advertiser to act on such information and supply highly targeted alternative advertising content via a unicast content delivery stream for customers of interest to the advertiser without having to send alternative advertising content to other customers in the local vicinity or even build as the targeted customer or targeted customer premise device, e.g., set top box.

In some embodiments various modules in the devices400,500,600,800are implemented fully in hardware, e.g., as individual circuits, within a processor of the corresponding device400,500,600,800. In other embodiments some of the modules are implemented, e.g., as circuits, within the device processor (e.g., processor406, or508, or608or806) with other modules being implemented, e.g., as circuits, external to and coupled to the processor. Alternatively, in some other embodiments rather than being implemented as circuits, all or some of the modules may be implemented in software and stored in the memory of the devices400,500,600,800with the modules controlling operation of the corresponding device to implement the functions corresponding to the modules when the modules are executed by a processor, e.g., such as processor508of customer device500.

In still other embodiments, various modules are implemented as a combination of hardware and software, e.g., with a circuit external to the processor providing input to the processor which then under software control operates to perform a portion of a module's function.

While each device inFIGS. 4, 5, 6 and 8respectively is shown to include a single processor, e.g., computer, within the device, it should be appreciated that the processor may be implemented as one or more processors, e.g., computers. When implemented in software, the modules include code, which when executed by the processor of the corresponding device, configure the processor, e.g., computer, to implement the function corresponding to the module. In some embodiments, the processor included in the corresponding device is configured to implement each of the modules.

One particular embodiment is directed to a system for providing advertising content to a playback device, comprising an interface including a receiver configured to receive a tuning message including tuning information from a customer premise device indicating a broadcast channel to which the customer premise device is tuned and information identifying the customer premise device; an advertisement segment determination module configured to determine when advertisement segments occur within the broadcast content on the indicated broadcast channel to which the customer premise device has tuned; and a transmitter, included in said interface, configured to transmit alternative advertisement content via unicast transmissions directed to said customer premise device to be output by said customer premise device in place of advertising content, corresponding to one or more broadcast advertisement segments, received by said customer premise device via said broadcast channel. The particular exemplary system further includes, in some embodiments, a customer identification module configured to identify a customer associated with said customer premise device; and a selection module configured to select said alternative advertisement content based on customer information about said customer which is used for advertisement targeting purposes.

Completely hardware based or completely software based modules may be used. However, it should be appreciated that any combination of software and hardware (e.g., circuit implemented) modules may be used to implement the functions. As should be appreciated, the modules included in the devices illustrated inFIGS. 5 and 6control and/or configure the corresponding devices500and600respectively or elements therein such as the corresponding processor to perform the functions of the steps illustrated and/or described in the method of flowcharts200and300. Similarly the modules included the device illustrated inFIG. 8control and/or configure the corresponding device800or elements therein such as the corresponding processor to perform the functions of one or more steps illustrated and/or described in the method of flowchart700.

In some embodiments a detection regarding a commercial break can be made in various manners, for example, in some embodiments a customer device receiving the content stream including a program and advertising content uses digital advertisement insertion tones/signals that exist in the content steam to determine where the commercial break (e.g., advertisement) starts and ends. In some embodiments the content stream includes upcoming commercial break indicators. These are just some examples to facilitate understanding of some of the many various embodiments supported by the methods and apparatus of the invention and are not intended to be limiting in nature.

Various embodiments have been discussed above. It should be appreciated that the invention is not intended to be limited by the exemplary embodiments which are to facilitate an understanding of the invention and its many possible applications.

In various embodiments system elements described herein are implemented using one or more modules which are used to perform the steps corresponding to one or more methods of the present invention, for example, receiving content, e.g., including program content and advertisements, via a first channel, outputting content received via the first channel to a display device etc. In the above described methods, in some embodiments, each step may be performed by one or more different software instructions executed by a computer processor, e.g., a central processing unit (CPU). At least one system implemented in accordance with the present invention includes a means for implementing each of the various steps which are part of the methods of the present invention. Each means may be, e.g., an instruction, processor, hardware circuit and/or combination of elements used to implement a described step.

Many of the above described methods or method steps can be implemented using machine, e.g., computer, executable instructions, such as software, included in a non-transitory machine, e.g., computer, readable medium used to control a machine, e.g., general purpose computer with or without additional hardware, to implement all or portions of the above described methods, e.g., in one or more nodes. The machine readable medium may be, e.g., a memory device, e.g., RAM, floppy disk, etc. Accordingly, among other things, the present invention is directed to a machine-readable medium including machine executable instructions for causing a machine, e.g., processor and associated hardware, to perform one or more of the steps of the above-described method(s).

Numerous additional embodiments, within the scope of the present invention, will be apparent to those of ordinary skill in the art in view of the above description and the claims which follow.