W3C home > Mailing lists > Public > public-tt@w3.org > August 2003

RE: TT and subtitling/captioning - separating timing from style from content

From: Glenn A. Adams <glenn@xfsi.com>
Date: Fri, 8 Aug 2003 10:41:49 -0400
Message-ID: <7249D02C4D2DFD4D80F2E040E8CAF37C0199EC@longxuyen.xfsi.com>
To: <Johnb@screen.subtitling.com>
Cc: <public-tt@w3.org>
See below.


  _____  

	From: Johnb@screen.subtitling.com [mailto:Johnb@screen.subtitling.com] 
	Sent: Friday, August 08, 2003 6:16 AM
	To: Glenn A. Adams
	Cc: public-tt@w3.org
	
	
	Glenn,
	 
	Thanks for your reply - I perhaps did not make exactly clear what I intended would be the effect of the last animation.
	 
	

				what would be the impact of: 

				<par>
				  <seq>
				    <cue select="id(T27)" dur="3s" use="a1"/>
				    <cue select="id(T28)" dur="3s" use="a2"/>
				  </seq>
				  <cue begin="1s" dur="2s" use="a3"/>
				</par>

				I.e. an attempt to modify the style partway through the sequence. 

				What would the 3rd animation be limited to - just that inside the <par>?

		GA:  There is no problem in principle to this (although you need to select some content with the last cue). We can use the additive and accumulate animation attributes to determine combinatorial effects and we can define implicit additive semantics as well. See http://www.w3.org/TR/SVG11/animate.html#AdditionAttributes as an example.

	The last cue does not select content because I want the animation to affect the content already selected by the previous two cues.
	 
	GA: this would still require selecting content. It would be awkward to have an implicit selection.
	 
	What I am thinking of is effects like Karaoke - where the style of displayed text is modified (emphasis, colour change, underlines etc)
	Karaoke might be achieved by replacing the content with new content over successive intervals.....
	 
	GA: what you describe below does not require replacing content, it merely requires selecting subsequent words of the same content and applying color to each word.
	 
	So the following could be represented thus:
	 
	<style>
	  p { display : none; color: blue }
	</style>
	<animations>
	  <animation id="a1">
	    <set attributeName="display" to="auto"/>
	  </animation>
	  <animation id="a2">
	    <set attributeName="color" to="red"/>
	  </animation></animations>
	<par>
	  <cue select="id(p1)" use="a1"/>
	  <seq>
	    <cue select="id(w1)" use="a2" dur="1"/>
	
	    <cue select="id(w2)" use="a2" dur="1"/>
	    <cue select="id(w3)" use="a2" dur="1"/>
	    <cue select="id(w4)" use="a2" dur="1"/>
	    <cue select="id(w5)" use="a2" dur="1"/>
	    <cue select="id(w6)" use="a2" dur="1"/>
	  </seq>
	</par>
	</par>
	...
	<p id="p1">
	  <span id="w1">Scooby</span>
	
	  <span id="w2">dooby</span>
	
	  <span id="w3">doo</span>,
	
	  <span id="w4">where</span>
	
	  <span id="w5">are</span>
	
	  <span id="w6">you</span>?
	
	</p>
	 
	e.g.
	 
	0006 : 10:00:18:19,10:00:19:03, Scooby dooby doo, where are you?
	0007 : 10:00:19:03,10:00:19:16, Scooby dooby doo, where are you?
	0008 : 10:00:19:16,10:00:20:03, Scooby dooby doo, where are you?
	0009 : 10:00:20:03,10:00:20:17, Scooby dooby doo, where are you?
	0010 : 10:00:20:17,10:00:21:00, Scooby dooby doo, where are you?
	0011 : 10:00:21:00,10:00:21:21, Scooby dooby doo, where are you?

	This is a bit repetitive..... and makes it somewhat awkward to edit - tho' I guess a Karaoke aware editor could ameliorate the issue!

	Incidentally at least one fan-subbing format (USF) includes a Karaoke markup.

	<PASTE EXAMPLE FROM USF SPEC>

	- karaoke :

	<karaoke style="MyStyleName"><k t="1000"/>song <k t="1000"/>text</karaoke>
	

	The karaoke element is very similar to the text element. The main differrence is that you can used the special tag <k t="duration_in_ms"/>.
	So in the example below the text "song" has a duration of 400 ms, "cool " has a duration of 300 ms...
	

	<subtitle start="00:00:10.000" stop="00:00:11.000">
	<karaoke><k t="100"/>a <k t="200"/>very <k t="300"/>cool <k t="400"/>song</karaoke>
	</subtitle>

	The sum of all the duration must be equal to the subtitle duration. Here 100+200+300+400 = 1000 ms = 1s

	<PASTE END>

	GA: This kind of timing can easily be handled with:
	
	<seq>
	  <cue dur="0.100s"/>
	  <cue dur="0.200s"/>
	  <cue dur="0.300s"/>
	  <cue dur="0.400s"/>
	</seq>

	The semantics of seq is such that the combined duration equals the seq duration. If you need something specified in parallel to seq, then you wrap the seq and the other thing in a par.

	===========================================

	If temporal flow in TT-AF is possible - then it would be desirable to be able to move a region using a style animation - without 'knowing' the content of the region. 
	
	GA: We have included origin as an animatable style property in R505. 

	Consider: you have some text that you are flowing into a region under UA temporal flow - but halfway through the display of the text (and you have only specified an overall start and end point) - you need to move the display region because it is obscuring some important part of the picture. 

	GA: This would be no problem according to our current thinking. You use animate display to flow the text into the region, then you independently animate origin to move the region.

	Eg. a Magic show - the subtitles are most of the time at the bottom of the screen - magician is talking about something - but halfway through you want to see his hands - so you need to move the subtitle region to the top of the screen - then later it can go back down.

	An example of how style and text are not intrinsically linked. (or is it just that style should not include layout :-)

	regards 
	John Birch 

	The views and opinions expressed are the author's own and do not necessarily 
	reflect the views and opinions of Screen Subtitling Systems Limited.
Received on Friday, 8 August 2003 10:41:54 GMT

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