Timed Text Working Group Teleconference

29 April 2021


Atsushi, atsushi_, Chris_Needham, Cyril, Gary, Glenn, Nigel, Pierre, Rob_Smith
Gary, Nigel
cpn, nigel

Meeting minutes

This meeting

Nigel: Today, we have 2 points on TTML2 and I'd like to take a minute to cover https://github.com/w3c/ttml2/issues/1189
… We also have a WebVTT pull request to check on, for unbounded cue end times.
… In AOB we currently have TPAC 2021.

Cyril: I can give an update on TTML and WebVTT discussions in MPEG if we have time in AOB

Nigel: Thank you. Any other business?

group: [no other business]

Nigel: Since Gary is a few minutes late today I propose we cover the TTML2 issues first.

Chris: That's ok

Rob: Good for me.

Nigel: Welcome, it's a W3C WG meeting, usual rules apply, we're nice to each other, etc. almost goes without saying.

TTML2 - Merging open pull requests

Nigel: We have two open pull requests that have been open for more than 2 weeks and have an approval review.
… By our normal rules, that constitutes consensus.

Glenn: Are these the 2 on TTML2?

Nigel: Yes

Glenn: I've just merged the first and will have merged the second in a minute or two.

Nigel: Great.

Glenn: I'd also point out that the first of those, to change the links examples to https is technically not necessary because they're not links.

Nigel: The point was to demonstrate editorially that we want to promote use of secure protocols.

Glenn: Yes.

Glenn: (later update) I've merged the second pull request also.

TTML2 - Shear calculations and origin of coordinate system. w3c/ttml2#1199

github: https://github.com/w3c/ttml2/issues/1199

Nigel: Following my proposal about line wrapping and block shear, Glenn you wanted to add something?

Glenn: In TTPE we implemented this in a branch. We computed the line measure for the block prior to performing
… paragraph line breaking operations. We computed that measure based on the block shear that would apply to the block, so it has the
… result of resulting the measure by some %age related to the sines or cosines of the angle.
… It did not require any kind of recursive update to the measure for formatting purposes.
… Once you've computed the line measure then it's done and you don't need to recompute.
… I will go back to your issue and see if you're thinking of something I had not considered.
… We didn't have any problem of the sort that you mentioned.

Nigel: I'm confused by that so will await your further input.

SUMMARY: @skynavga to consider computational issue further

Mention fingerprinting vectors in privacy considerations. w3c/ttml2#1189

github: https://github.com/w3c/ttml2/issues/1189

Nigel: I've reviewed the fingerprinting vectors just before today's meeting
… I came up with 3 actions, all to add notes to the Privacy section
… [describes the actions in https://github.com/w3c/ttml2/issues/1189#issuecomment-829305696]

Glenn: Do any of those involve change to the font fingerprinting text?

Nigel: No, they're just adding points to P7 and P3. It doesn't modify P10

Nigel: I'm happy to draft a PR, unless someone else wants to

SUMMARY: @nigelmegitt listed the proposed changes and highlighted them to the group for consideration

WebVTT Add unbounded TextTrackCue.endTime w3c/webvtt#493

github: https://github.com/w3c/webvtt/pull/493

Gary: When we last spoke about the unbounded end time for the TextTrackCue there wasn't much concern.
… The hold-up was whether there were tests and whether it was approved on the HTML spec side.
… Last week the [PRs on] tests and the HTML side were merged so now WebVTT is the last hold-out for the API change,
… which is this pull request right now.

Rob: I concur. Firstly this is my first TTWG meeting, thank you for the invite. Thanks Gary for the quick summary.
… I'd add that having done the platform tests I notice there's a dependency between the TextTrackCue tests and the VTTCue tests
… because the TextTrackCue relies on VTTCue for the constructor. There's a crossover or interdependency that results.
… The WebVTT change is required to make the Web Platform Tests work as well.

Gary: Thanks Rob that makes sense.
… In terms of process, I haven't heard any objections from anyone. Do we need to wait before merging for the resolution period?

Nigel: Our normal practice is to consider the opening of a PR as effectively a Call for Consensus
… so that the Decision Review period expires 2 weeks after opening, obviously assuming there is consensus at that time.
… What this means is that, since this PR has been open since November, if the Chair declares consensus, then the Editor can go ahead and merge.
… I'd just point out that there was a commit just 23 hours ago so that should be considered.

Gary: I plan to look through it again after this meeting and in that case go ahead and merge.

Rob: That recent addition was to address Philip Jaegenstedt's comment that there was a reference to unbounded TextTrackCue which was
… not used. We tried to keep it as simple as possible and ended up removing all references to unbounded cues in the process.
… The way it is at the moment it is the one thing we are adding and do not mention, so I thought it worth adding.
… I couldn't find any similar example and struggled with the wording so would welcome guidance.

Gary: Earlier I thought it was fine but will take a closer look.

Rob: Thank you

Gary: Then for the pull request the resolution is for me to look over it and merge after approval.

Rob: Gary, if there's change to be made on the wording I'm happy to work with you to get that resolved and complete this.

Gary: Thank you Rob

Resolution: Gary to do final Editorial pass and merge

TPAC 2021

Nigel: TPAC dates have been circulated; TPAC will be virtual, and be held from 18-29 October.
… The week from 25 to 29 October will be dedicated to the Joint and Group meetings.
… The question for us is: Do we wish to meet?
… We have until 10 September to declare meeting dates.
… I think we do have some agenda points for joint meetings or a group meeting that we wanted to cover over the past couple of years
… but never got around to.

Gary: Last year we wanted to meet with CSS WG but forgot to confirm that.

Nigel: Yes.
… On a personal level, the timing is terrible for me this year!
… We have some time, but I wanted to give plenty of notice.
… If anyone does have any agenda topics for a meeting in October, do let me and Gary know.


Cyril: A quick update.
… As you know, MPEG is working on an amendment to 14496-30. The initial purpose of the amendment
… was to clarify terminology around TTML. Specifically it is not always clear how to package TTML in an MP4 track,
… if the document is longer than the sample in which it is contained, for example.
… So the clarifications are those we discussed some time ago.
… It is progressing well. The changes since last time are additions of more examples.
… You should have access to the documents but if not then I will share with you.
… We're adding more examples where we detail first typical use cases, how the ISDs are created and then how they are
… packaged into MP4 samples and presented. What we've clarified in the latest round is, with respect to IMSC 1.1 and its HRM,
… the HRM in IMSC indicates how it works on a document, so you take the sequence of ISDs and apply the HRM on that sequence.
… We're proposing to extend the HRM to all the ISDs produced by the entire track of documents, as an extension.
… We're recommending behaviour when the last ISD of a sample is the same as the first ISD of the next sample, avoiding flickering for example.
… That's it for TTML for example.

Nigel: I'd like more information on how to access the document, if you're able to help with that, bearing in mind the liaison we have.

Cyril: I will work offline on that, alongside Mike Dolan.

Nigel: Was there any consideration about how to apply edit lists?

Cyril: Nigel, your colleague Stephen supplied some comments and he was right. We're working on changes for that.
… For all the operations on clipping, imagining the TTML document needs clipping to the time interval of a sample, the question is what
… timeline do you use. The agreement was that it is the composition time before the edit list is applied. Then the edit list puts that on the timeline.
… Concrete example. TTML document 0s - 10s. Sample interval 2s - 5s.
… That's the sample's composition time interval.
… So you display only part of the document.
… Then the edit list shifts this sample to 0s.
… The first thing that will be presented in this case is the content of the document from 2s - 5s which is presented beginning at time 0s.
… We think this is applicable to WebVTT as well, the same clarification to use composition time instead of presentation time.

Nigel: That's really good, thank you.

Cyril: Moving on to WebVTT. There was a contribution and the document proposed changes to the carriage of WebVTT to cover
… the carriage of indefinite cues.
… There are two aspects. Firstly the draft was not completely clear and more improvements will be needed.
… In particular we have two tools to indicate an indefinite cue.
… 1. Sample duration = 0 means "indefinite cue" but it is only allowed as the last sample in the track.
… When you're producing live WebVTT and packaging it you won't know when the last sample will be so you cannot use it, or you use it
… all the time and have plenty of samples with duration zero which is not allowed in the spec.
… 2. The sample has a definite duration, e.g. valid for at least 2s, so you put that as the duration and after that you extend the duration
… of the sample by marking it as redundant and having a duration that is 2 additional seconds, and you keep sending that until something
… changes, or the end of the presentation.
… There is no strong recommendation yet to use that. The discussion is ongoing.
… It is all based on the assumption that there is a way in WebVTT to identify an indefinite cue.
… To my knowledge there is no syntax yet to indicate indefinite cue duration, and it's a hard problem if you consider backwards compatibility.

Nigel: Right!

Rob: Can I ask what is the definition of an indefinite cue?

Cyril: Good question. How is it defined in HTML and the WebVTT JS API?

Gary: It's another word for "unbounded"

Cyril: OK replace indefinite with unbounded.

Glenn: It's a term from SMIL and we use it in TTML to refer to a duration with no specific end.

Rob: Thank you.
… So then I think w3c/webvtt#496 is relevant to this.

WebVTT Unbounded Cue Use Cases w3c/webvtt#496

Rob: I'm an Invited Expert and Chair the Web Video Map Tracks (WebVMT) Community Group
… and have been working on WebVMT based on WebVTT but designed to express location,
… and has expanded to cover metadata. Particularly location-aware video devices with sensors on them.
… The unbounded cue idea I proposed here was to address the live capture use case that I was considering for WebVMT.
… There's been some work done proposing a syntax which could be ported back to WebVTT, because the text track cue structure
… is shared between WebVTT and WebVMT. There have been discussions about recording sensor values and interpolating them between
… time samples, and handling discontinuities, which all seem relevant, so it might be worth having a discussion about that at some stage.
… I can post a link to last year's TPAC discussion which probably summarises this fairly well, and also feeds into issue 496 which I raised,
… and welcome feedback on that.

<gkatsev> unbounded webvtt cue syntax use cases and discussion w3c/webvtt#496

Chris: My question follows from what Rob was just saying.
… It seems that we have a number of different constituencies that are interested in this.
… Rob with WebVMT, WebVTT with unbounded cues in MPEG4, and in the Media Timed Events IG, emsg boxes,
… and those can have unbounded duration as well. In the last meeting that we had there,
… Nigel suggested that we ought to do a use case and requirements gathering so that we understand what
… problem we are trying to solve when we make syntax changes.
… My question is where do we want the home for that discussion to be?
… Following on from that I would like a clear definition of the precise questions.
… My proposal is to take this on under the MEIG Timed Events activity
… so what I've tentatively done is put it on the agenda for the next MEIG call which will be on
… May 11, Tuesday, the purpose of which is to introduce the topic to MEIG more generally and
… then use that to identify who needs to be involved in the discussion and point people towards that timed events activity.
… I wanted to ask if you think that's a good approach.

Nigel: I think that's a good idea, yes.

Nigel: Regarding specific questions, there's backwards compatibility. MPEG4 has an approach where you can keep extending. That's similar to the TTML approach. At least one proposal out there relies on a particular error condition behaviour, so it's not clear what the backwards compatibility story is. Need to establish what's acceptable.

Gary: I agree with Nigel, I think discussing in MEIG is a great place.
… For now, if anyone has specific comments, putting it in webvtt issue 496 would be good to keep things in one place until we decide
… there's a better place.
… I agree that backwards compatibility is important and we need to figure out what behaviour we want and if we also want forwards compatibility.
… For example the current proposed syntax of not having end time is technically backwards compatible but old clients just won't see those
… cues. They won't break but it is not necessarily good behaviour.
… In addition, any syntax change is going to be hard because we need to gauge implementer interest.
… In recent years they have been very reluctant. If noone wants to implement then is there really any point in doing this?

Chris: That's great, due to time I didn't want to go into too much tech detail. This is the conversation I hope we can have.

Rob: There are existing solutions to this using bounded cues as opposed to unbounded ones and they still work so if there is an
… issue with backwards compatibility the user already has the choice to use those existing structures.

Meeting close

Nigel: We're a few minutes over, and we've covered all the agenda and more today. So thank you everyone, we're adjourned for today.
… [adjourns meeting]

Summary of resolutions

  1. Gary to do final Editorial pass and merge
Minutes manually created (not a transcript), formatted by scribe.perl version 131 (Sat Apr 24 15:23:43 2021 UTC).