Skip to content
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
216 changes: 146 additions & 70 deletions imsc1/spec/ttml-ww-profiles.html
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,9 @@ <h2>Terms and Definitions</h2>

<p><dfn>Default Region</dfn>. See Section 9.3.1 at [[!TTML2]].</p>

<p><dfn>Document Instance</dfn>. See Section 2.2 at [[!TTML2]].</p>
<p><dfn data-lt="Document Instance|Document Instances">Document Instance</dfn>. See Section 2.2 at [[!TTML2]].</p>

<p><dfn>Default Processor Profile</dfn>. As defined in [[!TTML2]].</p>

<p><dfn>Extension</dfn>. See Section 2.2 at [[!TTML2]].</p>

Expand All @@ -170,7 +172,9 @@ <h2>Terms and Definitions</h2>

<p><dfn>Document Interchange Context</dfn>. See Section 2.2 at [[!TTML2]].</p>

<p><dfn>Document Processing Context</dfn>. See Section 2.2 at [[!TTML2]].</p>
<p><dfn>Document Processing Context</dfn>. As defined in [[!TTML2]].</p>

<p><dfn>Effective Processor Profile</dfn>. As defined in [[!TTML2]].</p>

<p><dfn>Image Profile transformation processor</dfn>. A <a>transformation processor</a> that conforms to the <a>Image
Profile</a>.</p>
Expand All @@ -180,12 +184,16 @@ <h2>Terms and Definitions</h2>

<p><dfn>Linear White-Space</dfn>. See Section 2.3 at [[!TTML2]].</p>

<p><dfn>Override Content Profile</dfn>. As defined in [[!TTML2]].</p>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

"Override Content Profile" is not defined in TTML2.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ah, thank you for the reminder.


<p><dfn>Processor</dfn>. Either a <a>Presentation processor</a> or a <a>Transformation processor</a>.</p>

<p><dfn>Presentation processor</dfn>. See Section 2.2 at [[!TTML2]].</p>

<p><dfn>Transformation processor</dfn>. See Section 2.2 at [[!TTML2]].</p>

<p><dfn data-lt="processor profile|processor profiles">Processor Profile</dfn>. As defined in [[!TTML2]].</p>

<p><dfn>Related Media Object</dfn>. See Section 2.2 at [[!TTML2]].</p>

<p><dfn>Related Video Object</dfn>. A <a>Related Media Object</a> that consists of a sequence of image frames, each a
Expand Down Expand Up @@ -318,23 +326,62 @@ <h3>Image Profile</h3>
<section id="profile-resolution">
<h3>Profile Resolution Semantics</h3>

<p>For the purpose of content processing, the determination of the resolved profile SHOULD take into account both the
signaled profile, as defined in <a href="#profile-signaling"></a>, and profile metadata, as designated by either (or both)
the <a>Document Interchange Context</a> or (and) the <a>Document Processing Context</a>, which MAY entail inspecting document
content.</p>
<section>
<h4>General</h4>

<p>The Profile Semantics specified in [[!TTML2]] apply.</p>

<p class="note">The default value of prohibited attributes, e.g. <code>ttp:contentProfileCombination</code>, applies.</p>

<p>If the resolved profile is not a profile supported by the <a>Processor</a> but is feasibly interoperable with the <a>Text
Profile</a>, then the resolved profile is the <a>Text Profile</a>; otherwise, if the resolved profile is not a profile
supported by the <a>Processor</a> but is feasibly interoperable with the <a>Image Profile</a>, then the resolved profile is
the <a>Image Profile</a>.</p>
<p>The <a>Text Profile</a> <a>processor profile</a> includes all of the features required by each of the following
<a>processor profiles</a>:</p>

<ul>
<li>[[ttml10-sdp-us]]</li>

<p>If the resolved profile is a profile supported by the <a>Processor</a>, then the <a>Processor</a> SHOULD process the
<a>Document Instance</a> according to the resolved profile. If the resolved profile is neither <a>Text Profile</a> nor
<a>Image Profile</a>, processing is outside the scope of this specification.</p>
<li>[[EBU-TT-D]]</li>

<li>[[ttml-imsc1.0.1]] Text Profile</li>
</ul>

<p>The <a>Image Profile</a> <a>processor profile</a> includes all of the features required by each of the following
<a>processor profiles</a>:</p>

<ul>
<li>[[ttml-imsc1.0.1]] Image Profile</li>
</ul>

<aside class="example">
The use of the <code>mimeType="application/mp4"</code> and <code>codecs="stpp.ttml.im1t"</code> attributes in a
[[MPEGDASH]] Manifest signals a track that consists of [[ttml-imsc1.0.1]] Text Profile documents. In this case the
Manifest is part of the <a>document interchange context</a>, and the <a>default processor profile</a> is extracted from
the <code>codecs</code> attribute and dereferenced via the [[ttml-profile-registry]].
</aside>
</section>

<p>If the resolved profile is undetermined or not supported by the <a>Processor</a>, then the <a>Processor</a> SHOULD
nevertheless process the <a>Document Instance</a> using one of its supported profiles, with a preference for the <a>Text
Profile</a> over the <a>Image Profile</a>; otherwise, processing MAY be aborted.</p>
<section>
<h4>Override</h4>

<p>If one or more <code>ebuttm:conformsToStandard</code> elements, as specified in [[!EBU-TT-D]], are set to any of the
following designators, then the <a>override content profile</a> SHALL be set to the profile associated with any one of the
matching designators:</p>

<ul>
<li>[[ttml-imsc1.0.1]] Text Profile Designator</li>

<li>[[ttml-imsc1.0.1]] Image Profile Designator</li>

<li>
<a>Image Profile</a> Designator
</li>

<li>
<a>Text Profile</a> Designator
</li>

<li><code>urn:ebu:tt:distribution:2014-01</code>, as specified in [[EBU-TT-D]]</li>
</ul>
</section>
</section>
</section>

Expand Down Expand Up @@ -1724,7 +1771,7 @@ <h2>Supported Features and Extensions</h2>
<tr>
<td><code>#version</code></td>

<td colspan="2">permitted</td>
<td colspan="2">prohibited</td>

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This seems dangerous without also removing #version altogether from TTML2. What behaviour do you expect from a processor if the document does include ttp:version="2", say? It seems harsh to reject the document. I see the ednote below though.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes. This is a placeholder until the ttp:version semantics are clarified, or ttp:version is removed.

</tr>

<tr>
Expand Down Expand Up @@ -1866,6 +1913,9 @@ <h2>Supported Features and Extensions</h2>

<p class='note'>The <code>#linePadding</code> and <code>#multiRowAlign</code> features were erroneously not designated as
prohibited in the [[ttml-imsc1.0.1]] Image Profile.</p>

<p class="ednote">The disposition of <code>#version</code> may change upon clarification of its semantics -- see <a href=
"https://github.com/w3c/ttml2/issues/435">TTML2 issue #435</a>.</p>
</section>

<section id='common-constraints'>
Expand Down Expand Up @@ -2601,78 +2651,94 @@ <h4>itts:fillLineGap</h4>
<section id='profile-signaling'>
<h3>Profile Signaling</h3>

<section>
<section id="general-signaling">
<h4>General</h4>

<p>Unless one of the mutually exclusive scenarios specified in the following Sections apply, the
<code>ttp:contentProfiles</code> attribute SHALL be present on the <code>tt</code> element and include the designator of
the profile (either the <a>Text Profile</a> or <a>Image Profile</a>) to which the <a>Document Instance</a> conforms.</p>
<p>Unless one of the scenarios specified in Sections <a href="#imsc1-compat"></a>, <a href="#ebu-tt-d-compat"></a> or
<a href="#sdp-us-compat"></a> applies:</p>

<p class="note">The <code>ttp:contentProfiles</code> can include additional designators, beyond the Text Profile or Image
Profle designators.</p>
<ul>
<li>the <code>ttp:contentProfiles</code> attribute SHALL be present on the <code>tt</code> element and include the
profile designator (either <a>Text Profile</a> or <a>Image Profile</a>), corresponding to the profile to which the
<a>Document Instance</a> conforms;
</li>

<li>the <code>ttp:contentProfiles</code> attribute SHALL NOT simultaneously signal conformance to both <a>Image
Profile</a> and <a>Text Profile</a>;
</li>

<li>the <code>ttp:profile</code> attribute SHALL NOT be present; and</li>

<li>the <code>ttp:profile</code> element SHALL NOT be present.</li>
</ul>

<p class="note">The <code>ttp:contentProfiles</code> attribute can include additional designators, beyond those specified
herein.</p>

<p class="note">The scenarios specified in Sections <a href="#general-signaling"></a>, <a href="#imsc1-compat"></a>,
<a href="#ebu-tt-d-compat"></a> and <a href="#sdp-us-compat"></a> are intended to be mutually exclusive.</p>
</section>

<section>
<section id="imsc1-compat">
<h4>IMSC1 Compatibility</h4>

<p>If the <a>Document Instance</a> conforms to one of the profiles specified in [[ttml-imsc1.0.1]]:</p>
<p>If the <a>Document Instance</a> conforms to one of the profiles specified in [[ttml-imsc1.0.1]], and compatibility with
[[ttml-imsc1.0.1]] processors is desired:</p>

<ul>
<li>the <code>ttp:contentProfiles</code> attribute SHOULD be present on the <code>tt</code> element and include the
designator of the profile (either the <a>Text Profile</a> or <a>Image Profile</a>) to which the <a>Document Instance</a>
conforms;
<li>the <code>ttp:profile</code> attribute SHOULD be present on the <code>tt</code> element and SHALL be equal to the
designator of the [[ttml-imsc1.0.1]] profile to which the <a>Document Instance</a> conforms; and
</li>

<li>the <code>ttp:profile</code> attribute SHOULD be present on the <code>tt</code> element and equal to the designator
of the [[ttml-imsc1.0.1]] profiles to which the <a>Document Instance</a> conforms; and
</li>
<li>the <code>ttp:profile</code> element SHOULD NOT be present; and</li>

<li>the <code>ttp:profile</code> element SHOULD NOT be present.</li>
<li>the <code>ttp:contentProfiles</code> attribute SHOULD NOT be present.</li>
</ul>

<p class="note">If the <code>ttp:profile</code> attribute is not set as recommended above, the [[ttml-imsc1.0.1]] content
profile to which the <a>Document Instance</a> conforms is communicated through means outside the scope of this
specification, e.g. through the <a>document interchange context</a>.</p>

<p class="note">The use of the <code>ttp:contentProfiles</code> attribute is discouraged in this scenario to ease
differentiation between (i) <a>Document Instances</a> that are intended to be compatible with [[ttml-imsc1.0.1]]
processors, and (ii) <a>Document Instances</a> that are intended to require processors that conform to this specification
(in which case Section <a href="#general-signaling"></a> applies.)</p>
</section>

<section>
<section id="ebu-tt-d-compat">
<h4>EBU-TT-D Compatibility</h4>

<p>If the <a>Document Instance</a> conforms to both [[ttml-imsc1.0.1]] and [[EBU-TT-D]]:</p>
<p>If the <a>Document Instance</a> conforms to both [[ttml-imsc1.0.1]] and [[EBU-TT-D]], and compatibility with
[[EBU-TT-D]] processors is desired:</p>

<ul>
<li>neither the <code>ttp:profile</code> attribute nor the <code>ttp:profile</code> element are present;</li>

<li>the <code>ebuttm:conformsToStandard</code> element as specified in [[!EBU-TT-D]] and illustrated in <a href=
"#ebu-tt-d-interop"></a> SHOULD include:
<li>the <code>ttp:profile</code> attribute is not present;</li>

<ul>
<li>the designator of the [ttml-imsc1.0.1]] profile to which the <a>Document Instance</a> conforms;
</li>
<li>the <code>ttp:contentProfiles</code> attribute is not present;</li>

<li>the designator of the profile (either the <a>Text Profile</a> or <a>Image Profile</a>) to which the <a>Document
Instance</a> conforms;
</li>

<li>the URI <code>"urn:ebu:tt:distribution:2014-01"</code></li>
</ul>
</li>

<li>the <code>ttp:profile</code> and <code>ebuttm:conformsToStandard</code> elements SHALL NOT signal conformance to both
<a>Image Profile</a> and <a>Text Profile</a> in a given <a>Document Instance</a>.
<li>one <code>ebuttm:conformsToStandard</code> element, as specified in [[!EBU-TT-D]] and illustrated in <a href=
"#ebu-tt-d-interop"></a>, SHOULD be set to the [[ttml-imsc1.0.1]] profile designator corresponding to the profile to
which the <a>Document Instance</a> conforms;
</li>
</ul>

<p class="note">If <code>ebuttm:conformsToStandard</code> elements signal neither [[ttml-imsc1.0.1]] nor [[!EBU-TT-D]]
profile conformance, the <a>Document Instance</a> conforms is communicated through means outside the scope of this
specification, e.g. through the <a>document interchange context</a>.</p>
</section>

<section>
<section id="sdp-us-compat">
<h4>SDP-US Compatibility</h4>

<p>If the <a>Document Instance</a> conforms to both [[ttml-imsc1.0.1]] and [[ttml10-sdp-us]]:</p>
<p>If the <a>Document Instance</a> conforms to both [[ttml-imsc1.0.1]] and [[ttml10-sdp-us]], and compatibility with
[[ttml10-sdp-us]] processors is desired:</p>

<ul>
<li>the <code>ttp:contentProfiles</code> attribute SHOULD be present on the <code>tt</code> element and include the
designator of the profile (either the <a>Text Profile</a> or <a>Image Profile</a>) to which the <a>Document Instance</a>
conforms;
</li>
<li>the <code>ttp:profile</code> attribute is not present;</li>

<li>the <code>ttp:contentProfiles</code> attribute is not present;</li>

<li>the <code>ttp:profile</code> attribute is not present and the <code>ttp:profile</code> element is present, as
illustrated in <a href="#sdp-us-interop"></a>.
<li>the <code>ttp:profile</code> element is present, as illustrated in <a href="#sdp-us-interop"></a>.
</li>
</ul>
</section>
Expand Down Expand Up @@ -2829,11 +2895,6 @@ <h3>Profile Designator</h3>
</tr>
</tbody>
</table>

<p class='note'>As specified in <a href="#profile-signaling"></a>, the presence of the <code>ttp:profile</code> attribute is
not required by this profile. The profile designator specified above is intended to be generally used to signal conformance
of a <a>Document Instance</a> to the profile. The details of such signaling depends on the application, and can, for
instance, use metadata structures out-of-band of the <a>Document Instance</a>.</p>
</section>

<section id='recommended-char-sets'>
Expand Down Expand Up @@ -3001,11 +3062,6 @@ <h3>Profile Designator</h3>
</tr>
</tbody>
</table>

<p class='note'>As specified in <a href="#profile-signaling"></a>, the presence of the <code>ttp:profile</code> attribute is
not required by this profile. The profile designator specified above is intended to be generally used to signal conformance
of a <a>Document Instance</a> to the profile. The details of such signaling depends on the application, and can, for
instance, use metadata structures out-of-band of the <a>Document Instance</a>.</p>
</section>

<section>
Expand Down Expand Up @@ -4304,7 +4360,8 @@ <h3>SMPTE-TT (SMPTE ST 2052-1)</h3>

<li>when the designator <code>"http://www.smpte-ra.org/schemas/2052-1/2010/profiles/smpte-tt-full"</code> is used as a
value for <code>ttp:profile</code> element or attribute (see Section 5.8 at [[!SMPTE2052-1]]), Text Profile or Image
Profile is signaled by the Document Interchange Context and/or the Document Processing Context.</li>
Profile is signaled by the <a>Document Interchange Context</a> and/or the <a>Document Processing Context</a>.
</li>
</ul>

<p>The following is an example of a document that conforms to both Text Profile and [[!SMPTE2052-1]]:</p>
Expand Down Expand Up @@ -4417,6 +4474,25 @@ <h4>Reference to TTML2</h4>
<p>Replaced normative references to [[TTML1]] with normative references to [[TTML2]].</p>
</section>

<section class='appendix'>
<h4>Profile resolution semantics</h4>

<p>Section <a href="#profile-resolution"></a> is now based on [[TTML2]] Profile Semantics.</p>
</section>

<section class='appendix'>
<h4>Profile signaling</h4>

<p>Section <a href="#profile-signaling"></a> adds support for signaling of the profiles specified herein.</p>
</section>

<section class='appendix'>
<h4>Profile designators</h4>

<p>Profile designators introduced for each of the profiles specified herein. See Sections <a href=
"#text-profile-designator"></a> and <a href="#image-profile-designator"></a>.</p>
</section>

<section class='appendix'>
<h4>Added Features</h4>

Expand Down