W3C

Simple Delivery Profile for Closed Captions (US)

A profile of TTML for internet delivery of Captions originated in the United States

W3C Working Draft 13 September 2012 3 January 2013

This version:
http://www.w3.org/TR/2012/WD-ttml10-sdp-us-20120913/ http://www.w3.org/TR/2013/WD-ttml10-sdp-us-20130103/
Latest published version:
http://www.w3.org/TR/ttml10-sdp-us/
Latest editor's draft:
http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10-sdp-us/Overview.html
Previous version:
http://www.w3.org/TR/2012/WD-ttml10-sdp-us-20120913/
Editors:
Sean Hayes , Microsoft
Monica Martin , Microsoft Open Technologies, Inc.
Glenn Adams , Cox Communications, Inc.

Abstract

TTML 1.0 provides many features to satisfy captioning and subtitling requirements, not all of which are intended for end user display. Requirements have been identified by key video and content communities to define an interoperable delivery profile using the core features specifically designed for online presentation of TTML. Such a profile allows the community of TTML users to construct constrained presentation engines for TTML. This document defines specifies the behavior expected Simple Online Delivery Profile (US) of a presentation processor using the player constraints for such an online delivery profile. Timed Text Markup Language (TTML).

The Simple Online Delivery profile is focused on streamlined delivery primary goal of closed captions on the Internet. This interoperability profile supports core TTML features defined herein is to deliver content originating establish a minimum level of interoperability between [ TTML10 ] and legacy caption formats such as CEA-608 and -708 content, and is targeted primarily for delivery employed in US markets. The Simple Delivery Profile for Closed Captions focuses interoperability using TTML 1.0 to support delivery of closed captions for video content. Other profiles based on TTML 1.0 may target other types of subtitles markets, such as on-screen text or graphics. [ CEA608 ] and [ CEA708 ]. This interoperability profile is accomplished by (1) defining a proper subset set of constraints that apply to TTML 1.0 plus document instances that claim adherence to this profile, and (2) defining a set of mandatory features required and behaviors that must be supported by implememntations of a TTML Presentation Processor that claim adherence to support US Government closed captioning requirements for online presentation. this profile.

Status of This Document

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

This is the first Public Last Call Working Draft of the Simple Delivery Profile for Closed Captions (US). The deadline for comments is 31 January 2013.

This document applies 3 the following guiding principles for online delivery of closed captions originated in the United States:

  1. Promote interoperability.
  2. Provide mandatory functionality based on a specified set of TTML features.
  3. Use this functionality to apply constraints on usage of a specified set of TTML features.

This document was published by the Timed Text Working Group as a Working Draft and is intended to become a Working Group Note. If you wish to make comments regarding this document, please send them to public-tt@w3.org ( subscribe , archives ). All feedback is welcome.

Publication as a Working Draft does not imply endorsement by the W3C Membership. This is a draft document and may be updated, replaced or obsoleted by other documents at any time. It is inappropriate to 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 . The group does not expect this document to become a W3C Recommendation. 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 .

Table of Contents

8. Timing Constraints

8.1 1. Use of Constrained Introduction

TTML Feature timing 8.1.1 Usage Scenario 1.0 [ 8.1.2 Constraints TTML10 8.2 Use ] provides many features to satisfy captioning and subtitling requirements, not all of Constrained TTML Feature time-offset-* 8.2.1 Usage Scenario 8.2.2 Constraints 8.3 Use which are intended for end user display. Requirements have been identified by key video and content communities to define an interoperable delivery profile using the core features specifically designed for online presentation of TTML. Such a profile allows the community of Constrained TTML Feature frameRate and frameRateMultiplier 8.3.1 Usage Scenario 8.3.2 Constraints 8.4 Use users to construct constrained presentation engines for TTML. This document defines the behavior expected of Constrained a TTML Feature animation content player using the presentation processor constraints for such an online delivery profile.

8.4.1 Note Usage Scenario
At the time of publication, this profile normatively refers to [ 8.4.2 Constraints TTML10 ], and informatively refers to [ 9. Other Constraints TTML10SE 9.1 User Ease ]. The most recently published version of Use Constraints 10. Features in TTML 1.0 Used in This Profile should take precedence as the definitive reference.

The Simple Online Delivery profile is focused on streamlined delivery of closed captions on the Internet. This interoperability profile supports core TTML features to deliver content originating legacy formats such as [ 11. Error handling CEA608 ] and [ CEA708 A. Future Needs for TTML next ] content, and is targeted primarily for delivery in US markets.

The Simple Delivery A.1 Values Profile for fontFamily support Closed Captions focuses interoperability using [ B. Mapping of US Government Requirements to Constrained Profile Features TTML10 ] to support delivery of closed captions for video content. Other profiles based on [ C. Code points TTML10 ] may target other types of subtitles such as on-screen text or graphics. This interoperability profile is a proper subset of [ C.1 Color values TTML10 ] intended to support features required for US Government closed captioning requirements for online presentation.

C.2 2. Acknowledgements Terms, Definitions, and Conventions

The terms and definitions in [ D. References TTML10 ] serve as the basis for this interoperability profile. Terms found here are in addition to those found in [ D.1 Normative references TTML10 ].

Name Definition
a document A TTML document that is intended to conform to this profile.
a presentation processor A TTML presentation processor that is intended to conform to this profile.

When this document refers to a TTML element type, if no namespace prefix is specified, then the tt namespace prefix is implied. This prefix and other explicit namespace prefixes used herein correspond to those TTML namespaces defined in [ D.2 Informative references TTML10 ] Section 5.1.

1. 3. Conformance

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 must , must not , required , should , should not , recommended , may , and optional in this specification are to be interpreted as described in [ RFC2119 ].

Simple Delivery Profile for Closed Captions

This profile identifies the content and player defines (1) constraints on documents and (2) minimum requirements for closed captioning using TTML. To conform to this profile, a TTML presentation engine must : processor capable of presenting such constrained documents.

A document conforms to this profile if it:

  1. Satisfy the requirements specified contains all elements and attributes required by Section 3.2.1 Generic Processor Conformance [TTML] this profile;
  2. does not contain or employ elements and attributes that are required to implement: The mandatory TTML 1.0 features referenced in Table E-3, Section D.2 Feature Support prohibited by this profile; and
  3. Supports the semantics satisfies all other semantic constraints defined for those features in the context of by this profile. Satisfy all requirements specified in Sections 4-8 and

A conformant document is said to be strictly conformant if it does not contain any references from those sections feature that is not explicitly specified as included in this document. profile.

This constrained profile enumerates a set of required A TTML features, some of which may be constrained in behavior, and presentation processor conforms to this profile if it:

  1. implements support for the capabilities required of a Presentation Processor profile definition specified in Features in TTML 1.0. 1.0 Used in This Profile ; and
  2. implements support for all other semantics explicitly defined by this profile.

The semantics defined in TTML 1.0 [ TTML10 ] apply unless otherwise constrained in this profile.

Claims of document conformance must make use this URI and implement the required features and constraints of use and processing outlined in this profile. the following profile URI, identified with the indicated profile name:

Profile Name Profile Designator
simple-delivery http://www.w3.org/ns/ttml/profile/online-delivery http://www.w3.org/ns/ttml/profile/simple-delivery

Conformance to this profile does not preclude the preclude:

  1. use of other features defined in TTML 1.0 but [ TTML10 ], in which case such behavior is not defined here. 2. Terms and Definitions The terms and definitions in TTML 1.0 serve as the basis for this interoperability profile. Terms found here are in addition to those found in TTML 1.0. Name Definition Required feature A TTML feature is required for use. Required feature with constraints A TTML feature is required but constrained by this profile for here; or
  2. use and/or processing. Optional feature Any TTML feature not included of other profiles that may implement the features in this profile.
3. Note Simple Delivery Profile for Closed Captions This profile represents a minimum set of required functionality using specified TTML features to deliver closed captions for online-delivery. This profile does not preclude optional features from use.

The functionality is described in how it constrains the use of TTML features and how a processor provides those captions. An example implementing this constrained profile exists in Profile designator ; error Error handling behavior is found described in Error Handling .

3.1 Use of TTML Constrained Feature Template This profile identifies functionality in the context of the required TTML 1.0 features used and applies constraints. Each function is defined by: Usage scenario Constraints The template is as follows: Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint           Usage Constraints

4. Structural Constraints

Processors
A document must support the capability to present documents where the following constraints apply: contain a tt element.
A document must contain both a head and body element element.
A document must contain both a styling and a layout element.
A document must not use contain a div element inside which has a div descendant element.
A document must not contain only a single level of span element within which has a p element span descendant element.
Single level of spans.
Example 1
<span style="s1">A</span>
<span style="s3">B</span>

<


span




style


=

"

s1

"

>

C

</


span


>

A document must reference all styles using a style attribute to a style element.
A document must not have all contain two elements are in such that the lexical order of time. That is, in a par context, no element shall lexically precede another element with an earlier start time. the elements is different than the temporal order of the elements.
5. Constrained Features
5.1 Use of Constrained TTML Feature core Note
5.1.1 Usage Scenario
TTML Feature Usage type Context

This constraint is intended to constrain the lexical order of Usage Scope Constraint #core required       elements to match the temporal order of the active duration of these elements.

5.1.2 Constraints None

5.2 4.1 Use of Constrained TTML Feature content #content

5.2.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #content Required with constraint Specified elements are used.    
5.2.2 Constraints Processors must support the capability to present documents where the following constraints apply:
A document that is claimed to be strictly conformant must not contain only an element that is not one of the following elements: element types:

5.4 4.2 Use of Constrained TTML Feature profile #profile

5.4.1 Usage Scenario
TTML Feature Usage type Context
A document must contain a ttp:profile element where the use attribute of Usage Scope Constraint #profile required       that element is specified as http://www.w3.org/ns/ttml/profile/simple-delivery .
5.4.2 Constraints Processors
A presentation processor must support the capability to present documents referencing this profile using identified by the following URI: http://www.w3.org/ns/ttml/profile/online-delivery URI http://www.w3.org/ns/ttml/profile/simple-delivery as defined by Features in TTML 1.0 Used in This Profile .
Note

NOTE: See also Conformance . [ TTML10 NOTE: The use attribute could indicate the geographical region for which ] allows zero or more profiles ( ttp:profile in the profile is used. For example, specific styling capabilities could head element) to be specified and used in a particular geographical region. See also Other Constraints . 5.5 Use of Constrained TTML Feature structure simultaneously.

5.5.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #structure required      
5.5.2 Constraints None

6. 5. Style Constraints

6.1 5.1 Use of Constrained TTML Feature backgroundColor-* #backgroundColor-*

6.1.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #backgroundColor-block #backgroundColor-inline Required with constraints p element region element    
6.1.2 Constraints Processors
A document must not support contain a <color> expression value used with the capability tts:backgroundColor attribute that does not conform to present documents where the following constraints apply: The backgroundColor must be expressed in #rrggbbaa expression format exclusively using the <hexdigit> style value expression. as defined by [ TTML10 ], Section 8.3.2.
The backgroundColor
A presentation processor must support the colors outlined specified in Color Values . for use with the tts:backgroundColor attribute.
Note

Note: These colors are identical to those identified in the CEA708-D, Section 8.8 [RBG resolution of 4 bits for each primary (03)].

The alpha component of backgroundColor
A document must not support contain a region element where the opacity values outlined in Color Values . The value of alpha component of backgroundColor for a region must be 00. the region's computed value of the tts:backgroundColor property is not zero (0).
Multiple Background Styles. The player must allow the user to specify a backgroundColor tts:backgroundColor is specified distinctly for p a region, a paragraph selected into that region, and span elements based on a minimum of an 8-color palette span of white, black, red, green, blue, yellow, magenta, and cyan (See Minimum Color List text in Color Values ). that paragraph.
The player must allow the user to specify a backgroundColor for
Example 2
<region id="r1" tts:backgroundColor="#00000000"/>
...
<p region="r1" tts:backgroundColor="#1049edff">
  Twinkle, twinkle, little bat!<br>
  How <span tts:backgroundColor="#ed1078ff">I wonder</span> where you're at!

</

p
and
span
elements
to
allow
for
semi-transparent
and
transparent
opacities.



>

6.2 5.2 Use of Constrained TTML Feature color #color

6.2.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #color Required with constraints      
6.2.2 Constraints Processors
A document must not support contain a <color> expression value used with the capability tts:color attribute that does not conform to present documents where the following constraints apply: The color must be expressed in #rrggbbaa expression format exclusively using the <hexdigit> style value expression. as defined by [ TTML10 ], Section 8.3.2.
The color
A presentation processor must support the colors outlined specified in Color Values . for use with the tts:color attribute.
Note

Note: These colors are identical to those identified in the CEA708-D, Section 8.8 [RBG resolution of 4 bits for each primary (03)].

The alpha component of color must support the opacity values outlined in Color Values . The player must allow the user to specify a color for p and span elements based on a minimum of an 8-color palette of white, black, red, green, blue, yellow, magenta, and cyan (See Minimum Color List in Color Values ).
The player must allow the user to specify a color for p and span elements to allow for semi-transparent and transparent opacities.

6.3 5.3 Use of Constrained TTML Feature display-region #extent-region

A document must not contain a region element where the computed values of the tts:origin and tts:extent properties would result in the region extending outside of the root container.
6.3.1 Usage Scenario
TTML Feature Usage type Context
A presentation processor must fix the root container origin so that it corresponds with the top, left corner of Usage Scope Constraint #display-region required       the related media object [ TTML10SE 6.3.2 Constraints None ], Section 2.2.
6.4 Use
A presentation processor must fix the root container extent so that it corresponds with the extent of Constrained TTML Feature display-region the related media object [ TTML10SE ], Section 2.2.
6.4.1
Note Usage Scenario TTML Feature Usage type Context
In the context of Usage Scope Constraint #display-region Required with constraints region root     this document, the related media object [ TTML10SE ] is assumed to be video media, and, therefore, have an associated origin and extent on some display device.

6.4.2 5.3.1 Constraints Examples

Processors must

This section is non-normative. support the capability to present documents in

This profile supports the following common forms: caption styles:

  • Pop-up
  • Roll-up
  • Paint-on

Examples Pop-up style captions are provided typically characterized by small blocks of each text that appear all at once.

Roll-up style to aid in understanding captions are typically characterized by words (or small groups of letters) appearing sequentially, so that a line fills up incrementally, and then as new lines are added the common forms. upper lines are scrolled out of view.

A Paint-on caption typically appears on the screen one character at a time and is displayed like a Pop-up caption.

These caption styles are further elucidated by examples below and by [[TTML10SE] Appendix N, Common Caption Style Examples.

Pop-up style
Example 3
<tt xml:lang="en-us" xmlns="http://www.w3.org/ns/ttml" 
    xmlns:s='http://www.w3.org/ns/ttml#styling' 
    xmlns:p='http://www.w3.org/ns/ttml#parameter' >
  <head>
    <p:profile use="http://www.w3.org/ns/ttml/profile/simple-delivery"/>
    <styling>
      <!-- A typical transparent region with centered text that has an outline -->
      <style xml:id="bottomMidStyle" s:textAlign="center" s:textOutline="#000000ff 5%" s:backgroundColor="#00000000" 
             s:color="#ffffffff" s:origin='20% 58%' s:extent='60% 18%'/>
    </styling>
    <layout>
      <!-- typical 'Pop-up' type region -->
      <region xml:id="bottomMid" style="bottomMidStyle" />
    </layout>
  </head>
  <body>
    <div style="defaultFont">
      <p region="bottomMid" begin='00:00:00.101' end='00:00:03.000'> This is a Pop-up caption. </p>
    </div>
  </body>

</


tt


>

Positioned style. An off-screen narrator is present and no graphics are used. Content placed in a single region in the bottom one-third of that region.
< style xml:id = " topMidStyle " s:textAlign = " center " s:textOutline = " black 1px " s:backgroundColor = " transparent "
Example 4
<style xml:id="bottomMidStyle" s:textAlign="center" s:textOutline="black 1px" s:backgroundColor="transparent" 
       s:color="#ffffffff" s:origin='20% 58%' s:extent='60% 18%'/>
<style xml:id="topMidStyle" s:textAlign="center" s:textOutline="black 1px" s:backgroundColor="transparent" 

s:color


=

"

white

#ffffffff


"



s:origin


=

'

20%
10%

'



s:extent


=

'

60%
18%

'

/>

Moving regions. Content is positioned based on location of speaker, visible in the bottom two lines individually positioned in region(s) so as to avoid background content..
Example 5
<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en-us" xmlns="http://www.w3.org/ns/ttml" xmlns:s='http://www.w3.org/ns/ttml#styling'>
  <head>
    <styling>
      <style xml:id="s1" s:display="none" s:extent='40% 18%'/>
    </styling>
    <layout>
      <region xml:id="r1" style="s1">
        <set begin='00:00:10.000' end='00:00:10.330' s:display='auto'/>
        <set begin='00:00:10.000' end='00:00:10.330' s:origin='10% 10%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='10% 10%'/>
      </region>
      <region xml:id="r2" style="s2">
        <set begin='00:00:10.330' end='00:00:10.670' s:display='auto'/>
        <set begin='00:00:10.330' end='00:00:10.670' s:origin='50% 10%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='50% 10%'/>
      </region>
      <region xml:id="r3" style="s3">
        <set begin='00:00:10.670' end='00:00:11.000' s:display='auto'/>
        <set begin='00:00:10.670' end='00:00:11.000' s:origin='10% 78%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='10% 78%'/>
      </region>
      <region xml:id="r4" style="s4">
        <set begin='00:00:11.000' end='00:00:11.330' s:display='auto'/>
        <set begin='00:00:11.000' end='00:00:11.330' s:origin='50% 78%'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:display='auto'/>
        <set begin='00:00:11.670' end='00:00:12.000' s:origin='50% 78%'/>
      </region>
    </layout>
  </head>
  <body>
    <div>
      <!--four speakers count off, and then all call 'Jump' together -->
      <p begin='00:00:10.000' end='00:00:10.330' region="r1" >One</p>
      <p begin='00:00:10.330' end='00:00:10.670' region="r2" >Two</p>
      <p begin='00:00:10.670' end='00:00:11.000' region="r3">Three</p>
      <p begin='00:00:11.000' end='00:00:11.330' region="r4" >Four</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r1" >Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r2" >Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r3">Jump!</p>
      <p begin='00:00:11.670' end='00:00:12.000' region="r4" >Jump!</p>
    </div>
  </body>

</


tt


>

Rollup and Paint on style. Content is presented a word at a time and lines scroll up in a small fixed window (typically 3 or 4 lines). The paint-on text is often embodied in roll-up content. </ p > Note: As shown in the rollup example, a function of time for a k line rollup of content: The begin time of the N+kth p element is equal to the begin time plus duration of the Nth p element less the begin time of the first span in the N+kth p.

6.5 5.4 Use of Constrained TTML Feature fontFamily-generic #fontFamily-generic

6.5.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #fontFamily-generic Required with constraints tts:fontFamily attribute span  
6.5.2 Constraints Processors must support the capability to present documents where the following constraints apply: The
A document must not use the specify a tts:fontFamily attribute using only whose value is not one of the following values: following:
Note

Note: fontFamily values Values of tts:fontFamily that do not not correspond to generic font family names in TTML 1.0, [ TTML10 ], such as casual , cursive and smallcaps smallCaps , may be used. These are to be interpreted as local font names, which, if not available, the default font family is to be used.

A player must map the generic font names to fonts as follows Style Value Description Comments default default One of the below monospace Serif Monospaced with serifs Similar to Courier proportional Serif Proportionally spaced with serifs Similar to Times New Roman monospaceSansSerif Monospaced without serifs Similar to Helvetica Monospaced proportionalSansSerif Proportionally spaced without serifs Similar to Arial and Swiss casual Casual font type Similar to Dom and Impress cursive Cursive font type Similar to Coronet and Marigold smallcaps Smallcap types Similar to Engravers Gothic The player must allow the user to specify a generic fontFamily for the document using the values shown in the preceding table. The player must allow the user to specify character edge attributes and types for the generic fontFamily names for the values shown in the preceding table.
Note: Player and Unicode code point support is defined in Code Point support Note: Text outline can be specified using a style property to apply to characters selected for specific areas for content flowed into a region. Text outline applies a specific character edge to content. For example, when the textOutline style property is used, a type of shadow or thickness can be applied to content.

6.6 5.5 Use of Constrained TTML Feature fontSize #fontSize

6.6.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #fontSize Required with constraints   span div (root)  
6.6.2 Constraints Processors must support the capability to present documents where the following constraints apply:
A document must not only specify tts:fontSize(s) a tts:fontSize attribute using a value that is not one of 50, 75%, 100%, the following values: 50% , 75% , 100% , 150% or 200%. 200% .
Note

Note: Use of a fontSize font size of less than 75% (i.e. 50%) could 75%, e.g., 50%, may result in unreadable content for a user. Note: Specifying a fontSize is used for a document could allow the user to select a preferred fontSize. Example to show how to specify an initial font. The default font height of the player must be 5% of the root container height Note: This is equivalent to one cell using the default grid. A player is however not required to support the grid metric. end user.

6.7 Use of Constrained TTML Feature fontStyle-italic
6.7.1 Note Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #fontStyle-italic Required with constraints span span Support 7 font family values.
6.7.2 Constraints

Processors must support the capability to present documents where the following constraints apply: The capability must exist for the user to specify If a specific font size is not supported, then follow the italic style semantics for the font families identified a presentation processor defined in this profile. 6.8 Use of Constrained TTML Feature length-percentage [ TTML10 ], Section 8.2.9.

6.8.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #length-percentage Required      
6.8.2 Constraints None Note: Using 10% for the tts:extent of the root container region (for example, of an 720x640 region), the equivalence to pixel units (px) could be obtained. For example, using this snippet:
Example 6 Note
< style xml:id = " topLeftStyle " s:fontSize = " 150% " s:textAlign = " left " s:backgroundColor = " #ffffffff " s:color = " #ff0000ff " s:origin = ' 10% 10% ' s:extent = ' 40% 18% ' />

Convert Constraining the percentage value root container extent to a fraction (i.e. .40), multiply the numerator by 16 active video area means that the default font size of 1c and divide by 100 to obtain px (pixel units). 6.9 Use the default cell grid of Constrained TTML Feature length-positive 6.9.1 Usage Scenario 32 x 15 (as specified in TTML Feature Usage type Context 1.0) implies an initial font height of Usage Scope Constraint #length-positive Required       6.67% of the video height.

6.9.2 Constraints None

6.10 5.6 Use of Constrained TTML Feature styling-* #styling-*

6.10.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #styling #styling-referential #styling-inline Required with constraints      
6.10.2 Constraints Processors must support the capability to present documents where the following constraints apply: Styles
A document must not be applied either by reference or through use of inline styling. chained referential styling or nested styling as defined by [ TTML10 ], Sections 8.4.1.3 and 8.4.1.4, respectively.
Styles
A document must not be applied with contain a single style region element using the which has a style attribute. descendant element.
Style elements must not reference other styles.
Style elements must not be child elements of region elements.
Note

Note: The constraints in this section result in a document that contains style blocks that are complete and self-contained.

6.11 Use of Constrained TTML Feature styling-inheritance-content 6.11.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #styling-inheritance-content Required      
6.11.2 Constraints None
6.12 Use of Constrained TTML Feature styling-inheritance-region 6.12.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #styling-inheritance-region Required      

6.12.2 6. Layout Constraints None 6.13 Use of Constrained TTML Feature textAlign-absolute

6.13.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #textAlign-absolute Required       6.13.2 Constraints None

6.14 6.1 Use of Constrained TTML Feature textDecoration-under #layout

6.14.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #textDecoration-under Required with Constraints      
6.14.2 Constraints Processors must support the capability to present documents where the following constraints apply: The tts:textDecoration-under attribute must support the constraints identified in this profile. The capability
A document must not exist for the user to specify contain two regions such that the underline decoration for spatial extent of the font families identified in this profile. two regions would (visually) overlap.
6.15 Use of Constrained TTML Feature textOutline-unblurred 6.15.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #textOutline-unblurred Required with Constraints      
6.15.2 Constraints Processors must support the capability to present documents where the following constraints apply: Character edge attributes
A document must not contain content such that more than four regions would be expressed using textOutline-unblurred based on the settings identified in CEA-708-D, Section 8.5.8. selected into a given synchronic intermediate document.
A text outline document must not be expressed using textOutline-unblurred contain content such that more than four lines of up to 10%. The user must text would be able to specify character edge and type attributes using tts:textOutline attribute. selected a given synchronic intermediate document.
The user
A document must not contain content such that, if the aspect ratio of the root container is 4:3 (16:9), then more than 38 (42) characters, respectively, would be able to specify present in the rendering same visible line of character edge types of: none, raised, depressed, uniform or drop shadowed edges. text.
6.16 Use
A document must not contain content such that, if the aspect ratio of Constrained TTML Feature writingMode-horizontal-lr 6.16.1 Usage Scenario TTML Feature Usage type Context the root container is 4:3 (16:9), then more than 152 (168) characters, respectively, would be present in all visible lines of Usage Scope Constraint #writingMode-horizontal-lr Required       text.
6.16.2 Constraints None
7. Note Layout Constraints
7.1 Use of Constrained TTML Feature layout

These requirements accommodate content originated in Europe but displayed in the US, as well as content displayed using 16:9 format.

7.1.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #layout Required with constraints region attribute content  
7.1.2 Constraints Processors must support the capability to present documents where the following constraints apply: Active region(s)
A document must not overlap. No more than 4 region(s) must be active concurrently. No contain content such that more than four lines of text must one p element would be selected into a the same region at any in a given time. synchronic intermediate document.
7.2 Use of Constrained TTML Feature lineBreak-uax14
7.2.1 Note Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #lineBreak-uax14 Required with constraints      
7.2.2 Constraints Processors must support the capability to present documents where the following constraints apply: At most 32 characters must be present in any displayed text line. At most one p element must be selected into a region at a time.

NOTE: The style properites of region and the content selected for into the region impact how selected text flows into a region (i.e. selected text may flow outside of the region such as on a mobile device).

Note

NOTE: Constraining a region to select no more than one one p element to a region logically places content from two different speakers to different region(s).

Note

NOTE: When a document author wants to construct a single phrase from a speaker with more than one line in a region, the br element within a p element can be used. This construction adheres to the constraints in this section. For example for one speaker with more than one line:

Example 7 6

<


p


>

I
always
get
the
fuzzy
end

<


br


/>

of
the
lollipop

</


p


>

8. 7. Timing Constraints

8.1 7.1 Use of Constrained TTML Feature timing #timing

8.1.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #timing Required with constraints      
8.1.2 Constraints Processors
A document must not support the capability contain a <timeExpression> value that does not conform to present documents where the following constraints apply: Timing must be expressed in subset of clock-time that matches either of the hh:mm:ss.ms following patterns: hh:mm:ss.mss or hh:mm:ss:ff format used in the timeExpression. , where hh denotes hours (00-23), mm denotes minutes (00-59), ss denotes seconds (00-59), mss denotes milliseconds (000-999), and ff denotes frames (00- frameRate - 1 ).
Timing
A document must be expressed in use the same time expression format throughout the document. Durations (dur) shall document; more specifically, whichever time expression format is encountered first (in lexical order) must only be used on for all subsequent time expressions in the span element. document .
Note: The use of dur on a span supports rollup style content.
For content other than rollup, the default behavior is to remain present until the end of the container. Therefore, durations are not needed on time expressions that use the span element. For timing in hh:mm:ss.ms, hh:mm:ss.mss format, the following format must be used: constraints apply:
Note

The phrase milliseconds component above refers to a particular use of the fraction of a clock-time time expression as defined by [ TTML10 ] Section 10.3.1.

Example 8 7

<


p




begin


=

'

00:00:01.000

'



end


=

'

00:00:11.123

'



region


=

"

r1

"

>

Test

</


p


>

For timing in hh:mm:ss.ms, time expressions that use the hh:mm:ss:ff format, the following format must be used: constraints apply:

Example 9
Example 8
<tt ttp:frameRate='30' ttp:frameRateMultiplier='1000 1001' ...>
...


<


p




begin


=

'

00:00:01:00

'



end


=

'

00:00:11:22

'



region


=

"

r1

"

>

Test

</


p


>

A document must not contain an element on which a dur attribute is specified that is not a p or span element.

8.2 7.2 Use of Constrained TTML Feature time-offset-* #animation

8.2.1 Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #time-offset #time-offset-with-frames Required      
8.2.2 Constraints None Note: Since the ttp:timebase attribute is outside of this profile, the implicit timebase used here
A document must not contain a set element that is media as specified in TTML 1.0. 8.3 Use not a child of Constrained TTML Feature frameRate and frameRateMultiplier a region or span element.
A document must not contain a set child element of a region element that specifies a property to be animated other than: tts:display , tts:origin , or tts:extent .
8.3.1 Usage Scenario
TTML Feature Usage type Context
A document must not contain a set child element of Usage Scope Constraint #frameRate #frameRateMultiplier Required       a span element that specifies a property to be animated other than: tts:color .
8.3.2 Constraints See timing
A document must not contain an element that contains more than six (6) set child elements.
8.4 Use of Constrained TTML Feature animation

8.4.1 8. Usage Scenario TTML Feature Usage type Context of Usage Scope Constraint #animation Required with constraints       Other Constraints

8.4.2 8.1 Encoding Constraints

Processors Content Authors must support the capability adhere to present documents where the following constraints apply: The set element and presentation processors must only animate support the region or span element. The use of set elements applied to a region element following constraints:

A document must only animate the tts:display, tts:origin or tts:extent attribute. The use of set elements applied to be concretely represented as a span element well-formed [ XML10 ] entity.
A document must only animate be concretely represented using the tts:color attribute. UTF-8 character encoding [ UNICODE ].
No more than 6 set elements
A presentation processor must be used within reject a given element Note: Animation is constrained to the scenarios where the region needs to be moved – i.e. when the “snap” display effect is required. Note: Animation document that is constrained to the scenarios to change the foreground color of content when flashing text not a well-formed [ XML10 ] entity or is required. not encoded with UTF-8.
9. Other Constraints

9.1 8.2 User Ease of Use Constraints

Constraints on reduced or simplified content are outside of this profile. External labeling could be used to support the user’s end user's capability to select and use captions when available for:

For example, external labeling could be used to identify simplified or reduced, or other language supported content on a text track in HTML5. Such labeling may also be used to identify when large font size is applied to content. Requirements to support user preview and retention of default or user defined settings of selected text are outside of the scope of this profile. These requirements are relevant in the environment to which the captions are deployed.

Presentation processors must support the ability of the end user to:

Override background color of presented content, with minimum support for at least the set of (opaque and semi-transparent) color values defined by Color Values .
Note

An end user override of background color is applied to the value of the tts:backgroundColor property in the applicable computed style set.

Override foreground color of presented text content, with minimum support for at least the set of (opaque and semi-transparent) color values defined by Color Values .
Note

An end user override of foreground color is applied to the value of the tts:color property in the applicable computed style set.

Override font family of presented text content, with minimum support for at least the following generic font family values: default , monospace , monospaceSansSerif , proportionalSerif , proportionalSansSerif .
Note

An end user override of font family is applied to the value of the tts:fontFamily property in the applicable computed style set.

Override font style of presented text content.
Note

An end user override of font style is applied to the value of the tts:fontStyle property in the applicable computed style set.

Override font size of presented text content.
Note

An end user override of font size is applied to the value of the tts:fontSize property in the applicable computed style set.

Override decoration of presented text content, including outline and underline effects.
Note

An end user override of text decoration effects is applied to the value of the tts:textDecoration and/or tts:textOutline properties in the applicable computed style set.

Style overrides must be applied to the result of step 2 [resolve computed styles] of [ TTML10 ], Section 8.4.4.4, Style Resolution Process .

Other details of support for end user overrides, including the means by which overrides are presented to and performed by the end user, are not specified by this profile. Similarly, the sets of choices of values for end user overrides are not specified by this profile.

Note

A presentation processor may allow an end user to select override styles that are not explicitly supported by TTML. For example, it may allow for text decoration effects, font styles, and font families to be selected that are not defined by TTML itself.

Note

An implementer of a presentation processor is advised to consult [ CEA708 ] to obtain additional information about override styles.

10. 9. Features in TTML 1.0 Used in This Profile

<?xml version="1.0" encoding="utf-8"?>
<profile xmlns="http://www.w3.org/ns/ttml#parameter">
  <features xml:base="http://www.w3.org/ns/ttml/feature/">
    <!-- required (mandatory) feature support -->
    <feature value="required">#animation</feature>
    <feature value="required">#backgroundColor-block</feature>
    <feature value="required">#backgroundColor-inline</feature>
    <feature value="required">#color</feature>
    <feature value="required">#content</feature>
    <feature value="required">#core</feature>
    <feature value="required">#display-region</feature>
    <feature value="required">#displayAlign</feature>
    <feature value="required">#fontFamily-generic</feature>
    <feature value="required">#fontSize</feature>
    <feature value="required">#fontStyle-italic</feature>
    <feature value="required">#frameRate</feature>
    <feature value="required">#frameRateMultiplier</feature>
    <feature value="required">#layout</feature>
    <feature value="required">#length-percentage</feature>
    <feature value="required">#length-positive</feature>
    <feature value="required">#lineBreak-uax14</feature>
    <feature value="required">#presentation</feature>
    <feature value="required">#profile</feature>
    <feature value="required">#structure</feature>
    <feature value="required">#styling</feature>
    <feature value="required">#styling-inheritance-content</feature>
    <feature value="required">#styling-inheritance-region</feature>
    <feature value="required">#styling-inline</feature>
    <feature value="required">#styling-referential</feature>
    <feature value="required">#textAlign-absolute</feature>
    <feature value="required">#textDecoration-under</feature>
    <feature value="required">#textOutline-unblurred</feature>
    <feature value="required">#time-offset</feature>
    <feature value="required">#timing</feature>
    <feature value="required">#writingMode-horizontal-lr</feature>
  </features>
</profile>
 
 

11. 10. Error handling

A presentation process may be presented with documents that contain features that are not understood. The table that follows outlines semantics defined by [ TTML10 ] Section 6.1.1 apply with regard to the behavior expected under specific conditions. The pre-requisite presence of a reference to other standard or non-standard profiles. In particular, if the caption file an additional, non-standard profile is syntactically valid XML. specified for use by a document and is not dereferencable by the presentation processor, then the document must not be further processed without an explicit override from the end user.

The semantics defined by [ Feature Requirement Action Known Required TTML10 ] Section 6.1.3 apply if some standard or non-standard feature is required, the feature is present in the document, and the presentation processor does not support that feature. In this case also, the document must not interpret Unknown Required be further processed without an explicit override from the end user.

If a feature is present in a document and support for that feature is not required by the profile(s) referenced (or defined) by the document, and if the presentation processor does not support or otherwise recognize that feature, then the feature must ignore be ignored.

A. Future Needs for TTML next for Simple Delivery

A.1 Values for fontFamily font family support

The casual, cursive and smallcap styles could be considered smallCaps generic font families are suggested for addition to <genericFamilyName> expression consideration in a future version of TTML.

A.2 Support for character edge features

Additional character edge features for raised, depressed, and drop shadowed edges are suggested for consideration in a future version of TTML.

A.3 Specify rendering model that accounts for drawing performance

Consideration may be given to defining a rendering model that accounts for drawing performance.

B. Mapping of US Government Requirements to Constrained Profile Features

A key is provided that maps the US Government technical requirements for closed captions are mapped to the constrained features of this profile.

Presentation #animation (set)
#display-region
#displayAlign
#extent-region
#frameRate
#frameRateMultiplier
#layout
#length-percentage
#length-positive
#lineBreak-uax14
#textAlign-absolute
#time-offset
#time-offset-with-frames #timing
#writingMode-lr
Character color #animation
#color
Character opacity #color
Character size #fontSize
#fontStyle-italic
#textDecoration-underline
Fonts #fontFamily-generic
#fontStyle-italic
Caption background color and opacity #backgroundColor-*
Character edge attributes #textOutline-unblurred
Caption window color #backgroundColor-*
Language #profile
Preview setting and retention See Other Constraints,

TTML Mandatory Features

TTML Features Required That Support Other Requirements

C. Code points

Players should
Presentation processors must provide font glyph coverage for all characters in the “ISO 8859-1 Latin-1” space and those should provide coverage for ANSI INCITS 4 when mapped onto Unicode code points (see table).
Players
Note

A presentation processor follows the semantics expected for use of Unicode code points as stated in this section. The exact glyph is presentation processor dependent.

Presentation processors should support the C0, G0, C1, and G1 code sets mapped onto Unicode as in the following table. See CEA 708, Section 7.1 including Table 11.
_0 _1 _2 _3 _4 _5 _6 _7 _8 _9 _A _B _C _D _E _F
  ! " # $ % & ' ( ) * + , - . /
U+002_ 0020 0021 0022 0023 0024 0025 0026 0027 0028 0029 002A 002B 002C 002D 002E 002F
0 1 2 3 4 5 6 7 8 9 : ; < = > ?
U+003_ 0030 0031 0032 0033 0034 0035 0036 0037 0038 0039 003A 003B 003C 003D 003E 003F
@ A B C D E F G H I J K L M N O
U+004_ 0040 0041 0042 0043 0044 0045 0046 0047 0048 0049 004A 004B 004C 004D 004E 004F
P Q R S T U V W X Y Z [ \ ] ^ _
U+005_ 0050 0051 0052 0053 0054 0055 0056 0057 0058 0059 005A 005B 005C 005D 005E 005F
` a b c d e f g h i j k l m n o
U+006_ 0060 0061 0062 0063 0064 0065 0066 0067 0068 0069 006A 006B 006C 006D 006E 006F
p q r s t u v w x y z { | } ~
U+007_ 0070 0071 0072 0073 0074 0075 0076 0077 0078 0079 007A 007B 007C 007D 007E 007F
  ¡ ¢ £ ¤ ¥ ¦ § ¨ © ª « ¬ ­ ® ¯
U+00A_ 00A0 00A1 00A2 00A3 00A4 00A5 00A6 00A7 00A8 00A9 00AA 00AB 00AC 00AD 00AE 00AF
° ± ² ³ ´ µ · ¸ ¹ º » ¼ ½ ¾ ¿
U+00B_ 00B0 00B1 00B2 00B3 00B4 00B5 00B6 00B7 00B8 00B9 00BA 00BB 00BC 00BD 00BE 00BF
À Á Â Ã Ä Å Æ Ç È É Ê Ë Ì Í Î Ï
U+00C_ 00C0 00C1 00C2 00C3 00C4 00C5 00C6 00C7 00C8 00C9 00CA 00CB 00CC 00CD 00CE 00CF
Ð Ñ Ò Ó Ô Õ Ö × Ø Ù Ú Û Ü Ý Þ ß
U+00D_ 00D0 00D1 00D2 00D3 00D4 00D5 00D6 00D7 00D8 00D9 00DA 00DB 00DC 00DD 00DE 00DF
à á â ã ä å æ ç è é ê ë ì í î ï
U+00E_ 00E0 00E1 00E2 00E3 00E4 00E5 00E6 00E7 00E8 00E9 00EA 00EB 00EC 00ED 00EE 00EF
ð ñ ò ó ô õ ö ÷ ø ù ú û ü ý þ ÿ
U+00F_ 00F0 00F1 00F2 00F3 00F4 00F5 00F6 00F7 00F8 00F9 00FA 00FB 00FC 00FD 00FE 00FF
    Œ œ                        
U+015_ 0152 0153
Š š                            
U+016_ 0160 0161
                Ÿ         Ž ž  
U+017_ 0178 017D 017E
    ƒ                          
U+019_ 0192
                        ˜      
U+02D_ 02DC
                         
U+201_ 2010 2015 2016
                             
U+202_ 2027
                           
U+203_ 2030 203A
                         
U+20A_ 20A1 20A2 20AC
                             
U+20B_ 20B3
      °C           °F            
U+210_ 2103 2109
                           
U+215_ 2153 215F
                             
U+25A_ 25A1
                           
U+266_ 2669 266B
Players
Presentation processors may support the extended G2 characters sets that map onto Unicode code points (See (see table).
Players
Presentation processors may also provide Glyph glyph coverage for additional Unicode code points points.

C.1 D. Color values

For color values of the form #rrggbbaa, players #rrggbbaa , presentation processors must support combinations where the rr, gg, bb red, green, and blue components may be are either 00 or ff; FF ; and the aa alpha component may be 00, 54, are 00 , 54 , A8 or FF. e.g: #00ffff54. FF , e.g, #00FFFF54. Additionally players presentation processors should support values for rr, gg, red, green, and bb blue of 54 or A8, A8 , and may support all possible values between 00 to ff. and FF .

Color Value
Black #000000ff
White #fffffffff
Red #ff0000ff
Green #00ff00ff
Blue #0000ffff
Yellow #ffff00ff
Magenta #ff00ffff
Cyan #00ffffff

C.2 E. Acknowledgements

Many thanks to Robin Berjon for providing the respec.js tool used to format this document.

D. F. References

D.1 F.1 Normative references

[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. March 1997. Internet RFC 2119. URL: http://www.ietf.org/rfc/rfc2119.txt
[TTML10]
G. Adams. Timed Text Markup Language (TTML) 1.0 , W3C Recommendation. URL: http://www.w3.org/TR/2010/REC-ttaf1-dfxp-20101118/
[UNICODE]
The Unicode Consortium. The Unicode Standard. 2003. Defined by: The Unicode Standard, Version 4.0 (Boston, MA, Addison-Wesley, ISBN 0-321-18578-1), as updated from time to time by the publication of new versions URL: http://www.unicode.org/unicode/standard/versions/enumeratedversions.html
[XML10]
C. M. Sperberg-McQueen; et al. Extensible Markup Language (XML) 1.0 (Fifth Edition). 26 November 2008. W3C Recommendation. URL: http://www.w3.org/TR/2008/REC-xml-20081126/

D.2 F.2 Informative references

No informative references.
[CEA608]
CEA-608, Line-21 Data Services , ANSI/CEA Standard. URL: http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/Line-21-Data-Service.aspx
[CEA708]
CEA-708, Digital Television (DTV) Closed Captioning , ANSI/CEA Standard. URL: http://www.ce.org/Standards/Standard-Listings/R4-3-Television-Data-Systems-Subcommittee/CEA-708-D.aspx
[TTML10SE]
G. Adams. Timed Text Markup Language (TTML) 1.0 (Second Edition) , W3C Editor's Draft. URL: http://dvcs.w3.org/hg/ttml/raw-file/tip/ttml10/spec/ttaf1-dfxp.html