Legal claims defining the scope of protection, as filed with the USPTO.
1. A method for communicating encryption information in template mode in dynamic adaptive streaming over hypertext transfer protocol (DASH), the method comprising: sending in a media presentation description (MPD), from a network server to a client, a template for generating a universal resource locator (URL) to obtain an initialization vector (IV) that is used for encrypting a segment, wherein the segment is associated with a cryptoperiod where a plurality of segments are encrypted with the same encryption parameters; including, in the MPD, a CryptoTimeline element for deriving one or more cryptoperiods at the client using run-length coding, the CryptoTimeline element indicating a sequence of cryptoperiods of constant duration each including the same number of segments, wherein the CryptoTimeline element includes a first optional attribute for indicating a number of constant-duration cryptoperiods within a timeline, a second mandatory attribute for indicating, by a number of segments, a cryptoperiod duration of every period in the timeline, and a third optional attribute for indicating a number of segments between the end of a previous CryptoTimeline element and the timeline; in absence of an IV value in the MPD, receiving from the client a URL for the IV configured according to the IV URL template associated with at least one of the one or more cryptoperiods within the timeline; and upon receiving the IV URL, returning an IV value corresponding to the IV URL to the client for decrypting each of the plurality of segments associated with the at least one cryptoperiod.
2. The method of claim 1 further comprising indicating in the MPD an IV attribute that indicates an IV value that causes the client to use the IV value for decrypting the segment regardless of the presence of the template for the URL of the IV.
3. The method of claim 1 , wherein the MPD includes a CryptoPeriod element including an IV URL template attribute for indicating the template for generating the URL for the IV and a key URL template attribute for indicating another template for generating a URL for a key, and wherein the encryption parameters for the plurality of segments associated with the cryptoperiod include the IV and the key; the method further comprising: receiving from the client a URL for the key configured according to the key URL template associated with the at least one cryptoperiod; and upon receiving the key URL, returning a key value corresponding to the key URL to the client for decrypting each of the plurality of segments associated with the at least one cryptoperiod.
4. The method of claim 3 further comprising providing the client with corresponding key and IV values per each of the one or more cryptoperiods within the timeline at the beginning of each cryptoperiod.
5. The method of claim 4 wherein the IV URL and the key URL are configured at the client once per associated cryptoperiod using an earliest segment for a number or time variable derivation from a template associated with the segment in the MPD.
6. The method of claim 1 , wherein the returned IV value to the client is in a textual or binary representation in the body of an HTTP response.
7. A method for communicating encryption information in template mode in dynamic adaptive streaming over hypertext transfer protocol (DASH), the method comprising: receiving in a media presentation description (MPD), at a client from a network server, a template for generating a universal resource locator (URL) to obtain an initialization vector (IV) that is used for encrypting a segment, wherein the segment is associated with a cryptoperiod where a plurality of segments are encrypted with the same encryption parameters, wherein the MPD includes a CryptoTimeline element indicating a sequence of cryptoperiods of constant duration each including the same number of segments, and wherein the CryptoTimeline element includes a first optional attribute for indicating a number of constant-duration cryptoperiods within a timeline, a second mandatory attribute for indicating, by a number of segments, a cryptoperiod duration of every period in the timeline, and a third optional attribute for indicating a number of segments between the end of a previous CryptoTimeline element and the timeline; deriving one or more cryptoperiods from the CryptoTimeline element using run-length coding; upon detecting an absence of an IV value or IV base value in the MPD, configuring a URL for the IV using the IV URL template associated with at least one of the one or more cryptoperiods within the timeline; sending the URL for the IV to the network server; receiving an IV value corresponding to the IV URL for the at least one cryptoperiod from the network server; and using the IV value to decrypt each of the plurality of segments associated with the at least one cryptoperiod.
8. The method of claim 7 further comprising: receiving in the MPD, an IV attribute that indicates an IV value; and upon detecting the IV value, using the IV value for decrypting the segment regardless of the presence of the template for the URL of the IV.
9. The method of claim 7 further comprising: receiving in the MPD, an IV base attribute that indicates an IV base value; and upon detecting the IV base value, obtaining an IV value for decrypting the segment as a sum of the IV base value and a segment number for the segment.
10. The method of claim 7 further comprising: detecting whether there is an IV value, an IV base value, or a template for a URL of the IV in the MPD; and upon determining the absence of IV value, IV base value, and template for a URL of the IV, using a number of the segment as an IV to decrypt the segment.
11. The method of claim 7 wherein the MPD includes a CryptoPeriod element including an IV URL template attribute for indicating the template for generating the URL for the IV and a key URL template attribute for indicating another template for generating a URL for a key, and wherein the encryption parameters for the plurality of segments associated with the cryptoperiod include the IV and the key; the method further comprising: configuring a URL for the key using the key URL template associated with the at least one cryptoperiod; sending the URL for the key to the network server; receiving a key value corresponding to the key URL for the at least one cryptoperiod from the network server; and using the key value to decrypt each of the plurality of segments associated with the at least one cryptoperiod.
12. The method of claim 11 further comprising fetching corresponding IV and key values from the network server per each of the one or more cryptoperiods within the timeline at the beginning of each cryptoperiod.
13. The method of claim 12 , wherein the IV URL and the key URL are configured once per associated cryptoperiod using an earliest segment for a number or time variable derivation from a template associated with the segment in the MPD.
14. A network component for communicating encryption information in template mode in dynamic adaptive streaming over hypertext transfer protocol (DASH), the network component comprising: a processor; and a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions when executed causing the processor to: send in a media presentation description (MPD) to a client a template for generating a universal resource locator (URL) to obtain an initialization vector (IV) that is used for encrypting a segment, wherein the segment is associated with a cryptoperiod where a plurality of segments are encrypted with the same encryption parameters; include, in the MPD, a CryptoTimeline element for deriving one or more cryptoperiods at the client using run-length coding, the CryptoTimeline element indicating a sequence of cryptoperiods of constant duration each including the same number of segments, wherein the CryptoTimeline element includes a first optional attribute for indicating a number of constant-duration cryptoperiods within a timeline, a second mandatory attribute for indicating, by a number of segments, a cryptoperiod duration of every period in the timeline, and a third optional attribute for indicating a number of segments between the end of a previous CryptoTimeline element and the timeline; in absence of an IV value in the MPD, receive from the client a URL for the IV configured according to the IV URL template associated with at least one of the one or more cryptoperiods within the timeline; and upon receiving the IV URL, return an IV value corresponding to the IV URL to the client for decrypting each of the plurality of segments associated with the at least one cryptoperiod.
15. The network component of claim 14 , wherein the MPD includes a CryptoPeriod element including an IV URL template attribute for indicating the template for generating the URL for the IV and a key URL template attribute for indicating another template for generating a URL for a key, and wherein the IV and the key are encryption parameters for the plurality of segments associated with the cryptoperiod; the programming instructions when executed further causing the processor to: receive from the client a URL for the key configured according to the key URL template associated with the at least one cryptoperiod; upon receiving the key URL, return a key value corresponding to the key URL to the client for decrypting each of the plurality of segments associated with the at least one cryptoperiod.
16. The network component of claim 15 , the programming instructions when executed further causing the processor to provide the client with corresponding key and IV values per each of the one or more cryptoperiods within the timeline at the beginning of each cryptoperiod, wherein the IV URL and the key URL are configured at the client once per associated cryptoperiod using an earliest segment for a number or time variable derivation from a template associated with the segment in the MPD.
17. A user device for communicating encryption information in template mode in dynamic adaptive streaming over hypertext transfer protocol (DASH), the user device comprising: a processor; and a non-transitory computer readable storage medium storing programming for execution by the processor, the programming including instructions when executed causing the processor to: receive in a media presentation description (MPD) from a network server a universal resource location (URL) initialization vector (IV) attribute indicating a template for generating a URL to obtain an IV that is used for encrypting a segment, wherein the segment is associated with a cryptoperiod where a plurality of segments are encrypted with the same encryption parameters, wherein the MPD includes a CryptoTimeline element indicating a sequence of cryptoperiods of constant duration each including the same number of segments, and wherein the CryptoTimeline element comprises a first optional attribute for indicating a number of constant-duration cryptoperiods within a timeline, a second mandatory attribute for indicating, by a number of segments, a cryptoperiod duration of every period in the timeline, and a third optional attribute for indicating a number of segments between the end of a previous CryptoTimeline element and the timeline; derive one or more cryptoperiods from the CryptoTimeline element using run-length coding; upon detecting an absence of an IV value in the MPD, configure a URL for the IV using the IV URL template associated with at least one of the one or more cryptoperiods within the timeline; send the URL for the IV to the network server; receive an IV value corresponding to the IV URL for the at least one cryptoperiod from the network server; and use the IV value to decrypt each of the plurality of segments associated with the at least one cryptoperiod.
18. The user device of claim 17 wherein the MPD includes a CryptoPeriod element including an IV URL template attribute for indicating the template for generating the URL for the IV and a key URL template attribute for indicating another template for generating a URL for a key, and wherein the encryption parameters for the plurality of segments associated with the cryptoperiod include the IV and the key; the programming instructions when executed further causing the processor to: configure a URL for the key using the key URL template associated with the at least one cryptoperiod; send the URL for the key to the network server; and receive a key value corresponding to the key URL for the at least one cryptoperiod from the network server; and use the key value to decrypt each of the plurality of segments associated with the at least one cryptoperiod.
19. The user device of claim 18 , the programming instructions when executed further causing the processor to fetch corresponding IV and key values from the network server per each of the one or more cryptoperiods within the timeline at the beginning of each cryptoperiod, wherein the IV URL and the key URL are configured once per associated cryptoperiod using an earliest segment for a number or time variable derivation from a template associated with the segment in the MPD.
Unknown
February 23, 2016
Browse 5M+ US patents with plain-English claim translations and AI-generated analysis.