-
Notifications
You must be signed in to change notification settings - Fork 10
EBU TT Part 3 to TT D conversion requirements
EyalLavi edited this page Jan 28, 2017
·
4 revisions
This page lists conversion requirements for an encoder of EBU-TT Part 3 documents into EBU-TT-D documents for distribution.
The conversion requirements are based on the conformance requirements referenced in:
- Conformance Requirements list for EBU-TT Part 3 Tech 3370 (R-prefixed number)
- EBU 3350, 3370 & 3380 conformance requirements (E-prefixed number)
# | Reference | Conversion requirement | Release | Notes |
---|---|---|---|---|
D1 | R1 | At any moment in time, the content of zero or one Part 3 documents shall be added to the timeline of the TT-D document. | MVP | No active document for a period means no subtitles for that period so it must still be taken into account when constructing the timeline for distribution. |
D2 | R2 | For periods when no Part 3 document is active, or when a Part 3 document with no content is active, the TT-D will include no subtitles for presentation. | MVP | A TT-D document with no content may be issued, or the timing for subtitles can be modified. |
D3 | R4-R6 | The encoder will process a single sequence of Part 3 documents and emit a single stream of TT-D documents. | MVP | One sequence in, one stream out. |
D4 | E3 | Timings on tt:body and tt:div will be recalculated and applied to tt:p and tt:span
|
MVP | Timings cascade. |
D5 | E4 | Overlapping regions that are active at the same time will be resized such that they do not overlap. | ??? | Assuming we prioritise presentation of subtitles. Will also require a strategy for handling text within a resized region. |
D6 | E5 |
xml:space attribute applied to tt:p or tt:span will be removed. |
MVP |
xml:space is only allowed on the tt:tt in 3380. The encoder will convert white space characters and/or move this attribute to the root element. |
D7 | E6 | Timings in clock and smpte time base will be resolved and converted to media time base. |
MVP | Will require temporal and formal conversions taking into account the values of ttp:frameRate, ttp:frameRateMultiplier, ttp:markerMode, ttp:dropMode, ttp:clockMode
|
D8 | E8 | Time count values will be resolved and converted to full clock values | ??? | e.g. from 3.5h to 03:30:00
|
D9 | E14 | The default value for cellResolution in Part 3 should follow v1.1, in which case no conversion is necessary (both 32 15 ). This is just a reminder that an assumption of 40 24 was made based on v1.0 |
N/A | |
D10 | E27,E21, E22, E23 | Remove the following elements: ebuttm:documentTargetActiveFormatDescriptor ,ebuttm:documentEbuttVersion , ebuttm:documentIdentifier , ebuttm:documentOriginatingSystem , ebuttm:sequenceIdentifier ,ebuttm:sequenceNumber , ebuttm:authoringDelay
|
??? | |
D11 | E35 | If tts:padding is defined for both a tt:region and a tt:style applied to that region, the padding will appear inside the parent element it is defined for. |
3350 makes an exception for tts:padding but 3380 doesn't. 3350: A style attribute that is defined for tt:region SHALL NOT appear in tt:style and vice versa. The only exception from this rule is the tts:padding attribute. tts:padding may appear in both tt:style and tt:region. 3380: The style attributes of the tt:style element as well as the style attributes of the tt:region element shall only appear inside the parent element they are defined for. This means that a style attribute that is defined for the tt:style element shall not appear in a tt:region element and vice versa |
|
D12 | E37 | The default value of tts:fontSize will be converted from 1c (or 1c 2c in v1.0) to 100%
|
MVP | If the source part 1 document relies on the initial values, the version must be considered when converting. EBU-TT-D allows percent units only. |
D13 | E41 | If tt:head does not contain a tt:layout element, it will be created with a tt:region . |
MVP | Strategy for a default region is required (e.g. bottom centred?) |
D14 | E43 | If tt:origin and tt:extent are specified in cell or pixels, the values will be converted to percent. |
MVP | |
D15 | E44 | Regions that extend beyond the root container will be resized | ??? | This is subtle: in 3370 the region is allowed to extend but it must be clipped. In 3380 such region is illegal. |
D16 | E47 | If the Part 3 document does not contain tt:div , this elements will be added |
MVP | For MVP, wrap the entire content of tt:body in a tt:div ? |
D17 | E48 | Nested tt:div elements will be removed |
MVP | Not allowed in 3380 |
D18 | E49 | All tt:div elements containing zero tt:p elements will be removed. If this results in zero tt:div elements remaining, the whole tt:body will be removed. |
MVP | 3380 requires both tt:p and tt:div . If a 3370 document contains no tt:p , the tt:div must also be removed. |
D19 | E52 | Timings on tt:p and its children tt:span will be resolved and applied to either tt:p or tt:span
|
MVP | Apply resolved timings at the lower level, i.e., if tt:span is used apply the resolved timings to the tt:span , otherwise to the tt:p
|
D20 | E53 | Remove nested tt:span elements. |
MVP | |
D21 | E54 | Colour values of type named colour string, RGB colour triple and RGBA colour tuple will be converted to hex notated RGB colour triple or a hex notated RGBA colour tuple. | ??? | |
D22 | E56 | Values for tts:fontSize expressed in pixels or cells or using different horizontal and vertical values will be recalculated and expressed as a single percentage of a cell |
MVP | |
D23 | E59 | Values for tts:lineHeight expressed in cell or pixels will be recalculated and expressed as percentage or "normal" |
MVP | |
D24 | E61 | Values for tts:padding expressed in cell or pixels will be converted to percent. |
MVP | |
D25 | E62 | If a tt:div and one of its descendent tt:p reference a region, remove the reference from one of them. |
??? | |
D26 | E70 | the dur attribute will be converted to begin and end timings |
MVP |
dur not allowed in 3380 |
D27 | E20 | If used, ebuttm:conformsToStandard will have the value urn:ebu:tt:distribution:2014-01
|
??? | |
D28 | E24 | If used, the value of ebuttm:documentCopyright will be mapped to ttm:copyright within tt:head
|
MVP |