WO2003021416A1 - Method and apparatus for object oriented multimedia editing - Google Patents
Method and apparatus for object oriented multimedia editing Download PDFInfo
- Publication number
- WO2003021416A1 WO2003021416A1 PCT/US2002/027820 US0227820W WO03021416A1 WO 2003021416 A1 WO2003021416 A1 WO 2003021416A1 US 0227820 W US0227820 W US 0227820W WO 03021416 A1 WO03021416 A1 WO 03021416A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- smil
- segments
- type
- icon
- content
- Prior art date
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
- G06F16/48—Retrieval characterised by using metadata, e.g. metadata not derived from the content or metadata generated manually
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/40—Information retrieval; Database structures therefor; File system structures therefor of multimedia data, e.g. slideshows comprising image and additional audio data
Definitions
- the present invention relates to a method and apparatus for editing and creating a multimedia program in a visual workspace.
- Computer-based editing systems for video and audio information are well known, and a number of such systems are commercially available. These typically allow the user of the editing (or production) system, who is referred to as an editor or producer, to create and edit programs from segments or clips of video or audio, and which usually also include text and graphics material.
- links or hyperlinks in audio and/or video multimedia presentations. These links allow the viewer or listener of the program to jump from one program segment to another at his/her election rather than to merely listen or watch the program in a conventional sequential order. Such links are well known in the computer context, but are not so limited.
- the present system allows the producer to more easily produce the programs by allowing him/her to make the associations ("links") between and among program segments in a visual workspace.
- the program produced is thereby not unidirectional (sequential in time only).
- the system allows the producer to edit the programs into a program that does not playback from beginning to end in a unidirectional (time) line, but rather, a program that has associations that allow playback of the produced programs in an order that is determined by the listener (i.e., the programs are interactive).
- Unidirectional editing as described above is known in the prior art (see e.g., U.S. Patent No. 5,892,507, Moorby et al., incorporated by reference in its entirety). This is a type of editing in which multimedia data can be linked together to be played back in the form of a story from beginning to end along a unidirectional (time) line.
- the present system is an improvement on this time-based editing process that producers have used in the past.
- the present system provides a visual workspace, on a single screen, that enables the producer to isolate the segments comprising any program, to convert these segments into objects, to establish non-linear (multi-dimensional) relationships ("links") between and among any number of such objects, and to prepare multimedia programs.
- the benefits of the system over the well-known, time-based editing process include the production of programs more quickly, the reduced need for technical expertise on the part of producers, and the improvement in the quality of programs.
- a system suitable for creating and editing such complex linked programs using a graphical user interface which allows easy linking by ordering icons depicting the various segments on a screen, and providing on the screen a spatial indication of same.
- Figure 1 illustrates a sample screen of the visual workspace.
- Figure 2 illustrates a linking of objects coded with the markup language.
- Figure 3 illustrates a sample view of the composer of FIG. 1, containing header and detail content elements.
- Figure 4 illustrates a sample of a "Player” interface on a general purpose computer that can be used in conjunction with this invention to play the produced program.
- Figure 5 illustrates a flowchart of the production of a program using the present system.
- multimedia programs are created and edited (collectively "produced") using computer software that allows multimedia content (e.g., audio, video, text, graphics) to be displayed as objects on a screen associated with a computer.
- multimedia content e.g., audio, video, text, graphics
- a simple-to-use visual workspace graphical user interface
- the software runs on, e.g., a standard computer executing the Windows 2000 operating system and is coded, e.g., in the C++ computer language.
- Figure 1 shows a sample screen used interactively by the producer (editor);, who is a person.
- This screen 1 is displayed by the software executed on the computer. Coding this software in a suitable language is well within the skill of one of ordinary skill in the art in light of this disclosure.
- the software is an add-on module to the commercially available Multitrack Editor V3.98, part of the DigAS editing system available from D.A.V.I.D. GmbH of Germany.
- the producer views the multimedia files 2 or content in the content explorer 3.
- the content explorer 3 is a box on the screen that displays as icons the multimedia files 2 (program segments) available to the producer for editing.
- the producer can choose among available multimedia data files to produce programs.
- the file icons can be conventionally dragged and dropped (e.g., using a mouse associated with the computer) into the prompter 4, composer 5, and/or waveform editor 6 portions of the computer screen.
- the content explorer 3 contains icons for multimedia files 2, including audio, video, text and graphics files, as well as completed programs. This content (the actual program segments) could come from outside sources such as magazine articles, quiz shows, or audio/video sports and traffic updates. The content could also come from files or records in a computer database. Content is of the type available from LAN, local, and remote sources in, e.g., conventional .wav, .txt, .mp3, .jpg, and .rtf data file formats.
- the composer 5 as illustrated in Figure 1, provides the producer with a visual workspace to produce programs.
- the composer provides a visual representation of the structural parts of the program.
- the composer has three viewing boxes. In these different boxes, the producer can drag and drop multimedia files for viewing or editing.
- the producer can view the segments 10 available for program composition.
- the composer allows the producer to view and edit segments in the navigational viewer 8.
- the story or content in each segment icon is labeled so that the producer can edit the program without having to click each segment icon to determine its contents.
- Each segment 10 is conventionally represented by an icon.
- An unlimited number of content elements 11 are available in the navigational view 8. When the number of content element 11 sets reaches the edge of the composer view, the producer is able to further view the content element 11 sets beyond the edge of the view by conventional scrolling.
- the properties of the segments 10 in the content elements 11, such as the name or length of the segments, can be viewed in a multimedia viewer 7 by suitably selecting a segment.
- the producer can insert, delete, and/or append segments in the composer 5.
- the producer can review and listen to (or view) the content layers (discussed below) within segments in the composer 5 using the view box 9 and the waveform editor 6.
- the producer can examine segments in any order, moving back and forth or up and down between content elements, as illustrated in Fig. 3, and as explained in detail below.
- the producer can also listen to or view header content elements sequentially in the composer.
- the segments 10 are placed in the content elements 11. These content elements are shaped like rectangles in the composer's navigational viewer 8. The content elements 11 are empty until the producer places segments 10 within the content elements 11. These content elements are arranged in levels. Figure 3 shows the arrangement of the content elements into header content elements 12 (top level) and detail content elements 13 (lower level).
- the content elements are either prime, meaning they contain only one segment, or are compound, meaning they contain more than one segment.
- a content element may contain any number of segments.
- Figure 1 illustrates examples of a compound content element 14 and a prime content element 15.
- the producer can scroll within the content element to see the multiple icon segments in the content element on the screen at the same time.
- the producer creates the associations between and among these segments, which here include associations other than merely sequential in time.
- one embodiment of the composer provides a "template" that consists of content elements for header information of a story and content elements for the details of a story.
- a complex type of program is a two-level program.
- a two-level program has (linked) headers and details which are both content elements.
- a header provides, e.g., a short introduction to a story.
- a detail provides, e.g., the body of a story.
- the content elements (icons) are arranged in a template in the composer to make it easier for the producer to make the associations in the program.
- a template can be spatially arranged to have header content elements 12 on the top level and to have detail content elements 13 on the lower level of the composer's navigational viewer 8.
- a template could also be arranged to have a third level of detail content elements.
- the producer uses this third level of detail content elements to arrange segments in the program which further relate to the header or details of the story.
- the third level contains an advertisement for the program, along with an option for the end user to make a purchase.
- the producer could also place a segment with a video clip in the third-level detail content element that would play once the end user made the purchase.
- This third level of content elements is associated with either or both of the other two levels of content elements.
- the producer can via the user interface make any number of associations between and among the header content elements and detail content elements.
- a header content element could be linked with one or more detail content elements.
- a producer could link these by introducing on the screen an explicit relationship graphic line between the header and each of the detail content elements.
- a producer could make a duplicate header content element (using conventional shading or coloring on the icon to indicate it is a duplicate) and copy it on the screen to a location above each of the detail content elements that the producer intends to be associated with the header content element.
- One detail content element could also be shared by (linked to) multiple header content elements using similar linking techniques.
- the prompter 4 allows the producer to create text content and open an existing text file to put into a program.
- the prompter 4 is for viewing and editing text. Text can be imported from a text file or word document or composed directly in the prompter 4.
- the prompter 4 can receive files from the content explorer 3 and from outside applications.
- the prompter 4 allows the producer to mark parts of the text with tags 16 ( Figure 3). The producer can tag parts of text for re-evaluation later in editing process.
- the tags 16 will remain in the prompter 4 as long as any of these remain in text.
- the recorded audio using, for example, conventional text to speech methods
- the recorded audio would be automatically separated into individual segments based on the tags 16 placed in the text.
- the visual workspace also contains a conventional audio waveform editor 6.
- the waveform editor 6 allows the producer to edit audio files and segment audio programs.
- Segments of multimedia data are conventionally created by the producer.
- the producer places a content layer or multiple content layers of multimedia data in the segments.
- the producer can drag and drop multimedia data files 2 (content) from the content explorer 3 into the individual segments that make up a program.
- Figure 2 illustrates in a chart the content layers 18 that make up a segment ( Figure 2 is for conceptual purposes and is not part of the user interface).
- Each content layer contains multimedia data.
- Content layers 18 may contain either audio, video, text or graphics data.
- the editing system also enables the producer to apply differing conventional compression techniques to each content layer within each segment. Different content may need to be compressed at different rates in order to minimize bandwidth consumption in the system. For example, if an audio layer contains music and speech, an author using the editing system can apply a different compression to the music and the speech.
- the segments are coded in a markup language.
- This is done to provide an exportable file using the markup language (ML).
- MLs are routinely used in this context for exportable computer files.
- Figure 2 illustrates the associations that the markup language allows between the segments.
- the segments are coded by the ML so that they can be represented as objects 17.
- the objects 17 are segments, coded with the ML.
- the segment is an object 17, composed of content layers 18. These objects 17 contain the same audio, text, graphics or video content layers 18 that were in the original segments.
- This markup language establishes relationships between and among objects (using well-known hyperlinking technology).
- the ML also enables the graphical user interface ("GUI") on the associated "Player” to interact with the content layers of the objects.
- GUI graphical user interface
- the Player is a receiver unit, as described in the above-referenced patent applications, to which an embodiment of this invention delivers the programs edited by the editing system.
- the graphical user interface depicts a ML multimedia object composed of ML descriptions 19.
- the editing system allows the producer to assemble a markup language multimedia object from multiple source components.
- the program can be played in the visual workspace on a general purpose computer using a Player application program, or can be played using the physical dedicated Player device.
- the computer requires the Player application to play the program.
- An example of a Player application program interface 20 on a general purpose computer is illustrated in Figure 4.
- the Player interface 20 has a small screen and various controls as illustrated.
- the editor or end user can listen to the header of a story and can listen to the details of that story by pressing the "more info” button 20a on the Player interface 20.
- the end user can press the "more info” button 20a on the Player interface and hear about the equipment Tiger Woods uses and could also hear an advertisement for this equipment and even make a purchase of the advertised equipment.
- the user could also simultaneously watch footage of Tiger swinging a golf club in the viewing screen 20b of the Player.
- the editor or end user does not want to listen to the details of a story, he can continue listening to the default program of continuous header story segments that the producer has produced using this invention.
- Other default programs may be produced; the producer could, for example, produce a program that would play the header and each detail of a story even if not prompted by the user.
- the dedicated Player is of the type described above and has similar functionality as interface 20.
- the present system allows the producer to more easily produce linked type programs by allowing him her to make the associations between and among program segments in a visual workspace.
- the process of creating associations is made easier because the producer can not only arrange the stories in content elements, but can also see the segments and what they contain.
- the producer can see there is a heading segment of a story about Tiger Woods winning a tournament, and in the detail content element there is a segment about the details of the story about Tiger winning a tournament.
- the producer can see that a segment (or segments) in a third-level detail content element contains an advertisement for golf clubs in which the end user could, for example, make a purchase or watch a video of Tiger using the golf clubs being advertised.
- Figure 5 illustrates a flowchart of the production of a program using the present system.
- program content or multimedia data files are stored in a local database 22 associated with the editing computer.
- the producer uses these files to produce programs in the visual workspace 21.
- the programs are saved in the database 22 and notification is sent to the ML generator 23 (which is the ML described above).
- the ML generator 23 retrieves the programs from database 22 and codes the program with the markup language.
- the resulting marked-up program is saved in a new database 24 also associated with the editing computer.
- the distribution system 25 is then notified that the program is complete.
- Distribution system 25 is, e.g., a wireless broadcast system, such as the system utilized by the Player, as described in the above-referenced patent applications.
- Distribution system 25 can also be, e.g., an internet system, such as the system utilized by an internet based version of the Player.
- the distribution system 25 can be, e.g., a physical data storage media such as Compact Flash, Tape, or Compact Disk.
- the Player 26 receives content from the distribution system 25 and stores the content in its local database 27. The stored content is then available for interactive playback through the Player's 26 graphical user interface.
- the computer program listing Appendix which is a part of this application, includes a description including computer code of the markup language described above, and is entitled “CAML: Command Audio Markup Language Specification.”
- the Appendix also includes computer code, and descriptions thereof in the form of comments, to carry out the system in accordance with this disclosure. That description is entitled “On-Demand Authoring (ODA) Studio Design Specification.” Having described the embodiments of the invention, it should be apparent to those skilled in the art that the foregoing is merely illustrative and not limiting, having been presented as an example only. Modifications and other embodiments are within the scope of one of ordinary skill in the art and are contemplated as being within the scope of the invention as defined by the following claims.
- CAML COMMAJSTD AUDIO MARKUP LANGUAGE SPECIFICATION
- CAML Command Audio Markup Language Specification 1 Publication History 2 Table of Contents 3 1.
- CAML Language 4
- the Command Audio Markup Language is designed to meet the Metadata definition needs of audi ⁇ -centric interactive multimedia distributed over wireless digital audio broadcast (DAB) systems to mobile and stationary consumer devices.
- Metadata we generally mean data about content, such as the broadcast time of an audio program or that this edition of Nightline TM has five stories.
- CAML an author of a CAML document can combine and interrelate multiple audio-centric media objects into compelling presentations.
- the audio-centricity of the specification is a core fundamental requirement.
- the media objects may include interactive capabilities, but these should not mandate a driver's attention (e g to play a media selection or to complete an advertised purchase)
- driver's attention e g to play a media selection or to complete an advertised purchase
- DAB systems are distinguished in that they are one-way point to multi point transmission systems
- These systems have an inherent, fundamental advantage over point to point transmission systems (e g wireless internet systems) by allowing a single broadcast to reach an unlimited number of receivers at no incremental bandwidth cost
- DAB systems also exhibit unique data loss characteristics (e g data loss when obstacles block reception)
- the CAML language is designed to meet the following criteria
- the authored media is suitable for distribution over wireless DAB systems to mobile devices 4
- the presentation of CAML media is efficient and interoperable on low-power, portable consumer devices
- CAML object distribution needs to be resilient to ⁇ some degree of) data loss
- wireless digital audio broadcast systems has traditionally focused on delivering high- idelity real-time audio to consumers in mobile and stationary environments
- Examples of such systems are * the satellite digital audio radio system ( ⁇ DAR ⁇ ) developed by XM Satellite Radio ' the EDARS developed by Sinus Satellite Radio
- ETSI European Telecommunications Standards Institute
- DAB Radio Broadcasting Systems Digital Audio Broadcasting
- the Command Audio Markup Language was defined to provide a uniform standard baaed definition which extends these systems to allow services that deliver additional richer, but still audio-centric, media for time-shifted presentation such services are termed On-Demand Interactive Audio (ODIA) services
- ODIA On-Demand Interactive Audio
- CAML language serves as a standard representation for multimedia On-Demand interactive presentations over systems
- systems which implement ODIA services can include capabilities to represent both real time and non-real-time content and to allow time shifted presentation of both
- CAML content providers may distribute their content over a variety of channels the digital audio broadcast channels mentioned above conventional AM or FM analog channels, or two way wireless or wired channels EPG providers may distribute their content over the same or different channels as the content providers
- CAML content providers may present their programs on a wide variety of clients such as ODIA-enabled digital audio broadcast radio receivers, DAB receivers integrated with mobile phones car navigation systems and voice user agents Each of these platforms ⁇ or integration of platforms) has ts specific capabilities and may require its own flavor of CAML presentation CAML does not define the actual device presentation, it defines the media object and relationships
- CAML includes a number of capabilities from the Synchronised Multimedia Integration Language (SMIL) 2 0 defined at http //www w3 org/TR/2001/WD sm ⁇ l20-20010301/
- the SMIL modularization provides a way to create profiles (subsets) of the full SMIL language, m addition to providing the means to integrate SMIL functionality into other languages
- the set of SMIL modules used in CAML represent the SMIL Basic Profile as defined at http //www w3 org/TR/2001/WD sm ⁇ l20 20010301/sm ⁇ l-bas ⁇ c html
- SMIL 2 o defines a number of capabilities (e g complex timing with video objects) which are not appropriate given the CAML objectives Future editions of this document will identify specific basic profile elements are not required by CAML
- CAML also includes extensions that enable rich navigation and semantic linking between audio-centric media segments
- CAML documents represent either the metadata associated with media to be listened-to by consumers (e g editions of audio programs) or the metadata describing the selections of media available to consumers
- the metadata describing selections is generally referred to as an Electronic Program Guide (or EPG)
- EPG Electronic Program Guide
- the media experience of consumers of CAML described content is audio-centric, it is a complementary requirement that the EPG also be audio centric That is, the program guide used for personalization of a ODIA enabled device should have a presentation which is consistent w th all other CAML objects
- EPG Electronic Program Guide
- That a player is CAML conformant means that at can play documents at least as complex as those allowed by the CAML language definition
- This document is expected to expand in future version to incorporate eta information describing consumer metadata such as usage history, user preferences and transactional media layers for interacting with 2-way backchannels
- CAML language may be supported by a wide variety of ODIA-enabled players running on multiple hardware platforms.
- Mobile and portable devices share some common characteristics:
- LCD display can render only texts in a small area (for example a radio with two lines of twelve characters each) .
- Input devices may be functional, arrow keys, and a select key. Another may have a voice interpreter.
- Audio-centric The primary interaction with players is audio only. That is, no textual or graphical viewing is required to interact with the object rendering.
- the CAML language aims to meet these requirements.
- a CAML document consists of one or more content items, represented in CAML language constructions.
- CAML constructions are used primarily to implement navigational capabilities of ODIA content.
- SMIL modules are used at the level of primary segments.
- Each SMIL module is an XML subtree which, taken separately, fully conforms to the definition of a SMIL 2.0 Basic Profile document. 2.2. Layout
- Layout coordinates presentation of objects on the display device will be defined using SMIL modules (see Appendix A)
- the SMIL BasicLayout Module is used and the more complex functionality of the other layout modules, such as hierarchical layout regions, is not supported.
- mouse-like pointing cursor device is generally not supported. While a user is handling the focus, the player may slow or pause its timeline; skip to the next segment traverse to additional information and perform other navigational movements.
- Timing and Synchronization aspects of CAML presentation are handled using SMIL modules (Appendix A) .
- SMIL modules Appendix A
- Synchronization Modules present dynamic and interactive multimedia according to a timeline.
- the SMIL timing model is expressed in a structured language.
- the timeline of a SMIL Basic Profile presentation may need to be processed with limited memory and processing resources of mobile devices. For example, recursive function calls caused by nesting elements and memory allocation for additional timelines should be restricted. To achieve this, the CAML language has restrictions on use of the SMIL Timing.
- Non-root time containers are not supported.
- Time attributes support the basic timing for an element. Timing attribute values support a synchronization-based timeline. Simple event timing is useful and is usually easy to support, and so is included in CAML. 2.5. Media Object
- the ODIA multimedia presentation is composed of media such as audio, text, images, animations and video.
- the CAML language includes the SMIL BasicContentControl Module.
- SMIL BasicContentControl Module For the sake of authoring consistency, a CAML document should be able to contain several presentations for different kinds of clients, controlled by switch elements and test attributes.
- the player should analyze switch element syntax correctly even if it cannot recognize the test attributes' values.
- CAML Document is a "Conforming CAML Document” if it adheres to the specification described in this document including CAML DTD and also:
- a document must declare a default namespace for its elements with its x lns attribute at the caml root element.
- a CAML document is identified with http: //www. tobedetermined URI.
- a document may also identify itself as a valid CAML XML document with a DOCTYPE declaration, although a CAML document must still include the above CAML namespace identifier.
- the CAML player is a program that can parse and process a CAML document and render the contents of the document onto an output medium.
- the player must conform to functionality criteria defined in each module in ways consistent with this profile specification.
- the player should support the semantics of all CAML language features
- the player ignores unknown elements under support of skip content attributes
- the player ignores unknown attributes
- the CAML language supports the lightweight multimedia features defined in the SMIL 2 0 specification It includes the following SMIL 2 0 Modules. SMIL 2 0 Layout Modules -- BasicLayout
- SMIL 2 0 Timing and synchronization Modules - Basic nlmeTiming, ⁇ yncba ⁇ eTiming, EventTiming MinMaxTim ng and BasicT e ontainers
- Collection Name Elements in Collection LinkAnchor a are (anchor)
- CAML data references are special constructs that enable the CAML document to refer to specific parts of a chunk of binary data by specifying the starting offset and size of the part being referred
- the goal of introducing this construct is to enable a CAML player to quickly locate binary data for media playback without having to scan large extents of binary data m search for specific boundary markers It s recommended therefore that all binary data pertaining to a single CAML document be combined into one binary chunk that accompanies this document (although CAML allows to refer to more than one binary chunk using the chunks' IDs)
- any conformant CAML player must be able to parse CAML data references and be able to locate the specified fragment of data in the binary chunk(s) which accompany the current CAML document 3 3 1 CAML Data Reference Attributes
- a CAML data reference consists of a number of attributes as defined below arc
- Audio layers consist of blocks which differ by the audio compression method used Audio blocks are represented by ⁇ aud o> elements and grouped together u ⁇ ng ⁇ seq> elements corresponding to audio layers
- the audio elements may have the following CAML specific attributes id
- the number of samples per second m the audio block caml bitspersample The number of bits per sample in the audio block caml codectype
- the compression type of the audio block Possible values are The example of an audio layer with block information ⁇ seq titled Hl-1 wav' >
- the Navigation module is the top layer of a CAML document providing means for navigating across media segments (SMIL modules) Elements Attributes Content Model
- Segment Core I18n, next_story, prev_story next_pr ⁇ mesegment ⁇ rev_ ⁇ r ⁇ mesegment down_level, up ⁇ level, first last, level, assoc_con ent_ ⁇ d c f_ty ⁇ e EPG_t tle status_ nask ava ⁇ lab ⁇ l ⁇ ty_p om t prompt_al ⁇ as Smil 3 4 1
- the caml element is the root element of a CAML document It contains content item elements and has the following attributes caml -length
- the content item element represents any version of a program (as per TV-Anytime) that has been created by applying minor editorial changes to the content ⁇ e g editing out explicit material) It contains at least one segment element type
- next_story The value of the id attribute of the next segment element m the current story or, if it is the last segment of the story, it is equivalent to next_story first
- segment element of a content item of type "EPG' has additional attributes assoc_conten___ d
- segment element of a content item of type *system_prompts' has two attributes in addition to attributes common to all content items prompt_alias
- MinMaxTiming and BasicTimeContamers Modules SMIL 2.0 BasicContentControl and skipCo tentControl Modules
- ⁇ 1ELEMENT caml (content- ⁇ tem+) ⁇ ⁇ 1ATTLIST caml %Core.attr ⁇ b, %I18n.attnb, caml-length CDATA ⁇ REQUIRED dialect CDATA ⁇ REQUIRED
- Segment Core I18n, next_story, prev_ ⁇ tory, next_prime ⁇ egraent, prev_p ⁇ mesegment, down_level, u ⁇ _level, first, last, level, assoc_content_ d, c f_type, EPG_t ⁇ tle, status_mask, ava ⁇ lability_prompt, prompt_alias
- the SMIL 2.0 Basic language profile defines a profile that is a baseline subset of the SMIL 2.0 language profile specification, and is designed to be a profile that meets the needs of resource-constrained devices such as mobile phones and portable disc players. It contains a baseline set of the SMIL 2.0 features including basic layout, linking, media object, structure, and timing modules .
- the Synchronized Multimedia Integration Language (SMIL, pronounced "smile") includes powerful functionality for multimedia services not only on desktops but also for information appliances.
- SMIL 2.0 Basic language profile should serve such a ubiquitous network as a baseline for audio-visual presentations.
- the SMIL modularisation provide a solution to create profiles and extensions of the full SMIL language profile, in addition to providing the means to integrate SMIL functionality into other languages .
- the SMIL Basic language profile consists of a small number of modules chosen from the complete set of SMIL 2.0 modules to provide a baseline in terms of semantics and syntax, and assures conformance to the larger SMIL language profile speci ication.
- a profile for mobile and portable devices can be tailored based on the SMIL Basic language profile with or without extensions to support application specific features.
- the SMIL Basic language profile does not propose to restrict extension, but aims at a baseline of conformance between the full
- SMIL language profile and one appropriate for mobile and portable services.
- SMIL Basic conformant means that it can play documents at least as complex as those allowed by the SMIL Basic language profile. It may play significantly more complex documents.
- the browsers conforming to the SMIL 2.0 language profile will be automatically SMIL Basic compliant.
- SMIL authoring for low power devices is easier since general tools can be used. 14.3. Design Rationale
- SMIL Basic language prof le is a language profile that is SMIL Host Language Conformant and may be supported by wide variety of
- Small display Display can render texts, images, audio and stream data in a small area.
- Simple input method Input devices may be numeric keys, arrow keys, and a select key. Some may have a pointing cursor. Another may have a voice interpreter.
- Real-time embedded OS Resources for calculation is limited by priority order of each task. So, in a SMIL player, the use of timers should be restricted in number and frequency, and memory should be used sparingly.
- XHTML Basic [XHTML-BASIC] provides a minimum subset for portability and conformance.
- Layout coordinates presentation of objects on the display device. Presentation on a small display has difficulty in rendering seme objects. Layout of objects may not be able to be flexibly adjusted, nor have scroll bars. So, the layout should be simple and effective. Often the root-layout window will represent the full screen of the display. The BasicLayout Module is used and the more complex functionality of the other layout modules, such as hierarchical layout regions, is not supported. 14.3.2. User Interface
- a user would likely use arrow keys to move focus on objects and anchors, and select the target that activates playback or linking.
- a "mouse-like" pointing cursor device might not be supported.
- a "move focus and select” is a simple user interface for communication with the SMIL player. The "mouse-click” user action can be mapped to an “activate” action. While a user is handling the focus, the player may slow or pause its timeline.
- the SMIL Timing and Synchronization Modules present dynamic and interactive multimedia according to a timeline.
- the SMIL timing model is expressed in a structured language.
- the timeline of SMIL Basic presentation may need to be processed with limited memory and processing resources of mobile devices. For example, recursive function calls caused by nesting elements and memory allocation for additional timelines should be restricted.
- the SMIL Basic language profile has restrictions on use of the SMIL Timing.
- the restrictions are: Time attribute values only allow single begin and end conditions. Lists of begin or end conditions are not allowed.
- the SMIL Basic profile may need to have no concept of a time container except a root time container.
- a time container groups media objects into a basic unit within a local time space, and this may increase the processing complexity of the document beyond device capabilities, if the document includes time containers, the nesting depth of time containers may need to be limited. Also it may be required to limit the number of characters or elements.
- the SYMM Working Group requests feedback from users of SMIL Basic on these points .
- Time attributes support the basic timing for an element. Timing attribute values support a synchronization-based timeline. Enriched players may support event values, for example, like "click" to start presentation. This kind of simple event timing is useful and is usually easy to support, and so is included in SMIL Basic profile.
- the BasicMedia Module specifies the location of the media that constitute the contents of the presentation.
- the presentation to be an audio/visual multimedia presentation composed of media such as text, images, audio and video.
- the SMIL Basic profile includes the BasicContentControl Module.
- a SMIL document should be able to contain several presentation for different kinds of clients, controlled by switch elements and test attributes.
- a client application may not need to directly support content control mechanisms, since the content control processing of the document may be done on the way to the client.
- SMIL Basic is used in this way, the player may be thought of as the system composed of the combination of the server and the client .
- Test attributes of the BasicContentControl Module are included in the SMIL Basic language profile, even when an alternative to the CC/PP mechanism is necessary. The player should analyse switch element syntax correctly even if it cannot recognize the test attributes .
- Some functionality of the Content Control Modules may be extended with CC/PP [CC/PP] mechanisms, which provide a way to notify device capabilities and user preferences to an origin server and/or intermediaries such as a gateway or proxy. This allows the generation or selection of device-tailored contents.
- CC/PP can be used with transformation of available documents between client and server. 14.3.6. Accessibility
- SMIL Basic language profile is designed to be appropriate for small information appliances like mobile phones and portable disc players. Its simple design is intended to serve as a baseline profile for application specific extensions. Similar to the
- HTML+SMIL mobile profile could be written that is an integration of SMIL Basic timing and media functionality into the HTML mobile profile.
- the SMIL Basic language profile does not restrict extension and inclusion of other modules, for example, the Animation,
- a language may support additional features and modules and still be conformant with the SMIL Basic language profile.
- a SMIL 2.0 Basic document is a "Conforming SMIL 2.0 Basic Document" if it adheres to the specification described in this document including SMIL 2.0 Basic DTD and also:
- the root element of the document is a smil element.
- modules that are not specifically included in the SMIL 2.0 Basic language profile, they must be identified as being from the SMIL 2.0 namespace.
- a document may additionally identify itself as a valid SMIL XML document with a SMIL DOCTYPE declaration, although a SMIL 2.0 Basic document must still include the above SMIL 2.0 Basic namespace identifier.
- SMIL 2.0 Basic language profile DOCTYPE iss ⁇ !DOCTYPE SMIL PUBLIC "-//W3C//DTD SMIL 2.0 Basic//EW"
- a SMIL 2.0 Basic player is a program that can parse and process a SMIL 2.0 Basic document and render the contents of the document onto an output medium. The following criteria apply to a "Conforming SMIL 2.0 Basic Players":
- the player must parse a SMIL Basic document and evaluate its well-formedness conformant to the XML1.0 Recommendation [XML10] .
- the player should support the semantics of all SMIL 2.0 Basic language profile features.
- the SMIL 2.0 Basic language profile supports the lightweight multimedia features defined in the SMIL 2.0 specification.
- This> language profile includes the following SMIL 2.0 Modules:
- SMIL 2.0 Timing and Synchronization Modules BasicinlineTiming*, syncbaseTiming*, EventTi ing, Mi ⁇ MaxTiming*, and
- SMIL 2.0 Content Control Modules -- BasicContentControl* and SkipContentControl* (*) required modules in order to be SMIL Host Language Conformant.
- Collections of attributes used m the tables below are defined as follows Collection Name Attributes m Collection
- Layout Module provides a framework for spatial layout of visual components
- the SMIL 2 0 Basic profile includes the SMIL 2 0 BasicLayout Module Th s profile requires layout type of "text/smil-basic layout"
- EMPTY Default of the size and position attributes is the full screen available to a client player The default value of the fit attribute s "hidden 1 So when a player cannot layout a media object of target, then it presents the object as is inside the region
- the Linking Module describes the hyperlink relationships between content
- the SMIL 2 0 Basic profile includes the SMIL 2 0 Bas cLinkmg Module
- a SMIL Basic player may not be able to control links between the source and the destination object for example, in applying sourceLevel and destinationLevel attributes to volume
- t is permitted that the attributes of target control which are listed in the table below, are ust ignored
- the attributes of the SMIL 2 0 BasicLinkmg Module might be replaced w th their default attributes .
- the def ult value for show attribtue is ' replace" and the sourcePlaystate attribute is ignored see their definitions for detail
- the area element and the deprecated anchor element may not need to be supported if the device does not have an appropriate user interface, m which case the SMIL Basic player should play the presentation without the area map
- the Media Object Modules provide a framework for declaring media that constitute the contents of a SMIL presentation, and specify their locations
- the SMIL 2 0 Basic profile includes the SMIL 2 0 BasicMedia and MediaClipping Modules
- Elements of the BasicMedia Module have attributes describing basic timing properties of contents For timing, the begin and end attributes should have one attribute value for a single timeline 14 4 6 Structure Module
- the Structure Module describes the structure of the SMIL document
- the SMIL 2 0 Basic profile includes the SMIL 2 0 Structure
- the structure element body is implicitly defined to be a seq time container as in the SMILl 0 and SMIL 2 0 language profiles, and this is true in SMIL 2 0 Basic profile as well
- the Timing and Synchronization Modules provide a framework for describing timing structure, timing control properties, and temporal relationships between elements
- the SMIL 2.0 Basic profile includes the basic functionality of the SMIL 2 0 Timing and Synchronization Modules (SMIL Timing Modules) it is based upon the SMIL 2 0 BasicInlineTiming, syncbaseTiming, EventTimi ⁇ g and BasicTimeContamer ⁇ modules
- Time containers are basic units in synchronization defined in the SMIL Timing Modules and they group elements with synchronization relationships In a SMIL Basic document with single time container par and seq time container elements contain media object elements and should not have other t me container elements nested inside them
- Attributes of the SMIL Timing Modules apply to elements of the SMIL 2 0 BasicMedia Module. Basics of timing are described m the SMIL Timing Modules Control of element start/end time is available with the begin dur, and end attributes For repeating elements, the deprecated repeat attribute the repeatCount and repeatDur attributes are available
- the begin and end attributes contain the offset-value, syncbase-value ⁇ m ⁇ l-1 0-syncbase-value, and event value attribute values as single conditions
- the SMIL Basic profile includes the EventT mmg Module which includes "act vateEvenf or "click" These events are mapped to activate user action to select a focused element m a SMIL Basic player.
- the SMIL Timing Modules for the SMIL 2 0 Basic there s only one attribute value in begin and end attributes, not a semicolon-separated list in order to create a single flat timeline
- the default value of the endsync attribute is ' last" .
- the default value of the fill attribute depends on the element type as described m the SMIL Timing Modules
- the Content Control Module provides a framework for selecting content
- the SMIL 2 0 Basic profile includes the SMIL 2 0 BasicContentControl and SkipContentControl Modules
- the skip-content attribute which default value s "true 1 , applies to SMIL 2.0 elements that were not a part of SMIL 1.0, and to elements that it was applied to m SMIL 1.0, and to elements currently empty m SMIL 2 0 but could be made non-empty in the future, following the definition in the module
- a SMIL Basic player must process the syntax of a switch element correctly even if the player could not evaluate the Test attribute in a media object element properly as the attribute implies Test attributes that cannot be evaluated will default to false
- SMIL 2 0 Basic Language Profile Document Type Definition This section is normative The SMIL 2 0 Basic language profile DTD s defined as a set of SMIL 2 0 modules integrated. ⁇ !-- SMIL Basic Document Module Module*— ⁇ — filei s ilbasic-model 1 mod
- Th s is SMIL 2 0 Basic, a proper subset of SMIL 2 0 Copyright 2000 W3C (MIT, INRIA, Keio) All Rights Reserved
- This DTD module is identified by the PUBLIC and SYSTEM identifiers:
- ⁇ iENTITY % mnMaxTiming attrib ""> ⁇ iENTITY % sm l-ti e attrib " %b ⁇ cInl ⁇ neT ⁇ m ⁇ ng attrib, minMaxT ⁇ m ⁇ ng attrib, %F ⁇ ll attrib;
- the SMIL 2 0 Basic Profile supports the lightweight multimedia features defined SMIL language This profile includes the following SMIL modules SMIL 2 0 BasicLayout Module
- SMILl Synchronized Multimedia integration Language
- Audio-On-De and Service A service that enables listeners to choose the programming they want to hear whenever they want and wherever they are Block Indicates the type of compression in.
- CAML Command Audio Markup Language (a derivative of XML)
- CAML element The basic program building block the ODA Studio Composer An element can be a segment, layer or block CAML header element CAML header elements allow introductory details of a program to be placed separately from the main story
- Content Material fortransmission to Command Audio-enabled devices Layer Represents multiple types of media, such as audio, text image or video
- Prime Segment Smallest navigational unit made up of one or more layers
- the On-Demand Authoring (ODA) Studio is an editing software responsible for creating On Demand Interactive Audio Individuals use ODA to produce programs in a way that enables listeners to choose their programming and the specific stories within those programs which interest them
- the ODA Studio is created with the express intention of creating these navigable programs
- End users will include Command Audio Production staff, as well as Production staff or Broadcasters at Command Audio-partnered companies
- End users w ll have the capability to put together programs from multimedia sources for transmission to Command
- Audio-enabled devices '
- the ODA Studio is not designed as a comprehensive replacement for other editing programs on the market but instead is developed solely as a vehicle for creating Command Audio Content
- wave file size should not exceed SXMb ' Files n Content Explorer should be protected so that only one user may change contents at any one t me
- the ODA Studio was conceived as a replacement for the current Command Audio editing system ENCO.
- One of the mam benefits of the ODA Studio is the flexibility it offers The ODA studio includes 4 components
- Composer provides a visual stage to compose content
- the Composer is made up of a Navigation View Compression View, and Multimedia View
- Waveform Editor is the place where audio files are edited and segmented into On Demand Interactive Audio ? segment audio programs specifically for Command Audio-enabled receivers.
- a program which requires minimal processing, may only need to be marked for compression. It is comprised of one prime segment only but contains at least one media layer.
- the prime segment could contain a music track, associated textual information about the singer and writer, and an image of the singer. There are no navigational elements in a prime segment.
- a single level program which can be linked in such a way that a listener can navigate between different segments.
- Each of the segments is a prime segment capable of having several media layers. The navigation is sequential. For example, a listener can listen to story 1, skip stories 2 and 3, listen to story 4, and go back to hear story 2 by scanning back through 3. 4.2.3.
- Type three :
- a two level program which allows additional navigation options.
- the program consists of a sequence of headers with associated detail segments. The user can now navigate from header to header or can navigate from a header to the associated detail. Instead of only being able to navigate between segments, a listener can navigate story headlines (headers) before deciding if they are interested in hearing the details behind the headlines. These programs allow a listener to navigate back and forth through headers and details in the program segments 4.2.4. Type fou i
- the fourth type of program is a type three program offering the user even more navigational options .
- the user can essentially navigate even within a header or a detail segment.
- the segments are marked in such a way that the listener can navigate within the headers and details. If there are two separate thoughts in the headline, these might be marked in such a way that the listener could skip, forward, rewind within headers.
- the segments are marked in such a way that the listener can hear/choose specific portions of the details as well.
- ODA Studio Container and ActiveX Controls The ODA Studio Container hosts 4 ActiveX controls: ? Content Explorer Control displays the content required to build the output multimedia CAML objects, and provides the ability to drag and drop these objects into other parts of the ODA Studio. Examples of this content include: audio programs, earco ⁇ s, texts, images etc.
- Prompter Control is the ActiveX component that allows text related to a specific audio recording to be created or edited ?
- Waveform Editor Control is responsible for multiple functions of editing audio files (wave files) ?
- Composer Control provides functionality for composing a CAML multimedia object from multiple source components.
- Waveform Editor Control is implemented within ATL framework. It utilises OLE Drag And Drop for exchanging wave files with other components. It uses DirectSound API for accessing the system's audio resources. MFC is used for rendering waveforms and GUI.
- Mode 1 cursor moves across the waveform in sync as the waveform scrolls forward.
- Mode 2 waveform view does not scroll forward when cursor reaches right edge, but playback continues.
- Content Explorer is based on a MFC CTreeView class that simplifies the usage of the tree control CTreeCtrl, the class that encapsulates tree-control functionality.
- the Prompter ActiveX control provides text content for CAML objects.
- Prompter is a MFC ActiveX control based on a CRichEditView class.
- CRichEditView provides the functionality of the rich edit control within the context of MFC's document view architecture.
- CRichEditView maintains the text and formatting characteristic of tex .
- Composer control provides functionality for assembling a CAML multimedia object from multiple source components. Composer control interacts with all other ActiveX controls. Its GUI depicts a CAML multimedia object composed of CAML elements. Currently a CAML element from GUI point of view is shown as a rectangle, and can be a prime segment or a compound segment. 4.3.4.1. Basic Features ? Segments can be inserted, deleted and or appended using the buttons on the toolbar.
- New features include:
- Navigation View Files can be dragged and dropped, inserted, deleted, attached and appended assembled in the Navigation view. Because they are parts of the overall program composition, segments, layers and blocks will all be managed within the navigation view.
- a preview pane is available to examine text, image, or video layers.
- a wave layer can 3till be viewed in the Waveform Editor. You can right click on a segment to view the properties of that segment. Properties can include:
- the compression view displays the blocks which represent compression in a wave file.
- the compression view works with all parts of the multimedia viewer to illustrate the way the different layers fit together in a program.
- the targeted resolution for the ODA Studio is 1024 x 768 pixels.
- the composer on the upper right hand side of the studio should measure 600 x 330 pixels.
- the user will be able to choose the type of skin from a list of available skins.
- the properties of the skin can be applicable to one component or to all of them. Skin elements must be able to be stretched without distorting original image.
- the Icons created for Multimedia layer view can be used to denote each f le the Content Explorer also
- the Container communicates with a control using a set of COM interfaces Two-way communication is performed through connection points, advise sinks and other interfaces
- the ODA Studio Container has ambient properties, which allow the container to provide information to ts controls This ensures a uniform look and feel for all the Controls visible inside the Container The Controls are supposed to react to the change of the ambient properties and synchronize the appearance and behavior with the other controls accordingly
- the ODA Studio Controls have properties which affect the behavior of a control They can also be used to pass data to and from the control
- Controls also support stock properties which are standard properties l ke Font and Color Standard properties are also known to the Container and therefore can be bound Specifically, Control can inform Container that a stock property is about to change and allows the Container to reject the change
- Control's Properties are persistent so that information is retained when control is closed When control is restarted, it will default to the settings used when last closed
- Waveform Editor Control exposes one interface - iwaveEditObj with five methods SetWavePath(BSTR bstrPath) When a wave file is selected the variable bstrPath passes the name of the wave file to the
- GetSegmentCount (long * pnCount) Returns the number of segments in loaded wave file in variable pnCount GetSegmentPathAt(long index, BSTR * bstrPath) Creates wave file for the segment indicated by index and returns its path bstrPath
- Waveform Editor consists of two editing panes
- extra material from the recorded wave can be removed It for can also be marked for scanning and compression purposes
- sound can be recorded through a mixer for inclusion into the wave f le n the target pane
- Either pane can be accessed by clicking on the left mouse button Wave files from other applications may be dropped into the target pane
- the target pane can also be a drag source Drag and drop is implemented using standard OLE drag and drop mechanism
- the source pane has the same functionality as the target pane, and. also allows for sound recording through a mixer (there is a "record button in play control) Selections can be dragged outside of the control Selections can also be dragged to the target pane for inclusion into an existing wave file loaded there (not implemented yet)
- the target and the source panes are separated by a splitter, which allows the pane windows to be re-sised 7 2 5 2 Editing Tools
- Waveform Editor has five control buttons *go to start', *play' , "pause (not implemented), 'stop", *go to end NB "record' button is absent n the target pane
- the target pane also has four control buttons “zoom m', "zoom out , "scroll back' , and "scroll forward Scrolling is also possible with a horizontal scroll bar at the top of the pane
- the pane has horizontal rulers to measure the playback time up to a 100th of a second. The rulers change scale with window resizing and scroll in sync with playback. 7.2.5.3.
- Setting Markers A navigation handle indicates the current position in the wave file. Handle can be moved back or forward with the mouse. Sound will be played when handle is moved using mouse (scrubbing) .
- Markers can be set to define compression blocks. Markers have the following attributes: compression (Dolby, DVSI, Skip) . The marker attributes are indicated in a dialog window. Segment markers have labels to indicate compression choice. Markers can subsequently be removed by double clicking on segment marker and pressing "Remove marker” button.
- Portions of the wave file can be selected by holding the Ctrl key down while dragging the left mouse button. Selections are draggable outside of the control.
- the Context menu appears when right mouse button is clicked. Menu options include setting segment marker at current mouse position, selection cut, copy and paste (not implemented) .
- Content Explorer implements a MFC OLE drag-and-drop mechanism.
- a user transfers data, using either the Clipboard or drag and drop, the data has a source and a destination.
- Content Explorer provides the data for copying and another part of application (it can be Composer or Waveform Editor) accepts it for pasting.
- the MFC provides two classes that represent each side of this transfer:
- Data source (as implemented by COleDataSource object) represents the source side of the data transfer. It is created by the source Content Explorer when data is to be copied to the Clipboard, or when data is provided for a drag-and-drop operation.
- Data object (as implemented by COleDataObject object) represents the destination side of the data transfer. It is created when the destination ActiveX has data dropped into it, or when it is asked to perform a paste operation from the Clipboard.
- COleDataObject object represents the destination side of the data transfer. It is created when the destination ActiveX has data dropped into it, or when it is asked to perform a paste operation from the Clipboard.
- CF_HDROP format is used for dragging and dropping files.
- Content Explorer displays all folders and files that reside in the directory called Repository. A user can drag a tree item and drop it onto a layer, segment, tree view or waveform editor. Text files can be dragged file into Prompter.
- the Prompter ActiveX control has just one _DPrompter interface.
- pPro pterCtrl of type LPOLEOBJECT is a pointer to the Prompter ActiveX control .
- the _DPrompter interf ce has the following methods : void OnFileOpenTextO ; void OnFileSaveTextt) ,- void onFileSaveTextAs () ,-
- a User can do the following things :
- Text can be divided into headers and details.
- a header marker a user must press Ctrl and H keys at the same time.
- Ctrl and D keys a user must press Ctrl and D keys at the same time.
- Prompter automatically numbers headers and details sequentially. For example, if the last header is ⁇ Header> 5, pressing Ctrl and H keys puts - ⁇ Header: * 6 into the cursor position. ? Save the text using one of the following: Save As, Save Prompter Text, or Save Prompter Text As, from the File menu.
- pComposerCtrl is a pointer of class LPOLEOBJECT to the Composer ActiveX control.
- this interface has just one method:
- the Composer ActiveX control has a member of class ColeClientltem* mjsPrompter. This method sets rajpPrompter to the Prompter ActiveX control pointer.
- Composer has the following buttons:
- Append. Appends new empty header and detail elements to the CAML object.
- Attach Opens a file dialog box. A user can choose a file and attach it to the selected element. Delete. Deletes a selected element. In a two-level program, if a header is selected, its corresponding detail element will automatically be deleted as well.
- Insert before Inserts segment before the selected element, in a two-level program, an upper and lower element will be inserted.
- Insert after Inserts segment after the selected element. In a two-level program, an target and lower element will be inserted. Play next . Plays next header element
- Play previous Plays previous header.
- Play up Plays the detail's corresponding header when a detail element is selected.
- Stop Stops playing a selected element.
- Assemble Attaches wave segments rom the source pane of the Waveform Editor control to the CAML elements according to the prompter text layout. The first segment is assigned to the first header/detail in the prompter text, and so on.
- a user can do the following things:
- a user has to press a Ctrl key and move a file at the same time.
- the On-Demand Authoring Center's Composer ActiveX interacts with the Multitrack Editor (client) .
- the Multitrack Editor is a client of the Composer. Communication between the two is bi-directional: the client controls the Composer and vice versa. 8.2.
- Composer ActiveX The Composer implements two kinds of interfaces incoming and outgoing The incoming interface contains methods that are called by the client The outgoing interface s used to notify the client of the control's events It is called a sink interface because it sinks event notifications 8 3 Incoming Interface 8 3 1 Description
- _DComposer Control's incoming interface is called _DComposer and is created by the MFC ActiveX Control Wizard
- the current _DComposer interface has the following methods void BSTR GetBlocks (BSTR bstrObjectlD) - void long OnDelete (BSTR bstrOb ectlD) void long OnDragDrop (BSTR bstrFormat, long X, long Y, short mode, BSTR bstrObject)
- the GetBlocks (BSTR bstrObject ⁇ DJmethod returns an XML string containing information about blocks in the object with a given object ID
- the OnDelete (BSTR bstrObjectlD) method is called by the client when an object is being deleted
- the OnDragDro ( ) method s repeatedly called by the client during drag-and-drop operations
- the method has the following parameters format which is an XML string with the following structure
- X and Y are the current mouse coordinates Using the coordinates, the Composer can determine whether the mouse is inside the particular Composer element mode indicates whether drag or drop operation occurs - bstrObject is a string representation of the ob ectid of the dragged object
- the OnFileNew( ) method is called to create a new project in the Composer
- the Composer Metadata presents the structure and content of the program loaded the Composer
- the client calls the OnGetMetadat O method to get the Composer Metadata
- the return value is a string representation of the Composer Metadata So the serialized project includes this string
- the Metadata string is an XML string
- OnSetMetadata (BSTR bstrComposerMetadata) method is called by the client upon loading the project
- BstrComposer Metadata is an XML string
- BSTR bstrSetProperties is used for previewing layers selected Multimedia Layer View
- the parameter bstrProperties is an XML string with the following structure ⁇ ob ect ⁇ d> ⁇ /object ⁇ d>
- Control's outgoing inteiface is called _DcomposerEven s and is created by the MFC ActiveX Control Wizard
- the current _DComposerEvents interface has the following events - vo d EditOb ect (long objectID, long*result)
- the client (not the control) implements all these events
- the Composer can only fire the events For example to fire SaveOb ect event the Composer executes the following code
- F reEvent (disp dSaveOb ect EVENT_PARA (VTS_I4 VTS_WBSTR) objectID path) F reEvent through the COM mechanism passes control to the client where the corresponding method is called
- the bstrPropDescr parameter of the GetProperties event is an XML string with the structure
- the GetFile parameter is an XML string with the structure
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US94683101A | 2001-09-04 | 2001-09-04 | |
US09/946,831 | 2001-09-04 |
Publications (1)
Publication Number | Publication Date |
---|---|
WO2003021416A1 true WO2003021416A1 (en) | 2003-03-13 |
Family
ID=25485049
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
PCT/US2002/027820 WO2003021416A1 (en) | 2001-09-04 | 2002-08-30 | Method and apparatus for object oriented multimedia editing |
Country Status (1)
Country | Link |
---|---|
WO (1) | WO2003021416A1 (en) |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005104130A1 (en) * | 2004-04-16 | 2005-11-03 | Avid Technology, Inc. | Editing system for audiovisual works and corresponding text for television news |
EP1619587A1 (en) * | 2003-04-30 | 2006-01-25 | International Business Machines Corporation | Content creation system, content creation method, computer-executable program for executing the content creation method, computer-readable recording medium containing the program, graphical user interface system, and display control method |
US7721337B2 (en) | 2001-10-26 | 2010-05-18 | Ibiquity Digital Corporation | System and method for providing a push of background data |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237648A (en) * | 1990-06-08 | 1993-08-17 | Apple Computer, Inc. | Apparatus and method for editing a video recording by selecting and displaying video clips |
US6198833B1 (en) * | 1998-09-16 | 2001-03-06 | Hotv, Inc. | Enhanced interactive video with object tracking and hyperlinking |
US6357042B2 (en) * | 1998-09-16 | 2002-03-12 | Anand Srinivasan | Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream |
US6366914B1 (en) * | 1997-08-08 | 2002-04-02 | Qorvis Media Group, Inc. | Audiovisual content distribution system |
US6424361B1 (en) * | 1996-08-12 | 2002-07-23 | Thomson Licensing S.A. | Method of navigating in a graphical user interface and device for implementing the same |
-
2002
- 2002-08-30 WO PCT/US2002/027820 patent/WO2003021416A1/en not_active Application Discontinuation
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5237648A (en) * | 1990-06-08 | 1993-08-17 | Apple Computer, Inc. | Apparatus and method for editing a video recording by selecting and displaying video clips |
US6424361B1 (en) * | 1996-08-12 | 2002-07-23 | Thomson Licensing S.A. | Method of navigating in a graphical user interface and device for implementing the same |
US6366914B1 (en) * | 1997-08-08 | 2002-04-02 | Qorvis Media Group, Inc. | Audiovisual content distribution system |
US6198833B1 (en) * | 1998-09-16 | 2001-03-06 | Hotv, Inc. | Enhanced interactive video with object tracking and hyperlinking |
US6357042B2 (en) * | 1998-09-16 | 2002-03-12 | Anand Srinivasan | Method and apparatus for multiplexing separately-authored metadata for insertion into a video data stream |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7721337B2 (en) | 2001-10-26 | 2010-05-18 | Ibiquity Digital Corporation | System and method for providing a push of background data |
EP1619587A1 (en) * | 2003-04-30 | 2006-01-25 | International Business Machines Corporation | Content creation system, content creation method, computer-executable program for executing the content creation method, computer-readable recording medium containing the program, graphical user interface system, and display control method |
EP1619587A4 (en) * | 2003-04-30 | 2008-01-02 | Ibm | Content creation system, content creation method, computer-executable program for executing the content creation method, computer-readable recording medium containing the program, graphical user interface system, and display control method |
WO2005104130A1 (en) * | 2004-04-16 | 2005-11-03 | Avid Technology, Inc. | Editing system for audiovisual works and corresponding text for television news |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6499057B1 (en) | System and method for activating uniform network resource locators displayed in a media broadcast | |
EP1999953B1 (en) | Embedded metadata in a media presentation | |
US8108827B2 (en) | XML-based textual specification for rich-media content creation-systems and program products | |
US20020112247A1 (en) | Method and system for creation, delivery, and presentation of time-synchronized multimedia presentations | |
US20090024922A1 (en) | Method and system for synchronizing media files | |
US20100058220A1 (en) | Systems, methods, and computer program products for the creation, monetization, distribution, and consumption of metacontent | |
US20030167449A1 (en) | Method and system for producing enhanced story packages | |
US20020059604A1 (en) | System and method for linking media content | |
US20030124502A1 (en) | Computer method and apparatus to digitize and simulate the classroom lecturing | |
US20030229616A1 (en) | Preparing and presenting content | |
US20090164904A1 (en) | Blog-Based Video Summarization | |
US20030211447A1 (en) | Computerized learning system | |
US20020024539A1 (en) | System and method for content-specific graphical user interfaces | |
WO2007064715A2 (en) | Systems, methods, and computer program products for the creation, monetization, distribution, and consumption of metacontent | |
JP2009239479A (en) | Information display apparatus, information display method, and program | |
JP2001282648A (en) | System and method for level-raised video programmingusing local host for network communication | |
US7716248B2 (en) | Method and system to enable dynamic modification of metadata in content | |
EP0865205A1 (en) | Information preparation method applicable to information distribution system | |
WO2003021416A1 (en) | Method and apparatus for object oriented multimedia editing | |
US20040158579A1 (en) | Server side play-list | |
CN100413335C (en) | Digital broadcast storage equipment and method using XML | |
TW484288B (en) | Method and system for providing a user with active and passive access to cached content | |
Ayars et al. | Synchronized multimedia integration language (smil) boston specification | |
Shao et al. | SMIL to MPEG-4 bifs conversion | |
AU2001268839B2 (en) | Delivering multimedia descriptions |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AK | Designated states |
Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BY BZ CA CH CN CO CR CU CZ DE DM DZ EC EE ES FI GB GD GE GH HR HU ID IL IN IS JP KE KG KP KR LC LK LR LS LT LU LV MA MD MG MN MW MX MZ NO NZ OM PH PL PT RU SD SE SG SI SK SL TJ TM TN TR TZ UA UG UZ VC VN YU ZA ZM Kind code of ref document: A1 Designated state(s): AE AG AL AM AT AU AZ BA BB BG BR BY BZ CA CH CN CO CR CU CZ DE DK DM DZ EC EE ES FI GB GD GE GH GM HR HU ID IL IN IS JP KE KG KP KR KZ LC LK LR LS LT LU LV MA MD MG MK MN MW MX MZ NO NZ OM PH PL PT RO RU SD SE SG SI SK SL TJ TM TN TR TT TZ UA UG UZ VC VN YU ZA ZM ZW |
|
AL | Designated countries for regional patents |
Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ TZ UG ZM ZW AM AZ BY KG KZ MD RU TJ TM AT BE BG CH CY CZ DE DK EE ES FI FR GB GR IE IT LU MC NL PT SE SK TR BF BJ CF CG CI CM GA GN GQ GW ML MR NE SN TD TG Kind code of ref document: A1 Designated state(s): GH GM KE LS MW MZ SD SL SZ UG ZM ZW AM AZ BY KG KZ RU TJ TM AT BE BG CH CY CZ DK EE ES FI FR GB GR IE IT LU MC PT SE SK TR BF BJ CF CG CI GA GN GQ GW ML MR NE SN TD TG |
|
121 | Ep: the epo has been informed by wipo that ep was designated in this application | ||
122 | Ep: pct application non-entry in european phase | ||
NENP | Non-entry into the national phase |
Ref country code: JP |
|
WWW | Wipo information: withdrawn in national office |
Country of ref document: JP |