System and method for digital program insertion in cable systems
10911836 ยท 2021-02-02
Assignee
Inventors
Cpc classification
H04N21/26241
ELECTRICITY
H04N21/454
ELECTRICITY
H04N21/60
ELECTRICITY
H04N21/8455
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/458
ELECTRICITY
H04N21/633
ELECTRICITY
H04N21/23424
ELECTRICITY
H04N21/44016
ELECTRICITY
International classification
H04N21/262
ELECTRICITY
H04N21/234
ELECTRICITY
H04N21/222
ELECTRICITY
H04N21/438
ELECTRICITY
H04N21/60
ELECTRICITY
H04N21/633
ELECTRICITY
H04N21/44
ELECTRICITY
H04N21/2668
ELECTRICITY
H04N21/845
ELECTRICITY
H04N21/458
ELECTRICITY
H04N21/454
ELECTRICITY
Abstract
Alternative approaches to the insertion of local commercials and messages into networks feeds are provided. Embodiments include digital commercial insertion for cable operators and others that not only offer more flexibility and features, but may also be significantly cheaper to implement. The actual insert of the local commercial or message into the digital program is performed by a standard set top box, with several methods of providing the local commercial to the set top box at the proper insertion time. Another embodiment allows a cable operator to significantly save on equipment in the form of splicers and ad inserters, by allowing easy and dynamic mapping of local commercials to insertion zones.
Claims
1. A method comprising: receiving a first media stream comprising information indicating an insertion point in the first media stream for insertion of a plurality of local advertisements associated with a plurality of insertion zones; determining available bandwidth in a network associated with the plurality of insertion zones; determining, based on the determined available bandwidth, a portion of the plurality of local advertisements that can be served by the determined available bandwidth; generating, based on the information and the determined portion, a plurality of second media streams that each comprise at least one local advertisement of the portion; and mapping, to one or more insertion zones of the plurality of insertion zones, output of a second media stream, of the plurality of second media streams, that is associated with the one or more insertion zones, to cause: sending, to the one or more insertion zones, the second media stream, and display of the at least one local advertisement at a time indicated by the information.
2. The method of claim 1, wherein the plurality of second media streams comprise at least an MPEG transport stream.
3. The method of claim 1, wherein the at least one local advertisement is multiplexed into the second media stream.
4. The method of claim 1, wherein the at least one local advertisement is stored in a database.
5. The method of claim 1, wherein the determined available bandwidth indicates a number of local advertisements that can be inserted into the plurality of second media streams.
6. The method of claim 1, wherein the plurality of second digital media steams further comprise information indicating the time.
7. The method of claim 1, wherein the plurality of insertion zones comprise at least one computing device configured to cause the display of the at least one local advertisement by one or more reception devices.
8. A device comprising: one or more processors; and memory storing instructions that, when executed by the one or more processors, cause the device to: receive a first media stream comprising information indicating an insertion point in the first media stream for insertion of a plurality of local advertisements associated with a plurality of insertion zones; determine available bandwidth in a network associated with the plurality of insertion zones; determine, based on the determined available bandwidth, a portion of the plurality of local advertisements that can be served by the determined available bandwidth; generate, based on the information and the determined portion, a plurality of second media streams that each comprise at least one local advertisement of the portion; and map, to one or more insertion zones of the plurality of insertion zones, output of a second media stream, of the plurality of second media streams, that is associated with the one or more insertion zones, to cause: sending, to the one or more insertion zones, the second media stream, and display of the at least one local advertisement at a time indicated by the information.
9. The device of claim 8, wherein the plurality of second media streams comprise at least an MPEG transport stream.
10. The device of claim 8, wherein the at least one local advertisement is multiplexed into the second media stream.
11. The device of claim 8, wherein the at least one local advertisement is stored in a database.
12. The device of claim 8, wherein the determined available bandwidth indicates a number of local advertisements that can be inserted into the plurality of second media streams.
13. The device of claim 8, wherein the plurality of second digital media steams further comprise information indicating the time.
14. The device of claim 8, wherein the plurality of insertion zones comprise at least one computing device configured to cause the display of the at least one local advertisement by one or more reception devices.
15. A non-transitory computer-readable storage medium storing computer-readable instructions that, when executed by a processor, cause: receiving a first media stream comprising information indicating an insertion point in the first media stream for insertion of a plurality of local advertisements associated with a plurality of insertion zones; determining available bandwidth in a network associated with the plurality of insertion zones; determining, based on the determined available bandwidth, a portion of the plurality of local advertisements that can be served by the determined available bandwidth; generating, based on the information and the determined portion, a plurality of second media streams that each comprise at least one local advertisement of the portion; and mapping, to one or more insertion zones of the plurality of insertion zones, output of a second media stream, of the plurality of second media streams, that is associated with the one or more insertion zones, to cause: sending, to the one or more insertion zones, the second media stream, and display of the at least one local advertisement at a time indicated by the information.
16. The non-transitory computer-readable storage medium of claim 15, wherein the plurality of second media streams comprise at least an MPEG transport stream.
17. The non-transitory computer-readable storage medium of claim 15, wherein the at least one local advertisement is multiplexed into the second media stream.
18. The non-transitory computer-readable storage medium of claim 15, wherein the at least one local advertisement is stored in a database.
19. The non-transitory computer-readable storage medium of claim 15, wherein the determined available bandwidth indicates a number of local advertisements that can be inserted into the plurality of second media streams.
20. The non-transitory computer-readable storage medium of claim 15, wherein the plurality of second digital media steams further comprise information indicating the time.
Description
BRIEF DESCRIPTION OF THE DRAWINGS
(1) The foregoing and other features and advantages of the present invention will be more fully understood from the following detailed description of illustrative embodiments, taken in conjunction with the accompanying drawings in which:
(2)
(3)
(4)
(5)
(6)
(7)
(8)
(9)
(10)
(11)
(12)
(13)
DETAILED DESCRIPTION
(14) The present invention provides a novel solution to allowing local insertion of content, typically local commercials or ads, into the digital feed for cable operators and other distributors. The present invention may be implemented at several different locations along the delivery process, either in one location or distributed along the delivery stream. Although the present invention is described in terms of commercials and ads, the present invention can be used for insertion of any specific media, such as messages intended for a local audience, or even customized parts of generic commercials, such as the insertion of a local store location at the end of a generic commercial.
(15) An illustrative embodiment of the present invention focusing on using Set-top boxes for insertion shall now be described. In this approach, the insertion (splicing) of commercial messages is pushed down to the individual digital set-top boxes 44 as illustrated in
(16) The Client Ad Server 40 stores commercials for later play out. Typically such commercials are already in digital form, and compressed. The Client Ad Server 40 also communicates with the Traffic & Billing system 42 so that it understands which commercials are schedule for each local avail. Whenever the Client Ad Server 40 detects a digital insert message (e.g. SCTE 35 message) in the stream 33, it does the following: Locates a commercial that should be inserted in this break, and play it out exactly in sync with the avail (either in the same multiplex, or on a separate multiplex, as described below). Either passes through the digital insert messages to the set-top boxes 44 downstream, or alternatively replaces them with similar switch messages specifically designed to be handled by set-top boxes 44.
(17) The Set-top boxes 44 are typically ordinary set top boxes, which include special switching logic, typically in the form of an embedded software application. This embedded software may be installed the Set-top boxes 44, or alternatively downloaded to the Set-top boxes 44 through the digital feed 35 or otherwise. The software detects switch messages in the stream 35, and uses them to switch to a local commercial during the insertion break. More specifically, in accordance with an illustrative embodiment, at the beginning of an avail the Set-top boxes 44 will switch to the local commercial, and at the end of a specified length of time they will switch back to the program feed 35.
(18) When the Client Ad Server 40 plays out the local commercial exactly in sync with the local avail of the program it needs to be inserted into, there are two options for provided the commercial to the set-top boxes 44. The first option is shown in
(19) This approach requires some bandwidth to be reserved in every multiplex 45 that carries digital programs 46 that need local ad insertion. The amount of bandwidth depends on how many overlapping local breaks 50 can occur amongst the digital program feeds 46 within the multiplex 35, in the example there are two reserved feeds 42 so its is possible to handle up to two overlapping avails 50. Other numbers of reserved feeds 42 are possible and within the scope of the invention. Further, there is some room for optimization beyond the number for reserved feeds 42, for example it may be a good idea to concentrate the most valuable program feeds 46 in few multiplexes 45 that have a relatively high number of reserved feeds (for example, four), whereas the less valuable program feeds 46 are carried in multiplexes 45 with lower number of reserved feeds. This would have the effect that the chances of losing an avail on valuable feeds 46 is less than loosing an avail on a less valuable network 46.
(20) The second option is shown in
(21) The regular program feeds contain local avails 50. Precisely during each of these local avails, the feeder channel Mux-4 will carry the local commercial 52 so that the set-top boxes can switch to and switch from it at the beginning and end of the avail 50 respectively.
(22) The feeder channel can either be a fully dedicated multiplex/QAM (Quadrature Amplitude Modulation), but it can also be a reserved part of a multiplex/QAM that is partly also used for other services. The amount of bandwidth that has to be reserved in the feeder channel depends on how many overlapping local avails the operator wants to be able to handle with this system. This allocation can be fine-tuned by the cable operator as a trade off between bandwidth and returns.
(23) Each of these embodiments has certain advantages. The first embodiment, within the multiplex 45 has the advantage very simple implementation in set-top box, and can do a cleaner (seamless) splice even with basic set-top boxes. However, it tends to use more bandwidth and may require more sophistication at the head-end, because of the need for re-multiplexing instead of simple play out. The second embodiment, using a feeder channel, has optimal bandwidth efficiency. However it may require more integration in set-top box software (for example, the need to access the tuner). Also, a seamless splice is somewhat more difficult, however this can be fixed by having black frames around the commercial. It is also possible to mix both approaches to achieve the best combination of simplicity, bandwidth efficiency, and other features for a general solution, and also specific requirements.
(24) Focusing now on the Client Ad Server 40, there are a number of different options on the number and location of Client Ad Servers 40 in the cable operators network. In a first centralized example, consider a cable operator in a market that has 50 insertion zones, and 40 networks feeds that require local commercial insertion. We assume that the cable operator uses the Feeder Channel approach to preserve bandwidth. The cable operator may decide to use 40 Client Ad Servers (one for each network feed) and place them at a central location in the system (for example the Master Control Center) to feed all insertion zones.
(25) Now let's look at a local avail 50
(26) Turning now to a decentralized option, the system can be implemented with a Client Ad Server 40 per insertion zone (so for this example, fifty in total). In the same local insertion example (ESPN, ten commercials) each of the Client Ad Servers 40 will only insert one commercial 52 in the Feeder Channel (namely the one that is intended for its specific insertion zone), as illustrated in
(27) A final example shown in
(28) An advantage of this setup is only one Client Ad Server 40 is needed per network feed, and the Set Top Box does not need specific (zone dependent) instructions for picking the proper local commercial.
(29) An illustrative implementation is a cascaded approach with a feeder channel. In this implementation, a single Client Ad Server Unit (CASU) 60 is installed at a central location in the cable operators network (e.g. at the Master Control Center). The CASU 60
The CASU 60 functions as follows: There is an interface 64 for loading new local commercials onto the CASU 60, and removing commercials off of the CASU 60 when they are no longer needed. Local commercials are loaded in digitized form and stored 68. This interface can be driven by an asset management system, or by a local operator. Local commercials are given a unique identifier when loaded on the CASU. The T&B System 42 has a dedicated interface for loading scheduling information into the CASU 60. This information basically defines which local commercial needs to be inserted in which feed under which conditions (time, etc.). The CASU 60 stores this scheduling information in its internal schedule database 66. Up to forty network program feeds 46 can enter the CASU 60. Although forty feeds 46 were chosen because cable operators typically insert into forty networks only, this selection is arbitrary and can be any number of feeds. These feeds 46 may contain digital insert messages to signal a local avail. The CASU 60 will pass through the feeds and whenever there is a local avail, it will access its internal database 66 to determine which local commercials need to be inserted, and play these commercials on the Central Feeder Channel output port 62 exactly during the local avail. In addition it may also be necessary to send some additional information to the set-top boxes downstream (either by inserting additional information in the program feeds, or otherwise), this information may include where in the central feeder channel 62 the local commercials are played out. The forty input feeds, forty output feeds, and central feeder channel output feed can physically be mapped on connectors such as DVB-ASI, DVB-DHEI, or any other interface. It is also possible to map/combine multiple logical inputs and/or outputs into one physical connector. The CASU 60 will also manage bandwidth of the central feeder channel. For example if the system only has bandwidth to deal with <n> overlapping local commercials, and there actually are more than <n> overlapping commercials scheduled, it may either request additional bandwidth or select the <n> local commercials that can be served. It can do that based on simple First-Come-First-Served selection, or based upon more sophisticated algorithms that select the commercials with the highest value.
(30) A second useful component of this system is a Filter Unit 56
(31) Another component of this system is a software application that resides in the set-top box 44. The application can be resident or downloadable, it does not have a user interface, does not need a return channel per se, and performs the following functions: When started the application goes into passive mode and starts listening to digital insert messages in the current program feed. Whenever an insert message is detected, the location of the local commercial in the local feeder channel is retrieved. Examples of retrieval include providing the commercial with the insertion message, or the commercial can be communicated to the set top box separately. The application retunes the set-top box to that local commercial at the start of the local avail, and tunes back to the original program feed at the end of the local avail. Typically, this will all be transparent to the user.
(32) Another embodiment of the present invention is based on the notion that the current network topology (with individual inserters per insertion zone) is in many cases may be overkill.
(33) This setup gives the cable operator the ability to insert (in a given local avail) a unique and different local commercial in each insertion zone. In reality however, in most cases the cable operator will either insert the same local commercial in all zones, or only a limited set of different local commercials mapped on the various insertion zones (for example in a market with fifty insertion zones, there may be five different commercials, the first going to zones 1-10, the second one going to zones 11-20, etc.). Another way of saying this is that in the traditional setup of ad insertion (such as in
(34) An alternative setup for digital program insertion according on an embodiment of the present invention is shown in
The system operates as follows: The T&B System 42 communicates scheduling information to the controller 70, who stores this in its internal database. Whenever there is a local avail, the splicers 34 will detect it (through the presence of digital insertion messages) and inform the controller 76. The controller 76 will then determine which local commercials need to be inserted in which insertion zones, and assign each unique local commercial to exactly one splicer/ad-server 34, 36 pair. The controller 76 will also program the switch 70 so that the output of each splicer 34 is mapped to the correct insertion zones.
(35) Because of time and scheduling, the controller 76 typically will know in advance when a local avail is coming up, and can preprogram the switch 70 to divide up the interzones by appropriate splicer 34. This setup may be left in place until a next local avail comes up which has a different combination of commercials or insertion zones. Since the splicers 34 are passive when not inserting local commercials, the system will run normally during normal broadcast, no matter how switch 70 has mapped the splicers 34 to insertion zones.
(36) This embodiment is flexible with respect to the choice of the maximum number of unique commercials. Obviously a lower number will create greater cost savings but will also limit flexibility. If in a system with fifty insertion zones (n=50) it would be acceptable to set the maximum number of unique commercials to ten (m=10), this system would create an 80% cost savings on splicer/ad-server pairs when compared with the traditional setup. Further, it is expandable on an incremental basis.
(37) In this embodiment, some of the components may be combined into other physical system components. For example the programmable switch 70 may be a separate unit, or integrated with the controller 76, or even be an integral part of the network (depending on what network is used to distribute program feeds to the insertion zones, this may already be a feature that is built into that network). It should be noted that it is also possible to combine these various approaches to create unique trade offs between investment, features, etc. It should be noted that the present invention can be combined with features described in other pending commonly owned patent applications, including U.S. patent application Ser. No. 09/735,983, entitled Seamless Switching and filed on Dec. 13, 2000; U.S. patent application Ser. No. 10/369,047, entitled Seamless Switching and filed on Feb. 19, 2003; U.S. patent application Ser. No. 10/192,192, entitled System And Method For Seamless Switching Of Compressed Audio Streams and filed on Jul. 9, 2002; U.S. patent application Ser. No. 10/423,280, entitled System And Method For Optimized Channel Switching In Digital Television Broadcasting and filed on Apr. 25, 2003; and U.S. patent application Ser. No. 10/991,674, entitled System And Method For Optimized Encoding And Transmission Of A Plurality Of Substantially Similar Video Fragments and filed on Nov. 18, 2004; which are fully incorporated here by reference.
(38) Although this description is written from the perspective of a cable operator, it is straightforward to apply the same approaches to other network operators as well (for example broadcast networks with affiliates, cable networks with local reception points at head-ends, etc.).
(39) Although the invention has been shown and described with respect to illustrative embodiments thereof, various other changes, omissions and additions in the form and detail thereof may be made therein without departing from the spirit and scope of the invention.