- From: Glenn Adams <glenn@skynav.com>
- Date: Wed, 26 Nov 2014 07:23:11 -0700
- To: John Birch <John.Birch@screensystems.tv>
- Cc: TTWG <public-tt@w3.org>, Andreas Tai <tai@irt.de>, Nigel Megitt <nigel.megitt@bbc.co.uk>
- Message-ID: <CACQ=j+dqGs8hgrHuqR6sgfcZnvaqMg4Zr1qZbL3t+5+=a4OdKA@mail.gmail.com>
On Wed, Nov 26, 2014 at 4:20 AM, John Birch <John.Birch@screensystems.tv> wrote: > Hi Glenn, > > > > Apologies for ‘splitting the thread’ but I wanted to comment on two > specifics in your earlier email… > > > > Re: In the above example, charset is a parameter of the MIME type > expression of the *type* attribute. No relationship with the 'encoding' > attribute. > > > > How easy it is to misread a ; as a “ ! ;-) My subsequent comments were > based on that misinterpretation, but thanks for the confirmation that I > perhaps understand the use of encoding correctly J. > > > > Re: I guess you are thinking chunk might be used to contain multiple > original files (separately named) that are concatenated to form a single > data resource. This is counter to my intention that a chunk contain a > fragment of a data resource, or, if one wished, an entire data resource (if > a data element has a single chunk child like in the above example). > > > > Yes, that is exactly what I was thinking… I’m assuming that you would > suggest that my multiple files would each be represented by separate data > elements? > Exactly. > The problem I have with that is that the separate ‘files’ in my example > actually form a single resource from the perspective of EBU-TT… > I don't wish to break the very common understanding that resources and files are 1:1. If you want to divide a file into multiple files that are related to one another, then you need to use something else to link them together. Nigel has proposed such a mechanism in CP25 <https://www.w3.org/wiki/TTML/changeProposal025>. See also Issue 288 <http://www.w3.org/AudioVideo/TT/tracker/issues/288>. The chunk child of data is not intended to address this use case. > i.e. the STL standard defines the concept of a primary file and optional > extension files that are conceptually part of the whole. I have attached > the relevant specification FYI. This is admittedly a marginal use case, as > I have never seen a ‘subtitle list’ that spans multiple ‘disks’ ! > > > > However, I didn’t see anything in the definition of chunks that precludes > it being used in the way I proposed? Did I miss something? > It is conceptually not intended to handle this case. Further, chunk allows only #PCDATA content, so no metadata children where you might use the new ttm:item element to link to some external identifier. My conceptual model for chunks was the HTTP 1.1 chunked transfer encoding [1]. [1] http://tools.ietf.org/html/rfc2616#section-3.6.1 > > > 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 BVE, Excel London 24-26 February 2015 Stand No. N19* > > *P** Before printing, think about the environment* > > *From:* Glenn Adams [mailto:glenn@skynav.com] > *Sent:* 25 November 2014 17:12 > *To:* John Birch > *Cc:* TTWG; Andreas Tai; Nigel Megitt > *Subject:* Re: [ttml2] embedded content, background image styling, other > edits > > > > Thanks for your review and input. > > > > On Tue, Nov 25, 2014 at 2:43 AM, John Birch <John.Birch@screensystems.tv> > wrote: > > Hi Glenn, > > > > I’ve been looking at your proposal for embedded content (and I like it J > but I noticed the following: > > > > ... > > <data type="text/plain; charset=us-ascii" length="44"> > > <chunk length="19"> > > VGhlIHF1aWNrIGJyb3duIGZveA== > > </chunk> > > <chunk length="25"> > > IGp1bXBzIG92ZXIgdGhlIGxhenkgZG9nLg== > > </chunk> > > </data> > > ... > > > > I don’t see ‘charset’ as an attribute of data in the later definition… > > > > In the above example, charset is a parameter of the MIME type expression > of the *type* attribute. No relationship with the 'encoding' attribute. > > > > I thought initially this was a typo and that it should be encoding, but > then realised that ‘encoding’ is not permitted on the parent data element > when using chunks? > > > > Correct, 'encoding' is permitted only on the data element when the content > of the data element uses simple data embedding, i.e., consists only of > #PCDATA that encodes the data bytes. If a data element uses chunked data > embedding, i.e., uses chunk element children, then all of the encoded data > bytes are in child chunk elements, so the encoding attribute applies only > to the chunk children and not the data parent. > > > > In the above example, the encoding attribute's default value 'base64' > applies on the chunk children, and is not relevant on the data parent. > > > > > > However, the binaryData element in EBU-TT includes an attribute that > does not appear within your proposed scheme, which is the fileName > attribute. This optional attribute may contain “A filename that may be used > to identify the original filename of the tunnelled binary data”. > > > > I'm not sure there is a useful use case for formalizing such a > name/identifier. It wouldn't have any relevant processing semantics in > TTML2, so it is definitely in the metadata category, which means using a > ttm:* attribute or a metadata element, e.g., one could use the following > convention with ttm:desc. > > > > <data type='application/octet-stream'> > > <metadata> > > <ttm:desc>original_file_name=foo.bar</ttm:desc> > > </metadata> > > <chunk> > > ... encoded base64 data ... > > </chunk> > > </data> > > > > I wouldn't mind adding a new ttm:* element that generalizes the task of > defining metadata parameters, e.g., > > > > <ttm:parameter name='fileName'>foo.bar</ttm:parameter> > > > > which would allow rewriting the above example to > > > > <data type='application/octet-stream'> > > <metadata> > > <ttm:parameter name='original_file_name'>foo.bar</ttm:parameter> > > </metadata> > > <chunk> > > ... encoded base64 data ... > > </chunk> > > </data> > > > > *There is some discussion as to the usage of this element, it could be > viewed as metadata of ‘historic interest’ (e.g. the name of the DOS file > that is encapsulated by the binary data) or it could be seen as a directive > (i.e. what to name a file should a processor re-create a file from the > binary data). My personal leanings are towards the former use…* > > > > Regardless of the use of this attribute, I would like to propose that the > TTWG consider adding a similar attribute to the data *and chunk* elements > in TTWG. (*As an aside the chunk element you propose would be a better > resolution to one of the original EBU-TT requirements where multiple floppy > disk based DOS files make up an STL document.*) Clearly the name > ‘fileName’ would be inappropriate in a more generic specification but I > tentatively suggest the following (below). > > > > We could consider it. But it definitely would not be appropriate on chunk, > which sole purpose is to enable streaming of data fragment children of a > data element. I guess you are thinking chunk might be used to contain > multiple original files (separately named) that are concatenated to form a > single data resource. This is counter to my intention that a chunk contain > a fragment of a data resource, or, if one wished, an entire data resource > (if a data element has a single chunk child like in the above example). > > > > > > Best regards, > > John > > > > > > <chunk > > encoding > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-attribute-encoding> > = (base16|base32|base32hex|base64|base64url) : base64 > > length = xsd:nonNegativeInteger > <http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger> > > xml:id > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#content-attribute-id> > = ID > > ident = xs:string > > {*any attribute not in default or any TT namespace*}> > > *Content:* #PCDATA > > </chunk> > > > > An ident attribute may be specified, and may contain an identifier for the > contained data from an external context (e.g. the original filename). > > > > And > > <data > > encoding > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-attribute-encoding> > = (base16|base32|base32hex|base64|base64url) : *see prose below* > > format > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-attribute-format> > = <data-format> > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-value-data-format> > > length = xsd:nonNegativeInteger > <http://www.w3.org/TR/xmlschema-2/#nonNegativeInteger> > > src > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-attribute-src> > = <data> > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-value-data> > > type > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-attribute-type> > = xsd:string <http://www.w3.org/TR/xmlschema-2/#string> : *see prose > below* > > xml:id > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#content-attribute-id> > = ID > > ident = xs:string > > xml:lang > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#content-attribute-lang> > = xsd:string <http://www.w3.org/TR/xmlschema-2/#string> > > xml:space > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#content-attribute-space> > = (*default*|*preserve*) > > {*any attribute not in default or any TT namespace*}> > > *Content:* #PCDATA | (Metadata.class > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#element-vocab-group-metadata>*, > chunk > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-vocabulary-chunk>+) > | (Metadata.class > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#element-vocab-group-metadata>*, > source > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-vocabulary-source> > +) > > </data> > > > > If simple data embedding is used, i.e., the content of the data element > is one or more text nodes, then an ident attribute may be specified, and > may contain an identifier for the contained data from an external context > (e.g. the original filename). If chunked or sourced data embedding is used, > i.e., the content of the data element contains any child chunk > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-vocabulary-chunk> > or source > <https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html#embedded-content-vocabulary-source> > element, then an ident attribute must not be specified. > > > > > > > *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 BVE, Excel London 24-26 February 2015 Stand No. N19* > > *P** Before printing, think about the environment* > > > > *From:* Glenn Adams [mailto:glenn@skynav.com] > *Sent:* 23 November 2014 22:50 > *To:* TTWG > *Subject:* [ttml2] embedded content, background image styling, other edits > > > > I've updated the TTML2 ED [1] a few times in the last few days to: > > - add embedded content element types (new section 9) > > > - audio > - chunk > - data > - font > - image > - resources > - source > > > - add background image styling > > > - tts:backgroundImage > - tts:backgroundRepeat > - tts:backgroundPosition > > > - sub-divide former parameters section into profiles section and > parameters section > > For detailed diffs, see change sets [2][3][4][5][6]. > > > > [1] https://dvcs.w3.org/hg/ttml/raw-file/tip/ttml2/spec/ttml2.html > > [2] https://dvcs.w3.org/hg/ttml/rev/d16d284100b9 > > [3] https://dvcs.w3.org/hg/ttml/rev/67327764d375 > > [4] https://dvcs.w3.org/hg/ttml/rev/25035c814da5 > > [5] https://dvcs.w3.org/hg/ttml/rev/cc2b7aad7e7a > > [6] https://dvcs.w3.org/hg/ttml/rev/e3fdbceb09cb > > > > > > 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 Wednesday, 26 November 2014 14:24:00 UTC