IRC log of tt on 2020-07-02

Timestamps are in UTC.

15:00:50 [RRSAgent]
RRSAgent has joined #tt
15:00:50 [RRSAgent]
logging to https://www.w3.org/2020/07/02-tt-irc
15:00:53 [Zakim]
RRSAgent, make logs Public
15:00:53 [Zakim]
Meeting: Timed Text Working Group Teleconference
15:02:44 [nigel]
Agenda: https://github.com/w3c/ttwg/issues/124
15:02:48 [nigel]
scribe: nigel
15:03:05 [nigel]
Previous meeting: https://www.w3.org/2020/06/25-tt-minutes.html
15:04:03 [nigel]
Present: Cyril, Gary, Pierre, Nigel
15:04:08 [nigel]
Chair: Gary, Nigel
15:04:23 [cyril]
cyril has joined #tt
15:04:33 [nigel]
Present+ Andreas
15:04:36 [nigel]
Topic: This meeting
15:05:08 [nigel]
Present+ Atsushi
15:05:15 [nigel]
Nigel: Today we have 3 main topics.
15:05:16 [atai]
atai has joined #tt
15:05:25 [nigel]
.. 1. IMSC 1.2, not sure if there's a lot we can cover
15:05:38 [nigel]
.. 2. TTML2 2nd Ed
15:05:46 [nigel]
.. 3. TTML Profile Registry
15:05:57 [nigel]
.. Is there any other business, or points to make sure we cover during those?
15:06:09 [nigel]
Cyril: Yes, as an AOB we could discuss what happened at MPEG and the issue raised about
15:06:16 [nigel]
.. the notion of empty documents, as an FYI maybe.
15:06:44 [nigel]
Topic: IMSC 1.2 ARIB liaison response
15:06:59 [nigel]
Nigel: I haven't had time to collate our thoughts into a draft liaison response yet.
15:07:09 [nigel]
.. Not aware of any other points to discuss on this issue?
15:10:00 [nigel]
Topic: TTML2 Implementation Report
15:10:12 [nigel]
Cyril: I have an action to check the details of the IR are correct, but the other thing to note
15:10:23 [nigel]
.. is that we will need implementations.
15:10:33 [nigel]
Nigel: We have one, but only for one presentation feature, at the moment!
15:11:07 [nigel]
.. I had the impression that the TTT tool will be updated to pass all the validation tests?
15:11:16 [nigel]
Cyril: Yes, but the timeline might be a bit far.
15:11:32 [nigel]
Nigel: Right, others are welcome of course.
15:11:46 [nigel]
Topic: CSS font-matching algorithm may introduce fingerprinting issues w3c/ttml2#1202 (PING review)
15:12:11 [nigel]
Nigel: Just an FYI that Sam Weiler did contact me, and the action is with me to look for a time
15:12:21 [nigel]
.. when interested parties can have a discussion to try to resolve the issue.
15:12:36 [nigel]
.. I plan to issue a doodle or similar to try to find such a time.
15:12:52 [pal]
pal has joined #tt
15:12:58 [nigel]
.. Anyone who wants to join that, please do let me know - I imagine at least Pierre and me.
15:13:01 [nigel]
Pierre: Yes, of course.
15:13:52 [nigel]
Nigel: I don't think there's much more to say on this topic at the moment - Andreas made
15:14:03 [nigel]
.. some really helpful suggestions on the github issue, but I don't think they added any
15:14:12 [nigel]
.. normative language, and that seems to be the sticking point with Sam at the moment.
15:14:23 [nigel]
Topic: TTML Profile Registry
15:14:46 [nigel]
Nigel: Editor Glenn has stepped down as Editor, and I've stepped up just to fill the gap,
15:14:55 [nigel]
.. but would be very happy if anyone else wants to volunteer.
15:15:11 [nigel]
.. I take the hint from Cyril that we can consider all of our documents to be joint ventures.
15:15:49 [nigel]
.. Mike Dolan remains an Editor also.
15:16:07 [nigel]
.. I want to flag up that we would like to discuss the infamous long-standing issue 71, and
15:16:14 [nigel]
.. Mike can join us on the call next week for that.
15:18:54 [nigel]
.. [summarises issue as being about the + and | operators in the codecs parameter not being defined]
15:19:00 [nigel]
.. Two main decisions:
15:19:11 [nigel]
.. 1. How to define - do we need to reference something in TTML2 or not?
15:19:23 [nigel]
.. (and if in TTML2 what if that means a change to TTML2)
15:19:38 [nigel]
.. 2. Where to define - in the current registry text or elsewhere in the document.
15:19:51 [nigel]
.. This has implications about needing to update our registration with IANA or not.
15:20:27 [nigel]
-> https://github.com/w3c/tt-profile-registry/issues/71 w3c/tt-profile-registry#71
15:21:01 [nigel]
Cyril: It would be easy to discuss if we had a concrete text but I don't know if I will have
15:21:04 [nigel]
.. time to produce the text.
15:21:48 [nigel]
Nigel: Yes, though we may need to understand where the likely area of consensus will be first.
15:22:15 [nigel]
Cyril: Regrets from me for next week and the week after - but please do proceed without me.
15:22:50 [nigel]
Topic: AOB - MPEG
15:23:00 [nigel]
Cyril: MPEG has been virtually meeting this week.
15:24:00 [nigel]
.. I'll paste a link to the discussion that started this AOB.
15:24:01 [cyril]
link https://github.com/MPEGGroup/CMAF/issues/9
15:24:21 [nigel]
s|link https://github.com/MPEGGroup/CMAF/issues/9||
15:24:30 [nigel]
-> https://github.com/MPEGGroup/CMAF/issues/9 CMAF issue
15:24:37 [nigel]
Cyril: This may affect TTML and WebVTT.
15:25:00 [nigel]
.. In CMAF there is a duration, and it is common for there to be no subtitles at some times,
15:25:06 [nigel]
.. especially at the end, e.g. during the credits.
15:25:18 [nigel]
.. You have to do some padding, but you can also ask the same question between subtitles
15:25:30 [nigel]
.. especially in live cases. When you have no subtitle content for some period, what should be delivered?
15:25:48 [nigel]
.. In ISO there are 3 specs involved: CMAF, ISOBMFF and MPEG-3 Part 30.
15:26:01 [nigel]
.. There is a tool in ISOBMFF called duration is empty, which allows you to say there is no
15:26:22 [nigel]
.. sample in an MPEG-4 segment. It's not explicitly allowed or disallowed in either Part 20 or CMAF.
15:26:36 [nigel]
.. There's a practice where most people use empty documents when there is no content to
15:26:48 [nigel]
.. be streamed. This has been documented as a possibility in MPEG-4 Part 30.
15:26:55 [pal]
q+
15:27:00 [nigel]
.. The issue raised is if it should be a recommendation in CMAF.
15:27:12 [nigel]
.. The discussion is ongoing and MPEG welcomes feedback on how people should do it.
15:27:30 [nigel]
.. My opinion is that if the industry uses empty documents probably we should go for that.
15:27:46 [nigel]
.. But in terms of design it would be better to use the duration is empty flag. If you have a
15:28:02 [nigel]
.. subtitle generator followed by a packager followed by a DASHer, then the DASHer part
15:28:13 [nigel]
.. should not need to know the flavour of subtitle format used, ideally. It may not be how
15:28:14 [atai]
q+
15:28:18 [nigel]
.. it is implemented in many workflows.
15:28:22 [nigel]
ack pal
15:28:34 [nigel]
Pierre: As a data point, in IMF, an upstream master format, there is a requirement to use
15:28:41 [nigel]
.. filler timed text documents, presumably empty.
15:28:42 [nigel]
q+
15:28:54 [nigel]
Cyril: I thought there was one single document in IMF
15:29:05 [nigel]
Pierre: No, there can be any number but there can't be a part of the timeline with no document
15:29:08 [nigel]
.. associated with it.
15:29:21 [nigel]
.. I have seen people put in dub cards and associated an empty document, but I've also
15:29:31 [nigel]
.. seen people point to an empty part of an existing document. Both are permitted.
15:29:42 [nigel]
Cyril: That would be an interesting data point for the MPEG issue.
15:29:58 [nigel]
Pierre: It's a slightly different issue for masters, but the lesson is that defining at the package
15:30:11 [nigel]
.. level the absence of essence is ambiguous because, what is video black? There is not one
15:30:23 [nigel]
.. definition of that. The decision, heavily influenced by it being a master format, is that
15:30:36 [nigel]
.. you cannot have empty essence tracks at any point in the timeline, to remove any ambiguity.
15:30:49 [nigel]
Cyril: I understand and agree. It makes sense. The context may be different in the streaming
15:30:56 [nigel]
.. context, where there may be absence of things.
15:31:15 [nigel]
Pierre: Yes, and consumers may not mind so much about black picture or audio artefacts at boundaries.
15:31:25 [nigel]
.. What is the objection to having empty documents, technically?
15:31:45 [nigel]
Cyril: It highly depends on the workflow, right. In MP4Box, the way it is architectured, the
15:31:56 [nigel]
.. DASHing part is completely media unaware. Having to know that you are DASHing
15:32:03 [nigel]
.. TTML and having to create an empty document for that.
15:32:08 [nigel]
Pierre: How would that work with video?
15:32:21 [nigel]
Cyril: Same thing. When you DASH and are missing something you could use duration is empty.
15:32:30 [nigel]
Pierre: Is that what MP4Box uses today, for video?
15:32:40 [nigel]
Cyril: The question was never raised because you don't have gaps in your timeline. The
15:32:43 [nigel]
.. streams are not sparse.
15:32:58 [nigel]
Pierre: Again when you get to dub cards, audio can be sparsed. Historically people have
15:33:10 [nigel]
.. chosen not to do that.
15:33:13 [nigel]
ack atai
15:33:29 [nigel]
Andreas: Question: I thought in part 30 the usage of an empty doc as a filler is mandatory.
15:33:34 [nigel]
Cyril: No, there's a "may".
15:33:53 [nigel]
Andreas: OK, I think we (IRT) always recommended to use it when we worked with streaming
15:34:06 [nigel]
.. encoder and packager manufacturers. We would say they should use an empty document.
15:34:20 [nigel]
Cyril: Just to respond to that, it makes sense if the authoring system provides empty documents.
15:34:31 [nigel]
.. I wrote in the issue, and Nigel commented on it, that it would be weird for the authoring
15:34:40 [pal]
q+
15:34:42 [nigel]
.. system to provide heartbeat empty documents when there is no content, but it seems
15:34:46 [nigel]
.. I was wrong.
15:34:59 [nigel]
Andreas: I know that TTML does a lot of things in MP4 that are really different, and how
15:35:07 [pal]
q-
15:35:08 [nigel]
.. WebVTT is used is more common to how MP4 tracks are built.
15:35:29 [nigel]
.. In the EBU Tech3381 spec there is some clarification on part 30 that may be helpful for EBU-TT-D.
15:35:44 [cyril]
q+
15:35:44 [nigel]
.. An empty document is defined. But it doesn't say it must be used.
15:36:00 [nigel]
.. One last question: is it possible to use 2 options, duration zero and an empty document
15:36:10 [nigel]
Cyril: I don't think it is possible.
15:36:13 [nigel]
q?
15:36:17 [nigel]
ack nige
15:36:47 [nigel]
Nigel: Tech3381's empty document is defined as "a processor must be able to accept" or
15:37:05 [nigel]
.. similar wording - I think in a formal sense that empty document is not conformant to EBU-TT-D.
15:37:09 [nigel]
.. Just a side note.
15:38:12 [nigel]
.. On the point of defining content that the DASHer can use while being type-unaware,
15:38:21 [nigel]
.. how does it handle init segments now?
15:39:38 [nigel]
Cyril: Just describing MP4Box, there is an import phase that is media aware, and it creates
15:39:52 [nigel]
.. an init segment once. Then the DASHer is copying things over without looking at the media
15:39:54 [nigel]
.. any more.
15:40:09 [nigel]
.. To the question about an empty segment, yes, while being media unaware, the DASHer
15:40:23 [nigel]
.. could architecturally have a way to deliver empty documents. That is an option.
15:40:42 [nigel]
.. I'd like to come back to the point about empty EBU-TT-D documents. Did I understand
15:40:52 [atai]
q+
15:41:08 [nigel]
.. that there are different views of what an empty TTML document is?
15:41:09 [cyril]
ack cyril
15:41:21 [nigel]
Nigel: Clearly yes in the sense that there are any number of documents you can construct
15:41:36 [nigel]
.. that have no presentational effect, for example those just containing metadata.
15:41:55 [nigel]
.. Specifically in EBU-TT-D there is a cardinality constraint so that body must contain
15:42:02 [nigel]
.. at least one div and div must contain at least one p.
15:42:21 [nigel]
.. That means that the conformant way to generate an empty document is to have no body.
15:42:35 [nigel]
.. But I know one encoder that doesn't do this, it puts out an empty div.
15:43:13 [nigel]
Cyril: It could crash a player?
15:44:20 [nigel]
Nigel: I don't know, that's part of the issue, but it's conformant EBU-TT-D so a player should
15:44:29 [nigel]
.. be able to deal with a document with no body.
15:44:47 [nigel]
Pierre: We should call the "empty" document a "minimal" one!
15:44:51 [nigel]
q?
15:44:53 [nigel]
ack at
15:45:09 [nigel]
Andreas: The reason we defined the empty document in Tech3381 is because part 30 is unclear about it.
15:45:28 [pal]
q+
15:45:29 [nigel]
.. It is clear that anybody else not using EBU-TT-D may make their own interpretation of an empty document.
15:45:47 [nigel]
.. In 3381 we clearly said what an empty doc is, I'm not sure exactly about conformance with EBU-TT-D.
15:45:58 [nigel]
.. The other point is that Tech3381 is referenced by HbbTV for DASH, so there may be
15:46:08 [nigel]
.. other standards that refer to that definition of an empty document.
15:46:27 [nigel]
Cyril: Yes, the question is not to remove it, but maybe to document it clearly in CMAF, if it is the practice in use.
15:46:40 [nigel]
Andreas: I know streaming encoders use it, maybe not all of them, but definitely some of them do it.
15:46:43 [cyril]
q+
15:46:43 [nigel]
ack pal
15:47:00 [nigel]
Pierre: I like the idea of being unambiguous. The other thing I wanted to suggest is,
15:47:11 [nigel]
.. what about MPEG actually formally asking TTWG for an opinion?
15:47:22 [nigel]
.. They could propose a spec to TTWG and ask for an answer.
15:47:37 [nigel]
Cyril: I suggested liaising with different entities, and they could include W3C, for sure.
15:47:51 [nigel]
Pierre: In the past I've seen MPEG just do something, making a quick decision, but in this case,
15:47:57 [nigel]
.. maybe we should try something different.
15:48:08 [nigel]
Cyril: That's why I brought it here and brought Nigel into the tickets.
15:48:21 [nigel]
Pierre: If you need help in MPEG taking time to do this well then I'm happy to help.
15:48:24 [nigel]
.. It is not a simple topic.
15:48:37 [nigel]
Cyril: Feel free to raise any point you think is difficult to handle in the ticket; that will give
15:48:43 [nigel]
.. me arguments to say we should take our time.
15:48:59 [nigel]
.. I have one other small point about TTML in MP4, related to the MPEG meeting.
15:49:10 [nigel]
.. Mike Dolan came with a contribution about the use of TTML in DASH, possibly in the
15:49:25 [nigel]
.. context of ATSC, indicating that it is ambiguous how to create MP4 segments containing
15:49:30 [nigel]
.. TTML, with respect to timing.
15:49:42 [nigel]
.. We had discussions about the DASH media presentation timeline, the period timeline,
15:50:00 [nigel]
.. and the MP4 presentation timeline. Overall I think we agreed, and Steve Perrot from BBC
15:50:12 [nigel]
.. gave an example, of how it should be working. We noticed something suboptimal in
15:50:17 [nigel]
.. the MP4 spec, Part 30:
15:50:40 [cyril]
The top-level internal timing values in the timed text samples based on TTML express times on the track presentation timeline – that is, the track media time as optionally modified by the edit list. For example, the begin and end attributes of the <body> element, if used are relative to the start of the track, not relative to the start of the sample. This is shown in the figure below, using W3C TTML syntax
15:50:43 [nigel]
s/Steve Perrot/Stephen Perrott
15:51:25 [nigel]
Cyril: The reason this was written this way is two-fold.
15:51:43 [nigel]
.. I think, timing values when they're nested in time container are relative to the parent
15:51:45 [nigel]
.. container?
15:51:50 [nigel]
Nigel: Depends on the value of timeContainer.
15:51:53 [nigel]
Cyril: par and seq?
15:51:56 [nigel]
Nigel: Yes
15:52:16 [nigel]
Cyril: We thought only the top level is significant. But times can be on the body, div, p, span etc.
15:52:39 [nigel]
.. The second sentence with the example about body refers to a figure that does not have
15:53:07 [nigel]
.. timing on body, so we have raised a defect report. Do you think we have a better way
15:53:09 [nigel]
.. to say the first part?
15:53:30 [nigel]
Nigel: I would say that the computed times on TTML elements are on the track presentation timeline.
15:53:52 [nigel]
.. In other words, don't delve into the time computation algorithms defined in TTML, but just
15:53:57 [nigel]
.. reference the resulting values.
15:56:07 [nigel]
.. You could also say that the media timebase coordinates are coincident with the track presentation timeline.
15:56:20 [nigel]
.. Also top level timings are not only on body but also region.
15:56:35 [nigel]
Cyril: Individuals can propose wording but a proposal from TTWG would be good.
15:57:01 [nigel]
Nigel: I'm sure we could try to do that, but MPEG should come and ask us.
15:57:22 [nigel]
Cyril: Yes, but we could liaise to say "we've been made aware, here's an answer". I know it's not good practice.
15:57:52 [nigel]
Pierre: Bad things have happened from this in the past!
15:58:01 [nigel]
Cyril: We have a big overlap here with MPEG membership.
15:58:14 [nigel]
Andreas: I would support what Cyril says, to try to help solve the problem regardless of
15:58:22 [nigel]
.. the best formal practice.
15:58:34 [nigel]
Pierre: The reason I am resistant is not because I don't want to offer a good solution.
15:58:45 [nigel]
.. Rather, if we offer a solution as TTWG, then we will need to be there in person at some
15:58:58 [nigel]
.. impossible time at some point in the future to defend that input. If we are not willing to
15:59:04 [nigel]
.. do that, then it's not going to happen!
15:59:27 [nigel]
Cyril: Honestly, this will be people known to this group.
15:59:42 [nigel]
.. For example Mike has a view on this, and we could invite him here.
15:59:48 [nigel]
Pierre: That would already be a lot better.
16:00:35 [nigel]
Nigel: This is really important for us, thank you for raising it.
16:00:55 [nigel]
Cyril: If I'm not here next week, it would be good to ask Mike about this too.
16:01:02 [nigel]
Pierre: Can you summarise this all?
16:01:13 [nigel]
Cyril: We will write it as a defect report. I will ask if it can be public.
16:01:28 [nigel]
Pierre: I encourage you to ask it to be forwarded to TTWG so people are aware this is happening.
16:01:31 [nigel]
Cyril: I will ask. Thank you.
16:01:36 [nigel]
Pierre: Thanks for bringing this up.
16:01:42 [nigel]
Nigel: Thanks from me too.
16:01:46 [nigel]
Topic: Meeting close
16:02:18 [nigel]
Nigel: We're out of time today, thanks everyone. See you next week if you can make it! [adjourns meeting]
16:02:22 [nigel]
rrsagent, make minutes v2
16:02:22 [RRSAgent]
I have made the request to generate https://www.w3.org/2020/07/02-tt-minutes.html nigel
16:18:49 [nigel]
s/Editor Glenn has/Glenn has
16:20:19 [nigel]
s|CMAF issue|CMAF issue: Explicit Padding of Subtitles and Timed Text tracks to comply with CMAF track/CMAF presentation model
16:21:09 [nigel]
s/duration is empty/duration-is-empty/g
16:22:40 [nigel]
s/duration zero and an empty document/duration-is-empty and an empty document
16:23:48 [nigel]
s/deal with a document with no body./deal with a document with no body. I agree this is a player question primarily.
16:31:16 [nigel]
rrsagent, make minutes v2
16:31:16 [RRSAgent]
I have made the request to generate https://www.w3.org/2020/07/02-tt-minutes.html nigel
16:32:28 [nigel]
scribeOptions: -final -noEmbedDiagnostics
16:32:31 [nigel]
zakim, end meeting
16:32:31 [Zakim]
As of this point the attendees have been Cyril, Gary, Pierre, Nigel, Andreas, Atsushi
16:32:33 [Zakim]
RRSAgent, please draft minutes v2
16:32:33 [RRSAgent]
I have made the request to generate https://www.w3.org/2020/07/02-tt-minutes.html Zakim
16:32:36 [Zakim]
I am happy to have been of service, nigel; please remember to excuse RRSAgent. Goodbye
16:32:40 [Zakim]
Zakim has left #tt
16:33:11 [nigel]
rrsagent, excuse us
16:33:11 [RRSAgent]
I see no action items