Dynamic advertisement stream replacement
First Claim
Patent Images
1. A method to be performed by a content server, the method comprising:
- maintaining profile information associated a plurality of mobile devices;
maintaining a plurality of replacement advertisement streams;
monitoring activity associated with the plurality of mobile devices, wherein monitoring activity includes maintaining information about what advertisements have already been viewed on the mobile devices;
receiving a plurality of live media streams from the plurality of content providers;
receiving a first request for a first live media stream from a first mobile device and a second request for the first live media stream from a second mobile device;
identifying a default advertisement stream in the first live media stream;
selecting a first replacement advertisement stream and a second replacement advertisement stream from the advertisement database;
removing and replacing the default advertisement stream in the first live media stream with the first replacement advertisement stream obtained using profile information associated with the first mobile device and removing and replacing the default advertisement stream in the first live media stream with the second replacement advertisement stream obtained using profile information associated with the second mobile device, wherein the first replacement advertisement stream is inserted in first live media stream based on an advertisement marker flag set in a header field, the marker flag being a single bit configured to indicate whether the packet is part of media content or part of an advertisement, wherein replacement advertisement packets corresponding to the replacement advertising stream are dynamically inserted as default advertisement packets are removed;
transmitting the first live media stream to the first mobile device and the second live media stream to the second mobile device;
wherein the content server is configured to ensure that the last packet before the removed default advertisement stream is either an I frame or a P frame and that the first frame of any replacement stream is an I frame such that the replacing advertising streams is seamless;
wherein the content server is further configured to maintain a current sequence number per RTP data stream;
wherein sequence numbers in the first live media stream transmitted to the first mobile device following insertion of the first replacement advertisement stream are modified and maintained to be different from sequence numbers in the first live media stream transmitted to the second mobile device following insertion of the second replacement advertisement streamwherein if sequence information corresponding to the first or second replacement advertisement stream is different from the default advertising streams being replaced, the sequence information corresponding to the first or second replacement advertisement stream is modified to allow seamless client device operation;
wherein in addition to sequence numbers being modified, timestamps are also separately modified to reflect changes in streaming time based on the change in the number of packets, wherein for audio encodings, timestamps are modified by incrementing the timestamps by the packetization interval multiplied by an audio sampling rate.
5 Assignments
0 Petitions
Accused Products
Abstract
Mechanisms are provided for replacing default advertisement streams in a media stream with replacement advertisement streams. User profile information is obtained for a particular user and/or device. A default advertisement stream is identified and replaced with advertisement streams selected using the user profile information. Timestamp information and sequence number information is maintained to allow uninterrupted delivery of the modified media stream while customizing media streams for particular users.
-
Citations
21 Claims
-
1. A method to be performed by a content server, the method comprising:
-
maintaining profile information associated a plurality of mobile devices; maintaining a plurality of replacement advertisement streams; monitoring activity associated with the plurality of mobile devices, wherein monitoring activity includes maintaining information about what advertisements have already been viewed on the mobile devices; receiving a plurality of live media streams from the plurality of content providers; receiving a first request for a first live media stream from a first mobile device and a second request for the first live media stream from a second mobile device; identifying a default advertisement stream in the first live media stream; selecting a first replacement advertisement stream and a second replacement advertisement stream from the advertisement database; removing and replacing the default advertisement stream in the first live media stream with the first replacement advertisement stream obtained using profile information associated with the first mobile device and removing and replacing the default advertisement stream in the first live media stream with the second replacement advertisement stream obtained using profile information associated with the second mobile device, wherein the first replacement advertisement stream is inserted in first live media stream based on an advertisement marker flag set in a header field, the marker flag being a single bit configured to indicate whether the packet is part of media content or part of an advertisement, wherein replacement advertisement packets corresponding to the replacement advertising stream are dynamically inserted as default advertisement packets are removed; transmitting the first live media stream to the first mobile device and the second live media stream to the second mobile device; wherein the content server is configured to ensure that the last packet before the removed default advertisement stream is either an I frame or a P frame and that the first frame of any replacement stream is an I frame such that the replacing advertising streams is seamless; wherein the content server is further configured to maintain a current sequence number per RTP data stream; wherein sequence numbers in the first live media stream transmitted to the first mobile device following insertion of the first replacement advertisement stream are modified and maintained to be different from sequence numbers in the first live media stream transmitted to the second mobile device following insertion of the second replacement advertisement stream wherein if sequence information corresponding to the first or second replacement advertisement stream is different from the default advertising streams being replaced, the sequence information corresponding to the first or second replacement advertisement stream is modified to allow seamless client device operation; wherein in addition to sequence numbers being modified, timestamps are also separately modified to reflect changes in streaming time based on the change in the number of packets, wherein for audio encodings, timestamps are modified by incrementing the timestamps by the packetization interval multiplied by an audio sampling rate. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. An apparatus, comprising memory configured to maintain computer code for:
-
maintaining profile information associated a plurality of mobile devices; maintaining a plurality of replacement advertisement streams; monitoring activity associated with the plurality of mobile devices, wherein monitoring activity includes maintaining information about what advertisements have already been viewed on the mobile devices; receiving a plurality of live media streams from the plurality of content providers; receiving a first request for a first live media stream from a first mobile device and a second request for the first live media stream from a second mobile device; identifying a default advertisement stream in the first live media stream; selecting a first replacement advertisement stream and a second replacement advertisement stream from the advertisement database; removing and replacing the default advertisement stream in the first live media stream with the first replacement advertisement stream obtained using profile information associated with the first mobile device and removing and replacing the default advertisement stream in the first live media stream with the second replacement advertisement stream obtained using profile information associated with the second mobile device, wherein the first replacement advertisement stream is inserted in first live media stream based on an advertisement marker flag set in a header field, the marker flag being a single bit configured to indicate whether the packet is part of media content or part of an advertisement, wherein replacement advertisement packets corresponding to the replacement advertising stream are dynamically inserted as default advertisement packets are removed; transmitting the first live media stream to the first mobile device and the second live media stream to the second mobile device; wherein the apparatus is configured to ensure that the last packet before the removed default advertisement stream is either an I frame or a P frame and that the first frame of any replacement stream is an I frame such that the replacing advertising streams is seamless; wherein the apparatus is further configured to maintain a current sequence number per RTP data stream; wherein sequence numbers in the first live media stream transmitted to the first mobile device following insertion of the first replacement advertisement stream are modified and maintained to be different from sequence numbers in the first live media stream transmitted to the second mobile device following insertion of the second replacement advertisement stream wherein if sequence information corresponding to the first or second replacement advertisement stream is different from the default advertising streams being replaced, the sequence information corresponding to the first or second replacement advertisement stream is modified to allow seamless client device operation; wherein in addition to sequence numbers being modified, timestamps are also separately modified to reflect changes in streaming time based on the change in the number of packets, wherein for audio encodings, timestamps are modified by incrementing the timestamps by the packetization interval multiplied by an audio sampling rate. - View Dependent Claims (9, 10, 11, 12)
-
-
13. A system, comprising:
-
a server configured to monitor activity associated with a plurality of mobile devices and maintain profile information associated with the plurality of mobile devices, wherein monitoring activity includes maintaining information about what advertisements have already been viewed on the mobile devices; an advertisement database configured to maintain a plurality of replacement advertisement streams; a content server configured to receive a plurality of live media streams from the plurality of content providers, receive a first request for a first live media stream from a first mobile device and a second request for the first live media stream from a second mobile device, identify a default advertisement stream in the first live media stream, select a first replacement advertisement stream and a second replacement advertisement stream from the advertisement database, remove and replace the default advertisement stream in the first live media stream with the first replacement advertisement stream obtained using profile information associated with the first mobile device, remove and replace the default advertisement stream in the first live media stream with the second replacement advertisement stream obtained using profile information associated with the second mobile device, and transmit the first live media stream to the first mobile device and the second live media stream to the second mobile device, wherein the first replacement advertisement stream is inserted in first live media stream based on an advertisement marker flag set in a header field, the marker flag being a single bit configured to indicate whether the packet is part of media content or part of an advertisement, wherein the content server is configured to ensure that the last packet before the removed default advertisement stream is either an I frame or a P frame and that the first frame of any replacement stream is an I frame such that the replacing advertising streams is seamless, wherein replacement advertisement packets corresponding to the replacement advertising stream are dynamically inserted as default advertisement packets are removed; wherein sequence numbers in the first live media stream transmitted to the first mobile device following insertion of the first replacement advertisement stream are modified and maintained to be different from sequence numbers in the first live media stream transmitted to the second mobile device following insertion of the second replacement advertisement stream, wherein the content server is further configured to maintain a current sequence number per RTP data stream, wherein if sequence information corresponding to the first or second replacement advertisement stream is different from the default advertising streams being replaced, the sequence information corresponding to the first or second replacement advertisement stream is modified to allow seamless client device operation; wherein in addition to sequence numbers being modified, timestamps are also separately modified to reflect changes in streaming time based on the change in the number of packets, wherein for audio encodings, timestamps are modified by incrementing the timestamps by the packetization interval multiplied by an audio sampling rate. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21)
-
Specification