Timed Text Working Group Teleconference

08 June 2023


Andreas, Cyril, Nigel, Pierre
Atsushi, Gary

Meeting minutes

This meeting, plus Chair news

Nigel: Gary sent his regrets for today - he's actually no longer at Mux, and is having to step
… away from W3C work for the time being, so the de facto status is we have one Chair at this moment.
… Agenda for today:
… DAPT, including a demo from Cyril
… also still on the agenda I retained the fontVariant discussion topic, and TPAC planning, in case we want to cover those
… Is there any other business?

no other business


Nigel: Looking at the responses to the CfC to transition to CR,
… I see 2 approvals, 0 objections, so I declare we have consensus.
… The Pull request at w3c/imsc-hrm#59 has 2 positive reviews, no requests for change.
… (different reviewers than those who responded to the CfC)

RESOLUTION: Transition IMSC-HRM to Candidate Recommendation

Nigel: We now need Atsushi's help to make that happen, I think.
… Is there anything else to say on this, aside from thank you to everyone for your input on this?

Pierre: Thank you Nigel, on my todo list is creating the tests and a draft call for content that we should send around.

Nigel: Sounds good

Pierre: I can have that done for the next meeting.
… Do you have any specific input?

Nigel: I don't, right now, I'll review though!

Pierre: Of course! But anything else a priori?

Nigel: I'd just be calling for content and/or implementations.

Pierre: Of course, yes.
… We should probably do a more generic call and then a specific focused call to media companies who may not have implementations.

Nigel: We need to demonstrate implementation so we should be clear that their responses can be held private,
… and that we are interested to know the tools used to create the content.

Pierre: They're only interested in the content they generate. We shouldn't over complicate this.

Nigel: If it turns out they have common authoring tools we would want to know that.

Pierre: I would not make that compulsory because it would put them off.
… If we make it hard for non-technical people to respond then they will not respond.
… If we need to go to vendors and figure out what was used, we aren't going to bother.
… It will be hard enough to get content, without the actual workflow as well.

Andreas: If it is not really needed for exit criteria then I would say it is voluntary information.
… If there are 2-3 authoring tools that should be sufficient for complying with the exit criteria.

Nigel: That's why I'm making this point: I think it is necessary for the exit criteria
… We should allow people to provide content for our inspection.
… The alternative is to ask providers to give us the results of running the HRM on their content, they
… don't have to show us the content at all.

Andreas: Re the authoring tools, if you ask for content you could just say that we are happy to receive
… information about the authoring tool if it is available. I don't think you would go a second time to ask them again.
… If providers have a single chain, common in Germany, and they have the information, then they can provide it.

Nigel: checking our exit criteria, I agree, since we only need >=1 content implementation + >1 validating implementation,
… or >=2 validating implementations, we don't actually need multiple content implementations, minimally.
… It would be nice to have.
… I think we're in agreement now, we just need to know there's at least 1 authoring tool out there.

Pierre: Yes.

Nigel: Any more?

Pierre: No, thanks for the discussion.

Nigel: This is why we're here!


Nigel: I presented DAPT work to the MEIG on Tuesday

MEIG minutes 2023-06-06

Nigel: It was useful I think.
… I also will be presenting it to the EBU Access Services Experts plenary on Friday next week.

Slides for next week's presentation

Nigel: I'm regarding this as part of the Wide Review invitation work.
… But I still have on my to do list requesting HR and WR from liaisons and others.
… We still have CR must-have issues open.

Cyril: I was reading the minutes from the MEIG meeting. Kaz asked about the ordering of words in Japanese
… translations - he asked how to deal with word order difference. Did you answer that?

Nigel: Yes, I did.

Cyril: His point is about the structure of the language. I can show you an example.

Netflix TTAL <⟶ DAPT round tripping

Cyril: [shares screen]
… As you know Netflix has been working on the TTAL language and is standardising it,
… and the idea is to demonstrate that lossless roundtripping with DAPT can be done.
… The code I wrote is not yet open source, I'm thinking about open sourcing it.
… It would help e.g. a tool vendor that supports TTAL already to use as a front-end to convert XML to JSON
… with low effort.
… Similarly if they produce JSON they could use JSON → XML conversion to deliver the standard XML to
… streaming services like Netflix.
… I can show you some inputs I have been using.
… [shows a TTAL JSON extract from a movie]
… Lots of proprietary information
… You can see frame based start and end timing, annotations etc.
… in XML [shows an equivalent DAPT XML document]
… metadata, styling, layout and events
… begin, paragraphs that contain text, with daptm attributes, here showing the original language.
… This is work in progress.
… There's some Netflix proprietary information in nttm namespace, Netflix's own.
… I'm looking to see if anything needs to be mapped to daptm that is not yet mapped.
… One of them is the original language - we carry that even if there's no event in that language.
… [shows another example of DAPT for a different movie]
… This is Japanese, translation, but it doesn't say the original language anywhere.
… That may be an extension to consider. I will file an issue.
… I had no particular issue converting TTAL JSON to DAPT and back.
… Small details maybe.
… For example, looking at metadata, I used the ebuttm:sourceMediaIdentifier element we reference in the spec.
… I wonder if this is the right way to do it.
… For example we have lots of Netflix-specific internal metadata like movieId, packageId, runtime, those three
… are relevant to the source media identifier.
… Can we extend the ebuttm metadata? Are there any restrictions in EBU about this?

Andreas: I think we had this discussion in the EBU and we need to check on the EBU-TT Metadata spec,
… but as far as I remember it is completely free to extend with non-EBU namespace attributes.

Cyril: Is there a validator for EBU-TT documents?

Nigel: There are XSDs.

Cyril: Are there prohibitions on extensions?

Andreas: Nigel and I would need to check, but for validation we say that foreign namespace entities are
… pruned prior to validation.

Cyril: The other one is I used ebuttm:documentOriginalProgrammeTitle, and for others I used the
ebuttm:documentOriginalEpisodeTitle but I wondered if there is metadata for season number and episode number?

Andreas: I can't remember

Nigel: I don't think so but I'd have to check
… I would not be surprised if the TV-Anytime spec defines entities for that data though.

Cyril: OK, back to the examples.
… We have agent with corresponding actor
… Styling is basic
… For every event we have...
… A question: We have several ways to provide annotations in DAPT.
… One is a desc element with a daptm:type attribute, another is a daptm:eventType so it could be an
… element or an attribute.
… I would like to be tighter on recommendations for how people use these annotation mechanisms.
… Also, we have spans that control the timing of words inside events - that's the concept of adapting
… the display for speech recording.

Nigel: This came up in the MEIG and I realised that we appear to say nothing about putting times on
… spans in the spec, and I think we probably should.
… At least I could not see it on a quick hunt.

Cyril: OK, I think this was the issue raised by Simon from YellaUmbrella.
… Maybe it's only in an example. Yes, here in Example 10.

Nigel: I'd like to be more explicit about that.

Cyril: Yes, maybe.

Nigel: I will raise that.

Cyril: Here's a "dialog list" where the original language text is present.
… Here in another example we have both original and translation text in the document.
… We have inline styles that match in both languages, a word in italic in Korean and also the equivalent in English.

Nigel: For ideographic languages that may not use italics for emphasis, do you need to identify
… that some kind of emphasis is present on text in all the languages in the event?

Cyril: I don't know, possibly.
… Another interesting feature is text spoken by 2 characters.
… Two values are present in the ttm:agent on the div, but the text is present once.
… Here for a Japanese example I'm using itts:forcedDisplay from IMSC.
… Maybe worth mentioning in the spec.
… The idea is that when you produce a dub you know what is not going to be translated and what should
… remain as forced narrative.
… A by-product of creating the dub is to identify the non-translated text.
… Then what's really nice is when you use Pierre's imsc.js example renderer,
… which has different colours and positions for different speakers, but you can tick the "forced narrative"
… box and see only the forced narrative ones.
… Any event in the DAPT script that is not meant to be voice recorded, but dubbed, will end up as forced narrative.
… For example in the original show you have text on the screen in the original language.
… The dubbing actor will not speak that, but the transcriber has identified it.
… Anything that will not be dubbed will have to be in the forced narratives.
… Is that clear?

Nigel: I need to think about it, I think so. Interesting!

Cyril: The last thing I want to demonstrate is audio description.
… In this example, without speak and rate, just text, there's a "narrator" character.
… We identify in Netflix proprietary metadata the voice, the engine, the vendor and the gender.
… And the language.

Nigel: Do you ever have an agent with a different language from the text?

Cyril: Maybe a French agent would pronounce English with a French accent. I will check.
… Here's an example with SSML, where there's prosody that can be mapped onto tta:rate but there's also
… phoneme information on how to pronounce the word cobra, and I don't know how to map that to DAPT yet.
… If I use the phoneme element, how does it work? In TTML what happens?

Nigel: The foreign namespace element would be pruned for validation.

Cyril: If we want to keep this then we would need to replace the SSML content with attributes or something, right?

Nigel: Not necessarily.
… We could define a behaviour for SSML content if we wanted processing of SSML namespace elements to
… do something.
… Or as in the ticket (#121) we could adopt an attribute-style approach.
… We have choice and I don't know which is right.

Cyril: The first choice means modifying the semantics of TTML in the context of DAPT.
… In imsc.js I think, the word cobra would probably not be rendered.
… I would like to be backwards compatible with TTML renderers for that. I don't know, to be discussed.

Andreas: The foreign namespace elements are pruned for validation but not for processing.
… For validation, foreign namespace vocabulary is ignored.
… For processing, everything would be in. Of course a presentation processor would not know what
… to do with unknown vocabulary. Either the processor knows SSML and how to render it,
… or you want TTML presentation and in that case it makes more sense to translate it to TTML vocabulary.

Cyril: Let's continue the conversation in #121.
… I ran it on several pieces of content, with no particular issues.
… One that I did open is #146 for signalling frame rate where we don't mention ttp:frameRateMultiplier.
… I agree it can be a note not normative language.
… The other one is #147 - the spec currently says that there can be multiple metadata elements.
… Being able to identify which metadata element is the one you need for DAPT is useful, because otherwise
… you have to parse everything and later ignore the ones you don't want.
… I think we could have a daptm:metadataType that signals that the metadata contains only DAPT stuff.
… The rest should be ignored.

Nigel: That's interesting, I need to think about that.

Cyril: That's it, I will keep iterating on this representation trying to see what needs to be put in the
… document in terms of vocabulary from a Netflix point of view, what we need a standard mapping for.
… I will try to make this code open source.

Nigel: That's brilliant, thank you.

Cyril: We probably already have a first implementation for the exit criteria.

Nigel: And we also have a presentation implementation which needs bringing up to date -
… that's the BBC's Adhere.

Adhere demo

Cyril: It would be great if I could give it content and it would render it!

Nigel: It was made originally for TTML2 and ADPT, so it ought to work, but I haven't tested it with DAPT
… content yet.
… Interested to know if it does work!

Nigel: Thank you for that Cyril, I noted a couple of actions to raise issues, in the minutes.

TPAC 2023 planning

Nigel: From where we are, it looks clear to me that DAPT will be on the agenda.
… I'm not sure in what form - maybe we will be up to having a plug-fest?
… Being in Europe, there may be interested folk around.

Pierre: The other topic that might benefit from an in-person meeting, maybe not best in Europe,
… is trying to converge IMSC and ARIB-TT. Maybe that's a question for Atsushi.
… Might be a little easier in an Asia-based TPAC.
… A topic we ought to keep on our radar.

Nigel: I agree.
… One of my observations at the MEIG was the number of Japanese attendees - and Kaz also
… wanted to talk about the SSML stuff in DAPT. There seems to be a bubbling interest.

Pierre: Yes.

Meeting close

Nigel: Thanks everyone, we're at time. [adjourns meeting]

Summary of resolutions

  1. Transition IMSC-HRM to Candidate Recommendation
Minutes manually created (not a transcript), formatted by scribe.perl version 210 (Wed Jan 11 19:21:32 2023 UTC).