Skip to content

Updated profile signaling and resolution to match TTML2 semantics - #267

Merged
palemieux merged 8 commits into
IMSC1.1from
profile-signaling-and-resolution
Nov 14, 2017
Merged

palemieux merged 8 commits into
IMSC1.1from
profile-signaling-and-resolution

Conversation

@palemieux

@palemieux palemieux commented Oct 21, 2017 •

Copy link
Copy Markdown
Contributor

Close #3
Close #124
Close #125

Clarified profile signaling requirements
@palemieux palemieux self-assigned this Oct 21, 2017
@palemieux palemieux added this to the imsc1.1 WD2 milestone Oct 21, 2017
@nigelmegitt

Copy link
Copy Markdown
Contributor

I'd like to step through this during a TTWG call please?

@nigelmegitt nigelmegitt left a comment

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 is a pretty significant set of changes - I think the intent is right but some (not huge) changes requested about how they're done.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated

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

<p><dfn>External Processing Context</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.

External Processing Context is not actually defined by TTML2. Is this PR dependent on a TTML2 PR?

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.

This should say Document Processing Context, which is already defined later.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated

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

<p>The following processor profiles are subsets of the <a>Text Profile</a> processor profile:</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.

"Processor profile" should be added as a defined term, and defined to be the same as in TTML2.

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.

I would prefer to say "The Text Profile processor profile includes all of the features required by each of the following processor profiles:"

Rationale is that it makes it clearer that a Text Profile processor can be used in place of any of those, and in passing defines what we mean by "superset".

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.

Sounds good.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
<li>[[ttml-imsc1.0.1]] Text Profile</li>
</ul>

<p>The following processor profiles are subsets of the <a>Image Profile</a> processor profile:</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.

Similarly here, I would prefer: "The Image Profile processor profile includes all of the features required by each of the following processor profiles:"

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.

Sounds good.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
<h4>Override</h4>

<p>If the profile of the <a>Document Instance</a> is specified by the <a>external processing context</a>, then the
<em>override content profile</em> is set to this profile.</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.

I would prefer "is set to that profile" for clarity.

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.

Sounds good.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated

<aside class="example">
The use of <code>mimeType="application/mp4"</code> and <code>codecs="stpp.ttml.im1t"</code> in a [[MPEGDASH]] Manifest
signals a track that consists of [[ttml-imsc1.0.1]] Text Profile documents.

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.

I would elaborate this example further, for example: In this case the Manifest defines the external processing context, and the override profile is obtained from the [TTML Profile Registry] as specified by MPEG.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
<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 mutually exclusive scenarios specified in the following Sections apply:</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.

I'm finding it hard to identify which scenarios in the following sections are "mutually exclusive". Can we be more explicit here about the exceptions? Or alternatively move this to the bottom and say "if none of the above scenarios apply then the following requirements apply:"

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.

The idea is that the author needs to select one of the signaling options, and not mix and match.

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.

Oh I see, you're saying "the following options are mutually exclusive", rather than selecting from those of the following options which happen to be mutually exclusive. Let's see, how can we deal with this... Why not just remove the words "mutually exclusive"?

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
<li>the <code>ttp:contentProfiles</code> attribute SHALL NOT be present.</li>
</ul>

<p class="note">If the <code>ttp:profile</code> is not set as recommended above, then conformance with the

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.

Worth specifying "ttp:profile attribute" for clarity.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
</ul>

<p class="note">If the <code>ttp:profile</code> is not set as recommended above, then conformance with the
[[ttml-imsc1.0.1]] profile is communicated using the <a>external processing context</a>.</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.

s/is communicated/can be communicated ?

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.

There is no other option than to communicate the profile through the document processing context if @ttp:profile is not specified.

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.

My point is that we cannot compel the document processing context to communicate anything. It's simply out of scope of this spec.

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.

Ok. What about _If the ttp:profile attribute is not set as recommended above, the [[ttml-imsc1.0.1]] profile to which the Document Instance conforms is communicated through means outside the scope of this specification, e.g. through the document processing context.

<a>Image Profile</a> and <a>Text Profile</a> in a given <a>Document Instance</a>.
<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 a single [[ttml-imsc1.0.1]] profile designator corresponding to the profile to
which the <a>Document Instance</a> conforms;

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 is confusing, isn't the profile to which the document instance conforms the IMSC 1 Text profile by definition?

Using the word "single" is possibly ambiguous since it could be interpreted as "one designator in a conformsToStandard element" or "one conformsToStandard element".

Suggest rewording to "SHOULD include the [[ttml-imsc1.0.1]] text profile designator".

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.

This is confusing, isn't the profile to which the document instance conforms the IMSC 1 Text profile by definition?

Not in the degenerate case of an empty document.

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.

Not in the degenerate case of an empty document.

But this is in the section about EBU-TT-D compatibility, so even in the degenerate case it must be a text profile document.

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.

An empty document can conform to Image Profile and EBU-TT-D simultaneously... as I recall this is what someone argued -- see IMSC 1.0.1 text.


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

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.

"hereing" seems to be a typo, but I'm not sure what was meant? If it's "herein" then also add "the" before "profiles" so it becomes:

adds support for signalling of the profiles specified herein.

@skynavga

skynavga commented Nov 8, 2017 via email

Copy link
Copy Markdown
Contributor

@nigelmegitt nigelmegitt left a comment

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.

Looks like we need to use a different term than "override content profile" since I can't see it defined in TTML2. Or define it in TTML2.

Plus I'm already bored of the distinction between document interchange context and document processing context, and think we just need a pointer to "a profile defined outside the document instance", since the distinction adds no obvious value - that's a TTML2 issue to be raised though.


<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.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
signals a track that consists of [[ttml-imsc1.0.1]] Text Profile documents.
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 processing context</a>, and the <a>override content profile</a> is extracted from the

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.

Hmm, maybe it is actually the document interchange context. I'm not really sure how useful the distinction is even in TTML2. Either way it's some processor profile determined from a scope external to the document instance. It feels like even arguing this point is splitting hairs, which makes me question the value of the distinction.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
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 processing context</a>, and the <a>override content profile</a> is extracted from the
<code>codecs</code> attribute using the [[ttml-profile-registry]].

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.

s/attribute using/attribute and dereferenced via

<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><code>urn:ebu:tt:distribution:2014-01</code>, as specified in [[EBU-TT-D]]</li>

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.

OK

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated

<p class="note">If the <code>ttp:profile</code> is not set as recommended above, then conformance with the
[[ttml-imsc1.0.1]] profile is communicated using the <a>external processing context</a>.</p>
<p class="note">If the <code>ttp:profile</code> attribute is not set as recommended above, the [[ttml-imsc1.0.1]] profile

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.

do we need to say "the IMSC1.0.1 content profile"?

@nigelmegitt nigelmegitt left a comment

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.

One tiny nit-pick - will fix myself.

Comment thread imsc1/spec/ttml-ww-profiles.html Outdated
<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> apply:</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.

Real nit-pick: should be "applies" since this is talking about one of the scenarios applying.

@palemieux
palemieux merged commit 3c2d4ae into IMSC1.1 Nov 14, 2017
@palemieux
palemieux deleted the profile-signaling-and-resolution branch November 15, 2017 18:00
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants