W3C home > Mailing lists > Public > public-tt@w3.org > December 2008

Re: Roll up in DFXP

From: Geoff Freed <geoff_freed@wgbh.org>
Date: Mon, 15 Dec 2008 11:26:59 -0500
To: Sean Hayes <Sean.Hayes@microsoft.com>, John Birch <john.birch@screen.subtitling.com>, "akirkpat@adobe.com" <akirkpat@adobe.com>, "public-tt@w3.org" <public-tt@w3.org>
Message-id: <C56BEF83.46FE%geoff_freed@wgbh.org>

one thing to note:  for pre-produced (not real-time) roll-up captions, i don't think the options described below are really necessary.  pre-produced roll-up data are presented one complete line at a time, without the need to display each word discretely.  that eliminates the need for an animation-like display.  and the scroll rate (at the macro level) would be controlled simply by the rate at which new lines appear at the region.

g.



On 12/12/08 3:33 PM, "Sean Hayes" <Sean.Hayes@microsoft.com> wrote:

Counter, counter proposal, I believe dynamicFlow is actually an emergent property of time container:)

In order to convince myself that some form of both rollup and crawl are already expressible in dfxp without dynamicFlow, (if not terribly convenient), I created the example below.  Although untested, I believe this example demonstrates word at a time crawl and rollup semantics. (character at a time is more spans than I could be bothered to create but is essentially the same, as are other larger units. Pixel and glyph level operations cannot be described by this method).

This kind of content could easily be generated by a tool, if not very convenient by hand; so at the very worst we have some kind of dynamic flow story.

If Glenn and John are unable to deliver on dynamicFlow proper by end of January, I have the following proposal, which comes down to a syntax sugar for generating the example content (this proposal may be useful independently of whether we successfully add region flow):

I would posit that dynamicFlow not be an attribute on region, but rather derived from timeContainer values which distribute the duration of the parent over its children. There are a few modes in which this distribution could occur but the following two seem the most useful in terms of our charter.

1)      The parent is a seq, and each child is automatically assigned begin=0 and dur=N so that the entire container behaves like a seq where the duration is completely filled with equal duration periods one for each child.

2)      The parent is a par and each child is automatically assigned a begin=N so that the first child occupies all time partitions, the second child all but the first, and so on to the last child which occupies only the last.



Begin end and dur specified on children would be ignored.

Names for these might be timeContainer='partition' and timeContainer='append'. Note that these are simply syntactic shorthand for par and seq with implied time calculations, thus no new semantics are being introduced here.

Then in order to avoid hand generating all the spans, we need an 'autoSpan' content type attribute which generates the child spans from PCDATA for either word or character level content. Again this is just syntactic shorthand for the long form of specifying all the spans manually.

[[Note that I'm relying on scroll in the example, but scroll as defined in CSS and XSL is not actually very useful in a captioning type environment (I have an issue open on this already) I propose we allow auto as an overflow property value; and defined its semantics as automatically keeping the content furthest from the textAlign and displayAlign edges in view, rather than creating scrollbars.
we might recover the pixel level scrolling mode here]].

Example:

<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/2006/10/ttaf1"
    xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"
    xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
  <head>
      <styling>
      <style xml:id="s1"
                         tts:displayAlign="after"
                         tts:background-color="black"
                         tts:color="white"
                         tts:origin="0px 0px"
                         tts:extent="20em 3em"
                         />
      <style xml:id="s2"
                         tts:displayAlign="after"
                         tts:background-color="black"
                         tts:color="white"
                         tts:origin="0px 4em"
                         tts:extent="20em 3em"
                         tts:wrapOption="noWrap"
                         tts:overflow="scroll"
                         />
          <style xml:id="p20" tts:padding="20em 0em 0em 0em" />
          <style xml:id="p4" tts:padding="4em 0em 0em 0em" />
      </styling>
      <layout>
          <region xml:id="rollup" style="s1"   />
          <region xml:id="crawl" style="s2"  />
      </layout>
  </head>
  <body region="rollup crawl" timeContainer="par">
    <div region="rollup" timeContainer="par">
      <p timeContainer="par">
          <span begin="0.1875s" >Five </span>
          <span begin="0.375s" >o'clock </span>
          <span begin="0.5625s" >tea! </span>
          <span begin="0.75s" ><br/>Ever </span>
          <span begin="0.9375s" >to </span>
          <span begin="1.125s" >thee, </span>
          <span begin="1.3125s" ><br/>Faithful </span>
          <span begin="1.5s" >I'll  </span>
          <span begin="1.6875s" >be, </span>
          <span begin="1.875s" ><br/>Five </span>
          <span begin="2.0625s" >o'clock </span>
          <span begin="2.25s" >tea! </span>
          <span begin="2.4375s" ><br/></span>
         <span begin="2.625s" ><br/></span>
         <span begin="2.8125s" ><br/></span>
         <span begin="3s" ><br/></span>
      </p>
     </div>
     <div region="crawl" timeContainer="par">
      <p timeContainer="par">
          <span begin="0.1875s" style="p20">Five </span>
          <span begin="0.375s" >o'clock </span>
          <span begin="0.5625s" >tea! </span>
          <span begin="0.75s" >Ever </span>
          <span begin="0.9375s" >to </span>
          <span begin="1.125s" >thee, </span>
          <span begin="1.3125s" >Faithful </span>
          <span begin="1.5s" >I'll  </span>
          <span begin="1.6875s" >be, </span>
          <span begin="1.875s" >Five </span>
          <span begin="2.0625s" >o'clock </span>
          <span begin="2.25s" >tea! </span>
          <span begin="2.4375s" style="p4"/>
         <span begin="2.625s" style="p4"/>
         <span begin="2.8125s" style="p4"/>
         <span begin="3s" style="p4"/>
      </p>
     </div>
 </body>
</tt>


Example with proposed syntax shorthand

<?xml version="1.0" encoding="utf-8"?>
<tt xml:lang="en"
    xmlns="http://www.w3.org/2006/10/ttaf1"
    xmlns:tts="http://www.w3.org/2006/10/ttaf1#style"
    xmlns:ttm="http://www.w3.org/2006/10/ttaf1#metadata">
  <head>
      <styling>
      <style xml:id="s1"
                         tts:displayAlign="after"
                         tts:background-color="black"
                         tts:color="white"
                         tts:origin="0px 0px"
                         tts:extent="20em 3em"
                         />
      <style xml:id="s2"
                         tts:displayAlign="after"
                         tts:background-color="black"
                         tts:color="white"
                         tts:origin="0px 4em"
                         tts:extent="20em 3em"
                         tts:wrapOption="noWrap"
                         tts:overflow="scroll"
                         />
          <style xml:id="p20" tts:padding="20em 0em 0em 0em" />
          <style xml:id="p4" tts:padding="4em 0em 0em 0em" />
      </styling>
      <layout>
          <region xml:id="rollup" style="s1"   />
          <region xml:id="crawl" style="s2"  />
      </layout>
  </head>
  <body region="rollup crawl" timeContainer="par">
    <div region="rollup" dur="3s" timeContainer="par">
      <p timeContainer="append">Five o'clock tea!
          <br/>Ever to thee,
          <br/>Faithful I'll be,
          <br/>Five o'clock tea!
          <br/>
          <br/>
          <br/>
      </p>
     </div>
     <div region="crawl" timeContainer="par">
      <p timeContainer="append" dur="3s">
         <span style="p20">Five</span> o'clock tea! Ever to thee, Faithful I'll be, Five o'clock tea! <span style="p4"/> <span style="p4"/> <span style="p4"/> <span style="p4"/>
      </p>
     </div>
 </body>
</tt>



Sean Hayes
Media Accessibility Strategist
Accessibility Business Unit
Microsoft

Office:  +44 118 909 5867,
Mobile: +44 7875 091385


From: public-tt-request@w3.org [mailto:public-tt-request@w3.org] On Behalf Of John Birch
Sent: 12 December 2008 15:49
To: akirkpat@adobe.com; public-tt@w3.org
Subject: Re: Roll up in DFXP

Counter proposal :-)

Allow markup on a region to define it as a roll-up region (or a crawl). Define semanics that describe how content that is released into these regions should act over time and during conditions of 'region full'.

It's not the content that has a roll character - it's the region...

Agree about empty p elements...

J
Sent by Blackberry

----- Original Message -----
From: public-tt-request@w3.org <public-tt-request@w3.org>
To: Public TTWG List <public-tt@w3.org>
Sent: Fri Dec 12 15:39:38 2008
Subject: Roll up in DFXP

>From an interested party.



Rollup Captions

To properly represent 608/708 closed captions, it is important that DFXP TimedText provide some basic support for roll-up style captions. [company] has yet to formalize plans in this area, but is proposing the following basic structure:

       *       Allow for a <body>, <div>, or individual <p> element to be tagged as rollup, with an attribute indicating the number of lines of rollup text (typically 2 or 3 lines).
       *       Leverage the proposed upperThird/middleThird/lowerThird region tag to allow for the rollup caption area to be positioned appropriately on the screen. Software that converts 608/708 captions to TimedText can inspect the line positioning and infer the appropriate screen region.
       *       Interpret empty <p> tags as a command to clear the roll-up display. Software that converts 608/708 captions to TimedText would generate an empty <p> tag whenver encountering {EDM} erase commands.





Thanks,

AWK



Andrew Kirkpatrick



Senior Product Manager, Accessibility



Adobe Systems



akirkpat@adobe.com <mailto:akirkpatrick@adobe.com>



John Birch | Screen Subtitling Systems Ltd | Strategic Partnerships Manager
Main Line : +44 (0)1473 831700 | Ext : 270 | Direct Dial : +44 (0)1473 834532
Mobile : +44 (0)7919 558380 | Fax : +44 (0)1473 830078
john.birch@screen.subtitling.com | www.screen.subtitling.com <http://www.screen.subtitling.com>
The Old Rectory, Claydon Curch Lane, Claydon,Ipswich,Suffolk,IP6 0EQ,United Kingdom

See us at Broadcast Video Expo - February 17th - 19th 2009, Earls Court 2, London, Stand number K56

P Before printing, think about the environment




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, 15 December 2008 16:27:55 GMT

This archive was generated by hypermail 2.2.0+W3C-0.50 : Monday, 2 November 2009 22:41:39 GMT