Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys
DC CAFCFirst Claim
1. A playback device for playing protected content from a plurality of alternative streams, comprising:
- a set of one or more processors; and
a non-volatile storage containing an application for causing the set of one or more processors to perform the steps of;
obtaining a top level index file identifying a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes partially encrypted video frames that are encrypted using a set of common keys comprising at least one key, and wherein the partially encrypted video frames contain encrypted portions and unencrypted portions of data;
obtaining a copy of the set of common keys;
detecting streaming conditions for the playback device;
selecting a stream from the plurality of alternative streams of protected video based on the detected streaming conditions;
receiving a container index that provides byte ranges for portions of the selected stream of protected video within an associated container file;
requesting portions of the selected stream of protected video based on the provided byte ranges;
locating encryption information that identifies encrypted portions of frames of video within the requested portions of the selected stream of protected video;
decrypting each encrypted portion of the frames of video identified within the located encryption information using the set of common keys; and
playing back the decrypted frames of video obtained from the requested portions of the selected stream of protected video.
5 Assignments
Litigations
1 Petition
Accused Products
Abstract
Systems and methods for performing adaptive bitrate streaming using alternative streams of protected content in accordance with embodiments of the invention are described. One embodiment of the invention includes a processor, and memory containing a client application. In addition, the client application configures the processor to: request a top level index file identifying a plurality of alternative streams of protected content, where each of the alternative streams of protected content are encrypted using common cryptographic information; obtain the common cryptographic information; request portions of content from at least the plurality of alternative streams of protected content; access the protected content using the common cryptographic information; and playback the content.
739 Citations
24 Claims
-
1. A playback device for playing protected content from a plurality of alternative streams, comprising:
-
a set of one or more processors; and a non-volatile storage containing an application for causing the set of one or more processors to perform the steps of; obtaining a top level index file identifying a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes partially encrypted video frames that are encrypted using a set of common keys comprising at least one key, and wherein the partially encrypted video frames contain encrypted portions and unencrypted portions of data; obtaining a copy of the set of common keys; detecting streaming conditions for the playback device; selecting a stream from the plurality of alternative streams of protected video based on the detected streaming conditions; receiving a container index that provides byte ranges for portions of the selected stream of protected video within an associated container file; requesting portions of the selected stream of protected video based on the provided byte ranges; locating encryption information that identifies encrypted portions of frames of video within the requested portions of the selected stream of protected video; decrypting each encrypted portion of the frames of video identified within the located encryption information using the set of common keys; and playing back the decrypted frames of video obtained from the requested portions of the selected stream of protected video. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 23)
-
-
12. A method for playing protected content from a plurality of alternative streams on a playback device, the method comprising:
-
obtaining a top level index file identifying a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes partially encrypted video frames that are encrypted using a set of common keys comprising at least one key, and wherein the partially encrypted video frames contain encrypted portions and unencrypted portions of data; obtaining a copy of the set of common keys; detecting streaming conditions for the playback device; selecting a stream from the plurality of alternative streams of protected video based on the detected streaming conditions; receiving a container index that provides byte ranges for portions of the selected stream of protected video within an associated container file; requesting portions of the selected stream of protected video based on the provided byte ranges; locating encryption information that identifies encrypted portions of frames of video within the requested portions of the selected stream of protected video; decrypting each encrypted portion of the frames of video identified within the located encryption information using the set of common keys; and playing back the decrypted frames of video obtained from the requested portions of the selected stream of protected video using a decoder. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 24)
-
Specification