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