Added first draft of ISO BMFF 'cenc' information - https://www.w3.org/Bugs/Public/show_bug.cgi?id=17673#c4
authorAdrian Bateman <adrianba@microsoft.com>
Mon, 17 Dec 2012 22:24:33 -0800
changeset 53 5d8755a5d2f1
parent 52 53ea7c19edd2
child 54 9ac9d0800be8
Added first draft of ISO BMFF 'cenc' information - https://www.w3.org/Bugs/Public/show_bug.cgi?id=17673#c4
encrypted-media/encrypted-media.html
encrypted-media/encrypted-media.xml
--- a/encrypted-media/encrypted-media.html	Fri Dec 14 11:13:46 2012 -0800
+++ b/encrypted-media/encrypted-media.html	Mon Dec 17 22:24:33 2012 -0800
@@ -20,7 +20,7 @@
     <div class="head">
       <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" width="72" height="48"></a></p>
       <h1>Encrypted Media Extensions</h1>
-      <h2>W3C Editor's Draft 31 October 2012</h2>
+      <h2>W3C Editor's Draft 17 December 2012</h2>
       <h2><font color="red">Work in progress. For the latest stable revision, see <a href="http://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html">v0.1b</a>.</font></h2>
       <dl>
   <dt>Latest published version:</dt>
@@ -115,6 +115,10 @@
           <li><a href="#simple-decryption-clear-key">6.1. Clear Key</a></li>
         </ul></li>
       <li><a href="#containers">7. Container Guidelines</a></li>
+        <li><ul style="list-style-type:none">
+          <li><a href="#webm">7.1. WebM</a></li>
+          <li><a href="#iso">7.2. ISO Base Media File Format using the "cenc" protection scheme</a></li>
+        </ul></li>
       <li><a href="#examples">8. Examples</a></li>
       <li><a href="#faq">9. FAQ</a></li>
         <li><ul style="list-style-type:none">
@@ -1008,9 +1012,24 @@
       <p>An event will be fired for each new key ID (in <a href="http://matroska.org/technical/specs/index.html#ContentEncKeyID">ContentEncKeyID</a>) encountered for which a key is not already known.</p>
     </div>
 
-    <h3 id="iso">7.2 ISO Base Media File Format</h3>
+    <h3 id="iso">7.2 ISO Base Media File Format using the "cenc" protection scheme</h3>
     <div class="nonnormative">
-      <p>TBD</p>
+      <p>This section defines the stream format and initialization data for implementations that choose to support Common Encryption ("cenc") protected ISO Base Media File Format (ISOBMFF) content.</p>
+
+      <h4>7.2.1 Stream format</h4>
+      <p>Under the "cenc" protection scheme, ISOBMFF content is encrypted at the sample level with AES-128 CTR encryption, according to ISO/IEC 23001-7:2012, "Information technology - MPEG system technologies - Part 7: Common encryption in ISO base media file format files". This protection method enables multiple Key Systems to decrypt the same media content.</p>
+
+      <h4>7.2.2 Detecting Encryption</h4>
+      <p>Protection scheme signaling conforms with ISO/IEC 14496-12. When protection has been applied, the stream type will be transformed to ‘encv’ for video or ‘enca’ for audio, with a scheme information box (‘sinf’) added to the sample entry in the sample description box (‘stsd’). The scheme information box (‘sinf’) will contain a scheme type box (‘schm’) with a scheme_type field set to a value of "cenc" (Common Encryption).</p>
+      <p>With ISOBMFF common encryption, the "encrypted block" is a sample. Determining whether a sample is encrypted depends on the corresponding track encryption box (‘tenc’) and the sample group associated with the sample.</p>
+      <p>The default encryption state of a sample is defined by the IsEncrypted flag in the associated track encryption box (‘tenc’). This default state may be modified by the IsEncrypted flag in the Sample Group Description Box (‘sgpd’), pointed to by an index in the Sample to Group Box (‘sbgp’).</p>
+      <p>For complete information see ISO/IEC 23001-7:2012.</p>
+
+      <h4>7.2.3 Initialization Data and Events</h4>
+      <p>Under the "cenc" protection scheme, ISOBFF media content can be decrypted by multiple Key Systems. The file may contain protection system specific header ('pssh') boxes for one or more Key Systems, each containing a SystemID identifying the Key System. These multiple ‘pssh’ boxes are concatenated into a single Initialization Data and returned with the needkey event.</p>
+      <p>In a file encrypted with Common Encryption, each key is identified by a Key ID and each encrypted sample is associated with the Key ID of the key needed to decrypt it. This association is signaled either through the specification of a default Key ID in the Track Encryption Box ('tenc') or by assigning the sample to a Sample Group, the definition of which specifies a Key ID. Common Encryption files may contain a mixture of encrypted and unencrypted samples. Playback of unencrypted samples should not be impeded by unavailability of the keys needed to decrypt other samples in the same file or track.</p>
+      <p>Note that if there is already an active Key System CDM and the key storage for that Key System already contains the key associated with the Key ID, there is no need to generate a needkey event.</p>
+
     </div>
 
 
--- a/encrypted-media/encrypted-media.xml	Fri Dec 14 11:13:46 2012 -0800
+++ b/encrypted-media/encrypted-media.xml	Mon Dec 17 22:24:33 2012 -0800
@@ -19,7 +19,7 @@
     <div class="head">
       <p><a href="http://www.w3.org/"><img src="http://www.w3.org/Icons/w3c_home" alt="W3C" width="72" height="48" /></a></p>
       <h1>Encrypted Media Extensions</h1>
-      <h2>W3C Editor's Draft 31 October 2012</h2>
+      <h2>W3C Editor's Draft 17 December 2012</h2>
       <h2><font color="red">Work in progress. For the latest stable revision, see <a href="http://dvcs.w3.org/hg/html-media/raw-file/eme-v0.1b/encrypted-media/encrypted-media.html">v0.1b</a>.</font></h2>
       <dl>
   <dt>Latest published version:</dt>
@@ -112,6 +112,10 @@
           <li><a href="#simple-decryption-clear-key">6.1. Clear Key</a></li>
         </ul></li>
       <li><a href="#containers">7. Container Guidelines</a></li>
+        <li><ul style="list-style-type:none">
+          <li><a href="#webm">7.1. WebM</a></li>
+          <li><a href="#iso">7.2. ISO Base Media File Format using the "cenc" protection scheme</a></li>
+        </ul></li>
       <li><a href="#examples">8. Examples</a></li>
       <li><a href="#faq">9. FAQ</a></li>
         <li><ul style="list-style-type:none">
@@ -952,9 +956,24 @@
       <p>An event will be fired for each new key ID (in <a href="http://matroska.org/technical/specs/index.html#ContentEncKeyID">ContentEncKeyID</a>) encountered for which a key is not already known.</p>
     </div>
 
-    <h3 id="iso">7.2 ISO Base Media File Format</h3>
+    <h3 id="iso">7.2 ISO Base Media File Format using the "cenc" protection scheme</h3>
     <div class="nonnormative">
-      <p>TBD</p>
+      <p>This section defines the stream format and initialization data for implementations that choose to support Common Encryption ("cenc") protected ISO Base Media File Format (ISOBMFF) content.</p>
+
+      <h4>7.2.1 Stream format</h4>
+      <p>Under the "cenc" protection scheme, ISOBMFF content is encrypted at the sample level with AES-128 CTR encryption, according to ISO/IEC 23001-7:2012, "Information technology - MPEG system technologies - Part 7: Common encryption in ISO base media file format files". This protection method enables multiple Key Systems to decrypt the same media content.</p>
+
+      <h4>7.2.2 Detecting Encryption</h4>
+      <p>Protection scheme signaling conforms with ISO/IEC 14496-12. When protection has been applied, the stream type will be transformed to ‘encv’ for video or ‘enca’ for audio, with a scheme information box (‘sinf’) added to the sample entry in the sample description box (‘stsd’). The scheme information box (‘sinf’) will contain a scheme type box (‘schm’) with a scheme_type field set to a value of "cenc" (Common Encryption).</p>
+      <p>With ISOBMFF common encryption, the "encrypted block" is a sample. Determining whether a sample is encrypted depends on the corresponding track encryption box (‘tenc’) and the sample group associated with the sample.</p>
+      <p>The default encryption state of a sample is defined by the IsEncrypted flag in the associated track encryption box (‘tenc’). This default state may be modified by the IsEncrypted flag in the Sample Group Description Box (‘sgpd’), pointed to by an index in the Sample to Group Box (‘sbgp’).</p>
+      <p>For complete information see ISO/IEC 23001-7:2012.</p>
+
+      <h4>7.2.3 Initialization Data and Events</h4>
+      <p>Under the "cenc" protection scheme, ISOBFF media content can be decrypted by multiple Key Systems. The file may contain protection system specific header ('pssh') boxes for one or more Key Systems, each containing a SystemID identifying the Key System. These multiple ‘pssh’ boxes are concatenated into a single Initialization Data and returned with the needkey event.</p>
+      <p>In a file encrypted with Common Encryption, each key is identified by a Key ID and each encrypted sample is associated with the Key ID of the key needed to decrypt it. This association is signaled either through the specification of a default Key ID in the Track Encryption Box ('tenc') or by assigning the sample to a Sample Group, the definition of which specifies a Key ID. Common Encryption files may contain a mixture of encrypted and unencrypted samples. Playback of unencrypted samples should not be impeded by unavailability of the keys needed to decrypt other samples in the same file or track.</p>
+      <p>Note that if there is already an active Key System CDM and the key storage for that Key System already contains the key associated with the Key ID, there is no need to generate a needkey event.</p>
+
     </div>