Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
First Claim
1. A playback device, comprising:
- a processor;
memory containing a client application;
wherein the client application configures the processor to;
obtain a top level index file identifying a plurality of separate container files each containing one of a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes video frames that are encrypted using a common set of frame keys comprising a plurality of different frame keys, wherein each of the container files containing the alternative streams of protected video comprises (i) an encrypted copy of the common set of frame keys and (ii) a set of DRM information that identifies encrypted portions of the video frames and frame keys to utilize in accessing the encrypted portions of the video frames, and wherein the set of DRM information in each of the plurality of alternative streams of protected video references the same common set of frame keys;
obtain an encrypted copy of the common set of frame keys from a given container file and decrypt the encrypted copy of the common set of frame keys using a content key;
obtain a set of DRM information from the given container file;
obtain portions of protected video from the given container file containing one of the plurality of alternative streams of protected video;
decrypt encrypted video frames from the obtained portions of video using the decrypted copy of the common set of frame keys according to the obtained set of DRM information; and
playback the obtained portions of video.
5 Assignments
0 Petitions
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.
261 Citations
31 Claims
-
1. A playback device, comprising:
-
a processor; memory containing a client application; wherein the client application configures the processor to; obtain a top level index file identifying a plurality of separate container files each containing one of a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video includes video frames that are encrypted using a common set of frame keys comprising a plurality of different frame keys, wherein each of the container files containing the alternative streams of protected video comprises (i) an encrypted copy of the common set of frame keys and (ii) a set of DRM information that identifies encrypted portions of the video frames and frame keys to utilize in accessing the encrypted portions of the video frames, and wherein the set of DRM information in each of the plurality of alternative streams of protected video references the same common set of frame keys; obtain an encrypted copy of the common set of frame keys from a given container file and decrypt the encrypted copy of the common set of frame keys using a content key; obtain a set of DRM information from the given container file; obtain portions of protected video from the given container file containing one of the plurality of alternative streams of protected video; decrypt encrypted video frames from the obtained portions of video using the decrypted copy of the common set of frame keys according to the obtained set of DRM information; and playback the obtained portions of video. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method of performing adaptive bitrate streaming using a plurality of alternative streams of protected video, the method comprising:
-
obtaining a top level index file identifying a plurality of separate container files each containing one of a plurality of alternative streams of protected video using a playback device, wherein each of the alternative streams of protected video include video frames that are encrypted using a common set of frame keys comprising a plurality of different frame keys, and wherein each of the container files containing the alternative streams of protected video comprises (i) an encrypted copy of the common set of frame keys and (ii) a set of DRM information that identifies encrypted portions of the video frames and frame keys to utilize in accessing the encrypted portions of the video frames, and wherein the set of DRM information in each of the plurality of alternative streams of protected video references the same common set of frame keys; obtaining an encrypted copy of the common set of frame keys from a given container file and decrypting the encrypted copy of the common set of frame keys using a content key using the playback device; obtaining a set of DRM information from the given container file using the playback device; obtaining portions of video from the given container file containing one of the plurality of alternative streams of protected video using the playback device; decrypting encrypted video frames from the obtained portions of video using the playback device and the decrypted copy of the common set of frame keys according to the obtained set of DRM information; and playing back the obtained portions of video using the playback device. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A non-transitory machine readable medium containing processor instructions, where execution of the instructions by a processor causes the processor to perform a process comprising:
-
obtaining a top level index file identifying a plurality of separate container files each containing one of a plurality of alternative streams of protected video, wherein each of the alternative streams of protected video include video frames that are encrypted using a common set of frame keys comprising a plurality of different frame keys, and wherein each of the container files containing the alternative streams of protected video comprises (i) an encrypted copy of the common set of frame keys and (ii) a set of DRM information that identifies encrypted portions of the video frames and frame keys to utilize in accessing the encrypted portions of the video frames, and wherein the set of DRM information in each of the plurality of alternative streams of protected video references the same common set of frame keys; obtaining an encrypted copy of the common set of frame keys from a given container file and decrypting the encrypted copy of the common set of frame keys using a content key; obtaining a set of DRM information from the given container file; obtaining portions of video from the given container file containing one of the plurality of alternative streams of protected video; decrypting encrypted video frames from the obtained portions of video using the decrypted copy of the common set of frame keys according to the obtained set of DRM information; and playing back the obtained portions of video. - View Dependent Claims (31)
-
Specification