IMSC is the result of an international effort to bring together popular profiles of TTML, like EBU-TT-D and SMPTE-TT. This article provides an overview how IMSC is related to these other subtitle standards, and explains the differences between the versions of IMSC.
IMSC spec genealogy
TTML Profiles for Internet Media Subtitles and Captions (or simply IMSC) is a constrained version of the Timed Text Markup Language for worldwide subtitles and captions family of specifications.
IMSC was designed to be a practical application of SMPTE-TT (SMPTE ST 2052-1) , which is designated as a safe-harbor format by the FCC. As a result, most SMPTE-TT documents should render correctly using IMSC renderers (see the limitations), and the conversion guidelines from CTA 608/708 to SMPTE-TT (SMPTE RP 2052-10 and SMPTE RP 2052-11) are also applicable to IMSC.
IMSC is also a syntactic superset of both SDP-US and EBU-TT-D, such that documents that conform to either of these two formats are valid IMSC documents and can be rendered by IMSC renderers — see Compatibility with other TTML-based specifications for more details.
IMSC traces its origins to the CFF-TT format, and CFF-TT documents can be converted to IMSC relatively easily.
Active IMSC versions
Two versions of IMSC are in use today:
IMSC 1.1 was designed such that valid IMSC 1.0.1 documents are valid IMSC 1.1 documents and will render as intended on an IMSC 1.1 renderer. It does however add important features on top of IMSC 1.0.1:
- Japanese text layout features such as ruby.
- Support for author-controlled luminance when compositing onto absolute luminance High-Dynamic Range video.
- Support for stereoscopic 3D.
Note: IMSC 1.1 also deprecates, but does not prohibit, a limited number features that have no practical use or for which better alternatives exist.
In summary, authors are encouraged to create IMSC 1.0.1 documents if possible and for maximal compatibility, and implementers are encouraged to implement support for IMSC 1.1 for worldwide coverage.
This document gives you all you need to know about IMSC and its relationship with other specifications.