Dubbing and Audio description Profiles of TTML2

W3C Editor's Draft

More details about this document
This version:
https://w3c.github.io/dapt/
Latest published version:
https://www.w3.org/TR/dapt/
Latest editor's draft:
https://w3c.github.io/dapt/
History:
Commit history
Editors:
(Netflix)
(British Broadcasting Corporation)
Feedback:
GitHub w3c/dapt (pull requests, new issue, open issues)
public-tt@w3.org with subject line [dapt] … message topic … (archives)

Abstract

This specification defines DAPT, a TTML-based file format for the exchange of timed text content in dubbing and audio description workflows.

Status of This Document

This is a preview

Do not attempt to implement this version of the specification. Do not reference this version as authoritative in any way. Instead, see https://w3c.github.io/dapt/ for the Editor's draft.

This section describes the status of this document at the time of its publication. A list of current W3C publications and the latest revision of this technical report can be found in the W3C technical reports index at https://www.w3.org/TR/.

This document was published by the Timed Text Working Group as an Editor's Draft.

Publication as an Editor's Draft does not imply endorsement by W3C and its Members.

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 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 2 November 2021 W3C Process Document.

1. Scope

This specification defines a text-based profile of the Timed Text Markup Language version 2.0 [TTML2] intended to support dubbing and audio description workflows worldwide, to meet the requirements defined in DAPT Requirements, and to permit usage of visual presentation features within [TTML2] and its profiles, for example those in [ttml-imsc1.2].

2. Introduction

This section is non-normative.

Creating a dub is a complex, multi-step process that involves:

The result of creating a dubbing script can be useful as a starting point for creation of subtitles or closed captions in alternate languages. This specification is designed to facilitate the addition of, and conversion to, subtitle and caption documents in other profiles of TTML, such as [ttml-imsc1.2], for example by permitting subtitle styling syntax to be carried in DAPT documents. Alternatively, styling can be applied to assist voice artists when recording scripted dialogue or audio descriptions.

Creating audio description content is also a complex process with similar steps.

Audio Description, also known as Video Description, is an audio service to assist viewers who can not fully see a visual presentation to understand the content, usually achieved by mixing a ‘description’ audio track with the main programme audio, at moments when this does not clash with dialogue, to deliver an audio description mixed audio track. More information about what Audio Description is and how it works can be found at [WHP051].

Issue 28: [ED Issue] Improve introduction to describe audio description steps ...

Was Issue 1:

Improve introduction to describe audio description steps and how it relates to dubbing. Maybe reuse the diagrams from the requirements document, or link the requirements doc.

This specification defines DAPT, a TTML-based format for the exchange of timed text content among authoring and prompting tools in the localization and audio description pipeline. A DAPT file is designed to carry pertinent information for dubbing or audio description such as type of script, dialogue, descriptions, timing, metadata, original language text, transcribed text, language information, and to be extensible for future annotations. This specification first defines the data model (see 6. DAPT Data Model and corresponding TTML syntax) for DAPT scripts and then its representation as a TTML document with restrictions (see #ttml-format).

2.1 Example documents

Editor's note

Do we need examples with metadata e.g. script type?

Issue 48: We probably should add an example with Character parts.

We probably should add an example with Character parts.

Originally posted by @cconcolato in #42 (comment)

The top level structure of a document is as follows:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-top-level.xml</pre>
</body>
</html>

The following examples correspond to the timed text scripts produced at each stage of the workflow described in [DAPT-REQS].

The first example shows a script where timed opportunities for descriptions or transcriptions have been identified but no text has been written:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-times-only.xml</pre>
</body>
</html>

When descriptions or transcriptions are added this becomes a Pre Recording Script: Text with times, or Original language Text with times:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-times-and-text.xml</pre>
</body>
</html>

After translating the text, this becomes Text in original language and dub language with times:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-original-language-with-dub-language.xml</pre>
</body>
</html>

After creating audio recordings, if not using text to speech, instructions for playback mixing can be inserted. For example, The gain of "received" audio can be changed before mixing in the audio played from inside the span, smoothly animating the value on the way in and returning it on the way out:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-script-with-gain.xml</pre>
</body>
</html>

In the above example, the div element's begin time becomes the "syncbase" for its child, so the times on the animate and span elements are relative to 25s here. The first animate element drops the gain from 1 to 0.39 over 0.3s, freezing that value after it ends, and the second one raises it back in the final 0.3s of this description. Then the span is timed to begin only after the first audio dip has finished.

If the audio recording is long and just a snippet needs to be played, that can be done using clipBegin and clipEnd. If we just want to play the part of the audio from file from 5s to 8s it would look like:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-script-with-audio-clipped.xml</pre>
</body>
</html>

Or audio attributes can be added to trigger the text to be spoken:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/intro-script-with-speak.xml</pre>
</body>
</html>

3. Documentation Conventions

This document uses the same conventions as [TTML2] for the specification of parameter attributes, styling attributes and metadata elements. In particular:

Section 2.3 of [TTML2] specifies conventions used in the [XML] representation of elements; and Sections 6.2 and 8.2 of [TTML2] specify conventions used when specifying the syntax of attribute values.

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 designations as defined in Appendices E at [TTML2]: when making reference to content conformance, these designations refer to the syntactic expression or the semantic capability associated with each designated Feature; and when making reference to processor conformance, these designations refer to processing requirements associated with each designated Feature. If the name of an element referenced in this specification is not namespace qualified, then the TT namespace applies (see 9.3 Namespaces.)

4. Definitions

The following terms are used in this proposal:

Audio description An audio rendition of a Description or a set of Descriptions.

Audio description mixed audio track The output of an audio mixer incorporating the main programme audio and the audio description.

Description A set of words that describe an aspect of the programme presentation, suitable for rendering into audio by means of vocalisation and recording or used as a Text Alternative source for text to speech translation.

Document Instance As defined by [TTML2].

Document Interchange Context As defined by [TTML2].

Document Processing Context See Section 2.2 at [TTML2].

Feature See Section 2.2 at [TTML2].

Intermediate Synchronic Document See Section 11.3.1.3 at [TTML2].

Linear White-Space See Section 2.3 at [TTML2].

Main programme audio The audio associated with the programme prior to any mixing with audio description.

Presentation processor See Section 2.2 at [TTML2].

Processor Either a Presentation processor or a Transformation processor.

Profile A TTML profile specification is a document that lists all the features of TTML that are required / optional / prohibited within “document instances” (files) and “processors” (things that process the files), and any extensions or constraints.

Related Media Object See Section 2.2 at [TTML2].

Related Video Object A Related Media Object that consists of a sequence of image frames, each a rectangular array of pixels.

Root Container Region See Section 2.2 at [TTML2].

Target Recording Language The eventual language for which a dubbing or audio description script is being prepared.

Note

Text Alternative As defined in [WCAG20].

Transformation processor See Section 2.2 at [TTML2].

5. 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 MAY, MUST, MUST NOT, SHOULD, and SHOULD NOT in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

A Document Instance that conforms to the profile defined herein:

Note

A Document Instance, by definition, satisfies the requirements of Section 3.1 at [TTML2], and hence a Document Instance that conforms to a profile defined herein is also a conforming TTML2 Document Instance.

A presentation processor that conforms to the profile defined in this specification:

A transformation processor that conforms to the profile defined in this specification:

Note

The use of the terms presentation processor and transformation processor within this document does not imply conformance per se to any of the Standard Profiles defined in [TTML2]. In other words, it is not considered an error for a presentation processor or transformation processor to conform to the profile defined in this document without also conforming to the TTML2 Presentation Profile or the TTML2 Transformation Profile.

Note

This document does not specify presentation processor or transformation processor behavior when processing or transforming a non-conformant Document Instance.

Note

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.

5.1 Profile Resolution Semantics

The Profile Semantics specified in [ttml2] apply.

Note

Since 7.6 Profile Signaling imposes constraints on profile signalling, by requiring the presence of the ttp:contentProfiles attribute, the algorithm for profile resolution can be simplified.

For the purpose of content processing, the determination of the resolved profile SHOULD take into account both the signaled profile, as defined in 7.6 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.

6. DAPT Data Model and corresponding TTML syntax

This section specifies the data model for DAPT and its corresponding TTML syntax. In the model, there are objects which can have properties and be associated with other objects. In the TTML syntax, these objects and properties are expressed as elements and attributes.

6.1 DAPT Script

A DAPT Script corresponds to a document processed within an authoring workflow or processed by a client. It has properties and objects defined in the following sections: Script Type, Primary Language, Script Events and, for Dubbing Scripts, Characters.

A DAPT Script is represented as a TTML document with the structure and constraints also defined in the following sections.

6.1.1 Script Type

The Script Type property is a mandatory property of a DAPT Script which describes the type of documents used in Dubbing and Audio Description workflows, among the following: Original Language Dialogue List, Translated Dialogue List, Pre-recording Dub Script, As-recorded Dub Script, and Audio Description Script. Original Language Dialogue List, Translated Dialogue List, Pre-recording Dub Script, As-recorded Dub Script are referred to as Dubbing Scripts.

To represent this property, the following TTML attribute MUST be present on the tt element:

daptm:scriptType
  : "DUBBING_ORIGINAL_DIALOGUE_LIST"
  | "DUBBING_TRANSLATED_DIALOGUE_LIST"
  | "DUBBING_PRE_RECORDING"
  | "DUBBING_AS_RECORDED"
  | "AUDIO_DESCRIPTION"

The definitions of the types of documents and the corresponding daptm:scriptType values are:

<tt daptm:scriptType="DUBBING_DIALOGUE_LIST">
...
</tt>

6.1.2 Primary Language

The Primary Language is a mandatory property of a DAPT Script which represents the default language for the Text content of Script Events. It is represented in TTML with the following structure and constraints:

  • the xml:lang attribute MUST be present on the tt element and its value MUST NOT be empty.

Note

All text content in a DAPT Script has a specified language. When multiple languages are used, the Primary Language can correspond to the language of the majority of Script Events, to the language being spoken for the longest duration, or to the language arbitrarily chosen by the author.

Note

Text content is marked either as being either in the Original language or as being a Translation independently of the Primary Language, using the Text Language Source property.

6.1.3 Script Events

A DAPT Script MAY contain zero or more Script Event objects, each corresponding to dialogue, on screen text, or descriptions for a given time interval.

6.1.4 Characters

A DAPT Script MAY contain zero or more Character objects, each describing a character that can be referenced by a Script Event.

6.2 Character

In Dubbing Scripts, it is necessary to identify each character in the programme. This is done with a Character object which has the following properties:

A Character is represented in TTML with the following structure and constraints:

Issue 15: DAPT Data Model: Harmonize use of styles done awaiting confirmation

Styles are used for characters, texts and contextual texts. From my reading, they are essentially the same property for all three "contexts" where there are used but they have a different name in each context (Style, Text Styles and Contextual Text Styles). This could be represented as one property (e.g. Style) that has a cardinality of 1..* and references a Style Object (with style feature e.g. color). The association is implied by the object it belongs to.

6.3 Script Event

An Script Event object represents dialogue, on screen text or audio descriptions to be spoken and has the following properties:

An Script Event is represented in TTML with the following structure and constraints:

6.4 Text

The Text object contains text content in a single language, and may be styled and associated with a Character. It indicates whether it is in the Original language or if it is a Translation, as well as its language.

Issue 15: DAPT Data Model: Harmonize use of styles done awaiting confirmation

Styles are used for characters, texts and contextual texts. From my reading, they are essentially the same property for all three "contexts" where there are used but they have a different name in each context (Style, Text Styles and Contextual Text Styles). This could be represented as one property (e.g. Style) that has a cardinality of 1..* and references a Style Object (with style feature e.g. color). The association is implied by the object it belongs to.

A Text object is represented with a p element with the following constraints:

<div xml:id="event_3"
     begin="9663f" end="9682f" 
     style="style_a"
     ttm:agent="character_3">
  <p xml:lang="pt-BR" daptm:langSrc="original" >Você vai ter.</p>
  <p xml:lang="fr" daptm:langSrc="translation" >Bah, il arrive.</p>
</div>

6.5 Text Language Source

The Text Language Source property is an annotation indicating whether a Text object is in the same language as the relevant part of the Related Media Object's language (original), or if it is a representation in another language (translation):

Note

The Text Language Source property is represented as a daptm:langSrc attribute with the following constraints:

Editor's note

Should we use an abbreviated attribute name?

Editor's note

Initial design is to use an abbreviated name and original|translation, though I considered using an abbreviated value too, since this attribute will appear on every <p> element. Abbreviating O for Original is probably a bad idea because the letter O and the number 0 can easily be confused. I also considered P for Primary but that caused potential confusion between Primary Language and Primary Text Language Source.

daptm:langSrc
  : "original"
  | "translation"

6.6 On Screen

The On Screen property is an annotation indicating the position in the scene of the character during the Script Event:

The On Screen property is represented as a metadata element with the following constraints:

6.7 Script Event Description

The Script Event Description property is an annotation providing a human-readable description of a Script Event.

The Script Event Description property is represented in TTML as a <ttm:desc> element at the <div> level.

Note

The Script Event Description does not need to be unique, i.e. it does not need to have a different value for each Script Event. For example a particular value could be re-used to identify in a human-readable way one or more Script Events that are intended to be processed together, e.g. in a batch recording.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/event-desc.xml</pre>
</body>
</html>

The <ttm:desc> element MAY have a daptm:descType attribute specified to indicate the type of description. The daptm:descType attribute is defined below. Its possible values are as indicated in the registry at YYY.

Editor's note

Registry to be defined.

daptm:descType = string
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/event-desc-descType.xml</pre>
</body>
</html>

Multiple <ttm:desc> elements MAY be present with different values of daptm:descType, as in the following example.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/event-desc-multiple-descType.xml</pre>
</body>
</html>

6.8 Script Event Type

The Script Event Type property provides one or more space-separated keywords representing the type of the Script Event, i.e. spoken text, or on-screen text, and in the latter case, the type of on-screen text (title, credit, location, ...). The possible keywords are indicated in the registry at XXXX.

Editor's note

Registry to be defined.

The Script Event Type is represented in TTML by the following attribute:

daptm:eventType = string
...
<div xml:id="event_1"
     begin="9663f" end="9682f" 
     ttm:agent="character_4">
     daptm:eventType="dialogue"
...
</div>
...

7. Constraints

7.1 Document Encoding

A Document Instance MUST be serialised as a well-formed XML 1.0 [xml] document encoded using the UTF-8 character encoding as specified in [UNICODE].

The resulting [xml] document MUST NOT contain any of the following physical structures:

Note

The resulting [xml] document can contain character references, and entity referencess to predefined entities.

The predefined entities are (including the leading ampersand and trailing semicolon):

  • &amp; for an ampersand &
  • &apos; for an apostrophe '
  • &gt; for a greater than sign >
  • &lt; for a less than sign <
  • &quot; for a quote symbol "
Note

A Document Instance can also be used as an in-memory model for processing, in which case the serialisation requirements do not apply.

7.2 Foreign Elements and Attributes

A Document Instance MAY contain elements and attributes that are neither specifically permitted nor forbidden by a profile.

Note

Document Instances remain subject to the content conformance requirements specified at Section 3.1 of [TTML2]. In particular, a Document Instance can contain elements and attributes not in any TT namespace, i.e. in foreign namespaces, since such elements and attributes are pruned by the algorithm at Section 4 of [TTML2] prior to evaluating content conformance.

Note

For validation purposes it is good practice to define and use a content specification for all foreign namespace elements and attributes used within a Document Instance.

A transformation processor SHOULD preserve such elements or attributes whenever possible.

Editor's note

Do we need to say that a presentation processor may ignore foreign vocab?

7.2.1 Proprietary Metadata

Many dubbing and audio description workflows permit annotation of Script Events or documents with proprietary metadata. Metadata vocabulary defined in this specification or in [TTML2] MAY be included. Additional vocabulary in other namespaces MAY also be included.

Note

It is possible to add information such as the title of the programme using [TTML2] constructs.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/metadata-ttml2.xml</pre>
</body>
</html>
Note

It is possible to add workflow-specific information using a foreign namespace. In the following example, a fictitious namespace vendorm from an "example vendor" is used to provide document-level information not defined by DAPT.

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<title>Error</title>
</head>
<body>
<pre>Cannot GET /uploads/L9a5bY/examples/metadata-proprietary.xml</pre>
</body>
</html>

7.3 Namespaces

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 [TTML2]
TT Parameter ttp http://www.w3.org/ns/ttml#parameter [TTML2]
TT Feature none http://www.w3.org/ns/ttml/feature/ [TTML2]
TT Audio Style tta: http://www.w3.org/ns/ttml#audio [TTML2]
DAPT Metadata daptm http://www.w3.org/ns/ttml/profile/dapt#metadata 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 proposal document are mutable [namespaceState]; all undefined names in these namespaces are reserved for future standardization by the W3C.

7.5 Synchronization

Editor's note

Check if we need this, and if we do, rework for audio - e.g. relate to audio sample, or other quantisation units?

Each intermediate synchronic document of the Document Instance is intended to be rendered starting on a specific frame and removed by a specific frame of the Related Video Object.

Note

In the context of this specification rendering could be visual presentation of text, for example to show an actor what words to speak, or could be audible playback of an audio resource, or could be physical or haptic, such as a Braille display.

When mapping a media time expression M to a frame F of a Related Video Object (or Related Media Object), e.g. for the purpose of mixing audio sources signalled by a Document Instance into the main program audio of the Related Video Object, the presentation processor MUST map M to the frame F with the presentation time that is the closest to, but not less, than M.

EXAMPLE 1 A media time expression of 00:00:05.1 corresponds to frame ceiling( 5.1 × ( 1000 / 1001 × 30) ) = 153 of a Related Video Object with a frame rate of 1000 / 1001 × 30 ≈ 29.97.

Note

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 audio description content with video frames, e.g. around existing audio dialogue and sound effects. 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 audio content to be presented at the same temporal locations it was authored.

7.6 Profile Signaling

TTML documents representing DAPT Scripts MUST specify a ttp:contentProfiles attribute on the tt element with one value equal to the designator of the DAPT 1.0 profile to which the Document Instance conforms. Other values MAY be present to declare conformance to other profiles of [TTML2].

7.6.1 Profile Designator

This profile is associated with the following profile designator:

Profile Name Profile Designator
DAPT 1.0 http://www.w3.org/ns/ttml/profile/dapt

7.7 Features

See Conformance for a definition of permitted, prohibited and optional.

Editor's note

Intent is to make it as easy as possible to transform a Document Instance into IMSC ([ttml-imsc1.2]), so we need to check that there are no IMSC permitted features that we prohibit, or if there are, then we can explain the reason.

Editor's note

Editorial task: go through this list of features and check the disposition of each. IMSC-only features should be optional.

Feature Disposition Additional provision
Relative to the TT Feature namespace
#animation-version-2 permitted
#audio permitted
#audio-description permitted
#audio-speech permitted
#backgroundColor-block prohibited
#backgroundColor-region prohibited
#cellResolution prohibited
#chunk permitted
#clockMode prohibited
#clockMode-gps prohibited
#clockMode-local prohibited
#clockMode-utc prohibited
#content permitted
#contentProfiles required
#core permitted
#data permitted
#display-block prohibited
#display-inline prohibited
#display-region prohibited
#display prohibited
Editor's note

Consider display="none" in relation to AD content

#dropMode prohibited
#dropMode-dropNTSC prohibited
#dropMode-dropPAL prohibited
#dropMode-nonDrop prohibited
#embedded-audio permitted
#embedded-data permitted
#extent-root prohibited
#extent prohibited
#frameRate permitted If the Document Instance includes any time expression that uses the frames term or any offset time expression that uses the f metric, the ttp:frameRate attribute MUST be present on the tt element.
#frameRateMultiplier permitted
#gain permitted
#layout prohibited
#length-cell prohibited
#length-integer prohibited
#length-negative prohibited
#length-percentage prohibited
#length-pixel prohibited
#length-positive prohibited
#length-real prohibited
#length prohibited
#markerMode prohibited
#markerMode-continuous prohibited
#markerMode-discontinuous prohibited
#metadata permitted
#opacity prohibited
#origin prohibited
#overflow prohibited
#overflow-visible prohibited
#pan permitted
#pitch permitted
#pixelAspectRatio prohibited
#presentation prohibited
#processorProfiles permitted
#profile permitted See 7.6 Profile Signaling.
#region-timing prohibited
#resources permitted
#showBackground prohibited
#source permitted
#speak permitted
#speech permitted
#structure permitted
#styling permitted
#styling-chained permitted
#styling-inheritance-content permitted
#styling-inheritance-region prohibited
#styling-inline permitted
#styling-nested permitted
#styling-referential permitted
#subFrameRate permitted
#tickRate permitted ttp:tickRate MUST 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 "media" if ttp:timeBase is not specified on tt.

#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
  • All time expressions within a Document Instance SHOULD use the same syntax, either clock-time or offset-time.
  • For any content element that contains br elements or text nodes or a smpte:backgroundImage attribute, both the begin attribute and one of either the end or dur attributes SHOULD be specified on the content element or at least one of its ancestors.
#transformation permitted See constraints at #profile.
#visibility-block prohibited
#visibility-region prohibited
#writingMode-horizontal-lr prohibited
#writingMode-horizontal-rl prohibited
#writingMode-horizontal prohibited
#zIndex prohibited

7.8 Layout

This specification does not put additional constraints on the layout and rendering features defined in [ttml-imsc1.2].

Note
Layout of the paragraphs may rely on the default TTML region (i.e. if no layout is used in the head element) or may be explicit by the use of the region attribute, if a region element is defined in a layout element in the head element.

8. Acknowledgments

The editors would like to thank XXX for their contributions to this specification.

A. Examples

Editor's note

The examples need to be checked for conformance.

A.1 Dubbing - Original Language Dialogue List

<?xml version="1.1" encoding="UTF-8" standalone="no"?>
<tt ttp:contentProfiles="http://www.w3.org/ns/ttml/profile/dapt" ttp:frameRate="24" xml:lang="en" xmlns="http://www.w3.org/ns/ttml" xmlns:nttm="http://www.netflix.com/ns/ttml#metadata" xmlns:dapt="http://www.w3.org/ns/ttml/profile/dapt" xmlns:ttm="http://www.w3.org/ns/ttml#metadata" xmlns:ttp="http://www.w3.org/ns/ttml#parameter" xmlns:tts="http://www.w3.org/ns/ttml#styling">
  <head>
    <metadata ttm:role="x-DIALOGUE_LIST">
      <ttm:agent type="character" xml:id="character_d6407d8d-4ce7-4b8c-8709-edccbf493283">
        <ttm:name type="alias">TOKIO</ttm:name>
      </ttm:agent>
    </metadata>
    <styling>
      <style xml:id="style_d6407d8d-4ce7-4b8c-8709-edccbf493283"/>
    </styling>
  </head>
  <body>
    <div>
      <p begin="51422f" end="51677f" style="style_d6407d8d-4ce7-4b8c-8709-edccbf493283" ttm:agent="character_d6407d8d-4ce7-4b8c-8709-edccbf493283f" xml:id="event_007b6128-1ba8-4f47-ad25-2719c8685de1">Like all those people lacking a sense of rhythm, the Professor sat at the table, while he was thinking, what's heavier: love or death?</p>
    </div>
  </body>
</tt>

A.2 Dubbing - Translated Dialogue List

A.3 Dubbing - Pre-Recording Script / As-Recorded Script

A.4 Audio Description Script

B. References

B.1 Normative references

[namespaceState]
The Disposition of Names in an XML Namespace. Norman Walsh. W3C. 29 March 2006. W3C Working Draft. URL: https://www.w3.org/TR/namespaceState/
[RFC2119]
Key words for use in RFCs to Indicate Requirement Levels. S. Bradner. IETF. March 1997. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc2119
[RFC8174]
Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words. B. Leiba. IETF. May 2017. Best Current Practice. URL: https://www.rfc-editor.org/rfc/rfc8174
[ttml-imsc1.2]
TTML Profiles for Internet Media Subtitles and Captions 1.2. Pierre-Anthony Lemieux. W3C. 4 August 2020. W3C Recommendation. URL: https://www.w3.org/TR/ttml-imsc1.2/
[TTML1]
Timed Text Markup Language 1 (TTML1) (Third Edition). Glenn Adams; Pierre-Anthony Lemieux. W3C. 8 November 2018. W3C Recommendation. URL: https://www.w3.org/TR/ttml1/
[TTML2]
Timed Text Markup Language 2 (TTML2) (2nd Edition). Glenn Adams; Cyril Concolato. W3C. 9 March 2021. W3C Candidate Recommendation. URL: https://www.w3.org/TR/ttml2/
[UNICODE]
The Unicode Standard. Unicode Consortium. URL: https://www.unicode.org/versions/latest/
[WCAG20]
Web Content Accessibility Guidelines (WCAG) 2.0. Ben Caldwell; Michael Cooper; Loretta Guarino Reid; Gregg Vanderheiden et al. W3C. 11 December 2008. W3C Recommendation. URL: https://www.w3.org/TR/WCAG20/
[XML]
Extensible Markup Language (XML) 1.0 (Fifth Edition). Tim Bray; Jean Paoli; Michael Sperberg-McQueen; Eve Maler; François Yergeau et al. W3C. 26 November 2008. W3C Recommendation. URL: https://www.w3.org/TR/xml/
[xml-names]
Namespaces in XML 1.0 (Third Edition). Tim Bray; Dave Hollander; Andrew Layman; Richard Tobin; Henry Thompson et al. W3C. 8 December 2009. W3C Recommendation. URL: https://www.w3.org/TR/xml-names/

B.2 Informative references

[DAPT-REQS]
DAPT Requirements. Cyril Concolato; Nigel Megitt. W3C. 12 October 2022. W3C Working Group Note. URL: https://www.w3.org/TR/dapt-reqs/
[WHP051]
BBC R&D White Paper WHP 051. Audio Description: what it is and how it works. N.E. Tanton, T. Ware and M. Armstrong. October 2002 (revised July 2004). URL: http://www.bbc.co.uk/rd/publications/whitepaper051