- From: Glenn Adams <glenn@skynav.com>
- Date: Mon, 19 May 2014 20:05:50 +0900
- To: Nigel Megitt <nigel.megitt@bbc.co.uk>
- Cc: Michael Dolan <mdolan@newtbt.com>, TTWG <public-tt@w3.org>
- Message-ID: <CACQ=j+cZ8mFw2ayuB-QWqo-P2aMZsK8Q6ieYWEkv_Wif49byZg@mail.gmail.com>
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. > > > > 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. > 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. > 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. > > > > 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 11:06:40 UTC