[ttml2] add viewport and aspect ratio related vocabular, add contain and cover values for tts:extent
--- a/ttml2/spec/acknowledgements-current.txt Thu Dec 18 07:27:12 2014 -0800
+++ b/ttml2/spec/acknowledgements-current.txt Mon Jan 05 02:36:30 2015 -0700
@@ -35,6 +35,7 @@
Frank Olivier,
Soohong Daniel Park,
Silvia Pfeiffer,
+Rohit Puri,
Brian Raymor,
David Ronca,
Patrick Schmitz,
--- a/ttml2/spec/ttml2-changes.html Thu Dec 18 07:27:12 2014 -0800
+++ b/ttml2/spec/ttml2-changes.html Mon Jan 05 02:36:30 2015 -0700
@@ -74,8 +74,8 @@
* In 5.3.1, add new parameter attribute vocabulary
'ttp:mediaDuration',
- and
- 'ttp:mediaOffset'
+ 'ttp:mediaOffset' and
+ 'ttp:storageAspectRatio'
to Table 5-5.
* In 5.3.1, add new animation vocabulary, 'animate', to Animation.class in
@@ -264,6 +264,8 @@
which tts:extent applies. Define semantics that causes the use of tts:extent
to generate an implied inline region.
+* In 10.2.11, add 'contain' and 'cover' values to tts:extent.
+
* In 10.2.12, add 'p' element to enumeration of element types to which
tts:fontFamily applies.
@@ -386,7 +388,9 @@
"anonymous profile",
"audio defining context",
"audio presentation context",
+ "authoring viewport",
"baseline profile",
+ "chunked data embedding",
"content profile",
"data binding context",
"data binding context for metadata",
@@ -396,6 +400,10 @@
"data resource",
"default processor profile",
"designated profile",
+ "display aspect ratio",
+ "display region target",
+ "display target",
+ "dot pitch",
"embedded content element",
"embedded data resource",
"enclosing document instance",
@@ -422,12 +430,19 @@
"non-nesting profile",
"out-of-line animation",
"out-of-line region",
+ "pixel aspect ratio",
+ "presentation viewport",
"profile",
"profile designator",
"profile fragment identifier",
"profile specification",
+ "related media object region target",
+ "sourced data embedding",
+ "storage aspect ratio",
"top-level profile",
- "undesignated profile".
+ "undesignated profile",
+ "viewport", and
+ "viewport target".
* In 2.2, refine definition of "out-of-line region" to better account for
default region implication.
@@ -443,7 +458,7 @@
* In 5.1, extend note under Table 5-1 to clarify meaning of unqualified
attribute names.
-* Sub-divide 6 into two top level sections that segregate profile and
+* In 6.*, subdivide section 6 into two top level sections that segregate profile and
parameter matter.
* In 6.*, renumber tables to use M-N format.
--- a/ttml2/spec/ttml2.xml Thu Dec 18 07:27:12 2014 -0800
+++ b/ttml2/spec/ttml2.xml Mon Jan 05 02:36:30 2015 -0700
@@ -593,6 +593,12 @@
<p>A <loc href="#terms-data-resource">data resource</loc> that contains coded or unencoded audio samples.</p>
</def>
</gitem>
+<gitem id="terms-authoring-viewport">
+<label>[authoring viewport]</label>
+<def>
+<p>A <loc href="#terms-viewport">viewport</loc> employed at authoring (content encoding) time.</p>
+</def>
+</gitem>
<gitem id="terms-baseline-profile">
<label>[baseline profile]</label>
<def>
@@ -667,6 +673,12 @@
<def>
<p>A logical region into which rendered content is placed when modeling or
performing presentation processing.</p>
+<ednote>
+<name>Content Region vs Region</name>
+<date>2014-12-10</date>
+<edtext>Clean up terminology regarding content region vs region, which difference is vague at best.</edtext>
+</ednote>
+<p></p>
</def>
</gitem>
<gitem id="terms-data-binding-context">
@@ -745,6 +757,38 @@
means of a <att>designator</att> attribute or prose text in a specification of profile.</p>
</def>
</gitem>
+<gitem id="terms-display-aspect-ratio">
+<label>[display aspect ratio]</label>
+<def>
+<p>The ratio between the horizontal dimension and vertical dimension of a displayed image, video frame,
+viewport or region, display device, etc. Equal to the product of <loc href="#terms-storage-aspect-ratio">storage aspect ratio</loc>
+and <loc href="#terms-pixel-aspect-ratio">pixel aspect ratio</loc>.</p>
+</def>
+</gitem>
+<gitem id="terms-display-region-target">
+<label>[display region target]</label>
+<def>
+<p>A <loc href="#terms-viewport">viewport</loc> targeted to a rectangular region of a display device, i.e., not in full-screen mode.</p>
+</def>
+</gitem>
+<gitem id="terms-display-target">
+<label>[display target]</label>
+<def>
+<p>A <loc href="#terms-viewport">viewport</loc> targeted to a display device as a whole, i.e., in full-screen mode.</p>
+</def>
+</gitem>
+<gitem id="terms-document-coordinate-space">
+<label>[document coordinate space]</label>
+<def>
+<p></p>
+<ednote>
+<name>Document Coordinate Space Definition</name>
+<date>2015-01-05</date>
+<edtext>Either define or express in terms of (some) viewport.</edtext>
+</ednote>
+<p></p>
+</def>
+</gitem>
<gitem id="terms-document-instance">
<label>[document instance]</label>
<def>
@@ -768,6 +812,13 @@
<loc href="#terms-synthetic-document-syncbase">synthetic document syncbase</loc>.</p>
</def>
</gitem>
+<gitem id="terms-dot-pitch">
+<label>[dot pitch]</label>
+<def>
+<p>Depending upon display device technology, the distance between holes in the shadow mask, the distance between wires in the aperture grill,
+the distance between sub-pixels of the same color, etc.</p>
+</def>
+</gitem>
<gitem id="terms-effective-content-profile">
<label>[effective content profile]</label>
<def>
@@ -1093,6 +1144,25 @@
<loc href="#terms-out-of-line-region">out-of-line region</loc> is specified explicitly.</p>
</def>
</gitem>
+<gitem id="terms-pixel-aspect-ratio">
+<label>[pixel aspect ratio]</label>
+<def>
+<p>The ratio between the horizontal dimension and vertical dimension of a displayed pixel. Note that the dimensions of a display pixel may or may not
+correspond to the <loc href="#terms-dot-pitch">dot pitch</loc> of the display device on which it is rendered.</p>
+</def>
+</gitem>
+<gitem id="terms-presentation-context-coordinate-space">
+<label>[presentation context coordinate space]</label>
+<def>
+<p></p>
+<ednote>
+<name>Presentation Context Coordinate Space Definition</name>
+<date>2015-01-05</date>
+<edtext>Either define or express in terms of (some) viewport.</edtext>
+</ednote>
+<p></p>
+</def>
+</gitem>
<gitem id="terms-presentation-processor">
<label>[presentation processor]</label>
<def>
@@ -1101,6 +1171,16 @@
defined in this specification.</p>
</def>
</gitem>
+<gitem id="terms-presentation-viewport">
+<label>[presentation viewport]</label>
+<def>
+<p>A <loc href="#terms-viewport">viewport</loc> employed at presentation (content decoding) time.</p>
+<p>Note well that the characteristics of a <loc href="#presentation-viewport">presentation viewport</loc> may or may not
+match the characteristics of the <loc href="#authoring-viewport">authoring viewport</loc> used when content was authored (encoded).
+In particular, the <loc href="#terms-storage-aspect-ratio">storage aspect ratio</loc> and (or) the <loc href="#terms-pixel-aspect-ratio">pixel aspect ratio</loc>
+of the former may differ from that of the latter.</p>
+</def>
+</gitem>
<gitem id="terms-processor">
<label>[processor]</label>
<def>
@@ -1179,6 +1259,18 @@
<p>When a non-null <loc href="#terms-related-media-object">related media object</loc> exists, the region of this media object,
expressed in the coordinate system that applies to the <loc href="#terms-document-instance">document instance</loc> that is associated with the
related media object.</p>
+<ednote>
+<name>Update Definition of Related Media Object Region</name>
+<date>2014-12-02</date>
+<edtext>Untangle definition from use of document coordinate space.</edtext>
+</ednote>
+<p></p>
+</def>
+</gitem>
+<gitem id="terms-related-media-object-region-target">
+<label>[related media object region target]</label>
+<def>
+<p>A <loc href="#terms-viewport">viewport</loc> targeted to a <loc href="#terms-related-media-object-region">related media object region</loc>.</p>
</def>
</gitem>
<gitem id="terms-root-container-region">
@@ -1212,13 +1304,20 @@
</def>
</gitem>
<gitem id="terms-sourced-data-embedding">
-<label>[chunked data embedding]</label>
-<def>
-<p>A <loc href="#embedded-content-vocabulary-data"><el>data</el></loc> element the indirectly references the content
+<label>[sourced data embedding]</label>
+<def>
+<p>A <loc href="#embedded-content-vocabulary-data"><el>data</el></loc> element that indirectly references the content
of an <loc href="#terms-embedded-data-resource">embedded data resource</loc> by making use of a
child <loc href="#embedded-content-vocabulary-source"><el>source</el></loc> element.</p>
</def>
</gitem>
+<gitem id="terms-storage-aspect-ratio">
+<label>[storage aspect ratio]</label>
+<def>
+<p>The ratio between the number of horizontal samples and the number of vertical samples of a two-dimensional
+representation of an image, a video frame, a viewport or region, etc.</p>
+</def>
+</gitem>
<gitem id="terms-synthetic-document-syncbase">
<label>[synthetic document syncbase]</label>
<def>
@@ -1365,6 +1464,25 @@
and found to be valid as defined by <specref ref="doctypes"/>.</p>
</def>
</gitem>
+<gitem id="terms-viewport">
+<label>[viewport]</label>
+<def>
+<p>A logical, rectangular area with respect to which content is encoded or decoded for the purpose of presentation, where such area
+may be employed by or for the authoring or presentation of a <loc href="#terms-related-media-object">related media object</loc> or
+the <loc href="#terms-root-container-region">root container region</loc> and its constituent <loc href="#terms-region">regions</loc>.</p>
+</def>
+</gitem>
+<gitem id="terms-viewport-target">
+<label>[viewport target]</label>
+<def>
+<p>An implied or explicit target or mapping of a <loc href="#viewport">viewport</loc> to some logical or physical entity, of which this
+specification identifies three such targets:
+<loc href="#terms-display-target">display target</loc>,
+<loc href="#terms-display-region-target">display region target</loc>, and
+<loc href="#terms-related-media-object-region-target">related media object region target</loc>.
+</p>
+</def>
+</gitem>
</glist>
</div2> <!-- terms -->
<div2 id="conventions">
@@ -2821,6 +2939,7 @@
<loc href="#parameter-attribute-mediaDuration">ttp:mediaDuration</loc>,
<loc href="#parameter-attribute-mediaOffset">ttp:mediaOffset</loc>,
<loc href="#parameter-attribute-pixelAspectRatio">ttp:pixelAspectRatio</loc>,
+<loc href="#parameter-attribute-storageAspectRatio">ttp:storageAspectRatio</loc>,
<loc href="#parameter-attribute-subFrameRate">ttp:subFrameRate</loc>,
<loc href="#parameter-attribute-tickRate">ttp:tickRate</loc>,
<loc href="#parameter-attribute-timeBase">ttp:timeBase</loc>,
@@ -4180,6 +4299,7 @@
<item><p><specref ref="parameter-attribute-mediaDuration"/></p></item>
<item><p><specref ref="parameter-attribute-mediaOffset"/></p></item>
<item><p><specref ref="parameter-attribute-pixelAspectRatio"/></p></item>
+<item><p><specref ref="parameter-attribute-storageAspectRatio"/></p></item>
<item><p><specref ref="parameter-attribute-subFrameRate"/></p></item>
<item><p><specref ref="parameter-attribute-tickRate"/></p></item>
<item><p><specref ref="parameter-attribute-timeBase"/></p></item>
@@ -4637,9 +4757,8 @@
</div3>
<div3 id="parameter-attribute-pixelAspectRatio">
<head>ttp:pixelAspectRatio</head>
-<p>The <att>ttp:pixelAspectRatio</att> attribute may be used by a content author
-to express the aspect ratio of non-square pixels in the production of content that
-makes use of pixel coordinates.</p>
+<p>The <att>ttp:pixelAspectRatio</att> attribute may be used to express the <loc href="#terms-pixel-aspect-ratio">pixel aspect ratio</loc> associated with the
+<loc href="#terms-authoring-viewport">authoring viewport</loc>.</p>
<p>If specified, the value of this attribute must adhere to the following syntax:</p>
<table id="parameter-attribute-pixelAspectRatio-syntax" role="syntax">
<caption>Syntax Representation – ttp:pixelAspectRatio</caption>
@@ -4648,9 +4767,9 @@
<td>
<eg xml:space="preserve">
ttp:pixelAspectRatio
- : width height // <emph>width</emph> != 0; <emph>height</emph> != 0
-
-width | height
+ : numerator demoninator // <emph>numerator</emph> != 0; <emph>demoninator</emph> != 0
+
+numerator | demoninator
: <loc href="#style-value-digit"><digit></loc>+
</eg>
</td>
@@ -4658,14 +4777,35 @@
</tbody>
</table>
<p>If not specified, then square pixels (i.e., aspect ratio 1:1) must be assumed to apply.
-If specified, then both width and height must be non-zero.</p>
+If specified, then both numerator and demoninator must be non-zero.</p>
<p>A <att>ttp:pixelAspectRatio</att> attribute is considered to be significant only
when specified on the <el>tt</el> element.</p>
-<note role="explanation">
-<p>This parameter may be used by a content transcoder or translator in
-order to convert pixel measurements between different pixel aspect
-ratios while still maintaining authorial layout intentions.</p>
-</note>
+</div3>
+<div3 id="parameter-attribute-storageAspectRatio">
+<head>ttp:storageAspectRatio</head>
+<p>The <att>ttp:storageAspectRatio</att> attribute may be used to express the <loc href="#terms-storage-aspect-ratio">storage aspect ratio</loc> associated with the
+<loc href="#terms-authoring-viewport">authoring viewport</loc>.</p>
+<p>If specified, the value of this attribute must adhere to the following syntax:</p>
+<table id="parameter-attribute-storageAspectRatio-syntax" role="syntax">
+<caption>Syntax Representation – ttp:storageAspectRatio</caption>
+<tbody>
+<tr>
+<td>
+<eg xml:space="preserve">
+ttp:storageAspectRatio
+ : numerator demoninator // <emph>numerator</emph> != 0; <emph>demoninator</emph> != 0
+
+numerator | demoninator
+ : <loc href="#style-value-digit"><digit></loc>+
+</eg>
+</td>
+</tr>
+</tbody>
+</table>
+<p>If specified, then both numerator and demoninator must be non-zero.
+If not specified, then the storage aspect ratio of the <loc href="#terms-authoring-viewport">authoring viewport</loc> is undefined.</p>
+<p>A <att>ttp:storageAspectRatio</att> attribute is considered to be significant only
+when specified on the <el>tt</el> element.</p>
</div3>
<div3 id="parameter-attribute-subFrameRate">
<head>ttp:subFrameRate</head>
@@ -6469,7 +6609,7 @@
in the <loc href="#terms-enclosing-document-instance">enclosing document instance</loc>.</p>
<p>If a <el>source</el> element does not specify a <loc href="#embedded-content-attribute-src"><att>src</att></loc> attribute, then it must specify a
child <loc href="#embedded-content-vocabulary-data"><el>data</el></loc> element, in which case it is referred to as
-an <loc href="#terms-nested-embedded-source">nested embedded source</loc>.</p>
+a <loc href="#terms-nested-embedded-source">nested embedded source</loc>.</p>
<p>A <el>source</el> element must not have an ancestor <el>source</el> element.</p>
<table id="elt-syntax-source" role="syntax">
<caption>XML Representation – Element Information Item: source</caption>
@@ -6622,13 +6762,12 @@
<item><p><loc href="#embedded-content-vocabulary-source"><el>source</el></loc></p></item>
</ulist>
<p>The value of a <att>format</att> attribute must adhere to a
-<loc href="#embedded-content-value-format"><format></loc> expression.</p>
+<loc href="#embedded-content-value-data-format"><data-format></loc> expression.</p>
<p>Depending on the context of use, additional constraints may apply.</p>
</div3>
<div3 id="embedded-content-attribute-src">
<head>src</head>
-<p>The <att>src</att> attribute is used to specify the media (content) type of data resource, and may express additional
-parameters that characterize the data.</p>
+<p>The <att>src</att> attribute is used to specify the location or an identifier that maps to the location of data resource.</p>
<p>The <att>src</att> attribute may be specified by an instance of the following
element types:</p>
<ulist>
@@ -6665,7 +6804,7 @@
</div2> <!-- embedded-content-attribute-vocabulary -->
<div2 id="embedded-content-value-expressions">
<head>Embedded Content Value Expressions</head>
-<p>Embedded content elements as well as certain style property values include the use of the following expressions:</p>
+<p>Embedded content elements as well as certain style property values make use of the following expressions:</p>
<ulist>
<item><p><specref ref="embedded-content-value-audio"/></p></item>
<item><p><specref ref="embedded-content-value-audio-format"/></p></item>
@@ -6673,7 +6812,6 @@
<item><p><specref ref="embedded-content-value-data-format"/></p></item>
<item><p><specref ref="embedded-content-value-font"/></p></item>
<item><p><specref ref="embedded-content-value-font-format"/></p></item>
-<item><p><specref ref="embedded-content-value-format"/></p></item>
<item><p><specref ref="embedded-content-value-image"/></p></item>
<item><p><specref ref="embedded-content-value-image-format"/></p></item>
<item><p><specref ref="embedded-content-value-unicode-range"/></p></item>
@@ -6773,7 +6911,7 @@
</div3>
<div3 id="embedded-content-value-font">
<head><font></head>
-<p>An <font> expression is used to specify an <loc href="#terms-font-resource">font resource</loc> by reference.</p>
+<p>An <font> expression is used to specify a <loc href="#terms-font-resource">font resource</loc> by reference.</p>
<table id="font-value-expression-syntax" role="syntax">
<caption>Syntax Representation – <font></caption>
<tbody>
@@ -6787,8 +6925,8 @@
</tr>
</tbody>
</table>
-<p>If an <font> expression takes the form of a <loc href="#terms-fragment-identifier">fragment identifier</loc>,
-then that fragment identifier must reference an <loc href="#embedded-content-vocabulary-font"><el>font</el></loc> element that is a child of a
+<p>If a <font> expression takes the form of a <loc href="#terms-fragment-identifier">fragment identifier</loc>,
+then that fragment identifier must reference a <loc href="#embedded-content-vocabulary-font"><el>font</el></loc> element that is a child of a
<loc href="#embedded-content-vocabulary-resources"><el>resources</el></loc> element in the <loc href="#terms-enclosing-document-instance">enclosing document instance</loc>.</p>
</div3>
<div3 id="embedded-content-value-font-format">
@@ -6821,32 +6959,6 @@
prefix <code>"x-"</code> to form a private use token.</p>
</note>
</div3>
-<div3 id="embedded-content-value-format">
-<head><format></head>
-<p>A <format> expression is used to specify the format of a data resource. Additional format information is useful in the case
-of data resources that lack a registered media (content) type.</p>
-<table id="format-value-expression-syntax" role="syntax">
-<caption>Syntax Representation – <format></caption>
-<tbody>
-<tr>
-<td>
-<eg xml:space="preserve">
-<format>
- : <loc href="http://www.w3.org/TR/xmlschema-2/#token">xsd:token</loc>
- | <loc href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</loc>
-</eg>
-</td>
-</tr>
-</tbody>
-</table>
-<p>If a format expression takes the form of an <loc href="http://www.w3.org/TR/xmlschema-2/#anyURI">xsd:anyURI</loc>,
-then it must express an absolute URI.</p>
-<note role="elaboration">
-<p>This specification does not standardize the set of format tokens. Authors are encouraged to
-use tokens in common use, or absent that, to add a prefix <code>"x-"</code> to form a private use token.
-Alternatively, an author may use an arbitrary absolute URI as a format specification.</p>
-</note>
-</div3>
<div3 id="embedded-content-value-image">
<head><image></head>
<p>An <image> expression is used to specify an <loc href="#terms-image-resource">image resource</loc> by reference.</p>
@@ -8117,8 +8229,9 @@
<div3 id="style-attribute-extent">
<head>tts:extent</head>
<p>The <att>tts:extent</att> attribute is used to specify the
-<emph>width</emph> and <emph>height</emph> of a region area
-(which may be the <loc href="#terms-root-container-region">root container region</loc>).</p>
+<emph>width</emph> and <emph>height</emph> of a region area. It may also be used to specify the extent of
+the <loc href="#terms-root-container-region">root container region</loc>, which has the effect of defining
+the <loc href="#terms-document-coordinate-space">document coordinate space</loc>.</p>
<p>This attribute may be specified by any
element type
that permits use of attributes in the TT Style Namespace; however, this attribute applies
@@ -8131,6 +8244,8 @@
<td><emph>Values:</emph></td>
<td>
<code>auto</code> |
+<code>contain</code> |
+<code>cover</code> |
<loc href="#style-value-measure"><measure></loc> <loc href="#style-value-measure"><measure></loc>
</td>
</tr>
@@ -8168,6 +8283,11 @@
<p>The <loc href="#style-value-measure"><measure></loc> value(s) used to express extent must be non-negative.</p>
<p>If the value of this attribute is <code>auto</code>, then the computed value
of the style property must be considered to be the same as the extent of the <loc href="#terms-root-container-region">root container region</loc>.</p>
+<ednote>
+<name>Semantics of contain and cover</name>
+<date>2015-01-05</date>
+<edtext>Define semantics of new <code>contain</code> and <code>cover</code> values.</edtext>
+</ednote>
<p>The extent of the <loc href="#terms-root-container-region">root container region</loc> is determined either by a
<att>tts:extent</att> specified on the <el>tt</el> element, if
present, or as described by <specref ref="document-structure-vocabulary-tt"/> if not present.
@@ -9561,7 +9681,12 @@
<p>The <loc href="#terms-root-container-region">root container region</loc> has no border or padding; consequently, its border, padding, and
content rectangles (boxes) are coterminous.</p>
</note>
-<p>If a <att>tts:position</att> attribute is specified on a <el>div</el> or <el>p</el> element, then that specification must be considered to be
+<p>If a horizontal or vertical position offset is specified by a <att>tts:position</att> attribute in the form of a scalar value
+on a <loc href="#document-structure-vocabulary-tt"><el>tt</el></loc> element, then that value must be expressed using pixel (<code>px</code>) units,
+in which case a pixel must be interpreted as a pixel in the <loc href="#terms-presentation-context-coordinate-space">presentation context coordinate space</loc>
+(and not a pixel in the <loc href="#terms-document-coordinate-space">document coordinate space</loc>).</p>
+<p>If a <att>tts:position</att> attribute is specified on a <loc href="#content-vocabulary-div"><el>div</el></loc> or
+<loc href="#content-vocabulary-p"><el>p</el></loc> element, then that specification must be considered to be
equivalent to specifying an anonymous <loc href="#terms-inline-region">inline region</loc> child of the <el>div</el> or <el>p</el> element, where the
position of the corresponding region, also referred to as an <loc href="#terms-implied-inline-region">implied inline region</loc>, is equal to the
value of this attribute.</p>