Secure session-based video watermarking for online media streaming
AssigneeGoogle Inc.
InventorsHaoming Chen, Thomas Inskip, Kongqun Yang
Life of this patent
Estimating the term…
Abstract
A method includes generating a first media file that includes a plurality of first media file segments, generating a second media file as a copy of the first media file, the second media file includes a plurality of second media file segments, embedding a first watermark with the plurality of first media file segments, embedding at least one second watermark with the plurality of second media file segments, generating a manifest file based on a portion of the plurality of first media file segments and a portion of the plurality of second media file segments, the manifest file including a plurality of addresses each referencing a media file segment, and encrypting each of plurality of addresses.
Claims20
A method comprising:
- generating a first media file that includes a plurality of first media file segments;
- generating a second media file as a copy of the first media file, the second media file includes a plurality of second media file segments;
- embedding a first watermark with the plurality of first media file segments;
- embedding at least one second watermark with the plurality of second media file segments;
- generating a plurality of addresses, each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments;
- generating a manifest file based on a portion of the plurality of first media file segments and a portion of the plurality of second media file segments, the manifest file including the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments;
- and
- encrypting each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments included in the manifest file.
A non-transitory computer-readable storage medium having stored thereon computer executable program code which, when executed on a computer system, causes the computer system to perform steps comprising:
- generating, by a processor of the computer system, a first media file that includes a plurality of first media file segments;
- generating, by the processor, a second media file as a copy of the first media file, the second media file includes a plurality of second media file segments;
- embedding, by the processor, a first watermark with the plurality of first media file segments;
- embedding, by the processor, at least one second watermark with the plurality of second media file segments;
- generating, by the processor, a plurality of addresses, each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments;
- generating, by the processor, a manifest file based on a portion of the plurality of first media file segments and a portion of the plurality of second media file segments, the manifest file including the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments;
- and
- encrypting, by the processor, each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments included in the manifest file.
A Content Delivery Network (CDN), comprising:
- a memory configured to store:
- a first media file that includes a plurality of first media file segments, a second media file as a copy of the first media file, the second media file includes a plurality of second media file segments, and
- a manifest file;
- and
- a processor configured to:
- embed a first watermark with the plurality of first media file segments,
- embed at least one second watermark with the plurality of second media file segments,
- generate a plurality of addresses, each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments,
- generate the manifest file based on a portion of the plurality of first media file segments and a portion of the plurality of second media file segments, the manifest file including the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments,
- encrypt each of the plurality of addresses referencing one of the plurality of first media file segments or one of the plurality of second media file segments included in the manifest file,
- receive an encrypted address referencing one of the plurality of first media file segments or one of the plurality of second media file segments,
- decrypt the encrypted address,
- select one of the plurality of first media file segments or one of the plurality of second media file segments using the decrypted address, and
- communicate the one of the plurality of first media file segments or one of the plurality of second media file segments in response to receiving the encrypted address.
Dependencies are inferred from the claim text.