Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
원문보기
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-029/06
H04L-009/08
출원번호
US-0340623
(2011-12-29)
등록번호
US-8909922
(2014-12-09)
발명자
/ 주소
Kiefer, Michael George
Grab, Eric William
Braness, Jason
출원인 / 주소
Sonic IP, Inc.
대리인 / 주소
KPPB LLP
인용정보
피인용 횟수 :
19인용 특허 :
66
초록▼
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 applic
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.
대표청구항▼
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 vi
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; andplayback the obtained portions of video. 2. The playback device of claim 1, wherein: the alternative streams of protected video are encoded at different maximum bitrates using different sets of encoding parameters; andthe client application further configures the processor todecode the encoded frames of video prior to playback of the obtained portions of video. 3. The playback device of claim 1, wherein: the container files containing each of the alternative streams of protected video comprise at least one header that includes information that describes the encoding of the stream of protected video; andthe top level index file identifies the location of the at least one header within each container file. 4. The playback device of claim 1, wherein the common set of frame keys is part of a frame key table that is common to each of the plurality of alternative streams. 5. The playback device of claim 1, wherein: the client application further configures the processor to securely receive the content key. 6. The playback device of claim 1, wherein: each container file containing one of the alternative streams of protected video further comprises an index; andthe client application further configures the processor to: request at least a portion of an index from the given container file;identify the portion of the given container file containing a specific portion of video using the index; andrequest the identified portion of the given container file. 7. The playback device of claim 1, wherein the container files are Matroska container files. 8. The playback device of claim 7, wherein the encrypted copy of the common set of frame keys is stored in a common DRM Header element contained within a Tracks element within each of the Matroska container files containing the alternative streams of protected video. 9. The playback device of claim 8, wherein the client application further configures the processor to: obtain the content key that can be used to decrypt the encrypted copy of the set of frame keys stored within the common DRM Header element; anddecrypt the encrypted copy of the set of frame keys stored within the common DRM Header element using the obtained content key. 10. The playback device of claim 8, wherein the client application configures the processor to obtain the common DRM Header element by requesting a Tracks element from one of the Matroska container files identified in the top level index file. 11. The playback device of claim 10, wherein: each Mastroska container file containing an alternative stream of protected video further comprises an index contained within a Cues element; andthe client application further configures the processor to request a portion of video from one of the Matroska container files by configuring the processor to: request at least a portion of a Cues element from a Matroska container file containing one of the alternative streams of protected video;identify a portion of the Matroska container file containing a specific portion of video using at least one CueTrackPosition element within the Cues element; andrequest the portion of the Matroska container file identified by the at least one CueTrackPosition element. 12. The playback device of claim 11, wherein the index comprises a plurality of CueTrackPosition elements that identify the location of a plurality of Cluster elements within the Matroska container file. 13. The playback device of claim 11, wherein: each of the Matroska container files containing an alternative stream of protected video includes a set of BlockGroup elements that each contain a DRMInfo element and an encrypted frame of video, where the DRMInfo element is a part of the set of DRM information for each of the Matroska container files; andthe client application further configures the processor to decrypt encrypted video frames of the obtained portions of video using the decrypted copy of the common set of frame keys by configuring the processor to: obtain a BlockGroup containing an encrypted frame of video;parse the BlockGroup element to obtain a DRMInfo element indicating at least a portion of the encrypted frame of video that is encrypted using a frame key from the common set of frame keys;decrypt the at least one encrypted portion of the encrypted frame of video using the identified frame key; anddecode the frame of video. 14. The playback device of claim 12, wherein: each Cluster element contains a plurality of BlockGroup elements including encoded portions of video;a CueTrack Position element indexes each Cluster element; andeach CueTrackPosition element includes the size of the Cluster element that it indexes. 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; andplaying back the obtained portions of video using the playback device. 16. The method of claim 15, wherein: the alternative streams of protected video are encoded at different maximum bitrates using different sets of encoding parameters; andthe method further comprisesdecoding the encoded frames of video using the playback device prior to playback of the obtained portions of video. 17. The method of claim 15, wherein: the container files containing each of the alternative streams of protected video comprise at least one header that includes information and information that describes the encoding of the stream of protected video; andthe top level index file identifies the location of the at least one header within each container file. 18. The method of claim 17, further comprising obtaining an encrypted copy of the common set of frame keys by requesting at least one header of a container file identified in the top level index file using the playback device. 19. The method of claim 18, wherein: each container file containing one of the alternative streams of protected video further comprises an index; andthe method further comprising: requesting at least a portion of an index from the given container file using the playback device;identify the portion of the given container file containing a specific portion of video using the playback device and the index; andrequesting the identified portion of the given container file using the playback device. 20. The method of claim 17, wherein the container files are Matroska container files. 21. The method of claim 20, wherein the encrypted copy of the common set of frame keys is stored in a common DRM Header element contained within a Tracks element within each of the Matroska container files containing the alternative streams of protected video. 22. The method of claim 21, further comprising obtaining the common DRM Header element by requesting a Tracks element from one of the Matroska container files identified in the top level index file. 23. The method of claim 22, wherein: each Mastroska container file containing an alternative stream of protected video further comprises an index contained within a Cues element;the method further comprises: requesting at least a portion of a Cues element from a Matroska container file containing one of the alternative streams of protected video using the playback device;identifying a portion of the Matroska container file containing a specific portion of video using the playback device and at least one CueTrackPosition element within the Cues element; andrequesting the portion of the Matroska container file identified by the at least one CueTrackPosition element. 24. The method of claim 23, wherein the index comprises a plurality of CueTrackPosition elements that identify the location of a plurality of Cluster elements within the Matroska container file. 25. The method of claim 24, wherein: each Cluster element contains a plurality of BlockGroup elements including encoded portions of video;a CueTrack Position element indexes each Cluster element; andeach CueTrackPosition element includes the size of the Cluster element that it indexes. 26. The method of claim 23, wherein: each of the Matroska container files containing an alternative stream of protected video includes a set of BlockGroup elements that each contain a DRMInfo element and an encrypted frame of video, where the DRMInfo element is a part of the set of DRM information for each of the Matroska container files; andthe method further comprising: obtaining a BlockGroup containing an encrypted frame of video using the playback device;parsing the BlockGroup element to obtain a DRMInfo element indicating at least a portion of the encrypted frame of video that is encrypted using the playback device and a frame key from the common set of frame keys;decrypting the at least one encrypted portion of the encrypted frame of video using the playback device and the identified frame key; anddecoding the frame of video using the playback device. 27. The method of claim 15, wherein the common set of frame keys is part of a frame key table that is common to each of the plurality of alternative streams. 28. The method of claim 15, wherein: the method further comprises securely obtaining the content key using the playback device. 29. The method of claim 15, wherein the content key is bound to the playback device. 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; andplaying back the obtained portions of video. 31. The non-transitory machine readable medium of claim 30, wherein: the alternative streams of protected video are encoded at different maximum bitrates using different sets of encoding parameters; andexecution of the instructions by a processor also causes the processor to perform a process comprisingdecoding the encoded frames of video prior to playback of the obtain portions of video.
연구과제 타임라인
LOADING...
LOADING...
LOADING...
LOADING...
LOADING...
이 특허에 인용된 특허 (66)
Boroczky, Lilla; Ngai, Agnes Y.; Westermann, Edward F., Adaptively encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel.
Kollmyer,Brad; Baker,Brian; Shapiro,Eric; Kollmyer,Aric; Rutman,Mike; MacLean,Duncan; Robertson,Dan; Taylor,Neal; Hunsche,Dick; Walker,Amanda, Apparatus, system and method for selectively encrypting different portions of data sent over a network.
Boroczky, Lilla; Ngai, Agnes Y.; Westermann, Edward F., Control strategy for dynamically encoding multiple streams of video data in parallel for multiplexing onto a constant bit rate channel.
Pensak David A. ; Cristy John J. ; Singles Steven J., Information security architecture for encrypting documents for remote access while maintaining access control.
Kwon, O-hoon; Ha, Ho-jin; Zhang, Guanhua; Choi, Hyung-tak; Kim, Sun-bal; Keum, Ji-Eun; Im, Sung-bin, Method and apparatus for providing trick play service.
Woo,Je Hak; Lee,Hwan Chul; Cho,Sang Young; Jeong,Seong Ho; Ha,Young Soo; Shin,Seog Kyoon; Kim,Seong Il, Method and system for the information protection of digital content.
Yoshida Masayuki (Yokohama JPX) Nakanishi Keiko (Tokyo JPX), Method of commonly using font information for outputting information in a system having a plurality of information proce.
Foehr,Oliver H.; Dunietz,Jerry; Leonov,Mikhail V.; Brown,David C.; Daniels,Simon, Methods for providing an accurate visual rendition of a text element formatted with an unavailable font.
Kollmyer,Brad; Baker,Brian A.; Shapiro,Eric Bradley; Kollmyer,Aric; Rutman,Mike; MacLean,Charles Duncan; Robertson,Dan; Taylor,Neal; Hunsche,Dick; Walker,Amanda, Selectively encrypting different portions of data sent over a network.
Ginter Karl L. ; Shear Victor H. ; Sibert W. Olin ; Spahn Francis J. ; Van Wie David M., Systems and methods for secure transaction management and electronic rights protection.
Grab, Eric William; Russell, Chris; Chan, Francis Yee-Dug; Kiefer, Michael George, Federated digital rights management scheme including trusted systems.
Grab, Eric William; Russell, Chris; Chan, Francis Yee-Dug; Kiefer, Michael George, Federated digital rights management scheme including trusted systems.
Kiefer, Michael George; Grab, Eric William; Braness, Jason, Playback devices and methods for playing back alternative streams of content protected using a common set of cryptographic keys.
Braness, Jason; van der Schaar, Auke Sjoerd; Soroushian, Kourosh, Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol.
Kiefer, Michael George; Grab, Eric William; Braness, Jason, Systems and methods for playing back alternative streams of protected content protected using common cryptographic information.
Kiefer, Michael George; Grab, Eric William; Braness, Jason, Systems and methods for playing back alternative streams of protected content protected using common cryptographic information.
Kiefer, Michael George; Grab, Eric William; Braness, Jason, Systems and methods for playing back alternative streams of protected content protected using common cryptographic information.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.