A streaming server and a method are described herein for providing a content stream with advertisements embedded therein through a network (e.g., IP network, CDN network, wireless network) to a client (e.g., personal computer, a mobile phone, a tablet, or a HTTP capable television).

Patent
   RE47612
Priority
Oct 07 2011
Filed
Nov 20 2017
Issued
Sep 17 2019
Expiry
Oct 07 2031
Assg.orig
Entity
Large
1
14
currently ok
0. 27. A method for use in a system for providing a content stream to a client via a network, the method comprising:
receiving a content stream, which may or may not contain advertising markers embedded therein, the advertising markers indicating where advertisements are to be placed in the content stream;
determining if the content stream contains any of the advertising markers;
segmenting the content stream into a plurality of content stream segments, wherein, when the advertising markers are present, the advertising markers remain in the content stream segments;
when the content stream segments do not contain advertising markers, generating a manifest based on the content stream segments not containing advertising markers;
when the content stream segments contain advertising markers, determining if demographic information associated with the client is available;
when the content stream segments contain advertising markers and the demographic information associated with the client is available, generating the manifest based on the content stream segments and the advertisements, the advertisements to be included in the manifest determined based at least in part on the demographic information associated with the client;
when the content stream segments contain advertising markers and the demographic information associated with the client is unavailable, generating the manifest based on the content stream segments and the advertisements, the advertisements to be included in the manifest determined from generic advertisements or local advertisements; and
providing the content stream based on the manifest;
wherein, when the content stream segments contain advertising markers, the manifest indicates timing of when to insert the advertisements relative to the content stream segments so that the content stream can be played in consecutive order.
23. A system for providing a content stream with advertisements embedded therein through a network to a client, the system comprising:
a content provider;
a streaming server;
the streaming server is programmed to:
receive a request from the client to play the content stream;
receive the content stream which may or may not contain advertising markers embedded therein;
segment the content stream into a plurality of content stream segments where the advertising markers when present remain in the content stream segments, wherein the advertising markers indicate where advertisements are to be placed in the content stream;
determine if the content stream segments contain advertising markers embedded therein;
(a) when the content stream segments are determined not to contain advertising markers build a content manifest based on the content stream segments not containing advertising markers;
(b) when the content stream segments are determined to contain advertising markers the streaming server is further programmed to:
(i) determine if the client has demographic information stored in a database;
(ii) review the content stream segments to identify the advertising markers;
(iii) identify the advertisements to be associated with the advertising markers based at least in part on the stored demographic information if any;
(iv) adjust time codes of references to the content stream segments and the advertisements so they are consecutive time codes; and
(v) generate a content-advertisement manifest that includes the references of each of the content stream segments and the advertisements; and
send the content manifest to the client when the content stream segments are determined not to contain advertising markers embedded therein and send the content-advertisement manifest to the client when the content stream segments are determined to contain advertising markers embedded therein.
0. 26. A system for providing a content stream to a client via a network, the system comprising at least one processor programmed to execute instructions stored in memory, whereby the system is configured to:
receive a content stream, which may or may not contain advertising markers embedded therein, the advertising markers indicating where advertisements are to be placed in the content stream;
determine if the content stream contains any of the advertising markers;
segment the content stream into a plurality of content stream segments, wherein, when the advertising markers are present, the advertising markers remain in the content stream segments;
when the content stream segments do not contain advertising markers, generate a manifest based on the content stream segments not containing advertising markers;
when the content stream segments contain advertising markers, determine if demographic information associated with the client is available;
when the content stream segments contain advertising markers and the demographic information associated with the client is available, generate the manifest based on the content stream segments and the advertisements, the advertisements to be included in the manifest determined based at least in part on the demographic information associated with the client;
when the content stream segments contain advertising markers and the demographic information associated with the client is unavailable, generate the manifest based on the content stream segments and the advertisements, the advertisements to be included in the manifest determined from generic advertisements or local advertisements; and
provide the content stream based on the manifest;
wherein, when the content stream segments contain advertising markers, the manifest indicates timing of when to insert the advertisements relative to the content stream segments so that the content stream can be played in consecutive order.
1. A streaming server for providing a content stream with advertisements embedded therein through a network to a client, the streaming server comprising system for providing a content stream to a client via a network, the system comprising at least one processor programmed to execute instructions stored in memory, whereby the system is configured to:
a server comprising an input interface programmed toreceive a request from the client to play the content stream;
a segmenting unit programmed to (i) receive the content stream which may or may not contain advertising markers embedded therein and (ii);
segment the content stream into a plurality of content stream segments where the advertising markers when present remain in the content stream segments, wherein the advertising markers indicate where advertisements are to be placed in the content stream; and
the server further comprising:
a processing unit programmed to determine if the content stream segments contain advertising markers embedded therein; wherein
(a) when the content stream segments are determined not to contain advertising markers the processing unit is programmed to the system is configured to build a content manifest based on the content stream segments not containing advertising markers;
(b) when the content stream segments are determined to contain advertising markers the processing unit is programmed to the system is configured to:
(i) determine if the client has demographic information stored in a database;
(ii) review the content stream segments to identify the advertising markers;
(iii) identify the advertisements to be associated with the advertising markers based at least in part on the stored demographic information if any;
(iv) adjust time codes of references to the content stream segments and the advertisements so they are consecutive time codes; and
(v) generate a content-advertisement manifest that includes the references of each of the content stream segments and the advertisements; and
an output interface programmed to the system further configured to (i) send the content manifest to the client when the content stream segments are determined not to contain advertising markers embedded therein and (ii) send the content-advertisement manifest to the client when the content stream segments are determined to contain advertising markers embedded therein.
12. A method implemented by a streaming server for providing a content stream with advertisements embedded therein through a network to a client, the method comprising the steps of:
receiving, by the streaming server, a request from the client to play the content stream;
receiving, by the streaming server, the content stream which may or may not contain advertising markers embedded therein;
segmenting, by the streaming server, the content stream into a plurality of content stream segments where the advertising markers when present remain in the content stream segments, wherein the advertising markers indicate where advertisements are to be placed in the content stream;
determining, by the streaming server, if the content stream segments contain advertising markers embedded therein;
(a) when the content stream segments are determined not to contain advertising markers building by the streaming server a content manifest based on the content stream segments not containing advertising markers;
(b) when the content stream segments are determined to contain advertising markers the streaming server performs the following steps:
(i) determining if the client has demographic information stored in a database;
(ii) reviewing the content stream segments to identify the advertising markers;
(iii) identifying the advertisements to be associated with the advertising markers based at least in part on the stored demographic information if any;
(iv) adjusting time codes of references to the content stream segments and the advertisements so they are consecutive time codes; and
(v) generating a content-advertisement manifest that includes the references of each of the content stream segments and the advertisements; and
sending, by the streaming server, the content manifest to the client when the content stream segments are determined not to contain advertising markers embedded therein or sending, by the streaming server, the content-advertisement manifest to the client when the content stream segments are determined to contain advertising markers embedded therein.
2. The streaming server of claim 1 system of claim 26, wherein the content stream segments contain video packets and audio packets which have matching time codes, and the system is further configured to match the timing of the video packets and the audio packets based on the matching time codes.
3. The streaming server of claim 1, wherein the segmenting unit receives the content stream as a multi-program transport stream format then the segmenting unit is programmed to system of claim 26, wherein the system is further configured to extrapolate the a multi-program transport stream format of the content stream into multiple single-program stream formats in which each single-program stream format is segmented into a plurality of content stream segments.
4. The streaming server of claim 1, wherein the segmenting unit receives system of claim 26, wherein the content stream as comprises a video-on-demand stream, a broadcast live stream, a broadcast linear stream, or a time shifted-startover stream.
5. The streaming server of claim 1 system of claim 26, wherein the processing unit interfaces system is further configured to interface with an advertisement decision management system to identify the advertisements.
6. The streaming server system of claim 5, wherein the processing unit uses the system is further configured to use a Society of Cable Telecommunications Engineers (SCTE) 130 to interface with the advertisement decision management system to identify the advertisements.
7. The streaming server of claim 5, wherein the advertisements are selected based on information associated with the client system of claim 26, wherein the system is configured to obtain the demographic information associated with the client from a database and the demographic information associated with the client indicates one or more of a user's age, gender, income, hobbies, interests, pets, children, food preferences, or employment.
8. The streaming server of claim 7 system of claim 26, wherein the information includes at least one of demographic information and advertisements to be included in the manifest are determined based at least in part on location information associated with the client.
9. The streaming server of claim 1 system of claim 26, wherein the advertising markers are Society of Cable Telecommunications Engineers (SCTE) 35s, or Avail Markers identified in Extensible Markup Language (XML).
10. The streaming server of claim 1 system of claim 26, wherein the client is one of a personal computer, a mobile phone, a tablet, or a Hypertext Transfer Protocol (HTTP) capable television.
11. The streaming server of claim 1 system of claim 26, wherein the advertising markers are located at boundaries between the segments.
13. The method of claim 12 27, wherein the content stream segments contain video packets and audio packets which have matching time codes, and wherein the method further comprises matching the timing of the video packets and the audio packets based on the matching time codes.
14. The method of claim 12 27, wherein if the content stream is a multi-program transport stream format then extrapolating the multi-program transport stream into multiple single-program stream formats in which each single-program stream format is segmented into a plurality of content stream segments.
15. The method of claim 12 27, wherein the content stream is a video-on-demand stream, a broadcast live stream, a broadcast linear stream, or a time shifted-startover stream.
16. The method of claim 12, wherein the identifying step further 27, wherein determining the advertisements to be included in the manifest comprises the step of interfacing with an advertisement decision management system to identify the advertisements.
17. The method of claim 16, wherein a Society of Cable Telecommunications Engineers (SCTE) 130 is used to interface with the advertisement decision management system to identify the advertisements.
18. The method of claim 16, wherein the advertisements are selected based on information associated with the client 27, further comprising:
obtaining the demographic information associated with the client from a database, wherein the demographic information associated with the client indicates one or more of a user's age, gender, income, hobbies, interest, pets, children, food preferences, or employment.
19. The method of claim 18 27, wherein the information includes at least one of demographic information and the advertisements to be included in the manifest are determined based at least in part on location information associated with the client.
20. The method of claim 12 27, wherein the advertising markers are Society of Cable Telecommunications Engineers (SCTE) 35s, or Avail Markers identified in Extensible Markup Language (XML).
21. The method of claim 12 27, wherein the client is one of a personal computer, a mobile phone, a tablet, or a Hypertext Transfer Protocol (HTTP) capable television.
22. The method of claim 12 27, wherein the advertising markers are located at boundaries between the segments.
24. The system of claim 23, further comprising:
an advertisement decision management system;
a demographic data base for storing demographic information associated with the client; and
at least one advertising data base for storing the advertisements.
25. The system of claim 23, wherein the advertising markers are located at boundaries between the segments.
adjust time codes of references to the content stream segments and the advertisements so they are consecutive time codes, In accordance with certain embodiments, the segmenting unit 112 is configured to receive the content stream 124 from the content provider 104 in a multi-program transport stream format and to extrapolate the multi-program transport stream format into multiple single-program stream formats in which each single-program stream format is segmented into a plurality of content stream segments.

The processing unit 118 is configured to review the segments 1261, 1262 . . . 126n to identify the advertising markers 125 (step 4). For example, the processing unit 118 can identify the advertising markers 125 by reading an advertising marker data stream (e.g., SCTE 35 data stream) which is multiplexed into the transport stream 124 along with the video and audio content streams. For example, the SCTE 35 data stream includes SCTE 35 markers 125 which generally occur up to 10 seconds before a splice point where an advertisement is to be played and can occur several times up to the splice point. The advertising markers 125 include time information for the splice start time duration or a start and end time to perform the splice. The processing unit 118 upon identifying the advertising markers 125 then sends a query 128 (e.g., SCTE 130) to the advertising decision management system 110 to identify the specific advertisements 1301, 1302 . . . 130n which are to be used in response to the advertising markers 125 (step 5). In one example, the processing unit 118 sends a query 128 including information about the client 102 to the advertising decision management system 110 which then decides what advertisements 1301, 1302 . . . 130n to use in response to the advertising markers 125 based on individual client information (e.g., demographics, location). Thereafter, the processing unit 118 is configured to generate a manifest 132 that includes a reference 1341, 1342 . . . 134n to each of the segments 1261, 1262 . . . 126n and the advertisements 1301, 1302 . . . 130n (step 6). Alternatively, the processing unit 114 can be configured to generate a master manifest which includes multiple manifests 132 each of which are associated with a different bit rate of the content stream 124. Finally, the output interface 120 is configured to send the manifest 132 (or master manifest) to the client 102 which is configured to use references 1341, 1342 . . . 134n in the manifest 132 to retrieve and playback the segments 1261, 1262 . . . 126n and advertisements 1301, 1302 . . . 130n associated with the content stream 124 (step 7). The client 102 may receive the content stream 124′ as a linear single bit rate content stream 124′, a multi-bit rate content stream 124′, a time shifted-startover stream 124′, or a VOD content stream 124′.

Referring to FIG. 2, there is a flowchart illustrating the steps of an exemplary method 200 implemented by the streaming server 106 to provide a content stream 124′ with advertisements embedded therein to a client 102 in accordance with an embodiment of the present invention. At step 202, the streaming server 106 receives a request 122 from the client 102 to play a content stream 124. At step 204, the streaming server 106 requests and receives the content stream 124 from the content provider 104 (e.g., broadcast network 104, VOD provider 104, content store 104). The content stream 124 has advertising markers 125 (e.g., SCTE 35s 126) embedded therein which indicate where advertisements are to be placed in the content stream 124. At step 206, the streaming server 106 segments the content stream 124 into a plurality of segments 1261, 1262 . . . 126n where the advertising markers 125 remain in the segments 1261, 1262 . . . 126n. At step 208, the streaming server 106 reviews the segments 1261, 1262 . . . 126n to identify the advertising markers 125. For example, the processing unit 118 can identify the advertising markers 125 by 125 an advertising marker data stream (e.g., SCTE 35 data stream) which is multiplexed into the transport stream 124 along with the video and audio content streams. For example, the SCTE 35 data stream includes SCTE 35 markers 125 which generally occur up to 10 seconds before a splice point where an advertisement is to be played and can occur several times up to the splice point. The advertising markers 125 include time information for the splice start time duration or a start and end time to perform the splice. At step 210, the streaming server 106 upon identifying the advertising markers 125 identifies the specific advertisements 1301, 1302 . . . 130n which are to be used in response to the advertising markers 125 by sending a query 128 (e.g., SCTE 130) to the advertising decision management system 110. In one example, the processing unit 114 sends a query 128 including information about the client 102 to the advertising decision management system 110 which then decides what advertisements 1301, 1302 . . . 130n to use in response to the advertising markers 125 based on individual client information (e.g., demographics, location). At step 212, the streaming server 106 generates a manifest 132 that includes a reference 1341, 1342 . . . 134n to each of the segments 1261, 1262 . . . 126n and the advertisements 1301, 1302 . . . 130n. Alternatively, the streaming server 106 can be configured to generate a master manifest which includes multiple manifests 132 each of which are associated with a different bit rate of the content stream 124. At step 214, the streaming server 106 sends the manifest 132 (or master manifest) to the client 102 which is configured to use references 1341, 1342 . . . 134n in the manifest 132 to retrieve and playback the segments 1261, 1262 . . . 126n and advertisements 1301, 1302 . . . 130n associated with the content stream 124′. The client 102 may receive a content stream 124′ as a linear single bit rate content stream 124′, a multi-bit rate content stream 124′, a time shifted-strartover stream 124′, or a VOD content stream 124′.

Referring to FIG. 3, there is a diagram of an exemplary system 300 including the streaming server 106 configured to insert advertisements in a content stream 124 (e.g., multi-bit rate content stream 124) provided to a client 102a in a client broadcast environment in accordance with an embodiment of the present invention. In this example, the content stream 124 (mpeg data 124) with advertising markers 125 (e.g., SCTE 35 markers) is received from an adaptive streaming friendly encoder/transcoder 302 via a content provider 104 (broadcast network 104) and then fed into the streaming server's segmenting unit 112 in response to a request from a particular client 102a. The resulting adaptive content stream 124′ along with the relevant advertisements 1301, 1302 . . . 130n is fed to the particular client 102a as the mpeg content stream 124 is received by the streaming server 106. The advertisements 1301, 1302 . . . 130n are chosen based on demographic and/or location information of the particular client 102a, if available. The exemplary system 300 includes the following components:

    • Adaptive Streaming Clients 102: personal computers, mobile phones/tablets, http capable televisions, etc.
    • Adaptive Streaming Friendly Encoder/Transcoder 302: preserves all advertising markers 125 (e.g., SCTE35 markers) when encoding/transcoding the content stream 124 (e.g., broadcast network UDP/multicast feed with SCTE 35 splice point messages) received from the content provider 104 (e.g., broadcast network 104). The advertising markers 125 can be SCTE 35, Avail Markers identified in XML with time codes associated with ad insertion/replacements start and end times or any other means of defining ad insertion/replacement times.
    • Adaptive Streaming Server 106: handles segmenting the content stream 124 received from the adaptive streaming friendly encoder/transcoder 302 and produces the manifest 132 for the finished content stream 124′.
    • IP Network/CDN Network/Wireless Network 108: handles transmitting the finished adaptive content stream 124′ to the requesting client 102a.
    • Advertisement Decision Management System 110: decides what advertisements 1301, 1302 . . . 130n based on a query (e.g. SCTE130) for individual client information (demographics, location, etc.) to put in the content stream 124 in response to advertisement markers 125 (e.g., SCTE 35 markers).
    • User Demographic Information Database 304: the database which contains demographic information associated with the client(s) 102. For example, the demographic information may include the age, gender, income, hobbies, interests, pets, children, food preferences, employment, etc. of the client(s) 102.
    • Advertisement Video/Audio Databases 3061, 3062, . . . 306N: stores the mpeg stream corresponding to the advertisements 1301, 1302 . . . 130n. The advertisements 1301, 1302 . . . 130n can be stored anywhere, so long as the Ad Decision Campaign Management System 110 has access to them.

The exemplary system 300 may include many other well known components but for clarity those well known components are not described herein while the components 102, 106, 108, 110, 302, 304, and 3061, 3062 . . . 306N which are relevant to the invention have been described. The exemplary system 300 is configured to provide a finished adaptive content stream 124′ with advertisements 1301, 1302 . . . 130n embedded therein to a requesting client 102a as follows:

    • 1. Client 102a (for example) transmits their authentication (user details) and location when requesting a content stream 124.
    • 2. The original mpeg content stream 124 is delivered in real time to the adaptive streaming servers 106 for processing.
    • 3. The adaptive streaming server 106 processes one or more advertising messages 125 and queries (e.g., SCTE 130) the advertisement decision management system 110 about what advertisements to include.
    • 4. The advertisement decision campaign management system 110 queries the user demographic information database 304 to find out the demographics of the requesting client 102a.
    • 5. The streaming server 106 sends the resulting manifest 132 (metadata file 132) to the requesting client 102a.
    • 6. The segments 1261, 1262 . . . 126n from the original content stream 124 are requested by and sent to the client 102a (which is utilizing the manifest 132) from where they are temporarily stored within the adaptive streaming server 106.
    • 7. The segments from the advertising content 1301, 1302 . . . 130n are requested by and sent to the client 102a (which is utilizing the manifest 132) from the particular advertisement video/audio database 3061, 3062 . . . 306N within which they are stored.

Referring to FIG. 4, there is a diagram of an exemplary system 400 including the streaming server 106 configured to insert advertisements in a content stream 124 (e.g., multi-bit rate content stream 124, single bit rate content stream 124) provided to a client 102a in a VOD environment in accordance with an embodiment of the present invention. In this example, the content stream 124 (mpeg data 124) with advertising markers 125 (e.g., SCTE35 markers) is received from a content provider 104 (content store 104, back office 104) and stored locally, and then fed into the streaming server's segmenting unit 112 in response to a request from a particular client 102a. The resulting adaptive content stream 124′ is fed to the particular client 102a, along with the relevant advertisements 1301, 1302 . . . 130n. The advertisements 1301, 1302 . . . 130n are chosen based on demographic and/or location information of the particular client 102, if available. The exemplary system 400 includes the following components:

    • Streaming Clients 102: personal computers, mobile phones/tablets, http capable televisions, etc.
    • Streaming Server 106: handles segmenting the content stream 124 received from the content provider 104 and produces the manifest 132 for the finished content stream 124′.
    • IP Network/CDN Network/Wireless Network 108: handles transmitting the finished adaptive content stream 124′ to the requesting client 102a.
    • Advertisement Decision Management System 110: decides what advertisements 1301, 1302 . . . 130n based on individual client information (demographics, location, etc.) to put in the content stream 124 in response to advertisement markers 125 (e.g., SCTE 35 markers). The advertising markers 125 can be SCTE 35, Avail Markers identified in XML with time codes associated with ad insertion/replacements start and end times or any other means of defining ad insertion/replacement times.
    • User Demographic Information Database 402: the database which contains demographic information associated with the client(s) 102. For example, the demographic information may include the age, gender, income, hobbies, interests, pets, children, food preferences, employment, etc. of the client(s) 102.
    • Advertisement Video/Audio Databases 4041, 4042 . . . 404N: stores the mpeg stream corresponding to the advertisements 1301, 1302 . . . 130n. The advertisements 1301, 1302 . . . 130n can be stored anywhere, so long as the Ad Decision Campaign Management System 110 has access to them.

The exemplary system 400 may include many other well known components but for clarity those well known components are not described herein while the components 102, 106, 108, 110, 402, and 4041, 4042 . . . 406N which are relevant to the invention have been described. The exemplary system 400 is configured to provide a finished adaptive content stream 124′ with advertisements 1301, 1302 . . . 130n embedded therein to a requesting client 102a as follows:

    • 1. Client 102a (for example) transmits their authentication (user details) and location when requesting a VOD content stream 124.
    • 2. The streaming server 106 asks (e.g. SCTE130) the advertisement decision management system 110 what ads to include for the particular requested VOD content stream 124.
    • 3. The advertisement decision campaign management system 110 queries the user demographic information database 402 to find out the demographics of the requesting client 102a.
    • 4. The streaming server 106 sends a request to the content provider 104 (CDN or content store 104) to obtain the VOD file to process using existing protocols such as http, rtmp, rtsp, etc.
    • 5. The streaming server 106 sends a request to the content provider 104 (back office 104) to obtain and process the advertising markers 125 (e.g., SCTE 35 markers). For example, the SCTE 35 markers will be in an advertising data stream multiplexed into the transport stream with the audio and video content. In the case of Avail Markers, the advertising data stream could be an embedded in XML associated with the VOD content per the Cablelabs specification (see www.cablelabs.org.)
    • 6. The streaming server 106 sends the resulting manifest 132 (metadata file 132) to the requesting client 102a.
    • 7. The segments 1261, 1262 . . . 126n from the original content stream 124 are requested by and sent to the client 102a (which is utilizing the manifest 132) from where they are temporarily stored within the adaptive streaming server 106.
    • 8. The segments from the advertising content 1301, 1302 . . . 130n are requested by and sent to the client 102a (which is utilizing the manifest 132) from the particular advertisement video/audio database 3061, 3062 . . . 306N within which they are stored.

Referring to FIG. 5, there is a flowchart illustrating the steps of an exemplary method 500 implemented by the streaming server 106 for retrieving a content stream 124 and building a manifest 132 in accordance with an embodiment of the present invention. At step 502, the streaming server 106 receives a request 122 from client 102 to view the content stream 124 where the request 122 includes user authentication information with possibly GPS location or IP address information. At step 504, the streaming server 106 determines if the content stream 124 contains advertising markers 125 (e.g., SCTE 35 markers). If the result of step 504 is no, then the streaming server 106 at step 506 builds the manifest 132 based on the broadcast or VOD content stream 124. If the result of step 504 is yes, then the streaming server 106 at step 508 determines if the authenticated client 102 has demographic information stored in a user demographic information database 304 or 402. If the result of step 508 is no, then the streaming server 106 at step 510 ascertains if able to determine the location of the authenticated client 102. For example, the streaming server 106 can determine the location of the authenticated client 102 based on GPS information, triangulation or IP address lookup. If the result of step 510 is no, then the streaming server 106 at step 512 builds the manifest 132 based on the broadcast or VOD content stream 124 and generic advertisements 1301, 1302 . . . 130n. If the result of step 510 is yes, then the streaming server 106 at step 514 builds the manifest 132 based on the broadcast or VOD content stream 124 and local advertisements 1301, 1302 . . . 130n associated with the location of the client 102. If the result of step 508 is yes, then the streaming server 106 at step 516 ascertains if able to determine the location of the authenticated client 102. If the result of step 516 is no, then the streaming server 106 at step 518 builds the manifest 132 based on the broadcast or VOD content stream 124 and advertisements 1301, 1302 . . . 130n associated with the demographics of the client 102. If the result of step 516 is yes, then the streaming server 106 at step 520 builds the manifest 132 based on the broadcast or VOD content stream 124 and advertisements 1301, 1302 . . . 130n associated with the location and demographics of the client 102.

From the foregoing, the skilled person having the foregoing teaching will readily appreciate that a system has been disclosed which includes a streaming server 106 composed of a segmenting unit 112 and other devices that takes in a mpeg content stream 124, pays attention to advertising markers 125 (e.g., SCTE 35 markers), and composes a content stream 124′ which is comprised of both original stream content and advertisements. For example, the streaming server 106 would build a manifest 132 which alternatively references both content and advertisements. In one example, the advertisements can be selected by interfacing (e.g. SCTE 130) with an advertisement decision management system 110 (such as Ericsson's “AdPoint” system). The streaming server 106 could work for both single bit-rate and multi-bit rate VOD, broadcast live, liner broadcast, or time-shifted/startover streams, as necessary. The streaming server's 106 ability to allow advertising markers 125 (e.g., SCTE35 markers) to apply to the http streaming technologies and http adaptive streaming technologies has many advantages. For example, the streaming server 106 allows video providers (both of VOD and broadcast) to use existing infrastructure (such as targeted ad systems) to populate advertisements in near real time. Additionally, the streaming server 106 allows targeted advertisements in broadcast where traditionally all clients 102 see the same advertisements, regardless of demographics.

Although multiple embodiments of the present invention have been illustrated in the accompanying Drawings and described in the foregoing Detailed Description, it should be understood that the invention is not limited to the disclosed embodiments, but instead is also capable of numerous rearrangements, modifications and substitutions without departing from the present invention that as has been set forth and defined within the following claims.

Martin, Steve, Phillips, Chris, Reynolds, Jennifer, Forsman, Bob, Dasher, Charles

Patent Priority Assignee Title
11509972, Jul 09 2019 DOLBY INTERNATIONAL AB Method and device for personalization of media data for playback
Patent Priority Assignee Title
9066115, Jul 29 2011 ARRIS ENTERPRISES LLC Structuring dynamic advertisement breaks in video manifest files
20020147782,
20070014544,
20100114983,
20100131969,
20110102600,
20110110515,
20120047542,
20120116883,
20120194534,
20120198492,
20150019629,
EP2618534,
WO2010107627,
/////////
Executed onAssignorAssigneeConveyanceFrameReelDoc
Oct 06 2011PHILLIPS, CHRISEricsson Television IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0489130367 pdf
Oct 07 2011FORSMAN, BOBEricsson Television IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0489130367 pdf
Oct 07 2011DASHER, CHARLESEricsson Television IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0489130367 pdf
Oct 07 2011REYNOLDS, JENNIFEREricsson Television IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0489130367 pdf
Oct 07 2011MARTIN, STEVEEricsson Television IncASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0489130367 pdf
Nov 14 2014Ericsson Television IncEricsson ABASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0495870758 pdf
Nov 20 2017Ericsson AB(assignment on the face of the patent)
Apr 09 2024Ericsson ABTELEFONAKTIEBOLAGET L M ERICSSON PUBL ASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0677290586 pdf
Apr 09 2024TELEFONAKTIEBOLAGET LM ERICSSON PUBL NOVACLOUD LICENSING LLCASSIGNMENT OF ASSIGNORS INTEREST SEE DOCUMENT FOR DETAILS 0685220499 pdf
Date Maintenance Fee Events
Nov 20 2017BIG: Entity status set to Undiscounted (note the period is included in the code).
May 24 2023M1552: Payment of Maintenance Fee, 8th Year, Large Entity.


Date Maintenance Schedule
Sep 17 20224 years fee payment window open
Mar 17 20236 months grace period start (w surcharge)
Sep 17 2023patent expiry (for year 4)
Sep 17 20252 years to revive unintentionally abandoned end. (for year 4)
Sep 17 20268 years fee payment window open
Mar 17 20276 months grace period start (w surcharge)
Sep 17 2027patent expiry (for year 8)
Sep 17 20292 years to revive unintentionally abandoned end. (for year 8)
Sep 17 203012 years fee payment window open
Mar 17 20316 months grace period start (w surcharge)
Sep 17 2031patent expiry (for year 12)
Sep 17 20332 years to revive unintentionally abandoned end. (for year 12)