Scalable watermark insertion for fragmented media stream delivery
First Claim
Patent Images
1. A method, comprising:
- receiving a media stream;
fragmenting the media stream into a plurality of fragments including a first fragment and a second fragment, wherein each fragment in the plurality of fragments contains the information needed to create a URL corresponding to a next fragment;
generating a plurality of watermark variants of the plurality of fragments including a first watermark variant first fragment (V1F1) and a second watermark variant first fragment (V2F1) and a first watermark variant second fragment (V1F2) and a second watermark variant second fragment (V2F2); and
sending a first sequence of fragments to a first client and a second sequence of fragment to a second client, the first sequence of fragments including the first watermark variant first fragment (V1F1) and the second watermark variant second fragment (V2F2) and the second sequence of fragments including the second watermark variant first fragment (V2F1) and the first watermark variant second fragment (V1F2), wherein a particular sequence V1F1 and V2F2 identifies the first client and a particular sequence V2F1 and V1F2 identifies the second client, wherein the first client is configured to access V2F2 using information included within V1F1 and wherein the second client is configured to access V1F2 using information included within V2F1.
5 Assignments
0 Petitions
Accused Products
Abstract
A media stream is delineated into multiple fragments. Different watermark variants of individual fragments are generated. Particular sequences of watermark variants are selected for particular clients and maintained in a user access database. Analyzing media streams allows determination of the sequences of watermark variants and identification of particular clients intended to receive the media streams. Fragments can continue to be cached efficiently and unique watermarks need not be generated for each individual client.
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving a media stream; fragmenting the media stream into a plurality of fragments including a first fragment and a second fragment, wherein each fragment in the plurality of fragments contains the information needed to create a URL corresponding to a next fragment; generating a plurality of watermark variants of the plurality of fragments including a first watermark variant first fragment (V1F1) and a second watermark variant first fragment (V2F1) and a first watermark variant second fragment (V1F2) and a second watermark variant second fragment (V2F2); and sending a first sequence of fragments to a first client and a second sequence of fragment to a second client, the first sequence of fragments including the first watermark variant first fragment (V1F1) and the second watermark variant second fragment (V2F2) and the second sequence of fragments including the second watermark variant first fragment (V2F1) and the first watermark variant second fragment (V1F2), wherein a particular sequence V1F1 and V2F2 identifies the first client and a particular sequence V2F1 and V1F2 identifies the second client, wherein the first client is configured to access V2F2 using information included within V1F1 and wherein the second client is configured to access V1F2 using information included within V2F1. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A system, comprising:
-
an input interface configured to receive a media stream; a processor configured to fragment the media stream into a plurality of fragments including a first fragment and a second fragment and generate a plurality of watermark variants of the plurality of fragments including a first watermark variant first fragment (V1F1) and a second watermark variant first fragment (V2F1) and a first watermark variant second fragment (V1F2) and a second watermark variant second fragment (V2F2), wherein each fragment in the plurality of fragments contains the information needed to create a URL corresponding to a next fragment; and an output interface configured to send a first sequence of fragments to a first client and a second sequence of fragment to a second client, the first sequence of fragments including the first watermark variant first fragment (V1F1) and the second watermark variant second fragment (V2F2) and the second sequence of fragments including the second watermark variant first fragment (V2F1) and the first watermark variant second fragment (V1F2), wherein a particular sequence V1F1 and V2F2 identifies the first client and a particular sequence V2F1 and V1F2 identifies the second client, wherein the first client is configured to access V2F2 using information included within V1F1 and wherein the second client is configured to access V1F2 using information included within V2F1. - View Dependent Claims (14, 15, 16, 17, 18, 19)
-
-
20. A non-transitory computer readable storage medium, comprising:
-
computer code for receiving a media stream; computer code for fragmenting the media stream into a plurality of fragments including a first fragment and a second fragment, wherein each fragment in the plurality of fragments contains the information needed to create a URL corresponding to a next fragment; computer code for generating a plurality of watermark variants of the plurality of fragments including a first watermark variant first fragment (V1F1) and a second watermark variant first fragment (V2F1) and a first watermark variant second fragment (V1F2) and a second watermark variant second fragment (V2F2); and computer code for sending a first sequence of fragments to a first client and a second sequence of fragment to a second client, the first sequence of fragments including the first watermark variant first fragment (V1F1) and the second watermark variant second fragment (V2F2) and the second sequence of fragments including the second watermark variant first fragment (V2F1) and the first watermark variant second fragment (V1F2), wherein a particular sequence V1F1 and V2F2 identifies the first client and a particular sequence V2F1 and V1F2 identifies the second client, wherein the first client is configured to access V2F2 using information included within V1F1 and wherein the second client is configured to access V1F2 using information included within V2F1.
-
Specification