- From: Glenn Adams <glenn@skynav.com>
- Date: Sat, 20 Sep 2014 08:42:32 -0600
- To: Silvia Pfeiffer <silviapfeiffer1@gmail.com>
- Cc: Nigel Megitt <nigel.megitt@bbc.co.uk>, TTWG <public-tt@w3.org>, "public-texttracks@w3.org" <public-texttracks@w3.org>
- Message-ID: <CACQ=j+e0=DkfWc08R5edaw9RF+Pjf1H4MNtkPPBcSpXdkH6t4Q@mail.gmail.com>
On Sat, Sep 20, 2014 at 7:30 AM, Silvia Pfeiffer <silviapfeiffer1@gmail.com> wrote: > Most interesting read. Seems like there is not that much that doesn't > map in either direction. > > A few additions / corrections about WebVTT that relate to this > discussion and that were missed (though Simon caught most): > > 1.) Mapping WebVTT - 608/708 > This wasn't mentioned, but I wanted to make sure people are aware that > there is already a spec that provides a basic mapping between WebVTT > and 608 and 708 captions at > https://dvcs.w3.org/hg/text-tracks/raw-file/default/608toVTT/608toVTT.html > . > It does indeed require some CSS. > > 2.) Repetition of cue settings: > There's a plan to allow for some file metadata to set different > default values for settings, so repetition is not necessary. > > 3.) CSS works by using ::cue and ::cue-region - the first for cues and > the second for regions. > These selectors work from a Web page (wherever CSS is specified there) > and override default styling of WebVTT cues. > > 4.) cue overalpping: > It's actually not true that cues cannot overlap in time. They can and > are expected to. In fact, chapter cues are specifically defined as a > particular kind of overlapping cues that are hierarchically > structured, or in your words: are nested. > > 5.) cue ids: > I think it might be possible to map numeric identifiers to XML > identifiers - at least it's possible to use them like this for CSS: > ::cue(#\31) { color: green; } > This references a cue with id=1. That might work for mapping to TTML > xml:id too. > it would be necessary to prefix a numeric identifer with at least one alpha to use with xml:id > > 6.) visibility and opacity: > are explicitly mentioned as CSS properties usable in ::cue and > ::cue-region. > > 7.) WebVTT does paint-on: > It's even implemented in browsers. You just need to use the timestamps > and right now also <c> elements between them, e.g. > <00:00:01.000><c>From</c><00:00:04.000><c> here</> etc. > > I might have missed some more things - if in doubt, just ask. > > Cheers, > Silvia. > > > > On Wed, Sep 17, 2014 at 12:08 PM, Nigel Megitt <nigel.megitt@bbc.co.uk> > wrote: > > Minutes from today's joint TTWG/TTCG meeting (day 1 of 2) available in > HTML > > format at http://www.w3.org/2014/09/16-tt-minutes.html > > > > In text format: > > > > [1]W3C > > > > [1] http://www.w3.org/ > > > > - DRAFT - > > > > Timed Text Working Group Teleconference > > > > 16 Sep 2014 > > > > See also: [2]IRC log > > > > [2] http://www.w3.org/2014/09/16-tt-irc > > > > Attendees > > > > Present > > elindstrom, tmichel, Frans_EBU, pal, Cyril, courtney, > > andreas, glenn, nigel, Loretta > > > > Regrets > > Chair > > nigel > > > > Scribe > > nigel > > > > Contents > > > > * [3]Topics > > 1. [4]Introductions > > 2. [5]Agenda > > 3. [6]Work done so far > > 4. [7]Logical step through > > 5. [8]Agenda > > 6. [9]Document Structure > > 7. [10]Layout > > 8. [11]Summary of the day > > * [12]Summary of Action Items > > __________________________________________________________ > > > > <trackbot> Date: 16 September 2014 > > > > [13]https://www.w3.org/wiki/TimedText/geneva2014#Day_1_0900-170 > > 0 > > > > [13] https://www.w3.org/wiki/TimedText/geneva2014#Day_1_0900-1700 > > > > Introductions > > > > <scribe> scribeNick: nigel > > > > Introductions - Nigel, BBC > > > > andreas: IRT > > > > Cyril: Telecom ParisTech university; GPAC > > > > elindstrom: Opera software > > > > zcorpan: Opera software > > > > tmichel: W3C, staff contact for the TTWG > > > > pal: Movielabs > > > > courtney: Apple > > > > glenn: Representing various over the years, currently Cox, > > previously Samsung and Microsoft > > > > frans_EBU: Coordinator of EBU group on subtitling > > > > Agenda > > > > nigel: goes through agenda on wiki page, all happy with that. > > ... We need to think about how we capture our output, and who > > will edit the note. > > > > courtney: I'm happy to edit the note. > > ... I don't have a document yet, I've been working on the code > > first, and have some issues to tackle, and a spreadsheet for > > attributes. > > > > glenn: For browser implementations mapping direct from TTML to > > HTML would be more efficient > > ... If the purpose is for direct display then this mapping > > would be better, but if we want to interchange to WebVTT then > > that translation would still be useful. > > > > courtney: I'm interested in captions both inside and outside > > browser environments so I'm not focused on HTML solely. > > > > andreas: From the mapping we have done we will quite quickly > > see the overlap - maybe there's a cut and paste into HTML as > > glenn mentioned. > > > > pal: Re WebVTT outside browsers? > > > > courtney: Yes, e.g. in an ISO MP4 file that is rendered in a > > video player. > > > > pal: So do we need CSS in practice? To present WebVTT in > > subtitles and captions? > > > > courtney: You certainly can, but it depends on how fancy you > > want to be. You can do basic 608 without CSS. > > > > andreas: you need CSS to do colours, and that's certainly > > required in Europe. > > > > courtney: We define for example a simple mapping from CSS to a > > property list. I think the better approach is to stick with CSS > > and > > ... have a way to embed it in an MP4 file track, and also in a > > WebVTT file. > > > > pal: Will the mapping we do today include that? > > > > courtney: yes > > > > Cyril: +1 > > > > courtney: I've been thinking that one TTML file will map to a > > WebVTT file + a CSS file > > > > glenn: That's what I've been thinking, and there's a reusable > > overlap into HTML/CSS > > > > nigel: I've created a wiki page at > > [14]https://www.w3.org/wiki/TimedText/TTMLtoWebVTT > > > > [14] https://www.w3.org/wiki/TimedText/TTMLtoWebVTT > > > > <zcorpan> can you paste the number in irc? > > > > Work done so far > > > > andreas: presents work so far > > ... This work has been supported by the HBB4ALL project, whose > > target is to roll out accessibility to IP connected devices, > > including subtitles, signing and audio (video) description, > > ... with a focus on hybrid broadcast. > > ... This is based on EBU-TT-BasicDe as a very restricted TTML > > feature set. > > ... In fact it's a subset of EBU-TT-D which is a subset of TTML > > plus a couple of small extensions. > > ... It has a video frame with a safe area, 10% in from each > > edge. > > ... Alignment is top or bottom only, vertically. > > ... Horizontally, centred, left or right. > > ... For Germany, it's left to right, top to bottom writing > > direction. > > ... There are 8 different text foreground colours, as from > > WSTeletext. > > ... All subtitles have the same background color, font-family, > > font-size and line height. > > ... Line breaking is done manually with the <br> element at > > authoring. > > > > glenn: How is the background padding extended on either side of > > the text? > > > > andreas: That's just in the example image, it's not actually > > present. > > ... How is this mapping achieved? Positioning, Styling, Timing. > > ... Positioning: > > ... [shows video frame with image of Verona] > > ... In TTML and EBU-TT there's a root container. In EBU-TT it's > > always the height and width of the video. WebVTT uses the > > viewport concept, > > ... which I understand to be the height and width of the video > > also. > > ... For the safe area, we define the tt:region, with top-left > > being 10% 10% in x y as specified by the origin. > > ... The CSS property is topleft > > ... The extent is 80% 80%, which in CSS is the width and height > > of the block level element eg the div > > ... To place a subtitle the region is defined once in the head > > and then referenced by the tt:p element. This is similar to a p > > in html. > > ... The paragraph gets the width of the region, and the height > > is calculated by the number of lines inside the p element. > > ... Vertical alignment is displayAlign: bottom or top. > > > > nigel: Will there be CSS mappings for all of these in this > > presentation? > > > > andreas: This is setting out the features to map, we should > > consider them in scope for our mapping later. > > ... I didn't use the advanced concepts in WebVTT of cue > > alignment, so I didn't use them. I wanted something that would > > certainly work in current browsers. > > ... In WebVTT I've put the cues in for the text. For a width of > > 80% the cue box has size: 80% > > ... The height is defined by the number of lines, just like the > > p element. > > ... This is per cue, so the settings seem to need to be > > repeated every time. I don't know a way to define it once and > > have it carried through. > > > > courtney: If you use a region you can do that. > > > > andreas: I didn't use a region. > > > > courtney: Then you have to repeat it. > > > > andreas: So that's positioning. We can define the position of > > the box from the left of the video frame, with 10%, using > > position:10% align:left > > ... The align setting is important. It works very differently > > than in TTML e.g. if you set align:middle and position:10% then > > the reference point for the middle isn't the cue > > ... start but is the middle of the cue. > > ... So to centre the text then you have position:50% > > align:middle > > ... For vertical alignment it's a bit trickier. To come 10% up > > from the bottom you can set line:90% or a line number value. > > ... But this doesn't align the end of the cue box, but aligns > > the top of the cue box. So that doesn't work. > > ... What you actually need is position:100% - margin - height > > of cue-box. > > ... That works if you have a lot of control over the font > > height and can calculate the position this way. > > ... In most cases that's a bit risky. So then I changed to the > > other possibility, to use line alignment > > ... The first line in the cue generates the line grid, then you > > can position the cue box with positive line numbers from the > > top > > ... or negative line numbers starting from -1 from the bottom. > > ... [example shows text one line up from bottom] > > ... You have to have the snap to lines flag set - this happens > > automatically if you use line numbers. > > ... For one line you can have line:-2, or for a two line > > subtitle, line:-3. Needs a bit of calculation. > > ... A dirty trick possibly is always to set it to -1 and let > > the renderer push it up. Possibly this is not recommended but > > it may work. > > ... Styling: > > ... In EBU-TT-BasicDE there's a default style defined once in > > the head, and a div element that references the defaultStyle. > > ... In WebVTT you can define a general cue selector ::cue and > > use almost the same property names and values. > > ... For font-size some calculation is needed. 60% font size in > > TTML comes out at 5.33% of the height of the video, which is > > 100% in CSS. > > ... A separate CSS file is needed to contain the ::cue > > selector. > > ... For inline styles in TTML we set the colour attributes on a > > style referenced from a span. > > ... In CSS you can use the pseudo-selector ::cue(c.textWhite) { > > color: #ffffff; background-color:rgba(0,0,0,0.7); } > > ... Then in the VTT c.textWhite cue class > > ... Timing: > > ... In TTML put a begin and end on, with media timeBase, > > reference sync is zero. In EBU-TT-BasicDE the fractional > > seconds are limited to 3 digits. > > ... This is the same for WebVTT cues. > > > > pal: What are the rules for CSS styles when combined with > > locally set rules? Which takes precedence between author and > > user choices? > > > > courtney: We would consider user choices to override author > > styles. > > > > pal: If you're displaying it on a web page, then web styles > > taking over seems like not the right thing to do. > > > > andreas: It's not clear to me how the CSS that applies to the > > web page interacts with the VTT cues. From testing there's no > > relationship. > > ... The video is a separate viewport with independent styling, > > from my testing anyway. > > > > Cyril: I think that's not expected. I remember that the cues > > are sourced in the HTML page so the styles should be applied. > > > > andreas: I tried it out in Opera. > > > > zcorpan: The styling was implemented in presto - I'll put > > together a quick demo and paste the link > > > > andreas: One important point is that we put the background > > color just behind the text not the box. From what I read > > there's no possibility > > ... in WebVTT to put the background only on block level > > elements, e.g. the whole region/p/div etc. > > ... It only puts the background behind each glyph. I think > > there's a WebVTT background box concept but it doesn't seem to > > apply to the block level. > > > > glenn: So TTML allows the background to be specified on the > > containing block and possibly differently on the span or the p > > within the larger block. > > ... So this example (showing two spans each with its own > > background color) wouldn't be possible? > > > > andreas: That's right. In Europe both possibilities are in use. > > ... We need to be aware of this restriction in the mapping. > > > > <zcorpan> > > [15]http://w3c-test.org/webvtt/rendering/cues-with-video/proces > > sing-model/basic.html has styling > > > > [15] > > > http://w3c-test.org/webvtt/rendering/cues-with-video/processing-model/basic.html > > > > zcorpan: This shows how a stylesheet applies to WebVTT cues - > > the stylesheet is in the HTML page and the cues use those > > styles > > ... There's a white video behind it. > > > > pause for 4 minutes, back at 10:33 (CET) > > > > <zcorpan> wrt to the positioning discussion, there are open > > bugs on the webvtt spec for both changing how positioning works > > and for adding something that allows for exact positioning. > > [16]https://www.w3.org/Bugs/Public/buglist.cgi?quicksearch=webv > > tt%20positioning&list_id=43983 > > > > [16] > > > https://www.w3.org/Bugs/Public/buglist.cgi?quicksearch=webvtt%20positioning&list_id=43983 > > > > <zcorpan> > > [17]https://www.w3.org/Bugs/Public/show_bug.cgi?id=25632 > > > > [17] https://www.w3.org/Bugs/Public/show_bug.cgi?id=25632 > > > > nigel: we're reassembling... > > > > courtney: Here's what I've discovered from writing mapping > > code. > > ... There's an issue that we don't have an official WebVTT spec > > yet - we're working off drafts that aren't versioned. > > ... When Andreas was talking he was using browser supported > > features. This is causing a bit of an issue. The mapping I've > > been doing is off the most > > ... current WebVTT spec version. > > [18]http://dev.w3.org/html5/webvtt/ > > ... Here are 3 categories of issue: > > ... 1. TTMl is more hierarchical than WebVTT > > ... 2. The two specs define different properties implicitly vs > > explicitly. > > > > [18] http://dev.w3.org/html5/webvtt/ > > > > 3. The basic problem of converting units (value type > > conversions) > > > > scribe: Hierarchical vs Flat: > > ... WebVTT has a flat structure with no nested elements. TTML > > provides a hierarchical structure. > > ... Metadata: in TTML you can nest metadata hierarchically > > [shows ttm:agent holmes and Dr Watson]. In WebVTT you get a > > list with no relationships between them. > > ... Proposal for WebVTT is hierarchical metadata keys > > > > nigel: Is that just metadata or presentation issues too? > > > > courtney: It may be less of an issue for presentation issues > > but there are cases where we run into a similar problem. > > ... Another example: Calculating relative timings > > hierarchically in TTML and linearly in WebVTT. > > > > Cyril: I think some profiles restrict that. > > > > andreas: Yes, EBU-TT-D doesn't allow nested timing. > > > > Cyril: That raises the question which profile are we looking > > at? > > > > Courtney: Yes, we can simplify the problem by specifying a > > profile. > > > > glenn: It's useful, though it may take longer, to start from > > the general case and identify where in the absence of a profile > > there are issues. > > ... For example re timing and even styles we could define a > > mapping based on the sequence of Intermediate Synchronic > > Documents, to remove the timing issues. > > ... Just documenting these issues is useful. > > > > nigel: We decided last week to use TTML1SE and WebVTT. > > > > andreas: for styling there's some hierarchical structure in > > WebVTT too, by application of class nodes that are nested. > > > > courtney: Yes you can have nested styles within a cue but if > > you want the same style for 10 cues you can't put them in a > > fragment and declare it at the fragment level. > > ... Implicit vs Explicit: > > ... Some functionality is explicitly described by attributes or > > parameters in one spec but implicitly derived in the other. > > ... For example, horizontal writing direction. In TTML there's > > a way to specify horizontal direction but in WebVTT there isn't > > (unless it's vertical) - it's inferred from the font. > > > > glenn: tts:direction is designed to work in relation to the > > Unicode bidi control characters > > ... absent of those you can still infer directionality based on > > the content of the element, though it's harder with mixed > > content. > > ... So the direction attribute in TTML doesn't really say > > 'write right to left' but does specify the default writing > > direction in the absence of bidi. > > > > courtney: WebVTT has bidi too, and rtl and ltr entities. > > > > andreas: In Unicode the information is already there. > > > > glenn: You have to look at the history of Unicode - people > > didn't want to use nestable control codes so they wanted CSS > > attributes to do the same thing. > > > > <zcorpan> > > [19]http://dev.w3.org/html5/webvtt/#h4_processing-model says > > how to determine direction > > > > [19] http://dev.w3.org/html5/webvtt/#h4_processing-model > > > > zcorpan: The horizontal direction is taken from the text in the > > cue, not from the font (in WebVTT) > > ... You can override it with unicode bidi characters if you > > want. > > > > nigel: Seems like there's no issue to log in our issues list. > > > > <zcorpan> "Apply the Unicode Bidirectional Algorithm's > > Paragraph Level steps to the concatenation of the values of > > each WebVTT Text Object in nodes, in a pre-order, depth-first > > traversal, excluding WebVTT Ruby Text Objects and their > > descendants, to determine the paragraph embedding level of the > > first Unicode paragraph of the cue. [BIDI]" > > > > glenn: TTML has the CSS features as well as the plain text. > > > > courtney: Example 2: line breaks - need to be explicit in TTML > > but can be just new lines in WebVTT. > > > > Cyril: That's due to the parser - XML requires this. > > > > andreas: Later on we can look at xml:space attributes. From the > > tests I've seen with xml:space="preserve" then line breaks > > should be preserved. > > > > <zcorpan> XML doesn't require it really > > > > glenn: In XSL-FO there are 4 different properties. We define an > > explicit mapping of xml:space to sets of those values, in TTML. > > We didn't expose the full XSL-FO model. > > > > courtney: Value Type Conversions > > > > <glenn> tnx 4 reminder > > > > courtney: Example 1 - times > > ... TTML has different time expressions, WebVTT always has > > hh:mm:ss.sss with fractional seconds. > > ... Fortunately the ttp: namespace defines all the required > > metadata to do the conversions. > > ... Though I'm not sure that's the case with lengths and > > position values > > ... Again TTML allows a broader set of units - pixels, em, > > cells, %ages > > ... I'm assuming lineHeight is sort of like em. For some TTML > > documents I think you need the authored video dimensions to do > > the mapping. > > > > pal: I think if you use %age or c you don't need the video > > dimensions. If you're going to use pixels then implementations > > should use tts:extent on the root as well. > > > > glenn: By specifying extent on the root you can derive a pixel > > dimension - this doesn't tell you the pixel relationship to the > > video though. > > > > andreas: An issue is that in general the root container pixel > > dimensions are not necessarily coincident with the video > > dimensions. > > ... The document has no way to specify this in TTML, in > > general. > > > > pal: CFF-TT and EBU-TT-D relate the root container to the > > video. IMSC introduces an aspect ratio. All the profiles > > specify how the mapping goes. > > > > andreas: For general TTML documents this is an issue. > > > > courtney: Attribute mappings > > ... Some are straightforward. > > ... Though WebVTT IDs can be purely numeric, and xml:id doesn't > > allow that. So some modification or convention may be needed, > > e.g. "cue"+number. > > ... We could define the best practice. > > ... Both use BCP47 language values > > ... Preserve space needs further discussion. > > ... Styling attributes: colors, fonts etc are fairly > > straightforward. > > > > pal: Is there a subset of CSS that's supported for WebVTT? > > > > <zcorpan> [20]http://dev.w3.org/html5/webvtt/#css-extensions is > > the subset > > > > [20] http://dev.w3.org/html5/webvtt/#css-extensions > > > > andreas: In WebVTT there's a subset of properties that are > > permitted. E.g. padding is not allowed. > > > > courtney: One requirement set is what's needed for CEA608. It > > would be useful to have a standard set of CSS classes that can > > be used for any CEA608 translations into WebVTT. > > ... There are some properties with no WebVTT equivalent: > > display, overflow, padding, showBackground. > > ... For alignment, displayAlign maps to the latest version of > > the WebVTT spec. > > > > andreas: I tried it out, and it would work perfectly. > > > > courtney: But they're not widely supported yet. The mapping is > > nicer at least. > > > > <zcorpan> "the properties corresponding to the 'background' > > shorthand" is allowed, if that is what showBackground does > > > > zcorpan: any other properties will be ignored than those listed > > in the spec. > > ... I'm not sure how the TTML features map to those but there > > is a defined subset in the spec. > > > > courtney: To expand on that, things like textDecoration in TTML > > you can have underline set on a cue, but for the rest of it > > you'd have to go to CSS to do? > > > > <zcorpan> <u> > > > > zcorpan: For underline you can use CSS or the <u> element > > inside a cue. > > > > courtney: visibility and zIndex - I can't see how to do those > > in WebVTT. > > ... extent can be done with a cue box size or a region size. > > ... A lot of the timing in the ttp: namespace metadata doesn't > > map to the WebVTT because the timing that's allowed is a lot > > simpler. > > > > zcorpan: visibility and zIndex is not possible in WebVTT. > > > > nigel: can't you do visibility with opacity? > > > > zcorpan: yes you can do visibility. > > > > courtney: there are also the attributes "use", "value" and > > "type". > > > > glenn: Those are in the profile definition mechanism - they're > > not content or style based. > > > > Cyril: does this mean they don't have to be mapped? > > > > courtney: since there are no profiles in WebVTT I guess not. > > > > glenn: This is all part of the TTML way to specify what a > > processor needs to support, based on SMIL and SVG originally. > > ... I think it can probably be ignored but needs more thought. > > > > andreas: If we do not find a direct mapping between WebVTT and > > TTML that doesn't mean that we can rule it out for the mapping > > ... because there's some intent in the source document and we > > have to check if theres something that needs to be done. > > > > courtney: Ruby: there's no simple mapping from WebVTT to TTML > > for ruby. > > > > glenn: In TTML1 you have to do the work at authoring time and > > use regions to place the ruby in the right place. > > ... I've recently specified in TTML2 the ruby markup. > > > > Cyril: There may be several ways to define the same thing, so > > we should try to use a canonical representation as the mapping > > source. > > ... For example there are several ways of expressing timing - > > maybe a requirement before mapping is a single syntax. I'm not > > sure if this is possible. > > > > courtney: it may be an interesting way to break the problem up. > > > > Cyril: A problem I've seen before is that when attributes need > > to be resolved at runtime based on context, e.g. frame rate, > > video size etc there's not much that can be done. > > ... We maybe need to classify those attributes that can be > > mapped offline vs those that need full context to resolve. > > > > courtney: that's my presentation. > > > > Cyril: There's also the question of which TTML profile to use. > > But also there are different classes of WebVTT: valid or not? > > parsable or not? > > ... Invalid documents may be presented okay by browsers. We > > should say which class we're looking at. > > ... Then WebVTT can represent metadata, chapters, subtitles, > > captions etc. so we should indicate which ones we're mapping, > > if not all. > > > > Logical step through > > > > nigel: Processing model > > > > Cyril: how does TTML handle overlapping times? > > > > glenn: there's arbitrary overlap permitted. > > ... The first step I'd advocate is to create the intermediate > > synchronic documents and map to WebVTT. > > > > Cyril: In WebVTT there's the concept of cues becoming active > > and then bumping up existing visible cues. > > > > some discussion of how this is handled in TTML > > > > andreas: Formally the concept of creating the ISDs makes a lot > > of sense - we need to make sure everyone understands what that > > means. > > > > glenn: I agree. For example one thing that may not be obvious > > is that style inheritance is only defined on ISDs so one has to > > perform the ISD creation prior to style inheritance. > > ... I've also added a function on the TTV tool to generate the > > set of ISDs. > > > > nigel: We have a choice here to map ISDs or specific bits of > > cue text. > > ... This impacts efficiency and metadata. > > > > pal: This depends on the use case - if we just have the goal of > > getting equivalent presentation then efficiency and metadata > > are secondary concerns. > > > > elindstrom: from a browser perspective we're interested in > > accurate presentation. > > > > courtney: I've been thinking about it the opposite way - from a > > TTML to WebVTT conversion preserving semantics. > > > > andreas: Would it be possible to take Courtney's attribute list > > and make it a structured document, take it as a header, explain > > the problem scenario, > > ... and indicate what the options and recommendations are from > > the WG? > > ... If you try to map abstractly the logical model then it's > > very hard. Something more concrete may be a better start. > > > > pal: This is a question of how complicated we want to make it - > > I haven't heard of anyone wanting to use WebVTT as a > > master/archive/mezzanine format. > > > > glenn: There's a use case for distribution though. > > > > pal: I can see the use case of converting the TTML experience > > into a WebVTT experience. > > > > glenn: Part of this may be timing oriented in the sense that > > user agents may potentially add TTML renderers directly, which > > would reduce the future needs. > > ... But there may still be WebVTT-only presentation devices. > > > > pal: The issue for me is about the non-presentation-based usage > > of WebVTT. > > > > elindstrom: I don't expect that to be a huge use case. > > > > nigel: Seems like we've been considering TTML -> WebVTT here. > > Does the same consideration apply the other way? > > > > courtney: WebVTT does roll-up - I'm not sure how we do that > > with TTML. > > > > glenn: we may need to consider using the set element in TTML1. > > > > pal: When you say roll-up you mean where there's an animation > > displayed? > > > > glenn: yes, gradually moving up. > > > > pal: To do that explicitly in TTML you need animation, but what > > is possible is to have a region that contains line A at t=0 and > > at t=1 line B is added, moving line A up. > > ... This doesn't require any animation. > > > > glenn: Yes correct but it doesn't do the whole 608 animation. > > > > pal: Then the question is do we need to explicitly define the > > roll-up animation. > > > > glenn: Yes, we put in a note that implementation might do that. > > > > courtney: What about paint-on? > > > > glenn: That's no problem. > > ... Does WebVTT support smooth roll-up as opposed to discrete > > line based roll-up? > > > > courtney: I think it does yes, I'll have to confirm. > > > > nigel: As a general point here we can leave it open to the > > converter where it's left unstated in the source spec. > > > > courtney: There's a scroll setting on the region in WebVTT that > > specifies this. > > > > nigel: Is there anything else regarding processing model that > > may affect how we do the conversions? > > ... So far we have: ISDs, smooth vs discrete scrolling. > > ... I guess discontinuous markerMode in TTML may be > > non-mappable too. > > > > glenn: I've been thinking about this too - I think it would be > > modelled by playing back the related media that triggers the > > discontinuous smpte events and recording the > > ... elapsed time to make a conversion from discontinuous to > > continuous. > > ... There's also the clock based timing which is also > > interesting! In appendix N we mapped all the timing models to a > > potentially continuous timeline. > > > > nigel: I think we should exclude discontinuous marker mode and > > maybe clock mode too, as being non-mappable from TTML1 to > > WebVTT. > > > > glenn: I think there may be some TTML2 work that can support > > this. > > > > nigel: I propose to make our mapping explicitly related to > > TTML1 and if there's anything that helps in TTML2 we can update > > it later. > > > > glenn: Or we can simply reference the ISD creation process. > > > > <zcorpan> "If region's text track region scroll setting is 'up' > > and region already has one child, set region's > > 'transition-property' to 'top' and 'transition-duration' to > > '0.433s'." - smooth rollup in webvtt with scroll:up. > > [21]http://dev.w3.org/html5/webvtt/#h4_processing-model > > > > [21] http://dev.w3.org/html5/webvtt/#h4_processing-model > > > > nigel: Maybe we can do both, and reference the ISD generation > > process and make a note that in TTML 1 the process isn't > > defined in a way that facilitates > > ... conversion to WebVTT for discontinuous and clock mode > > times. > > > > courtney: If we refer to ISD conversion rather than TTML1 > > what's the reference document? > > > > glenn: I'm working on this for TTML2. > > > > courtney: Is there a draft document to refer to? > > > > andreas: If you make the ISD concept central to the mapping it > > must be fully elaborated so that everyone can understand it. > > > > glenn: I agree but I think there's no way to avoid it other > > than to create an alternative flavour of the same thing. > > ... This is the only way to solve the timing hierarchy problem. > > ... It also gets around the style inheritance process. > > > > andreas: Formally I agree but it's hard to communicate the ISD > > - it wouldn't be a valid TTML document. So the converter > > wouldn't be from TTML. > > > > glenn: We do have examples of ISDs in the TTML1 spec, which is > > something I'm adding in TTML2. > > > > andreas: ISD creation is specified in TTML1 so I think we can > > use what's there. Is anything else needed? > > > > glenn: Yes, the only thing absent is the specification of a > > serialised form. We only used ISDs as a didactic construct for > > explaining the formatting model. > > ... In TTML2 I plan to make interchange of ISDs possible in a > > standard way. > > ... It would also be useful for this exercise. Now I have an > > implementation already those things combine to make this > > progressable. > > > > pal: For mapping can we simply assume that an ISD is a valid > > TTML document that happens to be static? > > > > glenn: almost - it's not quite the same because there's some > > transformation, e.g. the body element is copied and reparented > > to the region elements that are temporally active. > > > > courtney: My feeling is that this is just trading off one set > > of problems for another. > > > > pal: I was hoping that ISD could just be used to mean 'the > > state of a TTML document between successive events". > > > > Cyril: do we have a presentation on ISDs? > > > > glenn: No, though I could do it verbally. > > > > andreas: Maybe if it's in the TTV software we could have a look > > at some simple examples? > > ... So we don't get stuck here, can we start on attribute > > mappings that have to be done either way? > > > > courtney: I'd prefer to stick with TTML rather than ISDs and > > defer some of these problems. > > > > nigel: +1. Most of the problems are just about timing. > > > > glenn: Unfortunately that's not true - there's also the problem > > that associates content with regions and then performing region > > style inheritance. > > ... In the ISD document the content has been associated with > > individual regions and then region style inheritance, and if > > you don't go through the ISD process then the latter breaks. > > > > nigel: I think you can do the style computation without making > > the ISD. > > > > glenn: There's a risk of duplication of effort. > > > > courtney: I think you can map directly. > > > > nigel: I want to defer timing issues to ISDs and do everything > > else directly. > > > > glenn: To be clear I didn't mean previously that we need to > > serialise the ISDs > > > > Cyril: We talked earlier about categories - we need to think > > about metadata etc. > > > > pal: I've not heard those use cases. > > > > Cyril: Can we assume that metadata-only WebVTT files are out of > > scope of this? > > > > glenn: I guess the issue is searchability - if there are use > > cases that need searchability e.g. characters, roles, other > > agents, then we might need to consider that. > > ... If we're strictly talking about presentation than maybe we > > don't need to consider that. > > ... In WebVTT can you use metadata to define larger classes for > > presentation? > > > > courtney: The only thing I've encountered along those lines is > > voice, which may be one example. The approach I've taken is > > just to map what is possible to map. > > ... In the document we can describe what's well defined and > > note what can't be supported. > > > > andreas: I agree - we should publish something sooner and limit > > certain parts to a canonical representation if there are > > multiple ways to express the same thing. > > ... We can decide on a feature by feature basis what to limit, > > for example. > > > > Cyril: we didnt talk about which mapping direction we're > > talking about. > > > > nigel: it's both. > > > > andreas: Additionally there are, e.g. in Germany, cases where > > browsers aren't used to present content, and renderers only > > understand TTML. > > ... So we need to go both ways. > > > > nigel: Adjourns for lunch - return at 1330 CET. > > > > <zcorpan> i will call in 14:00. then 15:00-15:30 i will be > > absent again > > > > <zcorpan> correction. i will call in now but be absent between > > 14:00-14:30 and 15:00-15:30 > > > > trackbot, this is ttml > > > > <trackbot> Sorry, nigel, I don't understand 'trackbot, this is > > ttml'. Please refer to > > <[22]http://www.w3.org/2005/06/tracker/irc> for help. > > > > [22] http://www.w3.org/2005/06/tracker/irc%3E > > > > trackbot, start meeting > > > > <trackbot> Meeting: Timed Text Working Group Teleconference > > > > <trackbot> Date: 16 September 2014 > > > > <scribe> chair: nigel > > > > <scribe> scribeNick: nigel > > > > Agenda > > > > nigel: We may switch things around tomorrow due to changes to > > flights etc. > > > > We will capture output at > > [23]https://www.w3.org/wiki/TimedText/TTMLtoWebVTT where I > > enter 'wiki' in the minutes > > > > [23] https://www.w3.org/wiki/TimedText/TTMLtoWebVTT > > > > Document Structure > > > > courtney: Can we go through TTML elements? > > > > Cyril: can we map the tt element to the top of a WebVTT > > document? > > > > glenn: explains TTML structure down to style attributes. > > > > Cyril: Suggests defining a style class in WebVTT corresponding > > to each style in TTML > > > > glenn: yes, we can do this. > > > > courtney: Yes. Right now the CSS document is separate, but in > > the future it could be embedded. > > > > pal: Will there be feedback into WebVTT from this? > > > > courtney: There are competing desires here - yes, in principle. > > > > Cyril: can we go through these? > > > > glenn: Let's keep going with structure. > > ... Takes group through region properties - including style > > attributes for origin and extent, and referential approach. > > ... Each region has an id. If there are no regions defined > > there's a default, covering 100%. > > > > Cyril: How different is this from WebVTT regions? > > > > courtney: WebVTT regions can not have styles, but the layout > > information translates pretty directly. > > > > glenn: For example tts:opacity is a region-specific property. > > backgroundColor can apply to regions independently of the > > content in the region. > > ... There are a number of style properties that only apply to > > regions. > > > > andreas: Can a region be compared to a div element in HTML? > > > > glenn: yes. > > > > andreas: So this is the only element that can be positioned > > absolutely within the root container. > > > > glenn: moves to body > > > > Cyril: Will we have an output document structure with headers > > and bodies, with two subsections - for styling and layout? > > > > Courtney: yes. > > > > Glenn: That's not a bad way to do it. > > > > courtney: Part of this will describe the separate CSS and > > WebVTT document. > > > > glenn: takes us down through body, div, p and span. > > ... div can contain div; p can not contain p; p can not contain > > div; div can not contain text. > > > > Cyril: so p is equivalent to a cue? > > > > courtney: seems that way. > > > > glenn: Timing can be specified on body, p, div, p, span and br. > > > > Cyril: cues can have nested timing in spans. > > > > pal: is there a reason why each p can't map to a cue? > > > > glenn: my mental model of a cue is that it is not overlapping > > in time with other cues. I think this makes things easier. > > > > pal: But if we can map a p to a cue then the mapping is > > simpler. > > > > courtney: What else would it map to? > > > > glenn: Are you still assuming time has been flattened down and > > sliced? > > > > pal: Yes. > > > > glenn: So there are no overlaps. At that point content that is > > selected into regions is present and everything else has been > > filtered out. > > ... every piece of content is associated with a single region > > in TTML. > > > > Cyril: same in WebVTT. > > > > glenn: So the concept is to start from body, work down, and > > associate each piece of content with a region. > > ... So if there's a region we're not interested in we can > > filter out that content. > > ... So there may be multiple <p>s all mapping into a single > > cue. > > > > courtney: With WebVTT you'd define regions, and for each cue > > reference the region id. > > > > glenn: That's exactly how it works in TTML but with the ability > > to inherit region from an ancestor. > > > > Cyril: So you can in principle flatten the TTML structure and > > remove the <div>s. > > > > glenn: You can't remove the <div>s because they specify breaks > > and style. > > > > Cyril: But you could propagate down. > > > > nigel: You can paint the background of a div so if you remove > > it then some information is lost. > > > > andreas: is there a layout impact of div? > > > > glenn: It implies a breaking boundary in the line progression > > direction and it may contain styling. > > > > group: discusses slicing apart divs into multiple <p>s each of > > which generates a cue. > > > > Cyril: so if I start by resolving all the style references on a > > p, flattening out all the styles, then... > > > > glenn: so you can now enumerate all the <p>s and <div>s and > > assign each to a cue. > > > > courtney: I think we should do that in the document. > > > > glenn: Okay but you may end up with a lot of cues all with the > > same timing. If there's no intrinsic limitation on that then we > > can go ahead. > > > > Cyril: Layout: so div affects layout? > > > > glenn: Yes, divs can't (spatially) overlap each other within > > the same region. > > > > andreas: but the only fixed dimension defined is for the > > region, so the height of each p and div depends on the content > > flowed into them. > > ... So there's no difference between the block level boxes that > > are generated by divs and ps. > > > > Cyril: We could create artificial regions for divs that have a > > background color > > > > nigel: we may have some non-mappable functionality here, if a > > region, a div, and a p all have different background colors. > > > > glenn: Also if the div contains a div and both divs contain a > > p, and all the background colors are different, then you end up > > with different background paint areas > > > > andreas: Can a div create a space that isn't occupied by a p? > > If a p covers only 50% of the height of the region then its > > parent div will just have the height of its contained <p>s > > ... and not expand to the height of the region. > > > > glenn: So it will have the same background color as the p > > > > courtney: you can't specify an extent on a div or a p? > > > > glenn: no that's right. > > > > andreas: the width is defined by the region and the height by > > the flowed in content. > > > > Cyril: so you can't have a div with a different background > > color from its child <p>s? > > > > glenn: That's right because we don't have a margin before or > > after. > > > > nigel: I think we've just resolved that <p>s map to cues > > (repeating Glenn's earlier joke)! > > > > glenn: In TTML2 we have padding on content elements not just on > > region, which might impact this, but thinking about it, it > > should be okay because it's not margin. > > > > courtney: What are content elements? > > > > glenn: body, div, p, span, br. > > > > Cyril: What if spans have timing that's shorter than their > > parent p? > > > > glenn: If there's an explicit end on the span that makes its > > active end prior to the active end of its parent then it would > > depend on the fill mode - it's either freeze or remove. > > ... I'd have to check what we said about this, from SMIL. > > > > andreas: in WebVTT you can have non-ended cues, that last > > until... when? > > > > glenn: In TTML if there's an explicit end on the parent > > container and the child ends prior to that then there would be > > two ISDs, one > > ... covering the first period and the other covering the second > > period, and the span wouldn't be present in the second period. > > > > nigel: +1 > > > > Cyril: so you can have a span that contains text that activates > > and deactivates part way through the cue. > > > > glenn: Yes, that would be possible in TTML. > > > > Cyril: Can we do that in WebVTT? > > > > courtney: I don't think so - there's only styling changes part > > way through a cue. > > ... So spans with time on them - would we have to separate them > > into separate cues? > > > > Cyril: I don't think that would work because they'd appear on > > different lines. > > ... You'd have to go down to the ISD level. > > > > nigel: Can you have spans with timing? > > > > Cyril: only to switch the text on, not off. > > ... So not every p is a cue, it's a bit more complicated! > > > > glenn: If you split everything into ISDs that do not overlap > > then these problems can be resolved. > > ... We need to look more at the details and work out if there's > > a problem here. > > ... The only thing we didn't cover is animation. There's a set > > element in TTML1 that can also delineate ISD boundaries. > > ... In TTML2 we're adding continuous animation using the > > animate element > > > > In TTML2 ISDs there may be some internal animation within the > > ISD. > > > > andreas: it's also worth noting that every element can have > > metadata attached. > > > > glenn: metadata, except for the ttm:agent attribute which can > > appear on any content element only, and the region, which > > reference agent definitions in the header, > > ... other metadata elements are all local not referential. > > > > andreas: TTML also allows child elements that are not in a TTML > > namespace so it can be extended. A TTML processor is required > > to prune these out and not reject > > ... the document. But it doesn't have to display. > > > > courtney: Does anyone know if we can have metadata in CSS > > within a style class? > > > > andreas: you can have comments. > > > > glenn: they're ignored in the CSS object model. > > > > zcorpan: you can have custom properties that can be used for > > any purpose including metadata. > > > > <zcorpan> [24]http://dev.w3.org/csswg/css-variables/ > > > > [24] http://dev.w3.org/csswg/css-variables/ > > > > nigel: Can we go through the WebVTT structure and see how that > > maps? > > > > courtney: WebVTT files have a header section that starts with > > WEBVTT > > > > [25]http://dev.w3.org/html5/webvtt/ > > > > [25] http://dev.w3.org/html5/webvtt/ > > > > courtney: Then there can be metadata, such as language, > > copyright etc. > > > > Cyril: so when you parse the file, big objects are separated by > > double line separators. > > ... Every piece of text separated by two lines is either a cue > > or is a comment not for display. > > > > andreas: but comments are not defined? > > > > <zcorpan> [26]http://dev.w3.org/html5/webvtt/#webvtt-comments > > comments are defined here > > > > [26] http://dev.w3.org/html5/webvtt/#webvtt-comments > > > > Cyril: no. For example in MP4 carriage you could remove it, or > > put it in a previous or next segment - it won't be displayed. > > > > courtney: In the header section you can also include region > > definitions. > > > > nigel: so you can't have untimed cues? > > > > Cyril: yes. Can you in TTML? > > > > nigel: yes you can - they have the duration of the whole > > document (assuming there's no inherited time from a parent time > > container etc) > > > > Cyril: this is in flux in the WebVTT standard, using keywords > > like 'Next' for 'until the next cue'. > > > > glenn: during the conceptual ISD mapping process every piece of > > content gets timed. Ultimately the active period of the related > > media object will determine that time, > > ... in the absence of any other information. > > > > andreas: We also have to think about multiple <br> in TTML > > documents, which are allowed, but shouldn't generate multiple > > line breaks because they wouldn't > > ... be displayed in WebVTT. > > > > Cyril: so you could define line numbering or put non-breaking > > spaces on otherwise empty lines. I'm not sure how the > > backgrounds would be painted for spaces. > > ... records issue on wiki > > > > andreas: You can use empty spans on each line. > > > > courtney: Identifiers are used - each cue can have an > > identifier, which would show up before the begin and end time > > lines. > > ... Also regions have ids that can be referenced in cues. > > > > Cyril: Those cue ids come from SRT - in SRT each cue has to be > > a monotonically increasing number with no gaps. > > ... it's very common to have WebVTT files with numeric > > identifiers. > > > > andreas: and the ids can have spaces in between, which isn't > > permitted in xml:id > > > > courtney: so we should have a convention for mapping to TTML > > Ids. > > > > nigel: Can VTT cue ids be duplicated? > > > > courtney: no. > > > > nigel: the reason for mentioning it is that if we do TTML ISD > > -> Cue then the same TTML id may resolve to multiple cues. > > > > courtney: there's something to think about here with slicing > > VTT cues into time slices. > > > > Cyrill: As long as all the spans in a p aligns with the end > > times of the p then you can keep it as a single cue. > > > > nigel: that's a special case - think of live word by word > > subtitles. > > > > Cyril: cues have to be laid out in start time order. > > ... Within a cue you can have internal timing values, that I > > think also have to be in increasing time order (I'm not sure > > about that). > > ... can you have TTML spans that display in reverse time order > > compared to the document order? > > > > glenn: Yes, there are no constraints. > > > > Cyril: what about in profiles? > > > > pal: I haven't seen any profile that constrains that out. > > > > glenn: if the TTML time container is a par (parallel) time > > container than a child can start after one of its preceding > > siblings. > > ... the order in the content will define the order of > > presentation order (spatially). > > > > pal: IMSC 1 allows a document to be labelled progressively > > decodable which forbids timing on descendants of <p>s. > > > > courtney: So that needs to be in the document, i.e. temporal > > ordering within the document. > > > > andreas: EBU-TT-D doesn't constrain this but recommends time > > ordering. Most legacy formats are sequentially ordered in time > > as well. > > > > Cyril: even if the <p>s were out of order in time that wouldn't > > be a problem, but out of order <span>s would be a problem. > > > > pal: But going to ISD level would avoid that. > > > > Cyril: adds this issue to the wiki > > > > nigel: Do we have to worry about rtl direction when sorting > > spans into order in WebVTT? > > > > glenn: I would expect that when a span is active all text > > content of active spans are merged and then directionality is > > applied on the result. > > > > courtney: let's leave the identifier mapping convention until > > later. > > > > nigel: Voice spans are straightforward aren't they? > > > > courtney: I think voice maps to agent pretty well. > > > > nigel: +1 > > ... What about styling based on voice cue selectors? > > > > courtney: You could define a TTML style for each agent. > > ... Along those lines you can put styling directly on a span - > > in WebVTT I think you'd have to define CSS classes for those. > > > > Cyril: you may not have to scan the whole document but could > > create a random hash for every time one is encountered. > > ... I'm also interested in streaming, transcoding live streams. > > > > glenn: If it's not been converted into an ISD sequence then you > > can't avoid parsing the whole document (unless it's > > progressively decodable). > > ... You never know if the last markup element will be timed > > prior to the rest. > > > > Cyril: WebVTT documents are always progressively decodable. > > ... go to example just before section 2 - this has multiple > > lines in the header. In this case Regions, but it could be > > copyright, anything else. > > ... So some parts of the header map to regions and others to > > metadata. > > ... continuing on document structure. > > ... Each cue has a timestamp for start and end, followed by > > optional settings. > > > > Courtney: There are additional settings available. > > > > Cyril: they are a combination of styling and layout. > > > > nigel: What about at the end of the document? > > > > Courtney: there's nothing to mark the ends of documents. > > > > Cyril: that's a feature - you can concatenate two WebVTT files, > > and if the timestamps obey the time rules then it's valid. > > ... The second header would be ignored. > > > > pal: what about styles? > > > > andreas: We also need to think about error handling - > > processing of invalid documents. > > > > nigel: Can we simply constrain our mapping to input documents > > that are valid? > > > > Cyril: maybe not - we could consider the WebVTT to TTML mapping > > to do what a presentation processor would do when given an > > invalid document > > ... The behaviour is well defined. > > > > nigel: Let's take a break until 1545... > > > > <zcorpan> re "nigel: Can VTT cue ids be duplicated?" - yes, > > there is no requirement about uniqueness for cue identifiers. > > however region identifiers need to be unique and don't allow > > spaces > > > > <zcorpan> hmm. sorry, looks like cue id requires uniqueness > > also. i think that changed from a few years ago > > > > <zcorpan> looks like the spec allows a cue id to be duplicated > > as region id > > > > Restarting... > > > > Layout > > > > andreas: We should start with the positioning of a <p> element > > relative to a region. > > > > courtney: The positioning is the piece that will map into > > WebVTT. There are several region attributes in TTML that can > > not go in WebVTT. > > > > group: discussion of xml:lang on <region> and how it may get > > inherited by content elements in TTML. > > ... discussion of style attributes on region - which must be > > included? > > > > courtney: Maybe we should go through each attribute. > > > > <tmichel> I just joined Zakim using SIP. It works for me using > > code ttml# > > > > <zcorpan> i still get "this passcode is not valid" > > > > glenn: I have a list of style attributes that apply to region. > > ... there are 12 in TTML1, and of those, 9 apply only to > > region. > > ... Styles that apply both to region and other content elements > > are backgroundColor, display and visibility. > > ... the ones that apply only to region in TTML1 are > > displayAlign, extent, opacity, origin, overflow, padding, > > showBackground, writingMode and zIndex. > > ... Note that at least one of these will be opened up to > > content elements in TTML2, which is padding. > > ... We may also open up opacity to content elements, which > > would allow the definition of opacity for an element and its > > content as a collection. > > > > andreas: Should we rule out the attributes that will change in > > TTML2? > > > > glenn: In fact opacity and padding are extended to all content > > elements in TTML2. > > ... In both cases they aren't being removed from region, so > > they are still applicable to region in ttml2. > > > > courtney: So let's start with those. I believe that only 3 map > > to a region in WebVTT: displayAlign, extent and origin. > > > > andreas: And they can be mapped to properties of the region? > > > > nigel: can't you do visibility by setting a style with opacity > > zero? > > > > courtney: you can do that but only on a cue, not on a region. > > > > nigel: So another way to say the same thing is that there's no > > region selector for styling? > > > > courtney: Yes. > > > > nigel: does the lack of zIndex imply that in WebVTT overlapping > > regions are prohibited? > > > > courtney: I don't think they're prohibited. > > > > glenn: In TTML2 on this subject we have a request for > > expressing z ordering for content to be able to handle 3D. > > > > pal: That sounds similar but it's a different concept. > > > > Loretta: I'm trying to see if the magic layout algorithm > > applies to region as well. > > ... In general there's no notion of zIndex in WebVTT. > > > > nigel: Is there an alternative way to achieve backgroundColor > > on regions in WebVTT? > > > > courtney: I don't think so, you can only do it for cues. > > > > Cyril: adds non-mappable showBackground on region and zIndex to > > the wiki. > > > > courtney: overflow is always hidden for regions too. > > > > glenn: Can wrapping be prevented so that overflow may be > > relevant? > > ... Or what happens if you put too much content into a region > > i.e. too many lines? > > ... It sounds like extent, origin and displayAlign are > > currently expressible. The other 9 attributes seem to be > > absent. > > ... display seems to be only worthwhile in conjunction with > > animate. > > > > nigel: It seems that the pseudo classes past and future have > > some relationship to animate. > > > > andreas: Wants to note that when we finish on the TTML > > attributes we should go the other way round. > > > > courtney: Let's do the non-style attributes on a region > > first... > > ... You can put timing on a region in TTML - there's no > > equivalent in WebVTT. attributes begin, end, dur, timeContainer > > > > glenn: timeContainer is on regions for the processing of > > animate elements that are children of region. > > > > <Loretta> Does the cue-region pseudo-element let us apply CSS > > styles to regions? > > > > nigel: What's the action on that - to add it to the > > non-mappable list? > > > > Cyril: why have timing on regions? > > > > glenn: The main reason is to provide timing for background > > painting when no content is active, and also to specify the > > timing for animate elements that are children of that region. > > > > Cyril: I'm not sure it's not mappable - you can have empty cues > > applied to a region, with the equivalent times of the TTML > > region. > > ... Then that would activate the region in the same way - what > > happens then is a later question, e.g. background painting. > > > > glenn: Actually the timing of a region in TTML can be used to > > temporally clip the flow of content into that region, so it's a > > bit more than that. > > ... The question really is: do implementations use animate? > > > > pal: I'm going to check the examples I have. > > ... another thing is how do you achieve dynamic positioning for > > text? One way is to create one region per subtitle. > > ... In that case you may be tempted to put the timing on the > > region. > > > > Loretta: What are you trying to do here? > > > > pal: In TTML1 there's no per-cue positioning, e.g. of each <p>. > > One way to achieve that effect is to define one region per > > subtitle and position each region > > ... individually. > > > > andreas: From the layout perspective, there's a chance that > > timings are put on region elements. > > > > courtney: Shall we talk about the things that do map? > > ... On a WebVTT region the available settings are: width, > > lines, region-anchor, viewport-anchor and scroll. > > ... I believe that extent in TTML maps to width and lines. > > ... We have the dimension issues for value units, e.g. if it's > > in %age then it's okay but in pixels you need the size to do > > the unit conversion. > > ... I think that displayAlign and origin in TTML, in > > combination, map to a combination of regionAnchor and > > viewportAnchor in WebVTT. The two specs have > > ... different ways to achieve the same thing. In WebVTT you > > define a point within the video frame that maps to a point > > within the region and they don't necessarily > > ... have to be the same thing. Origin + displayAlign allows you > > to achieve the same effect. > > > > nigel: I thought there was some freedom in WebVTT about the > > precise positioning, whereas in TTML there's no freedom of > > movement - is that right? > > > > Loretta: I'm still wading through the WebVTT algorithm. > > Certainly for cues things get moved around to be as close as > > possible to the stated location. > > > > nigel: Yes, I'm not sure if that applies to regions as well as > > cues. > > > > Loretta: Yes, I think it may do - I'm still checking. > > > > courtney: I think we should take that offline and research it. > > > > andreas: I see a problem with the lines value - this defines > > the height of the region. A line is defined by the height of > > the first line of the cue, so a region does not > > ... always have the same height, as it depends on the first > > line's size. This is a hard topic to research in general, how > > this will resolve. > > > > nigel: What's a concrete example of that problem? > > > > andreas: In general the mapping from TTML to WebVTT may not be > > possible because for each cue selected into the same region the > > line height could be different, > > ... which will result in the region changing height. > > > > Loretta: presumably WebVTT would expand the region to > > accommodate the 5 lines and TTML would clip? > > > > glenn: That would depend on lineHeight, fontSize and overflow > > attributes in TTML. > > ... Right now we don't have an object-fitting algorithm such as > > in CSS. > > > > Loretta: Is there a way of setting font-relative dimensions? > > > > glenn: yes, they can be defined in ems or cells. Ems would be > > font-relative. > > > > andreas: Why is region height important for WebVTT when no > > background can be drawn? > > > > Loretta: the height is important because that determines when > > scrolling will start. > > > > nigel: This seems very similar to the overflow attribute in > > TTML - if some lines fall out of a region, which ones should an > > implementation hide? > > > > glenn: That's an implementation issue. > > > > andreas: Can you explain the difference between the region > > anchor point and the viewport anchor point? > > > > courtney: the region anchor setting defines a point that is > > fixed in location relative to the region, in case the region > > has to grow. > > ... the viewport anchor setting defines where in the video the > > region must overlap. > > ... It needs to be understood in relation with the > > display-align setting. > > > > Loretta: right, we need two points. It's like sticking a pin > > through the region and in the viewport, and any changes to > > region size keep that point invariant. > > > > courtney: the region viewport anchor setting has two points > > defined, the point within the video and the point within the > > region. > > ... Then there's an additional point that is held constant when > > the region is resized. > > > > ack > > > > nigel: I think we need to understand the region mapping > > algorithm from WebVTT - to origin and extent, and if that's a > > single value or if there are multiple values, > > ... which in TTML we can do using set elements on the region. > > ... I think we need a strawman algorithm for this mapping so > > that we can look at it. > > > > andreas: I propose a gist on github for example. > > > > courtney: I'll take it as an action item to come up with a > > strawman proposal. > > > > glenn: A moment ago I thought I heard something about origin > > being in the centre in TTML - was that the question? > > > > Courtney: yes, would you do that with displayAlign? > > > > glenn: origin is always top left. You can use displayAlign to > > define where lines are drawn from - in which direction. Right > > now there's no anchor mechanism in TTML. > > ... Sean did come up with a change proposal, which I will have > > to try to dig out. > > > > courtney: It's always top left? > > > > glenn: yes. > > > > nigel: In scope terms, do we need to consider the placement of > > text within regions, and also the placement of text not in > > regions? > > > > <glenn> > > [27]https://www.w3.org/wiki/TTML/changeProposal015#region_ancho > > r_points > > > > [27] > > https://www.w3.org/wiki/TTML/changeProposal015#region_anchor_points > > > > glenn: on the prior point, change proposal 15 has a section on > > this. > > ... This is proposed for TTML2, but not implemented yet. > > > > courtney: In WebVTT cues can have positioning - in TTML1 they > > don't. So in the mapping to TTML we need to translate to a > > region. > > > > glenn: In TTML2 we are defining inline region definitions, so > > div and p in TTML2 can take a child region element, including > > extent and origin. > > > > andreas: This is sometimes misused in operation! > > ... In mapping from WebVTT with no region and snap to lines is > > active, from the WebVTT spec it looks like margins need to be > > added top and bottom. Is that correct? > > ... If the first line is not to be at the bottom and the last > > line must not be at the bottom, that is. > > ... We need clarifications of this for accurate mapping. > > ... will add to the Issues list on the wiki > > > > Summary of the day > > > > nigel: We've looked at existing work from Andreas and Courtney, > > thought about the processing models and document structures, > > ... identified that style attributes should mostly transfer > > straightforwardly, thought about metadata a bit, and spent a > > while on layout. > > ... Tomorrow we have some time set aside for testing, and I > > suggest we combine the test case generation with the mapping > > algorithms. > > ... Thank you everyone, see you tomorrow. > > > > adjourns meeting. > > > > Summary of Action Items > > > > [End of minutes] > > __________________________________________________________ > > > > > > Minutes formatted by David Booth's [28]scribe.perl version > > 1.138 ([29]CVS log) > > $Date: 2014-09-16 15:07:16 $ > > __________________________________________________________ > > > > [28] http://dev.w3.org/cvsweb/~checkout~/2002/scribe/scribedoc.htm > > [29] http://dev.w3.org/cvsweb/2002/scribe/ > > > > > >
Received on Saturday, 20 September 2014 14:43:26 UTC