Systems and methods for protecting alternative streams in adaptive bitrate streaming systems
IPC분류정보
국가/구분
United States(US) Patent
등록
국제특허분류(IPC7판)
H04L-029/06
H04L-009/08
출원번호
US-0341265
(2011-12-30)
등록번호
US-8918636
(2014-12-23)
발명자
/ 주소
Kiefer, Michael George
Grab, Eric William
Braness, Jason
출원인 / 주소
Sonic IP, Inc.
대리인 / 주소
KPPB LLP
인용정보
피인용 횟수 :
18인용 특허 :
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 includes a processor, and non-volatile storage containing an encoding application. In addition, the encoding appl
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 includes a processor, and non-volatile storage containing an encoding application. In addition, the encoding application configures the processor to: receive source content; obtain common cryptographic information; encode the source content as a plurality of streams including a plurality of alternative streams of content; and protect the plurality of alternative streams of content using the common cryptographic information.
대표청구항▼
1. A source encoder, comprising: a processor;non-volatile storage containing an encoding application for encoding and protecting frames of video to create a plurality of alternative streams of protected content;wherein the encoding application configures the processor to: receive a source content;ob
1. A source encoder, comprising: a processor;non-volatile storage containing an encoding application for encoding and protecting frames of video to create a plurality of alternative streams of protected content;wherein the encoding application configures the processor to: receive a source content;obtain a common set of frame keys comprising a plurality of frame keys;encode the source content as a plurality of streams including a plurality of alternative streams of content, wherein each alternative stream of content comprises a plurality of encoded video frames;encrypt portions of several encoded video frames from each alternative stream of content using keys from the same common set of frame keys;after encrypting the portions of encoded video frames, write the encoded video frames of each alternative stream of protected content to a separate container file from a plurality of container files and, for each encoded video frame with an encrypted portion that is written to a given container file, write a DRM information to the given container file that identifies (i) an encrypted portion of the encoded video frame and (ii) a frame key from the common set of frame keys that can be utilized by a playback device to access the encrypted portion of the encoded video frame; andstore an encrypted copy of the common set of frame keys in each container file, wherein each encrypted copy of the common set of frame keys has been encrypted with at least one encryption key. 2. The source encoder of claim 1, wherein the encoding application configures the processor to obtain common cryptographic information by configuring the processor to: send a request to a DRM server for common set of frame keys; andreceive the common set of frame keys from the DRM server. 3. The source encoder of claim 1, wherein a title ID is associated with the common set of frame keys and the plurality of alternative streams of protected content. 4. The source encoder of claim 1, wherein the container files are Matroska container files. 5. The source encoder of claim 4, wherein the encoding application configures the processor to write a DRMHeader element to a TracksData element in a Tracks element within each of the Matroska container files, where the DRMHeader element includes the encrypted copy of the common set of frame keys. 6. The source encoder of claim 5, wherein: the common set of frame keys is a part of a frame key table;the encoding application configures the processor to: encrypt the frame key table using the at least one encryption key; andwrite the encrypted frame key table to the DRMHeader element of each of the Matroska container files. 7. The source encoder of claim 6, wherein: the source content includes a stream of video;the encoding application configures the processor to: write a BlockGroup element to a Matroska container file including the DRM information that identifies the encrypted portions of the encoded video frames and the frame keys used to access the encrypted portions of the encoded video frames. 8. The source encoder of claim 4, wherein the encoding application further configures the processor to: generate an index for each Matroska container file during the encoding of each of the alternative streams of protected content; andwrite a Cues element containing the index to the indexed Matroska container file. 9. A method of encoding and protecting source content as a plurality of alternative streams of protected content, comprising: receiving a source content using a source encoder;obtaining a common set of frame keys comprising a plurality of frame keys using the source encoder;encoding the source content as a plurality of streams including a plurality of alternative streams of content using the source encoder, wherein each alternative stream of content comprises a plurality of encoded video frames;encrypting portions of several encoded video frames from each alternative stream of content using keys from the same common set of frame keys and the source encoder;after encrypting the portions of encoded video frames, writing the encoded video frames of each given alternative stream of protected content to a separate container file from a plurality of container files using the source encoder and, for each encoded video frame with an encrypted portion that is written to a given container file, writing a DRM information to the given container file that identifies (i) an encrypted portion of the encoded video frame and (ii) a frame key from the common set of frame keys that can be utilized by a playback device to access the encrypted portion of the encoded video frame; andstoring an encrypted copy of the common set of frame keys in each container file using the source encoder, wherein each encrypted copy of the common set of frame keys has been encrypted with at least one encryption key. 10. The method of claim 9, wherein obtaining the common set of frame keys comprises: sending a request to a DRM server for the common set of frame keys using the source encoder; andreceiving the common set of frame keys from the DRM server. 11. The method of claim 9, further comprising associating a title ID with the common set of frame keys and the plurality of alternative streams of protected content. 12. The method of claim 9, wherein the container files are Matroska container files. 13. The method of claim 12, further comprising writing a DRMHeader element to a TracksData element in a Tracks element within each of the Matroska container files using the source encoder, where the DRMHeader element includes the encrypted copy of the common set of frame keys. 14. The method of claim 13, wherein the common set of frame keys is a part of a frame key table and the method further comprises: encrypting the frame key table using the at least one encryption key using the source encoder; andwriting the encrypted frame key table to the DRMHeader element of each of the Matroska container files using the source encoder. 15. The method of claim 14, wherein the source content includes a stream of video and the method further comprises: writing a BlockGroup element to a Matroska container file including the DRM information that identifies the encrypted portions of the encoded video frames and the frame keys used to access the encrypted portions of the encoded video frames using the source encoder. 16. The method of claim 12, further comprising: generating an index for each Matroska container file using the source encoder during the encoding of each of the alternative streams of protected content; andwriting a Cues element containing the index to the indexed Matroska container file using the source encoder. 17. 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: receiving a source content;obtaining a common set of frame keys comprising a plurality of frame keys;encoding the source content as a plurality of streams including a plurality of alternative streams of content, wherein each alternative stream of content comprises a plurality of encoded video frames;encrypting portions of several encoded video frames from each alternative stream of content using keys from the same common set of frame keys;after encrypting the portions of encoded video frames, writing the encoded video frames of each given alternative stream of protected content to a separate container file and, for each encoded video frame with an encrypted portion that is written to a given container file, writing a DRM information to the given container file that identifies an encrypted portion of the encoded video frame and a frame key from the common set of frame keys that can be utilized by a playback device to access the encrypted portion of the encoded video frame; andstoring an encrypted copy of the common set of frame keys in each container file, wherein each encrypted copy of the common set of frame keys has been encrypted with at least one encryption key. 18. A content distribution system, comprising: a DRM server;a content distribution server;a source encoder configured to: receive source content;obtain a common set of frame keys comprising a plurality of frame keys from the DRM server;encode the source content as a plurality of streams including a plurality of alternative streams of content associated with a title, wherein each alternative stream of content comprises a plurality of encoded video frames;encrypt portions of several encoded video frames from each alternative stream of content using keys from the same common set of frame keys;after encrypting the portions of encoded video frames, write the encoded video frames of each alternative stream of protected content to a separate container file from a plurality of container files and, for each encoded video frame with an encrypted portion that is written to a given container file, write a DRM information to the given container file that identifies (i) an encrypted portion of the encoded video frame and (ii) a frame key from the common set of frame keys that can be utilized by a playback device to access the encrypted portion of the encoded video frame;store an encrypted copy of the common set of frame keys in each container file, wherein each encrypted copy of the common set of frame keys has been encrypted with at least one encryption key;provide the plurality of container files containing the plurality of alternative streams of protected content associated with the title to the content distribution server;wherein the DRM server is configured to: receive a request for access to the alternative streams of protected content associated with the title from a playback device;securely provide a copy of the at least one encryption key used to encrypt the common set of frame keys to the playback device; andwherein the content distribution server is configured to grant the playback device access to the alternative streams of protected content associated with the title. 19. The content distribution system of claim 18, wherein the DRM server is configured to associate a title ID with the title. 20. The content distribution system of claim 19, wherein the DRM server is configured to associate the common set of frame keys with the title ID. 21. The content distribution system of claim 19, wherein the request for access to the alternative streams of protected content associated with the title comprises a request identifying a title ID. 22. The content distribution system of claim 18, wherein the content distribution server is further configured to: receive requests for portions of at least one container file from the playback device; andprovide the requested portions of the at least one container file to the playback device. 23. The content distribution system of claim 18, wherein the plurality of container files are Matroska container files. 24. The content distribution system of claim 23, wherein the source encoder is configured to write a DRMHeader element to a TracksData element in a Tracks element within each of the Matroska container files, where the DRMHeader element includes the encrypted copy of the common set of frame keys. 25. The source encoder of claim 24, wherein: the common set of frame keys is a part of a frame key table;the source encoder is configured to: encrypt the frame key table using the at least one encryption key; andwrite the encrypted frame key table to the DRMHeader element of each of the Matroska container files. 26. The content distribution system of claim 25, wherein the source content includes a stream of video; and the source encoder is configured to: write a BlockGroup element to a Matroska container file including the DRM information that identifies the encrypted portions of the encoded video frames used to access the encrypted portions of the encoded video frames. 27. The content distribution system of claim 23, wherein the source encoder is configured to: generate an index for each Matroska container file during the encoding of each of the alternative streams of protected content; andwrite a Cues element containing the index to the indexed Matroska container file. 28. A method of distributing content encoded as a plurality of alternative streams of protected content, the method comprising: receiving a source content using a source encoder;obtaining a common set of frame keys from a DRM server using the source encoder, wherein the common set of frame keys comprises a plurality of frame keys;encoding the source content as a plurality of streams including a plurality of alternative streams of content using the source encoder, wherein each alternative stream of content comprises a plurality of encoded video frames;encrypting portions of several encoded video frames from each alternative stream of content using keys from the same common set of frame keys and the source encoder;after encrypting the portions of encoded video frames, writing the encoded video frames of each given alternative stream of protected content to a separate container file from a plurality of container files using the source encoder and, for each encoded video frame with an encrypted portion that is written to a given container file, writing a DRM information to the given container file that identifies (i) an encrypted portion of the encoded video frame and (ii) a frame key from the common set of frame keys that can be utilized by a playback device to access the encrypted portion of the encoded video frame;storing an encrypted copy of the common set of frame keys in each container file using the source encoder, wherein each encrypted copy of the common set of frame keys has been encrypted with at least one encryption key;providing the plurality of container files containing the plurality of alternative streams of protected content to a content distribution server;receiving a request for access to the alternative streams of protected content from a playback device using the DRM server, wherein the plurality of alternative streams of protected content are associated with a title;securely providing to the playback device at least one encryption key using the DRM server, where the at least one encryption keys is used to access the encrypted common cryptographic information; andgranting the playback device access to the alternative streams of protected content using the content distribution server. 29. The method of claim 28, wherein the title is identified using a title ID. 30. The method of claim 29, wherein the common set of frame keys is associated with the title ID. 31. The method of claim 29, wherein the request for access to the alternative streams of protected content associated with the title comprises a request identifying a title ID. 32. The method of claim 28, further comprising: receiving requests for portions of at least one container file from the playback device using the content distribution server; andproviding the requested portions of the at least one container file to the playback device using the content distribution server. 33. The method of claim 28, wherein the plurality of container files are Matroska container files. 34. The method of claim 28, wherein the container files are Matroska container files. 35. The method of claim 34, further comprising writing a DRMHeader element to a TracksData element in a Tracks element within each of the Matroska container files using the source encoder, where the DRMHeader element includes the encrypted copy of the common set of frame keys. 36. The method of claim 35, wherein the common set of frame keys is a part of a frame key table, the method further comprising: encrypting the frame key table using the at least one encryption key; andwriting the encrypted frame key table to the DRMHeader element of each of the Matroska container files using the source encoder. 37. The method of claim 36, wherein the source content includes a stream of video, the method further comprising: writing a BlockGroup element to a Matroska container file including the DRM information that identifies the encrypted portions of the encoded video frames and the frame keys used to access the encrypted portions of the encoded video frames using the source encoder. 38. The method of claim 34, further comprising: generating an index for each Matroska container file during the encoding of each of the alternative streams of protected content using the source encoder; andwriting a Cues element containing the index to the indexed Matroska container file using the source encoder.
연구과제 타임라인
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.
Chan, Francis Yee-Dug; Grab, Eric William; Kiefer, Michael George, Binding of cryptographic content using unique device characteristics with server heuristics.
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는 부적절한 답변을 할 수 있습니다.