TTML is a new way to put text (caption and/or subtitle) in Web video. The standard is published by W3C (http://www.w3.org/TR/ttaf1-dfxp/).
It’s a lengthy standard – it could be difficult to answer even simple questions like these.
What does it specify? What is DFXP? What is SMPTE-TT?
We need to realize there are three parties in the field. First, there are Web video player developers like Microsoft (Silverlight), and Google (HTML5). They use TTML to display captions on the video player. Second, there are movie producers who author captions. Third, there are traditional broadcasters like CNN. They have large video assets with closed captions and want to convert them to TTML for over-the-top delivery.
It’s not good idea to write huge standard to cover all these parties. Better way is to separate the base standard (=features) and the implementation requirement (=profiles).
The base standard defines various features needed for captioning. For example, there is a feature called #timing. To claim the support, the implementation must understand the timing information associated with the text. There is another a feature called #direction. To claim the support, the implementation must support right-to-left text rendering like Arabic language.
It’s tedious to claim the support of each feature. Profile is a group of features needed for a typical use case. For example, “DFXP Presentation” profile contains a set of features needed for caption rendering. If your implementation (=Web video player) supports all the features in the profile, you can claim the support of the profile.
It’s a clever way to design a standard. A profile usually contains just a few features, thus the implementation is easy and simple. There are (and will be) many profiles. They have good compatibility because they share the features defined in the base standard.
The TTML recommendation specifies followings.
- Syntax and semantic of each feature. (This is what the base standard for)
- The way to claim a given TTML document follows a certain profile.
- Three profiles: DFXP Presentation, DFXP transform, and DFXP full.
DFXP profiles are defined in TTML recommendation because the base standard itself is useless without some profiles. DFXP stands for “Distribution Format Exchange Profile”. DFXP Presentation profile is used by video players which support TTML captions. DFXP Transform profile is used for video editing stations where they need to convert from/to various other caption format. DFXP Full profile includes all the features defined in the base standard.
So far, so good. Let’s move on.
SMPTE is a standard organization for TV and film industry. SMPTE found TTML useful but the feature set is not sufficient.
- No bitmap images. The feature is needed because a caption format in Europe (=DVB subtitle) uses a sequence of bitmaps and SMPTE wants to render them in TTML enabled players.
- No binary data pass-through. SMPTE wants to carry CEA-708 bit stream data from source to destination in TTML format.
- No information about how the caption is designed. SMPTE wants to use TTML in two different ways. One is keeping look & feel of the legacy caption (=preserve mode). The other is to use the maximum presentation features of TTML to make the caption nicer (= enhance mode). SMPTE needs a feature to tell which mode is in use.
SMPTE decided to extend the TTML to meet their requirement. First, SMPTE defines three new features. (They are called “extensions” because they are not the part of official W3C TTML recommendations)
- #image: Feature to use bitmap image as a caption text
- #data: Feature to carry binary data.
- #information: Feature to declare which translation mode (preserve or enhanced) is in use.
SMPTE also added a new profile called SMPTE-TT. To claim the support of SMPTE-TT profile, the implementation must support DFXP Full profile with the three new features added by SMPTE.