- From: Glenn Adams <glenn@skynav.com>
- Date: Mon, 19 May 2014 19:59:57 +0900
- To: John Birch <John.Birch@screensystems.tv>
- Cc: "nigel.megitt@bbc.co.uk" <nigel.megitt@bbc.co.uk>, "mdolan@newtbt.com" <mdolan@newtbt.com>, "public-tt@w3.org" <public-tt@w3.org>
- Message-ID: <CACQ=j+dF7Tsi1F+NQ0ygLSkfxuO1HVwXtey2RTr95ruLC=Zj=w@mail.gmail.com>
On Mon, May 19, 2014 at 6:24 PM, John Birch <John.Birch@screensystems.tv>wrote: > Hi Glenn, > > > > For me Validation is the highest priority. Current workflows for audio / > visual presentations, regardless of delivery mechanism, all rely upon > validation of the content. > ok, i have no problem with your priority; however, nothing to date in TTML defines validation processing, so you seem to be articulating a priority that isn't justified by the spec > *The ground rule is that all the content is validated and therefore will > work on a mandatorily compliant processor / decoder that must include the > features required for the content profile …* > that is a wrong assumption; i have said it before and will say it again... an feature that is optional in content may or may not be supported by a processor; so saying a document is valid makes no statement about whether a processor supports the features used by the document; > > > There is no scope (or concept) of the decoding processor needing to make > decisions about whether it can process the content, or what it should do > with parts of the content it does not understand. > i'm not sure what you mean by this, since it flies in the face of what is specified in TTML1; > These concepts are superfluous non-issues when a) all content is > validated to an agreed specification… b) all processors / decoders are > expected to handle all features of that specification, c) any intentional > graceful degradation of capabilities (features) is already built into the > specification. > it is not true that all processors are expected to handle all features of a specification; if you have made that assumption, then you are being presumptuous > > > Thus, for me the two crucial priorities are a mechanism to allow effective > validation and a mechanism to allow effective specification (by sub-setting > of TTML features and the usage of those features). > ok, stay tuned on the former; as for the latter, you need to be more specific about what you see missing if you want me to address it > > > I appreciate that you are tackling the generic case of an ‘unknown > provenance content’ being decoded by a ‘processor with unknown (to the > author) capabilities’. > that is not what i'm tackling > However, deployed standards derived from TTML operate in deliberately > constrained patterns, patterns that intentionally reduce the potential for > mismatches between content creation and content presentation. > IMO, that is a naive pov > > > RE: Now, if I author content using tts:opacity in a way that conforms to > a content profile, then that says nothing whatsoever about whether a > presentation processor will actually implement and use that opacity when > presenting content. This is why a process profile declaration is important. > It allows me to say: only present this on a processor that understands and > uses opacity. This is not a specious use case. > > > > I cannot imagine a situation (in deployed AV broadcast workflows using > TTML derived standards) where a content author would actually use a feature > that might not be present in all the targeted decoders… > nothing about defining a content profile implies a decoder must support every feature potentially used by that content profile; if you are assuming the opposite, then you are presumptuous or naive > the need for ‘content to present’ would pretty much dictate the use of the > lowest common denominator of features that the author has experienced as > working in the majority of decoders. This has been proven in practise. So I > think the above is only half the use case, the second part of this use case > would be provide a mechanism for alternative behaviour. > i'm not sure what this means > > > I.e., should an author deliberately wish to use advanced features, I > believe they would do so only if there was a clear ‘fall back strategy’, > this would either be implemented as part of the specification… e.g. > “opacity if not supported should be presented as fully opaque”, or by > putting a switch in the content along the lines of “if processor supports > opacity then X, else Y”. > TTML has no conditional/switch mechanism at present, though it does specify fallback semantics for each renderable style property > A classic example of a fall back strategies deployed in previous timed > text implementations is the Teletext mechanism for extending the character > set of basic Teletext to include accented characters. In this mechanism a > basic level ‘base character’ is transmitted, and then the extended accent > character is transmitted… the extended characters have an intrinsic > backspace, so advanced decoders overwrite the base character… basic > decoders do not eat the extended characters so they remain displaying the > base character. > ok, but not relevant > > > RE: Furthermore, if a document that uses opacity does not declare (or > otherwise signal) a processor profile, but only a content profile, then a > process that infers the former from the latter is ambiguous (without > further directives) since it is not a logical conclusion that support for > opacity must be present in a processor when the use of opacity in content > is optional. This is where I suggested in a previous thread the need for > something like: > > > > I see no strong use case for supporting a situation where a content > profile defines a feature as optional and processors are then free to > either support that feature or not. > well, that's the way it is; in TTML1, there is no such thing as a content profile anyway; in TTML2 one will be able to define both processor profiles and content profiles and then associate a document with these profiles; however, these profiles make different kinds of statements; one will be able to infer a processor profile from a content profile, but the default mapping will map an optional content feature to optional processor support, and not optional content feature to required processor support; there will be a parameter that can be used to select the latter mapping, but the former will be the default mapping; > This would result in a situation where some content that conforms to the > content profile would display correctly (by which I mean as intended) on > some compliant processors, but not display correctly on other processors > that could still be called compliant. > that's right; > That is not a route to ‘interoperability of content’. > you are confusing content interoperability with processing behavior interoperability > So I contend that it is ‘logical’ to conclude as a practical implementer > that if a feature is optional in content I should support it in my > processor, since ‘logically’ I may be expected to decode content that may > include that feature. > that is one possible conclusion, but not one that matches how the Web works; Web specifications define many optional features and processors may or may not do anything with them; the purpose of the TTML1 and following processor profile is to allow that author to ask for more than this default > > > I can however see some small utility in being able to say ‘this feature is > not used in this document instance’ – since that might allow a processor to > optimise itself for processing that document instance, (e.g. by not loading > heavy libraries of code etc.). However, I am unconvinced that most > processor implementations would dynamically adapt to each document instance. > they won't, but by distinguishing processor profile support from content profile usage, one can begin to have a concrete way of specifying requirements for decoding/processing behavior instead of making assumptions about how a processor supports optional content features > > > RE my closing comment “"strategy for TTML2 that requires general web > access, etc." – what I meant is that any new capabilities in TTML2 that are > defined to address these issues need to be non-referential. I.e. it must be > possible to have content that can be validated independently of the > Internet, and processors that can determine the requirements to decode any > content without access to the internet. > one has to distinguish between referencing an external resource, such as an externally defined profile specification, and mandating that the external resource be fetched and used during processing; TTML1 and 2 makes the former possible, but doesn't mandate the latter; so nothing is changing in that regard; > Further, the process of determining processing requirements should be > lightweight, since the processors are in many deployed cases likely to be > operating in constrained environments. > determining if a processor supports a specified processor profile is a much smaller overhead than validation of a content profile (as you assign priority); at the lower boundary, a decoder need only evaluate a ttp:profile attribute and determine if its value lies in a list of supported processor profiles; simple with hardly any overhead; > > > With best regards, > > John > > > > > *John Birch | Strategic Partnerships Manager | Screen *Main Line : +44 > 1473 831700 | Ext : 2208 | Direct Dial : +44 1473 834532 > Mobile : +44 7919 558380 | Fax : +44 1473 830078 > John.Birch@screensystems.tv | www.screensystems.tv | > https://twitter.com/screensystems > > > *Visit us at Broadcast Asia, Marina Bay Sands, Singapore 17-20 June, Stand > 5E4-01* > > *P** Before printing, think about the environment* > > *From:* Glenn Adams [mailto:glenn@skynav.com] > *Sent:* 18 May 2014 22:46 > *To:* John Birch > *Cc:* nigel.megitt@bbc.co.uk; mdolan@newtbt.com; public-tt@w3.org > > *Subject:* Re: Draft TTML Codecs Registry - Issue-305 > > > > > > On Sun, May 18, 2014 at 5:39 PM, John Birch <John.Birch@screensystems.tv> > wrote: > > An extremely important context for content profile is for an 'application' > (validator) to be able to determine if any given document conforms to a > specific profile. Note this is not necessarily the same as that application > being able to decode or present the document. > > > > I've already stated that validation is a use case for content profile. > However, we have yet to specify validation semantics for a TTML Content > Processor, though it is on my list to add a @validation property. > > > > > In fact the 'processor A can determine if it can decode document X' debate > is somewhat specious, since (at least in the context of most current TTML > derived specifications) most processors should be able to safely assume > that the documents they are 'asked' to decode conform to a specific > 'standard', having been passed through a validation step before being > presented. > > > > The ability to decode is not as important as the ability to process the > explicit/implied semantics of a particular feature/extension. All TTML > processors must be able to instantiate an abstract TTML document instance, > so, in that sense, every processor can decode any TTML profile. It is > whether they do something with what they decode that is relevant. > > > > It is not specious to state that a content author may wish to ensure that > a processor will support (respect) the semantics of some feature. For > example, take the #opacity feature, as denoted by the tts:opacity style > attribute. This is an optional feature in all content profiles defined thus > far. Optional in the sense that it may be used but need not be used. > > > > Now, if I author content using tts:opacity in a way that conforms to a > content profile, then that says nothing whatsoever about whether a > presentation processor will actually implement and use that opacity when > presenting content. This is why a process profile declaration is important. > It allows me to say: only present this on a processor that understands and > uses opacity. This is not a specious use case. > > > > Furthermore, if a document that uses opacity does not declare (or > otherwise signal) a processor profile, but only a content profile, then a > process that infers the former from the latter is ambiguous (without > further directives) since it is not a logical conclusion that support for > opacity must be present in a processor when the use of opacity in content > is optional. This is where I suggested in a previous thread the need for > something like: > > > > ttp:inferProcessorProfileMethod = (loose|strict) : loose > > > > where loose maps optional content features to optional support in > processor profile, and strict maps optional in content to required in > processor. The fact that such a directive is required demonstrates that > content profiles and processor profiles are different and must be treated > so. > > > > > > > > > Why, because typical current TTML decoders are operating in constrained > environments. Usually restricted access to the web. Speed expectations of > decoding and limited Cpu and memory. IMHO a strategy for TTML2 that > requires general web access, or anticipates building upon extensive web > infrastructures and code bases will not resolve the issues faces by current > TTML implementations in Smart TV, disc/pvr players or set-top boxes. > > > > I'm not sure where this latter sentence is coming from. What do you refer > to when you say "strategy for TTML2 that requires general web access, etc."? > > > > > Best regards, > John > > > > *From*: Glenn Adams [mailto:glenn@skynav.com] > > *Sent*: Sunday, May 18, 2014 02:39 AM GMT Standard Time > *To*: Nigel Megitt <nigel.megitt@bbc.co.uk> > *Cc*: Michael Dolan <mdolan@newtbt.com>; TTWG <public-tt@w3.org> > *Subject*: Re: Draft TTML Codecs Registry - Issue-305 > > > > > 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: > > > > 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). > > > > > > > > > > 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; > > > > 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. > > > > 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 > > > > > *John Birch | Strategic Partnerships Manager | Screen *Main Line : +44 > 1473 831700 | Ext : 2208 | Direct Dial : +44 1473 834532 > Mobile : +44 7919 558380 | Fax : +44 1473 830078 > John.Birch@screensystems.tv | www.screensystems.tv | > https://twitter.com/screensystems > > > *Visit us at Broadcast Asia, Marina Bay Sands, Singapore 17-20 June, Stand > 5E4-01* > > *P** Before printing, think about the environment* > > > > *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. > > --------------------- > > > > > > > > This message may contain confidential and/or privileged information. If > you are not the intended recipient you must not use, copy, disclose or take > any action based on this message or any information herein. If you have > received this message in error, please advise the sender immediately by > reply e-mail and delete this message. Thank you for your cooperation. > Screen Subtitling Systems Ltd. Registered in England No. 2596832. > Registered Office: The Old Rectory, Claydon Church Lane, Claydon, Ipswich, > Suffolk, IP6 0EQ > > > > > > This message may contain confidential and/or privileged information. If > you are not the intended recipient you must not use, copy, disclose or take > any action based on this message or any information herein. If you have > received this message in error, please advise the sender immediately by > reply e-mail and delete this message. Thank you for your cooperation. > Screen Subtitling Systems Ltd. Registered in England No. 2596832. > Registered Office: The Old Rectory, Claydon Church Lane, Claydon, Ipswich, > Suffolk, IP6 0EQ > >
Received on Monday, 19 May 2014 11:00:49 UTC