Copyright
©
2016
2017
W3C
®
(
MIT
,
ERCIM
,
Keio
,
Beihang
).
W3C
liability
,
trademark
and
document
use
rules
apply.
This document specifies two profiles of [ TTML1 ]: a text-only profile and an image-only profile. These profiles are intended to be used across subtitle and caption delivery applications worldwide, thereby simplifying interoperability, consistent rendering and conversion to other subtitling and captioning formats.
It is feasible to create documents that simultaneously conform to both [ ttml10-sdp-us ] and the text-only profile.
The document defines extensions to [ TTML1 ], as well as incorporates extensions specified in [ ST2052-1 ] and [ EBU-TT-D ].
Both profiles are based on [ SUBM ].
This
section
describes
the
status
of
this
document
at
the
time
of
its
publication.
Other
documents
may
supersede
this
document.
A
list
of
current
W3C
publications
and
the
latest
revision
of
this
technical
report
can
be
found
in
the
W3C
technical
reports
index
at
http://www.w3.org/TR/.
https://www.w3.org/TR/.
This
document
was
published
by
the
Timed
Text
Working
Group
as
a
Working
Draft.
This
document
is
intended
to
become
a
W3C
Recommendation.
Comments
may
be
sent
If
you
wish
to
make
comments
regarding
this
document,
please
send
them
to
public-tt@w3.org
(
subscribe
,
archives
).
)
with
[imsc]
at
the
start
of
your
email's
subject.
All
comments
are
welcome.
No
change
were
done
The
Timed
Text
Working
Group
intends
to
recommend
transition
of
this
document
since
its
previous
publication.
to
Candidate
Recommendation
and
is
offering
this
Working
Draft
for
a
public
review
period
ending
on
7
May
2017.
This
revision
of
the
document
has
been
reviewed
by
W3C
Members,
by
software
developers,
and
by
other
W3C
groups
is
designed
such
that
Processors
and
interested
parties,
document
instances
that
conform
to
the
Recommendation
dated
21
April
2016
also
conform
to
this
revision.
As
a
result,
review
should
focus
on
the
modifications
made
since
the
Recommendation
dated
21
April
2016
,
including
the
6.7.5
ittp:activeArea
and
6.7.6
itts:fillLineGap
features.
A
list
of
the
substantive
changes
applied
since
the
initial
Working
Draft
is
endorsed
by
found
at
substantive-changes-summary.txt
.
For
convenience,
a
complete
diff
between
this
version
and
the
Director
Recommendation
dated
21
April
2016
is
found
at
diff.html
.
Publication
as
a
Working
Draft
does
not
imply
endorsement
by
the
W3C
Recommendation.
It
Membership.
This
is
a
stable
draft
document
and
may
be
used
as
reference
material
updated,
replaced
or
cited
from
another
document.
W3C's
role
in
making
the
Recommendation
obsoleted
by
other
documents
at
any
time.
It
is
inappropriate
to
draw
attention
to
the
specification
and
to
promote
its
widespread
deployment.
This
enhances
the
functionality
and
interoperability
of
the
Web.
cite
this
document
as
other
than
work
in
progress.
This document was produced by a group operating under the 5 February 2004 W3C Patent Policy . W3C maintains a public list of any patent disclosures made in connection with the deliverables of the group; that page also includes instructions for disclosing a patent. An individual who has actual knowledge of a patent which the individual believes contains Essential Claim(s) must disclose the information in accordance with section 6 of the W3C Patent Policy .
This
document
is
governed
by
the
1
September
2015
March
2017
W3C
Process
Document
.
This
document
specifies
specification
defines
two
profiles
of
[
TTML1
]:
a
text-only
profile
and
an
image-only
profile.
These
profiles
are
intended
for
subtitle
and
caption
delivery
worldwide,
including
dialog
language
translation,
content
description,
captions
for
deaf
and
hard
of
hearing,
etc.
The text profile is a syntactic superset of [ ttml10-sdp-us ], and a document can simultaneously conform to both [ ttml10-sdp-us ] and the text-only profile.
The document defines extensions to [ TTML1 ], as well as incorporates extensions specified in [ ST2052-1 ] and [ EBU-TT-D ].
This version of the specification makes editorial corrections and adds two optional features ( 6.7.5 ittp:activeArea and 6.7.6 itts:fillLineGap ) over the Recommendation dated 21 April 2016 . Processors and document instances that conform to the Recommendation dated 21 April 2016 also conform to this version of the specification.
This specification uses the same conventions as [ TTML1 ] for the specification of parameter attributes, styling attributes and metadata elements. In particular, Section 2.3 of [ TTML1 ] specifies conventions used in the XML representation of elements.
All content of this specification that is not explicitly marked as non-normative is considered to be normative. If a section or appendix header contains the expression "non-normative", then the entirety of the section or appendix is considered non-normative.
This specification uses Feature and Extension designations as defined in Appendices D.1 and E.1 at [ TTML1 ]:
If the name of an element referenced in this specification is not namespace qualified, then the TT namespace applies (see 6.3 Namespaces .)
Default Region . See Section 9.3.1 at [ TTML1 ].
Document Instance . See Section 2.2 at [ TTML1 ].
Extension . See Section 2.2 at [ TTML1 ].
Feature . See Section 2.2 at [ TTML1 ].
Intermediate Synchronic Document . See Section 9.3.2 at [ TTML1 ].
Document Interchange Context . See Section 2.2 at [ TTML1 ].
Document Processing Context . See Section 2.2 at [ TTML1 ].
Processor . Either a Presentation processor or a Transformation processor .
Presentation processor . See Section 2.2 at [ TTML1 ].
Transformation processor . See Section 2.2 at [ TTML1 ].
Related Media Object . See Section 2.2 at [ TTML1 ].
Related Video Object . A Related Media Object that consists of a sequence of image frames, each a rectangular array of pixels.
Text Alternative . As defined in [ WCAG20 ].
As well as sections marked as non-normative, all authoring guidelines, diagrams, examples, and notes in this specification are non-normative. Everything else in this specification is normative.
The key words MAY , SHALL , SHALL NOT , SHOULD , and SHOULD NOT are to be interpreted as described in [ RFC2119 ].
A Document Instance that conforms to a profile defined herein:
A Document Instance , by definition, satisfies the requirements of Section 3.1 at [ TTML1 ], and hence a Document Instance that conforms to a profile defined herein is also a conforming TTML1 Document Instance.
A presentation processor that conforms to a profile defined in this specification:
A transformation processor that conforms to a profile defined in this specification:
The use of the term presentation processor ( transformation processor ) within this specification does not imply conformance to the DFXP Presentation Profile (DFXP Transformation Profile) specified in [ TTML1 ]. In other words, it is not considered an error for a presentation processor ( transformation processor ) to conform to a profile defined in this specification without also conforming to the DFXP Presentation Profile (DFXP Transformation Profile).
This specification does not specify presentation processor or transformation processor behavior when processing or transforming a non-conformant Document Instance .
The
permitted
and
prohibited
dispositions
do
not
refer
to
the
specification
of
a
ttp:feature
or
ttp:extension
element
as
being
permitted
or
prohibited
within
a
ttp:profile
element.
Notwithstanding
special
cases,
e.g.
a
Document
Instance
that
contains
no
p
,
span
,
br
element
and
no
smpte:backgroundImage
attribute,
it
is
generally
not
possible
to
construct
a
Document
Instance
that
conforms
to
the
Text
Profile
and
Image
Profile
simultaneously,
and
it
is
not
possible
to
construct
a
Document
Instance
that
results
in
the
presentation
of
both
text
data
and
image
data.
In applications that require subtitle/caption content in image form to be simultaneously available in text form, two distinct Document Instances , one conforming to the Text Profile and the other conforming to the Image Profile , SHOULD be offered. In addition, the Text Profile Document Instance SHOULD be associated with the Image Profile Document Instance such that, when image content is encountered, assistive technologies have access to its corresponding text form. The method by which this association is made is left to each application.
The
ittm:altText
element
specified
6.7.4
ittm:altText
also
allows
text
equivalent
string
to
be
associated
with
an
image,
e.g.
to
support
indexation
of
the
content
and
also
facilitate
quality
checking
of
the
document
during
authoring.
Annex D. WCAG Considerations specifically discusses this specification in the context of the [ WCAG20 ] guidelines.
The Text Profile consists of Sections 6. Common Constraints and 7. Text Profile Constraints .
The Image Profile consists of Sections 6. Common Constraints and 8. Image Profile Constraints .
For the purpose of content processing, the determination of the resolved profile SHOULD take into account both the signaled profile, as defined in 6.9 Profile Signaling , and profile metadata, as designated by either (or both) the Document Interchange Context or (and) the Document Processing Context , which MAY entail inspecting document content.
If the resolved profile is not a profile supported by the Processor but is feasibly interoperable with the Text Profile , then the resolved profile is the Text Profile ; otherwise, if the resolved profile is not a profile supported by the Processor but is feasibly interoperable with the Image Profile , then the resolved profile is the Image Profile .
If the resolved profile is a profile supported by the Processor , then the Processor SHOULD process the Document Instance according to the resolved profile. If the resolved profile is neither Text Profile nor Image Profile , processing is outside the scope of this specification.
If the resolved profile is undetermined or not supported by the Processor , then the Processor SHOULD nevertheless process the Document Instance using one of its supported profiles, with a preference for the Text Profile over the Image Profile ; otherwise, processing MAY be aborted.
A Document Instance SHALL use UTF-8 character encoding as specified in [ UNICODE ].
A Document Instance MAY contain elements and attributes that are neither specifically permitted nor forbidden by a profile.
A transformation processor SHOULD preserve such elements or attributes whenever possible.
tt
root
document
element
and
its
descendants,
as
specified
in
[
TTML1
].
In
particular,
the
[
TTML1
]
content
specification
specifies
that
elements
and
attributes
not
in
any
TT
namespace,
i.e.
in
foreign
namespaces,
are
permitted
as
follows:
metadata
element
is
the
only
element
whose
child
elements
can
belong
to
foreign
namespaces,
and
the
metadata
element
is
permitted
on
all
elements
defined
by
[
TTML1
]
with
the
exception
of
the
following:
ttp:feature
,
ttp:extension
,
tt
,
style
,
ttm:title
,
ttm:desc
,
ttm:copyright
,
ttm:agent
,
ttm:name
,
and
ttm:actor
;
and
The following namespaces (see [ xml-names ]) are used in this specification:
Name | Prefix | Value | Defining Specification |
---|---|---|---|
XML |
xml
|
http://www.w3.org/XML/1998/namespace
|
[ xml-names ] |
TT |
tt
|
http://www.w3.org/ns/ttml
|
[ TTML1 ] |
TT Parameter |
ttp
|
http://www.w3.org/ns/ttml#parameter
|
[ TTML1 ] |
TT Styling |
tts
|
http://www.w3.org/ns/ttml#styling
|
[ TTML1 ] |
TT Feature | none |
http://www.w3.org/ns/ttml/feature/
|
[ TTML1 ] |
SMPTE-TT Extension |
smpte
|
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt
|
[ ST2052-1 ] |
EBU-TT Styling |
ebutts
|
urn:ebu:tt:style
|
[ EBU-TT-D ] |
EBU-TT Metadata |
ebuttm
|
urn:ebu:tt:metadata
|
[ EBU-TT-D ] |
IMSC 1.0 Styling |
itts
|
http://www.w3.org/ns/ttml/profile/imsc1#styling
|
This specification |
IMSC 1.0 Parameter |
ittp
|
http://www.w3.org/ns/ttml/profile/imsc1#parameter
|
This specification |
IMSC 1.0 Metadata |
ittm
|
http://www.w3.org/ns/ttml/profile/imsc1#metadata
|
This specification |
IMSC 1.0 Extension | none |
http://www.w3.org/ns/ttml/profile/imsc1/extension/
|
This specification |
IMSC 1.0 Text Profile Designator | none |
http://www.w3.org/ns/ttml/profile/imsc1/text
|
This specification |
IMSC 1.0 Image Profile Designator | none |
http://www.w3.org/ns/ttml/profile/imsc1/image
|
This specification |
The namespace prefix values defined above are for convenience and Document Instances MAY use any prefix value that conforms to [ xml-names ].
The namespaces defined by this specification are mutable [ namespaceState ]; all undefined names in these namespaces are reserved for future standardization by the W3C .
A
Document
Instance
SHOULD
be
authored
assuming
strict
clipping
of
content
that
falls
out
of
region
areas,
regardless
of
the
computed
value
of
tts:overflow
for
the
region.
As
specified
in
[
TTML1
],
tts:overflow
has
no
effect
on
the
extent
of
the
region,
and
hence
the
total
normalized
drawing
area
S(E
n
)
at
9.3
Paint
Regions
.
Each intermediate synchronic document of the Document Instance is intended to be displayed on a specific frame and removed on a specific frame of the Related Video Object .
When mapping a media time expression M to a frame F of a Related Video Object , e.g. for the purpose of rendering a Document Instance onto the Related Video Object , the presentation processor SHALL map M to the frame F with the presentation time that is the closest to, but not less, than M.
In typical scenario, the same video program (the Related Video Object ) will be used for Document Instance authoring, delivery and user playback. The mapping from media time expression to Related Video Object above allows the author to precisely associate subtitle video content with video frames, e.g. around scene transitions. In circumstances where the video program is downsampled during delivery, the application can specify that, at playback, the relative video object be considered the delivered video program upsampled to is original rate, thereby allowing subtitle content to be rendered at the same temporal locations it was authored.
The
ittp:aspectRatio
attributes
allows
authorial
control
of
the
mapping
of
the
root
container
of
a
Document
Instance
to
each
image
frame
of
the
Related
Video
Object
.
If
present,
the
ittp:aspectRatio
attribute
SHALL
conform
to
the
following
syntax:
ittp:aspectRatio
|
The root container of a Document Instance SHALL be mapped to each image frame of the Related Video Object according to the following:
If
ittp:aspectRatio
is
present,
the
root
container
SHALL
be
mapped
to
a
rectangular
area
within
the
image
frame
such
that:
ittp:aspectRatio
,
Otherwise, the root container of a Document Instance SHALL be mapped to the image frame in its entirety.
An
ittp:aspectRatio
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
The
ittp:aspectRatio
parameter
effectively
defines
the
intended
display
aspect
ratio
(DAR)
of
the
root
container,
while
the
tts:extent
style
property
on
the
root
element
effectively
defines
the
intended
storage
aspect
ratio
(SAR)
of
the
root
container.
As
a
result,
when
both
tts:extent
and
ittp:aspectRatio
are
specified
on
the
tt
element,
the
effective
pixel
aspect
ratio
(PAR)
of
the
root
container
is
equal
to
the
ratio
of
the
DAR
to
the
SAR.
ttp:aspectRatio="4
3"
,
allowing
the
combination
to
be
displayed
on
both
4:3
and
16:9
display
devices
while
preserving
both
caption/subtitles
content
and
the
relative
position
of
caption/subtitles
with
video
elements.
A
progressively
decodable
Document
Instance
is
structured
to
facilitate
presentation
before
the
document
is
received
in
its
entirety,
and
can
be
identified
using
ittp:progressivelyDecodable
attribute.
A progressively decodable Document Instance is a Document Instance that conforms to the following:
head
element;
p
element
that
lexically
precedes
any
p
element
that
B
includes;
p
;
and
If
present,
the
ittp:progressivelyDecodable
attribute
SHALL
conform
to
the
following
syntax:
ittp:progressivelyDecodable
|
An
ittp:progressivelyDecodable
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
If
not
specified,
the
value
of
ittp:progressivelyDecodable
SHALL
be
considered
to
be
equal
to
"false"
.
A
Document
Instance
for
which
the
computed
value
of
ittp:progressivelyDecodable
is
"true"
SHALL
be
a
progressively
decodable
Document
Instance
.
A
Document
Instance
for
which
the
computed
value
of
ittp:progressivelyDecodable
is
"false"
is
neither
asserted
to
be
a
progressively
decodable
Document
Instance
nor
asserted
not
to
be
a
progressively
decodable
Document
Instance
.
<tt
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter"
ittp:progressivelyDecodable="true"
ttp:profile="..."
>
...
</tt>
</tt>
[
TTML1
]
specifies
explicitly
referencing
of
elements
identified
using
xml:id
in
the
following
circumstances:
body
referencing
region
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
body
referencing
style
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
region
element
referencing
style
elements.
In
this
case,
Requirement
4
above
is
always
satisfied.
style
element
referencing
other
style
elements.
In
this
case,
Requirement
4
provides
an
optimization
of
style
element
ordering
within
the
head
element.
ttm:actor
element
referencing
a
ttm:agent
element.
In
this
case,
Requirement
4
provides
optimization
of
metadata
elements
ordering
within
the
document.
ttm:agent
elements
using
the
ttm:agent
attribute.
In
this
case,
Requirement
4
provides
optimization
of
metadata
elements
ordering
within
the
document.
itts:forcedDisplay
can
be
used
to
hide
content
whose
computed
value
of
tts:visibility
is
"visible"
when
the
processor
has
been
configured
to
do
so
via
the
application
parameter
displayForcedOnlyMode
.
If
and
only
if
the
value
of
displayForcedOnlyMode
is
"true"
,
a
content
element
with
a
itts:forcedDisplay
computed
value
of
"false"
SHALL
NOT
produce
any
visible
rendering,
but
still
affect
layout,
regardless
of
the
computed
value
of
tts:visibility
.
The
itts:forcedDisplay
attribute
SHALL
conform
to
the
following:
Values: |
false
|
true
|
Initial: |
false
|
Applies to: |
body
,
div
,
p
,
region
,
span
|
Inherited: | yes |
Percentages: | N/A |
Animatable: | discrete |
Annex
C.
Forced
content
(non-normative)
illustrates
the
use
of
itts:forcedDisplay
in
an
application
in
which
a
single
document
contains
both
hard
of
hearing
captions
and
translated
foreign
language
subtitles,
using
itts:forcedDisplay
to
display
translation
subtitles
always,
independently
of
whether
the
hard
of
hearing
captions
are
displayed
or
hidden.
The
presentation
processor
SHALL
accept
an
optional
boolean
parameter
called
displayForcedOnlyMode
,
whose
value
MAY
be
set
by
a
context
external
to
the
presentation
processor
.
If
not
set,
the
value
of
displayForcedOnlyMode
SHALL
be
assumed
to
be
equal
to
"false"
.
The
algorithm
for
setting
the
displayForcedOnlyMode
parameter
based
on
the
circumstances
under
which
the
Document
Instance
is
presented
is
left
to
the
application.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter" xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling" ittp:aspectRatio="16 9" ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text">
<!-- the following will not appear if displayForcedOnlyMode='true' -->
<p region="r2" begin="4s" end="6s">Nous étions inscrits au même lycée.</p>
</div>
...
<head>
<layout>
<region xml:id="r1" tts:showBackground="whenActive" tts:origin="10% 2%" tts:extent="80% 10%" tts:color="white" itts:forcedDisplay="true" tts:backgroundColor="black"/>
<region xml:id="r2" tts:showBackground="whenActive" tts:origin="10% 80%" tts:extent="80% 10%" tts:color="white" tts:backgroundColor="black"/>
</layout>
</head>
<body>
<div>
<p region="r1" begin="1s" end="6s">Lycée</p>
<!-- the following will not appear if displayForcedOnlyMode='true' -->
<p region="r2" begin="4s" end="6s">Nous étions inscrits au même lycée.</p>
</div>
</body>
</tt>
As
specified
in
[
TTML1
],
the
background
of
a
region
can
be
visible
even
if
the
computed
value
of
tts:visibility
equals
"hidden"
for
all
active
content
within.
The
background
of
a
region
for
which
itts:forcedDisplay
equals
"true"
can
therefore
remain
visible
even
if
itts:forcedDisplay
equals
"false"
for
all
active
content
elements
within
the
region
and
displayForcedOnlyMode
equals
"true"
.
Authors
can
avoid
this
situation,
for
instance,
by
ensuring
that
content
elements
and
the
regions
that
they
are
flowed
into
always
have
the
same
value
of
itts:forcedDisplay
.
Although
itts:forcedDisplay
,
like
all
the
TTML
style
attributes,
has
no
defined
semantics
on
a
br
content
element,
itts:forcedDisplay
will
apply
to
a
br
content
element
if
it
is
either
defined
on
an
ancestor
content
element
of
the
br
content
element
or
it
is
applied
to
a
region
element
corresponding
to
a
region
that
the
br
content
element
is
being
flowed
into.
It
is
expected
that
the
functionality
of
itts:forcedDisplay
will
be
mapped
to
a
conditional
style
construct
in
a
future
revision
of
this
specification.
The
presentation
semantics
associated
with
itts:forcedDisplay
are
intended
to
be
compatible
with
those
associated
with
the
forcedDisplayMode
attribute
defined
in
[
CFF
].
ittm:altText
allows
an
author
to
provide
a
text
string
equivalent
for
an
element,
typically
an
image.
This
text
equivalent
MAY
be
used
to
support
indexing
of
the
content
and
also
facilitate
quality
checking
of
the
document
during
authoring.
The
ittm:altText
element
SHALL
conform
to
the
following
syntax:
<ittm:altText
xml:id = ID
xml:lang = string
xml:space = (default|preserve)
{any attribute not in the default namespace, any TT namespace or any IMSC 1.0 namespace}>
Content: #PCDATA
|
The
ittm:altText
element
SHALL
be
a
child
of
the
metadata
element.
8.
Image
Profile
Constraints
specifies
the
use
of
the
ittm:altText
element
with
images.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="fr"xmlns="http://www.w3.org/ns/ttml"xmlns:ttp="http://www.w3.org/ns/ttml#parameter"ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/image"xmlns:tts="http://www.w3.org/ns/ttml#styling"xmlns:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"xmlns:ittm="http://www.w3.org/ns/ttml/profile/imsc1#metadata" tts:extent="320px 240px"> <head> <layout> <region xml:id="area1" tts:origin="20px 215px" tts:extent="180px 20px"/> </layout> </head> <body> <div begin="1s" end="9s" region="area1" smpte:backgroundImage="altText1-img.png"> <metadata> <ittm:altText>Nous étions inscrits au même lycée.</ittm:altText> </metadata> </div> </body></tt>
In
contrast
to
the
common
use
of
alt
attributes
in
[
HTML5
],
the
ittm:altText
attribute
content
is
not
intended
to
be
displayed
in
place
of
the
element
if
the
element
is
not
loaded.
The
ittm:altText
attribute
content
can
however
be
read
and
used
by
assistive
technologies.
The Active Area of a Document Instance is the area within the root container that the author intends to be minimally visible to the viewer. This area typically fully contains all of the referenced regions within the Document Instance .
Under
normal
circumstances,
the
entirety
of
the
root
container
is
presented.
However,
under
special
circumstances,
such
as
when
the
related
video
object
is
cropped,
a
system
can,
for
instance,
use
the
ittp:activeArea
parameter
to
avoid
cropping
areas
of
the
root
container
that
are
intended
to
be
visible
to
the
viewer.
The
Active
Area
is
specified
using
the
ittp:activeArea
attribute.
If
present,
the
ittp:activeArea
attribute
SHALL
conform
to
the
following
syntax:
ittp:activeArea
: leftOffset topOffset width height
leftOffset | topOffset | width | height
: <percentage> // where <percentage> is non-negative and not greater than 100%.
|
The
width
percentage
value
is
relative
to
the
width
of
the
root
container.
The
height
percentage
value
is
relative
to
the
height
of
the
root
container.
The
width
and
height
percentage
values
are
the
width
and
height
of
the
Active
Area
.
The
leftOffset
and
topOffset
percentage
values
specify
an
alignment
point
between
the
root
container
and
the
Active
Area
.
The origin top left {x, y} percentage coordinates of the Active Area SHALL be calculated as follows:
x = leftOffset * (1 - width/100) y = topOffset * (1 - height/100)
The
use
of
left
and
top
offset
positions
is
co-incident
with
the
[
css3-background
]
background-position
property
where
a
two
percentage
value
position
is
used.
The Active Area SHALL NOT extend outside the root container in any dimension.
The
ittp:activeArea
attribute
is
considered
to
be
significant
only
when
specified
on
the
tt
element.
If
the
ittp:activeArea
attribute
is
not
specified,
the
Active
Area
SHALL
be
the
root
container.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter" ittp:activeArea="50% 50% 80% 80%" tts:extent="640px 480px" ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text">
<head> <layout> <region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/> <region xml:id="area2" tts:origin="10% 80%" tts:extent="80% 10%" tts:backgroundColor="blue" tts:displayAlign="center" tts:textAlign="center" tts:color="white" tts:fontSize="24px"/> <region xml:id="area3" tts:origin="10% 92%" tts:extent="80% 6%" tts:backgroundColor="red" tts:displayAlign="center" tts:textAlign="center" tts:color="yellow" tts:fontSize="24px"/> </layout> </head> <body> <div> <p region="area1" begin="0s" end="6s">This region is within the editorial area.</p> <p region="area2" begin="0s" end="6s">This region is within the editorial area.</p> <p region="area3" begin="0s" end="6s">This region is not.</p> </div> </body></tt>
The
itts:fillLineGap
attribute
allows
the
author
to
control
the
application
of
background
between
line
areas.
If
itts:fillLineGap="true"
then
the
background
of
each
inline
area
generated
by
descendant
spans
of
the
p
element
SHALL
extend
to
the
before-edge
and
after-edge
of
its
containing
line
area
(
before-edge
and
after-edge
are
defined
at
Section
4.2.3
of
[
XSL11
]).
The
itts:fillLineGap
attribute
SHALL
conform
to
the
following:
Values: |
false
|
true
|
Initial: |
false
|
Applies to: |
p
|
Inherited: | yes |
Percentages: | N/A |
Animatable: | discrete |
In
the
following
example,
the
p
specifies
itts:fillLineGap="true"
,
and,
as
a
result,
no
gap
exists
between
its
lines.
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling" ttp:timeBase="media" xml:lang="en" ttp:cellResolution="50 30" ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text"> <head> <styling> <style xml:id="spanStyle" tts:color="#ffffff" tts:backgroundColor="#000000" /> <style xml:id="spanStyleSmall" tts:color="#000000" tts:backgroundColor="#dfbb02" tts:fontSize="50%"/> <style xml:id="spanStyleBig" tts:color="#ffffff" tts:backgroundColor="#b75800" tts:fontSize="150%"/> <style xml:id="paragraphStyle" tts:fontFamily="monospaceSerif" tts:textAlign="center" tts:fontSize="200%" tts:lineHeight="165%" itts:fillLineGap="true"/> </styling> <layout> <region xml:id="bottom" tts:origin="10% 10%" tts:extent="80% 80%" tts:displayAlign="after" /> </layout> </head> <body> <div> <p xml:id="subtitle1" region="bottom" begin="00:00:00.000" end="00:00:30.000" style="paragraphStyle"> <span style="spanStyle">##Line gaps##</span><br/> <span style="spanStyle">The quick </span><span style="spanStyleBig">brown</span><span style="spanStyle"> fox</span><br/> <span style="spanStyle">jumps over the </span><span style="spanStyleSmall">lazy</span><span style="spanStyle"> dog</span><br/> <span style="spanStyle">##Line gaps##</span> </p> </div> </body></tt>
A presented region is a temporally active region that satisfies the following conditions:
tts:opacity
is
not
equal
to
"0.0"
;
and
tts:display
is
not
"none"
;
and
tts:visibility
is
not
"hidden"
;
and
tts:showBackground
is
equal
to
"always"
and
the
computed
value
of
tts:backgroundColor
has
non-transparent
alpha.
All regions SHALL NOT extend beyond the root container, i.e. the intersection of the sets of coordinates belonging to a region and the sets of coordinates belonging to the root container is the set of coordinates belonging to the region.
No two presented regions in a given intermediate synchronic document SHALL overlap, i.e. the intersection of the sets of coordinates within each presented region is empty.
The number of presented regions in a given intermediate synchronic document SHALL NOT be greater than 4.
The
ttp:profile
attribute
SHOULD
be
present
on
the
tt
element
and
equal
to
the
designator
of
the
IMSC1
profile
to
which
the
Document
Instance
conforms,
and
the
ttp:profile
element
SHOULD
NOT
be
present,
unless:
ttp:profile
attribute
and
the
ttp:profile
element
SHOULD
NOT
be
present,
and
instead
the
designator
of
the
IMSC1
profile
to
which
the
Document
Instance
conforms
and
the
URI
"urn:ebu:tt:distribution:2014-01"
SHOULD
each
be
carried
in
an
ebuttm:conformsToStandard
element
as
specified
in
[
EBU-TT-D
];
or
ttp:profile
attribute
SHOULD
NOT
be
present.
[
ttml10-sdp-us
]
requires
that
the
ttp:profile
element
be
present
and
that
its
use
attribute
be
set
to
a
specified
value.
The
ttp:profile
and
ebuttm:conformsToStandard
elements
SHALL
NOT
signal
conformance
to
both
Image
Profile
and
Text
Profile
in
a
given
Document
Instance
.
It SHALL be possible to apply the Hypothetical Render Model specified in Section 9. Hypothetical Render Model to any sequence of consecutive intermediate synchronic documents without error as defined in Section 9.2 General .
See
4.
Conformance
for
a
definition
of
permitted
,
prohibited
and
prohibited
optional
.
Feature | Disposition | Additional provision |
---|---|---|
Relative to the TT Feature namespace | ||
#animation
|
permitted | |
#backgroundColor-block
|
permitted | |
#backgroundColor-region
|
permitted | |
#cellResolution
|
permitted |
If
the
Document
Instance
includes
any
length
value
that
uses
the
c
expression,
ttp:cellResolution
SHOULD
be
present
on
the
tt
element.
|
#clockMode
|
prohibited | |
#clockMode-gps
|
prohibited | |
#clockMode-local
|
prohibited | |
#clockMode-utc
|
prohibited | |
#core
|
permitted | |
#display-block
|
permitted | |
#display-inline
|
permitted | |
#display-region
|
permitted | |
#display
|
permitted | |
#dropMode
|
prohibited | |
#dropMode-dropNTSC
|
prohibited | |
#dropMode-dropPAL
|
prohibited | |
#dropMode-nonDrop
|
prohibited | |
#extent-root
|
permitted |
If
the
Document
Instance
includes
any
length
value
that
uses
the
px
expression,
tts:extent
SHALL
be
present
on
the
tt
element.
|
#extent
|
permitted | |
#frameRate
|
permitted |
If
the
Document
Instance
includes
any
clock
time
expression
that
uses
the
frames
term
or
any
offset
time
expression
that
uses
the
f
metric,
the
ttp:frameRate
attribute
SHALL
be
present
on
the
tt
element.
|
#frameRateMultiplier
|
permitted | |
#layout
|
permitted | |
#length-cell
|
permitted |
c
units
SHALL
NOT
be
present
outside
of
the
value
of
ebutts:linePadding
.
|
#length-integer
|
permitted | |
#length-negative
|
prohibited | |
#length-percentage
|
permitted | |
#length-pixel
|
permitted | |
#length-positive
|
permitted | |
#length-real
|
permitted | |
#length
|
permitted | |
#markerMode
|
prohibited | |
#markerMode-continuous
|
prohibited | |
#markerMode-discontinuous
|
prohibited | |
#metadata
|
permitted | |
#opacity
|
permitted | |
#origin
|
permitted | |
#overflow
|
permitted | |
#overflow-visible
|
permitted | |
#pixelAspectRatio
|
prohibited | |
#presentation
|
permitted |
See
constraints
applied
to
#profile.
|
#profile
|
permitted | See 6.9 Profile Signaling . |
#showBackground
|
permitted | |
#structure
|
permitted | |
#styling-chained
|
permitted | |
#styling-inheritance-content
|
permitted | |
#styling-inheritance-region
|
permitted | |
#styling-inline
|
permitted | |
#styling-nested
|
permitted | |
#styling-referential
|
permitted | |
#styling
|
permitted | |
#subFrameRate
|
prohibited | |
#tickRate
|
permitted |
ttp:tickRate
SHALL
be
present
on
the
tt
element
if
the
document
contains
any
time
expression
that
uses
the
t
metric.
|
#timeBase-clock
|
prohibited | |
#timeBase-media
|
permitted |
NOTE:
[
TTML1
]
specifies
that
the
default
timebase
is
|
#timeBase-smpte
|
prohibited | |
#time-clock-with-frames
|
permitted | |
#time-clock
|
permitted | |
#time-offset-with-frames
|
permitted | |
#time-offset-with-ticks
|
permitted | |
#time-offset
|
permitted | |
#timeContainer
|
permitted | |
#timing
|
permitted |
|
#transformation
|
permitted | See constraints at #profile . |
#visibility-block
|
permitted | |
#visibility-region
|
permitted | |
#writingMode-horizontal-lr
|
permitted | |
#writingMode-horizontal-rl
|
permitted | |
#writingMode-horizontal
|
permitted | |
#zIndex
|
permitted | NOTE: While permitted, this feature has no effect since, as specified at 6.8.2 Dimensions and Position , regions do not overlap in a Document Instance . |
Extension | Disposition | Provisions |
Relative to the IMSC 1.0 Extension namespace | ||
#aspectRatio
|
permitted | |
#forcedDisplay
|
permitted | |
#progressivelyDecodable
|
permitted | |
#altText
|
permitted | |
#activeArea
| optional | NOTE: This feature is optional such that a processor that conforms to the earlier version of this specification also conforms to this version. |
As
specified
in
[
TTML1
],
a
#time-offset-with-frames
expression
is
translated
to
a
media
time
M
according
to
M
=
3600
·
hours
+
60
·
minutes
+
seconds
+
(frames
÷
(
ttp:frameRateMultiplier
·
ttp:frameRate
)).
This profile is associated with the following profile designator:
Profile Name | Profile Designator |
---|---|
IMSC 1.0 Text |
http://www.w3.org/ns/ttml/profile/imsc1/text
|
As
specified
in
6.11
Features
and
Extensions
,
the
presence
of
the
ttp:profile
attribute
is
not
required
by
this
profile.
The
profile
designator
specified
above
is
intended
to
be
generally
used
to
signal
conformance
of
a
Document
Instance
to
the
profile.
The
details
of
such
signaling
depends
on
the
application,
and
can,
for
instance,
use
metadata
structures
out-of-band
of
the
Document
Instance
.
A Document Instance SHOULD be authored using characters selected from the sets specified in B. Recommended Character Sets .
The flow of text within a region depends the dimensions and spacing (kerning) between individual glyphs. The following allows, for instance, region extents to be set such that text flows without clipping.
When rendering codepoints matching one of the combinations of computed font family and codepoints listed in A. Reference Fonts , a processor SHALL use a font that generates a glyph sequence whose dimension is substantially identical to the glyph sequence that would have been generated by one of the specified reference fonts.
Implementations can use fonts other than those specified in A. Reference Fonts . Two fonts with equal metrics can have a different appearance, but flow identically.
See
4.
Conformance
for
a
definition
of
permitted
,
prohibited
and
prohibited
optional
.
Feature | Disposition | Additional provisions |
---|---|---|
Relative to the TT Feature namespace | ||
#backgroundColor-inline
|
permitted | |
#backgroundColor
|
permitted | |
#bidi
|
permitted | |
#content
|
permitted | |
#color
|
permitted |
The
initial
value
of
NOTE
2:
The
named
color
|
#direction
|
permitted | |
#displayAlign
|
permitted | |
#extent-region
|
permitted |
The
tts:extent
attribute
SHALL
be
present
on
all
region
elements,
where
it
SHALL
use
either
px
units
or
"percentage"
syntax.
|
#fontFamily-generic
|
permitted |
In
absence
of
specific
instructions
on
the
choice
of
font
families,
and
in
order
to
enhance
reproducibility
of
line
fitting,
authors
are
encouraged
to
use
the
If
the
computed
value
of
NOTE: The term used value is defined in CSS 2.1, as normatively referenced by [ TTML1 ]. |
#fontFamily-non-generic
|
permitted | |
#fontFamily
|
permitted | |
#fontSize-anamorphic
|
prohibited | |
#fontSize-isomorphic
|
permitted | |
#fontSize
|
See
individual
disposition
of
#fontSize-anamorphic
and
#fontSize-isomorphic
.
|
|
#fontStyle-italic
|
permitted | |
#fontStyle-oblique
|
permitted | |
#fontStyle
|
permitted | |
#fontWeight-bold
|
permitted | |
#fontWeight
|
permitted | |
#length-em
|
permitted | |
#lineBreak-uax14
|
The
processor
SHALL
implement
the
#lineBreak-uax14
feature
defined
in
the
TT
Feature
namespace.
|
|
#lineHeight
|
permitted |
As
implementation
of
the
"normal"
value
is
not
uniform
at
the
time
of
this
writing,
tts:lineHeight
SHOULD
NOT
be
set
to
"normal"
and
SHOULD
be
explicitly
specified
such
that
the
specified
style
set
of
each
p
element
contains
a
tts:lineHeight
property
whose
value
is
not
assigned
by
initial
value
fallback.
|
#nested-div
|
permitted | |
#nested-span
|
permitted | |
#origin
|
permitted |
The
tts:origin
attribute
SHALL
use
px
units
or
"percentage"
representation,
and
SHALL
NOT
use
em
units.
|
#padding-1
|
permitted | |
#padding-2
|
permitted | |
#padding-3
|
permitted | |
#padding-4
|
permitted | |
#padding
|
permitted | |
#textAlign-absolute
|
permitted | |
#textAlign-relative
|
permitted | |
#textAlign
|
permitted | |
#textDecoration-over
|
permitted | |
#textDecoration-through
|
permitted | |
#textDecoration-under
|
permitted | |
#textDecoration
|
permitted | |
#textOutline-blurred
|
prohibited | |
#textOutline-unblurred
|
permitted | |
#textOutline
|
permitted |
The
computed
value
of
tts:textOutline
on
a
span
element
SHALL
be
10%
or
less
than
the
computed
value
of
tts:fontSize
on
the
same
element.
|
#unicodeBidi
|
permitted | |
#visibility
|
permitted | |
#visibility-inline
|
permitted | |
#wrapOption
|
permitted | |
#writingMode
|
permitted | |
#writingMode-vertical
|
permitted | |
Extension | Disposition | Provisions |
Relative to the SMPTE-TT Extension Namespace | ||
#image
|
prohibited | |
Relative to the IMSC 1.0 Extension namespace | ||
#linePadding
|
permitted |
If
used,
the
attribute
The processor :
NOTE:
The
|
#multiRowAlign
|
permitted |
If
used,
the
attribute
The processor :
|
#fillLineGap
| optional | NOTE: This feature is optional such that a processor that conforms to the earlier version of this specification also conforms to this version. |
In
contrast
to
this
specification,
[
EBU-TT-D
]
specifies
that
the
attributes
ebutts:linePadding
and
ebutts:multiRowAlign
are
allowed
only
on
the
style
element.
This profile is associated with the following profile designator:
Profile Name | Profile Designator |
---|---|
IMSC 1.0 Image |
http://www.w3.org/ns/ttml/profile/imsc1/image
|
As
specified
in
6.11
Features
and
Extensions
,
the
presence
of
the
ttp:profile
attribute
is
not
required
by
this
profile.
The
profile
designator
specified
above
is
intended
to
be
generally
used
to
signal
conformance
of
a
Document
Instance
to
the
profile.
The
details
of
such
signaling
depends
on
the
application,
and
can,
for
instance,
use
metadata
structures
out-of-band
of
the
Document
Instance
.
A
presented
image
is
a
div
element
with
a
smpte:backgroundImage
attribute
that
flows
into
a
presented
region
.
In
a
given
intermediate
synchronic
document
,
each
presented
region
SHALL
contain
at
most
one
div
element,
which
SHALL
be
a
presented
image
.
For
the
purposes
of
constructing
an
intermediate
synchronic
document
,
a
div
element
with
a
smpte:backgroundImage
attribute
SHALL
NOT
be
considered
empty.
If
a
smpte:backgroundImage
attribute
is
applied
to
a
div
element:
smpte:backgroundImage
SHALL
be
equal
to
the
width
and
height
(as
specified
by
the
tts:extent
attribute
using
px
units)
of
the
region
in
which
the
div
element
is
presented;
div
element
SHOULD
contain
a
metadata
element
containing
an
ittm:altText
element
that
is
a
Text
Alternative
of
the
image
referenced
by
the
smpte:backgroundImage
attribute;
and
smpte:backgroundImage
attribute
SHALL
reference
a
PNG
datastream
as
specified
in
[
PNG
].
If
a
pHYs
chunk
is
present,
it
SHALL
indicate
square
pixels.
Note
that
if
no
pixel
aspect
ratio
is
carried,
the
default
of
square
pixels
is
assumed.
In
[
TTML1
],
tts:extent
and
tts:origin
do
not
apply
to
div
elements.
In
order
to
individually
position
multiple
div
elements,
each
div
can
be
associated
with
a
distinct
region
with
the
desired
tts:extent
and
tts:origin
.
See
4.
Conformance
for
a
definition
of
permitted
,
prohibited
and
prohibited
optional
.
Feature | Disposition | Additional provisions |
---|---|---|
Relative to the TT Feature namespace | ||
#backgroundColor-inline
|
prohibited | |
#backgroundColor
|
See
individual
disposition
of
#backgroundColor-inline
,
#backgroundColor-region
and
#backgroundColor-block
.
|
|
#bidi
|
See
individual
disposition
of
#direction
,
#unicodeBidi
and
#writingMode-horizontal
.
|
|
#color
|
prohibited | |
#content
|
permitted |
The
p
,
span
and
br
elements
SHALL
NOT
be
present.
See
Section
8.2.2
Constraints
for
constraints
on
div
elements.
|
#direction
|
prohibited | |
#displayAlign
|
prohibited | |
#extent-region
|
permitted |
The
tts:extent
attribute
SHALL
be
present
on
all
region
elements,
where
it
SHALL
use
px
units.
|
#fontFamily
|
prohibited | |
#fontFamily-generic
|
prohibited | |
#fontFamily-non-generic
|
prohibited | |
#fontSize
|
prohibited | |
#fontSize-anamorphic
|
prohibited | |
#fontSize-isomorphic
|
prohibited | |
#fontStyle
|
prohibited | |
#fontStyle-italic
|
prohibited | |
#fontStyle-oblique
|
prohibited | |
#fontWeight
|
prohibited | |
#fontWeight-bold
|
prohibited | |
#length-em
|
prohibited | |
#lineBreak-uax14
|
No processor requirement is specified. | |
#lineHeight
|
prohibited | |
#nested-div
|
prohibited | |
#nested-span
|
prohibited |
NOTE:
The
prohibition
of
|
#padding
|
prohibited | |
#padding-1
|
prohibited | |
#padding-2
|
prohibited | |
#padding-3
|
prohibited | |
#padding-4
|
prohibited | |
#textAlign
|
prohibited | |
#textAlign-absolute
|
prohibited | |
#textAlign-relative
|
prohibited | |
#textDecoration
|
prohibited | |
#textDecoration-over
|
prohibited | |
#textDecoration-through
|
prohibited | |
#textDecoration-under
|
prohibited | |
#textOutline
|
prohibited | |
#textOutline-blurred
|
prohibited | |
#textOutline-unblurred
|
prohibited | |
#unicodeBidi
|
prohibited | |
#visibility
|
See
individual
disposition
of
#visibility-inline
,
#visibility-region
and
#visibility-block
.
|
|
#visibility-inline
|
prohibited | |
#wrapOption
|
prohibited | |
#writingMode
|
See
individual
disposition
of
#writingMode-vertical
and
#writingMode-horizontal
.
|
|
#writingMode-vertical
|
prohibited | |
Extension | Disposition | Provisions |
Relative to the SMPTE-TT Extension namespace | ||
#image
|
permitted |
|
Relative to the IMSC 1.0 Extension namespace | ||
#fillLineGap
| prohibited |
This
Section
specifies
the
Hypothetical
Render
Model
illustrated
in
Fig.
1
2
Hypothetical
Render
Model
.
The purpose of the model is to limit Document Instance complexity. It is not intended as a specification of the processing requirements for implementations. For instance, while the model defines a glyph buffer for the purpose of limiting the number of glyphs displayed at any given point in time, it neither requires the implementation of such a buffer, nor models the sub-pixel character positioning and anti-aliased glyph rendering that can be used to produce text output.
The model operates on successive intermediate synchronic documents obtained from an input Document Instance , and uses a simple double buffering model: while an intermediate synchronic document E n is being painted into Presentation Buffer P n (the "front buffer" of the model), the previous intermediate synchronic document E n-1 is available for display in Presentation Buffer P n-1 (the "back buffer" of the model).
The model specifies an (hypothetical) time required for completely painting an intermediate synchronic document as a proxy for complexity. Painting includes drawing region backgrounds, rendering and copying glyphs, and decoding and copying images. Complexity is then limited by requiring that painting of intermediate synchronic document E n completes before the end of intermediate synchronic document E n-1 .
Whenever applicable, constraints are specified relative to root container dimensions, allowing subtitle sequences to be authored independently of Related Video Object resolution.
To enable scenarios where the same glyphs are used in multiple successive intermediate synchronic documents , e.g. to convey a CEA-608/708-style roll-up (see [ CEA-608 ] and [ CEA-708 ]), the Glyph Buffers G n and G n-1 store rendered glyphs across intermediate synchronic documents , allowing glyphs to be copied into the Presentation Buffer instead of rendered, a more costly operation.
Similarly, Decoded Image Buffers D n and D n-1 store decoded images across intermediate synchronic documents , allowing images to be copied into the Presentation Buffer instead of decoded.
The Presentation Compositor SHALL render in Presentation Buffer P n each successive intermediate synchronic document E n using the following steps in order:
The Presentation Compositor SHALL start rendering E n :
The duration DUR(E n ) for painting an intermediate synchronic document E n in the Presentation Buffer P n SHALL be:
DUR(E n ) = S(E n ) / BDraw + DUR T (E n ) + DUR I (E n )
where
The contents of the Presentation Buffer P n SHALL be transferred instantaneously to Presentation Buffer P n-1 at the presentation time of intermediate synchronic document E n , making the latter available for display.
It is possible for the contents of Presentation Buffer P n-1 to never be displayed. This can happen if Presentation Buffer P n is copied twice to Presentation Buffer P n-1 between two consecutive video frame boundaries of the Related Video Object .
It SHALL be an error for the Presentation Compositor to fail to complete painting pixels for E n before the presentation time of E n .
Unless specified otherwise, the following table SHALL specify values for IPD and BDraw.
Parameter | Initial value |
---|---|
Initial Painting Delay (IPD) | 1 s |
Normalized background drawing performance factor (BDraw) | 12 s -1 |
BDraw effectively sets a limit on fillings regions - for example, assuming that the root container is ultimately rendered at 1920×1080 resolution, a BDraw of 12 s -1 would correspond to a fill rate of 1920×1080×12/s=23.7×2 20 pixels s -1 .
IPD effectively sets a limit on the complexity of any given intermediate synchronic document .
The total normalized drawing area S(E n ) for intermediate synchronic document E n SHALL be
S(E n ) = CLEAR(E n ) + PAINT(E n )
where CLEAR(E 0 ) = 0 and CLEAR(E n | n > 0 ) = 1, i.e. the root container in its entirety.
To ensure consistency of the Presentation Buffer, a new intermediate synchronic document requires clearing of the root container.
PAINT(E n ) SHALL be the normalized area to be painted for all regions that are used in intermediate synchronic document E n according to:
PAINT(E n ) = ∑ R i ∈R p NSIZE(R i ) ∙ NBG(R i )
where R_p SHALL be the set of presented regions in the intermediate synchronic document E n .
NSIZE(R i ) SHALL be given by:
NSIZE(R i ) = (width of R i ∙ height of R i ) ÷ (root container height ∙ root container width)
NBG(R
i
)
SHALL
be
the
total
number
of
tts:backgroundColor
attributes
associated
with
the
given
region
R
i
in
the
intermediate
synchronic
document
.
A
tts:backgroundColor
attribute
is
associated
with
a
region
when
it
is
explicitly
specified
(either
as
an
attribute
in
the
element,
or
by
reference
to
a
declared
style)
in
the
following
circumstances:
region
layout
element
that
defines
the
region;
or
div
,
p
,
span
or
br
content
element
that
is
to
be
flowed
into
the
region
for
presentation
in
the
intermediate
synchronic
document
(see
[
TTML1
]
for
more
details
on
when
a
content
element
is
followed
into
a
region);
or
set
animation
element
that
is
to
be
applied
to
content
elements
that
are
to
be
flowed
into
the
region
for
presentation
in
the
intermediate
synchronic
document
(see
[
TTML1
]
for
more
details
on
when
a
set
animation
element
is
applied
to
content
elements).
Even
if
a
specified
tts:backgroundColor
is
the
same
as
specified
on
the
nearest
ancestor
content
element
or
animation
element,
specifying
any
tts:backgroundColor
SHALL
require
an
additional
fill
operation
for
all
region
pixels.
The Presentation Compositor SHALL paint into the Presentation Buffer P n all visible pixels of presented images of intermediate synchronic document E n .
For each presented image , the Presentation Compositor SHALL either:
Two images SHALL be identical if and only if they reference the same encoded image source.
The duration DUR I (E n ) for painting images of an intermediate synchronic document E n in the Presentation Buffer SHALL be as follows:
DUR I (E n ) = ∑ I i ∈ I c NRGA(I i ) / ICpy + ∑ I j ∈ I d NSIZ(I j ) / IDec
where
NRGA(I i ) is the Normalized Image Area of presented image I i and SHALL be equal to:
NRGA(I i )= (width of I i ∙ height of I i ) ÷ ( root container height ∙ root container width )
NSIZ(I i ) SHALL be the number of pixels of presented image I i .
The contents of the Decoded Image Buffer D n SHALL be transferred instantaneously to Decoded Image Buffer D n-1 at the presentation time of intermediate synchronic document E n .
The total size occupied by images stored in Decoded Image Buffers D n or D n-1 SHALL be the sum of their Normalized Image Area.
The size of Decoded Image Buffers D n or D n-1 SHALL be the Normalized Decoded Image Buffer Size (NDIBS).
Unless specified otherwise, the following table SHALL specify ICpy, IDec, and NDBIS.
Parameter | Initial value |
---|---|
Normalized image copy performance factor (ICpy) | 6 |
Image Decoding rate (IDec) | 1 × 2 20 pixels s -1 |
Normalized Decoded Image Buffer Size (NDIBS) | 0.9885 |
In the context of this section, a glyph is a tuple consisting of (i) one character and (ii) the computed values of the following style properties:
tts:color
tts:fontFamily
tts:fontSize
tts:fontStyle
tts:fontWeight
tts:textDecoration
tts:textOutline
While one-to-one mapping between characters and typographical glyphs is generally the rule in some scripts, e.g. latin script, it is the exception in others. For instance, in arabic script, a character can yield multiple glyphs depending on its position in a word. The Hypothetical Render Model always assumes a one-to-one mapping, but reduces the performance of the glyph buffer for scripts where one-to-one mapping is not the general rule (see GCpy below).
For each glyph associated with a character in a presented region of intermediate synchronic document E n , the Presentation Compositor SHALL :
The duration DUR T (E n ) for rendering the text of an intermediate synchronic document E n in the Presentation Buffer is as follows:
DUR T (E n ) = ∑ g i ∈ Γ r NRGA(g i ) / Ren(g i ) + ∑ g j ∈ Γ c NRGA(g j ) / GCpy
where
The Normalized Rendered Glyph Area NRGA(g i ) of a glyph g i SHALL be equal to:
NRGA(g i ) = (fontSize of g i as percentage of root container height) 2
NRGA(G i ) does not take into account decorations (e.g. underline), effects (e.g. outline) or actual typographical glyph aspect ratio. An implementation can determine an actual buffer size needs based on worst-case glyph size complexity.
The contents of the Glyph Buffer G n SHALL be copied instantaneously to Glyph Buffer G n-1 at the presentation time of intermediate synchronic document E n .
It SHALL be an error for the sum of NRGA(g i ) over all glyphs Glyph Buffer G n to be larger than the Normalized Glyph Buffer Size (NGBS).
Unless specified otherwise, the following table specifies values of GCpy, Ren and NGBS.
Normalized glyph copy performance factor (GCpy) | |
---|---|
Script property (see Standard Annex #24 at [ UNICODE ]) for the character of g i | GCpy |
latin, greek, cyrillic, hebrew or common | 12 |
any other value | 3 |
Text rendering performance factor Ren(G i ) | |
Block property (see [ UNICODE ]) for the character of g i | Ren(G i ) |
CJK Unified Ideograph | 0.6 |
any other value | 1.2 |
Normalized Glyph Buffer Size (NGBS) | |
1 |
The choice of font by the presentation processor can increase rendering complexity. For instance, a cursive font can generally result in a given character yielding different typographical glyphs depending on context, even if latin script is used.
Computed Font Family | Code Points | Reference Font |
---|---|---|
monospaceSerif
|
All code points specified in B. Recommended Character Sets | Courier New or Liberation Mono |
proportionalSansSerif
|
All code points specified in B. Recommended Character Sets , excluding the code points defined for Hebrew and Arabic scripts. | Arial or Helvetica or Liberation Sans |
When
authoring
textual
content,
authors
are
encouraged
to
select
from
sets
of
characters
based
on
the
language
indicated
using
xml:lang
.
The
idea
is
to
increase
the
confidence
that
the
text
will
be
presented
correctly
by
implementations
targeting
specific
locales.
Specifically, for a given language, an author SHOULD choose characters from the set resulting from the union of the following sets:
Some of these sets overlap.
Table 1 captures the set of characters intended to be available to authors across all languages. The terms used in the table are defined in [ UNICODE ].
(Basic Latin) |
---|
U+0020 - U+007E |
(Latin-1 Supplement) |
U+00A0 - U+00FF |
(Latin Extended-A) |
U+0152 : LATIN CAPITAL LIGATURE OE |
U+0153 : LATIN SMALL LIGATURE OE |
U+0160 : LATIN CAPITAL LETTER S WITH CARON |
U+0161 : LATIN SMALL LETTER S WITH CARON |
U+0178 : LATIN CAPITAL LETTER Y WITH DIAERESIS |
U+017D : LATIN CAPITAL LETTER Z WITH CARON |
U+017E : LATIN SMALL LETTER Z WITH CARON |
(Latin Extended-B) |
U+0192 : LATIN SMALL LETTER F WITH HOOK |
(Spacing Modifier Letters) |
U+02DC : SMALL TILDE |
(Combining Diacritical Marks) |
U+0301 : COMBINING ACUTE ACCENT |
(General Punctuation) |
U+2010 - U+2015 : Dashes |
U+2016 - U+2027 : General punctuation |
U+2030 - U+203A : General punctuation |
(Currency symbols) |
U+20AC : EURO SIGN |
(Letterlike Symbols) |
U+2103 : DEGREES CELSIUS |
U+2109 : DEGREES FAHRENHEIT |
U+2120 : SERVICE MARK SIGN |
U+2122 : TRADE MARK SIGN |
(Number Forms) |
U+2153 - U+215F : Fractions |
(Mathematical Operators) |
U+2212 : MINUS SIGN |
U+221E : INFINITY |
(Box Drawing) |
U+2500 : BOX DRAWINGS LIGHT HORIZONTAL |
U+2502 : BOX DRAWINGS LIGHT VERTICAL |
U+250C : BOX DRAWINGS LIGHT DOWN AND RIGHT |
U+2510 : BOX DRAWINGS LIGHT DOWN AND LEFT |
U+2514 : BOX DRAWINGS LIGHT UP AND RIGHT |
U+2518 : BOX DRAWINGS LIGHT UP AND LEFT |
(Block Elements) |
U+2588 : FULL BLOCK |
(Geometric Shapes) |
U+25A1 : WHITE SQUARE |
(Musical Symbols) |
U+2669 : QUARTER NOTE |
U+266A : EIGHTH NOTE |
U+266B : BEAMED EIGHTH NOTES |
Table 2 specifies supplementary character set that have proven useful in captioning and subtitling applications for a number of selected languages. Table 2 is non-exhaustive, and will be extended as needs arise.
Primary language subtag | Characters |
---|---|
sq, fi, da, nl, en, de, is, no, sv, ca, fr, it | no supplementary characters |
lv, lt, et, tr, hr, cs, pl, sl, sk |
(Latin
Extended-A)
U+0100 - U+017F |
ro |
(Latin
Extended-A)
U+0100 - U+017F (Latin Extended-B) U+0218 - U+0219 U+021A - U+021B |
el |
(Combining
Diacritical
Marks)
U+0308 (Greek and Coptic) U+0386 - U+038A U+038C U+038E - U+03A1 U+03A3 - U+03CE |
pt, es |
(Currency
symbols)
U+20A1 - U+20A2 U+20B3 |
ar |
(Arabic)
U+0609 U+060C - U+060D U+061B U+061E - U+061F U+0621 - U+063A U+0640 - U+0652 U+0660 - U+066D U+0670 |
he |
(Hebrew)
U+05B0 - U+05C3 U+05D0 - U+05EA U+05F3 - U+05F4 |
bs, bg, mk, ru, sr, uk |
(Latin
Extended-A)
U+0100 - U+017F (Spacing Modifier Letters) U+02BC (Cyrillic) U+0400 - U+045F U+048A - U+04F9 (Letterlike Symbols) U+2116 |
kk |
(Latin
Extended-A)
U+0100 - U+017F (Cyrillic) U+0400 - U+045F U+048A - U+04F9 |
hu |
(Latin
Extended-A)
U+0100 - U+017F (General Punctuation) U+2052 (Miscellaneous Mathematical Symbols-A) U+27E8–U+27E9 |
Fig.
3
4
Illustration
of
the
use
of
itts:forcedDisplay
below
illustrates
the
use
of
forced
content,
i.e.
itts:forcedDisplay
and
displayForcedOnlyMode
.
The
content
with
itts:forcedDisplay="true"
is
the
French
translation
of
the
"High
School"
sign.
The
content
with
itts:forcedDisplay="false"
are
French
subtitles
capturing
a
voiceover.
When
the
user
selects
French
as
the
playback
language
but
does
not
select
French
subtitles,
displayForcedOnlyMode
is
set
to
"true"
,
causing
the
display
of
the
sign
translation,
which
is
useful
to
any
French
speaker,
but
hiding
the
voiceover
subtitles
as
the
voiceover
is
heard
in
French.
If
the
user
selects
French
as
the
playback
language
and
also
selects
French
subtitles,
e.g.
if
the
user
is
hard-of-hearing,
displayForcedOnlyMode
is
set
to
"false"
,
causing
the
display
of
both
the
sign
translation
and
the
voiceover
subtitles.
The
algorithm
for
setting
the
displayForcedOnlyMode
parameter
and
selecting
the
appropriate
combination
of
subtitle
and
audio
tracks
depends
on
the
application.
In order to meet the guidelines in [ WCAG20 ], the following considerations apply.
Guideline 1.1 of [ WCAG20 ] recommends that an implementation provide Text Alternatives for all non-text content. In the context of this specification, this Text Alternative is intended primarily to support users of the subtitles who cannot see images. Since the images of an Image Profile Document Instance usually represent subtitle or caption text, the guidelines for authoring text equivalent strings given at Images of text of [ HTML5 ] are appropriate.
Thus, for each subtitle in an Image Profile Document Instance , a text equivalent content in a Text Profile Document Instance SHOULD be written so that it conveys all essential content and fulfills the same function as the corresponding subtitle image. In the context of subtitling and captioning, this content will be (as a minimum) the verbatim equivalent of the image without précis or summarization. However, the author MAY include extra information to the text equivalent string in cases where styling is applied to the text image with a deliberate connotation, as a functional replacement for the applied style.
For instance, in subtitling and captioning, italics can be used to indicate an off screen speaker context (for example a voice from a radio). An author can choose to include this functional information in the text equivalent; for example, by including the word "Radio: " before the image equivalent text. Note that images in an Image Profile Document Instance that are intended for use as captions , i.e. intended for a hard of hearing audience, might already include this functional information in the rendered text.
Guideline 1.1 of [ WCAG20 ] also recommends that accessible Text Alternatives must be "programmatically determinable." This means that the text must be able to be read and used by the assistive technologies (and the accessibility features in browsers) that people with disabilities use. It also means that the user must be able to use their assistive technology to find the alternative text (that they can use) when they land on the non-text content (that they can't use).
The following sample Document Instances conforms to the Text Profile and Image Profile , respectively. These samples are for illustration only, and are neither intended to capture current or future practice, nor exercise all normative prose contained in this specification.
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:ittp="http://www.w3.org/ns/ttml/profile/imsc1#parameter" ittp:aspectRatio="4 3" ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/text">
<head> <layout> <region xml:id="area1" tts:origin="10% 10%" tts:extent="80% 10%" tts:backgroundColor="black" tts:displayAlign="center" tts:color="red"/> </layout> </head> <body> <div> <p region="area1" begin="0s" end="6s">Lorem ipsum dolor.</p> </div> </body></tt>
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="fr"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
tts:extent="640px 480px"
ttp:frameRate="25"
ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/image">
<head>
<layout>
<region xml:id="region1" tts:origin="120px 410px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
<region xml:id="region2" tts:origin="120px 20px" tts:extent="240px 40px" tts:showBackground="whenActive"/>
</layout>
</head>
<body>
<div region="region1" begin="00:00:01:00" end="00:00:02:00" smpte:backgroundImage="1.png"/>
<div region="region1" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="2.png"/>
<div region="region2" itts:forcedDisplay="true" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="3.png"/>
</body>
</tt>
<tt xml:lang="fr"
xmlns="http://www.w3.org/ns/ttml"
xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:tts="http://www.w3.org/ns/ttml#styling"
xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:smpte="http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt"
xmlns:itts="http://www.w3.org/ns/ttml/profile/imsc1#styling"
tts:extent="640px 480px"
ttp:frameRate="25"
ttp:profile="http://www.w3.org/ns/ttml/profile/imsc1/image">
<head> <layout> <region xml:id="region1" tts:origin="120px 410px" tts:extent="240px 40px" tts:showBackground="whenActive"/> <region xml:id="region2" tts:origin="120px 20px" tts:extent="240px 40px" tts:showBackground="whenActive"/> </layout> </head> <body> <div region="region1" begin="00:00:01:00" end="00:00:02:00" smpte:backgroundImage="1.png"/> <div region="region1" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="2.png"/> <div region="region2" itts:forcedDisplay="true" begin="00:00:03:20" end="00:00:04:12" smpte:backgroundImage="3.png"/> </body></tt>
The following sections define extension designations, expressed as relative URIs (fragment identifiers) relative to the IMSC 1.0 Extension Namespace base URI.
A
transformation
processor
supports
the
#progressivelyDecodable
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:progressivelyDecodable
.
A
presentation
processor
supports
the
#progressivelyDecodable
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:progressivelyDecodable
attribute.
A
transformation
processor
supports
the
#aspectRatio
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:aspectRatio
.
A
presentation
processor
supports
the
#aspectRatio
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:aspectRatio
attribute.
A
transformation
processor
supports
the
#forcedDisplay
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
itts:forcedDisplay
.
A
presentation
processor
supports
the
#forcedDisplay
feature
if
it
implements
presentation
semantic
support
for
values
of
the
itts:forcedDisplay
attribute.
A
transformation
processor
supports
the
#altText
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittm:altText
element.
A
presentation
processor
supports
the
#altText
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittm:altText
element.
A
transformation
processor
supports
the
#linePadding
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ebutts:linePadding
attribute
specified
in
[
EBU-TT-D
].
A
presentation
processor
supports
the
#linePadding
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ebutts:linePadding
attribute
specified
in
[
EBU-TT-D
].
A
transformation
processor
supports
the
#multiRowAlign
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ebutts:multiRowAlign
attribute
specified
in
[
EBU-TT-D
].
A
presentation
processor
supports
the
#multiRowAlign
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ebutts:multiRowAlign
attribute
specified
in
[
EBU-TT-D
].
A
transformation
processor
supports
the
#activeArea
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
ittp:activeArea
attribute.
A
presentation
processor
supports
the
#activeArea
feature
if
it
implements
presentation
semantic
support
for
values
of
the
ittp:activeArea
attribute.
A
transformation
processor
supports
the
#fillLineGap
feature
if
it
recognizes
and
is
capable
of
transforming
values
of
the
itts:fillLineGap
attribute.
A
presentation
processor
supports
the
#fillLineGap
feature
if
it
implements
presentation
semantic
support
for
values
of
the
itts:fillLineGap
attribute.
XML Schema definitions (see [ xmlschema-1 ]) for extension vocabulary defined by this specification are provided here for convenience.
These definitions are non-normative and are not sufficient to validate conformance of a Document Instance .
In any case where a definition specified by this appendix diverge from the prose of the specification, then the latter takes precedence.
This section documents extensibility objectives for this specification.
This specification is intended to allow:
This specification is designed to be compatible with [ ST2052-1 ], [ EBU-TT-D ] and [ ttml10-sdp-us ]. Specifically, it is possible to create a document that:
This specification is also intended to allow straightforward conversion of a document that conforms to the text or image profiles of [ CFF ] to the Text Profile or Image Profile, respectively.
The Text Profile is a strict syntactic superset of [ EBU-TT-D ].
A document that conforms to [ EBU-TT-D ] therefore generally also conforms to the Text Profile, with a few exceptions, including:
Note
that
the
ttp:profile
attribute
is
not
allowed
by
[
EBU-TT-D
],
and
the
ebuttm:conformsToStandard
element
is
used
instead
to
signal
Text
Profile,
as
specified
in
6.9
Profile
Signaling
.
It is not possible for a document that conforms to [ EBU-TT-D ] to also conform to Image Profile, and vice-versa, notwithstanding the special case where the document also conforms to Text Profile as noted at 5. Profiles .
The
following
is
an
example
of
a
document
that
conforms
to
both
Text
Profile
and
[
EBU-TT-D
].
Note
the
presence
of
two
ebuttm:conformsToStandard
elements,
one
of
which
equals
the
Text
Profile
designator:
<?xml version="1.0" encoding="UTF-8"?>
<tt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ebutts="urn:ebu:tt:style" xml:lang="en" ttp:timeBase="media" xmlns:ebuttm="urn:ebu:tt:metadata" >
<head>
<metadata>
<ebuttm:documentMetadata>
<ebuttm:conformsToStandard>urn:ebu:tt:distribution:2014-01</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
</ebuttm:documentMetadata>
</metadata>
<styling>
<style xml:id="baseStyle" tts:color="#FFFFFF" tts:lineHeight="100%"/>
<style xml:id="blackBackground" tts:backgroundColor="#000000"/>
<style xml:id="greenBackground" tts:backgroundColor="#00FF00"/>
<style xml:id="startEnd" tts:textAlign="start" ebutts:multiRowAlign="end"/>
<style xml:id="centerStart" tts:textAlign="center" ebutts:multiRowAlign="start"/>
</styling>
<layout>
<region xml:id="area1" tts:origin="15% 10%" tts:extent="70% 20%" style="greenBackground" tts:displayAlign="center"/>
<region xml:id="area2" tts:origin="15% 70%" tts:extent="70% 20%" style="blackBackground" tts:displayAlign="center"/>
</layout>
</head>
<body>
<div style="baseStyle">
<p xml:id="s1" region="area1" style="startEnd" begin="00:00:01" end="00:00:09">
multiRowAlign="end"<br/>textAlign="start"
</p>
<p xml:id="s2" region="area2" style="centerStart" begin="00:00:01" end="00:00:09">
multiRowAlign="start"<br/>textAlign="center"
</p>
</div>
</body>
</tt>
<tt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://www.w3.org/ns/ttml" xmlns:ttp="http://www.w3.org/ns/ttml#parameter"
xmlns:tts="http://www.w3.org/ns/ttml#styling" xmlns:ttm="http://www.w3.org/ns/ttml#metadata"
xmlns:ebutts="urn:ebu:tt:style" xml:lang="en" ttp:timeBase="media" xmlns:ebuttm="urn:ebu:tt:metadata" >
<head>
<metadata>
<ebuttm:documentMetadata>
<ebuttm:conformsToStandard>urn:ebu:tt:distribution:2014-01</ebuttm:conformsToStandard>
<ebuttm:conformsToStandard>http://www.w3.org/ns/ttml/profile/imsc1/text</ebuttm:conformsToStandard>
</ebuttm:documentMetadata>
</metadata>
<styling>
<style xml:id="baseStyle" tts:color="#FFFFFF" tts:lineHeight="100%"/>
<style xml:id="blackBackground" tts:backgroundColor="#000000"/>
<style xml:id="greenBackground" tts:backgroundColor="#00FF00"/>
<style xml:id="startEnd" tts:textAlign="start" ebutts:multiRowAlign="end"/>
<style xml:id="centerStart" tts:textAlign="center" ebutts:multiRowAlign="start"/>
</styling>
<layout>
<region xml:id="area1" tts:origin="15% 10%" tts:extent="70% 20%" style="greenBackground" tts:displayAlign="center"/>
<region xml:id="area2" tts:origin="15% 70%" tts:extent="70% 20%" style="blackBackground" tts:displayAlign="center"/>
</layout>
</head>
<body>
<div style="baseStyle">
<p xml:id="s1" region="area1" style="startEnd" begin="00:00:01" end="00:00:09">
multiRowAlign="end"<br/>textAlign="start"
</p> <p xml:id="s2" region="area2" style="centerStart" begin="00:00:01" end="00:00:09">
multiRowAlign="start"<br/>textAlign="center"
</p> </div> </body></tt>
The Text Profile is a strict syntactic superset of [ ttml10-sdp-us ].
A document that conforms to [ ttml10-sdp-us ] therefore also generally conforms to the Text Profile, with a few exceptions, including:
[
ttml10-sdp-us
]
requires
a
specific
value
of
the
use
attribute
of
the
ttp:profile
.
As
a
result,
Text
Profile
is
not
signaled
using
the
ttp:profile
attribute.
Instead,
as
specified
in
5.4
Profile
Resolution
Semantics
,
the
Text
Profile
can
be
signaled
by
the
Document
Interchange
Context
and/or
the
Document
Processing
Context.
Alternatively,
a
processor
can
choose
to
process
a
document
as
a
Text
Profile
document
if
the
ttp:profile
element
signals
[
ttml10-sdp-us
],
since
[
ttml10-sdp-us
]
is
feasibly
interoperable
with
Text
Profile.
It is not possible for a document that conforms to [ ttml10-sdp-us ] to also conform to Image Profile, and vice-versa, notwithstanding the special case where the document also conforms to Text Profile as noted at 5. Profiles .
As an illustration, Example 3 at [ ttml10-sdp-us ] conforms to both Text Profile and [ ttml10-sdp-us ].
[
ST2052-1
]
specifies
the
use
of
the
DFXP
Full
Profile
(see
Appendix
F.3
at
[
TTML1
])
supplemented
by
a
number
of
extensions,
including
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
.
This specification defines practical constraints on [ ST2052-1 ], supplemented by a few extensions defined at F. Extensions . These constraints and extensions are intended to reflect industry practice.
As a result, particular care is required when creating a document intended to be processed according to both [ ST2052-1 ] and Text Profile or Image Profile. In particular:
smpte:backgroundImage
attributes
and
any
of
p
,
span
,
or
br
elements;
http://www.smpte-ra.org/schemas/2052-1/2010/smpte-tt#image
extension;
#aspectRatio
,
#forcedDisplay
,
#linePadding
and
#multiRowAlign
extensions
that
impact
presentation;
and
"http://www.smpte-ra.org/schemas/2052-1/2010/profiles/smpte-tt-full"
is
used
as
a
value
for
ttp:profile
element
or
attribute
(see
Section
5.8
at
[
ST2052-1
]),
Text
Profile
or
Image
Profile
is
signaled
by
the
Document
Interchange
Context
and/or
the
Document
Processing
Context.
The following is an example of a document that conforms to both Text Profile and [ ST2052-1 ]:
<?xml version="1.0" encoding="UTF-8"?>
<tt xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" ttp:profile="http://www.smpte-ra.org/schemas/2052-1/2010/profiles/smpte-tt-full" xmlns:tts="http://www.w3.org/ns/ttml#styling" ttp:frameRate="24"> <head> <layout> <region xml:id="area1" tts:origin="10% 70%" tts:extent="80% 20%" tts:showBackground="whenActive" tts:backgroundColor="red" tts:displayAlign="center" tts:color="white"/> </layout> </head> <body tts:lineHeight="100%"> <div> <p region="area1" begin="00:00:01.01" end="00:00:03">This should appear on frame 25.</p> <p region="area1" begin="00:00:04" end="00:00:06">This should appear on frame 96.</p> <p region="area1" begin="00:00:07.33" end="00:00:09">This should appear on frame 176.</p> </div> </body></tt>
This specification was derived from the text and image profiles specified in Section 6 at [ CFF ], and is intended to be a superset in terms of capabilities. Additional processing is however generally necessary to convert a document from [ CFF ] to this specification. In particular:
progressivelyDecodable
attribute
is
different;
forcedDisplayMode
attribute
in
[
CFF
]
is
renamed
to
forcedDisplay
in
this
specification;
ttp:frameRate
is
not
subject
to
the
requirements
specified
at
6.11
Features
and
Extensions
;
and
ttp:profile
element,
whereas
this
specification
recommends
the
use
of
the
ttp:profile
attribute.
The editor acknowledges the current and former members of the Timed Text Working Group, the members of other W3C Working Groups, and industry experts in other forums who have contributed directly or indirectly to the process or content of this document.
The editor wishes to especially acknowledge the following contributions by members: Glenn Adams, Skynav; John Birch, Invited expert; Mike Dolan, Invited expert; Nigel Megitt, British Broadcasting Corporation; Thierry Michel, W3C ; Andreas Tai, Institut für Rundfunktechnik.
The editor also wishes to acknowledge Digital Entertainment Content Ecosystem (DECE) for contributing to the initial document for the Member Submission.
The security and privacy considerations of [ rfc3023 ] and [ TTML1 ] apply, particularly in relation to document parsing. XML Entities are excluded from the Reduced XML Infoset of TTML and are therefore not considered part of Document Instances ; nevertheless implementations are encouraged to provide protection against recursive entity expansion or prevent entity expansion altogether in processors.
The Image Profile includes a mechanism for referencing external images. A user agent that downloads external images during media playback indicates to the origin server of the images the progress of the user's media consumption. In many cases such media progress information is available to the origin server of the media via other mechanisms, for example by scripting or by monitoring streaming media requests.
User agents that do not enforce cross origin policies when downloading external images expose such media progress information and potentially other user tracking information to other origins without the consent of the web site serving the media and without the consent of the user. This specification defines no APIs and makes no statement on how implementations are expected to obtain referenced images.