CA2439733A1 - Time references for multimedia objects - Google Patents
Time references for multimedia objects Download PDFInfo
- Publication number
- CA2439733A1 CA2439733A1 CA002439733A CA2439733A CA2439733A1 CA 2439733 A1 CA2439733 A1 CA 2439733A1 CA 002439733 A CA002439733 A CA 002439733A CA 2439733 A CA2439733 A CA 2439733A CA 2439733 A1 CA2439733 A1 CA 2439733A1
- Authority
- CA
- Canada
- Prior art keywords
- elements
- document
- multimedia
- multimedia objects
- timing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Landscapes
- Television Signal Processing For Recording (AREA)
- Management Or Editing Of Information On Record Carriers (AREA)
- Indexing, Searching, Synchronizing, And The Amount Of Synchronization Travel Of Record Carriers (AREA)
- Document Processing Apparatus (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Signal Processing For Digital Recording And Reproducing (AREA)
- Processing Or Creating Images (AREA)
- Machine Translation (AREA)
Abstract
The present disclosure relates to providing timing references to multimedia objects that are reference by a separate document that contains elements that particular reference the multimedia objects. The elements are associated with other elements that may be part of another external document. The elements of the external document are grouped in time containers that describe when the elements are to be rendered, which describes when the elements of the separate document are to be rendered, and describes when the multimedia objects are to be rendered. Other documents may receive a rendition timing from association with the separate document. An event listener element may be included in the external document that is responsive to events affecting elements in the separate document.
Description
PRIORITY TO PROVISIONAL APPLICATION
This application claims priority to provisional application serial number 60/416,976 filed October 7, 2002.
s II TECHNICAL FIELD
The systems and methods described herein relate to associating time with multimedia objects and specifically to systems and methods that provide and/or a redefine time references for multimedia objects.
BACKGROUND
Multimedia presentations are made up of discrete multimedia or audio video (A,~V) objects (multimedia objects). Multimedia objects may originate from one source such as a digital versatile disc (DVD) disc played on a drive on a ~a personal computer (PC). In other cases multimedia objects may originate from ~s (i.e., streamed from) multiple sources and played at a common destination.
For as example, multimedia objects may originate from multiple websites and played at a PC. Multimedia presentations may include and combine multimedia objects from videotape, a television broadcast, DVD, and from a website on the Internet (i.e., ~s ~~ evolving web broadcast).
2o Multimedia objects include A/V frames, pictures, video clips, audio clips, and audio samples. Various formats may describe multimedia objects and include Zz static image, animation, video, and text formats. Static image formats include 23 portable network graphics (PNG), joint photographic experts group (JPEG), and 24 motion picture experts group (MPEG). Animation formats include multiple-image 25 network graphics (MNG). Video formats include MPEG video, audio video IeeQlhayes~c soa~ma=S6 1 G:\MSI-I\IS48us4'~lSl-IS48US.pat.app.doc interleave (AVI) and various streaming formats. Text formats include extensible z markup language (XML), hypertext markup language (HTML), and extensible HTML (XHTML).
Synchronized . multimedia integration language (SMIL) is a declarative language for describing structural, spatial and temporal effects such as animation 6 in a presentation. A SMIL listing or document describes when multimedia objects are displayed. In particular, a SMIL document makes use of "time containers"
8 that group data (i.e., multimedia objects). SMIL time containers include a tag <par> which "plays" pieces of data in parallel (i.e., the same time); a tag <seq>
which plays data sequentially (i.e. one after the other in the time container list);
» and a tag <excl> which plays a piece of data exclusive of other data (i.e., no 1z particular sequence).
Although data or media objects may originate from one or multiple sources, when using SMIL, data or media objects must be "linked" together by a single ~5 SMIL document. In other words, the single SMIL document is needed to link multimedia objects with one another.
An "element" is a basic unit of an XML document. An element can include ~s other elements and text, and begins with an opening tag <name>, and ends with a ~9 closing tag </name>. Tags that begin with <?, and end with ?> are processing 2o instructions that specify particular style sheets to be used. Style sheets are distinct 21 documents that define format for tags of an XML document.
22 XML tags identify and describe data or multimedia objects that are 2s contained in or referenced by the element. Attributes in the element further 2a describe the purpose and content of data or multimedia elements of the element.
IeeQ~nayes~ sa9.~z..,zss 2 GaMSI-ItlS48ustlvlSl-IS48US.pat.app.doc Data that is part of an XML document, in particular an element, is available to
This application claims priority to provisional application serial number 60/416,976 filed October 7, 2002.
s II TECHNICAL FIELD
The systems and methods described herein relate to associating time with multimedia objects and specifically to systems and methods that provide and/or a redefine time references for multimedia objects.
BACKGROUND
Multimedia presentations are made up of discrete multimedia or audio video (A,~V) objects (multimedia objects). Multimedia objects may originate from one source such as a digital versatile disc (DVD) disc played on a drive on a ~a personal computer (PC). In other cases multimedia objects may originate from ~s (i.e., streamed from) multiple sources and played at a common destination.
For as example, multimedia objects may originate from multiple websites and played at a PC. Multimedia presentations may include and combine multimedia objects from videotape, a television broadcast, DVD, and from a website on the Internet (i.e., ~s ~~ evolving web broadcast).
2o Multimedia objects include A/V frames, pictures, video clips, audio clips, and audio samples. Various formats may describe multimedia objects and include Zz static image, animation, video, and text formats. Static image formats include 23 portable network graphics (PNG), joint photographic experts group (JPEG), and 24 motion picture experts group (MPEG). Animation formats include multiple-image 25 network graphics (MNG). Video formats include MPEG video, audio video IeeQlhayes~c soa~ma=S6 1 G:\MSI-I\IS48us4'~lSl-IS48US.pat.app.doc interleave (AVI) and various streaming formats. Text formats include extensible z markup language (XML), hypertext markup language (HTML), and extensible HTML (XHTML).
Synchronized . multimedia integration language (SMIL) is a declarative language for describing structural, spatial and temporal effects such as animation 6 in a presentation. A SMIL listing or document describes when multimedia objects are displayed. In particular, a SMIL document makes use of "time containers"
8 that group data (i.e., multimedia objects). SMIL time containers include a tag <par> which "plays" pieces of data in parallel (i.e., the same time); a tag <seq>
which plays data sequentially (i.e. one after the other in the time container list);
» and a tag <excl> which plays a piece of data exclusive of other data (i.e., no 1z particular sequence).
Although data or media objects may originate from one or multiple sources, when using SMIL, data or media objects must be "linked" together by a single ~5 SMIL document. In other words, the single SMIL document is needed to link multimedia objects with one another.
An "element" is a basic unit of an XML document. An element can include ~s other elements and text, and begins with an opening tag <name>, and ends with a ~9 closing tag </name>. Tags that begin with <?, and end with ?> are processing 2o instructions that specify particular style sheets to be used. Style sheets are distinct 21 documents that define format for tags of an XML document.
22 XML tags identify and describe data or multimedia objects that are 2s contained in or referenced by the element. Attributes in the element further 2a describe the purpose and content of data or multimedia elements of the element.
IeeQ~nayes~ sa9.~z..,zss 2 GaMSI-ItlS48ustlvlSl-IS48US.pat.app.doc Data that is part of an XML document, in particular an element, is available to
2 other XML documents.
Associated with an XML document are schemas used to describe which 4 tags may be used in whichXML documents. Such schemas include tag formatting s performed by eXtensible Stylesheet Language for Formatting Objects (XSL-FO) s or cascading style sheets.
An XSL-FO document is a transformed XML document that contains s ~ information as to structure and appearance.
External style sheets may be provided as a reference for documents as to ~o structure and appearance information. In other words, external style sheets ~1 provide the ability to describe appearance and structure of objects in other 12 documents; however, external style sheets and XML documents do have the ~3 ability to describe when objects are to be played or presented.
~a XML does not provide temporal reference for multimedia objects. SMIL
1s provides the temporal reference for multimedia objects; however, SMIL is is relatively inflexible and requires that multimedia objects be reference directly by a 1~ single SMIL document. In other words, unlike extensible textual markup ~8 languages like XML, SMIL does not allow documents to control other documents.
Ts SUMMARY
2o The systems and methods described herein include referencing multimedia z, objects by elements in a document, wherein those elements are further associated zz with other elements which are arranged to indicate a rendition timing.
z3 In certain embodiments an external document is used to provide the Za rendition timing.
is ~ee6dt~ayesw~ xs.m,.azs< 3 G:\I~tSI-l\17a8us\MS1-I548US.pat.app.doc Particular embodiments provide that the external document is made aware z of events affecting the document.
Associated with an XML document are schemas used to describe which 4 tags may be used in whichXML documents. Such schemas include tag formatting s performed by eXtensible Stylesheet Language for Formatting Objects (XSL-FO) s or cascading style sheets.
An XSL-FO document is a transformed XML document that contains s ~ information as to structure and appearance.
External style sheets may be provided as a reference for documents as to ~o structure and appearance information. In other words, external style sheets ~1 provide the ability to describe appearance and structure of objects in other 12 documents; however, external style sheets and XML documents do have the ~3 ability to describe when objects are to be played or presented.
~a XML does not provide temporal reference for multimedia objects. SMIL
1s provides the temporal reference for multimedia objects; however, SMIL is is relatively inflexible and requires that multimedia objects be reference directly by a 1~ single SMIL document. In other words, unlike extensible textual markup ~8 languages like XML, SMIL does not allow documents to control other documents.
Ts SUMMARY
2o The systems and methods described herein include referencing multimedia z, objects by elements in a document, wherein those elements are further associated zz with other elements which are arranged to indicate a rendition timing.
z3 In certain embodiments an external document is used to provide the Za rendition timing.
is ~ee6dt~ayesw~ xs.m,.azs< 3 G:\I~tSI-l\17a8us\MS1-I548US.pat.app.doc Particular embodiments provide that the external document is made aware z of events affecting the document.
3
4 BRIEF DESCRIPTION OF THE DRAWINGS
s Fig. 1 is a block diagram illustrating a multimedia presentation described s by a relationship of objects, content documents, a timing document, and events affecting elements in a content document.
Fig. 2 is a flow chart illustrating how multimedia objects are provided a s rendition timing.
io Fig. 3 is a block diagram illustrating a system of multimedia broadcasters n providing multimedia objects and presentations to a network connected to ,2 multimedia devices to play the multimedia objects and presentations.
Fig. 4 is a block diagram illustrating a general example of a computer that ~4 may be used as a multimedia device to play multimedia objects based on rendition ~s timings.
is DETAILED DESCRIPTION
Fig. 1 shows documents and objects that are used to define a multimedia ~s presentation 100. Multimedia presentation 100 includes objects 105. Objects 2o may be one or more multimedia objects which are described by various formats 2~ that include static image, animation, video, and text formats. Formats may include 22 P~1TG, JPEG, MPEG, 1~~TG, A~'I, XML, HTML, and XHTML. In this example Za objects 105 include objectl 105(1) and object2 105(2). Although shown as a Za group and originating from a single source (i.e., objects 105), objectl 105(I) and 2s object2 105(2) may originate from different sources.
~2eQ~hayes~c soaaz~.9zss 4 G:~IvISI-111548usUvISI-1548US.pat.app.doc The multimedia presentation 100 includes document DocOl.xml 110.
z DocOl .xml is a "content document" that is formatted in a textual markup language 3 such as X1VIL or SGML (HTML), DocOl.xml 110 includes tagged elements that a reference multimedia objects. The tagged elements of DocOl.xml 110 are s elementl and element2. In this example, the tagged elements of DocOl.xml 110 s reference objectl 105(1) and object? 105(2). A parent element, element n, may include elementl and element2. Element n is considered one level up from s element 1 and element2 .
s An identifier may be used by DocOl.xml 110 to identify element n. Such 1o an identifier may be "ID 1 ". Unique identifiers may also be used to identify > > element 1 and element2.
~z The elements of DocOl.xml 110 as shown as shown as group 112 in Fig. 1 ~s are listed as follows:
'4 ~~ <element n>
'S II <element1 >object1 <lelement1 >
is i »I
~s i <element2>object2<leiement1 >
<lelement n>
In other embodiments elementl and element2 are grouped separately.
zo Multimedia presentation 100 further includes a document Timing.xml 1 I S.
zi Although Doc0l.xml 110 and Timing.xml 115are logically distinct document zz types, they may be packaged together as a single logical file. Timing.xmi 1 I S is a 23 "timing document" that may also formatted in a textual markup language such as za XML. Timing.xml 11 S includes a time container 117 that describe the behavior of zs elementl and element2 of DocOl.xml 110. Time containers provide rendition IeetVnayeS~ sos.m~.szss 5 G:~IvISI-1\1548u5~htSl-15~i8US.pat.app.doc 1 timings for elements that may in turn reference multimedia objects. Tirne 2 container 117 of Timing.xml 115 as shown in Fig. 1 is listed as follows:
3 ~~ <par>
4 ~' <cue select = "element1" />
<cue select = "efement2" />
s </par>
The element "cue" is used to target or reference specific elements in a s timed document. In this example, "cue" is used to reference elementl and element2 of Doc l .xml 110. Doc l .xml 110 is considered a timed document.
Time container 117 illustrated in Timing.xml 1I5 includes an element "par" which is used to group elements, and in particular the "cue" elements that reference element 1 and element2. A time container with the element "par"
provides that elements of the time container are rendered or played at the same time or in parallel with one another. Therefore, in the example listed above, 1s through the use of "cue", elementl and element2 are played or rendered beginning 1s at the same time. Since elementl references objectl 105(1), and element2 references objects 105(2), objectl 105(1) and object2 (105(2) are played or rendered at the same time.
Time containers may also use elements "seq" and "excl" to group particular elements, and multimedia objects referenced by those particular elements. An example of a time container with the element "seq" is as follows:
22~~
IeeQ~hayes~ so9.m'.szs' 6 G:~1S1-I\1548us\IvISI-1548US.pat.app.doc 2, <cue select = "element1" I>
<cue select = "element2" />
4 <Iseq>
In the time container above containing the element "seq", elementl is rendered or played before element2 in the sequence they are listed in the time container. In other words, elementl is rendered after element2 in an ordered list.
Multimedia objects referenced by elementl will be rendered or played before multimedia objects referenced by element2.
An example of a time container with the element "excl" is as follows:
11 I I <excl>
'211 <cue select = "element1" />
<cue select = "element2" I>
</2XC1>
15 In the time container above containing "excl", elementl may be rendered or '6 played before or after element2. The element "excl" provides that elementl or element2 are rendered or played exclusive of one another. It does not matter '$ which order the elements are listed in the time container. Multimedia objects '9 referenced by elementl are rendered or played exclusive of multimedia objects 2° referenced by element2. The time containers, in particular, may use SMIL
2' conventions, with the addition of the <cue> element. The <cue> element in the 22 timing document Timing.xml 115 may have child elements which may describe 23 actions applied to another element "elementi" in the timed document Doc l .xml 24 110.
2s <seq>
leeQlnayesom so9.au-sass 7 G:\MS1-1\I~d8us\MSI-1548US.pat.app.doc 1 An event may take place that affects elements in the timed document 2 DocOl.xml 110. An event is special object that is created when something occurs 3 such as an input from a user. An example of an event is a user pausing play by 4 activating a "pause button".
Events in DocOl.xml may be handled through "EventListener" document s object model (DOM) constructs as defined by the World Wide Web Consortium (W3C). In particular, events may be looked for and handled through a construct 8 defining an element "listener".
s In this example an event "pause button" 120 takes place and may affect 1o elementl or element2 of DocOl.xml 110. Docl.xml 110 may include a listener 11 element 124 that is listed as follows:
12 ~~ <listener 13II event = "pause button"
1s observer = "1D1"
handler = "stop"
/>
The listener element 124 is configured to watch for the event "pause 1s button" 120. "ID1" identifies element n which might be for example, one of element 1 or element2. An element may be a "target" which is affected by the event. For example, elementl and/or element2 may be a target element affected by event "pause button" 120. An "observer" element may or may not be a target zz element, but is made aware of an event that affects elements (i.e., target elements) that are levels below it (i.e., are children elements of a parent observer element).
For example, element n may be an observer when elementl and element2 are lee~hayesa'c sasmx.~sas g G:4~tSl-I\1548us\MS1-1548US.pat.app.doc 1 targets. The observer attribute in element 124 uses the identifier "IDl" to identify 2 element n.
s An attribute "handler" is activated when an event occurs in the target a element. In this example, the attribute handler names an application "stop"
to be s activated. The application "stop" may be a defined instruction within DocOl.xml 6 to instruct elements to pause play.
Since timing document Timing.xml 11 ~ defines timing for timed document s DocOl.xml 110, it may be made aware of event "pause button" 120 affecting 9 elements in DocOl.xml 110.
1o Timing.xml 115 is provided a proxy listener element 126 that is listed as 1111 follows:
<listener = "proxy"
event = "pause button"
1a ~~ observer = pointer to "1D1"
1s ~~ handler = "pause"
16 />
Proxy listener 126 is also configured to look for the event "pause button"
18 120. Instead of an observer attribute that directly identifies element n through 19 identifier "ID1" a pointer to "ID1" is used in an observer attribute of proxy listener Zo element 126. In this example the observer attribute of proxy listener element 126 21 is extended to be a selector (i.e., using a pointer such as Xpointer in XML). The zz syntax "ID 1 " refers to the identifier of an element (i.e., elementn) in Dac01.xml 2s 110, not an element in Timing.xml 115. An attribute handler may be activated za when event "pause button" 120 occurs in a target element (e.g., elementl or zs leel~hayesd~ sosaxmszss 9 G:\IvtSl-I\t~48usWtS1-t5d8US.pat.app.doc 1 ~~ element2). In proxy listener 126, the attribute handler names an application 2 ~ ~ "pause" which instructs time container 117 to pause play.
3 Proxy listener element 126 in the timing document Timing.xml 11 S does 4 not require or rely on having the listener element 124 in DocOl.xml. Proxy listener element 126 points directly at the element using the pointer to "ID1".
6 DocOl.xml 110 may include the behavior of another content document, and specifically elements of the other content document. In this example, elementl s and element 2 of DocOl.xml 110 include the behavior of element3 and element4 9 II of Doc02.xm1 130.
~~ The elements of Doc02.xm1 130 as shown in Fig. 1 are shown conceptually 11 ~~ as follows:
12 I I <element3>element1 </element3>
13 <element4>element2</element4>
In this arrangement Doc02.xm1 may be associated with its own timing document (i.e., a separate Timing2.xm1). Both DocOl.xml and Doc02.xm1 may use the same timing document; however typically this may be a special case of a more general arrangement. Timing document Timing.xml 115 may directly apply to a number of content documents, either directly or indirectly. If timing changes need to be made, they are made to timing document Timing.xml 115 or Timing.xml 115 may be replaced by another timing document that references elements in DocOl.xml 110.
Although Timing.xml 115 is illustrated as an XML document, alternative timing document constructs may apply. For example, a cascading style sheet Iee4Ahayesn~ savaz..szss 10 G:\IvlSl-1\1548usUNS1-lS~l8US.pat.app.doc (CSS) may be used. CSS is defined by the W3C and is a language for completely z describing an XML content document.
s Rendition Timing for Multimedia Objects 4 Fig. 2 shows a process 200 that provides rendition timing to multimedia s objects.
s At block 205, a first set of elements, which may be in a document written in an extensible textual markup language such as XML document DocOl.xml 110 of a Fig. l, references one or more multimedia objects which may originate from one s or more sources. The reference may be performed by particularly calling out the io multimedia objects in elements of the document. The reference may also be performed through the use of pointers in the elements directed to the multimedia 12 objects.
13 At block 210, the first set of elements are associated to a second set of 1a elements which are arranged to indicate timing. The second set of elements may be part of a the first document, where the first document may be an XSL-FO
file.
is In other cases, the second set of elements is in second document such as an external style sheet.
,s At block 215, the second set of elements are arranged to indicate timing.
In particular the arrangement is performed through the use of a time container, such zo as illustrated in timing document Timing.xml 115 of Fig. 1. As described above, z~ the element "cue" is used in timing document Timing.xml 11 S to associate zz elements in the fLrst document DocOl.xml 110.
z3 At block 220, the multimedia objects are rendered based on timing za arrangement of the second set of elements, since the second set of elements are zs associated with first set of elements which reference the multimedia objects.
~ee~ayesw~ sos.~a.-sass 11 G:1MS1-1\1548usVv1S1-1548US.paLapp.doc Exemplary System 2 Fig. 3 shows a system 300 of multimedia devices and broadcasters to 3 provide multimedia objects and multimedia presentations. It is contemplated that a each multimedia object be identified by a particular name. The name may be located in a header or in a file listing of the multimedia object, and may be read by s a multimedia device.
A network 305 includes local area, wide area, private, and public private s nerivorks, including the Internet. Hardwired (e.g., cable) and/or wireless networks s may make up network 305. Network 305 is designed to provide communications (i.e., multimedia objects) from and to various entities.
A television broadcast point 310 provides multimedia presentation in ~2 system 300. Television broadcast point 310 plays multimedia objects from an ~3 A/V source 315. Television broadcast point 310 may intersperse multimedia 1a objects from A/V source 315 with multimedia objects such as commercials or ~5 promotions from an added content source 320.
Television broadcast point 310 is connected to a satellite dish 325 which » uplinks to a satellite 330. Satellite dish 325 transmits signals carrying multimedia 18 objects to satellite 330. A satellite dish 335 downlinks the signals carrying ~s multimedia objects from satellite 130. Network 305 is directly connected to zo satellite dish 335 to receive the multimedia objects. Alternatively network 2~ may be directly connected to television broadcast point 310. Television broadcast 2z point 310 may also transmit radio frequency (F~F) signals carrying the multimedia zs objects through an antenna 340. Such RF signals may be received by various za multimedia devices that include televisions.
IeeQMayesck wsam~szss 12 G:\IvtSl-I\1548us\I~tSI-1548US.pat.app.doc A multimedia device 345 is a standalone unit not coupled to network 305, z but is able receive the multimedia objects from television broadcast point 310.
s Multimedia device 345 includes an AN display unit 345-A which may be a a television set or monitor with a tuner and AN inputs and outputs. Multimedia s device 345 may further include a multimedia player 345-B such as a DVD
player, s and a multimedia recorder 345-C. Multimedia device 345 is connected to an antenna 350 that receives RF signals from sources such as antenna 340, where the s RF signals carry multimedia objects. Multimedia objects may further be received s by multimedia device 345 through a satellite dish 355, where satellite dish 1o receives signals from satellite 330. The multimedia objects and may be recorded > > by multimedia recorder 345-C.
~z Broadcast of multimedia objects may also be performed through the ~3 Internet. Typically, this is known as a "web broadcast" and provides digital ~a transmission of multimedia objects. A web broadcast point 360 may include an is interactive web site accessible through network 305. Web broadcast 360 receives 1s multimedia presentation from an A/V source 365 with interspersed multimedia 1~ objects from an added content source 370. Alternatively such objects may come ~8 from other sources.
~s Web broadcast point 360 delivers multimedia objects to network 305 for zo access by various multimedia devices connected to network 305.
Alternatively, z1 web broadcast point 360 may deliver multimedia objects through a satellite as zz described above.
z3 A multimedia device 37~ is coupled to network 305 and receives za multimedia objects from various sources including television broadcast point 310 z5 and web broadcast point 360. Multimedia device 375 includes an A/V display unit ~eefalnayesok sosaz..szss 13 G:\,'vlSl-I\1548usVvtS1-1548US.pat.app.doc 375-A which may be a television set or monitor with a tuner and A/V inputs and 2 outputs. Multimedia device 375 may further include a multimedia player 375-B
s such as a DVD player, and a multimedia recorder 375-C. Multimedia objects and 4 interspersed multimedia objects may be recorded by multimedia recorder 375-C.
s Multimedia devices and standalone units include WebTV units, and personal s video recorder (PVR) units. A personal computer 380 may also be considered a ~ multimedia device.
s I A web site 385 illustrates a source from which a multimedia device s accesses additional content such as updated files that may include timing io documents such as Timing.xml 110 of Fig. 1. Broadcast points such as television 1 i broadcast point 310 and web broadcast point 360 may stream new multimedia 2 objects to be sequenced with pre-existing content at various multimedia devices.
3 Exemplary Computer (Multimedia Device) Environment i4 The subject matter is described in the general context of computer-executable instructions, such as program modules, being executed by one or more 6 multimedia devices such as multimedia devices 345, 375, and 380 of Fig. 3.
Generally, program modules include routines, programs, objects, components, data $ structures, etc. that perform particular tasks or implement particular abstract data 19 types. Moreover, those skilled in the art will appreciate that the subject matter 2~ may be practiced with other computer system configurations, including hand-held 2~ devices, multiprocessor systems, microprocessor-based or programmable 22 consumer electronics, network PGs, minicomputers, mainframe computers, and 2s the like. In a distributed computer environment, program modules may be located 24 in both local and remote memory storage devices.
ieeQ~nayes~ ~osaz..sn. 14 G:VvtSl-1\1548usU~tS1-1548US.pat.app.doc Fig. 4 shows a general example of a computer 430 that is used in accordance with the subject matter. Computer 430 is shown as an example of a computer that can perform the functions of a multimedia device. Computer 430 a includes one or more processors or processing units 432, a system memory.
434, s and a bus 436 that couples various system components including the system s memory 434 to processors 432.
The bus 436 represents one or more of any of several types of bus s structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 438 > > and random access memory (RAM) 440. A basic input/output system (BIOS) 442, containing the basic routines that help to transfer information between elements i3 within computer 430, such as during start-up, is stored in ROM 438.
Computer 1a 430 further includes a hard disk drive 444 for reading from and writing to a hard is disk, not shown, a magnetic disk drive 446 for reading from and writing to a is removable magnetic disk 448, and an optical disk drive 450 for reading from or writing to a removable optical disk 452 such as a CD ROM or other optical media.
,8 The hard disk drive 444, magnetic disk drive 446, and optical disk drive 450 are is connected to the bus 436 by an SCSI interface 454 or some other appropriate Zo interface. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program « modules and other data for computer 430.
23 Although the exemplary environment described herein employs a hard disk, 2a a removable magnetic disk 448 and a removable optical disk 452, it should be 25 appreciated by those skilled in the art that other types of computer readable media IeedpMayesok sos.~x..sxss 15 G:'.MS1-1\15~18us1MSl-1548US.pat.app.doc which can store data that is accessible by a computer, such as magnetic cassettes, 2 flash memory cards, digital video disks, random access memories (RAMs) read only memories (ROM), and the like, may also be used in the exemplary operating a environment.
A number of program modules may be stored on the hard disk, magnetic s disk 448, optical disk 452, ROM 438, or RAM 440, including an operating system 458, one or more application programs 460, other program modules 462, and program data 464.
s A user may enter commands and information into computer 430 through io input devices such as keyboard 466 and pointing device 468. Other input devices o (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, 12 or the like. These and other input devices are connected to the processing unit 432 ~s through interface 470 that is coupled to bus 436. Monitor 472 or other type of ,a display device is also connected to bus 436 via an interface, such as video adapter ,5 474.
is Computer 430 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 476.
The remote computer 476 may be another personal computer, a server, a router, a 1s network PC, a peer device or other common network node, and typically includes 2o many or all of the elements described above relative to computer 430, although only a memory storage device 478 has been illustrated in Fig. 4. The logical 22 connections depicted in Fig. 4 include a local area nctw~ork (LAN) 480 and a wide 23 area network (WAN) 482. Such networking environments are commonplace in za offices, enterprise-wide computer networks, intranets, and the Internet.
lee~hayesw~ »soa.wxss 16 G:\MSI-1\ISdBusVvtSl-1548US.pat.app.doc When used in a LAN networking environment, computer 430 is connected to the local network 4$0 through a network interface or adapter 484. When used s in a WAN networking environment, computer 430 typically includes a modem 486 4 or other means for establishing communications over the wide area network 482, s such as the Internet. The modem 486, which may be internal or external, is s connected to the bus 436 via a serial port interface 456. In a networked i environment, program modules depicted relative to the personal computer 430, or 8 portions thereof, may be stored in the remote memory storage device. It will be s appreciated that the network connections shown are exemplary and other means of ,o establishing a communications link between the computers may be used.
Generally, the data processors of computer 430 are programmed by means 12 of instructions stored at different times in the various computer-readable storage i3 media of the computer. Programs and operating systems are typically distributed, ~4 for example, on floppy disks or CD-ROMs. From there, they are installed or is loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory.
The subject matter described herein includes these and other various types ~8 of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in reference to Fig. 4 in 2o conjunction with a microprocessor or other data processor.
The subject matter also includes the computer itself when programmed 22 according to the methods and techniques described below. Further-nore, certain.
z3 sub-components of the computer may be programmed to perform the functions 24 and steps described below. The subject matter includes such sub-components 2s when they are programmed as described. In addition, the subject matter described ~ee6E~nayes,.~ sosau.sus 17 G:V~tSI-1\I~48usU~tS1-I548US.pat.app.doc 1 herein includes data structures, described below, as embodied on various types of 2 memory media.
3 For purposes of illustration, data, programs and other executable program components, such as the operating system are illustrated herein as discrete blocks, s although it is recognized that such programs and components reside at various 6 times in different storage components of the computer, and are executed by the 7 data processors) of the computer.
8 Although the invention has been described in language specific to structural s features andlor methodological acts, it is to be understood that the invention 1o defined in the appended claims is not necessarily limited to the specific features or 11 acts described. Rather, the specific features and acts are disclosed as exemplary 12 forms of implementing the claimed invention.
2$I~
IEe~hayesys so9az.~szss Ic~ G:VYISI-I\1548u5~~~151-!$48US.pat.app.doc
s Fig. 1 is a block diagram illustrating a multimedia presentation described s by a relationship of objects, content documents, a timing document, and events affecting elements in a content document.
Fig. 2 is a flow chart illustrating how multimedia objects are provided a s rendition timing.
io Fig. 3 is a block diagram illustrating a system of multimedia broadcasters n providing multimedia objects and presentations to a network connected to ,2 multimedia devices to play the multimedia objects and presentations.
Fig. 4 is a block diagram illustrating a general example of a computer that ~4 may be used as a multimedia device to play multimedia objects based on rendition ~s timings.
is DETAILED DESCRIPTION
Fig. 1 shows documents and objects that are used to define a multimedia ~s presentation 100. Multimedia presentation 100 includes objects 105. Objects 2o may be one or more multimedia objects which are described by various formats 2~ that include static image, animation, video, and text formats. Formats may include 22 P~1TG, JPEG, MPEG, 1~~TG, A~'I, XML, HTML, and XHTML. In this example Za objects 105 include objectl 105(1) and object2 105(2). Although shown as a Za group and originating from a single source (i.e., objects 105), objectl 105(I) and 2s object2 105(2) may originate from different sources.
~2eQ~hayes~c soaaz~.9zss 4 G:~IvISI-111548usUvISI-1548US.pat.app.doc The multimedia presentation 100 includes document DocOl.xml 110.
z DocOl .xml is a "content document" that is formatted in a textual markup language 3 such as X1VIL or SGML (HTML), DocOl.xml 110 includes tagged elements that a reference multimedia objects. The tagged elements of DocOl.xml 110 are s elementl and element2. In this example, the tagged elements of DocOl.xml 110 s reference objectl 105(1) and object? 105(2). A parent element, element n, may include elementl and element2. Element n is considered one level up from s element 1 and element2 .
s An identifier may be used by DocOl.xml 110 to identify element n. Such 1o an identifier may be "ID 1 ". Unique identifiers may also be used to identify > > element 1 and element2.
~z The elements of DocOl.xml 110 as shown as shown as group 112 in Fig. 1 ~s are listed as follows:
'4 ~~ <element n>
'S II <element1 >object1 <lelement1 >
is i »I
~s i <element2>object2<leiement1 >
<lelement n>
In other embodiments elementl and element2 are grouped separately.
zo Multimedia presentation 100 further includes a document Timing.xml 1 I S.
zi Although Doc0l.xml 110 and Timing.xml 115are logically distinct document zz types, they may be packaged together as a single logical file. Timing.xmi 1 I S is a 23 "timing document" that may also formatted in a textual markup language such as za XML. Timing.xml 11 S includes a time container 117 that describe the behavior of zs elementl and element2 of DocOl.xml 110. Time containers provide rendition IeetVnayeS~ sos.m~.szss 5 G:~IvISI-1\1548u5~htSl-15~i8US.pat.app.doc 1 timings for elements that may in turn reference multimedia objects. Tirne 2 container 117 of Timing.xml 115 as shown in Fig. 1 is listed as follows:
3 ~~ <par>
4 ~' <cue select = "element1" />
<cue select = "efement2" />
s </par>
The element "cue" is used to target or reference specific elements in a s timed document. In this example, "cue" is used to reference elementl and element2 of Doc l .xml 110. Doc l .xml 110 is considered a timed document.
Time container 117 illustrated in Timing.xml 1I5 includes an element "par" which is used to group elements, and in particular the "cue" elements that reference element 1 and element2. A time container with the element "par"
provides that elements of the time container are rendered or played at the same time or in parallel with one another. Therefore, in the example listed above, 1s through the use of "cue", elementl and element2 are played or rendered beginning 1s at the same time. Since elementl references objectl 105(1), and element2 references objects 105(2), objectl 105(1) and object2 (105(2) are played or rendered at the same time.
Time containers may also use elements "seq" and "excl" to group particular elements, and multimedia objects referenced by those particular elements. An example of a time container with the element "seq" is as follows:
22~~
IeeQ~hayes~ so9.m'.szs' 6 G:~1S1-I\1548us\IvISI-1548US.pat.app.doc 2, <cue select = "element1" I>
<cue select = "element2" />
4 <Iseq>
In the time container above containing the element "seq", elementl is rendered or played before element2 in the sequence they are listed in the time container. In other words, elementl is rendered after element2 in an ordered list.
Multimedia objects referenced by elementl will be rendered or played before multimedia objects referenced by element2.
An example of a time container with the element "excl" is as follows:
11 I I <excl>
'211 <cue select = "element1" />
<cue select = "element2" I>
</2XC1>
15 In the time container above containing "excl", elementl may be rendered or '6 played before or after element2. The element "excl" provides that elementl or element2 are rendered or played exclusive of one another. It does not matter '$ which order the elements are listed in the time container. Multimedia objects '9 referenced by elementl are rendered or played exclusive of multimedia objects 2° referenced by element2. The time containers, in particular, may use SMIL
2' conventions, with the addition of the <cue> element. The <cue> element in the 22 timing document Timing.xml 115 may have child elements which may describe 23 actions applied to another element "elementi" in the timed document Doc l .xml 24 110.
2s <seq>
leeQlnayesom so9.au-sass 7 G:\MS1-1\I~d8us\MSI-1548US.pat.app.doc 1 An event may take place that affects elements in the timed document 2 DocOl.xml 110. An event is special object that is created when something occurs 3 such as an input from a user. An example of an event is a user pausing play by 4 activating a "pause button".
Events in DocOl.xml may be handled through "EventListener" document s object model (DOM) constructs as defined by the World Wide Web Consortium (W3C). In particular, events may be looked for and handled through a construct 8 defining an element "listener".
s In this example an event "pause button" 120 takes place and may affect 1o elementl or element2 of DocOl.xml 110. Docl.xml 110 may include a listener 11 element 124 that is listed as follows:
12 ~~ <listener 13II event = "pause button"
1s observer = "1D1"
handler = "stop"
/>
The listener element 124 is configured to watch for the event "pause 1s button" 120. "ID1" identifies element n which might be for example, one of element 1 or element2. An element may be a "target" which is affected by the event. For example, elementl and/or element2 may be a target element affected by event "pause button" 120. An "observer" element may or may not be a target zz element, but is made aware of an event that affects elements (i.e., target elements) that are levels below it (i.e., are children elements of a parent observer element).
For example, element n may be an observer when elementl and element2 are lee~hayesa'c sasmx.~sas g G:4~tSl-I\1548us\MS1-1548US.pat.app.doc 1 targets. The observer attribute in element 124 uses the identifier "IDl" to identify 2 element n.
s An attribute "handler" is activated when an event occurs in the target a element. In this example, the attribute handler names an application "stop"
to be s activated. The application "stop" may be a defined instruction within DocOl.xml 6 to instruct elements to pause play.
Since timing document Timing.xml 11 ~ defines timing for timed document s DocOl.xml 110, it may be made aware of event "pause button" 120 affecting 9 elements in DocOl.xml 110.
1o Timing.xml 115 is provided a proxy listener element 126 that is listed as 1111 follows:
<listener = "proxy"
event = "pause button"
1a ~~ observer = pointer to "1D1"
1s ~~ handler = "pause"
16 />
Proxy listener 126 is also configured to look for the event "pause button"
18 120. Instead of an observer attribute that directly identifies element n through 19 identifier "ID1" a pointer to "ID1" is used in an observer attribute of proxy listener Zo element 126. In this example the observer attribute of proxy listener element 126 21 is extended to be a selector (i.e., using a pointer such as Xpointer in XML). The zz syntax "ID 1 " refers to the identifier of an element (i.e., elementn) in Dac01.xml 2s 110, not an element in Timing.xml 115. An attribute handler may be activated za when event "pause button" 120 occurs in a target element (e.g., elementl or zs leel~hayesd~ sosaxmszss 9 G:\IvtSl-I\t~48usWtS1-t5d8US.pat.app.doc 1 ~~ element2). In proxy listener 126, the attribute handler names an application 2 ~ ~ "pause" which instructs time container 117 to pause play.
3 Proxy listener element 126 in the timing document Timing.xml 11 S does 4 not require or rely on having the listener element 124 in DocOl.xml. Proxy listener element 126 points directly at the element using the pointer to "ID1".
6 DocOl.xml 110 may include the behavior of another content document, and specifically elements of the other content document. In this example, elementl s and element 2 of DocOl.xml 110 include the behavior of element3 and element4 9 II of Doc02.xm1 130.
~~ The elements of Doc02.xm1 130 as shown in Fig. 1 are shown conceptually 11 ~~ as follows:
12 I I <element3>element1 </element3>
13 <element4>element2</element4>
In this arrangement Doc02.xm1 may be associated with its own timing document (i.e., a separate Timing2.xm1). Both DocOl.xml and Doc02.xm1 may use the same timing document; however typically this may be a special case of a more general arrangement. Timing document Timing.xml 115 may directly apply to a number of content documents, either directly or indirectly. If timing changes need to be made, they are made to timing document Timing.xml 115 or Timing.xml 115 may be replaced by another timing document that references elements in DocOl.xml 110.
Although Timing.xml 115 is illustrated as an XML document, alternative timing document constructs may apply. For example, a cascading style sheet Iee4Ahayesn~ savaz..szss 10 G:\IvlSl-1\1548usUNS1-lS~l8US.pat.app.doc (CSS) may be used. CSS is defined by the W3C and is a language for completely z describing an XML content document.
s Rendition Timing for Multimedia Objects 4 Fig. 2 shows a process 200 that provides rendition timing to multimedia s objects.
s At block 205, a first set of elements, which may be in a document written in an extensible textual markup language such as XML document DocOl.xml 110 of a Fig. l, references one or more multimedia objects which may originate from one s or more sources. The reference may be performed by particularly calling out the io multimedia objects in elements of the document. The reference may also be performed through the use of pointers in the elements directed to the multimedia 12 objects.
13 At block 210, the first set of elements are associated to a second set of 1a elements which are arranged to indicate timing. The second set of elements may be part of a the first document, where the first document may be an XSL-FO
file.
is In other cases, the second set of elements is in second document such as an external style sheet.
,s At block 215, the second set of elements are arranged to indicate timing.
In particular the arrangement is performed through the use of a time container, such zo as illustrated in timing document Timing.xml 115 of Fig. 1. As described above, z~ the element "cue" is used in timing document Timing.xml 11 S to associate zz elements in the fLrst document DocOl.xml 110.
z3 At block 220, the multimedia objects are rendered based on timing za arrangement of the second set of elements, since the second set of elements are zs associated with first set of elements which reference the multimedia objects.
~ee~ayesw~ sos.~a.-sass 11 G:1MS1-1\1548usVv1S1-1548US.paLapp.doc Exemplary System 2 Fig. 3 shows a system 300 of multimedia devices and broadcasters to 3 provide multimedia objects and multimedia presentations. It is contemplated that a each multimedia object be identified by a particular name. The name may be located in a header or in a file listing of the multimedia object, and may be read by s a multimedia device.
A network 305 includes local area, wide area, private, and public private s nerivorks, including the Internet. Hardwired (e.g., cable) and/or wireless networks s may make up network 305. Network 305 is designed to provide communications (i.e., multimedia objects) from and to various entities.
A television broadcast point 310 provides multimedia presentation in ~2 system 300. Television broadcast point 310 plays multimedia objects from an ~3 A/V source 315. Television broadcast point 310 may intersperse multimedia 1a objects from A/V source 315 with multimedia objects such as commercials or ~5 promotions from an added content source 320.
Television broadcast point 310 is connected to a satellite dish 325 which » uplinks to a satellite 330. Satellite dish 325 transmits signals carrying multimedia 18 objects to satellite 330. A satellite dish 335 downlinks the signals carrying ~s multimedia objects from satellite 130. Network 305 is directly connected to zo satellite dish 335 to receive the multimedia objects. Alternatively network 2~ may be directly connected to television broadcast point 310. Television broadcast 2z point 310 may also transmit radio frequency (F~F) signals carrying the multimedia zs objects through an antenna 340. Such RF signals may be received by various za multimedia devices that include televisions.
IeeQMayesck wsam~szss 12 G:\IvtSl-I\1548us\I~tSI-1548US.pat.app.doc A multimedia device 345 is a standalone unit not coupled to network 305, z but is able receive the multimedia objects from television broadcast point 310.
s Multimedia device 345 includes an AN display unit 345-A which may be a a television set or monitor with a tuner and AN inputs and outputs. Multimedia s device 345 may further include a multimedia player 345-B such as a DVD
player, s and a multimedia recorder 345-C. Multimedia device 345 is connected to an antenna 350 that receives RF signals from sources such as antenna 340, where the s RF signals carry multimedia objects. Multimedia objects may further be received s by multimedia device 345 through a satellite dish 355, where satellite dish 1o receives signals from satellite 330. The multimedia objects and may be recorded > > by multimedia recorder 345-C.
~z Broadcast of multimedia objects may also be performed through the ~3 Internet. Typically, this is known as a "web broadcast" and provides digital ~a transmission of multimedia objects. A web broadcast point 360 may include an is interactive web site accessible through network 305. Web broadcast 360 receives 1s multimedia presentation from an A/V source 365 with interspersed multimedia 1~ objects from an added content source 370. Alternatively such objects may come ~8 from other sources.
~s Web broadcast point 360 delivers multimedia objects to network 305 for zo access by various multimedia devices connected to network 305.
Alternatively, z1 web broadcast point 360 may deliver multimedia objects through a satellite as zz described above.
z3 A multimedia device 37~ is coupled to network 305 and receives za multimedia objects from various sources including television broadcast point 310 z5 and web broadcast point 360. Multimedia device 375 includes an A/V display unit ~eefalnayesok sosaz..szss 13 G:\,'vlSl-I\1548usVvtS1-1548US.pat.app.doc 375-A which may be a television set or monitor with a tuner and A/V inputs and 2 outputs. Multimedia device 375 may further include a multimedia player 375-B
s such as a DVD player, and a multimedia recorder 375-C. Multimedia objects and 4 interspersed multimedia objects may be recorded by multimedia recorder 375-C.
s Multimedia devices and standalone units include WebTV units, and personal s video recorder (PVR) units. A personal computer 380 may also be considered a ~ multimedia device.
s I A web site 385 illustrates a source from which a multimedia device s accesses additional content such as updated files that may include timing io documents such as Timing.xml 110 of Fig. 1. Broadcast points such as television 1 i broadcast point 310 and web broadcast point 360 may stream new multimedia 2 objects to be sequenced with pre-existing content at various multimedia devices.
3 Exemplary Computer (Multimedia Device) Environment i4 The subject matter is described in the general context of computer-executable instructions, such as program modules, being executed by one or more 6 multimedia devices such as multimedia devices 345, 375, and 380 of Fig. 3.
Generally, program modules include routines, programs, objects, components, data $ structures, etc. that perform particular tasks or implement particular abstract data 19 types. Moreover, those skilled in the art will appreciate that the subject matter 2~ may be practiced with other computer system configurations, including hand-held 2~ devices, multiprocessor systems, microprocessor-based or programmable 22 consumer electronics, network PGs, minicomputers, mainframe computers, and 2s the like. In a distributed computer environment, program modules may be located 24 in both local and remote memory storage devices.
ieeQ~nayes~ ~osaz..sn. 14 G:VvtSl-1\1548usU~tS1-1548US.pat.app.doc Fig. 4 shows a general example of a computer 430 that is used in accordance with the subject matter. Computer 430 is shown as an example of a computer that can perform the functions of a multimedia device. Computer 430 a includes one or more processors or processing units 432, a system memory.
434, s and a bus 436 that couples various system components including the system s memory 434 to processors 432.
The bus 436 represents one or more of any of several types of bus s structures, including a memory bus or memory controller, a peripheral bus, an accelerated graphics port, and a processor or local bus using any of a variety of bus architectures. The system memory includes read only memory (ROM) 438 > > and random access memory (RAM) 440. A basic input/output system (BIOS) 442, containing the basic routines that help to transfer information between elements i3 within computer 430, such as during start-up, is stored in ROM 438.
Computer 1a 430 further includes a hard disk drive 444 for reading from and writing to a hard is disk, not shown, a magnetic disk drive 446 for reading from and writing to a is removable magnetic disk 448, and an optical disk drive 450 for reading from or writing to a removable optical disk 452 such as a CD ROM or other optical media.
,8 The hard disk drive 444, magnetic disk drive 446, and optical disk drive 450 are is connected to the bus 436 by an SCSI interface 454 or some other appropriate Zo interface. The drives and their associated computer-readable media provide nonvolatile storage of computer readable instructions, data structures, program « modules and other data for computer 430.
23 Although the exemplary environment described herein employs a hard disk, 2a a removable magnetic disk 448 and a removable optical disk 452, it should be 25 appreciated by those skilled in the art that other types of computer readable media IeedpMayesok sos.~x..sxss 15 G:'.MS1-1\15~18us1MSl-1548US.pat.app.doc which can store data that is accessible by a computer, such as magnetic cassettes, 2 flash memory cards, digital video disks, random access memories (RAMs) read only memories (ROM), and the like, may also be used in the exemplary operating a environment.
A number of program modules may be stored on the hard disk, magnetic s disk 448, optical disk 452, ROM 438, or RAM 440, including an operating system 458, one or more application programs 460, other program modules 462, and program data 464.
s A user may enter commands and information into computer 430 through io input devices such as keyboard 466 and pointing device 468. Other input devices o (not shown) may include a microphone, joystick, game pad, satellite dish, scanner, 12 or the like. These and other input devices are connected to the processing unit 432 ~s through interface 470 that is coupled to bus 436. Monitor 472 or other type of ,a display device is also connected to bus 436 via an interface, such as video adapter ,5 474.
is Computer 430 operates in a networked environment using logical connections to one or more remote computers, such as a remote computer 476.
The remote computer 476 may be another personal computer, a server, a router, a 1s network PC, a peer device or other common network node, and typically includes 2o many or all of the elements described above relative to computer 430, although only a memory storage device 478 has been illustrated in Fig. 4. The logical 22 connections depicted in Fig. 4 include a local area nctw~ork (LAN) 480 and a wide 23 area network (WAN) 482. Such networking environments are commonplace in za offices, enterprise-wide computer networks, intranets, and the Internet.
lee~hayesw~ »soa.wxss 16 G:\MSI-1\ISdBusVvtSl-1548US.pat.app.doc When used in a LAN networking environment, computer 430 is connected to the local network 4$0 through a network interface or adapter 484. When used s in a WAN networking environment, computer 430 typically includes a modem 486 4 or other means for establishing communications over the wide area network 482, s such as the Internet. The modem 486, which may be internal or external, is s connected to the bus 436 via a serial port interface 456. In a networked i environment, program modules depicted relative to the personal computer 430, or 8 portions thereof, may be stored in the remote memory storage device. It will be s appreciated that the network connections shown are exemplary and other means of ,o establishing a communications link between the computers may be used.
Generally, the data processors of computer 430 are programmed by means 12 of instructions stored at different times in the various computer-readable storage i3 media of the computer. Programs and operating systems are typically distributed, ~4 for example, on floppy disks or CD-ROMs. From there, they are installed or is loaded into the secondary memory of a computer. At execution, they are loaded at least partially into the computer's primary electronic memory.
The subject matter described herein includes these and other various types ~8 of computer-readable storage media when such media contain instructions or programs for implementing the steps described below in reference to Fig. 4 in 2o conjunction with a microprocessor or other data processor.
The subject matter also includes the computer itself when programmed 22 according to the methods and techniques described below. Further-nore, certain.
z3 sub-components of the computer may be programmed to perform the functions 24 and steps described below. The subject matter includes such sub-components 2s when they are programmed as described. In addition, the subject matter described ~ee6E~nayes,.~ sosau.sus 17 G:V~tSI-1\I~48usU~tS1-I548US.pat.app.doc 1 herein includes data structures, described below, as embodied on various types of 2 memory media.
3 For purposes of illustration, data, programs and other executable program components, such as the operating system are illustrated herein as discrete blocks, s although it is recognized that such programs and components reside at various 6 times in different storage components of the computer, and are executed by the 7 data processors) of the computer.
8 Although the invention has been described in language specific to structural s features andlor methodological acts, it is to be understood that the invention 1o defined in the appended claims is not necessarily limited to the specific features or 11 acts described. Rather, the specific features and acts are disclosed as exemplary 12 forms of implementing the claimed invention.
2$I~
IEe~hayesys so9az.~szss Ic~ G:VYISI-I\1548u5~~~151-!$48US.pat.app.doc
Claims (47)
1. A method comprising:
referencing one or more multimedia objects through a first set of one or more elements;
associating the first set of one or more elements with a second set of one or more elements; and arranging the second set of one or more elements to indicate timing for the multimedia objects referenced by the first set of one or more elements.
referencing one or more multimedia objects through a first set of one or more elements;
associating the first set of one or more elements with a second set of one or more elements; and arranging the second set of one or more elements to indicate timing for the multimedia objects referenced by the first set of one or more elements.
2. The method of claim 1 wherein the referencing is performed by pointers in the first set of one or more elements that point to the multimedia objects.
3. The method of claim 1 wherein the referencing and associating are performed by the same document.
4. The method of claim 1 wherein the arranging is performed through a time container that defines the second set of one or more elements.
5. The method of claim 4 wherein the time container is defined by SMIL conventions.
6. The method of claim 4 wherein the time container defines that the elements of the second set of one or more elements are rendered at the same time.
7. The method of claim 4 wherein the time container defines that the elements of the second set of one or more elements are rendered one after another in an ordered list.
8. The method of claim 4 wherein the time container defines that the elements of the second set of one or more elements are rendered exclusive of one another.
9. The method of claim 1 further comprising rendering of the multimedia objects based on the arranging of the second set of one or more elements.
10. The method of claim 1 further comprising associating the second set of one or more elements with a third set of one or more elements.
11. The method of claim 1 wherein the referencing is performed by a first document and the associating is performed by a second document.
12. The method of claim 11 wherein the first and second documents are written in XML.
13. The method of claim II wherein the first document is written in XML, and the second document is a style sheet.
14. The method of claim 1 further comprising receiving an input to initiate an event affecting an element in the first set of one or more elements and providing a proxy element in the second set of elements that is configured to reference application of the event.
15. The method of claim 14 wherein the arranging is performed through a time container that defines the second set of one or more elements.
16. The method of claim 15 wherein the time container is defined by SMIL conventions.
17. A multimedia device that performs the method of claim 1.
18. A personal computer that performs the method of claim 1.
19. A method comprising:
referencing one or more multimedia objects through a first set of one or more elements in a first document;
associating the first set of one or more elements in the first document to a second set of one or more elements in a second document; and arranging the second set of one or more elements of the second document to indicate timing for the multimedia objects referenced by the first set of one or more elements in the first document.
referencing one or more multimedia objects through a first set of one or more elements in a first document;
associating the first set of one or more elements in the first document to a second set of one or more elements in a second document; and arranging the second set of one or more elements of the second document to indicate timing for the multimedia objects referenced by the first set of one or more elements in the first document.
20. The method of claim 19 wherein the referencing is performed by pointers in the first set of one or more elements in the first document that point to the one or more multimedia objects.
21. The method of claim 19 wherein the arranging is performed through a time container that defines the second set of one or more elements.
22. The method of claim 21 wherein the time container is defined by SMIL conventions.
23. The method of claim 21 wherein the time container defines that the elements of the second set of one or more elements are rendered at the same time.
24. The method of claim 21 wherein the time container defines that the elements of the second set of one or more elements are rendered one after another in an ordered list.
25. The method of claim 21 wherein the time container defines that the elements of the second set of one or more elements are rendered exclusive of one another.
26. The method of claim 19 further comprising associating the second set of one or more elements in the second document to a third set of one or more elements in a third document.
27. The method of claim 26 wherein the first, second, and third documents are written in XML.
28. The method of claim 19 wherein the first and second documents are written in XML.
29. The method of claim 19 wherein the first document is written in XML, and the second document is a style sheet.
30. The method of claim 19 further comprising receiving an input to initiate an event affecting an element in the first set of one or more elements of the first document and providing a proxy element in the second document that is configured to reference initiation of the event.
31. The method of claim 19 wherein the arranging is performed through a time container that defines the second set of one or more elements in the second document.
32. A multimedia device that performs the method of claim 19.
33. A personal computer that performs the method of claim 19.
34. A multimedia device comprising:
a processor; and instructions stored in a memory and executable on the processor configured to associate a first document with a second document through a first set of elements in the first document and a second set of elements in the second document, wherein the first set of elements reference multimedia objects and the second set of elements are arranged to provide a rendition timing for the multimedia objects.
a processor; and instructions stored in a memory and executable on the processor configured to associate a first document with a second document through a first set of elements in the first document and a second set of elements in the second document, wherein the first set of elements reference multimedia objects and the second set of elements are arranged to provide a rendition timing for the multimedia objects.
35. The multimedia device of claim 34 wherein the rendition timing is a time container.
36. The multimedia device of claim 34 wherein the time container is defined by SMIL conventions.
37. The multimedia device of claim 34 wherein the instructions are further configured to associate a third set of elements in a third document with the second set of elements in the second document.
38. The multimedia device of claim 34 wherein the instructions are further configured to receive an event initiating input and inform the second document of occurrence of the event.
39. The multimedia device of claim 34 wherein the instructions are further configured to associate the first set of elements in the first document with a third set of elements in a third document.
40. One or more computer-readable media carrying data structures comprising:
a first content document formatted in a textual markup language having tagged elements that reference one or more multimedia objects; and a timing document formatted in a textual markup language having a plurality of tagged elements; at least some of the tagged elements of the timing document referencing the elements of the first content document; and the tagged elements of the timing document specifying rendition timings for the multimedia objects referenced by the tagged elements of the first content document.
a first content document formatted in a textual markup language having tagged elements that reference one or more multimedia objects; and a timing document formatted in a textual markup language having a plurality of tagged elements; at least some of the tagged elements of the timing document referencing the elements of the first content document; and the tagged elements of the timing document specifying rendition timings for the multimedia objects referenced by the tagged elements of the first content document.
41. The one or more computer readable media of claim 40 wherein the rendition timings are defined by time containers.
42. The one or more computer readable media of claim 40 further comprising a second content document formatted in a textual markup language having tagged elements that reference the tagged elements of the first content document.
43. One or more computer-readable media carrying data structures comprising:
a first document formatted in a textual markup language having a plurality of tagged elements responsive to events; and a second document formatted in a textual markup language having a plurality of tagged elements; at least some of the tagged elements of the second document referencing the events affecting the tagged elements of the first document.
a first document formatted in a textual markup language having a plurality of tagged elements responsive to events; and a second document formatted in a textual markup language having a plurality of tagged elements; at least some of the tagged elements of the second document referencing the events affecting the tagged elements of the first document.
44. The one or more computer-readable media of claim 43 wherein the tagged elements of the second document specify rendition timings for multimedia objects that are referenced by the tagged elements of the first document.
45. A system comprising:
a broadcast point providing multimedia objects; and a multimedia device that receives the multimedia objects, a first document that references the multimedia objects, and second document that provides rendition timing for the multimedia objects.
a broadcast point providing multimedia objects; and a multimedia device that receives the multimedia objects, a first document that references the multimedia objects, and second document that provides rendition timing for the multimedia objects.
46. The system of claim 45 wherein the multimedia device further receives an input that initiates an event in the first document, and informs the second document.
47. The system of claim 45 wherein the multimedia device further receives a third document referenced by the second document.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US41697602P | 2002-10-07 | 2002-10-07 | |
US60/416,976 | 2002-10-07 |
Publications (1)
Publication Number | Publication Date |
---|---|
CA2439733A1 true CA2439733A1 (en) | 2004-04-07 |
Family
ID=32393281
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002439733A Abandoned CA2439733A1 (en) | 2002-10-07 | 2003-09-04 | Time references for multimedia objects |
CA002439737A Abandoned CA2439737A1 (en) | 2002-10-07 | 2003-09-04 | Extented time-code for multimedia presentations |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CA002439737A Abandoned CA2439737A1 (en) | 2002-10-07 | 2003-09-04 | Extented time-code for multimedia presentations |
Country Status (5)
Country | Link |
---|---|
CN (3) | CN1497440A (en) |
BR (2) | BR0304163A (en) |
CA (2) | CA2439733A1 (en) |
MX (2) | MXPA03008767A (en) |
RU (3) | RU2345402C2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8077745B2 (en) | 2007-03-23 | 2011-12-13 | Qualcomm Incorporated | Techniques for unidirectional disabling of audio-video synchronization |
US8612643B2 (en) * | 2007-06-30 | 2013-12-17 | Microsoft Corporation | Interfaces for digital media processing |
US10007734B2 (en) | 2011-11-01 | 2018-06-26 | Microsoft Technology Licensing, Llc | Real time document presentation data synchronization through generic service |
US9936231B2 (en) * | 2012-03-21 | 2018-04-03 | Saturn Licensing Llc | Trigger compaction |
US20150101004A1 (en) * | 2012-06-22 | 2015-04-09 | Sony Corporation | Receiver apparatus and synchronization processing method thereof |
US20140298157A1 (en) * | 2013-03-26 | 2014-10-02 | Samsung Electronics Co., Ltd | Apparatus and method for presenting html page |
US9626068B2 (en) * | 2013-06-06 | 2017-04-18 | Microsoft Technology Licensing, Llc | Automated system for organizing presentation slides |
AU2017290891A1 (en) * | 2016-06-30 | 2019-02-14 | Abrakadabra Reklam ve Yayincilik Limited Sirketi | Digital multimedia platform |
-
2003
- 2003-09-04 CA CA002439733A patent/CA2439733A1/en not_active Abandoned
- 2003-09-04 CA CA002439737A patent/CA2439737A1/en not_active Abandoned
- 2003-09-17 BR BR0304163-8A patent/BR0304163A/en not_active IP Right Cessation
- 2003-09-26 MX MXPA03008767A patent/MXPA03008767A/en unknown
- 2003-09-26 MX MXPA03008768A patent/MXPA03008768A/en unknown
- 2003-09-30 CN CNA031272347A patent/CN1497440A/en active Pending
- 2003-09-30 BR BR0304295-2A patent/BR0304295A/en not_active IP Right Cessation
- 2003-10-06 RU RU2003129663/09A patent/RU2345402C2/en not_active IP Right Cessation
- 2003-10-06 RU RU2003129661/09A patent/RU2342692C2/en not_active IP Right Cessation
- 2003-10-08 CN CNA2009101426975A patent/CN101593542A/en active Pending
- 2003-10-08 CN CNB2003101015612A patent/CN100521761C/en not_active Expired - Fee Related
-
2008
- 2008-08-07 RU RU2008132644/09A patent/RU2008132644A/en unknown
Also Published As
Publication number | Publication date |
---|---|
RU2003129661A (en) | 2005-03-27 |
BR0304295A (en) | 2004-08-31 |
CN100521761C (en) | 2009-07-29 |
RU2003129663A (en) | 2005-03-27 |
CN101593542A (en) | 2009-12-02 |
CN1497440A (en) | 2004-05-19 |
BR0304163A (en) | 2004-08-31 |
MXPA03008768A (en) | 2004-09-10 |
CA2439737A1 (en) | 2004-04-07 |
RU2008132644A (en) | 2010-02-20 |
RU2345402C2 (en) | 2009-01-27 |
RU2342692C2 (en) | 2008-12-27 |
MXPA03008767A (en) | 2004-09-10 |
CN1497971A (en) | 2004-05-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7519616B2 (en) | Time references for multimedia objects | |
US10257587B2 (en) | Integrating continuous and sparse streaming data | |
JP3880517B2 (en) | Document processing method | |
RU2328040C2 (en) | Multimedia data reproducing device, method and structure of audio data receipt | |
US9407891B2 (en) | One-touch recording of a program being advertised | |
EP1224806B1 (en) | System and method for recording pushed data | |
CA2509578C (en) | Data enhanced multi-media system for a set-top terminal | |
RU2292584C2 (en) | Method and device for synchronization of interactive content | |
US7984089B2 (en) | User-defined indexing of multimedia content | |
EP1415473B2 (en) | On-demand interactive magazine | |
KR101485461B1 (en) | Method for providing application using application information table and apparatus thereof | |
US20080115171A1 (en) | Detecting Interruptions in Scheduled Programs | |
JP2012009040A (en) | Bookmark and watch point for selection and performance of media stream | |
CA2659167A1 (en) | Peer to peer media distribution system and method | |
AU2011334634A1 (en) | Content provision | |
KR20040101235A (en) | Method and system for retrieving information about television programs | |
US9219950B2 (en) | Reproduction apparatus, reproduction method, and program | |
KR20110056476A (en) | Multimedia distribution and playback systems and methods using enhanced metadata structures | |
US20100185765A1 (en) | Content information providing and reproducing method and apparatus | |
JP6969013B2 (en) | Synchronous playback method, device and storage medium for media files | |
AU2003244622A1 (en) | Time references for multimedia objects | |
KR101621092B1 (en) | Device and method for scene presentation of structured information | |
CA2439733A1 (en) | Time references for multimedia objects | |
KR102461104B1 (en) | video content replay | |
US10958946B2 (en) | Live time-shifted video play-continuing method and IPTV player |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
EEER | Examination request | ||
FZDE | Dead |