TimedText/TTML2SecondEditionImplementationReport

From W3C Wiki

TTML2 Second Edition (2e) Implementation Report

This document represents the Implementation Report of the Timed Text Markup Language 2 (TTML2) Second Edition (2e) Specification Candidate Recommendation. The intent of this report is to document Implementation Experience, a mandatory process step in order to advance to Proposed Recommendation.

Specifically, this report demonstrates that the CR Exit Criteria have been met by demonstrating that for each affected feature at least two implementations implement the change in TTML2 Second Edition:

The following information summarizes the results of reported testing and implementation of TTML2 functionality in NNNN implementations from NNNN different organizations.

Features changed, and relating tests

This section presents the features for which tests have been added for Second Edition, and details of the tests relating to the changes to those features:

Table 1 represents the features, tests and reported results of processors for the given test inputs.

Each row of this table reports on implementation test results for a specific test, where the columns are as follows:

  1. Feature, linked to the feature in the TTML2 2nd Edition CR.
  2. Test name, linked to the test file in the ttml2-tests repository.
  3. Test type, Presentation or Validation.
  4. Result designation, for each implementation.

Tests fall into one of two types:

  • Presentation tests, designated Pres in the Test type column - these test a presentation processor's correct handling of the test content
  • Validation tests, designated Val in the Test type column - these test a validator's correct handling of the test content, i.e. recognition of whether the test content is valid or invalid.

Designations used in implementation columns are as follows:

  • (P) - Designates the implementation passed the test.
  • (F) - Designates the implementation failed the test.
  • (blank) - Designates that pass/fail data is not available for the test.

A pass (P) designation for a given test means the implementation does not report a false negative result, which is to say, the implementation does not report a negative (invalid content) result. A fail (F) designation for a given test means the implementation reports a negative result, which is to say, it fails to recognize valid content as being valid, but instead reports it as invalid.

Note some tests apply to more than one feature designator, and are thus duplicated in the table.

Table 1 - Table of features and related tests
Skynav BBC Company 3 Company 4 Company 5
Feature Test Test type TTT Adhere Impl 3 Impl 4 Impl 5
#animate ttml2-valid-xml-id-missing Val P
ttml2-invld-bad-animate-non-animatable Val P
ttml2-invld-bad-animate-non-animatable-discrete-default Val P
ttml2-invld-bad-animate-non-animatable-discrete-linear Val P
ttml2-invld-bad-animate-non-animatable-discrete-paced Val P
ttml2-invld-bad-animate-non-animatable-discrete-spline Val P
#animate-minimal ttml2-invld-bad-animate-non-animatable Val P
ttml2-invld-bad-animate-non-animatable-discrete-default Val P
ttml2-invld-bad-animate-non-animatable-discrete-linear Val P
#animate-paced ttml2-invld-bad-animate-non-animatable-discrete-paced Val P
#animate-spline ttml2-invld-bad-animate-non-animatable-discrete-spline Val P
#animation ttml2-valid-xml-id-missing Val P
#animation-version-2 ttml2-invld-bad-animate-non-animatable Val P
ttml2-invld-bad-animate-non-animatable-discrete-default Val P
ttml2-invld-bad-animate-non-animatable-discrete-linear Val P
ttml2-invld-bad-animate-non-animatable-discrete-paced Val P
ttml2-invld-bad-animate-non-animatable-discrete-spline Val P
ttml2-invld-bad-set-non-animatable Val P
#audio ttml2-valid-audio-in-body Val P
ttml2-prstn-audio-in-body Pres P
#audio-description ttml2-valid-audio-in-body Val P
ttml2-prstn-audio-in-body Pres P
#chunk ttml2-valid-data-embedding-chunked-zero-length Val P
ttml2-invld-data-chunked-bad-length Val P
ttml2-invld-data-chunked-with-base Val P
ttml2-invld-data-chunked-with-condition Val P
#data ttml2-valid-data-embedding-chunked-zero-length Val P
ttml2-valid-data-embedding-reference Val P
ttml2-valid-data-embedding-reference-missing-type Val P
ttml2-valid-data-embedding-reference-with-metadata Val P
ttml2-valid-data-embedding-simple-with-lwsp Val P
ttml2-valid-data-embedding-simple-zero-length Val P
ttml2-invld-data-chunked-bad-length Val P
ttml2-invld-data-simple-bad-length Val P
ttml2-invld-data-simple-non-alphabet Val P
#embedded-data ttml2-valid-data-embedding-simple-with-lwsp Val P
ttml2-valid-data-embedding-simple-zero-length Val P
#embedded-font ttml2-prstn-font-embedding-family-invalid Pres P
#extent-root-version-2 ttml2-invlid-content-profile-extent-root-version-2 Val P
#font ttml2-valid-font-embedding-family-case-sensitive Val P
ttml2-invld-font-embedding-family Val P
ttml2-prstn-font-embedding-family-invalid Pres P
#fontSelectionStrategy ttml2-prstn-font-selection-strategy-line-height-normal Pres P
#fontSelectionStrategy-character ttml2-prstn-font-selection-strategy-line-height-normal Pres P
#fontShear ttml2-valid-font-shear-real-syntax Val P
ttml2-invld-bad-font-shear-real-syntax Val P
ttml2-prstn-font-shear-linear-mapping Pres P
#image ttml2-valid-image-in-body-png Val P
ttml2-prstn-image-in-body Pres P
#image-png ttml2-valid-image-in-body-png Val P
ttml2-prstn-image-in-body Pres P
#layout ttml2-valid-xml-id-missing Val P
ttml2-prstn-region-no-default Pres P
#length-real-version-2 ttml2-valid-length-real-version-2 Val P
#length-version-2 ttml2-valid-length-real-version-2 Val P
#lineShear ttml2-valid-line-shear-real-syntax Val P
ttml2-invld-bad-line-shear-real-syntax Val P
ttml2-prstn-line-shear-linear-mapping Pres P
#opacity-image ttml2-valid-opacity-image-block Val P
ttml2-valid-opacity-image-inline Val P
ttml2-prstn-opacity-image-block Pres P
ttml2-prstn-opacity-image-inline Pres P
#opacity-version-2 ttml2-valid-opacity-image-block Val P
ttml2-valid-opacity-image-inline Val P
ttml2-prstn-opacity-image-block Pres P
ttml2-prstn-opacity-image-inline Pres P
#presentation-audio ttml2-valid-presentation-audio Val P
#presentation-version-2 ttml2-invld-profile-designator-fragment-nested Val P
#profile-full-version-2 ttml2-valid-profile-combine-ignore Val P
ttml2-invld-profile-designator-fragment-nested Val P
ttml2-invld-profile-designator-registry-undefined Val P
ttml2-invld-profile-use-fragment Val P
#profile-nesting ttml2-invld-profile-designator-fragment-nested Val P
#profile-version-2 ttml2-invld-profile-designator-fragment-nested Val P
ttml2-invld-profile-use-fragment Val P
#resources ttml2-valid-data-embedding-simple-with-lwsp Val P
ttml2-valid-data-embedding-simple-zero-length Val P
#ruby ttml2-prstn-ruby-ignored-lwsp-container Pres P
ttml2-prstn-ruby-ignored-lwsp-container-base Pres P
ttml2-prstn-ruby-ignored-lwsp-container-text Pres P
#set ttml2-valid-xml-id-missing Val P
#shear ttml2-valid-shear-real-syntax Val P
ttml2-invld-bad-shear-real-syntax Val P
ttml2-prstn-shear-linear-mapping Pres P
#speak ttml2-valid-speak-implied-audio Val P P
ttml2-valid-speak-implied-audio-disabled Val P
ttml2-valid-speak-implied-audio-source Val P
#transformation-version-2 ttml2-invld-profile-designator-fragment-nested Val P
#xlink ttml2-invld-xlink-href-nested-image Val P

Validation Test Results

This section presents the results of performing validation processing against specific test content of two types:

  • Valid Content Tests - tests validator ability to recognize valid content
  • Invalid Content Tests - tests validator ability to recognize invalid content

Valid Content Tests

Table 2 represents the reported results of performing TTML2 validation processing on valid TTML2 content. These tests verify that a validation processor recognizes valid content.

Each row of this table reports on implementation test results for a specific test, where the columns are

  1. Test name, linked to the test file in the ttml2-tests repository.

Designations used in implementation columns are as follows:

  • (P) - Designates the implementation passed the test.
  • (F) - Designates the implementation failed the test.
  • (blank) - Designates that pass/fail data is not available for the test.

A pass (P) designation for a given test means the implementation does not report a false negative result, which is to say, the implementation does not report a negative (invalid content) result. A fail (F) designation for a given test means the implementation reports a negative result, which is to say, it fails to recognize valid content as being valid, but instead reports it as invalid.



Table 2 - Validation Tests - Subtype - valid
SKYNAV BBC Company 3 Company 4
Test TTV Adhere Implementation 3 Implementation 4
ttml2-valid-audio-in-body P
ttml2-valid-data-embedding-chunked-zero-length P
ttml2-valid-data-embedding-reference P
ttml2-valid-data-embedding-reference-missing-type P
ttml2-valid-data-embedding-reference-with-metadata P
ttml2-valid-data-embedding-simple-with-lwsp P
ttml2-valid-data-embedding-simple-zero-length P
ttml2-valid-font-embedding-family-case-sensitive P
ttml2-valid-font-shear-real-syntax P
ttml2-valid-image-in-body-png P
ttml2-valid-isd-sequence-size-non-zero P
ttml2-valid-isd-sequence-size-zero P
ttml2-valid-isd-sequence-version-2 P
ttml2-valid-isd-single-version-2 P
ttml2-valid-length-real-version-2 P
ttml2-valid-line-shear-real-syntax P
ttml2-valid-opacity-image-block P
ttml2-valid-opacity-image-inline P
ttml2-valid-presentation-audio P
ttml2-valid-profile-combine-ignore P
ttml2-valid-shear-real-syntax P
ttml2-valid-speak-implied-audio P P
ttml2-valid-speak-implied-audio-disabled P
ttml2-valid-speak-implied-audio-source P
ttml2-valid-xml-id-missing P

Invalid Content Tests

Table 3 represents the reported results of performing TTML2 validation processing on invalid TTML2 content. These tests verify that a validation processor recognizes and reports invalid content.

The rows and columns of this table follow the same format (and semantics) employed with Table 2 above, except that here, the tests contain content that is invalid in some manner.

A pass (P) designation for a given test means the implementation does not report a false positive result, which is to say, the implementation reports a negative (invalid content) result. A fail (F) designation for a given test means the implementation does not report a negative result, which is to say, it fails to recognize invalid content as being invalid, but instead reports it as valid.

Table 3 - Validation Tests - Subtype - invalid
SKYNAV Company 2 Company 3 Company 4
Test TTV Implementation 2 Implementation 3 Implementation 4
ttml2-invld-bad-animate-non-animatable P
ttml2-invld-bad-animate-non-animatable-discrete-default P
ttml2-invld-bad-animate-non-animatable-discrete-linear P
ttml2-invld-bad-animate-non-animatable-discrete-paced P
ttml2-invld-bad-animate-non-animatable-discrete-spline P
ttml2-invld-bad-set-non-animatable P
ttml2-invld-content-profile-extent-root-version-2 P
ttml2-invld-data-chunked-bad-length P
ttml2-invld-data-chunked-with-base P
ttml2-invld-data-chunked-with-condition P
ttml2-invld-data-simple-bad-length P
ttml2-invld-data-simple-non-alphabet P
ttml2-invld-font-embedding-family P
ttml2-invld-isd-sequence-bad-size-0-minus P
ttml2-invld-isd-sequence-bad-size-0-plus P
ttml2-invld-isd-sequence-bad-size-1-minus P
ttml2-invld-isd-sequence-bad-size-1-plus P
ttml2-invld-isd-sequence-bad-version-0 P
ttml2-invld-isd-sequence-bad-version-0-plus P
ttml2-invld-isd-sequence-bad-version-1 P
ttml2-invld-isd-sequence-bad-version-1-plus P
ttml2-invld-isd-sequence-bad-version-2-plus P
ttml2-invld-isd-sequence-size-1-plus P
ttml2-invld-isd-single-bad-version-0 P
ttml2-invld-isd-single-bad-version-0-plus P
ttml2-invld-isd-single-bad-version-1 P
ttml2-invld-isd-single-bad-version-1-plus P
ttml2-invld-isd-single-bad-version-2-plus P
ttml2-invld-isd-single-nested-bad-version P
ttml2-invld-profile-designator-fragment P
ttml2-invld-profile-designator-fragment-nested P
ttml2-invld-profile-designator-registry-undefined P
ttml2-invld-profile-use-fragment P
ttml2-invld-xlink-href-nested-image P

Presentation Test Results

This section presents the results of performing presentation processing against specific test content of two types:

  • Valid Presentation Tests - tests presentation processor ability to present valid content
  • Invalid Presentation Tests - tests presentation processor ability to default to a specific behavior for some invalid content

Valid Presentation Tests

Table 4 represents the reported results of performing TTML2 presentation processing on TTML2 content. These tests verify that a presentation processor produces a presentation output that is considered (by the reporter) to be within the range of variation allowed by the TTML2 specification.

Each row of this table reports on implementation test results for a specific test, where the columns are

  1. Test name, linked to the test file in the ttml2-tests repository.

Designations used in implementation columns are as follows:

  • (P) - Designates the reporter considers that the implementation passed the test.
  • (F) - Designates the reporter considers that the implementation failed the test.
  • (blank) - Designates that pass/fail data is not available for the test.
Table 4 - Valid Presentation Tests
SKYNAV BBC Company 3 Company 4
Test TTT Adhere Implementation 3 Implementation 4
ttml2-prstn-audio-in-body P
ttml2-prstn-font-selection-strategy-line-height-normal P
ttml2-prstn-font-shear-linear-mapping P
ttml2-prstn-image-in-body P
ttml2-prstn-line-shear-linear-mapping P
ttml2-prstn-opacity-image-block P
ttml2-prstn-opacity-image-inline P
ttml2-prstn-region-no-default P
ttml2-prstn-ruby-ignored-lwsp-container P
ttml2-prstn-ruby-ignored-lwsp-container-base P
ttml2-prstn-ruby-ignored-lwsp-container-text P
ttml2-prstn-shear-linear-mapping P

Invalid Presentation Tests

Table 5 represents the reported results of performing TTML2 presentation processing on invalid TTML2 content. These tests verify that a presentation processor recognizes and produces acceptable result.

The rows and columns of this table follow the same format (and semantics) employed with Table 4 above, except that here, the tests contain content that is invalid in some manner.

A pass (P) designation for a given test means the implementation presents the expected result. A fail (F) designation for a given test means the implementation does not present the expect result.

Table 5 - Invalid Presentation Tests
SKYNAV Company 2 Company 3 Company 4
Test TTT Implementation 2 Implementation 3 Implementation 4
ttml2-prstn-font-embedding-family-invalid P