- From: Glenn Adams <glenn@skynav.com>
- Date: Tue, 20 May 2014 08:25:49 +0900
- To: Nigel Megitt <nigel.megitt@bbc.co.uk>
- Cc: Michael Dolan <mdolan@newtbt.com>, TTWG <public-tt@w3.org>
- Message-ID: <CACQ=j+e=UbFpJgC-mkY0J+p8H5y5Ghhg5+3BQO4JOi8ePDZ9kw@mail.gmail.com>
On Mon, May 19, 2014 at 10:54 PM, Nigel Megitt <nigel.megitt@bbc.co.uk>wrote: > On 19/05/2014 12:35, "Glenn Adams" <glenn@skynav.com> wrote: > > > On Mon, May 19, 2014 at 8:15 PM, Nigel Megitt <nigel.megitt@bbc.co.uk>wrote: > >> On 19/05/2014 12:05, "Glenn Adams" <glenn@skynav.com> wrote: >> >> On Mon, May 19, 2014 at 6:27 PM, Nigel Megitt <nigel.megitt@bbc.co.uk>wrote: >> >>> On 18/05/2014 02:39, "Glenn Adams" <glenn@skynav.com> wrote: >>> >>> >>> On Fri, May 16, 2014 at 2:51 AM, Nigel Megitt <nigel.megitt@bbc.co.uk>wrote: >>> >>>> On 15/05/2014 23:45, "Glenn Adams" <glenn@skynav.com> wrote: >>>> >>>> Could you cite the exact documents/sections that you are referring >>>> to by "quoted text"? >>>> >>>> >>>> I was referring to the text from ISO/IEC 14496-12, AMD2 that Mike >>>> included in his email. >>>> >>> >>> I assume you refer to: >>> >>> >>> Correct. >>> >>> >>> From 14496-12, AMD2: >>>> >>>> namespace is a null-terminated field consisting of a space-separated >>>> list, in UTF-8 characters, of >>>> one or more XML namespaces to which the sample documents conform. When >>>> used for metadata, >>>> this is needed for identifying its type, e.g. gBSD or AQoS [MPEG-21-7] >>>> and for decoding using XML >>>> aware encoding mechanisms such as BiM. >>>> >>>> schema_location is an optional null-terminated field consisting of a >>>> space-separated list, in UTF- >>>> 8 characters, of zero or more URL’s for XML schema(s) to which the >>>> sample document conforms. If >>>> there is one namespace and one schema, then this field shall be the URL >>>> of the one schema. If there >>>> is more than one namespace, then the syntax of this field shall adhere >>>> to that for xsi:schemaLocation >>>> attribute as defined by [XML]. When used for metadata, this is needed >>>> for decoding of the timed >>>> metadata by XML aware encoding mechanisms such as BiM. >>> >>> >>> This tells me nothing of why one would want to signal content profile >>> or why one would want to communicate namespace usage separately (from XMLNS >>> declarations found in the document). >>> >>> >>> The common text "When used for metadata, this is needed for … decoding >>> using XML aware encoding mechanisms such as BiM." in both paragraphs >>> appears to indicate the intended purpose of providing the information. >>> Arguably in our case we don't need a generic XML processing feature in >>> which case perhaps no value for this attribute is needed at all. That >>> doesn't seem to be the case though given the level of interest in this >>> topic. >>> >>> >>>> Regarding >>>> >>>> The processing behaviour may or may not be expressed in terms of >>>>> TTML1-style profile features. There's no other language other than prose >>>>> available for this purpose (that I know of). >>>> >>>> >>>> If a specification defines processing semantics that must be >>>> supported in order for a processor to conform to the specification, and if >>>> that specification does not define any feature/extension, then I would >>>> firstly view that as a broken specification; however, another potential >>>> interpretation is that the specification implies an otherwise unnamed >>>> feature/extension whose feature/extension designation corresponds to the >>>> profile designation. That is, the profile designation serves as a >>>> high-level, un-subdivided designation of the set of semantics mandated by >>>> compliance with the defined profile. >>>> >>>> >>>> Concerning 'broken' I note also TTML1SE §3.3 [1] does require an >>>> implementation compliance statement (ICS) to support claims of compliance – >>>> it would seem reasonable to require this as an input to the registration >>>> process. Or in TTML2 weaken this requirement. >>>> >>>> [1] http://www.w3.org/TR/ttml1/#claims >>>> >>>> >>>> This might be a way out of this without having to have such >>>> specifications define individual, fine-grained feature/extension >>>> designations. >>>> >>>> >>>> Yes, that would be helpful to lower the barrier to entry. >>>> >>>> >>>> Anyway, I'm still waiting for a someone to articulate a use case for >>>> signaling a content profile, or any aspect of a content profile (e.g., >>>> namespaces, schemas). >>>> >>>> >>>> Did Mike's email including the relevant sections from 14496-12 not do >>>> this? >>>> >>> >>> No, it does not. I repeat, signaling content profile can only have two >>> purposes in the context of decoding/processing as far as I can tell: >>> >>> (1) to validate incoming document, which is not yet done by any TTML >>> processor, though we are looking at adding a @validation attribute in TTML2 >>> that could be used to require this; >>> >>> (2) to imply a processor (decoder) profile in lieu of explicitly >>> signaling of a processor profile; >>> >>> >>> (3) to support generic XML processing functionality not specific to >>> TTML. >>> >> >> Then it would seem to be outside the scope of TTML. >> >> >> If we define an alternative to the generic set of {namespace, >> schemaLocation} then we need to explain how this requirement can be met >> otherwise we'll potentially break that generic requirement. >> > > I don't think so. First, I don't agree there is a generic requirement > that we need to solve. Or I haven't seen a clear explanation of such > requirement or why we need to address it. [Assuming for a moment you are > talking about namespaces, and not talking about the other discussion about > MIME types.] > > > It seems clear to me from reading the ISO 14496 excerpt that this > generic requirement exists for those who specify values to go in the > @codecs parameter, which is what we're being asked to do to improve TTML > interoperability in an ISO Base Media File Format context. Perhaps someone > closer to that spec can explain if this is in fact the case? > > > > >> It may be outside the scope of TTML but not outside the scope of what >> we've been asked to solve. >> >> >>> >>> >>> In the context of the current thread, it seems only the second of >>> these is potentially relevant. However, I have to ask why one wouldn't >>> simply signal a processor profile instead of using a more complex process >>> of signaling a content profile and then having the decoder/processor infer >>> a processor profile from that content profile. >>> >>> >>> My proposal is to signal a specification not a content profile. >>> >> >> I don't know what that means. >> >> >> I defined it in my previous email on this thread at [1], also copied in >> to this email below, at "Thu, May 15, 2014 at 1:28 PM". >> >> http://lists.w3.org/Archives/Public/public-tt/2014May/0075.html >> > > I read that email, but it did nothing to specify the problem that folks > are attempting to solve. For example, it does not indicate how namespaces > are related to content profiles. > > > "The content profile shall itself reference one or more namespaces and > schema locations. " to quote myself. > > My position is that namespaces are not related to content profiles, > and the former say nothing about the latter (in general). I'm not even sure > there is a minimal mapping to a content profile that can be inferred from a > set of namespace definitions. > > > Agreed. > > > So, if someone is suggesting that a list of namespaces serve as a > shorthand for a content profile, I'm just not seeing it. > > > Agreed. > > >> >>> This meets both the stated requirement in 14496-12 of identifying set >>> of {namespace, schema} and the requirement to direct the choice of >>> processor profile. >>> >> >> I don't think so. >> >> >> So you don't think that a proposal that you don't understand does >> something. I don't know what to do with that information! >> > > If we are going to stop moving around in circles, I need to see a > simple, complete problem statement. I have yet to see one. > > > Agreed. > > The closest I have at the moment (synthesised from what others have > written) is: > > - Define a set of short labels and combinatorial operators to be used > in the first instance as extensions to the stpp.ttml prefix as used in the > ISO/IEC 14496-12 @codecs parameter and as a suffix to the > application/ttml+xml MIME type, and therefore conforming to any > requirements defined by the specifications for those. > > I agree with the part up to, but not including "and therefore conforming to...". > > - ISO/IEC 14496-12 requires signalling of the set of {namespace, > schemaLocation} used by XML documents. > > I'm not familiar with this spec or why it wants to signal namespaces. I don't know why it wants such a list. In any case, this seems something outside the scope of the TTML spec itself, in the realm of "how does 14496-12 deal with a particular XML format", which seems a general question, and completely unrelated to the discussion of profiles. > > - A receiving system must be able to to make processing choices based > on the values prior to parsing a TTML document. > > Must is a bit too strong. Should is better. There is nothing that prevents a receiver from fully decoding TTML before doing anything else, though it may be inefficient. > > - It must be possible to specify receiving systems in terms of the > parameter values that must minimally be supported. > > Again, should is better than must. By "parameter values" here are you referring to MIME Content-Type parameters? If so, then I would characterize this as a first-order approximation to answering the question - can I process? This might return true, but during the actual parsing it may turn into false. > > - It should be possible for those who wish, to be able to validate > documents against the conformance claims made for them by the value of this > parameter. (I think this is a weaker requirement than the others because > this would necessarily require parsing the document so it is reasonable to > use features internal to the document for validation.) > > If you are referring to an external parameter on Content-Type, then I would not agree. There is no need to base validation processing on an external parameter that signals content profile. Only a document internal parameter, e.g., ttp:contentProfile, should be used for this purpose for a simple reason: external data is more likely to be wrong that internal data. > > - Content providers should be able to derive acceptable values for > this parameter given a previously unknown document, but may not need to if > they know something already about how the document was created. > > Where is this requirement coming from? What is the use case? > > > >> >> >> >>> The content provider may not want the receiving system to infer 'any >>> possible' processor profile from the content profile but instead describe >>> 'must be one of these' processor profiles. >>> >> >> Sure, in which case the content author should reference or specify a >> processor profile in the document, in which case signaling a content >> profile has no purpose. >> >> >> That's fine but out of scope of the discussion, which is about what is >> specified externally to the document. >> >> >> >>> >>> >>> >>> If there are other reasons for signaling content profile (in the >>> context of the current thread) then I haven't seen them articulated. >>> >>> >>> >>>> >>>> >>>> >>>> >>>> >>>> On Thu, May 15, 2014 at 1:28 PM, Nigel Megitt <nigel.megitt@bbc.co.uk>wrote: >>>> >>>>> Since namespaces and schemas define and constrain document contents >>>>> without defining processing behaviour the quoted text defines a content >>>>> profile declaration. It isn't asking for anything concerning specific >>>>> processor capabilities but is merely describing the contents of the >>>>> document. The information may be used for downstream processing by context >>>>> aware processors. The reference to namespace-aware compression makes clear >>>>> that the mapping from whatever label scheme we choose to namespaces and >>>>> schemas is important. >>>>> >>>>> However it's clear that we expect the receiving system to use the >>>>> information to direct its processing, as described previously. >>>>> >>>>> Consider that the specification of a TTML variant x consists of the >>>>> union of a content profile Cx and a description of processing behaviour Bx, >>>>> which I'll express as S = C + B. The content profile shall itself reference >>>>> one or more namespaces and schema locations. The processing behaviour may >>>>> or may not be expressed in terms of TTML1-style profile features. There's >>>>> no other language other than prose available for this purpose (that I know >>>>> of). >>>>> >>>>> It is possible to define two specifications S1 and S2 where S1 = Cx >>>>> + Bx and S2 = Cx + By, i.e. the same contents are processed with different >>>>> behaviour. By the quoted text there is no need to differentiate between >>>>> them from an ISO 14496 perspective. However we understand from our >>>>> knowledge of the problem space that it may be useful to signal to a >>>>> receiving system which behaviour set is desirable. And it may be helpful in >>>>> a receiving system to differentiate between the available behaviours in >>>>> order to provide the optimal experience. >>>>> >>>>> Would it be contrary to the spirit of the ISO wording to assign >>>>> short labels each corresponding to some Specification, and for receiving >>>>> systems to be expected to dereference (using a cached lookup table!) from >>>>> those labels to the namespaces and schema locations contained within that >>>>> specification's content profile? This would satisfy the ISO requirements >>>>> and permit us to signal additionally the processor features and behaviours. >>>>> At this stage the expression of those is not our concern – just that there >>>>> is a document somewhere that describes how the implementation should work. >>>>> >>>>> Going back to the previous example, if a document conforms to Cx >>>>> then it could be signalled either as S1 or S2 or both, and if the content >>>>> provider has verified that presentation will be acceptable either way then >>>>> both S1 and S2 would be declared, otherwise just one of them (or neither if >>>>> there's some other Sn that also uses Cx). >>>>> >>>>> With this scheme combinatorial logic wouldn't really make sense – >>>>> you could infer something about unions and intersections of content >>>>> profiles but since the language used to describe processor behaviours can't >>>>> be mandated (okay it could in theory, but it wouldn't be accepted in >>>>> practice) it wouldn't be a well defined operation. Incidentally this is in >>>>> no way a critique of the effort put in by Glenn, and its outcomes, in terms >>>>> of defining content and processor profiles – though it might be nice to >>>>> verify that this simple expression can be expanded into that scheme should >>>>> a specification writer choose to do so. >>>>> >>>>> This implies that every combination of content profiles and >>>>> behaviours must be considered carefully and registered as a new >>>>> specification with a new label. It also implies that if a document declares >>>>> conformance with a set of specifications then it must conform to every >>>>> member of the set of content profiles and it may be processed according to >>>>> any one of the set of processing behaviours. >>>>> >>>>> The expression of that set is as described previously, where we pick >>>>> our favourite delimiter out of a hat made out of ampersands. >>>>> >>>>> Also: this topic was discussed in summary briefly on the call today >>>>> and a new suggestion arose, that some guidance for 'reasons why the TTWG >>>>> would reject an application for registration' would be helpful. When >>>>> requiring combinations to be registered separately there's a greater need >>>>> to ensure that the registration process is quick and painless, and this >>>>> guidance would help us and those who may follow to expedite it. >>>>> >>>>> Nigel >>>>> >>>>> >>>>> On 15/05/2014 18:00, "Michael Dolan" <mdolan@newtbt.com> wrote: >>>>> >>>>> I believe the problem statement is to replace the potentially >>>>> unwieldy long strings in the namespace & schema_location fields defined in >>>>> 14496-12 and 14496-30 with a more compact string suitable for the DASH >>>>> manifest codecs field. >>>>> >>>>> >>>>> >>>>> From 14496-12, AMD2: >>>>> >>>>> >>>>> >>>>> namespace is a null-terminated field consisting of a space-separated >>>>> list, in UTF-8 characters, of >>>>> >>>>> one or more XML namespaces to which the sample documents conform. When >>>>> used for metadata, >>>>> >>>>> this is needed for identifying its type, e.g. gBSD or AQoS [MPEG-21-7] >>>>> and for decoding using XML >>>>> >>>>> aware encoding mechanisms such as BiM. >>>>> >>>>> >>>>> >>>>> schema_location is an optional null-terminated field consisting of a >>>>> space-separated list, in UTF- >>>>> >>>>> 8 characters, of zero or more URL’s for XML schema(s) to which the >>>>> sample document conforms. If >>>>> >>>>> there is one namespace and one schema, then this field shall be the >>>>> URL of the one schema. If there >>>>> >>>>> is more than one namespace, then the syntax of this field shall adhere >>>>> to that for xsi:schemaLocation >>>>> >>>>> attribute as defined by [XML]. When used for metadata, this is needed >>>>> for decoding of the timed >>>>> >>>>> metadata by XML aware encoding mechanisms such as BiM. >>>>> >>>>> >>>>> >>>>> I’m warming up to the idea of requiring TTML content profiles be >>>>> created for the combinations. >>>>> >>>>> >>>>> >>>>> Mike >>>>> >>>>> >>>>> >>>>> *From:* Glenn Adams [mailto:glenn@skynav.com <glenn@skynav.com>] >>>>> *Sent:* Thursday, May 15, 2014 9:15 AM >>>>> *To:* Nigel Megitt >>>>> *Cc:* Michael Dolan; TTWG >>>>> *Subject:* Re: Draft TTML Codecs Registry >>>>> >>>>> >>>>> >>>>> My understanding from Dave was that the problem is how to answer the >>>>> following method: >>>>> >>>>> >>>>> >>>>> boolean canPlay(String contentTypeWithParameters) >>>>> >>>>> >>>>> >>>>> I have not seen any statement of a problem that relates to signaling >>>>> content conformance. >>>>> >>>>> >>>>> >>>>> As for requirements driving the ability to express a combination of >>>>> profiles, we already have (in TTML1) and will have more (in TTML2) that >>>>> permits a user to characterize processing requirements by means of a >>>>> combination of existing profiles. Consequently, any shorthand signaling of >>>>> first-order processor support needs to be able to repeat the expression of >>>>> such combinations. >>>>> >>>>> >>>>> >>>>> I don't buy any "its too complex" argument thus far, primarily because >>>>> nobody has stated what is (overly) complex in sufficient detail to >>>>> understand if there is a problem or not. >>>>> >>>>> >>>>> >>>>> My perception of the TTML profile mechanism is that it is easy to >>>>> understand and implement, and, further, that it is a heck of lot easier to >>>>> understand and implement than XML Schemas. >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On Thu, May 15, 2014 at 9:58 AM, Nigel Megitt <nigel.megitt@bbc.co.uk> >>>>> wrote: >>>>> >>>>> Agreed there's a gulf of understanding/expectation that we need to >>>>> bridge. >>>>> >>>>> >>>>> >>>>> Can anyone volunteer to draft a set of requirements for this >>>>> functionality, in the first instance being the smallest set needed to meet >>>>> the ISO specs? (Mike, I guess I'm thinking of you, following our discussion >>>>> at the weekly meeting earlier) >>>>> >>>>> >>>>> >>>>> >>>>> >>>>> On 15/05/2014 16:48, "Glenn Adams" <glenn@skynav.com> wrote: >>>>> >>>>> >>>>> >>>>> i can see this subject is not going to be resolved easily as we >>>>> clearly have a large gap about requirements; e.g., i think there are no >>>>> requirements to signal content conformance, but only client processor >>>>> requirements, i think we must use the TTML profile mechanism, etc >>>>> >>>>> On Thursday, May 15, 2014, Michael Dolan <mdolan@newtbt.com> wrote: >>>>> >>>>> Maybe "highly undesirable", but if we don't address the A + B signaling >>>>> explicitly, then profiles need to be created for all the combinitorics >>>>> of >>>>> namespaces in practice. Not the end of the world, but virtually >>>>> prevents the >>>>> simple signaling of 3rd party namespaces already provided by the >>>>> namespace/schemaLocation mechanism today. No I am not proposing we use >>>>> that >>>>> - I am pointing out a deficiency in this proposal that we already >>>>> address >>>>> today in 14496. >>>>> >>>>> Anyway, we need to go through the points in my email a week ago - if >>>>> not >>>>> today, then on the 29th. >>>>> >>>>> Mike >>>>> >>>>> -----Original Message----- >>>>> From: David Singer [mailto:singer@mac.com <singer@mac.com>] >>>>> Sent: Thursday, May 15, 2014 5:20 AM >>>>> To: Glenn Adams >>>>> Cc: TTWG >>>>> Subject: Re: Draft TTML Codecs Registry >>>>> >>>>> OK >>>>> >>>>> Though it will be a sub-parameter of the codecs parameter for the MP4 >>>>> file >>>>> type, from the point of view of TTML it's actually a profile short name >>>>> registry rather than codecs registry, so I think we should rename it. >>>>> >>>>> the values here should be usable in both >>>>> a) the profiles parameter for the TTML mime type >>>>> b) the codecs parameter for the MP4 mime type >>>>> >>>>> so, also "named codecs" -> "named profiles" >>>>> >>>>> >>>>> >>>>> I agree with Cyril that we only need a single operator here (implement >>>>> one >>>>> of these profiles and you're good to go), both because we don't need >>>>> the >>>>> complexity, and because a "implement both/all of these" is effectively >>>>> inviting file authors to make up new profiles ("to process this >>>>> document you >>>>> have to implement both A and B"), which is (IMHO) highly undesirable. >>>>> >>>>> >>>>> >>>>> On May 15, 2014, at 9:55 , Glenn Adams <glenn@skynav.com> wrote: >>>>> >>>>> > See [1]. >>>>> > >>>>> > [1] https://www.w3.org/wiki/TTML/CodecsRegistry >>>>> >>>>> Dave Singer >>>>> >>>>> singer@mac.com >>>>> >>>>> >>>>> >>>>> >>>>> ---------------------------- >>>>> >>>>> >>>>> >>>>> http://www.bbc.co.uk >>>>> This e-mail (and any attachments) is confidential and may contain >>>>> personal views which are not the views of the BBC unless specifically >>>>> stated. >>>>> If you have received it in error, please delete it from your system. >>>>> Do not use, copy or disclose the information in any way nor act in >>>>> reliance on it and notify the sender immediately. >>>>> Please note that the BBC monitors e-mails sent or received. >>>>> Further communication will signify your consent to this. >>>>> >>>>> --------------------- >>>>> >>>>> >>>>> >>>>> >>>> >>> >> >
Received on Monday, 19 May 2014 23:26:40 UTC